HNHacker News
TopNewBestAskShowJobs

mafik

173 karma · joined February 12, 2014

submissionscomments
mafik··on Show HN: I've built a tiny hand-held keyboard
Learning is actually quite fun once you juice it up. One minute in the tutor should make it clear what I mean: https://mafik.github.io/keyer/ (make sure the sound is on)
mafik··on Show HN: I've built a tiny hand-held keyboard
I guess an exposed battery is more susceptible to short circuit. Imagine you have this in your pocket while in a heavy rain. Battery could short circuit due to water creating conductive connection between battery terminals. It would heat up quickly an maybe even start burning. Still, I prefer 18650 to these flat, lasagna-type cells which swell and can be pierced by any sharp object. Even though the latter has built-in protection and the former doesn't.
mafik··on Show HN: I've built a tiny hand-held keyboard
No, I didn't experiment with modes almost at all. I had one mode where I mapped the arrows to individual keys but in the end dint't use it - it's faster to enter a chord - especially chords for Ctrl+Arrows are nice.

For a time I made the mappings a little more memorable by forcing two related keys (like a and ą or o and ó) to have their chords differ in just one finger position - and that did work but it lowered the "efficiency estamates" of the generated layouts. In the end I reserved one thumb position for my custom shortcuts and allowed the optimizer to go crazy with all the remaining chords. After playing with both styles I prefer the latter. Entering text feels more a little fast-paced maze solving game where you have to figure out which fingers to move to transition between chords.

mafik··on Show HN: I've built a tiny hand-held keyboard
No, but it's a great idea. For thumb I'm using a Ctrl-sized keycap - it has the perfect in width where I can avoid pressing the buttons on the sides. But for other fingers, the regular-sized switches and caps feel a little too widely spaced... Something 15% smaller than standard keycaps would be perfect.
mafik··on Show HN: I've built a tiny hand-held keyboard
Hard to say because I'm still stumbling trying to remember a chord most of the time. I'd say 20 wpm when the stumbling is only moderate. I need to get that muscle memory trained!
mafik··on Automat
Yes! I wish CSS had decals support!
mafik··on Automat
Author here :) There is no trick here actually. It's just HTML / JS / CSS. Browsers are pretty good at compositing CSS transforms - and know how to handle DOM updates coming from event handlers & requestAnimationFrame. There is one CSS hint that speeds it up a little "will-change: transform". Another important ingredient is to update the object position in the (pointermove) event handler - so that the responsiveness is low - physics engines also could do this, but it's usually an overkill.

You can take a look at the script in the website's sources - it's inline.

mafik··on A performance analysis of Intel x86-SIMD-sort (AVX-512)
I've read the C++ code used in the benchmark and noticed several issues that would affect its performance (wrapping comparison function behind multiple layers of indirection, throwing exceptions (!?) from comparator, passing arguments as references rather than values, not using the C++ sort "Compare" template argument). Given the amount od indirection and boilerplate I'm pretty skeptical of the results od this benchmark.
mafik··on Ask HN: Grants that ACTUALLY pay you to pursue your passion?
I share your sentiment as well. My experience browsing through public grant offers in Poland is that they strongly reflect political zeitgeist. In the particular case of Poland it is currently "everything has to promote patriotic values". I thought about presenting my projects in such light to become eligible but in the end decided to just limit my spending and use personal savings instead. Computer software is a rather cheap hobby after all.
mafik··on Ideal OS: Rebooting the Desktop Operating System
Android is one such system. Each app gets its own image (called Bundle) where it can store it's state. OS manages those state bundles to offer multitasking on memory-constrained devices and persist app state across reboots.