Necessity is a Mother

Simplicity is a balance. When it comes to tools, it’s often a balance between factors that cause drag like clutter and analysis paralysis, and the issue that a srewdriver makes a piss poor hammer. Too many tools for a job prevent you from mastering the ones you have and waste your time choosing between them. Not enough tools and you end up wasting time making do.

When discussing programming earlier, I discussed that you should choose a text editor, and stick with it, learn it. I also outlined why I chose the text editors I was using. 

Well, circumstances have changed, and so have my tools.

One of my two go-to editors (TextMate) still has not seen any real progress. Any promises of an updated version fixing the problems I and others experienced still being so much vaporware. Also, I was spending most of my programming time in Xcode, and while Xcode has its faults as a text editor, losing the integration, code completion, etc. just wasn’t worth it. Lastly, I’ve found myself spending a lot more time in not only the Mac terminal, but working with other, linux computers, and needed to finally buckle down and learn an editor that would be available – or installable – almost anywhere I was logging in without having to learn yet another set of tools.

Thus I’m back to learning Emacs.

Why two tools? The friction of working around Xcode’s external editor support when it did exist – it’s not available in the latest update – was just too much trouble, and I still needed something I could use everywhere else. Screwdriver and a hammer.

So yes, there’s a learning curve. Emacs is insanely powerful and was designed in a pre-mouse world for handling text in a number of different contexts. But the basics are the same in the OSX terminal, Cocoa, a linux terminal, Windows, XEmacs under gnome or KDE. Whatever I learn, I learn once, and I can use it anywhere.

Acorn Update Available.

The guys at Flying Meat Software have released an update to their excellent, inexpensive image editor, Acorn, which is now up to version 3. One of the better reviews is here at Mac App Storm. Like many Mac apps these days, you can also get it via the Mac app store, allowing you to install it on all of your family computers.

While I personally won’t be switching to it from Pixelmator, what I’ve said before holds true – they’r both excellent programs and it’s more a matter of which suits your style. Check it out.

Note: Updated to dix a typo in mispelling “Mac”

Reactor Problems in Japan

After the recent quake near Japan and the tsunami that followed have killed thousands, destroyed billions of infrastructure, left many without power or water, destroyed trains, and destroyed oil refineries outright in an inferno worthy of Dresden, we keep hearing about the reactors.

The short answer: yes, it’s a shame. Yes, some people will get some exposure to radiation outside of the plant. Yes, parts of the plant will likely be shut down for good. All in all, the plant suffered an earthquake well in excess of design parameters and has been shut down. The core may slag itself, and some radioactive gases may be vented (and dissipate, and rapidly become non-radioactive ) relative to normal background, but in the end, explosions of the reactor core, or anything like Chernobyl, is just an impossibility.

The long answer is here, from the guys at MIT’s Nuke sciences division.

It is worth mentioning at this point that the nuclear fuel in a reactor can never cause a nuclear explosion like a nuclear bomb. At Chernobyl, the explosion was caused by excessive pressure buildup, hydrogen explosion and rupture of all structures, propelling molten core material into the environment.  Note that Chernobyl did not have a containment structure as a barrier to the environment.

Additionally, Chernobyl was designed so that it got more reactive when it lost water, and the moderating material that made it more reactive was flammable graphite which caught fire.

So please go read the whole thing. 

 

In Support of “Laziness”

Reminiscent of Lazarus Long’s story of “The Tale of the Man Who Was Too Lazy to Fail” from Time Enough To Love, I recently stumbled into this quote:

Code you don’t write is the easiest and fastest to debut, test, document, read and support.

This quote to me outlines several principles. 

First – while I strongly believe in learning by trying the hard, slow, painful way, by going through the basics, this doesn’t apply to when the priority is to actually produce. Also, the whole point of of doing it hard, slow, and from the basics is to gain an intuitive grasp of how to do it more efficiently, to improve the quality of your work, so that you get better at it, not to be a masochist.

