Hacker Newsnew | past | comments | ask | show | jobs | submit | mafik's commentslogin

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)


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.


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.


I was playing with this same idea. Even the clay part, except I was expecting to use clay to sculpt then scan that into cad to make a 3dp case. I got a bunch of keys and some “monster clay” bc it’s more solid than sculpy and jammed em in there to try and made a 3dayout like this but getting things in the right place in 3 dimensions with the clay as the base was hard and it ended up in the dead projects pile. Using the wire endoskeleton is such a great idea for holding the keys right where you need em.

Anyway I got a bunch of the khali(sp?) choc low profile keys for that. they are basically half the height of regular keys, I think they could be even better for this. One thing with a chord keyboard is that the keycaps that are big enough to reach across and find blindly might not need to be that big when you finger is just resting on them. I thought making some custom narrow caps might let you get more keys in a similar handheld form factor.

I might have to give this project another shot with what you’ve made here. awesome stuff!


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!


Did you follow some convention for your chording or make something up yourself?

I kind of wonder if some layout that mimics wasd but uses the thumb buttons to indicate which “row” you are in could be intuitive to people who learned to type conventionally. (The intuition here being that most of us aren’t going to become keyer experts).


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.


Interesting. As a vim fan I think I would be very unhappy with any layout that didn’t have hjkl as my home position. But, of course, the ability to experiment is a huge strength of open source projects.

What a cool project. I grew up playing with modeling clay, but never did anything with those skills. It is fascinating to see them used in something useful like this.

Maybe a scanner of some sort is needed, to share 3D printable versions of clay objects, haha.


In my setup I use Colemak DH mod which loses the Vim arrows but I added a modifier where the 'a' key (left pinky on home row) when held down switches the right home row to arrow keys. Hasn't been an issue.


Yes! I wish CSS had decals support!


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.


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.


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.


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.


Android has a file system. It's a operating system (a Linux variant). I'm suggesting that neither a file system nor an operating system is necessary, or even desirable. Just run an interactive programming language continuously on the bare metal, with its image periodically backed up to secondary storage.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: