last updated:01 Mar 2004 14:37 UK time
Joel On Software Discussion Forum
JOS Statistics - Recent Comments
(Comments added for week ending Sun 29 Feb 2004) | View Other Weeks
YAED | Sun 29 Feb | snotnose
Yet another ethical dilemma. Ive been consulting for a company (startup, 8-10 people) for almost 3 months. Theyre about to put me on a 6 week project that is key to their success. I was approached last friday by an old boss, who is at a company I would Really Like To Work For (tm). Interview is Wednesday. Need is immediate. So. First off, Im currently paid by the hour, and Im looking at 60+ hour workweeks for 6 weeks (deadline is a trade show). I can deal with that, Im paid by the hour and if my car was a cat 8 of its lives would be history (and the car I need is about $18k, the G35 I want closer to $35k). Not to mention my hourly rate is better than the salary/benefits Ill (probably) be offered. Second, did I mention I really want to work for this company? They make the 10 best places to work list every year. I know several people there, they say its great. Ive spent some time there myself, looks sweet. Id have my own office. 10 of us would share a secretary (they arrange offices in pods, each pod has a secretary). Considering half my documentation time is just fighting with MSWord over crap like indentation and dammit, this drawing goes with this fn text so keep em together, this is great for productivity. Third, nothing is a given. I could botch the interview, or something could come up such that Im not offered the job. Or they make an offer lower than Im willing to take. I finished my last project friday, Im expecting the official can we hire you for 6 more weeks offer tomorrow (monday). There is no way I can put off my start date for the other company for 6 weeks. So, ahhh, what would you do?
Sun 29 Feb | The real Entrepreneur | Have you talked to your old Boss and asked if he could move up the interview to Monday or Tues? Have you talked to your old boss about this dilemma? If you clearly communicate that you are NOT trying to pressure him, but rather, that you'd like to not leave starutp in the lurch, he will hopefully appreciate your honesty and try to move quickly. If the old boss's need is immediate, you'd think they'd be motivated to interview you ASAP. Can you delay the 6 week gig by a few days? Could you take the 6 week gig then, after accepting the new job at the old company, give them 2 weeks notice? Would your old boss be able to wait for 2 weeks. BOTTOM LINE You have to look out for YOU. It's perfectly acceptable to give 2 weeks notice, especially as a contractor, and especially 3 days into the project. THEY could do it to YOU in a heartbeat. If they could suddenly get someone twice as good for half the price and replace you with no ill effects on the project, they'd do it, and justifiably so. And the chance of a full time permanent dream job vs. a 6 week grueling assignment seems like an easy choice. Loyalty is a process, not a state. I.e., loyalty is not a promise to always bend over backwards, it's a commitment to work with the other party to BOTH party's benefit.
Sun 29 Feb | snotnose | The wed interview is my doing, ye old used-to-be-faithful steed needs to enter ye-old-open-wallet-turn-upsidedown garage monday morning,and I don't get the car back until Tues. So I don't have a car monday/tuesday. Not an emergency, just something I had scheduled before this whole mess came up (schedule mechanic, get ride home with friend, and ride to work tuesday with a different person). I would love to postpone the job start for 6 weeks, but didn't want to mention it friday as I don't think things have gone that far. If I don't take the 6 week job I don't think the other company has another job for me (e.g. I'm not working). And they have been much too good to me for me to spend 2 weeks on this thing and say 'toodles'. I figure the interview/negotiation/2 weeks notice will take up 3-4 weeks. As I said, it's a hard deadline (trade show), so I only need 2 more. But talking to my ex-boss, he needs me yesterday. I need to do the interview, and talk to O.B., before I really know if I can wait 2 weeks. But I don't want to ask for a 6 week delay only to find that botches the whole opportunity for me. Sigh. 5 months, no work, nobody wanted me. Now that I'm working everyone wants me. Reminds me of when I was young. No women wanted to date me. Until I got a hot, and I mean hot, girlfriend. Suddenly I had chix hitting on me everytime she went to the bathroom. It was ego-boosting and pathetic at the same time. Of course, when I got tired of the hot girlfriend then no women wanted to talk to me anymore. grrrr.
Sun 29 Feb | no name | If it was really a good company to work for, I would think they could wait 6 weeks for you. 
Sun 29 Feb | Ken Klose | You could definitely get them to wait six weeks. I was in the identical situation a couple years back. The new company needed me IMMEDIATELY. But I said, 'look I'm 5 weeks from a major deadline and I don't want to leave them in a lurch, I'd give the same consideration to you if the situ was reversed'. They took a few days after the interview to ponder it, but rewrote my offer letter to give me 5 weeks. A question for you: what's the name of this great company, where are they located, and do they need java programmers? (or programmers willing to learn anything for that matter)? I'd love to have a secretary! Especially if she's cute.
Sun 29 Feb | Alex.ro | May I ask which "top 10" list is that?
Sun 29 Feb | Ray | You don't have dilemma until you have an offer letter. :)  Even if you do get an offer letter, you will only have a dilemma if you can't get them to delay for (what will probably closer to 4-5 weeks at that point) 6 weeks.  I would think you have a pretty good shot at getting the delayed start date.  But no reason to stress about it until the ball is really in your court.
Sun 29 Feb | Damian | I agree with Ray. These things take time, so even if the new company made an offer, that will probably take them a few weeks. Even when they say immediate, it usually isn't. By the time an offer is looking like being made, tell them you have a current commitment that will take you another few weeks. Most companies understand you have to finish up other jobs first.
Leveraging Development skills. | Sun 29 Feb | Anonx
I have been reading with interest the recent posts on career directions, specifically Norrick’s thoughts and experiences mirror what I am going through right now. My background is in the classic multi-tier business applications. It is the same boring pulling and pushing data to a database, with the occasional data massaging in-between. I have been doing some soul searching for the past year and I have come up with little thoughts on how to leverage software development skills into a new profession. Once you strip the buzzwords away from my resume there seems to be little to offer a business. My interest is working for and with small businesses. All my experiences have been with the megacorps and I hate it. I keep thinking that my background is overkill for the small businesses but I must be overlooking something. Given that being my frame of mind I ask this question; Are there any ex-developers on this board who could share how they have leveraged their development skills into a new profession or finding work being more of a computer generalist? Or should I just accept my fate and eventually become a graybeard. That is, if I am lucky enough to have a career that can last until I reach graybeard status. Any thoughts?
Sun 29 Feb | Bored Bystander | The good thing about working with small businesses given where you are coming from is that your current skills are a vast superset of the skills necessitated by the IT needs of small businesses, and you will handily outclass almost anyone else that approaches a small business. The bad things about working with small businesses are that (are you ready ;-) ): They can be incredibly cheap. Many small business owners started small businesses because THEY didn't have a diploma from a 'good school', so these types will carry a 'working class hero with attitude' chip on their shoulder. Mainly, the profound cultural differences keep the two worlds from mixing. It's going to be rare to find a small business that isn't put off by someone who has done high level enterprise work. And, you have to talk on their terms, which are paybacks for investments in months, not years, and absolutely no budget for R&D or anything else that 'sounds expensive'.
Sun 29 Feb |  me again | The problem with working for small businesses, is that they are... small. Thus, they usually have no money. I disagree with Bored Bystander's 'cultural assessment.' Small businesses are not cheap because of some blue collar / white collar divide, they are cheap because they have to be. They don't respect people with years of enterprise software experience most likely because they have no need for enterprise software. They need microsoft office, quickbooks, and a web site from pair.com. In any case, being a consultant that works with small businesses is a bad business model. If you want to 'consult' the best bet is to target the hugest, richest, and most dysfunctional organizations you can find. The kind who won't even notice they are cutting you $30,000 checks every month.
better chkdsk for Windows XP? | Sun 29 Feb | Dave Navaro
I have been having terrible disk problems as of late. Chkdsk /f isnt fixing it. In the old days, Norton Disk Doctor and other tools were better at fixing sector problems. They all seem to have disappeared with the advent of Windows XP. Anyone know of a better tool for disk repairing beside chkdsk?
Sun 29 Feb | Brad Wilson | CHKDSK has never repaired bad sectors, and still doesn't. SCANDISK does this, and has been around for god only knows how long (at least a decade). Here's how to use SCANDISK in XP: Right click on My Computer, click Open. Right click on the hard drive in question, click Properties. Change to the Tools tab. In the Error Checking box, click 'Check Now'. Make sure 'Scan for and attempt recovery of bad sectors' is checked (this will scan the surface of the disk for bad sectors, and yes, it takes a LONG time). You may also wish to check 'Automatically fix file system errors', which is the equivalent of running 'chkdsk /f'.
Sun 29 Feb | John Topley (www.johntopley.com) | SCANDISK was a DOS and Windows 9x tool. The Windows NT equivalent has always been CHKDSK. CHKDSK /R will locate bad sectors and recover readable information.
Sun 29 Feb | Brad Wilson | Huh. Learn something new every day. :)
Sun 29 Feb | DJ | I guess the confusion comes because chkdsk was the original disk checker from the very begining of DOS.  Scandisk which was better than chkdsk and came out in DOS 6.2 and was used in Win9x and Win ME.  In Windows NT, 2000 and XP the disk checker is also called CHKDSK but is probably not related to the original DOS chkdsk. Clear as mud??
Sun 29 Feb | John Topley (www.johntopley.com) | Then there's AUTOCHK... ;-)
Interface and Implementation | Sun 29 Feb | Eddy
In object-oriented programming, a lot of emphasis is placed on knowing the interface and implementation. from a book, i come across this piece of code public class IntSquare { //private attribute private int squareValue; //public interface public int getSquare(int value) { squareValue = calculateSquare(value); return squareValue; } //private implementation private int calculateSquare(int value); { return value * value; } } the reason giving was to separate implementation from interface so as to hide details from users, and the implementation without affecting the user. i was thinking if it is ok to write the above code in the following manner public class IntSquare { public int getSquare(int value) { return value*value; } } i find it more concise and lesser code to be written, or is there something that i have missed out? i think the first method is good if there are other methods in the class that need to use the calculateSquare method comments?
Sun 29 Feb | K | Of course your example is better.  In fact, it'd be even better just to write a global function to handle that task, since it's not inherently stateful.  Really it's a bad example to work from.
Sun 29 Feb | Brad Wilson | Whatever book that is, throw it away. The author is clearly an idiot.
Sun 29 Feb | Dan Maas | Yes separating interface and implementation can be a powerful technique, but that example is a horrible mis-use of it. Reminds me of a Java homework assignment I saw at a major university that required the students to write stateful classes for trivial stateless operations like multiplying arrays.
Sun 29 Feb | Mike Treit | Isn't it possible the author was purposefully using a trivial example just to illustrate the concept?
Sun 29 Feb | no name | even if he wants to show that, book authors should indicate that the given class is a bad design or not. one of the reasons this world has so many lame programmers is that their first experience is a f...ing lame code, but at that time they cannot realize that. after that they learn that and it will be a habit to create classes like the above one. grrhh.
Sun 29 Feb | Brad Wilson | 'Isn't it possible the author was purposefully using a trivial example just to illustrate the concept?' It's possible that that's what he intended. Of course, he failed miserably, because he clearly doesn't even KNOW what it means to separate interface and implementation, which is why the book should be burned. :-p
Sun 29 Feb | Joe | eddy, Do you remember the title of that book? I'd like to know so I can be sure to *NEVER* buy it.
Sun 29 Feb | Thomas | Whoever wrote this doesn't get 'separate interface and implementation'. Here's a proper example: public interface IntSquareCalculator { public int getSquare( int value ); } public class MyIntSquareCalculator implements IntSquareCalculator { public int getSquare( int value ) { return value*value; } } Why is this a proper example? Because a user of IntSquareCalculator doesn't care what the implementation does: it only cares about the contract provided by IntSquareCalculator. The implementation could be as above, it could be an invocation of a Web Service, it could be a lookup table, etc. This is what is meant by separation of interface and implementation: the user is separated from the implementation by the interface. The interface provides a contract, and that's all. The implementation provides a concrete mechanism for fulfilling that contract, and that's all. -Thomas
Sun 29 Feb | Name withheld out of cowardice | Well written Thomas.  I would only add that the only reason one would want to do this in the given example is if he thinks that different implementers of the getSquare method might want to do it in different ways.  It seems unlikely.
Sun 29 Feb | Koz | replace getSquare with getUserProfile and it makes a lot more sense. Maybe the UserProfile could come from a web service, database call, flat file or even hard coded for running in unit tests. Now you may not see the value here, but if you've coded your application to call the database, then someone decides that the firewall rules shouldn't allow the server to query the database directly (I'm speaking from experience) then you can replace it another implementation without *too much* heart ache. This is more what seperating interface and implementation is about.
C# 'Servlet Engine' | Sun 29 Feb | Seun Osewa
I like the C# Language because its well designed, and .NET because its well supported on Windows and available on Unix-like systems (courtesy of Mono). I like the Java Servlet Specification (I dont care for the other server-side Java standards) because its neat, efficient, simple, gives me maximum flexibility. Does anyone know of a Servlet-like specification or engine for server-side development with C# or .NET?
Sun 29 Feb | Brad Wilson | I'm not a Java expert by any stretch, but I imagine that what you want to do is write classes that implement IHttpHandler, and then hook them up to URLs using Web.config.
Sun 29 Feb | Thomas Eyde | I also think that would be the way to do it, but how is that different from having an aspx file "without" gui?
Sun 29 Feb | Brad Wilson | The fact that you don't have to deploy an ASPX file, basically.
San Diego - the new Silicon Valley | Sun 29 Feb | Tony Chang
So, someone mentioned San Diego as one of the worlds leading tech centers and this came as a BIG surprise to me and I was skeptical, but I googled and found this article only 2 wks old: http://www.azcentral.com/business/columns/articles/0215talton15.html Any one want to comment? Should we all move to San Diego then?
Sun 29 Feb | Geeky | Yeah! San Diego rocks : Nice bars ... Hot hispanic ladies ... Got for it pal ... Just a few hours drive from TJ in Mexico where you could meet even hotter babes ....
Sun 29 Feb | Philo | 'A few hours drive from TJ' You must mean during rush hour... Philo
Sun 29 Feb | Sassy | I've lived in Dago for 8 years (originally from Long Island, NY), and I've witnessed the tech-splosion first hand. Firstly, SD is not comparable to SV in terms of software companies or software jos. Generally, engineers will fare better here. Tech jobs in SD fall into one of a few gigs: * DoD prime or subcontractor (Cubic,Northrop/Grumman/,Titan,SAIC) - This is mostly embedded / systems engineering , but there is some applications stuff here. * Wireless - 99% sales jobs, but usually some RF / CDMA / BREW / engineering jobs * Biotech - just IT and some informatics - 99% of the companies are drowning in losses - The culture around biotech promotes PhD's working for very low wages . * Start-up / Niche tech companies - Some good options here if you are an expert / specialist / willing to work cheap. You cannot compare SD to SV because there are simply fewer software companies - but I suppose that could be offset by a smaller population. I have always found SD to be a good place for work - not saturated with local talent like SV and a lot of churn, so new things always come up. The main problem is that SD is a very expensive place to live, and wages here are, on the whole, low. This combination makes SD a lot less atttractive after a while. We recently tried to buy our first house here - and with a combined income of almost 100k - we are looking at a back-breaking $2500/mo - a prospect that's causing us to re-examine staying in this city.
Absolute and Relative Margins? | Sat 28 Feb | Stripes != Honor
Has anyone ever heard of Absolute and Relative margins? Relative to the unprintable area and Absolute as measured from the edge of the page. If so what applications have you used that supported them? Also on the subject of text output I was wondering if using the Uniscribe API would be better than using the ExtTextOut function?
Sun 29 Feb | a cynic writes... | From memory WordPerfect 5.1 had absolute and relative margins.
Moving to XP | Sat 28 Feb | MikeG
Well, I am finally where it becomes necessary to move to XP from 98SE on my home boxes. As this tends to me a more mature forum, I have a few questions for those who have made the migration: - Any reason to spend the extra for PRO over Home? - Should I migrate or just start fresh on a clear hard drive? My concern is some of my older hardware, like my scanner has software that was a bugger to install the first time. - How long do I need to set aside for this, assuming I am PC savvy, and have used XP, just not done a migration. - I have heard we are allowed a Laptop and Desktop from the same license, yet I cannot find where this is the case. If it is, would that include two desktops at home? Of course, feel free to toss in any advice. For the Linux folks, I do have a Linux box running Red Hat, so no need to suggest switching. ;) Cheers, Mike
Sat 28 Feb | Gwyn | Hard Drive crashed yesterday (IBM 40Gb Deskstar - less than 3 years old) so rebuilding as we speak Had Win2K Pro, installing XP Pro. Takes about an hour + installing any specific drivers you'll need. Definitely install from scratch. You can always partition your drive (if you have the software to do in non-destructively like Partition Magic) and copy anything you want to save off first. Don't know about licences. XP Home vs Pro is going to depend on what you're going to do with it. I was surprised how lite XP Home was in terms of connecting to network domains. But it's good enough for the missus's machine.
Sat 28 Feb | Gwyn | Oh yes. The real bastard I'm not looking forward to is spending 3 hours reinstalling .NET framework/VS.NET/MSDN!
Sat 28 Feb | MikeG | Therein lies the catch does it not? Sure, I can format the drive and load XP in an hour. Loading all those applications I have installed over the years, takes a the time. I am tempted to do on-demand installs, as I need them, but they problem is I generally use them because I am in a pinch. To then go back and find the CD (easy) or the website with the download (sometimes very hard). As for Home vs. Pro, what made you choose one over the other (and the 2nd box is my wife's)? What networking item was required or did you find essential to justify 2x the cost? Keep those suggestions/thoughts coming.
Sat 28 Feb | no | i've installed XP Pro on 3 different machines. no problems. and the first install was directly over 98. it was a little funky, but it's run great for 3 years. XP pro has Remote Desktop and IIS, which Home doesn't. those werre the 2 biggest differences for me. (there's a hack on google groups to get IIS running on XP Home.)
Sat 28 Feb | no | >i've installed XP Pro on 3 different machines i've installed THE SAME XP Pro on 3 different machines.
Sat 28 Feb | Seth | Mike - what do you need from your home box? If you're only now switching from 98 I'm guessing (hoping!) it's not a development box. The Pro version is much more flexible and robust in its networking capabilities. Remote Desktop is only available in the Pro edition for example. And you'll need Pro to access a domain-based network. XP Home will not allow you to be joined to or managed by a domain. So. if you're accessing objects on a domain (via VPN for instance) with any frequency you'll soon grow tired of re-authenticating. XP Pro also has file encryption and restricted file access built into the OS. Do you keep sensitive data on your local drive? The system restore features in Pro are more robust including things like device driver rollback. What else?.... IIS is part of Pro not Home. XP Home doesn't support multiple processors (don't know about HyperThreading though). I'd say, if you even think you might do more with your machine than read e-mail, surf the web, and play games and mp3s then go for Pro.
Sun 29 Feb | Ken Klose | If you have to connect frequently to a domain, that is the only reason I can see to justify spending the extra moolah on Pro. - I don't think you need the secure files feature if you're still on 98SE. - Remote Desktop is great. Only comes on the XP Pro CD, but will install on XP Home. Borrow the CD, install it. - As said above, IIS is for Pro only, but an easy hack and it runs on XP Home. Do a reinstall. Inventory your apps FIRST. I'm in the process of doing this myself right now. It takes long. It sucks, but its like going to the dentist, sometimes you just got to do it. Take a stiff drink first, that will help ease the pain.
Sun 29 Feb | NathanJ | I do Java development work on XP Home. I think XP Home is fine for a personal machine. Maybe XP Pro is better if you do Microsoft development work, but all of the tools I need work just fine with the Home edition.
Sun 29 Feb | MikeG | Thanks all -- Seth - I do java work so 98 has been fine. The processor is fast and I rarely have an issue. As for domain connection, I use VPN through client provided software so I am not sure if XP pro makes a difference. I would also be interested in hearing if anyone knows of something that will do an inventory of all installed software. I am leaning toward a clean install as I have not done one since I install 98 5 years ago. I am _not_ one of those who have had problems with 98, until I tried burning CDs. For some reason any burner software I install gives me the BSOD in VXD VWIN32(05). Perhaps I am just wishful thinking that XP will solve my issue.
Sun 29 Feb | Rob Walker | > XP Home doesn't support multiple processors (don't > know about HyperThreading though). XP Home does support HyperThreading just not multiple physical processors.
Sun 29 Feb | no | >I would also be interested in hearing if anyone knows of >something that will do an inventory of all installed software. http://www.belarc.com/free_download.html
Sun 29 Feb | Joe On Software (Joe) | A couple of years ago I went to a 2 hard drive set up and I would never go back: 1. Do a fresh install, tweak everything the way you want it and install your favorite applications. 2. Using a program like Norton Ghost (or similar), make an image of your hard drive and save it to the second hard drive. 3. There is no step 3 4. Do regular back ups of important data, (e-mail, porn, etc,) to the second drive. When something (a new driver, program, etc) farqs your computer, just restore from the Ghost image and then copy you data files over from the second drive. I use this at home and work and it has saved my butt on more than one occasion.
Sun 29 Feb | Stephen Jones | You're talking about not having done a clean install for fiive years. I presume you have upgraded the hardware during that time? You'll want 256MB of memory minimum, and I would say aim for a 1GB processor. Next disappointment will be that some of your hardware just won't install. You can forget about your scanner for a start - you need to change scanner pretty well every time you change OS.
Sun 29 Feb | Ken Klose | Stephen, I've got to disagree with you about hardware not installing.  I've been running a Dell box for past 5 years.  It came with 98.  I put NT on, what a nightmare!  I upgraded to Win2K, and was surprised at how few problems I had.  I only needed to track down drivers for Video, Modem and Scanner.  I just did a complete wipe and install of XP and it was smooth as silk, picked up all the hard-ware by itself.
Sun 29 Feb | Stephen Jones | I'm amazed you got your scanner to install. I had to ditch the scanner when I upgraded to W2K because there were no drivers, and no intention of making them. It actually took me nearly a year from when I first upgraded to Win2K to when I had everything working. The zip drive took months and the Adaptec software for the CD/RW wouldn't let the machine go into standby for nearly a year. A 2K to XP upgrade should go pretty easy. Basically the drivers are the same; they should have been the same for win 98SE adn W2K, but few companies seemed to bother with WDM until Win2K was out and they had to support both OS's.
Dvorak on cookies | Sat 28 Feb | Sam Livingston-Gray
From a semi-recent John C. Dvorak column: Who ever thought that browser cookies were a good idea? Im not even sure theyre legal: I was under the impression that hacking was against the law. The last time I ran Ad-aware on my machine, it turned up 54 processes sending marketing data (and who knows what else) to various companies. I didnt give anyone permission to do this. Shame on companies—all of them—that insist on using cookies and demand that users allow them before they can access a site. You can be certain that when the Big One hits, cookies will somehow be involved. ...Im ashamed to admit that I ever thought this guy was intelligent.
Sat 28 Feb | Cristian Cheran | This guy is smart alright but he appears to know nothing about coding or alike and sometimes he simply pops really weird sentences when programming reasons might be involved. I have also heard him saying that the whole .NET Framework thing is just another stupid move of MS that stresses good ol' VB programmers for nothing (or something along this line anyway)
Sat 28 Feb | Fred | If you don't use cookies, users will be required to create an account on the server, and log on every time before they can use the site. Mmm...
Sat 28 Feb | AnonAnonAnon | He missed his own point. By going to a site with cookies on, he _did_ agree to let them.  And it was not the cookies that created the spyware, but that may go to the reason the original poster questions his intelligence...
Sat 28 Feb | Dennis Forbes | Of course the real blame in all of this really goes to AdAware (i.e. LavaSoft) -- A "tracking cookie" (which is just a cookie from a defined list of "bad people" like Doubleclick) is treated with the same seriousness as a spyware trojan, so it's a bit understandable that the somewhat naive Dvorak was misled.
Sat 28 Feb | Seth | My hunch is most spyware is authorized by users. When was the last time you actually read through to the end, word for word, a EULA that was required to finish installing some freeware app? Most spyware scrubbers even remind users 'wiping out the following processes may violate the EULA of some other app and cause it to stop operating correctly' Like spam, most of the solution is already in the hands of the end user: the ridiculously, obscenely prosaic RTFM
Sun 29 Feb | Sum Dum Gai | EULA makes it OK? What a load of crap. I'll support that position when you have to write your EULA in one paragraph of English a non-lawyer can understand. How about 'This program will install spyware and fuck up your system!' As has been said elsewhere here, 'But our sales would plummet' is precisely the reason it SHOULD be mandatory.
Sun 29 Feb | Simon Lucy | A single sentence,'Crunchy Frog protocol applies.'
Sun 29 Feb | Stephen Jones | ----' A 'tracking cookie' (which is just a cookie from a defined list of 'bad people' like Doubleclick) is treated with the same seriousness as a spyware trojan,'------- A tracking cookie is the same a spyware Trojan. It let's the advertiser know which web sites you visit. Mozilla and IE6 let you disable cookies from third party websites, but it is a clear abuse to have tracking cookes in the first place. There are sites that work perfectly without cookes; I have them disabled for this site, and have no problems. Per-session cookies should be the most that is needed for all sites. Persistent cookies should be an option.
Sun 29 Feb | www.marktaw.com | The third parties cookies thing doesn't work for Doubleclick. Since Doubleclick opens inside a frame, they're first party links for Doubleclick. Doubleclick then tracks what sites in their network you visit. Once you create an ID at one, wham - they've got you. Your name, address, and sites you visit. Once again I'll relate the story of my sister browsing maternity sites and getting maternity ads when she logged on to her Yahoo mail. So while these cookies can't execute code, they can in a very real sense send back information about you from your preferences to your mailing address. I've been successfully blocking most of them by editing my Hosts file with known offenders. Various versions of the hosts file can be found online.
Sun 29 Feb | www.marktaw.com | Oh, and I browse with Firebird which I've set to purge all cookies on exit. I use IE for sites like this where I want to have cookies & a history.
Sun 29 Feb | Interaction Architect | If you add lines like the following 127.0.0.1 ad.doubleclick.net to your 'hosts' file, they'll never load because doubleclick isn't hosted on 127.0.0.1 (your localhost). You get a few 'file not found' messages in your pages which beats seeing ad crap all over the place.
CD-ROM Serial | Sat 28 Feb | alien
Greetings! I am not sure if it is possible but I have to try. My idea is to protect software from illegal copying by CD-ROM serial number. Protected program will run from CD, get its serial (if there is one) and check it. There are some numbers or letters near center of (every?) CD. Have you seen them?
Sat 28 Feb | Jordan | I'm not an expert in CD burning, but I think that when you do a CD-to-CD copy, everything is duplicated including the serial number.
Sat 28 Feb | Inidan Developer in India | Hmm! Competition? Welcome to to the jungle. Well, long story short, not possible, but there are other methods and a bit of self promotion is not out of line, is it? http://www.seplweb.com Regards KayJay
Sat 28 Feb | Inidan Developer in India | Oh! The Whitepaper is not uploaded yet. Will do so shortly.
Sat 28 Feb | Robert Jacobson | I think Jordan's right -- if you 'press' your CDs (the traditional way to mass-produce CDs) the disks will all have identical data, down to the serial number. There are some third-party solutions that can burn a unique ID into the disk after it's been pressed. E.g., http://www.postscribedid.com/en/portal/g-spec_e.html Alternatively, if you used CD-R technology instead to copy the disks, you could probably find or write a program that would burn a unique number into the disc when it's being burned. However, CD-R's aren't very cost-effective or fast for large production runs. If you really need strong protection, there are copy-protection systems like SafeDisc -- although these have a tendency to really piss off your legitimate customers, and even these can be defeated.
Sat 28 Feb | David Jones | CDs do not have a 'serial number'. The lettering that can be seen around the clamping region on the disc is not machine-readable. If you really require CD-based protection (i.e. FlexLM from MacroVision or a value-add such as support for registered users won't cut it) then check out the Tages CD protection system. It is the only one that I know of that has not been defeated.
Sun 29 Feb | Inidan Developer in India | David Jones, There is one more that is (not yet) defeated ;) In fact, known hacks are available (even generic ones) for SafeDisc protected CDs. Regards KayJay
Sun 29 Feb | mb | odd, i thought the bar-code in the center of the disk was machine readable. just most drivers don't have a method to read it, the drive does. old CD-Rs had increasing serial numbers on them. some new ones might too, but most are so cheap they barely hold data. sounds like a pretty clever idea to me, though of course it will be hacked in the normal way. (e.g. if you have a function called 'isCdOk' someone will replace the function with 'return true')
Post-deployment stress | Sat 28 Feb | Eric Debois
There is really no point to this post other than venting a bit of frustration. In early January I finished and deployed a webapp for a client. They found it to be working according to our agreement so they filled it up with data and I sent them a bill which they paid. All is well so far. Actually, things are still well I suppose. Its just that the other day I logged on to the app just to see if everything was allright and it is not. One of the users is basicly destroying data. I wont go into details of the app, suffice it to say he is shoehorning thingummies into the widget tables and widgets into the thingummy tables. This isnt a design error on my part and the rest of the users get it and like the app very much. Besides, most of the data is backed up, so, I should feel cool about it. But I dont. Im worried that they will blame me. Im worried that the app will break down and they will stop using it. Im worried that they will ask me to somehow fix the thing and I wont be able to decline. I also feel kind of sad that this one dude is absuing my creation. Oh well.. Im just venting. Anyone else ever feel like this?
Sat 28 Feb | Ron | Everything you're worrying about will indeed happen.... but that's normal, the users always find a way to mess it up no matter how much idiot-proofing you put into it, it's part of the job. But you need to contact them and let them know what's happening, and either retrain the user or work on a patch to prevent it. They're far more likely to use you for follow-on work and enhancements if they use it a lot and know you'll fully support it.
Sat 28 Feb | Sam Livingston-Gray | Interesting. I have a program that does some statistical analysis using a paper form that's been filled out by social service workers for years. (Bear with me; this is relevant to your case.) This paper form is, of course, one of dozens or hundreds these workers come in contact with during the course of their jobs, and every last one of them (the forms, not the workers) is Really Really Important because it's required for compliance with some grant or another. Even on a simple form (twenty questions scored 1-5, with painfully clear scoring criteria), we've seen some really creatively screwed up forms. They pick a number from 1-5 and draw a line down one bubble for all 20 questions (the cleverer ones fill in the same bubble for all 20 so it looks like they gave it more than two seconds' thought), they score a given question both 2 *and* 3, et cetera... But now that the software lets their agencies analyze the data, it very quickly becomes *glaringly* apparent when someone hasn't been filling out the form properly. (Especially when the app is used in a meeting with evaluators, directors and line staff all in the same room, and line staff see that someone really is looking at their work.) Basically, the app turns the usual one-way workflow process (fill out the form, toss it in a file somewhere, it's never seen or heard from again) into a feedback loop. Contacting the agency is a one-time way of completing that loop. Next time, maybe there'll be a way to design the software to explicitly support that same process, which makes everyone's lives better.
Sat 28 Feb | one programmer's opinion | 'Im worried that they will ask me to somehow fix the thing and I wont be able to decline.' What does your contract with this client look like? Does it specify the amount of time you must support the web app? If not, you might want to contact this client and let them know about the 'bad data' and offer your services for a fee. Below, are few ideas you could pitch to them: * A maintenance contract * Make the web app idiot-proof * Train the end-users
Sat 28 Feb | Eric Debois | Hi hi.. I was in a perfectly good self pitying mood, but you guys just had to go and be all productive on me. Well, I've mailed them about it. Sam > Interesting thoughts on the feedback loop.
Sat 28 Feb | Fred | What's wrong with just telling the manager over there that one employee is not using the app as intended, and that this may/might break things? Considering that all the other users seem to get it, I don't think the manager will blame you.
Sat 28 Feb | Anon-y-mous Cow-ard | Unless the "bad user" *is* the manager.
Sat 28 Feb | no name | they wil say: "fix it, it's your problem, you put that feature in so you can fix this issue and get more money out of it.f
Sat 28 Feb | Must be a manager | You have done the correct thing in emailing them. What you should also do is offer them some training and approach it in a positive way. You are offering them something to help them, not to show they're dumb. By the way, at the design level, you should have detected data types during input and prevented bad data being inserted.
Sat 28 Feb | Sam Livingston-Gray | Must be a Manager:  Type checking alone is not sufficient to ensure that data in a table is correct or meaningful.
Sat 28 Feb | Eric Debois | All the data is must be correctly formated and resonable. The problem isnt the integrity so to speak, its that the data is plain wrong. The wrong names in the name fields, the wrong descriptions in the description fields, the wrong dates in the datefields. But! I recieved a reply to my email. Aparently they are all well aware of the problem, and managment suspects that the guy is deliberatly trying to screw things up. Turns out, he was caugt pornsurfing in september and his manager has been trying to fire him ever since, but hasnt be able to because of employment laws and stuff with the union. So now he is trying to get back at them. Sad (and weird) as that is, it makes me feel kind of relieved.
Sat 28 Feb | Must be a manager | Sam, I said to prevent bad data being inserted, not to perform type checking. Type checking is what a dumb person would do. Understanding and filtering input data is what a smart person would do.
Sun 29 Feb | Must be dumb | Even if you filter for bad data it would be almost impossible to find someone entering first name/last name as Smith/John or Jones/Bill. Dates are also a problem. Is 04/02/27 an incorrect date value? One thing I really hate about this board is all the asshole junior programmers that jump in and criticize other people's work as being dumb or badly designed.
Sun 29 Feb | Must be a manager | Right.
An online bookstore for Indians | Sat 28 Feb | Sathyaish Chakravarthy
Amazon has India on its list of countries where transactions are barred. What that means is that Indians (or more appropriately residents of India) cannot buy books from Amazon. Is there any place else, an online bookstore, where I can order books from?
Sat 28 Feb |   | That settles it, God is an Iron!
Sat 28 Feb | Sathyaish Chakravarthy | Did I miss something?
Sat 28 Feb | MacSqueeb | Assuming Barnes and Noble doesn't impose a similar restriction, perhaps http://www.bn.com may be of some use. Also, a quick look indicates O'Reilly sells directly from their site, which of course limits one to their titles (and a few others the carry), but that's still a lot: http://www.oreilly.com/catalog/prdindex.html
Sat 28 Feb | Sathyaish Chakravarthy | Thanks for your reply, MacSqueeb. O'rielly has distributors in and around Delhi, where I stay. They sell through Shroff Publishers and Distributors (SPD), so I don't find it difficult to acquire their titles. But here, only Pearson Longman has some of the titles from Addison Wesley, Currencey Publishers and the like. We have very limited A-Press and Microsoft titles available in other book stores. Besides that, we have some Techmedia and SAMS publications too available at BPB bookstores. So I was thinking of ordering online. Most of the books I want are not available anywhere in Delhi. Books like Hard Drive, Over Drive, How to Move Mount Fuji, About Face, the Inmates are running the Asylum, Show stopper (about the making of Windows NT) are just not available in India.
Sat 28 Feb | Stephen Jones | Is it Indian government foreign exchange transactions that forbid you buying from Indai, or is it because of credit card fraud. Are they just banning payments from Indai. or are they banning deliveries to India. Are they just banning credit cards, or can you send them a cash advance?
Sat 28 Feb | MRC | >> Most of the books I want are not available anywhere in Delhi. Books like Hard Drive, Over Drive, How to Move Mount Fuji, About Face, the Inmates are running the Asylum, Show stopper (about the making of Windows NT) are just not available in India. hey that's a big problem. currently, india is not in the list of countries where Amazon delivery is available. Currently, i came to USA on a short term trip. i desperately wanted to buy many of those you listed above when i was back in india. now, i already bought them and many of the books in the 'Joel's Book recomendations' and some of the books floated around in this forum. most of them, i bought from the Amazon used books at very reasonable prices even as low as 4$.
Sun 29 Feb | Ken Klose | So Sathyaish what you need to do is set up a website in India where your countrymen can order these titles, get someone in the US to buy them off of Amazon and ship them over to you (or direct to your customers) and reap profits.  No?
Sun 29 Feb | one meeeellion dollars! | Circumventing import restrictions? Sounds illegal. But, eh, who cares? Indian jails are nice this time of year, I hear.
Caveat Emptor | Sat 28 Feb | Sathyaish Chakravarthy
In the smallest of nutshells, a discussion on Condions and Warranties under section 16 of the Sale of Goods Act (India) says, let the buyer beware. No, not about the dogs guarding the house, but of the quality of the subject matter of the sale - goods. I forget the provision but it says the seller is under no obligation to convey to the buyer about the *strings attached to the goods being sold or of any compromising nature of the quality of the goods*. Until a long time, I didnt carry a credit card with me. I didnt have too much money. Now, that I have a little bit of money, I signed in for a credit card. The credit card salesman promised me that there was a credit period of 52 days for cash withdrawals as well as purchases. I was informed of a monthly interest rate of 2.95%. Today, I got my last months statement and I was shocked. Well, for a cash withdrawal of Rs.600, there was an cash advance fee of Rs.100, an interest of Rs.8.XX (@8.XX%) and a service tax of 8%. My purchases were about Rs.2,600 something for the month. On inquiring about the excessive charge, I was informed that: (1) There was no credit period for cash withdrawals. So no 50 days cash credit. You pay interest for every day you keep the cash. (2) There was a cash advance fee for every cash transaction upto 2.5% of the amount withdrawn or Rs.100 whichever was higher (3) Thered be a service tax Id paid Rs.1409 as joining fee for three ears. If I opted out, it would be forfieted and I wouldnt get any of it refunded. And I have no excuse for not being informed even inspite of the fact that I was lied to. How convenient is the law.
Sat 28 Feb | Sathyaish Chakravarthy | --No, not **about** the dogs guarding-- No, not of the dogs guarding... --for a cash withdrawal of Rs.600, there was **an** cash advance fee-- there was a cash advance fee --How convenient is the law-- How convenient the law is
Sat 28 Feb | M | Sathyaish, it sounds like you're joining the consumer society. Rule number one - companies offering money in any form are always rogues and will always try to screw you one way or the other. Being in India, I guess you would know that, from what happens in rural areas. Heavy fees for cash advances are common, because they know that, if you want a cash advance from your credit card, you're probably desperate. So they can squeeze you. The way to use credit cards is to not take cash advances from them, to pay the bill in full each month and to keep the lowest limit you need. Don't accept offers to go for a bigger limit.
Sun 29 Feb | Tony Chang | Credit cards are the same here in the US as you are finding - they have to pay hard cash money on any cash advances you take out, so they have to charge you interest starting they day you take it plus processing fees. Otherwise it would be a free loan and for that, the bank is not the right place to go. I am sure that the fees were disclosed in the fine print of your contract.
Sun 29 Feb | M | For credit card providers, funding cash advances is no different from them funding purchases. The extra fees are purely based on the fact they can charge them. The fact that something is in the terms of the contract means very little in terms of legitimising it as a business practice. Most people do not read those contracts, and even if they do, credit card providers collude sufficiently that customers have very little choice.
Sun 29 Feb | Rob Walker | > For credit card providers, funding cash advances is no > different from them funding purchases. The extra fees > are purely based on the fact they can charge them. Not exactly. When a vendor takes your credit card in payment they have to pay a fee to the credit card company for the privelege - typically in the 1.5 - 2.5% range. Most non-chain computer stores around here list their prices as cash-discounted. If you pay by credit card you pay that charge. Otherwise everyone would max out their credit cards with a cash advance on the 1st of the month. Put it in a savings account, withdraw it on the 30th, pay off the credit card and repeat the cycle the following month.
Bubble sort reversed | Sat 28 Feb | Sathyaish Chakravarthy
Bubble sort is known to have a predictable N square iterations before the array is fully sorted. Here, N refers to the number of elements in the array. The code from http://linux.wku.edu/~lamonml/algor/sort/bubble.html looks like this, as it would from anywhere else, as long as Bubble sort was the topic. void bubbleSort(int numbers[], int array_size) { int i, j, temp; for (i = (array_size - 1); i >= 0; i--) { for (j = 1; j <= i; j++) { if (numbers[j-1] > numbers[j]) { temp = numbers[j-1]; numbers[j-1] = numbers[j]; numbers[j] = temp; } } } } We can see the outer loop traverses the array from back to the front N number of times and its function is not only to factor the inner loop N times but also to go backwards, so the array is sorted properly. If I were to reverse the bubble sort, could I reverse the outerloop by forcing it to traverse forwards instead of backwards? Coupled with this, I would reverse the swap algorithm in the inner loop to check for a smaller value and push it leftward. Would that still work? I am beginning to imagine voices, Sathyaish, youre damn lazy. Try it yourself. But Ive already written so many words here. It will a sin to erase them. Im all set (to hit the button). Push, aeyee....
Sat 28 Feb | Clay Dowling | Well, you've answered the question yourself. Try it and see. If you're doing much with sorting, check out more advanced algorithms like shell sort or insertion sort. Insertion sort in particular is a very efficient algorithm. If you really want speed and have a very large data set, take a look at quicksort. Make sure you understand the shell or insertion algorithms first though, because quicksort tends to optimize itself by sorting small partitions via one of those.
Sat 28 Feb | Sathyaish Chakravarthy | Yup! Thanks for the reply. I am aware of Quick sort, selection sort and insertion sort too. I've been using Quick sort in my programs actually. This was just Saturday time-pass.
Sat 28 Feb | Sathyaish Chakravarthy | *It will a sin to erase them* be be be be be
Sat 28 Feb | Sathyaish Chakravarthy | Okay, I tried it straight first and it works. [CODE] Option Explicit Public Sub Main() Dim IntArr(0 To 9) As Integer Call FillArray(IntArr) Call BubbleSort(IntArr) Call DisplayArray(IntArr) End Sub Public Sub FillArray(ByRef IntArr() As Integer) Dim LngCounter As Long Randomize (100) For LngCounter = LBound(IntArr) To UBound(IntArr) IntArr(LngCounter) = Rnd * 100 Next LngCounter End Sub Public Sub BubbleSort(ByRef IntArr() As Integer) Dim LngCounterOut As Long Dim LngCounterIn As Long Dim IntTemp As Integer For LngCounterOut = UBound(IntArr) To LBound(IntArr) Step -1 For LngCounterIn = LBound(IntArr) + 1 To UBound(IntArr) Step 1 If IntArr(LngCounterIn - 1) > IntArr(LngCounterIn) Then IntTemp = IntArr(LngCounterIn) IntArr(LngCounterIn) = IntArr(LngCounterIn - 1) IntArr(LngCounterIn - 1) = IntTemp End If Next LngCounterIn, LngCounterOut End Sub Public Sub DisplayArray(ByRef IntArr() As Integer) Dim LngCounter As Long Dim StrDisplayText As String For LngCounter = LBound(IntArr) To UBound(IntArr) StrDisplayText = StrDisplayText & Str(IntArr(LngCounter)) & vbNewLine Next LngCounter MsgBox StrDisplayText End Sub [/CODE] Now I'm gonna try it backwards and see.
Sat 28 Feb | Sathyaish Chakravarthy | Eureka! This one works too. [CODE] Public Sub ReverseBubbleSort(ByRef IntArr() As Integer) Dim LngCounterOut As Long Dim LngCounterIn As Long Dim IntTemp As Integer For LngCounterOut = LBound(IntArr) To UBound(IntArr) For LngCounterIn = UBound(IntArr) - 1 To LBound(IntArr) Step -1 If IntArr(LngCounterIn + 1) < IntArr(LngCounterIn) Then IntTemp = IntArr(LngCounterIn) IntArr(LngCounterIn) = IntArr(LngCounterIn + 1) IntArr(LngCounterIn + 1) = IntTemp End If Next LngCounterIn, LngCounterOut End Sub [/CODE] Thanks, Sathyaish! :)
Sat 28 Feb | x | Let me guess... a US company outsourced some cheap coding to you - and that's exactly what you're providing...
Sat 28 Feb | Sathyaish Chakravarthy | Hey, X guy, you are such a dumb ass to be assuming that a US company would outsource the reversal of a sorting algorithm.
Sat 28 Feb | Ori Berger | Just a quick note: Quicksort isn't too quick. The choice of name has done wonders for quicksort's reputation; I think it wouldn't have been half as a popular if it was called 'recursive partition sort', which it should be. Heap sort is simpler to code and generally faster with guaranteed O(n log n), unless you do your quicksort extremely well. Merge sort is often simpler to code, and requires some additional storage (but provides sort stability in return - a very useful feature). Bubble / Insertion / Shell / Comb sort might be interesting for 200 element lists sorted infrequently. For all other stuff, spend a little time and use heap or mergesort. Your users will thank you eventually.
Sat 28 Feb | Anyone remember Ultrasort?? | 'Quicksort isn't too quick.' Can you elaborate Ori? Everything I've read on the subject indicates that Quicksort is the fastest of the fast, in the general case. Admittedly, I never bothered to check these assertions, but I've seen data to back this claim up. For example: 'The quick sort is by far the fastest of the common sorting algorithms. It's possible to write a special-purpose sorting algorithm that can beat the quick sort for some data sets, but for general-case sorting there isn't anything faster. ' [1] The same reference also states that, 'The heap sort is the slowest of the O(n log n) sorting algorithms...' which seems contrary to what you recommend. Maybe there are some new developments that I'm not aware of? [1] http://linux.wku.edu/~lamonml/algor/sort/quick.html
Sat 28 Feb | Robert Jacobson | Sathyaish, You might be interested in a great book, 'Ready to Run Visual Basic Algorithms' by Rod Stephens. It's a very readable introduction to complexity analysis, data structures and algorithms, with code snippets in VB6. It has a chapter on the major sorting algorithms, and compares their various advantages and disadvanges.
Sat 28 Feb | Clay Dowling | Ori, I'm going to suggest that your position is not backed by well-implemented code. When I was teaching the subject, we implemented several common sorting algorithms and compared times on data sets of varying size. Quicksort lived up to its name once we crossed into the thousands or tens of thousands. Before that insertion sort was our best algorithm. Merge sort is only applicable to certain situations. It's great when you want to combine a couple of sorted data sets, but not terribly appropriate otherwise.
Sat 28 Feb | Kevin | There's also the fact that QuickSort's worst case is still O(N^2).
Sat 28 Feb | x | Why on earth does anyone care at all about Bubblesort? This is sort of like arguing which Hyundai we'll race in when we have an unused Porsche and Lambourghini available. I have a modified version of heapsort that I mostly use that has two nice properties: 2*(n log n) speed and it's an in-place sort - no additional memory required. If speed is an overriding factor and I have lots of memory available (I work in embedded systems, so this is rarely true), I use a recursive implementation of mergesort: it's n log n. Quicksort has bad pessimal performance so I don't like it - embedded systems have to have predictable performance, so heapsort is usually best.
Sun 29 Feb | Ori Berger | My experiments with 'simple' heap sort, 'simple' merge sort, and 'simple' quicksort were not too favorable to quicksort. If your data is randomly ordered, quicksort and merge sort are generally equal, with mergesort requiring more memory (~50%, definitely NOT negligible), and a little more time - often unnoticable on machines with caches, as mergesort has perfectly sequential read and write access. The problem with 'quicksort' on real world data is that it is often NOT random. Many quicksort algorithms, especially those in textbooks, reduce to a horrible O(n^2) when all values are equal (more generally, when the range of data is significantly smaller than the length of the data). And ... guess what? That's often the case in real life. Also, most textbook quicksorts reduce to O(n^2) on sorted input. That _also_ happens quite often in practice. You can go horribly wrong with Quicksort; You can't go horribly wrong with either mergesort or heapsort - you're at O(n log n) at worst. My results may stem from subjecting quicksort to what you might consider 'non random' data, but it is (in my experience) more representative of the real world. Furthermore, I've only met one (1) quicksort implementation that guaranteed never to become O(n^2); And it was horribly complex - because, among other things, it needs to select something close to the median in O(n) time. How many quicksort implementations have you used that do that? Clay, I did my testing years ago; A non optimized heapsort was comparable to quicksort - not much faster, not much slower for most cases; Much slower for some cases. But if you can point me to a quicksort algorithm whose implementation you find worthy, I might find the time to give you a comparable heapsort (no promise - not enough free time these days). As for mergesort - a recent variation developed by Tim Peters for the Python library seems to beat _every_ other comparison sort implementation hands down, both in theory and in practice. And it's stable to boot. The memory cost is 2*n bytes, where n is the list length. On most of today's system, this is very little to pay (For a 10 million element list, this means 20Megs of RAM = your elements, unless they are integers, will probably take ten times as much).
Thank you,Joel. | Sat 28 Feb | Sathyaish Chakravarthy
No, its not farewell time. Just that I talk too much. I came here to JoS last June or July. I believe I began posting to this forum September 2003 onwards. Ive learnt about some of the finest of books on software from Joels book list and from members of this forum. Ive had the pleasure of reading golden words of wisdom from the most pearlish of books one softy-guy could ever read on the subject, all because of this website, to which many of the people in *my* world are oblivious. Like I never shared my possession of Dostoevskys novels with my schoolmates because they were too materialistic I thought for the treasure of his spiritual revelations, I do not share this web address with many of my colleagues simply because they are not deserving. On this site I meet everyday, people who are brilliant in many ways and have awe-inspiring knowledge of their craft. I could linger on to some experiences common to all of us members of this site, but Ill be sparing in words and just say what I have to. I have to say, Joel, if there are any other words that carry better an import of thanks than the words thank you, if there be any other word to measure gratitude of the magnitude we have for you, then I must know them, Guru Joel, and I must say them to you. Ah! And I am still kicking... *softy-guy: May be its not in the dictionary. My coinage. Just felt like shortening software guy
Sat 28 Feb | Sathyaish Chakravarthy | I sure am an Indian, but I didn't. Who ate the space after the comma in the title of this post?
Sat 28 Feb | Sathyaish Chakravarthy | Would the moderators be so kind as to insert a space after the comma there? It looks ugggggly this way, not to mention frightening. It will gimme a compiler error anytime. Option Explicit Dim you as Whatever Dim Joel as Whatever Compiler Error: Variable (you,Joel) not defined Hey, but...!
Sat 28 Feb | MacSqueeb | I too have become a huge fan in a short time. I spend way too much time on forums, but much less of it is wasted here. Off-line, I don't socialize with a lot of people who share my passion for software creation, so it's nice to find a community from whom I am learning so much in that arena. I have done a bit of proselityzing of JoS to my collegues, and while it's generally been well received, they do bust my chops--accusing me in jest of having some kind of obsession with Joel the man as opposed to JoS the resource. The thing is, whether you see Joel the man as a guru or an egomaniac, there should be no denying that the resource is awesome. Things like the Sloppy Test and Painless Bug Tracking have become some of the stimuli for improving a lot of processes in the shop where I work. Whether that is because his observations are revelatory--going where no software pundit has gone before--or whether he just has an uncanny knack for stating the best lessons of the last 50 years of software creation in ways that make the reader say, 'yes, that just makes sense,' I won't say, but it works for me. And of course, credit goes to the forum contributors too, from whom I also learn an incredible lot.
Sat 28 Feb | Zahid | Softy-guy wrote, 'I do not share this web address with many of my colleagues simply because they are not deserving.'. I might suggest that those of your colleagues who are not deserving are the ones who need forums like this the most.
Sun 29 Feb | Friend | It seems u have problem with everyone. IITians IIM people Your colleagues You talk too much insane.
Sun 29 Feb | Sathyaish Chakravarthy | >It seems u have problem with everyone. IITians, IIM people, your colleagues. Utter nonsense! My comments on that particular IITian need not be generalized, and as such IITians are brilliant. I was offering my experience in having known an IITian and that's all. The piece on IIM was a debate on fee slash, that was all over the news.
Some reasons not to buy a home | Sat 28 Feb | VP
An article offering some good points to consider: http://moneycentral.msn.com/content/Banking/Homebuyingguide/P37627.asp Getting laid off would have been a horrible experience for me, if I had listened to everyone and bought a house. Because I rent, I not only have the freedom to live wherever I find a job, I have the luxary to work only for a company thats worth working for. The main problem with a mortgage is that its an expense which you cant easily reduce when you need to. Unlike children, who dont HAVE to be fed. They can beat up someone elses kids and steal their lunch money. Live off the land, and all that.
Sat 28 Feb | Oren Miller | As a homeowner all I would have to do is become a recalcitrant landlord and have someone like you pay my mortgage.
Sat 28 Feb | Oren Miller | It's also not true that you can't reduce the expense. What you generally do is get a long term mortgage say 30 years, and plan to pay it off in say 20 years. You do the numbers before hand to figure out what you can afford at this rate. If you have problems and can no longer afford to pay at that rate, you can begin reducing you're payments to the 30 year schedule (or somewhere in between) with no penalties. With the tax break on the interest and the equity you build on the principal, it really is *generally* a good deal. What is true is the part about flexibility of location. If you have to move within 5 years of a purchase of your home, then the benefits are lost because of the various fees involved (though I would say 10% is very exaggerated).
Sat 28 Feb | The Ted | The Ted bought a house that he could afford to pay off in 15 years, but took out a 30 year note on it, precisely in case I did get laid off.  Also, around here, my house payment is only $100 more than what I was paying in rent.  If I would've put 20% down on it, I could rent it out cash flow positive immediately. 
Sat 28 Feb | Ken Klose | I don't know about where you guys live, but here in NJ, owning a home was a plus during the economic downturn. I had one friend who had bought a new home only a few months before getting laid-off. By that time, his builder was charging 75 grand more for the identical house, he therefore had 75 grand of equity that he borrowed against to live off of while searching for a new job. He got a nice new job, with more salary, has paid off his equity loan, and now has 125 grand in equity since prices have climbed another 50 grand in the year since he got a job. Try doing THAT with an apartment.
Sat 28 Feb | dir at badblue dot com | If you can: buy. Especially if you're young. Can't remember who said it, but words to the effect: 'They ain't makin' any more land' Look at the price curve in Boston, NYC metro, etc. You could have lost tons in the stock market in the last few years and made it all up in equity.
Sat 28 Feb | no name | Also, with the current interest rates and depending on your location, paying a "mortgage" is often cheaper than renting.
Sat 28 Feb | Bella | VP, buying is a no brainer for the long haul. When you buy, you lock in the same payment for 30 years. The renter, OTOH, will only see your rent rise for the next 30 years. A person who bought a house in 1975 for $60k has been paying $300/mo to live in their house for the last 30 years. And, now the house is paid and the cost is $0. and they are also sitting on a $500,000 profit which will finance their retirement. Meanwhile, the renter, is now paying $3000/mo to rent the same house. And has $0 profit. Also, last I checked, you ARE allowed to sell your house and move. And in this market, you can find 3 buyers at the end of a week. It can take the same time to sell a house as it does to get out of your renters lease.
Sat 28 Feb | Bored Bystander | Since this is a programmer's board, let's attune this reasoning to programming as an occupation. Demand has become increasingly spotty for our line of work. I know *many* programmer types who are hanging on by their fingernails, invested in home payments that were predicated upon the late 1990s type compensation schemes increasing ever upward. Back in the 1970s and early 80s, the rust belt of the US was a bloodbath because of blue collar layoffs in the auto industry. Towns that specialized in auto manufacture and related stuff had incredibly damaged real estate markets that took years to recover. And what happened to blue collar industries in the last 20 years is now happening on a smaller scale to IT. This is why I bought cheap and paid off my house early. At least I don't have a mortgage payment to think about.
Sat 28 Feb | Ray | I don't think the issue is about buying a house or not. It is about living within your means. Buying a house that requires payments equal to 40% of your take home pay probably isn't the smartest thing that you can do financially (although I have done it). It is just important to have an emergency fund that can get you through 3-6 months (or more) of 'normal' monthly expenses. Although in this market maybe you need closer to a year or two worth of expenses to be really safe. Having said that if you are the type of person that likes a new environment every couple of years, maybe buying a house isn't for you at all. You will almost certainly lose money if you buy and sell a house every two years...
Sat 28 Feb | Ploni Almoni | In Israel, the situation is reveresed - econmocially, if you can afford to buy a house without a mortgage, you're better off putting your money in the bank and renting a place with the interest you receive. If you buy a house and rent it out to someone else, you're getting less than you'd get at the bank. And mortgage interest is not tax deductible, so you end up paying a _lot_. Unfortunately, since it isn't possible to 'short sell' a house, I see no way to take advantage of this anomality, (other than renting my flat). There are, of course, other reasons to buy a house - but the economics of the situation isn't one of them.
Sat 28 Feb | VP | I've found that a big part of making the right the decission is having the right point of view. The more point of views you have to consider, the better your chance of making a good decission (then again, if you're given a lot of of the same point of views, then it might sway your decission that way, but I digress). Thanks for sharing your opinions everyone. Oren, Good point about taking out a longer mortgage than you're planning to need. When it finally does come time for me to buy a home, I'll keep that in mind. Heh, too bad I can't take out a 100 year mortgage. Though maybe that would have it's gotchas also, outside of not being able to find a bank that would give you one. Ted, Good point about renting your property to make cash flow. Hopefully the renting market is good at the time when you need the cash, but it definately is an option. I keep hearing horror stories about bad tenants you can't get rid of, due to some local law. I guess it's up to you to keep informed. On a side note, I came to realize that if I ever wanted to become a landlord, a source of advice would be my past landlords who I've rented from. Assuming I didn't burn down their places *knock on wood* I would think they'd be happy to give me some pointers. Ken, Ah yeah equity. Your example is what they call leverage? Badblue, It's true, over the very long term, land prices can only go up...unless they discover some nasty thing about your area, like it's susceptable to landslides, wildfires, full of chemical pollution, etc. I agree that a home can be a good investment, as long as you remember that you can't sell it as quickly or easily as something like stocks or mutual funds. As the article pointed out, if you know you'll be in the area for many years, you can wait out the the slow down turns. Bella, The article makes a point of home owners having to deal with rising property tax and the cost of maintenance (if they didn't buy their home fee-simple). Of course how that compares to the rise of rent, I have no clue. The cost of rent probably fluctuates more. Good point about comparing the time it takes to sell a house vs. the time to get out of your lease. I guess it depends on your luck at the time. Are you in a seller's market? Is your landlord nice enough, or lazy enough, to switch to monthly pay after you prove yourself with a few leases. Bystander, Yeah it's a shame tech jobs have become so volitale. Morale of the story: Marry rich! Yeah like you, I can't help but compare the tech industry to the old blue collar industries. When it does come to buying a home, I think I'll follow your lead and go cheap. Once I have a home secured, I might consider the McMansion (heh, assuming I get paid enough for that, yeah right) Ray, Very good point, about living within your means. Another critical part of me handling the layoff well was not have much in the way of expenses. I'm lucky that my wife and I are happy with a simple life style, and the kids are still very young, but old enough to understand some simple tactics in intimidation and terrorizing. I agree with you that 6 months of savings doesn't seem like enough these days. The nice thing about one to two years savings is it allows you do more research and be more selective about the job you take. I'm not the one uproot for the heck of it, but there are probably a good number of readers out there with wanderlust who should consider your point.
Sat 28 Feb | Simon Lucy | It would be nice if when you got a mortgage that it locked the price for 30 years.  Unfortunately that isn't the case in the general run of things in the UK, at most you'll get a deal for five years.
Sat 28 Feb | The Ted | You can't get a 15 or 30 year fixed note in the U.K.? Holy crap.
Sat 28 Feb | VP | I should have put my original post into context. I live in an area where there are few tech companies to choose from. If I get laid off, either I stay and take a crappy job, or move to greener pastures. Hence my current preference for mobility. Of course those of you who live near tech centers like Silcon Valley or San Diego, you can afford to stay put, so buying a home there is less risky. Simon, Ouch, only five years? Hmm do you think that's because there's less living space in the UK than the states? Though I can't see an obvious connection. Hmm. There's probably another reason for only a 5 year mortgage.
Sat 28 Feb | Simon Lucy | Nope, well I'll revise that. Gordon the Gopher Brown (Chancellor) would like long term mortgages, if nothing else it would cool the housing market and help bridge the gap between Us and Euroland so we can have multicoloured money too. But there are reasons for them not really existing. Historically the mortgage market has lived off marginal rates mostly running at around 2% above bank rate. Now you'll see fixed rate offers for five years, or fixed marginal rates, our personal remortgaged rate is now about 1.6% below the bank rate. In mid-80's the bank rate was at 15%, so some people were paying 17% on their mortgage at a time when housing prices were falling after a boom. Right now were in another housing boom but in a market with far lower interest rates. The result is that first time buyers are becoming excluded from the market, which in the end will slow it down.
Sat 28 Feb | a cynic writes... | The usual in the UK is for 25 year mortgages *but* variable interest rates and often an initial discount. The tendency is therefore for people to remortgage at the the end of the discount period. You can get a fixed loan but there's a premium to pay and as Simon pointed out people have been caught out previously. The UK Housing marking tends to be volatile to put it mildly - with booms followed by sharp corrections - but overall house values are relatively high - a product of population density and cultural values.
Sat 28 Feb | Mark Hoffman | I can't even imagine not owning a home. That was my first priority once I started working. I suppose if you plan on being transient and moving around a lot, then perhaps a home isn't such a great idea, but if you're having to uproot every few years I might suggest a different line of work. Life's too short to spend half of it moving! Our first home is now a rental property and I've got someone else paying the mortgage and the taxes while I deduct it from my income tax. All the while I'm capturing the appreciation in value; not them. And I'm doing this on an initial investment of $2,500 down on the house. That's double-digit ROI. Try getting that every year on your 401k without insane risks. Granted, this works out well until they move out and leave the house in shambles and I'm forced to pay two mortgage payments. But the risk is worth the reward. One of the best ways to slowly accumulate wealth in the US is through real estate.
Sat 28 Feb | Me and the view out the window | > One of the best ways to slowly accumulate wealth in the US is through real estate. Which suggests something is wrong. Why should people get wealthy by doing nothing, and exploiting others?
Sat 28 Feb | Mark Hoffman | 'Which suggests something is wrong. Why should people get wealthy by doing nothing, and exploiting others? ' Exactly how am I exploiting them? Are you going to let them live with you? Are you suggesting that they move into Section-8 housing, or perhaps you would rather than live on the street rather than enrich someone else? My tenants, who have lousy credit, are able to live in a nice that they couldn't afford to purchase. That's a benefit to them. I take a risk because if they up and leave, I'm stuck paying the mortgage until I find new tenants. For that risk, I am compensated by the income I earn on my investment. Furthermore, most of the wealth is earned by the appreciation of the property value, not by the rental payments. Are you suggesting that the appreciation in land values in somehow unethical or immoral? How do you figure that?
Sat 28 Feb | Rob Walker | > Heh, too bad I can't take out a 100 year mortgage. > Though maybe that would have it's gotchas also, outside > of not being able to find a bank that would give you one. I remember hearing about very long term mortgages (50+ years) in Toyko due to the extremely expensive real estate market (and very low interest rates?). I think the idea was you passed what was left of the mortgage on to your kids along with the house. The problem is that the difference in payments between a 30 yr mortgage and a 100 yr mortgage would be very small, but you are paying one for a *lot* longer. At a mininum you have to pay your x% interest a year regardless of the amortization term.
Sat 28 Feb | Les C | FWIW A Cynic Writes's comments apply to Australia as well.
Sat 28 Feb | Devil's Advocate | On the other side of the coin, I am a fairly recent graduate who lives and works about 45 min from NYC. Thanks to the 2-decade housing boom in this area, I can't afford a Condo inside a 1-hr commute radius, despite a salary which is quite comfortable. Furthermore, housing costs continue to outstrip wage increases (both on average and mine in particular) by a healthy margin. This means that neither I nor anyone in a comparable or lesser-paying job in this area will likely ever own a home. That is simultaneously aggravating and demoralizing.
Sun 29 Feb | Bella | > I can't afford a Condo inside a 1-hr commute radius, despite a salary which is quite comfortable By definition, you do not have a comfortable salary. Wake up. You are poor. Piss poor, in fact.
Sun 29 Feb | Simon Lucy | In Japan its normal, especially in the cities, to have the children inherit the parent's mortgage this is equivalent to serfdom, especially as many of the holders of the mortgage are the companies they work for. Whether these can truly be called mortgages is moot.
Sun 29 Feb | George | Mark, you just explained how you're exploiting them. You're having them pay your mortgage while you derive all the appreciation in value. You do nothing but get wealthy. They pay the bills and get nothing. If it wasn't profitable for people like you to buy houses you don't need, other people would be able to afford them, instead of having to pay people like you for housing. Second, you take very little risk or you wouldn't do it. You make a motza without lifting a finger. Third, the appreciation in value arises from actions of the community, including better transport, not from anything you do.
Sun 29 Feb | The Ted | 'They pay the bills and get nothing.' Actually, they get a place to live.
Sun 29 Feb | mb | housing prices don't always go up. here in the seattle area, rents are far cheaper than real estate. real estate is probably in a bubble, it will correct or stop increasing at some point. people who bought recently and rent out their houses lose money each month. if they're lucky, they don't lose much, and will gain it back very long term. real estate is illiquid; not only is it hard to sell, the transaction costs are high (6-10% for most cases). so if you plan to be somewhere long term, sure, it's worth it. and if the market is in the right place, it's worth it. but it's not the guaranteed investment some people make it out to be.
Sun 29 Feb | no name | 'but it's not the guaranteed investment some people make it out to be' It sure does sell books though.
Sun 29 Feb | Christopher Wells | mb, for example there's a graph at http://www.randi-emmott.com/market.htm that shows the fluctuation in Toronto.
Sun 29 Feb | Stephen Jones | I've got a colleague here in Saudi whose family lives in a house in the Rust Belt, Pittsburg I believe. It's a four bedroom town house, maybe 1,600 square feet. He bought it for $24,000 about fifteen years ago, and it is now worth a whopping $32,000 he says. You couldn't build a house for that price, never mind the cost of the land! Land prices go up where there's work, skiing or nice weather.
Sun 29 Feb | Devil's Advocate | I suppose I know better than to feed the trolls, but perhaps some of this bears spelling out. My earnings are very high (esp. for someone my age), but my assets are low as I have not been working very long. I say I am comfortable because I can afford everything I want (except real estate) and still put a nice chunk of money in the bank every month. It doesn't take a genius to see that as long as housing prices increase at a faster rate than both wages and most investments, more people will be precluded from 1st time home ownership. For single wage earners (in my demographic) starting to work in this area today, only the top 7-8% will be able to afford home ownership unless one of the trends mentioned above reverses. Hence 92% of new hires are destined to be 'piss-poor' as Bella put it. Unless we all just save up for a few years and move to the Midwest, where houses are dirt cheap.
Sun 29 Feb | VP | As a landlord, Mark does carry the burden of risk. Also the cost of maintaining the home is his, not the renter's. Therefore he should be compensated. Being wealthy or increasing your wealth doesn't automatically make you evil.
Sun 29 Feb | Katie Lucas | I decided to buy a house at the point owning a house became cheaper than renting one. I was kind of fortunate to jump on the housing bandwagon at that point. I wanted a decent house in a nice area - where I wouldn't have to worry about parking the car at night... So I happened on just the right place and bought it. It wasn't anywhere near my borrowing limit. People kept wittering at me that I 'could borrow much more' when I inquired about loans. People looked at me askance for only borrowing twice my annual salary. A year later, I've changed jobs and dropped salary, the same houses on the same estate were going for more than 3.5 times my salary. A year after that, the same houses are going for nearly 3 times the combined income of me AND my other half. And my salary has gone down again... which is bonkers. It's a 3 bed detached 'starter home'. The house market in the UK is NUTS!
Sun 29 Feb | mb | here's another problem: now if you want to sell that house and make back the 6 fold increase or whatever.... where are you going to live? (if you believe it's a bubble, you could sell & rent for a while. but market timing is always hard.)
Sun 29 Feb | Mediocre ASP Monkey | I'm in a similar boat to Devil's Advocate, though I suspect my salary sucks in comparison (and conversely, real estate in Melbourne, despite it's insanity, is probably much less crazy than NYC). All I can say is no amount of long-term gain stops borrowing an amount of money equal to *fifteen times* my current after-tax salary from being terrifying. Every degree of terror down from there takes me a *long* way from the city, which is not only where I work, but where I overwhelmingly prefer to live. Add in my complete lack of interest in housing matters (not only the market, but renovating, gardening etc) - and I'm at a distinct disadvantage to the thousands in this town who live and breathe housing. Maybe it's not the best move in the long term, but I'll keep renting, thanks.
Sun 29 Feb |  me again | Devil's Advocate, there are plenty of condos in New Jersey which are affordable by anyone making a 'comfortable salary' ($100K) in Manhattan. I have a friend who just bought a house in Ruthersford for $270K. Also, anywhere with jobs and decent school districts in the midwest is going to be more expensive than you think.
Sun 29 Feb |   | All, As I understand it, interest repayments on your own home is tax deductible in the US? This is not the case in all countries (eg Australia). Seeya
Emulate Mac OS X from within OS X? | Fri 27 Feb | Wayne
I know you cant run OS X on x86 yet, otherwise Id be able to do this in VMWare, but if I buy a Mac to do software development on, can I at least emulate the OS from within the OS? Ever since I discovered VMWare, I havent been able to live without it. Its invaluable for software development. How do Mac Developers do this?
Fri 27 Feb | Jim | Good lord, why?
Fri 27 Feb | Lou | I'm not aware of a way to emulate OS X from within OS X, however you can install Linux on PPC and emulate multiple instances of OS X. It's not even emulation as much as it's time sharing, the calls all run straight through to the processor, the Linux program just manages the instances.
Fri 27 Feb | Wayne | That is !fantastic! Lou, is this with Bochs or something? Why what, Jim?
Fri 27 Feb | Dennis Forbes | 'It's not even emulation as much as it's time sharing, the calls all run straight through to the processor, the Linux program just manages the instances.' This is pretty much what VMWare does. While it virtualizes some generic hardware, when doing process-heavy tasks (with a limited amount of GUI interactivity), VMWare sessions are very close to 100% of 'native' speed.
Fri 27 Feb | Pierre-Luc | Mol (Mac on Linux) running linux PPC can do what you ask. So you can run multiple instance of OSX within Linux. But you need to run linux this app does not work on OSX. The principle of MOL are about the same as VMWare.
Fri 27 Feb | Lou | MOL is the project I was thinking of.
Sat 28 Feb | Wayne | Awesome!  I am buying a PPC machine tommorrow.  Thanks again!
Sun 29 Feb | Brent Gulanowski | Lou: what you're describing *is* emulation. Problem is that too many products that call themselves emulators are actually *simulators* -- at least according to what they taught me in school. (Simulator: software-based processor+system; emulator: real processor + different hardware and/or software combination). Running in emulation is a good idea. It is much more secure, amongst other benefits. Apple could probably make an OS X emulator using code from Classic. In fact, it might even have been better if they had just made a generic Mac emulator and let people run multiple instances of OS 9 and OS X to their heart's content. OS X 10.4 feature, anyone?
Sun 29 Feb | Brad Wilson | Does MOL work on ANY Linux PowerPC, or only on Macs running Linux?
Nextel direct connect - why? | Fri 27 Feb | Philo
Can someone help me out? Why is this walkie-talkie thing such a big deal? I understand walkie-talkies - you can talk for free without a network. I understood Nextel direct connect as initially pitched - you could talk for free without a network (or so I thought) But with nationwide direct connect Ive gotta guess theyre using their network. So why should I prefer half-duplex with silly beeps over full duplex telephone communications? I honestly dont get it. Philo
Fri 27 Feb | Joel Spolsky | You've never seen how contractors work. I say to my Irish contractor James: when is this toilet getting hooked up? He hits the button and says 'Jimmy, when are you hooking up the toilet? Jimmy replies. I then say, 'And why is this light not hooked up?' He hits the button and says, 'Seamus, what's with the light in the downstairs bathroom?' Seamus replies. (My crew of Irish builders are all James, Jim, Jimmy, and there are at least two Seamuses). The interesting thing is that these guys are all over Manhattan and half in Westchester, but the conversation is instantaneous and short-lived. It's just voice IM.
Fri 27 Feb | Nick | Why? Because I have a very pretty daughter that will be in high school in a few years. I'm the genre they should be marketing to.
Fri 27 Feb | Rob Walker | I don't get it either -- who are you connected to? It can't be everyone in range since it wouldn't scale or work nationally. So do you have to join a group somehow? Can you be in more than one group? Isn't having your phone squawk to life on its one just irritating. I'd imagine most conversations start with 'what was that ...?' Guess I'm definitely in the wrong demographic!
Fri 27 Feb | Mike Swieton | I thought that they provided free walkie-talkie service to anyone on that provider?
Fri 27 Feb | MikeMcNertney | Whatever it is, the commercials certainly do a horrible job of selling it to me.  They don't show me anything that the direct connect does that I wouldn't rather just call the person for
Fri 27 Feb |  me again | direct connect is HUGE with construction workers, truck drivers, and other 'operations' type people. when I looked for apartments in NYC, my realtor used it to bring in his agents... any business types who normally use radios, are into direct connect. rumor has it that many of the other carriers are trying to offer the same service. I know for a fact that a huge UK mobile provider is going to roll this out at the end of this year or early 2005...
Fri 27 Feb | Joel Spolsky | Technically, think of it as a phone call that connects instantaneously. No dialing. No ringy-dingy. The speakers are much louder than usual cellphone speakers -- more like speakerphones -- so you don't have to hold the phone up to your ear to hear the caller, which means you can keep hammering in nails while your boss starts talking to you directly. And in the US only Nextel has it. The other phone companies simulate it using normal phone calls behind the scenes, or using their data services, but the connect time and latency on those providers is ridiculous and it just doesn't work, so everyone's going to stick with Nextel.
Fri 27 Feb | AnonAnonAnon | Why? Because someone needed to come up with a way to make cell phones even more annoying. Now we get the beep/click from every idiot who feels self important.
Fri 27 Feb | FredF | Maybe a stupid question but... if you don't dial a number, how can you reach a given walkie-talkie ? PS: For some reason, the French use it backward: 'Ceci est un talkie-walkie' :-)
Fri 27 Feb |  me again | http://electronics.howstuffworks.com/question530.htm
Sat 28 Feb | Oren Miller | I worked at a trading firm 5 years ago and this system was really useful. What it does it free you up from the 'activity' of being 'on the phone'. You don't need to glue the device to you're head or be put on hold. You can make multiple inqueries to several people at the same time without having to hang up on someone. There isn't the overhead involved in establishing a connection in order to send/recieve information. No ring ring ring ring. Just b-beep, 'here's your information'. But really best of all, the half duplex nature makes for greatly improved communication. You get to finish you're sentences. People actually listen attentively to what you have to say, and you them. This system is not intended for joe schmoe who wants a phone, and that is probably a poor way to market it. It is intended for people who work as a group but are not always physically in the same place due to the nature of their jobs. Although I do have to say it is brilliant for bar hopping and making sure everyone knows where to go next.
Sat 28 Feb | Alex.ro | >> how can you reach a given walkie-talkie Everyone can hear you. It's like a JoS forum over the air :) I worked for a company where we used walkie-talkies before cell phones came in. A lot of fun -- even physically separated, you always knew what 'the guys' were doing.
Sat 28 Feb | Zahid | No, not everyone can hear you (using the Nextel). You can broadcast if you'd like, or you can just target when I was directing an end-user support team several years ago, we were early adopters of Nextel Direct Connect, and it was very cool and useful. I don't know that I would need it now, however, where my work is strictly analysis and coding. I certainly don't have any desire to have my family and friends beeping me while at work, where anyone can hear the conversation.
Sat 28 Feb | www.marktaw.com | Because if you have dozens of short messages throughout the day you. 1. Don't need the formality of a phone call. 2. Don't have to dial. 3. Don't have to pay for the minutes. Another example: I saw a cab company use them. Goes farther than the old way, and works about the same, perhaps with even less of the chatter. Whoever said it was IM for the phone is right on the money.
Sun 29 Feb | Philo | I think the 'IM for the phone' misses just like the nextel commercials do. To me, snail mail=email, phone call=IM. I can see the value of the walkie-talkie style, which IMHO is completely missed in the commercials, which show what I consider to be normal phone calls (which prompted this thread). I suspect Nextel has either saturated their appropriate markets and are now targeting inappropriate markets, or else they figure that appropriate markets aren't going to make major capital expenditures based on TV ads, so they think targeting the execs is a better idea. On the other hand, there's a whole thread about them here, so who am I to call their advertising misguided? Mindshare is mindshare, right? :) Philo
Sun 29 Feb | anonymous | I think the advertising is rather poor, but most people who want such a service (contractors, delivery people, etc) tend to already be using it or at least know about it.  It is possible to get the direct connect service without cell phone service.  In other words you can use it strictly as a walkie-talkie service and not have to worry about employees making phone calls.  The traditional walkie-talkie services used by companies are not free either.  They pay to use a private frequency.  You can also talk directly to one person with Direct Connect, which isn't possible with traditional walkie-talkie services.
Why Spirit stopped working... | Fri 27 Feb | Kentasy
Another great story about how hard complete testing is and how important exception handling is in software. http://www.eetimes.com/sys/news/OEG20040220S0046
Fri 27 Feb | pdq | What I find remarkable is not that they had a bug, but they anticipated the fact that they might have problems and had systems in place to recover.
Fri 27 Feb | sgf | So the Spirit was willing, but the flash was weak. :)
Fri 27 Feb | son of parnas | Most complex embedded systems have recovery mechanisms for when it really goes wrong. I am still somewhat stunned that they made such a bad mistake. It's not like it's a difficult scenario to construct.
Fri 27 Feb | AnonAnonAnon | Picking the winning lottery numbers the day after the lottery is easy too. Of the 5,308,134 things to test, something is always going to be left out. Otherwise the project would take 50 years, and cost $100,000,000,000,000. Sure it was an easy scenario to setup, it was just thinking would actually be a problem that was hard.
Fri 27 Feb | son of parnas | Pish. This isn't monday morning 20-20 hindsight. I work on embedded systems and it should have been thought of.
Fri 27 Feb | Robert Jacobson | Here's what really happened to Spirit: http://images.spaceref.com/news/2004/rover.armspin.mov (Via the Chris Sells blog.)
Sat 28 Feb | Rocket Scientist | Yeah parnas let's see your space probe. Sheesh.
Sat 28 Feb | Sam Livingston-Gray | sgf:  OUCH.  (Nice pun.)
Sat 28 Feb | son of parnas | Rocket scientist, i would love to create a space probe. I would make mistakes, but hopefully they would be a little less obvious ones.
Sun 29 Feb | Dan Maas | Hehe, the arm-spin animation is my work :). www.maasdigital.com
BACKWEB-8876480.EXE - What the hell is that ? | Fri 27 Feb | Hotgen
Can someone tell me why this file (BACKWEB-8876480.EXE- 0566499E.pf) would need server access to the internet. Or what this file does. Thanks.
Fri 27 Feb | B | google for it - BACKWEB-8876480. The first link says its not bad. But everyone else seems to think it is. Use AdAware
Fri 27 Feb | Nigel | Do you have F-Secure anti-virus installed?
Fri 27 Feb | R Chevallier | See http://www.liutilities.com/products/wintaskspro/processlibrary/backweb-8876480/ (Google is your friend)
Fri 27 Feb | Dennis Atkins | On this general topic, that page says: Description: Comes with the software for Logitech products. Automatically checks for software upgrades and new products, services, and special offerings from Logitech. Security Risk ( Virus/Trojan/Worm/Adware/Spyware ): No Now, the thing is I think its misclassified. It checks for 'new products, services, and special offerings'. Now how the heck is that not adware???? Furthermore, the user didn't know what it was so he didn't specifically ask to have this ad-grabber installed. Sounds like a trojan to me! He installs his mouse driver and the next thing ya know it's downloading ads frem the net without permission! You can't tell me that ain't trojan adware!!!
Fri 27 Feb | Chris Ormerod | I have backWeb-7288971.exe and that came with my Kodak digital camera and is in a folder named 'Software Update' Could it be a different version of that?
Sun 29 Feb | armcurl | It's not so much adware as optional update checking ware, similar to that built into XP. It's quite easily turned off. Go Start -> Logitech -> Desktop Messenger Uncheck both boxes. :)
$299 Deal on A TON of Microsoftware | Fri 27 Feb | Ken Klose
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=3663452078&category=41888 This guy claims you can buy 10 copies of Windows and Office and a bunch of other stuff for $299 if youre a Microsoft Reseller/Integrator/etc. Is this true? Anyone know about this?
Fri 27 Feb | Steve Jones (UK) | Might be the MS Action Pack. I got that a couple years back now and it had loads of copies of Windows, Office, Visio, Project, etc, etc, and was meant for VARs. It only cost a couple hundred pounds, so it was a very good deal, even though it was only licensed for a year. Now I've got MSDN Universal, so I let the Action Pack subscription expire. OTOH it could just be some gray market / OEM pack, or indeed a complete pirate copy.
Fri 27 Feb | Doug | Yes, I think it is the ActionPack. Here's an info page: http://members.microsoft.com/partner/salesmarketing/partnermarket/actionpack/actionpackus.aspx eBay is really bringing out the slime. I also noticed Microsoft has lowered the price of the 'Empower ISV' program to $375: http://members.microsoft.com/partner/isv/empower/default.aspx That gets you a MSDN Universal subscription. Just have to promise to realease an app in a year (that's all). I wonder what the penalty is for failing to do that? That's doesn't appear to be addressed in their FAQs. Doug
Fri 27 Feb | Ken Klose | Wow! I post a question like this in the middle of the night and get two high-quality responses in less than an hour! Gosh! I *LOVE* this site!
Fri 27 Feb | Simon Lucy | The Empower deal was covered around the turn of the year, the consensus was that as the licence on the software expires after a year and its non-renewable, unlike the regular Universal subscription, that if you failed to relaease an application and progress in the Partner program nothing much was going to happen. I've finally received an invoice from Microsoft for the Empower plan, after first they couldn't get to the web site (temporary router problems) and then didn't realise that I'd paid online so I was rung up by this guy with a very Austrian kind of accent demanding money. After I explained they already had the debit card details he went away. So now I'm just waiting on the DVDs, which is irritating because if I'd known it was going to take this long I'd have gone out and bought version 8 of Visual Foxpro rather than wait for the MSDN.
Fri 27 Feb | tapiwa | Ken, off topic, but just for the record, it is not the middle of the night everywhere on the planet. Like they say, the world won't end today because it is already tomorrow in Australia!
Fri 27 Feb | GuyIncognito | http://images.andale.com/f2/101/120/11575300/1075980248020_MS_Software_Advisor.JPG Is there even such a thing as a 'Microsoft Certified Software Advisor / System Builder'? That logo looks home made.
Fri 27 Feb | Dennis Forbes | Not just home-made, but mistyped ("Advior") as well. That's pretty nasty.
Fri 27 Feb | Ken Klose | Tapiwa - but don't forget, I'm an "ugly American" and don't acknowledge a world exists outside our borders.  Heck, I barely acknowledge the American Midwest!  Except of course when Playboy does a "Girls of Ohio State" issue. :-)
Fri 27 Feb | Bored Bystander | Oh, brother! This Ebay guy is an idiot. A 'one time consulting fee of $19.99'. And he is misrepresenting the Action Pack, it is intended to be restricted to consultants and IT professionals. For free, I will post the link. I have the Action Pack. I paid $99 during a promotion last year. Even at $299 it's a bargain. You basically get every non development platform thing they sell. http://members.microsoft.com/partner/salesmarketing/partnermarket/actionpack/actionpackus.aspx
Fri 27 Feb | Ken Klose | A $99 promotion last year?  Why di *I* never hear about these things!  Is there some mailing list or something that I should be on to not miss out on these things?
Fri 27 Feb | Bored Bystander | It came through one of the IT magazines's email lists. I think it was 'Networking Magazine'. It sure wasn't promoted very much. Basically they gave you a referral code which you entered into the ordering page for the action pack, and the final price at the checkout was $99 plus shipping. The deadline was June 30. BUT even at $299 it's almost mandatory for someone in this business. And you get four quarterly updates.
Fri 27 Feb | Stephen Jones | Outside the States only for resellers.
Sat 28 Feb | James U-S | We have this - I think it was £199 + VAT in the UK. I've been very happy with it; there are a few apps that I wish it included like the new MS Virtual PC but that's only on MSDN if I remember correctly.
Sat 28 Feb | Bored Bystander | The Action Pack update I just received contains Virtual PC.
Sun 29 Feb | James U-S | I'll look forward to my next update then :) It wasn't included in the last update but was publicly available at that time so I assumed it was not available.
Windows XP Reloaded | Fri 27 Feb | your address is never revealed
Fire and Motion revisited: http://news.com.com/2102-1016_3-5165966.html?tag=st.util.print
Fri 27 Feb | Simon Lucy | That's no more than a natural result of their policy on lifetimes for products which is now 6 years.  So 6 years after the first release of XP they'll stop supporting it.
Fri 27 Feb | GiorgioG | You'd be lucky to find a car with a 6 year warranty (other than the import cars you're already weary of i.e. Kia, Hyundai - who have no choice but to do this in order to get you to buy their cars.) This is not to say you shouldn't be able to pay for an extension, but without large numbers of companies asking/paying for this - it doesn't make much sense for Microsoft or any other company. I'm not sure why after 6 years they should have to support it - from their business perspective anyway. If there was enough money in it for them, IOW - fat support contracts, it would make sense. Remember, they're in it for the money - rolling a new product out will always rake in more cash than offering any type of extended support for existing products - at least in the Microsoft world anyway.
Fri 27 Feb | Nigel | I'm not sure if software qualifies, but for hardware there are laws about having to support the product for a number of years.
Fri 27 Feb | Stephen Jones | Nobody really cares about losing phone support. It is the question of security patches. If MS don't want to fix bugs and security holes after six years let them telease the source code, so at least the customer can do it for free. The guarantee period for cars is a red harring. Hardware deteriorates with time. And the equivalent would be Hyundai offering a six year guarantee from the day they first sold a car in the States, not the date you bought one.
Sun 29 Feb | Brent Gulanowski | My roommate already has Windows XP reloaded — I think he's on the fourth "reload" in as many months. ;-)
The next Fog Creek product | Thu 26 Feb | magoo
Lets suppose, for the sake of discussion, that Joel is getting bored with the Fog Creek product line and wants to introduce another app. What should the next Fog Creek product be? (and why)
Thu 26 Feb | Damian | Fog Creek Salad Cream
Fri 27 Feb | GuyIncognito | What makes you think 'Ask Joel' isn't it? Oh sure, the first couple of answers are 'free', but then they jack up the price! ;)
Fri 27 Feb | Justin | You joke, but that's exactly what happened with 'Experts Exchange'. Following a rebranding (probably because people like me kept calling it 'Expert sexchange') it became subscription only. I think you now have to pay for different subscription levels. The original premise was a free to post BB where people ask technical questions and others post answers. As you might imagine, after a couple of years or so of this they have a massive technical repository. I will not comment on the quality of a lot of it. To be honest, I'm only mildly surprised that Joel hasn't capitalised on this. He'd just need a reaonably intelligent elf to aggregate to posts and categorise them.
Fri 27 Feb | Aussie Chick | Experts-exchange isn't subscription only, though I suppose when subscribers with unlimited points can post maximium amounts for each question....well it means you can no longer ask a question for 50 points and expect an answer. I liked it alot until they did the website redesign, lucky they have kept the 'oldlook' around for people like me...
Fri 27 Feb | Stephen Jones | I spent a couple of months answering questions, but it takes ages to load a page, and they don't render properly on Netscape anyway, so I haven't checked back in nearly a month. The other thing that irritates me is that it appears that the points you earn for answering questions can't be usd to ask questions. You can be their leading expert and spend three hours a day answering questions for free, but still only get the same number of free questions you get if you subscribe and never touch the site for a couple of years.
Fri 27 Feb | Steve | How about an application builder companion to CityDesk?  Kind of like Access only the forms and reports are web-based.  The key being the build-preview-publish model.  Click publish (or "Deploy" in this case) and everything loads up in the correct place to the app server - probably limited to IIS.
Fri 27 Feb | www.marktaw.com | Let's see, the bug tracking system they used in house. A CMS that filled a market niche, and JoS was ported to it. In retrospect a CMS seemed like an obvious choice based on what Joel was talking about a few years ago. So so far tools that are useful to Fog Creek & Joel. I'm going to go out on a limb and say a CRM system because they may have built one in house already. They seem to be the ultimate victims of the Not Invented Here syndrome.* Or maybe they just use an FTE, FogBugz, their forums, and MS Office. There's a lot of talk here about project management and project knowledge tools, and Joel's written essays on the subject, though in many respects FogBugz can do this kind of work. So I think a project management, customer management, and project knowledge suite sold in a package with FogBugz. Or maybe a plugin for Winamp that makes pretty colors. * Joel worked at Microsoft, so in a sense MS Office was invented here.
Fri 27 Feb | Kevin | I'm surprised we haven't heard more about the ASP -> PHP compiler.  I'd think that would be a popular product.
Sun 29 Feb | Brad Wilson | We've heard about it nearly endlessly. Here's the key fact: It was not designed to be a general ASP to PHP converter, but rather one that was only good enough to port THEIR code, the way they typically write it.
Leap Year Date Problems | Thu 26 Feb |
Anyone know of any good stories about leap year date problems in software.  Id be willing to bet that leap years have cause more problems in software than all of Y2K.
Fri 27 Feb | Joel Spolsky | Lotus 123 thought 1900 was a leap year. For compatibility, Excel had to calculate dates the same way. So Excel also treats 1900 as a leap year. Visual Basic wanted compatible dates but couldn't bear to be wrong about the leapyearness of 1900, so they set their epoch one day earlier (Dec 31, 1899). Meaning date calculations across Excel/Visual Basic boundaries are screwed up, but only for January and February 1900.
Fri 27 Feb | no name | Also did you know that when is a leap year, there is a leap day in that year, but it's not Feb.29. but Feb.24. as I remember. Strange but true,
Fri 27 Feb | a cynic writes... | I thought the Feb 24th thing was a bit weird so I checked - at least in the European Union it *used* to be true. There's a bit about it on Wikipedia: http://en.wikipedia.org/wiki/Leap_year . You learn something new every day.
Fri 27 Feb | Stephen Jones | Beautiful!
Fri 27 Feb | Stephen Jones | And two other posts seemed to have lept in while I was replying to Joel :)
Fri 27 Feb | Ron Porter | 'Meaning date calculations across Excel/Visual Basic boundaries are screwed up, but only for January and February 1900.' Actually, if 'Day 1' is one day earlier in one product than in another product, that also likely means that the 'date serial' is out by one forever. So be very careful passing dates around. (And I'll leave all the bad puns to someone else)
Fri 27 Feb | Nigel | When it comes to Gantt charts used to solve real problems, Leap year comes second only to DST on the pain-in-the-butt scale.
Fri 27 Feb | Dennis Atkins | Um, am I missing something here? Even if you call Feb 24 your leap day, you still end up with a Feb 29 only in leap years, right?
Fri 27 Feb | Yo | http://en.wikipedia.org/wiki/Leap_year
Fri 27 Feb | Aussie Chick | >Even if you call Feb 24 your leap day, you still end up with a Feb 29 only in leap years, right? Yes but it is the point of it. You see according to this tradition, if you are born on Feb 24 on a leap year, then you should only celebrate your birthday once every four years. If you are born on any day after Feb 24 on a leap year, then in any year not a leap year, you would celebrate your birthday one day earlier. ie born on Feb 26 on a leap year, then in normal years you celebrate your birthday on Feb 25, because you were actually born on Feb25, its just that in leap years we renumber all the dates after Feb 24. Conversely, if you are born on any day Feb 24 or later on a normal year (ie Feb 26), then in a leap year you will be celebrating your birthday one day later (ie Feb 27 on a leap year). You see our present way of thinking is that if you are born on Feb 29 in a leap year then you only celebrate your birthday on a leap year, but according to the roman way of thinking you would be celebrating your birthday on Feb 28 in normal years.
Fri 27 Feb | Stephen Jones | I suspect it had something to do with Saints' days. For some reason a gap between the Saints for the 23rd Feb and 24th Feb was considered less harmful than a gap between the 28th Feb and 1st March would have been.
Sun 29 Feb | Lee Kaiwen | The practice of inserting an extra day after February 23rd (not the 28th) goes back to the ancient Roman tradition of adding intercalary months. Before the calendar reform that gave us the Julian calendar, the lunar calendar was kept in synch with the solar year by the occasional i