Skip to content

My Projects

LiPo battery finder

  • by

There are thousands of LiPo battery sizes for your project, but I couldn’t find the one that fits the best. Meet the LiPo battery finder, which allows you to filter batteries based on x, y, and z sizes.

My tool contains a scraper that extracts the pages and subpages of https://www.pdbattery.com/li-polymer-battery-cells-list.html and https://www.lipolbattery.com, creating an .mjs file as a result.

The .mjs file gets imported by the web application, allowing the scraped records to be searched interactively.

Introducing Ultimate Hacking Keyboard

  • by

I want to take the opportunity to reveal the trailer video of the Ultimate Hacking Keyboard, a high-end mechanical keyboard of which I’m the founder and lead developer. Our keyboard will be kickstarted soon, so please share it, follow us, and subscribe to our list to get notified when our campaign starts. See you on UltimateHackingKeyboard.com!

Coder Keymaps closed

  • by

I’ve started Coder Keymaps a long time ago to create a special keyboard mapping that’s the best for me.  That idea is to map Hungarian characters in a special way using the Windows key.  Take the standard US layout, keep a Windows key pressed and press an alphanumeric key which produces an accented character on Hungarian keyboards and voila: the key will produce the relevant Hungarian character.

That was the basic idea but I went further about two years ago when I realized that hand travel distance is much longer than it’s supposed to be in many cases.  When writing code one’s right hand must move often between the alphanumeric keypad and the navigational keypad.  To alleviate this problem I decided to map the whole navigational block to the alphanumeric block through the Windows key.

I’ve used the above configuration with great pleasure and it improved my efficiency for almost two years.  Unfortunately the X keyboard drivers must have been changed in the last two Ubuntu releases because my xmodmap keymaps stopped working.  I knew it in the beginning that xmodmap is outdated and XKB is the future but it wasn’t really urgent to port Coder Keymaps to XKB so I didn’t do that.

Due to the pressing need to use my beloved mapping I’ve made some efforts and had some online chat with Sergey Udaltsov who is very knowledgable about XKB.

Long story short, it seems that it’s impossible to create such an exotic keymap on Linux.  Not that it’s not possible to create it with XKB, but various GUI toolkits, such as GTK+ interpret the mappings in strange ways and the mapping wouldn’t be consistent accross toolkits.  I’m sure that this can be solved by modifying the X keyboard driver or the toolkits but as you may suppose it’s a heroic work.  Not only that, but this is an OS-specific problem and there are no standard solutions that truly work.

I finally decided to attack the problem differently by creating a keyboard hardware that has limitless power regarding remapping.  It’s actually not a new idea of mine, it’s about two years old.  The prototype is in development and it’s very innovative in many ways.  I’ve gathered a small, but knowledgable team and we’re progressing rapidly.  I wanted to have a working prototype by the end of this year but I’m not sure we get there in time because rapid prototyping is expensive and the delivery of rare electronic components take time to arrive to Hungary.  But no matter how long it will take, we’ll never give up.

As a result of the above I don’t wanna devote any more time to Coder Keymaps.  The project has been closed.

Dohányzó buszsofőrök megbí­rságolása

  • by

Jópár alkalommal küldtem már levelet különböző Volán Társaságoknak amikor azt tapasztaltam, hogy valamelyik sofőrük dohányzott a buszon és a válaszlevélben tájékoztatni szoktak róla, hogy a sofőrt megrovásban részesí­tették.  Ez sosem töltött el igazán elégedettséggel, mert szerintem minimum egy párezer forintos pénzbüntetés szülne jelentős visszatartó erőt ahhoz, hogy az illető a jövőben se gyújtson rá arról nem is beszélve, hogy törvény alapján is pénzbüntetésben kellene részesí­teniük a sofőrt.

Az elmúlt hónapokban küldtem pár levelet bizonyos szervezeteknek, mint például a Levegő munkacsoportnak, és az Országos Dohányfüstmentes Egyesületnek, hogy hogyan lehetne elérni, hogy pénzbüntetést rójanak ki a sofőrökre.  Az illető szervezetek vagy tipikusan nem válaszolnak vagy egymásra mutogatnak.  Megértem, hogy nem ez a világ legfontosabb problémája, de amit meg tudok tenni azt megteszem az ügyben.

Az azért örömmel töltött el, hogy Wittich Tamás, a Fogyasztóvédelmi Hatóság vezetője válaszolt a tudatosvasarlo.hu-n feltett releváns kérdésemre.

Attól függetlenül, hogy nem mindig rónak ki bí­rságot a vétkező sofőrökre azért azt örömmel könyvelem el, hogy azokon a buszokon amelyeken utazni szoktam és egyszer már küldtem levelet, ott azután soha nem szembesültem dohányfüsttel újra, í­gy azt hiszem a megrovásnak is lehet visszatartó ereje.

DohanyzoBuszsoforok.hu

  • by

DohanyzoBuszsoforok.hu – Már régóta össze akartam hozni ezt a szájtot, de időhiány miatt eddig húzódott.

Kí­váncsi vagyok, hogy milyen hatása lesz, hány ember küld a segí­tségével leveleket. Folytattam egy kisebb PR tevékenységet, megkerestem a releváns szájtokat, hogy emlí­tést tehetnének róla. Ha ismersz egy témábavágó oldalt, akit érdemes lenne tájékoztatni, ne habozz szólni!

