RSSAmplifier

Blog

Igor Klimer's personal site

Recent content on Igor Klimer's personal site

klimer.euRSS feed ↗10 posts

Latest posts

Deal With It Emoji Generator

Fully client-side Deal With It GIF emoji generator. The Most Over-engineered Deal With It Emoji Generator in the world. Project page Source code on GitHub All operations done fully client-side - no backend, no private data leaves your browser. Uses MediaPipe Face Detector task to automatically scale and position glasses on the detected faces. Extensive customization options for glasses: Placement…

Garmodoro

Pomodoro timer for all Garmin devices. Over 100k+ installs. Nominated for “Best Wearable Smart App” at Connect IQ Developer Summit 2019. View and install in Connect IQ Store Source code on GitHub A lightweight and clean implementation of the Pomodoro technique . Keeps track of time left in your Pomodoro session, as well as break time and overal number of Pomodoros. Mimics the ticking…

ReCalendar

Highly customizable calendar for ReMarkable and other e-ink tablets. ReCalendar allows you to generate your own, personalized calendar right in your browser. Visit project Source code on GitHub Optimized for the ReMarkable 2 tablet (should work with version 1 as well) to use the full space available and minimize screen refreshes. No hacks needed - the generated PDF is a normal file, with links,…

Migrating from Create React App to Vite

This post is meant to document my process, thoughts and tips on the migration of my ReCalendar personal project from Create React App to Vite . It’s not meant to be an exhaustive guide. I wanted primarily to document the more interesting (and often frustrating) challenges of such a migration. So that others might benefit from them when scouring random pages on the web, searching for an…

About

Programming since I can remember. I’ve dabbled both in high(ish)-level languages and libraries (Java, GWT, , PHP, JavaScript, TypeScript) and low(ish)-level (mainly C++). Apart from strong programming skills, I have vast knowledge (and experience!) with administration of Linux boxes (Gentoo FTW). When push comes to shove I can even spit out some SQL SELECT s or create an efficient view in CouchDB.…

Use Midnight Commander like a pro

Check the discussion on Hacker News about this post for a lively discourse and more tips! If you’ve used an *nix system, at some point you’ve stumbled upon Midnight Commander , a file manager based on the venerable Norton Commander. You’re probably familiar with the basic operations ( F5 for copying, F6 for moving, F8 for deleting, etc.) and how to switch panels (ummm, the Tab key). But mc offers…

Activities, places and the visitor pattern

If you’re writing a GWT application you are most likely following the MVP pattern. With GWT 2.1 the Activities and Places API was introduced and while it’s not strictly an MVP framework, it’s a good base for the architecture of your application. A core component of Activities and Places is the ActivityMapper interface. Its role is simple - you get a Place and based on it an appropriate Activity…

Testing asynchronous GWT-RPC services

Continuing the theme of testing with gwtmockito, I’d like to show you a neat class that’s bundled with gwtmockito that allows for easy mocking of GWT-RPC asynchronous services. The class I’m talking about is AsyncAnswers . It’s meant to be used with the doAnswer stubber. Supposing we have a LoginServiceAsync class: public interface LoginServiceAsync { void login (String login, String password,…

Testing gwteventbinder with gwtmockito

gwteventbinder and gwtmockito are great projects that are esential if you’re writing applications in Google Web Toolkit/GWT. So it was a surprise to me that they don’t play together well “out of the box”. See, the problem is that gwtmockito injects it’s own (safe, not using any code that requires running a browser) mocks when it encounters GWT.create in your code. That’s very cool, but when using…

Avoiding Kernel Modules When External Firmware Is Needed

If you’re just interested in keeping your kernel module-free and be able to watch funny cat videos on youtube, skip to the solution . I’m an avid user of the Gentoo flavour of Linux, specifically the Hardened profile . As you can imagine, I like to think of myself as a security-aware user. With that in mind, I prefer to keep my kernel module-free (by actually disabling the ability to load kernel…