This applies to code as to anything else. Brevity matters. As the quote attests, any line of code you don’t have to write is not only less time spent typing, but the time figuring out how to do it in fewer steps often pays itself back in better performance, and easier maintenance. Lastly, the next time a similar solution is needed, you don’t have to think about it anymore, and you still get the rest of the benefits.

What Your Actions Say About You

The other day I stumbled into another short post from Steven Barnes that reminded me of what I had written several days back
If you were judged by your actions more than your words and your words more than your intents or feelings…how would you look?
Easy enough, right? I stated that the choices we make day to day, minute to minute, demonstrate whether we really make a priority of the things we claim we want. And Steven asks you to step outside of yourself and look at how you appear – what is the discrepancy between what you do, what you say, and what you intend? Are they the same? If not, why?
Both of these also mesh with Eric Raymonds essay: Ethics from the Barrel of a Gun, which, no matter what you think of guns themselves, discusses several universal truths. First, the fact that in the end, no matter what your predilections, strengths, and weaknesses are, it all comes down to your choices – and no-one else’s. Circumstances can inform or skew your choices, but in the end, it’s your decision to act, or not.
A second is that choices cannot simply be undone. Time’s arrow runs in only one direction, and any action, once taken, is permanent. The best that you can do in most cases is expend additional effort to counteract the consequences of the original decision or action. This is important because it applies to not only large, obvious actions, like pulling a trigger, but to small ones without immediately visible consequences: Eating a slice of cake probably won’t harm you (diabetics may beg to differ), but a person complaining about their weight who has a dessert every night is making a series of small decisions that in the end add up to weight gain. 
Thirdly – the universe does not care about your motives. It doesn’t care if you want to be thin, fat, famous, a writer, an actor, and engineer, or bum. As I said earlier, whether or not you become these things depends on what you choices you make every time you reach a decision point. It depends on what you do when other, easier alternatives may present themselves.
“You are who you decide to be.” Not who you want to be, not who you say you are. Who you decide to be. It’s a great truth, but most people forget that this is an ongoing and constant decision, at every turn that other options present themselves.
And as Steve Barnes reminds us: actions speak far louder than words.
Just what are you going to do about it?

Branding

One thing I have not seen much of in discussions of the ongoing tablet/phone wars if the issue of branding.

In some ways, even with their open platform, Android is like Microsoft. I do not say this lightly, but from the standpoint of the consumer experience in shopping for phones. Most of the clients I run into, when looking for phone are either looking for an iPhone, or they’re looking for an ‘Android’ – and want to know which make and model is the best.

Sure, some want, specifically, a “droid” or “htc” – but for the most part, even those who are aware of them due to the many commercials care less about a specific phone maker than whether or not the phone runs Android, and what features are available on any specific handset.

This is at first blush analogous to the situation with PC’s in the late 90’s where, outside of the Mac camp, everything ran windows, and manufacturers had to really struggle to differentiate themselves from a cheap white-box computer bought at the local computer shop. The manufacturers can’t compete much on features, some models do try to compete on build, but mostly the handset makers try to compete by what “useful” changes they can make to the UI.

The carriers, of course, are still trying to dictate what people can and cannot do on their networks.

I’m not sure if they are succeeding. Because of several key differences in the phone market, the gradual erosion of the handset makers, but more importantly, the phone carriers ability to dictate what features will be available, is a good thing for consumers. And we are already seeing signs that, between the iPhone and the Android, the wireless carriers are losing their ability to dictate terms to the handset makers.

Interesting times, as the phone companies struggle to stay relevant as more than just a commodity connection to the world, and the handset makers struggle to stay relevant in a world where Blackberry is waning, and most of the mindshare belongs to Apple and Google.

OSX 10.7 “Lion” – Not Quite Linux on the Desktop. Yet…..

Courtesy of the guys at Minimal Mac, I took a look at the new information available on OSX 10.7, aka “Lion.”

There are three features that interest me here that I’ll discuss, outside of the “mission control” revamp to finding your open windows. All three features, at first glance, appear to be opaque to non-geeks, yet, like Time Machine, I see them at least two of them becoming nearly indispensable, with the third a huge boost to smaller businesses. 

