Recent updates in 'Geek'

5 Tips on Working from Home

It’s been about 6 months since I was kicked out of my lovely cubicle and forced to work from home. The reasons for this are obscure and really not worth sharing, but suffice it to say I was initially a bit ambivalent about this turn of events. Not that I didn’t look forward to working from home, but there are some negatives that I’d already experienced in past bouts of this kinda thing. Nonetheless, 6 months later I think I’m finally getting the hang of it. Here’s some tips that might help others adjust as well.

1. Don’t expect to get more done. You won’t, at least not at first. Sure you won’t have as many idiotic conversations about what was on TV last night, but you will have many more distractions then you are used to and these will get to you if you’re not ready for them. So until you know what you’re reaction will be, you would do well to stay away from TV’s, social networking sites and other potential wastes of time. Eventually, you’ll be able to handle these in small quantities but not at first. And keep in mind that those people in the office who constantly interrupted you in person will (unfortunately) not forget you exist. They’ll just interrupt you by phone and email instead. Eventually, you will get more done, but you’ll have to use the same strategies you would have used at work to make sure this happens – turn off the phone, stop checking email.

2. Give in and do some of the crap your commuting spouse is expecting you to do while you’re at home. Yes, you’re supposed to be working during the day while he/she is at their ugly office. It doesn’t matter. They will still expect you to put a wash on or do the dishes and simply will not understand how you could possibly be so busy that you couldn’t have taken a 10 minute break to do this. No matter how much you try to make them understand. They especially will not understand why you would not want to do put on a wash on your 10 minute break. Just do it. You’ll be happier and they will think positive thoughts about you (or at least not negative ones).

3. Go into the office every once in a while. But when you do this, put on clothes. Decent clothes. Not the beer and coffee stained T-shirt you’ve been wearing all week. And not the smelly Tevas. You want them to remember you still exist but in a positive way, not think that you’re a slack prick sitting at home in their underwear all day. Even if you are, you need to manage your image a little here. It’s important.

4. Don’t drink beer all day. Yes, this one seems obvious, but believe me it can be a productivity sucker… But seriously, when talking to your commuting co-workers, don’t even joke about all the wonderful things you can now do from home that they can’t do in the cube-farm. They’ll hate you and seek to kill you. When they call and ask if they’re interrupting anything don’t tell them you were just sitting on the back porch having a drink and gazing at the sky. They hate that shit. And, when they complain about the traffic they hit coming in that morning, resist the urge to jokingly commiserate and say the traffic heading up the stairs from your kitchen to your office was deadly. They will not find this anywhere near as amusing as you do.

5. Work like you want to work. This one is harder than it seems and takes some practice. Some people advise home workers to get all dressed as if going to work and to set aside a permanent office area to work from. The concept is you’ll be able to make the mental switch from home to work properly this way. Fuck that. Don’t do it. Work however you want to work, and in whatever way you can get your stuff done most effectively. You are free of all that other office convention crap, why would you try to keep living that way? If you want to work in your underwear go ahead (except if you’ll be doing video chats/conferences, but even then you rarely need the pants). If you want to blast bad 80’s metal out your speakers while you work, do it. Who cares? It’s no longer about what other people think is best, it’s about what works best for you. And keep in mind it can change on a daily basis. Some days skip the breakfast and the shower and just jump right in for a couple of hours. Some days work on your back deck if you want. Work at the kitchen table. Take calls on the toilet. Wear a kilt. Or a sun dress. Or your Pjs. Whatever it is that works for you (and doesn’t hurt others), do it. Just remember to get something done or they’ll eventually realize how much you suck at working from home…

Style

I’m not a designer by profession (but I play one on TV?). Nonetheless, I am painfully aware of how important it is in my field. Design (good and otherwise) touches on the majority of what I do professionally in one way or another. Developing successful software products for my particular industry requires an acute awareness of the user and designs that are strictly tailored towards their needs. Unfortunately, more often than not, what we produce has a design that either has very little thought applied to it, or strongly refers to the engineering team’s ideas of what a good user interface should look like (which is usually the look of their favorite geek tool at the time). Either way not much in the way of user-centered design is done.

Trying to be better at what I do, I’ve gotten a bit obsessed lately about educating myself on basic design concepts and have been browsing a lot of design-focused sites out there. As such, I’ve had Eric Karjaluoto’s article Fuck style on his website ideasonideas flagged and open in a tab in NetNewsWire for months now waiting to be read. This should be seen as a compliment, as I knew on skimming that this was a post I wanted to spend more time with…

