I recently picked up the Infinity Keyboard Kit on MassDrop after deciding I was overdue for a hardware project. I use an external monitor and clamshell my laptop, so I've been antsy to discover that elusive perfect keyboard. Now my destiny for peripheral nirvana would at the very least be in my own hands.
I settled on the brown Cherry MX switches since I've used blue switches in the past and wanted something a bit softer and hopefully quieter for my co-working neighbors. Massdrop also offered Matias switches, but I knew I'd have more keycap options with the Cherry MX's. With the order completed, I just had to sit and wait for it to be delivered... and boy, did I have to wait. :-/ When the kit finally arrived, it included the Cherry MX switches, the PCB and the metal case. Assembly was easier than anticipated – bravo to Massdrop and everyone involved. I simply popped all the switches into the case, aligned and clipped on the PCB, and then got to work soldering.
With the initial build complete, I turned my attention to the keycaps. After much brainstorming and a bit too much time in Photoshop, I settled on a clean, white design with rainbow colors on the modifier keys. For the primary keyset, I bought the DCS ABS Double Shot from Signature Plastics. For the modifier keys, I had to do a custom order from WASDKeyboards. Lastly, I added switch dampeners to soften the key press and reduce noise.
Thank god for open source. Jacob Alexander (aka haata) has provided everything you need for keyboard firmware as part of the Kiibohd project. As long as you're comfortable installing a few build tools and compiling from source, it's as simple as adding your own keyboard layout files (in KLL format), running
cmake to build, and using
dfu-util to upload to the device.
With the ability to customize freely, I set off and started hacking together my ideal layout. A few changes that I customized:
Caps Lockhas been changed to a
fnkey. While pressing the
lbecome arrow keys (same as
vi). Also, since the keyboard format is 60%, you can press the
fnkey to turn the number keys into
Alt, etc keys have been changed to media keys. Who uses these anyway? They are now
Note how the
pipekey is slightly larger in the infinity layout, and the
backspacekey is a standard key size. Well, I switched them so I have to reach less distance when hitting
backspace(which happens very often), and it's a larger key on this layout anyway!
The small key next to the right shift key toggles between QWERTY and Coleman. I've used Dvorak in the past have heard nothing but great things about Coleman. shrug Maybe I'll give it a try...
You can find my KLL files with all layers on GitHub.
I spend a lot of time on my computer, and while probably not practical, it's been quite fun having crafted my own tool. Cheers to sharp tools and open source!
Let's be honest – what we know as "maraschino cherries" are nothing more than corn syrup and red food dye, and they're awful. Here's my attempt to return them to their former glory.
- Luxardo Maraschino Liqueur (2 cups)
- Sugar (1 cup)
- Tart Cherries in Water (4 cans / 14.5oz each)
- Mason Jars (6 / 8oz)
- Cinnamon (1/2 tsp)
- Nutmeg (1/2 tsp)
- Vanilla Extract (1/2 tsp)
- Before getting started, put the mason jars in the dishwasher to sanitize them and get them hot. Also, boil a fairly large pot of water – you will be submerging your jars in the boiling water after they are filled.
- Pour the Maraschino liqueur into a pot and bring to a soft boil.
- Add the cherries with about half the water from the can. Add the sugar and optionally add the vanilla, cinnamon and nutmeg. Bring to a soft boil and simmer for about 5-10 mins – the cherries should be floating at this point.
- Fill the mason jars with cherries and top them off with the juice, leaving about 1/2 inch of space at the top of the jar. Tightly secure the tops and place in the boiling water for 5 minutes. They should be fully submerged. After they have been in the boiling water for 5 mins, turn the heat off and let them sit for another 10 mins.
- Remove from the water and place on a towel or drying rack and let sit for a few hours. Refrigerate for at least 2 days, and then they are ready to enjoy!
I started playing Starcraft 2 about a month ago. I know I'm late to the party but I recently converted my HTPC into a gaming rig, and Starcraft became inevitable. If you've never played Starcraft before, this article may not make a lot of sense to you – sorry, here are a few links. Anyway, as I've been getting destroyed online (since I'm not very good), I've started to see some startling similarities to the strategies and tactics in Starcraft and those that we employ when building a startup. Fair warning, this is going to get pretty nerdy...
Original Photo from kHovsT on Flickr
When playing Starcraft, you always have a rough gameplan going into each game, but you'll rarely win by just keeping your head down and executing your initial plan. You need to constantly be scouting your opponent and adjusting your plans accordingly. The player who is constantly gathering information and adjusting their strategy will usually end up on top. Sure, you may get lucky and happen to blindly execute a strategy that ends up in a win, but it's a longshot and you're definitely not giving yourself the best chances possible for a win. Customer development, anyone? Which leads to the next subject...
So you're playing Terran and you've decided that you're just going to amass a ton of marines and marauders. Honestly, not a bad strategy – but when you scout the Protoss player's base, what do you see: Colossus and High Templars. Shit. You know your scant army of marines and marauders is going to get wrecked by this combo, and you need to change plans because your original plan is not going to work. It doesn't matter how many marines and marauders you throw against those guys, they're going to get shredded. Rather than panic and throw your army into a slaughter, you need to "tech switch" – so you start pumping out Vikings to counter the Collosus, and you build a Ghost Academy for EMPs to counter the High Templars' storms. A few things to note here: this would not be possible if you haven't been SCOUTING! You would just be blindly running your army into a losing situation. Also, the time you spent building your Marine/Marauder army isn't a waste, as you can more often than not reincorporate those units into your new strategy. You can't get too attached to your initial plan, and you need to be flexible enough to switch it once you know it won't work. Sounds an awful lot like a pivot...
Macro and Micro
If you've played or watched any Starcraft, you've heard the terms "macro" and "micro". Macro essentially refers to the grander game mechanics including economy and unit production. It's the big picture of what you're doing. Micro is individual unit control – it's the small, precision interactions. In Starcraft, no matter how awesome your micro is, you really need to have great macro as the backbone of your game. However, a player with great micro also gets a lot of small victories over the course of a game – an extra friendly unit saved here, an extra enemy unit killed there. As a startup, you have to have a solid strategy and a solid business model. No matter how hard you work, you need to be working on the right things or it doesn't matter. However, if you have a great strategy and a solid business model, those small extras that you do every day can add up to a lot in the end. Macro is a necessity, but don't underestimate how those micro interactions can add up in the end.
Ok, that's all I got. Get out there and win some matches IRL.
There are literally hundreds of wireframing applications and web apps to choose from, and I've bounced from one to another hoping to find that nirvana of super-productivity. Like most developers and designers, I'm probably (absolutely) guilty of over-optimizing my toolset and I was starting to get that feeling again in this case. So on my most recent project, I sat down with our stellar designer with nothing more than a pencil and a lot of index cards. The results were clear: best. mobile wireframing. evar.
I need to clarify my opinion here before I get too far. The wireframing that I'm discussing here is the lo-fi, general workflow type that is used to keep everyone aligned; not the ultra-detailed, perfectly polished type that's included in your 45 page design document. I find the former to be a great tool for building a product, and the latter to be a horrendous waste of everyone's time. That being said, what makes index cards better?
Index cards are already the size of a typical mobile device
Holding the index card in your hand is amazingly similar to holding the device in your hand. It helps you visualize the app as it's going to be seen and used by the end user, rather than abstractly looking at a phone-shaped canvas within your browser window.
You can pick up the index cards and visually rearrange them to illustrate elaborate workflows and use cases
In addition to holding that single card in your hand, you can easily switch between screens just by picking up the next index card. You can also easily layout various workflows on a flat surface (see: desk or table) to discuss complex user flows and/or use cases. This makes collaboration just plain awesome!
It's easy to throw one away and start it over
Inevitably, you're going to go through a few different designs and layouts for each screen. It's remarkably easy to just pull out another index card to do a second iteration of a screen. When it's so easy to scribble together a new version on a new card, you find yourself iterating quickly and experimenting more easily. You also don't get attached to work you've already done because it's so easy to just crumble one up and start over.
It is fun and addictive to automate and fine-tune every aspect of your digital life, but sometimes you have to pull your head up from the computer screen to find the great productivity boosts.