My Thesis Is Ready

  • by

I’ve been pretty busy on the last week writing my thesis. I’ll only graduate in the next year, but I had to make it that soon. It’s about UC and it looks pretty cool, actually cooler than on this picture.

thesis

I’ve just uploaded the paper to my home page into the Hungarian section. So grab it if you’re fluent in Hungarian.

I’d like to thank my mentor, Vilmos Bilicki for his help. He has been very supportive throughout my work and positively influenced the project with his great ideas, especially regarding the Windows port and the plugin architecture. So thanks Vilmos!

UC Windows Port

  • by

I’ve demoed UC to Vilmos Bilicki, who is my mentor in relation with my master thesis project (which is UC). He was very enthusiastic and told me that he’d use UC if it ran on Windows. I was thinking about porting UC to Windows even before, but he was giving me a further push, so I did a try this time.

I had a talk with Francisco T. Martinez a la Paco on #Mono. He directed me to his expermiental Windows Mono Installer which incorporates the Gnome bindings, not just Gtk# as the official installer. Using his stuff it was easy to port UC to Windows. Well I’ve not entirely ported it, just to make the GUI work, but it’s nice to see how fine it looks on Windows:

ultimate-commander-gui-1

He told me that the extra bindings of his expermental installer will be a part of the official installer soon. Very nice!

I’ll try to maintain UC in the future respecting the Windows port. I think it worths the additional maintenance burden which is not too heavy with Mono.

Ultimate Commander: Frame Handling Implemented

  • by

I’ve just committed the basic frame handling functionality to the repo. Frame handling in UC is part of an advanced interaction design which eliminates the need of more windows.

The concept is that the applications is composed of one, and only one window. Why? Because fiddling with tons of windows is not much fun. I heard many people talking about how much burden handling many windows is and I have the same opinion on the issue.

Here is a little demonstration to show you what I’m talking about. Just to make it clear, the file operatons are not implemented yet. Here’s the initial state of UC:

ultimate-commander-frames-1

Let’s say the user wants to configure the listing of the right panel. Then (s)he presses the “Set Listing” toggle button on the right panel. Here’s what happens:

ultimate-commander-frames-2

As you can see a tabbar and the related tab appears on the left panel frame. There is no overlapping like in the case of an additional window. It’s simple and beautiful.

I’ve made many changes to the codebase in the last few days and I didn’t clean up the code so it’s a bit messy now. Apart from small refactorizations, I guess I overuse accessors a bit. I need to educate myself more on the topic.

As a last note it’s nice to see how friendly the Free Software Community really is. When I requested a logo designer in the help wanted section of SourceForge, I got many help from more people and they were very kind and willing to cooperate. I’ve experienced the same attitude on the GTK IRC channels and mailing lists also.

Edge Detector Dude Released

  • by

I’ve written yet another PyGTK application in the near past for the Digital Image Segmentation course of the university.

You ask me what it really is?

Edge Detector Dude is a simple image manipulation application written in Python using PyGTK. It presents you the Sobel edge-detected and the gradient-directed versions of the input image. The pixels of the gradient-directed image is computed by denoting the angle of the gradient of the pixel and mapping this value as a grayscale color.

Edge Detector Dude is more accurately a front end that uses the accompanying gradient utility to process the input image and visualize its result images.

gradient is written in C using the Allegro game programming library.

Let’s see this dude:

edge-detector-dude

I’m proud of this GUI design because I think it’s very usable, however there are several things that could be improved:

  • Add a “View” button to view images. Currently the statausbar mentions that images can be viewed by double clicking on their names, but it’s not very eye-catching and novices may miss it.
  • Add support for other file formats. For some strange reason Allegro only handled BMPs, however according to the documentation it should handle a wide variety of image formats.
  • Replace the gradient-directed image with something nicer. It’s really ugly, no questions, but I had no choice because that was the exact task to be done.

Prolog Suckiness

  • by

I had to write a simple Pascal parser in Prolog for my programming course of this semester. The rough specification: print the names and line numbers of the procedures and functions found in the Pascal code to be parsed.

Prolog is a nightmare if you wanna write imperative code. I’ve came up with the following mess (also available on GitHub):

You shouldn’t see anything like this in your future life.

Operational Research Demo

I’ve written another application. Unlike the previous one, it’s a GUI application which i’ve made for the operational research course of the university. It features an incremental UI. I mean on this a kind of UI which the user can incrementally fill out as he/she gives more and more information during the input rather than having to handle tons of pop-ups throughout the process. I think it’s a much more usable interaction model.

See it for yourself:

opres-demo

Operational Research Demo is written in Python using PyGTK and you’re free to download it.

initng

I’ve been dreaming for a long time about a well designed, parallelized init system and finally it seems my dream has come true. I hadn’t have the time to check it out, but the boot charts seem very promising.

Comments Disabled

I’ve just disabled the comments and pings in every of my posts because I got massively spammed by various WordPress worms. On the other hand it’s not a real pain for me, because my blog is not really popular. Honestly I don’t mind it all, since I write mainly to summarize my thoughts and make a diary of my journeys.