Eric’s target is adherence and preference for style, particularly the style-du-jour, over focused user-centered design:

“This season we have “glowy” vector/bitmap collages and rather cute hand-drawn patterns. The following season will inevitably bring something equally novel on first sight, which we will quickly tire of as we are inundated by it. In the pre-web world, things rolled-out more slowly, and as such didn’t hit with the same force; however, better distribution systems allow this eye-candy to be dispersed rapidly. As soon as a particular style is hot, legions of designers reverse-engineer the treatment, and imitate it until it’s everywhere.

The challenge here is that as we are bombarded by these styles, designers, by their own accord and that of their clients and peers, gravitate towards reiterating whatever the style-du-jour happens to be. (Think of the swoosh logos of the late 1990s.) It’s easy to do, the pay-off is immediate, and for a short while, one’s portfolio seems deceptively strong. Most times though, this work is void of the research, strategy, and logic that are necessary to do something effective. As a result, it’s in fact a big pile of shiny bullshit.”

What drew me to this article is not that I have a lot of experience with the problem he describes. Though I’ve seen what he describes, I’m more likely to see a total lack of design input into a product than I am overly stylized design. The companies competing in my industry are by and large dominated by R&D, engineering and scientists (and of course the Finance people). These are the groups that come up with the product designs and this, of course, has the results you would expect. Even when external design companies are hired, generally the proposals for changes and improvements they make are very low on the list of priorities. Only slowly are design concepts making their way into what we do. I’m still amazed at the blank looks when a visual design concept is brought up in the context of software development discussion. By in large, design on this level is something totally alien to them.

However, the issue Eric describes applies easily not just to design in the way he’s thinking of it, but to programming as well. In this case it’s the shiny new tool, language or methodology rather than the hottest visual effect. I can’t count the number of times I’ve had colleagues say “Why don’t you rewrite it in .net/Java/Python/etc…?” when told I was working on some legacy product or another. They don’t say this because they think there is something specific to be gained from using their current favorite tool, they just think it’s cooler.

Shiny new things always attract, whether they’re the latest programming library or the latest web animation technique. This is more reflected on the inside of the product than the outside in my industry, but you also frequently see it in the user interfaces coming out of these groups. New user interface controls are frequently seen where they make no sense. These get used because they were shiny and new and the programmer couldn’t resist their lure. Or MacOSX style buttons suddenly appear in XP UI’s, or windows animate for no real reason… Maybe it’s not that style-du-jour doesn’t apply, it’s just that the people doing the applying of the style are different.

“We have to get our collective heads out of the sand. Everything we do must be held to a higher-standard. Perhaps we have to see design less like art (which is how I fear it is still classified by many), and more like engineering. The data and ability to measure results exists. We simply have to put hard analysis ahead of our personal impulses. This is a great opportunity for us as designers to make a leap. In doing so, we can earn a seat at the table and provide the unique kind of reasoning that our practice can afford.”

I absolutely agree with this. Design (and designers) are classified as somewhat frivolous and “artistic” in the engineering cultures that dominate the industry where I work. And agreed, this does have to change and maybe the approach of tackling design problems more like engineering is the way to go. But I also take a look around and think the inverse of this is also true. Software development and engineering also need to be held to a higher standard. On many levels what we do needs to perhaps be less like engineering and more like design. But this should be the kind of design Eric advocates, not the design by geek we currently utilize. This is design focused on achieving the goal of making something the user really wants to use. That does what they need to do. And that does it well. Not focused on making something the designer or programmer thinks is cool – we have more than enough of that kind of design already.

Geeking out with Javascript (again)

Stayed up way too late going into full-bore geek mode over SquirrelFish, a new Javascript interpreter built into the latest builds of the WebKit and announced last night on Surfin’ Safari:

“SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation.”

Now if that doesn’t just make you wet, I don’t know what will… 🙂

Seriously though, Javascript was one of my first programming loves back when first introduced by Netscape (as LiveScript, they changed the name for marketing reasons). I wrote my first real code that solved a real and serious problem (needed more insults) using this new scripting language.

I then was able to parley this new found passion into a real job (strange but true) and escape the world of retail less than a year later. During that year from first crappy but useful Javascript program, I found my second love – Delphi (yes, still use it, still love it, you can’t make me stop). Soon, in my first programming job I was using both. First project: software for chemists to use a $150,000 automated combinatorial organic chemistry robotic pipetter. Written in Delphi with an embedded javascript interpreter (we used Microsoft’s JScript, the easiest to embed solution at the time).