The first is “Auto Save.” If I understand the verbiage here, Lion will get automated saving of open documents without you ever having to remember to do it yourself. Say goodbye to working on something for 30 minutes or an hour, and losing it all in a software crash, because the computer will take care of it for everything you have open, not just the few programs that explicitly go to the trouble of auto-saving. It’s unclear if this is a feature that software will have to deliberately allow use of, or if any and all programs inherit this ability.

The second is “Versions.” Sortof like Time machine for individual documents, the OS will now keep all previous iterations of a document that you can flip back to.

The last is the fact that there will no longer be a separate “Server” version of the OS. It’s unclear at this time if the license will be unlimited, but from now on, the server administration panels will just be a more advanced set of options for every Mac running OSX 10.7.

The overall impact of this is as follows. Apple is making sure that at a system level, just like Time Machine made backups transparent for the standard home user, that the computer will also act to protect the integrity of your work no matter where you are doing it. 

They are also expanding on the concept they started with the Mac Mini “servers” pre-loaded with OSX server. Even before that plenty of companies (like Delicious Monster, the makers of the Delicious Library book/media inventory app) had already settled on using several cheap Mac Minis as servers because you could lose one or two and still end up ahead compared to the cost of a full XServe. Now, any mac can be set up with as many, or few, server features that you need without paying a premium for a separate OS.

In some ways, this reminds me of the ongoing quetion on when Linux will be popular on the mainstream desktop. One highlight of the free-to-install Linux OS’s has always been the ability to install any feature from basic user programs to the most complex web and network software without having to obtain a separate version for the more advanced features. You just install and setup the features you want. 

Now, that’s going to be true of the Mac. From iPhoto to office user administration, and everything in between.

I do wish they had some form of rack-mount hardware in place, but that’s not a necessity for the typical home or small office user.

Interesting times.

Reading

Aside from my work, and studying that I’m doing, I try to set a little time aside each day to simply read, for pleasure’s sake. Even if only for a few minutes. Right now, I’m at the beginning of Neal Stephenson’s Cryptonomicon

Neal is an incredibly geeky and clever writer, and I can almost feel the delight at the wordplay he employs.

Bluntly, he is one of the very, very few authors who I appreciate as much for their ability to turn prose into poetry as I do for their ability to tell a story. Dan Simmons, Gene Wolfe, Cormac McCarthy are the others.

I don’t read empty style, so you won’t see me recommend someone with no substance just because they put a lot of effort into style.

 

Priorities – Being Personally “Busy”

Hand in hand with my other post on priorities is the inherent waffling in telling yourself you’re too busy. 

What you choose to do, moment to moment, inherently defines what your priorities are. Period. If you don’t have time or money to do everything that needs to be done within a given time frame or budget, then you need to figure out which of those you’re going to drop or push off until later.

You can tell yourself all you want that you wish to learn to play an instrument, but if you watch TV or read instead of making 15-30 minutes a day, 4-5 days a week, minimum, available to practice, you will never gain proficiency.

You can tell yourself that you wish to be more fit, but if you sit around all day in front of a TV or monitor and don’t do something every day that makes you use your body’s strength and balance, then build up to do more and more, then your muscles will be just as flabby as they were the entire time you’ve been sitting on your butt beforehand.

You can say you want to lose weight, but if your choice every meal, or even every day is to down a bowl of ice cream, a cake, or a few cookies, instead of making them an occasional treat, or you constantly load up on empty calories, then you will gain weight.

You can “want” to learn to program, or write, or draw, or whatever, but if you go play darts at the bar and don’t take the time to practice writing, drawing, etc., how badly can you really, really say you want to do learn those skills?

There’s nothing wrong with watching movies or TV. I love to read, and it’s a valuable life skill as well as a form of entertainment. There’s nothing wrong with spending time with friends, playing darts, drinking beer, or having a huge dessert every once in a while. Just be honest with yourself.

If you look back at the week, and see that you haven’t spent some time every night working on the things you supposedly want to do, because you decided to do something else at every “what to do” decision point for the next half hour, then it’s obvious what your priorities were, eh?