lkanies
lkanies
The Crab's Madstop
8 posts
Luke Kanies's personal log. Life, sysadmins, design, and whatever else happens to come up.
Don't wanna be here? Send us removal request.
lkanies · 10 years ago
Text
The Macbook 1
I think I’ve gotten a new computer at least once a year for, um, at least a decade.  I’ve probably upgraded every year since I got rid of my 12″ Powerbook, which was (I believe) the year the intel Mac laptops came out.
I had recently switched from a Macbook Air to a Retina 13″ (where by “recently”, I think I mean some time last fall).  The main reason was the much better screen, but I also got more power, which I thought I’d be using given some of the work I was doing.
Then, I ended up buying a 12″ Macbook (which Marco Arment calls the Macbook1, for its single port), as a kind of one-shot solution for a trip to China.  I didn’t end up using it on the trip, but decided to try it out.
It’s been nearly universally decried.  I listen to the Accidental Tech Podcast, and they somehow spent an infuriatingly large amount of time being confused about why Apple would make this, and why only add one port.  The answer to that question is obvious to me:  because they can. Apple is quite fond of reducing anything they can.
I assumed this laptop would be a lot like the very first macbook air: Silly, useless, and incredibly important. From what I can tell from the outside, that machine was their first foray into the aluminum monoblock stuff that all their machines are made of now.  Even with all those limitations, that machine was pretty amazing, especially for its time.
Even if this computer was just a research platform for Apple, it would be important, but I also knew that there’s always demand for smaller, lighter computers, and this one is actually pretty low on compromises.  That is, it’s got an amazing screen and a full size keyboard, which no other computer this size can say (that I know of).
Speaking of the keyboard... I knew this would be my biggest issue. This machine has the shortest key travel of anything I’ve ever seen.  I’m a pretty big fan of great keyboards - I cut my teeth on the Apple Extended Keyboard II and the Sun Type 5 keyboard, which I used until I couldn’t handle the KVM switch for any more (probably around 2008). I recently bought Kül mechanical keyboards for work and home, and I travel with a decent bluetooth keyboard (the Logitech Easyswitch) for my ipad, which I use a ton and quite like.
At first, the keyboard really really sucked.  First my knuckles hurt. I type a lot, but I’ve only had brief hints of RSI a couple of times. I am careful with how I type, and how I hold my hands, and it’s always worked out.  Thus, the fact that this hurt was a big issue, and the first night I used it I was convinced it was going back.
But I’m stubborn, and have a high tolerance for pain, so I kept using it. Then, the tips of my fingers hurt. Something about the contact of my fingertips, my nails, and the keyboard was bad.
But, hey, I powered through. I found that after a couple of weeks, my hands had learned the key travel of the keyboard. I have come to the conclusion that Apple is right: The keys are incredibly solid, and it actually does make up for the fact that there’s almost no travel. I know it won’t be for everyone, and the 2 week period to get used to it is extreme, but I have learned to actually like the keyboard. It’s hard, it’s short, and I find some words harder to type than I’d expect, but overall, I quite like it.
Once I got used to the keyboard, I learned to love the laptop, and I’m getting rid of my retina 13″. This will allow me to get a 5k imac for my work desktop, which will also simplify my transitioning between desk and couch/plane/house/whatever.  Anyway, about the laptop: Wow, it’s small and light. You could argue it’s only 1.5lbs lighter than the 13″, but that’s the wrong way to look at it: It’s 42% lighter. That’s a lot. I carry my ipad nearly everywhere, and this machine plus my ipad weighs less than the 13″ by itself.
Performance-wise, it’s definitely not fast. Meh. I’m an email/web/hipchat/slack/etc person. I compiled cfacter on it today, but otherwise... it works fine.
About the single port: Sorry, Apple was totally right.  I completely agree that some people need more than one port.  I don’t understand why this is so hard: Those people won’t buy this computer.  Done. Seriously.  Buy the one you want, and stop railing at the fact that other people have different needs than you do.  For what it’s worth, this is something the ATP guys seem particularly bad at: They tend to look at all computer devices (including phones) through the eyes of their needs, and they don’t seem to be able to admit that other needs exist, which makes them almost offended at the existence of computers they wouldn’t use.
I pretty much never plug anything into my computer, and I pretty much never use it when it’s charging except when it’s plugged into displays on my desk, where this limitation is irrelevant. Heck, I only plug power and DisplayPort in on my 13″, and this computer actually makes it easier, not harder.
The only real problem is that the cable is new, so it’s expensive, and the adapters aren’t all around yet. Meh. Not a huge issue, especially since the solution is just: “Wait 6 months”.
In conclusion: If you travel a bunch, or carry your computer with you everywhere, or just really care about mobility, and you either don’t care about keyboards or can learn not to care, then this laptop is for you. Seriously, I really like it.
0 notes
lkanies · 11 years ago
Text
Golden Image or Foil Ball? (repost)
(Note: This is a repost of an article of mine from 2009, which I lost in a transition to a new blog host.)
The essential basis of running services in “the cloud” is that they run in virtual machines, which come with their own idioms and practices for managing them.  One of the mainstays of managing virtual machines (’VMs’) uses what’s called ‘golden images’.  These are images built up complete with the services they’re supposed to run, so that you can just start them and they’ll immediately join the network and do whatever it is they’re supposed to do.
As the post title suggests, though, I think ‘foil ball’ is a more appropriate term.
You have significant problems when you rely on golden images:  Image sprawl, updating your images, and image state vs. running state.
Image sprawl is what you get when the number of images (not running virtual machines) you have grows to an essentially unmaintainable figure.  Let’s start with a simple LAMP stack:  At the least, you’ll have a separate image for your web, database, and application servers.  Oh, except you probably need a load balancer image.  If you have any support services like DNS, you need an image for those.  And so on.  You soon find that you have a separate image for every service you provide.
Now that you’ve got this image sprawl, you run into the next issue:  Updating these images is relatively expensive, and nearly always results in redundancy.  It’s expensive because even trivial changes require a full image rebuild, which is itself a bit complicated.  The redundancy comes because you *still* have to do some work on the image once it’s booted as a server, even if it’s minimal.  So now you’ve got this complicated image generation process that has some kind of overlap with a simple on-server management process.  Another kind of redundancy arrives when you make a change that affects multiple images (e.g., upgrading the same package, or performing the same configuration change): you have to make this change to each of these images separately.
Oh, and by the way - this updating process is usually completely unrelated to the process you use to update your non-image machines.  Because hey, if a little bit of redundancy is good, then redundant redundancy is especially awesome.
Say you managed all of that, though, and all of your images are correctly updated all of the time.  Great, now you just have to reboot every machine on your network to take advantage of the new changes.  Of course, this isn’t exactly feasible for every machine all the time, which means you’ve got drift between the desired and actual configuration state.
This is why I think maintaining these images is more like managing a foil ball:  It’s difficult to pull apart, difficult to press back together, and if you get too many of them they just get into the way.
If, instead, you use a single, base image for all of your work — I call these images stem cell images for what are hopefully obvious reasons - and then use a tool like Puppet to configure them once they’re running, you avoid all of the above problems:  You have one image to maintain and it’s necessarily simplistic, you use the same tool and the same configuration base across all images, and Puppet keeps your machines updated within 30 minutes of any central change.
So, if someone tries to sell you a golden image, don’t buy it - instead choose a tool you can use for every machine in your organization, and push every configuration operation possible into that tool, rather than spreading tasks around to your provisioning, image management, and configuration management tools.  This is just as true for tools like Jumpstart and Kickstart - they should do as little as possible, and hand off immediately to a tool like Puppet; well, really, just Puppet.
0 notes
lkanies · 11 years ago
Text
The case for the iPad’s long-term future
Based on both individual anecdotes of purchased iPads lying fallow around the house and Apple's recent announcement that iPad sales were essentially flat year over year, some are predicting that the iPad is not the future of computing that has been predicted.
I'm not quite willing to make big predictions about computing overall, because I really hate being wrong and there's no real benefit here in being right, but I couldn't be more confident in the iPad's future, and it's not an argument that I've heard widely.
TL;DR: The iPad already has great successes, and just by itself those will do well. Most of our apps and workflows haven't been rebuilt from the ground up for the iPad, though, so we're not getting the best from it. And there is a great market opportunity in the millions of iPads that are underutilized, and the first app developers that crack that market by playing to the iPad's strengths will make it big and create an even bigger pull for the iPad through those successes. If you love a computer, the iPad's not for you, but it's definitely for someone.
Longer version:
First, let's look at where the iPad is successful. And I don't mean, let's look where it's purchased; I mean, let's look at where its users actually get fantastic usage out of it. If this usage is small and meaningless, it doesn't mean the iPad is meaningless, but it does limit past data in usefulness for predicting the future. But if that success isn't meaningless, it points to possibilities.
It's absolutely true that the major use cases for the iPad are in consumption, not production. Weirdly, the vast majority of what humans do, in general, is consumption and not production. I receive 230 emails a day and send 30, on average, so an iPad that was 10x better at managing incoming mail than sending new mail might work better for me than a laptop (depending on how I rate its relative strengths).
People have found the iPad is great for watching videos, reading — books, magazine articles, comics, twitter, and more. People dismiss the iPad for this — “consumption isn't as important” — but the reality is, your laptop sucks at consumption. Reading magazines or books, watching TV, and reading twitter are all pretty much crap on the laptop compared to the iPad. Yes, you can do it; no it's not as good.
So, if the iPad were just relegated to being the best enabler of consumption, I think it would do pretty well, since it would also leak over to not-quite-consumption, like trawling the internet for great pictures to post to Pinterest. This might not be the super-exciting future, but I think it's still a better business than I could think of building.
Beyond consumption, though, there's another big area it's doing well: Replacing computers for people who don't have computers. I've personally given away about 15 iPads (this is just for personal stuff; I've given away more for work, including 12 of the very first iPads to all the employees I had at the time), and for most of those, they didn't have a computer, and for most of *those*, they now don't need one. Of course, many of the iPads were to young kids, aged 5-10, by those kids will get most of the benefits of a computer without needing the complexity of a full computer.
It's not just kids, though; my dad could use the computer he shared with my mom, but he never embraced it. He has been literally emailing me weekly about how giddy he is to go to a coffee shop and write email on his iPad. He didn't feel comfortable doing this with the laptop, but he loves it now. He's by no means the only person I know who either doesn't own or doesn't use a laptop because they now have an iPad.
Everyone who needed a computer already has one, but not everyone has a computer. Many of those who don't need a computer also don't need an iPad, and maybe a smartphone is perfect for them; but the group in the middle, who don't need a laptop but for whom a smartphone isn't sufficient, could really thrive on an iPad.
Just these two successes are a great business, if not necessarily a 100% growth business indefinitely. But there's a lot more.
The next thing that gives me confidence in the iPad is how few of our tools have been rebuilt to work with an iPad workflow. Most of what I try to use on the iPad is an attempt at porting either iphone or laptop apps. That can work, but it won't automatically. I often use a keyboard for my iPad, but essentially nothing has good keyboard shortcuts, for instance; I would never tolerate this in a laptop app, but it's not really a choice on the iPad (for now).
I don't know what it will take to rethink my critical apps and workflows to work on the iPad, I just know it hasn't been done yet. And yet, even without that, it's literally my favorite computing device by a mile. I use my phone constantly. My laptop is a workhorse. But I love my iPad. Every time I pick it up I can feel the future of computing just fighting to get out. There are so many little bits of my iPad life that need to be shaved, molded, tweaked, cut, poked, prodded, or beaten to a pulp; when that happens, we'll be in a whole new world.
The world just hasn't been creative enough yet to figure out how to take advantage of what the iPad can do. Remember: This thing is only a few years old. It might be 10 years before we really figure it out. That's not an iPad failure, though; that's a market failure. There's a lot of creativity yet to do.
It's that market failure — which I feel keenly every time I pick up my iPad — that really closes it for me. The iPad has an amazing future because there are fifty million people who pick up an iPad with hope in their hopes, dreaming of the awesome things this can help them do. Today, too many of them are disappointed with the answer. But tomorrow, they'll pick it right back up again, with hope in their eyes once more. In the mean time, Apple will continue to sell a ton of iPads. Maybe it will only *cough* be twenty million a quarter or whatever, but that's still a big market.
I am very confident that that market opportunity will push people to invent new ways to excite those users. Yeah, everyone's currently trying the obvious, stupid stuff: “Hey, let's just make a crappy html5 version of our web app” or “Hey, let's just upscale our iphone app”. That's not really working. Something, however, will work. Imagine the iphone if Loren Brichter hadn't gotten ahold of it and invented and created as much as he did. You can't force that, but with enough people trying, and enough clear demand, it'll happen, and it'll change the way you use your iPad.
I hear a lot of people say the big barrier is cross-application communication, but I think a lot of that is trying to copy the strengths of the laptop to the iPad, which might not be how the iPad comes into its own. You don't use your phone to do things you used to do on your laptop (at least, not primarily); why would you use your iPad for that?
I'm not sure what strengths of the iPad will come to the fore in a way that makes it its own device, but I have some ideas.
As an example, people totally undervalue the fact that it doesn't go to sleep. Just comparing email on an iPad to a laptop, there isn't a great email client for the iPad yet that I have found (and trust me, I've looked; I've got at least seven mail apps installed on my phone), but I like a lot of the core email experience on the iPad dramatically more.
Most of the time I check my email I've got about 15-30 minutes. My goal is to delete, send to my task list, or reply to as many emails as possible. With my laptop, I either need to leave it at my desk all day, or when I open it I have to give it some time to find wifi (or get an IP from ethernet), then download all of my mail. This could take 30 seconds, but with Mail.app (don't ask), it could also take 15 minutes. Yes, it would be better with gmail, but it wouldn't be instantaneous.
Let's compare that to the iPad. It's always on. It's always online, because I've got an LTE chip in mine (I've had every version of the iPad since the very first, and every one with a mobile modem since they supported them). So, I open my iPad, boom, all the mail is right there. No wait, no IP acquisition, not downloading mail. Done.
Let's take this to the extreme case: I often travel with just the iPad, and I use it in ways I couldn't use a laptop. I get on a plane, put my iPad into airplane mode, and when I'm aloft I start processing email (with a keyboard). The email is right there, already downloaded, ready to go. When I land, I turn off airplane mode, and the email just sends; no work for me.
The same work on my laptop requires that I sit down at the terminal, pull out the laptop, pair it with my phone or iPad (or gamble on the airport wifi), wait the who-knows-how-long until Mail.app syncs with gmail, then put everything away. When I land (having probably done slightly more work in the 1.5 hr flight I usually take), I have to do the same thing: Find a chair, open the laptop, pair with device, wait until the 20-50 emails I wrote on the flight get sent. I've spent a long time on the freeway with my laptop open and connected to my phone, trying to upload mail.
Total iPad win. The laptop might support this at some point, but it's just not built to literally be online 100% of the time. This plays to the strengths of the iPad, and will be hard to import anywhere else.
What else plays to this strength? I think there are tons and tons of areas that could benefit from being online 100% of the time, and you can see most of Apple's development work is in improving this so apps can stay open more, download more often, be more up to date, etc. If my iPad evolves so that every app on it always has its content up to date, but I can never build a mixed-media blog post, well, I would take that trade.
Just think about the iPad-specific interfaces and experiences that have built. Hmm. There aren't a lot. I know of some that have tried, like iPhoto, but many of them have been not so great. The only ones I can think of that really work are the app-switching moves: Four finger swipe for app switching (which works poorly because I can never figure out how the device orders the apps), and the five-finger app close gesture. For a completely new device and form factor, that's not much real innovation in interaction.
The point, though, is I don't need to know what happens next. I just have to be confident that the market opportunity of tens of millions of underutilized iPads in the hands of excited people who have proven they'll spend money on technology will draw enough experimentation that we'll get to see the true innovation. This is a young product, and it's a product that's sufficiently similar to others that people haven't really let it grow into its own. There's enough money and interest in the system, and enough truly awesome parts of the iPad experience, that I'm absolutely confident it will.
Too many people are saying the iPad is a dud because they're a computer user and their usage doesn't translate well to the iPad. They're not approaching the experience with a beginner's mind, and are instead saying, “I know it's a new device, but it should do exactly what the old one does.” One of the commentators on the Accidental Tech podcast seems to have set “create a mixed media blog post” as the critical success criteria, but I bet less than 1 in 10000 computer users, if that, ever actually need to do that. Even when I blog, I just do straight text. Hell, I probably include more code snippets (well, used to) in my posts than pictures, but I'd be crazy to make that a requirement, because I understand the iPad's market isn't me.
To that commentator, I would recommend they go read Innovator's Dilemma. Disruptive technology is rarely used by the users of the old technology. The laptop, or desktop, or whatever, makes you happy. Great. The iPad's not for you. It's for people who don't need what you need, and are satisfied with a much simpler solution with some kinds of power that are greater, and the reduced complexity is a critical part of its success. (Really, read Innovator's Dilemma.)
And seriously, if you're getting an iPad, and you can afford it, get it with an LTE chip. It dramatically changes the experience. I couldn't live without it. And don't say I can tether it. Not at all the same.
My recommendation is, don't ask what it would take to cause you to switch to an iPad. Ask what you aren't doing today that you'd like to be able to do. Ask who isn't using a computer and could be. Ask how the world will change when every device and every app is online all the time. Wonder what kind of gestures will dramatically increase the power and intuitiveness of the iPad. And see if you can't come up with an app that will make those fallow iPads just that bit more sexy.
0 notes
lkanies · 13 years ago
Text
New bike bag - Mission Workshop Sanction
I've been using Chrome messenger bags for about ten years, and I've really liked them.  Mine have been all over the world with me, and at least one of them still looks nearly brand new.  However, my riding these days is basically straight commuting between home and the office, so I rarely need the on-the-bike access that messenger bag gives me.  
Even worse, my left shoulder, which bears the whole bag, has recently decided it hates my guts and would like me to die, or at least share the load across both shoulders.  As much as I like a night on the couch with bourbon, painkillers, and a hot water bottle, I can't afford to get into the habit of that kind of thing.
So, I went to start looking at new bags.  Because I live in PDX, I need something waterproof; because I live in Portland but travel to San Francisco, Palo Alto, NYC, London, and more, I need something that looks good; and because I travel a ton and hate overpacking, I need something small (where my definition of small is I can *barely* fit my daily needs plus an extra shirt/socks/etc for one night away).  All that, plus of course it should be comfortable and last 10 or 20 years.  I've also been trying hard to buy things that don't look quite as plasticky as most, um, everything looks these days, so extra points for natural fibers or something that does a good job of faking it.
I looked at quite a few other bags, but everything seemed to fail really quickly on either 'look good' or 'be small', and many failed on both.  It was obvious right away that I had to give up on buying anything that didn't look plasticky - everything was plastic or nylon, and really obviously so.  One of the other things about most of the bags I found was that they tended to be more like gear and less like everyday bags, and they tended to be very complicated with lots of straps and pockets and things.  This could be done well, but in most cases (heh heh) the bags were either too complicated, with lots of straps and extra pockets, or too simple, with just a big middle pocket and little to no organization.
I decided I had to see a bunch of bags in person, so I set out to some shops in town with my then-day bag full of everything I carry with me every day and a bit of extra clothing to simulate an overnight trip (yes, I pack light).  My first stop was River City Cycles, a fantastic shop for commuters, and that's where I ended up buying my bag.  I was able to try my top contenders there (from Chrome and Timbuk2), but the Chrome bags were, um, gigantic, and the Timbuk2 bags were just to plasticky for me.
The first time I looked at the Mission Workshop Sanction, it looked both huge and plasticky.  However, after trying everything else, I decided to actually load my stuff in one before I left.  Then I noticed that they had two varieties - one made of nylon (linked above) and one made of waxed canvas, which I adore.  It wears kind of like leather, in that it looks better with age, but it's about as waterproof as you can get without plastic bags and has a great feel.
After loading everything into this bag, I realized it was a lot smaller than it looked (it helped that I had tried some truly big bags prior to this).  In fact, it was kind of too small for my torso, given how the straps worked out.  However, I wore it around the shop for awhile, and based on the fact that it was the last one they had in the gray color I liked (along with River City's great return policy), I decided to buy now and try it over the weekend.  In case it's not obvious, I kept the bag after all.
Here, roughly, is how I tested it out.
First, my daily load (with an extra jacket just in case) outside of the bag.  It's mostly laptop, ipad, a cable bag or two, and a bunch of little things:
Then the bag actually loaded up.  This is how I'd use the bag 95% of the time, so it's the most important test:
Here's how the bag looks open, so you can see where it all goes:
And you can see when it stands up that it's really not very full:
I also tried it with a full load of overnight clothing, in an Eagle Creek clothing folder (which I really only use on overnight trips):
You can see that the bag is pretty round with this in it.
I also took a shot that showed two aspects of the bag I wasn't so fond of, and one nice feature:
My cat hair sticks to the bottom, and the bottom part of the straps are too long (I've bound mine with rubber bands).  I do like the loop for attaching a bike light, though.
I was able to fit everything into the bag in all cases, but I barely fit the overnight kit (and in fact, on my first actual overnight trip with the bag, I had to leave some stuff behind, which I consider a feature).  The bag also never got too round or uncomfortable, and after going on a few walks and bike rides, I was comfortable that this was the right bag.
I looked into the bag a bit more (yes, I'm a bit maniacal on my research), and it turns out this waxed canvas version is a special version, so it turns out that one of the best features of this bag is that no one else in my office can have one, because it's all sold out. :)  Yes, the Puppet Labs office is full of bike and gear nuts, with a strong overlap on people who pack really light.  There is another special version of the Sanction, though, that might be worth checking out, and the normal version is still a great bag.
After using the pack for a month, including on an overnight trip, I'm still happy with it.  My only real complaint is that it doesn't have a handle on the side, which I would like for when I can't put it on my bag.  I didn't expect to use the "special" laptop compartment, because it's just a separate pocket behind the main pocket, but it ends up being really convenient - the main pocket can be packed full, but I can still slide my laptop in and out of its pocket.  It also turns out that the little pocket in front perfectly fits my ipad, which is an added bonus.
7 notes · View notes
lkanies · 13 years ago
Link
(via Instapaper)
0 notes
lkanies · 13 years ago
Link
(via Instapaper)
0 notes
lkanies · 14 years ago
Text
Synology, NFS, and OS X
I bought a Synology diskstation for a home backup/fileserver, and overall it's been ok if not great.  The big problem I had was I could not figure out how to get an NFS filesystem mounted on my machine.  It turns out the '-P' option was the trick.  Here's the final command that worked for me (with a 'homes' volume, mounted at '/Volumes/homes'):
sudo mount -o proto=tcp,-P,port=2049 192.168.0.6:/volume1/homes/ /Volumes/test
Note that you can add this to Disk Utility for automounting; you just need to add the '-P' as an Advanced option.
0 notes
lkanies · 14 years ago
Text
Development books
This comes up periodically, so I figured I'd record at least the last list I sent.  One of the Puppet Labs PS guys asked for a list of development books to read, and here's the list I rattled off:
Analysis Patterns:  A great book about designing large applications
Domain Driven Design: Another great book about application design
Pragmatic Programmer: The best way to not do stupid development
SICP (free download): Learn about the structure of programming
Refactoring: I didn't learn anything new in this book but wrote code completely differently when I was done.
Everything Jay Fields has written on testing:  I disagree with almost everything he says but it's made me a much better programmer.  He tended to write from the position of a great developer on a struggling team.
I also recommend reading some design books, but the only good one I've read recently is The Design of Everyday Things.
0 notes