Domain: fogcreek.com
Stories and comments across the archive that link to fogcreek.com.
Comments · 91
-
I do not pay much attention to Joel Spolsky
I do not pay much attention to Joel Spolsky because he seems to have a poor understanding of the most important trend in software today: the open source revolution (OSR). He rarely writes anything positive about OS (or, at least as of 18 months ago, he rarely did so), and his CMS software, CityDesk, is not open source software. Open source tends to improve more rapidly than proprietary software. If Joel understood that simple fact (and he does not), then he would release his software under an open source license. And he would move to Linux, abandoning M$ Windows.
Furthermore, Joel's "technical interview questions" are less than optimal. If you want to assess a prospective employee's intelligence, the first questions that you ask should be along these lines: "How long have you been using Linux or *BSD? How long have you been using Apache, Tomcat, Zope, mod_perl, PHP, gcc, etc.? What is the difference between TCP and UDP? What are the most salient differences between Linux distributions these days? Why do you use your particular distribution (of Linux, *BSD, etc.)? What do you know about package management?"
Why do people who have such a poor understanding of the OSR (e.g., Joel, Steve Jobs) attract such attention, nay, adoration, from Slashdor readers? I simply do not understand it.
-
I do not pay much attention to Joel Spolsky
I do not pay much attention to Joel Spolsky because he seems to have a poor understanding of the most important trend in software today: the open source revolution (OSR). He rarely writes anything positive about OS (or, at least as of 18 months ago, he rarely did so), and his CMS software, CityDesk, is not open source software. Open source tends to improve more rapidly than proprietary software. If Joel understood that simple fact (and he does not), then he would release his software under an open source license. And he would move to Linux, abandoning M$ Windows.
Furthermore, Joel's "technical interview questions" are less than optimal. If you want to assess a prospective employee's intelligence, the first questions that you ask should be along these lines: "How long have you been using Linux or *BSD? How long have you been using Apache, Tomcat, Zope, mod_perl, PHP, gcc, etc.? What is the difference between TCP and UDP? What are the most salient differences between Linux distributions these days? Why do you use your particular distribution (of Linux, *BSD, etc.)? What do you know about package management?"
Why do people who have such a poor understanding of the OSR (e.g., Joel, Steve Jobs) attract such attention, nay, adoration, from Slashdor readers? I simply do not understand it.
-
Open Source Citydesk?
Does any of you guys know of something like http://www.fogcreek.com/CityDesk/ for linux?
-
Re:Old news
indeed.
here's a blog about it.
It's all true - I was alerted to this by a developer friend (hi, Peter!) and we went 'Ooooh! That's fun!'
So apologies for creeping you out. But anything involving natural logarithms and roadside advertising is too good to pass up. No sign of Slashdot taking an interest, though.
Rupert Goodwins, technology editor, ZDNet UK
Friday, July 09, 2004
-
Joel Spolsky's view
Joel Spolsky (of Joel On Software) published his views on software pricing a little while ago too. Worth a look to see how someone else thinks about the topic.
-
Pragmatic Programmer series
You need to buy a copy of the Pragmatic Programmer's starter kit
The third book in the series is about project automation, where they teach you how to repeat in a controlled manner all the stuff you learned in the first two books. The basics:
1) Write unit tests before writing your methods
2) Your unit tests should follow the inheritance tree of the classes under test to avoid duplicate test code.
3) Write a vertical "slice" of your application first (all the layers, none of the functionality). This will prove out communications and give the QA people something to work with while you flesh out the app.
4) Build & unit test nightly. Any build or unit-test errors need to be fixed the next day, and no later.
5) Release to QA as often as things get semi-stable, and when they have time to test.
6) Try not to ship with any known bugs. How do you know if you've got bugs? Your unit tests, integration tests, QA tools, and end-users tell you via a bug-tracking tool like BugZilla or FogBugz
Do we do all this at my current employer? No. But we're working towards it.
Chip H. -
not a chanceMS will just prefer to start from scratch
not if Joel is any indication of the MS mindset.
1. Joel on Software - In Defense of Not-Invented-Here Syndrome
2. The Joel on Software Forum - In Defense of Not-Invented-Here
Now if they started a new team like they have with
.NET and get an outsider to lead it, then I'd believe it. -
An atmosphere for great coding
If you could create your perfect office how would it work?
I'm a fan of Joel Spolsky's writings (see Joel on Software), so I was fascinated to read about the office space he has designed at his company, Fog Creek Software.
I like what he's built here because the emphasis is not just on catering to developers, but providing an atmosphere where great coding can thrive. -
Resumé Help
"And with the economy ramping up, I might have a shot at a new job!"I think we're ALL looking forward to that shift in the tides.
:-)"It all boils down the the fact that I can't seem to write a decent resume to save my life."
Seriously, check out some resumé services. Short of the "Never Lie" Rule, everything else is just formatting. We devour folks who claim C++ as an area of expertise but who then can't scribble down a simple class on a scrap of paper during the interview.
Here's a useful diatribe on resumés. That Joel guy gets a bit zealous at times, but often has a decent perspective to consider.
Here's another discussion on resumés. Same Joel guy, but it's a forum on his company's site. Just the tip of the proverbial iceberg.
Best of luck!
-
Re:well.. not completely true
-
CityDesk
You can also manage a site quite nicely with CityDesk, by Fog Creek. The owner, Joel Spolsky, is an interesting guy who has been the subject of some debate on Slashdot over the years.
Whatever your opinion of him, he makes good software. -
"The Simpsons" outsourcedI'm not as traumatized by the prospect of a Simpson-less world but it is interesting to see the various reactions to the labor issues and the attitudes they reflect. Some of the animation is already source to a Korean company and this discussion Another (bad) Analogy for Outsourcing uses it to fuel some contstrutive thinking...
But for fun, let's pretend that the voices can be outsourced and while you formulate your analagous retort enjoy this spoof.
-
Software that makes you cry.
-
A thread from joelonsoftware...
...on starting a company is right here.
Lots of similar ideas there, including a few rants against VCs and incubators. -
Re:We saved the best for last.
Joel, as I'm sure you know, was one of the technical guys behind VBA in Excel, along with some other fairly big projects. He apparently made enough money from these gigs that he went off and started his own company, initially focusing on consulting (at the most unfortunate time to be in consulting...), and then moving into shrink wrap software. Apparently they're doing okay as they recently moved into a pretty impressive new office, still in swanky (and expensive) New York City.
Joel is a big advocate of treating developers well, and is respected for generally being pragmatic and insightful, with a humorous writing style that is informative while remaining entertaining. On the flip side, a couple of his recent posts have been blatant quid-pro-quos with some friends of his, and he's selling out a bit with the Programmer's Paradise gig.
-
examples of startups to look at
a good read for any startups is Joel Spolsky's journey in building his company from scratch. Put aside your predjudices about his software origins or the market he is aiming at, but make sure you read and digest some of the ideas.
It's a cheap way to read how he's organised his company from 1999 to the present.
-
examples of startups to look at
a good read for any startups is Joel Spolsky's journey in building his company from scratch. Put aside your predjudices about his software origins or the market he is aiming at, but make sure you read and digest some of the ideas.
It's a cheap way to read how he's organised his company from 1999 to the present.
-
Re:DIYI agree here.
For someone able to program, putting a simple content management system (which does exactly what is needed and nothing more) is not that hard. I'd expect that to take at most three days with something like PHP, at least if you are going to host the site on a server with a decent RDBMS.
The trouble is that while it's easy to create a personalized system, is much harder to create an universal one. Most of the systems that would have the set of features you need, also have everything else under the sun, which usually makes the system more complicated to use.
Actually, I've been missing a simple, generic system with some kind of plug-in style system. The trouble is, the interface to add/write plug-ins whould have to be simple enough.
The problem with PHPNuke and the likes is that it's often easier to write a custom system than setup a nuke-system.
I've tried creating a platform a couple of times, mostly with PHP. The most successful (for my personal use, not really suitable for releasing) was a fully custom HTTP server written in Ruby. (ofcourse I had apache as proxy and static-content server, althought the server could handle all common web-browsers directly as well).
This allowed an architecture where I could write a simple class everytime I needed a new feature. No API interfacing glue, nothing, just a class that has methods for some attributes like titlebar and another which would return the actual page, optionally a POST handler.
I'd actually love to work on something like this, but unfortunately I have no server available these days where I could have any dynamic content mechanism, let alone an RDBMS.
Which makes me wonder, are there any offline CMS in open source, that would be worth trying. Fog Creek has Citydesk, but that's commercial and more importantly, doesn't run on Linux.
-
CityDesk
Joel on Software's company, FogCreek, makes a very friendly, easy to use content mgmt software package, named CityDesk.
Very intuitive and easy to use...yet it is pretty powerful. Good for novice and knowledgeable users. -
CityDesk
Joel on Software's company, FogCreek, makes a very friendly, easy to use content mgmt software package, named CityDesk.
Very intuitive and easy to use...yet it is pretty powerful. Good for novice and knowledgeable users. -
CityDesk
You should take a look at Fog Creek's CityDesk. Their "starter edition" is free and lets you publish sites of up to 50 pages.
CityDesk -
Re:Unnecessary...
There are other definitions of sarcasm there jerk.
-
Re:Why build your own Saturn?
There is a problem with Saturns, as was discussed on Joel on Software last week. It made me rethink my purchase.
BTW: Happy Halloween! -
Re:Cross platform applications.I don't expect a lot of people on Slashrot to admit since Apple can do no wrong (now) but check out this thread on JoS.
I'm not the only one who's noticed it.
Yes, this is version 1, hopefully it will get better. Speaking from my own personal experience, I noticed that on my PC with every new release the OS gets more configurable and there is more support from new developers and I can run all sorts of new hardware. On my Mac, I am always stuck with the same old hardware and limited software selection that Apple says I should use. Anyone else notice this?
-
Another option...
Another interesting option would be to use deposits rather than payments - you'd lose your deposit if the mail was unsolicited. That way sending mail is free unless it shouldn't have been sent, and if the deposit was of a big enough size spamming would no longer be profitable. I started a discussion about this a few days ago here
-
Fogbugz is excellent.
-
Re:Nice office... but who is going to pay for this
But it's not that expensive. He write that the price per developer is 700$/Month.
According to Joel the $700 figure is for a fully staffed office. Since Joel coyly avoids more detail, we can only guess what his current cost is. FogCreek is a young company. Assuming that their new offices are 50% full (which I don't get the impression they are), that rent-per-head figure is more like $1400/month at the moment. And who knows how long it'll be before their business justifies hiring more people to fill up those empty offices.
Well, if the snazzy digs don't motivate them, then their bills will -- or at least it'll motivate the person who has to pay the rent, i.e. Joel, to crack the whip harder!
:-) -
The man knows his html...
Come on, the timecube guy is obviously a master at modern UI deign and html layout.
:-)
Seriously though, here are some sites whose design I like:
Sweetcode
Mathworld
openrbl.org
perldoc
Paul Borke's website
the Joel On Software forums
the Tech Report (a debatable choice, but the best of its type)
Dmitry's Design Lab
-
Re:Possible Enhancements
You should read this. It may not seem directly related at first, but it is.
The root problem is unless you can measure EXACTLY what you are trying to measure, people will optimize to improve their standing with the measurement, rather then real quality.
Your proposed optimizations would cause someone to create two accounts, one that they use to completely trash a page, and another to "correct" it, boosting the second account's rating at the expense of the first. (You can't force people to do pages they don't want to do, or you'll drop participation through the floor.)
I know you mean well, but it is often better just to leave these statistics out completely, and deal with the fact that you are only attracting serious people to the project who will do it without the carrot of being in "first place" over everybody else on the stats page. -
Ask Joel
I can't offer input here, but I can suggest you ask in forum for the Joel on Software software management discussion/article site. Good stuff there, good people.
-
Static page generators
Usually, when you have to present your ideas on the web you do not need all those complicated content management systems. Ususually you want to present just idea in well structured manner without any fancy features.
Currently there are 2 tools that allow you to do generate static web sites while defining only structure of web site and content:
Qixite (Open source, Linux & Windows): http://qixite.sourceforge.net
and
CityDesk (Commercial, Windows only):
http://www.fogcreek.com/CityDesk
These tools are usually enough, and you do not need to set anything up on the server side because these programs generate static html files. -
Other uses: Help files (CHM)
We use our own Windows-based system "zeta producer" (german) for other things like e.g. creation of Windows Help files.
Beside City Desk, I don't know any other mid-/small-sized CMS package that is NOT implemented as a browser based application, but as a full features desktop Windows application.
Is someone aware of other systems? -
CityDesk
CityDesk by our beloved Joel Spolsky seems like it may be powerful enough and quite easy to use (if it lives up to Joel's standards as he claims it does). I haven't tried it myself but you might want to look into it as it seems *much* cheaper than other content management software.
-
CityDesk...
..I'll admit, I've never used it, but just from reading about it, and knowing who the main architect is, it seems like a pretty decent product.
Check it out here :CityDesk -
Re:Given that he worked for MS, not very likely
Actually, although his company, FogCreek Software, sells proprietary software, they do provide the customer with a copy of the source-code for some (all?) of their products. It's not Open Source (and certainly not Free Software) but you can review the code yourself, fix bugs, etc...
http://www.joelonsoftware.com/articles/fog00000000 26.html -
Re:Is this good or bad?
-
Practice what you're preaching, Joel
Joel seems to be a strong advocate of code reuse and understands the stalwart value of "old code". Why then, does his comany, Fog Creek Software implement their own proprietary bug tracking system, "FogBugz" when there are perfectly awesome bug tracking systems out there, like Bugzilla?
-
Practice what you're preaching, Joel
Joel seems to be a strong advocate of code reuse and understands the stalwart value of "old code". Why then, does his comany, Fog Creek Software implement their own proprietary bug tracking system, "FogBugz" when there are perfectly awesome bug tracking systems out there, like Bugzilla?
-
To succeed in commercial software...Let me tell you a bit about the context of everything that I write at Joel On Software. Everything I say should only be taken as advice if your goal is to write (a) commercial (b) software (c) for lots of people that (d) succeeds, or at least has a pretty good chance of it. I run a tiny software company, Fog Creek Software, in a niche where Microsoft has (at least) two competing products. I'm not any happier about Microsoft's dominance than anyone else. I don't own Microsoft stock. On the other hand, I try to be as rational, logical, and non-religious about every decision I make because it's the only chance I have of succeeding.
Yes, it's true. If you make a major mistake, you get killed, often by Microsoft. Some people think it's a pretty sad state. I just think it's capitalism and evolution. Dodo birds are extinct, and so is Visicalc. I don't want to be extinct, so I try to learn from the mistakes of the companies that have tried to go up against Microsoft. It's easy for me because I was inside and I know something about the way R&D worked at Microsoft. I've tried to share many of these lessons on my site.
To succeed in commercial software you have to get beyond being shrill and angry about Microsoft. You have to be cool headed and smart and study the past and make the right decisions for your company, not the right decisions for some arbitrary sense of aesthetics (although of course I am as big a fan of clean documented code as anyone.)
Production code is not so pretty. Open source code is not so pretty. No real code is all that pretty. It takes time to study it, understand it, and read it, to understand how it got the way it is. The more widely the code is used, the more true that is. For Fog Creek's latest software product, CityDesk, we stayed up one night tracking down a bug that only happened on Chinese Windows, where asc(chr(x)) turned out not to be equal to x, an assumption we had been making. How many of you ever thought about getting your code to work on Chinese Windows? No matter how well that piece of code was designed, I'm sorry, I've been programming for 20 years and I never realized that asc(chr(x)) was not always equal to x on some platforms, and I designed it wrong, and until someone tried it on Chinese Windows, I never would have known. Now the code uses byte arrays instead of strings and doesn't have that problem. There's a nice comment in the code saying "use byte arrays instead of strings because of MBCS versions of Windows." The code now works perfectly, but the byte arrays are a little bit uglier than strings. If ten years from now somebody rewrites CityDesk from scratch, I'll guarantee you that 95% of the Windows programmers working today would make the same mistake again, and stay up all night again.
If a piece of your code is ugly and doesn't work, by all means, rewrite that piece. If it's ugly and works perfectly, you're wasting valuable hours rewriting it, time that could be spent doing something that will gain you market share. If you really have an undecipherable mess of spaghetti, 9 times out of 10 you're just being lazy about deciphering it because it seems like more fun to create it from scratch, but it's the ultimate in arrogance to think that your newly created from-scratch version is going to be all that great.
-
To succeed in commercial software...Let me tell you a bit about the context of everything that I write at Joel On Software. Everything I say should only be taken as advice if your goal is to write (a) commercial (b) software (c) for lots of people that (d) succeeds, or at least has a pretty good chance of it. I run a tiny software company, Fog Creek Software, in a niche where Microsoft has (at least) two competing products. I'm not any happier about Microsoft's dominance than anyone else. I don't own Microsoft stock. On the other hand, I try to be as rational, logical, and non-religious about every decision I make because it's the only chance I have of succeeding.
Yes, it's true. If you make a major mistake, you get killed, often by Microsoft. Some people think it's a pretty sad state. I just think it's capitalism and evolution. Dodo birds are extinct, and so is Visicalc. I don't want to be extinct, so I try to learn from the mistakes of the companies that have tried to go up against Microsoft. It's easy for me because I was inside and I know something about the way R&D worked at Microsoft. I've tried to share many of these lessons on my site.
To succeed in commercial software you have to get beyond being shrill and angry about Microsoft. You have to be cool headed and smart and study the past and make the right decisions for your company, not the right decisions for some arbitrary sense of aesthetics (although of course I am as big a fan of clean documented code as anyone.)
Production code is not so pretty. Open source code is not so pretty. No real code is all that pretty. It takes time to study it, understand it, and read it, to understand how it got the way it is. The more widely the code is used, the more true that is. For Fog Creek's latest software product, CityDesk, we stayed up one night tracking down a bug that only happened on Chinese Windows, where asc(chr(x)) turned out not to be equal to x, an assumption we had been making. How many of you ever thought about getting your code to work on Chinese Windows? No matter how well that piece of code was designed, I'm sorry, I've been programming for 20 years and I never realized that asc(chr(x)) was not always equal to x on some platforms, and I designed it wrong, and until someone tried it on Chinese Windows, I never would have known. Now the code uses byte arrays instead of strings and doesn't have that problem. There's a nice comment in the code saying "use byte arrays instead of strings because of MBCS versions of Windows." The code now works perfectly, but the byte arrays are a little bit uglier than strings. If ten years from now somebody rewrites CityDesk from scratch, I'll guarantee you that 95% of the Windows programmers working today would make the same mistake again, and stay up all night again.
If a piece of your code is ugly and doesn't work, by all means, rewrite that piece. If it's ugly and works perfectly, you're wasting valuable hours rewriting it, time that could be spent doing something that will gain you market share. If you really have an undecipherable mess of spaghetti, 9 times out of 10 you're just being lazy about deciphering it because it seems like more fun to create it from scratch, but it's the ultimate in arrogance to think that your newly created from-scratch version is going to be all that great.
-
Re:Use CVS -- See Joel on Software
If you're trying to get someone to move away from VSS, and are looking for more opinions on it (I haven't seen any actual *facts* yet, but there are plenty of opinions), a reasonably respected one would probably be Joel Spolsky's (from Joel on Software). He was the Microsoft "Program Manager" from VBA (the version of Visual Basic that Office uses for scripting).
Basically, MS doesn't use it internally - they don't trust it. Apparently they use a lot of their own stuff in development (for example -- Joel was on the Excel team, and they all used Excel for project planning, and added in project planning features, making it reasonably good for development planning. Here are the details). For NT (-> 2K -> XP) they used something called SLM, which was replaced by something else. Here's a USENIX paper on it.
His company has a bug tracking system ("FogBUGZ") too, and if you buy a site license ($1995) -- which covers the whole project team -- you get the source and are allowed to modify it and use your modified versions internally. See here for more info. It doesn't integrate with VSS, unfortunately
;-)