Back to WebKit’s SquirrelFish Javascript interpreter… It is fast. And this has some nice implications for two things dear to me. One, this may help to extend the usefullness of my aging (3+ years) G4 Powerbook which is clearly beginning to struggle. It is frequently overheating and crapping out during regular usage of any combination of software that make use of the Webkit (ie MarsEdit, NetNewsWire, Safari, etc). Hopefully this will improve once this gets into regular official circulation. I already see an improvement using the newest Webkit build for my browsing instead of plain vanilla Safari 3.1. Second, this is inevitably going to make it into the iPhone, which gives us some potential for speed and battery-life improvements.

(Via Rands on Twitter.)

‘Lying for Jesus?’

Lying for Jesus? is Richard Dawkins’ review of what appears to be a hilariously stupid and somewhat fraudulently produced movie titled “Expelled: No Intelligence Allowed”, narrated by Ben Stein:

“The whole tone of the film is whiny, paranoid — pathetic really. The narrator is somebody called Ben Stein. I had not heard of him, but apparently he is well known to Americans, for it is hard to see why else he would have been chosen to front the film. He certainly can’t have been chosen for his knowledge of science, nor his powers of logical reasoning, nor his box office appeal (heavens, no), and his speaking voice is an irritating, nasal drawl, innocent of charm and of consonants. I suppose that makes it a good voice for conveying the whingeing paranoia that I referred to, so maybe that was qualification enough. “

Many more reviews of the movie and additional news coverage of the bumbling production company behind it can be found at the site ExpelledExposed. Read on.

Lightroom 1.4.1 update released

News of Lightroom update (take 2) at Lightroom Journal: Lightroom 1.4.1 and Camera Raw 4.4.1.

Lightroom 2 beta hits

News late last night that the Lightroom 2 beta is now available.

The Lightroom Beta is available at the Adobe labs site. You need to be an existing 1.0 customer or have one invite you to the beta to try it out. Installing now…

Already a good overview of what’s new at Lightroom News.

Tentacle Sex

Found a detailed description of giant squid sex mechanics from Pharyngula back in 2006. Strangely, just as I was muttering about this (and the hit’s on my link to the more recent “Giant Squid has a penis” video getting most outbound links on this site), squid mating rituals were featured on ABC Nightly News. Having a very squid day.

Monitor Calibration

There’s a good quick article on monitor calibration and color managment by James Duncan Davidson at O’Reilly’s Inside Lightroom site – Monitor Calibration Cheat Sheet.

I’ve got to get better at this, but my results are hit and miss (as evidenced by the shitty prints I am frequently tossing or giving to my daughter to draw on). Partly this is because I like to experiment (with papers, inks, settings), but also because I tend not to have the time to follow through and keep my resolution to calibrate regularly. The Huey Pro I have tries to remind me, but I don’t keep it plugged in and thus tend to turn off it’s nagging warnings…

Could there be a better headline?

The giant squid has a penis.

(Via Pharyngula.)

iPhone SDK apps and background processes

Alright, first, this subject has been covered to the point of being beaten to a pulp all over the web. I won’t repeat it all but I would recommend John Gruber’s rather even-handed posts on the matter The Flip Side of the Multitasking Argument and One App at a Time for the full background and arguments.

Though I see the concerns that other’s have, I simply do not care. It doesn’t effect me. This is partially just my own selfish churlishness as I have no pet projects that require anything that’s missing from the current incarnation of the SDK. My crappy projects will work just fine…

However, it’s also partially because after 13 years of “professionally” programming I’m used to constraints. The business I’m in can be more defined by the constraints than the opportunities. You learn to live with it. I’m so used to hearing the phrase “You can’t do that” (in a variety of interesting accents) that it really has virtually no impact now. This phrase just means I need to modify my approach to solving whatever problem I’m working on, find a different approach or that I need to sell my current approach better to those saying no… This applies to hardware and software interfaces where the party saying “no” is the vendor of those interfaces and it applies to the VP down the hall. The “no” can have good reason or it can just be a result of lack of thought on the other side. Either way, it tends to serve simply to drive more creativity at solving the problem.

There’s already a large community of iPhone developers that won’t take “no” for an answer, thus the large hacking community. I’m not likely to join them (just don’t have the time), but I appreciate and applaud their efforts. For my part, I’m sure the SDK will evolve and respond to developers needs like every other SDK ever published has.

A common refrain from a former boss was “it is what it is” – meaning that there was no sense in complaining about how much “it” may have sucked, we just had to make it work. And we always did…