Posts

A Clean Slate

Image
Code Slate started here in 2007 as a blog about writing software. In 2026 it became a company: Code Slate LLC, a small independent software studio in Washington State. We build mobile apps for iPhone, with an eye for simple, playful ideas done well. Our first app, coming soon, turns a crowd’s phones into a light show that flashes in time with the music. The original blog posts are still here below, for anyone who remembers them. Questions or partnership ideas: jim@codeslate.com

handling layoffs the star trek way

"Here's your new tunic, ensign." "Um, sir, it's red..." "Report to the away team tomorrow morning."

survivor answers

[By popular request, here are the questions to the answers in this post .] 1. Why are manhole covers round? 2. There are three switches in one room and one light bulb in another. How can you tell which switch controls the bulb if you can only make one trip from the switch room to the bulb room? 3. If a plane crashes right on the border of the US and Canada, in which country would you bury the survivors? 4. You have two fuses which burn unevenly (not at a constant rate). You do know that it takes one minute for each fuse to burn completely when lit at one end. How do you measure 45 seconds? 5. You have four people (A, B, C & D) who have to cross a bridge. One or two can cross at once and they travel at the speed of the slower person. There's one flashlight which is needed to cross the bridge. A takes one minute, B takes two minutes, C takes five minutes and D takes ten minutes to cross. How do you get all of the people across in 17 minutes? 6. How far apart are the hands of a cl...

mr. biteme, of the nantucket bitemes?

I was helping my stepfather install the new version of real player (yeah, I know) because he absolutely had to play some ra files. At one point - and apparently I wasn't aware of this technical limitation in CODECs - it's critical that Real Networks have his e-mail address in order to play an audio file. Of course, I entered biteme@no.com . It said that address was in use. So I changed it to biteme@noway.com . And t hat address also was in use. Finally I added a bunch of random characters to the domain and got through. You think maybe Real Networks could figure out that people don't really want to give out their e-mail just to listen to some bird calls?

idiotic ui choices

Imagine if you will a website, belonging to a bank. As part of their new security policy they give you a series of questions for which you are supposed to provide the answer. One of these questions asks for a name of a particular family member. Which I enter. And the website tells me my answer must be 4 characters long. But the name isn't. So the right answer to the question violates the input requirements. What am I supposed to do? Make up something longer (I was thinking " biteme " might be a good choice)? Then I won't be able to remember it. Bad user interfaces (particularly on the web) make me want to get a job as a fishing guide or something.

you don't bury survivors

(Overheard at a recent interview:) So, Jeremy, tell me a little about yourself. Because they'll roll and they can't fall down the hole. And because manholes are round. Um, okay, how about your most recent project? Turn on two switches, wait a while and turn one off. If the bulb is on, it's the one left on. If the bulb is off and warm, it was the one you switched off. Otherwise it's the one you didn't touch. How big was the team you were on? You don't bury survivors. Uh, what was your contribution to the team? Light both ends of fuse one and one end of fuse two. When fuse one burns out, light the other end of fuse two. How would you deal with adding a feature to a late project? A and B cross, A comes back, C and D cross, B comes back, A and B cross. How would you handle a conflict between coworkers? They're seven and a half degrees apart. What programming languages are you most comfortable with? Sometimes I'm too much of a perfectionist and I expect too m...

welcome to code slate (or is that code's late?)

I kind of like the ambiguity in the the blog name (and domain). If you read it as "code slate", it's about writing software on a clean slate. If you read it as "code's late", well, that's also about writing software. So here's the first post - the post which nobody will read since the blog is brand spanking sparkly new. Well, somebody might (hi Mom!). Along with the usual funny pictures and random thoughts, I'm planning on writing about how to make excellent software. What's excellent software? Well, it's small, fast, intuitive, has an easy user interface, is robust, has beautiful code. It's trustworthy, helpful, friendly, courteous, obedient and cheerful. Yes, excellent software is like a boy scout, but generally with fewer fart jokes. I'll be writing about coding and user interface design (for which I have a lot of experience). I'll also sometimes write about marketing and the state of the software industry (for which I have...