Quiet day. The weather is perfect. The southern sky is still filled with white dust.
I saw an old couple on the corner holding hands. They weren’t going anywhere, just standing outside looking at the sky, happy to be here.
Quiet day. The weather is perfect. The southern sky is still filled with white dust.
I saw an old couple on the corner holding hands. They weren’t going anywhere, just standing outside looking at the sky, happy to be here.
Michael and I tried to give blood, but the hospital had loud announcements on the PA saying “keep away from the hospital, please do not mill around outside.” Volunteers told us that the blood donation centers were overloaded anyway and we should come back tonight or tomorrow.
Up here on the Upper West Side, about 5 miles north of Ground Zero, I saw streams of people in business clothes walking home. I saw people planning to walk all the way up to the George Washington bridge and then across to New Jersey where they lived.
All mass transit was stopped completely. The streets were very quiet around here, there was very little traffic. Many streets were completely closed to traffic.
Friends in Brooklyn reported watching the buildings burn. Many people who lived in Brooklyn were stuck in Manhattan. We heard a few subways are running now. My friend Lisa had some business downtown today. When she got out of the subway, she saw all the chaos and went back down to the subway. She came to visit me uptown and is now trying to work her way home to Park Slope. (She made it. About half of the city’s subway lines are running.)
Jared (my boyfriend) is stuck in Connecticut for the night. He works there, in Old Greenwich, and all bridges into the city are closed, so he’s spending the night with a friend from work. I’m going out to dinner now with some friends. It looks like tomorrow the city will be completely shut down, too.
8:00pm I spoke to a policeman in a restaurant. He said that 400 policemen and firemen were killed when the buildings collapsed. They were in there rescuing people. He said he will always remember the screams he heard from trapped police over the radio.
(He also said that Israel was attacking Afghanistan. Police think the weirdest things.)
And You Thought You Had Source Control Problems
Ray Ozzie sent me a link to a presentation given by Mark Lucovsky, a developer at Microsoft, about the Windows NT development process.
29 million lines of code. Source code takes up 50 gigabytes. Build takes 8 hours on a 4 CPU machine. 1000 machines in the “stress test” farm.
No, they don’t use SourceSafe. But I don’t think CVS could handle it, either.
Ron Vogl writes:
Yeah, I used SLM in the old days. Given how devoted Microsoft is to eating your own dog food, the fact that there are still groups that don’t use SourceSafe says something about how bad that product must be.I did an internship at Microsoft in the summer of 1997, and at that time, Microsoft had two source-code control tools in use. Some groups did indeed use source-safe. The Outlook group, of which I was a temporary member, used an internal Microsoft tool called Source Library Manager, abbreviated SLM and pronounced either slim or slam depending on how you were feeling about it. SLM was command-line only, with a mix of SourceSafe- and CVS-style workings. From what I could gather from the interns in other groups, SourceSafe and SLM were used in roughly equal amounts.
… in which I respond to some interesting email I’ve gotten lately. All the incoming email has been edited for brevity.
Charles Lin writes:
I teach a C++ computer science course here at University of Maryland at College Park….
Presume you are the czar of University of Maryland Computer Science (you’ve just dreamed about this, haven’t you?), and say “things need to be changed — we need to teach computer science the right way”, what would you do? What do you think are the important things students need to learn if they are to become good C++ programmers.
Off of the top of my head, some of these topics are:
Dan Green writes:
I read sometime back that you were going shared sourced (for want of a better term) with FogBUGZ. I’m going to be wanting to do similar on a product of mine but I’m not sure how best to word the license. Would you mind sharing the FogBugz license, so that I can learn from it?
Sure. It’s here. I suggest you get a lawyer, though, to review your license. (If you have Errors and Omissions insurance, whatever the heck that is, you are probably required to do so).
Paul Wolpe writes:
I graduated from Carnegie Mellon in May and was happily planning on working for Loudcloud in New York City this fall. It seemed like the best of both worlds; I could work for a tech company and I wouldn’t need to live in the suburbs. Well, due to “unfavorable market conditions” I am now without a job and faced with what appears to be two options: go work for Microsoft in Redmond or work for some financial company in New York City. I have to choose between a great job in a not so great location or a great location with a not so great job. I am not asking for a job (but I would gladly accept if you are offering!). I want to find out if there are any interesting tech companies in New York (and even better if they are hiring). So far, I have found a total of maybe 3 companies, and that includes Fog Creek.
Oooo. Uh-oh. I have two pieces of bad news for ya. No, wait, three pieces. Number one: there aren’t that many technology companies where you can do R&D in New York City. Every local programmer I know complains all the time about how hard it is to get interesting software jobs that aren’t at a bank. That’s one of the reasons I created Fog Creek. Which brings us to bad news number two: Fog Creek is not hiring, because we can’t afford to right now, which is caused by the dot-com crash, which is bad news number three: there’s a bit of a recession going on right now, especially in the tech sector… which means that almost nobody is hiring.
But there is good news, which is that every programmer I know has some job. Maybe it’s not their dream job, but it pays the rent.
The good thing about working for Microsoft is that Microsoft is one company that really knows how to make software, and you’ll learn a lot that will help you wherever you go. And the good thing about living in New York City is, well, OK, I don’t have to explain that. I think in your place I would come to the city and spend some time hopping around, waiting for something interesting to show up. (Pay your dues at the banks and media companies like the rest of us!) Oh, and email me your resume anyway, you never know what might come up.
Gabriel Krupa writes:
I have been a fan of yours for a while and would very much like to start my own company, modeled after Fog Creek (on the other side of the country). Given the business climate lately, I’m hesitant to leave “subsistence programming” (and give it a go with my own savings) until I plan, scheme and “strategize” myself into a false sense of security. I understand the importance of leveraging work to generate money, lest I spend the rest of my life running a consulting firm. Unfortunately, it’s not easy to pay someone else’s salary from my margins unless they’re generating part of that revenue for the company– at least with my hourly rate. Thus, I’m still a company of one with less time than I’d like to devote to building the company.
This is where I get to the point. I’ve read your admissions of how much it takes to run Fog Creek on a monthly basis and that you’re making most of that through consulting. I’d like to find out about Fog Creek’s shrink-wrap strategy and results to date. If you’d rather not share this information, I understand.
For instance, I’d like to know:
- how much revenue you generate from FogBugz and expect from CityDesk
FogBUGZ is not yet at the point where it’s paying anybody’s salary, but it does cover virtually all of our non-salary expenses (rent, T1, etc) and then some. Which is nice. Yesterday we sold $5700 worth in one day. Whoo hoo! Your mileage may vary.
We expect CityDesk to have a much wider potential audience than FogBUGZ, so we’re hoping that once CityDesk hits its stride we won’t need any consulting revenue to support ourselves.
- what sort of growth you’ve seen and expect(ed) in sales
It’s probably too early to see a pattern, but there has been slow but steady growth as the word spreads. We are not doing any active marketing on FogBUGZ at this point, mainly because we want to conserve any marketing dollars we have for CityDesk.
Even without funding, we hope to be able to get to the point where we can demonstrate that (a) we’re profitable and secure and (b) x dollars spent on marketing results in x times y dollars in revenue. At this point, if y > 1, we can make a strong argument to raise money for marketing without giving up very much equity… or we can go slowly and simply reinvest internally.
- how you choose your product lines (e.g., why you chose to make FogBugz and CityDesk instead of other products (user demand and market conditions being roughly equal))
FogBUGZ was something we had, so it was a no-brainer to ship it: both to get some cash and to get some practice selling software. (And to get the people off our backs who kept asking us if they could buy it.) It has more than paid for its own R&D costs, so now it feels like one of those mystical things you hear about on late-night TV that you set up and get a nice check every month in exchange for doing nothing. (We do still plan several more major releases of FogBUGZ so it’s not exactly nothing but you get the idea).
CityDesk will fill a very major vacuum in the desktop software marketplace, it’s a great product, and everybody who’s seen it has said “I gotta get me one of those.” So we’re working day and night trying to get the beta out the door.
- if you feel your reputation and product quality are enough to gain market share in non-virgin markets (i.e., defect tracking) or what Fog Creek’s strategy is
There are about 1000 bug tracking packages on the market (from companies who are probably selling it for the same reason as we are — because they have it.) So we didn’t know if we would sell any copies of FogBUGZ. As it turns out, the FogBUGZ philosophy of painless bug tracking has hit a nerve and the product has exceeded our expectations and then some. People are also happy because we’re a small company that provides fanatical customer service… when you find a bug and call our toll-free number, you’ll speak to a programmer and probably get a bug fix shipped to you that day.
- whether or not you’re presently concentrating on non-consulting revenue
We’re trying to avoid taking new clients for a while, since we don’t actually need the money and would rather have CityDesk done right now. But this is something we reevaluate constantly.
Ted Graham Writes:
Since you are an ex-microsoftie, I have a question for you: does Microsoft use VSS for their projects? I can’t see how they would, it doesn’t seem to have the features needed to support multiple versions. I’m a consultant on a fairly large VC++ project on Win2K and we are about to make our first shipment to the end users. I’ve been looking for a way to do branching like I’m used to in PVCS, but not finding anything. It seems like it has labels available, but we can’t branch an individual file off and label the branch. Any ideas?
I can’t really speak for what Microsoft uses; I haven’t been there in years and SourceSafe didn’t exist when I was there. But I have heard only bad things about it. What I’ve heard from other programmers is that it’s not so strong in the data reliability department. Oops.
Do yourself a favor – use CVS like everyone else; it’s simple, reliable, ubiquitous, and rock-solid.
For today’s topic, I answered some interesting questions readers have sent recently.
“What do you think are the important things students need to learn if they are to become good C++ programmers?”
“I want to find out if there are any interesting tech companies in New York…”
“I’d like to find out about Fog Creek’s shrink-wrap strategy and results to date.”
“Does Microsoft use VSS for their projects?”
These and more… in today’s installment of Ask Joel
I was interviewed by WebWord.com: “If your software is going to be popular, you are going to have to deal with a million other things: writing manuals, creating good looking icons if you have a GUI, testing, recruiting good programmers, making a product that people want, usability testing, dealing with Norman the Cranky Tester, and about 100 other things that take up most of your time”
A study reported in the Journal of Experimental Psychology: Human Perception and Performance lends some credibility to my claim that software developers can’t multitask.
This study seems to be more concerned with rapid switching between two tasks, which they show incurs overhead. But I’ve noticed that almost universally, developers who have two major projects to work on, even if they alternate every other day, will not get as much done as if they do them sequentially. One thing I’ve seen time and time again is an entire team that is having trouble getting started on a new project after they’ve finished an old one. It can take weeks to get up to full-bore productivity on a new task again. The overhead of task switching can be huge.
Typically you see individual developers overloaded with two or more projects because of severe time pressure and understaffing. Sometimes I’ll come upon a software team that has a single developer “working” on three projects simultaneously.
“Task switching incurs overhead,” I say. “Why don’t you have Bob do these tasks one after the other, instead of switching off during the day?”
“Oh, we would never finish in time then. All three projects must be done within one month. Bob could never get them all done in one month if he did them one at a time.”
This just proves that the schedule is completely unrealistic. Despite the fact that the multitasking dramatically reduces productivity, they’re willing to do it because it obscures the schedule. It seems like each of those tasks takes about a month. Do them in sequence, and three months will elapse. Do them at the same time, and it’s possible to deceive yourself that only a month will elapse. (In reality, six months will elapse and one task won’t even get done.)
Firewalls…
More on firewalls: my latest idea is to buy an old Pentium 200 on ebay for $50, and use SmoothWall. Yeah, it’s not as fun as buying $2500 worth of Sonicwall equipment, but it’s sure going to be educational.
Firewalls
We need a new firewall / NAT / VPN box for the office. If you know about these and could recommend one, please email me. [Update: thanks to everyone who wrote in. I think we’re going with the SonicWall XPRS2. If you have any horrible experiences, please warn me!]
Telemarketing
Last week I got a call from MCI.
“Hi, this is your local phone company,” they lied. “We’d like to save you money.”
“Please take me off your list,” I responded.
“List? I didn’t put you on my list.”
Now I was getting angry. I thought the law here was that they had to take you off their list if you insisted. But they refused. I hung up on them.
That night, Jared told me that they are only required to respond if I use the exact words “please put me on your do-not-call list”. Apparently the telemarketers are now being trained that unless they hear this magic phrase word for word, they should keep calling you.
And call they did. Today, the same moron called me back. I told him the magic words: “Please put me on your do-not-call list.”
“Oh, OK,” he said. Same guy. So now I have proof that MCI actually has this insane policy, Jared is not just being paranoid.
Why do they want to call me if they know it makes me angry? What kind of company would do that? It can’t possibly help and can only hurt. If anyone has any insight into the messed up management process at this company that actually made them reach this decision, I’d love to hear it.
If you live in New York State and don’t like telemarketing calls, there is a web form you can fill out which makes it illegal for telemarketers to call you.
I filled it out today. According to the web site, the next “do not call” directory will be published October 1 and telemarketers have until November 1 to stop calling me, or they will be subject to a $2000 fine.
If enough people (and states) figure this out, maybe one day telemarketing will be worthless and nobody will bother any more.
I found a great resource for someone like me who knows how to design a software product and get it built, but doesn’t know the first thing about marketing it. Luckily I found Rick Chapman. We arranged for a quick book swap — I sent him a copy of UI for Programmers, and he sent me a copy of his book, The Product Marketing Handbook for Software. I read the whole book in one weekend. This book is fantastic. It’s the education you would receive if you captured a veteran of channel marketing and gave him a truth drug. Hours of nonstop, extremely useful info. What’s a SPIF? Do you need a UPC? How do you get into the channel? Should you bother? What kind of deals will you have to cut to get retailers to stock and promote your software? It’s a complete braindump covering just about everything you should know if you’re thinking of creating shrink-wrap software. Priceless.
There’s a web site that goes along with it called SoftwareMarketSolution.com (I know, that’s a mouthful.) Check it out, it’s the Joel On Software of marketing.