last updated:01 Dec 2003 19:23 UK time
Joel On Software Discussion Forum
JOS Statistics - Recent Comments
(Comments added for week ending Sun 30 Nov 2003) | View Other Weeks
Stupid specific interview questions | Sun 30 Nov | Wisdom trumps knowledge
The candidate says theyve lived their lives in New York City. The interviewer asks: What street is the Empire State Building on? The candidate says they dont know, so the interviewer ends the interview - no hire. So the candidate has never had cause to look up the street address for the Empire State Building. They know how to get there, they know how to get to the observation deck, they know the quickest way to *find out* what street its on. They just never happened to notice its on Fifth Avenue. The next candidate has been to NYC once or twice as a tourist, so of course they looked up the address and can pass your little quiz. My point is - do you really want to hire someone based on the little specific pinpoints of knowledge you can ask in ten minutes? Wouldnt it be better to ask questions to determine how they think? Ask them to solve problems, or how they would go about solving them? Ask them what problems they faced in previous assignments and how they fixed them? In the printf example, if you have a burning need to ask it, if the candidate says no, it wont compile, why not talk them through it? Ask them why they think it wouldnt compile. Ask if they can think of any way it might compile. Or maybe ask yourself if the five minutes it would take to teach the esoterics of the printf statement and string token replacement is really a reason to can an applicant. Philo
Sun 30 Nov | Frederic Faure | Besides, how much would it cost to set up a computer, and ask people to debug or write a little proggie within an hour in a language the company asked for? One of the companies I worked for would ask each new hiree to write a NotePad-like aplication using the company's proprietary toolkit within their trial period (3 months), to check their knowledge of C++ and their capacity to learn a new toolkit. Combined with tech interviews with several senior developers, it was obviously a very good way to do things, since only one developer was let go during the two years I was there (and they hired quite a bunch of bodies.)
Sun 30 Nov | somebody | The candidate says they have a PhD in mathematics. The interviewer asks: 'What is two plus two?' The candidate says they don't know, so the interviewer ends the interview - no hire. So the candidate has never had cause to memorize the answer to two plus plus. They know how to count on their fingers, they know how to use a calculator. They just never happened to memorize two plus two.
Interview Question | Sun 30 Nov | Steve Forest
Back during the dot com madness, I used to give technical interviews all of the time. The first thing I would say to Unix/C programmers was: You know, Im a Turbo Pascal/Delphi guy, and I really dont know C much at all. I have a question about printf I was wondering about: Will this compile? printf(There are %d days in February,12); Everyone would say yes, that this would compile. Then I would rewrite the statement and ask: Will this compile? printf(There are %d days in February); Out of maybe 100 people Ive asked that of, perhaps 97 said No, that wont compile. In those cases, I would then spend the next 15 minutes wondering how quickly I could wrap up the interview with the interviewee saving face. (By the way, many of those 97 candidates [I instantly internally rejected] would go on to tell me the wonderousness of Unix/C vs. Windows/Delphi!) This was always for a project that has been around for nearly 13 years that is made up of a Galacticomm BBS (written in DOS/Borland C++), a (now) XP machine running Turbo Pascal and Delphi programs, and a single Netware file server. (This system will probably run for at least another 5 years.) We tried three seperate times to replace this with Solaris/Oracle/Perl/C++/you name it. Failure each time. The latest try was with VB (not even close!) Now that Im involved with additional projects that deal with AIX, Ive decided to add an additional question that I really dont have the answer to (we ran into this on 1 of the Solaris trys): Where does standard out go in a daemon?
Sun 30 Nov | TooBadSoSad | In those cases, I would then spend the next 15 minutes wondering how quickly I could wrap up the interview with the interviewee 'saving face' Sad, it is. You are not yet a jedi. For a jedi would have asked what they used as a compiler. Some (Watcom being one), would declare it a compiler error. While it is language legal, that was not your question. This, in the end, is the problem with all these type questions. Much like your last one. Would 'it depends' be an acceptable answer? Would you know if they were right if they did not use your exact phrasing? Would you bet your job, the answer would be the same regardless of the OS? Based on the attitude, I would say the 97 were the lucky ones.
Sun 30 Nov | JimmyB | Let me suggest a question, just as usefull: Everyday, people's ability to mischaracterize reality, never ceases to amaze me. Or maybe it does. Please explain the contradiction. You have two minutes. Nothing in all the world is more dangerous than sincere ignorance and conscientious stupidity. Martin Luther King Jr. (1929 - 1968), Strength to Love, 1963
Sun 30 Nov | Insert half smiley here. | Erm... the incorrect printf should always compile. The people who say "no" are incorrect. If your compiler gives you a warning, that's good -- for you. However, the code will still compile.
Sun 30 Nov | Insert half smiley here. | D'oh -- I should add, Watcom is incorrect in this situation. It doesn't know what printf you are using. Maybe you have your own, for which %d means something different. It's none of its business -- it should indeed warn, but not fail.
Sun 30 Nov | Beth | What did you learn about the candidates by asking this question?
Sun 30 Nov | icancyuwudbeshy | Asking someone a technical question isn't to see if they  know the answer to your particular question or to trick them in order to boost your own ego, it's meant to see how they code and how they think.  A better question or exercise would be to ask the candidate to write strlen in a given amount of time and then question them as to why they did it the way they did.  You can obviously tell by the code they write and the answers they give if they know what they are doing and if they are the kind of coder you would want working for you.  Questioning them like this helps you to understand them and the way they think about problems while not suggesting that you are superior to them.
Sun 30 Nov | Frederic Faure | But then, how smart is it to still develop in C today, unless you have a very good reason to (eg. tight, portable code)? :-)
Sun 30 Nov | Sum Dum Gai | gcc will warn about it with suitable warning settings (such as -Wall). If you have warnings as errors, it wont compile. So even with the same compiler, it could depend on what your compiler settings are.
Sun 30 Nov | She sells C shells | 'But then, how smart is it to still develop in C today' Pretty smart since C applications represent 80% of commercial application revenue.
Sun 30 Nov | Steve Forest | Wow, such angryness! 'It depends' would be a wonderful answer--if only I heard it more often. I had one candidate who supposedly had written a text book on C programming. I asked her to write the classic 'hello world' program. She replied, 'Right now???' with incredularity. She couldn't do it. My point of this 'printf' question is that many people don't get what is REALLY going on under the hood. How can a compiler know that a format string and its 'passed arguments' (for lack of a better term) don't match up in either type or quantity? What if the format string was a variable that you didn't know the value of until runtime??? The few people who 'knew' about this went on to discuss with me about what would happen in what environments if you passed the character string 'fred' instead of a numeric value. They were hired and we invested a lot of money in them. Sorry, but for that project, I wasn't looking to train a newbie. I needed more senior people and was willing to pay for their expertise. Nope, I am not all knowing. But one of the reasons I stuck with Turbo Pascal v7 so long (still use it today!) is that the compiler is very simple and with years of experience with it, I can usually predict what it is going to do (not always true with Delphi!) The base Turbo Pascal command line compiler .exe size is less than 64K. Even at this size, there is WHOLE LOT to learn (Anders Hejlsberg, author of Turbo Pascal, Delphi, & C# is a genius in my opinion.) I still don't know where standard out goes in a daemon. We had one daemon written in C on Solaris where standard out would 'end up in the middle' of the data files we were processing. No apparent rhyme or reason. Just 'in the middle'.
Small LAN firewall recommendations? | Sun 30 Nov | Trollumination
Dear JOSers, I hate to bother you with something so trivial, but after one too many easily preventable hacker problems at my workplace Ive decided to put a firewall in front of our office LAN. Its about 10 computers, connected to the larger building LAN which, for arcane reasons, is not itself firewalled. My boss is not thrilled with my initial suggestion - finding a junk computer with two ethernet cards, a floppy drive, and nothing else - as I will be leaving soon and he has nobody who wants to maintain a floppy-based Linux system. He believes that firewall software would be a viable solution, but I cannot bring myself to trust the stuff somehow, and would rather have one box to maintain rather than 10 software installations. Therefore we have decided to buy one of those little ready-made firewall boxes for our office. The stores are full of cheap little boxes that do wireless and firewalling, or do NAT and firewalling, and stuff like that, and claim to have friendly user Web interfaces. Theres so many of them, but unfortunately there seems to be no easy way to find out which one would do what I need it to do. I need to firewall (port filtering is mandatory, stateful firewalling would be a nice bonus but isnt necessary), but I dont need wireless and I wont be using NAT - every box inside the firewall has its own IP. The machines inside the firewall need to be able to get IP addresses by DHCP - the firewall cant block them. Id be plugging 10 machines or so into the firewall through a large switch that I already have - so the firewall only needs one port on each side. And a friendly, yet sophisticated Web interface is a must. Any suggestions? I hope not to have to buy some box blindly and then find out that it only does NAT, or it blocks DHCP, or it wont work with more than N machines, or whatever.
Sun 30 Nov | Damian | I know this goes against not wanting to do it with Linux, but if his main objection is maintainance, have you looked at www.ipcop.org ? It is a Linux based firewall distro, complete with nice web interface. It does everything you need.
Sun 30 Nov | Li-fan Chen | Various companies sells what seems pretty professional looking perimeter firewall appliances. They run for more or less a grand I think. Check Nokia for one that somehow fits CheckPoint in it.
Sun 30 Nov | Wayne | We use a Sonicwall and have never had any problems with it.  Also, the support is great, if you need it, but it will cost you (not sure how much).
Sun 30 Nov | Frederic Faure | If your boss doesn't feel confortable with using anything other than Windows since you'll be leaving soon... what about a basic W2K or XP host running just ISC to act as Internet gateway, and a good software firewall like Kerio 2.1.5?
French translation needed... | Sun 30 Nov | Joel Spolsky
Can someone tell me how to say this in French? This chapter has not yet been translated to French. You can read the original in English here. Thanks :)
Sun 30 Nov | Fredrik Svensson | French is my third language.. but I used the fish to help me. Babelfish that is, and I think it produced an ok text. Sounded good to me, but please do not used it until verified by a native French speaker.. :) 'Ce chapitre n'a pas été encore traduit au Français. Vous pouvez lire l'original en anglais ici.' 'Detta kapitel är ännu inte översatt till Svenska. Orginalkapitlet på engelska kan läsas här' would be the Swedish translation. :)
Sun 30 Nov | Joel Spolsky | Merci! As you may have guessed I've only got the first two chapters of UI for Programmers translated to French, and I decided it's better to post what I have than wait until everything is done...
Sun 30 Nov | Joel Spolsky | Maybe n'été pas encore?
Sun 30 Nov | Pakter | Presque, Fredrik. Native French speaker speaking : 'Ce chapitre n'a pas encore été traduit en français. Vous pouvez lire l'original en anglais ici.'
Sun 30 Nov | Joel Spolsky | thanks! Those babelfish type programs often get the prepositions wrong...
Sun 30 Nov | Pakter | (By the way, maybe I should submit my French translation of "Rub a dub dub")
Sun 30 Nov | Fredrik Svensson | No it should be like above. You use avoir before etre. Traduit is the main verb. Été is passe compose, that requres avior in front. Otherwise you have to pick another form of etre. Oh I saw Pakters note now. Use that..
Sun 30 Nov | Pakter | (But beware of native speakers. They sometimes have awful spelling...)
Sun 30 Nov | Joel Spolsky | Done! The first two chapters are now available at http://french.joelonsoftware.com .
Sun 30 Nov | Pakter | You meant :  "översatt till franska", Fredrik ;-)
Sun 30 Nov | Fredrik Svensson | Hehe, no I actually meant 'svenska' (Swedish), since I was hoping for swedish translations.. Then I saw there were already some. http://swedish.joelonsoftware.com/ How come you know Swedish ? Babelfish does not have Swedish.. although that is one of the most important languages of the world. :) But you are correct in that I missused the capitalization. It should have been 'svenska' not 'Svenska' It is the curse of English floating into the native language.. As you point out that you should be aware of nativespeakers spelling.. it is so true. I live in Stuttgart, Germany and that also is something that does not improve my Swedish spelling. Now also german starts to overshadow my french (had 5 years in school). I forget my french, and my german was never good, never studdied before I went here. SO now I am jack of all languages, master of none. I lived in Geneva, been a lot in France but still I need to spend more time keeping it up... I don't want to loose it..
Sun 30 Nov | Pakter | I wish I knew Swedish ! But I've just tried to guess and then ckecked with google, and it seems I was lucky. I only know a tiny subset of Icelandic. (But I happen to be reading Vilhelm Moberg's books - though not in Swedish, of course).
Sun 30 Nov | Fredrik Svensson | Yes I bet, too pick up all thouse good looking girls :) Oh, Moberg comes from my part of Sweden. Småland. The stories about some swedes establishing a new life in the US is very good. Since the books are about people and scenery from home, they are extra strong. I have also heard stories of people emigrating although none in my family did. My grandmother had a neighbour that had emigrated when he was young etc.. A nice story about Sweden that will guide you through the whole of Sweden, (used in school earlier as a Swedish geography book) is The Wonderful Adventures of Nils by Selma Lagerlöf. A Swedish novelist, who in 1909 became the first woman writer to win the Nobel Prize for Literature. I know it exists in French since I gave it away as an birthday present once. Oh, we better end this 'private' thread. I need to get some sleep :)
Sun 30 Nov | Stephen Jones | I think "on peut lire" would be better than "vous pouvez lire". The latter smacks of "franglais".
Sun 30 Nov | Frederic Faure | Nope. "On" is oral, colloquial, "Vous is more polite, written". Considering this is written, formal documentation, I would recommend using "vous".
Sun 30 Nov | FireMode | "Vous" is used in the French translations of JOS articles instead of "On".
Dealing with Interruptions | Sun 30 Nov | Programmus Interruptus
I have two colleagues who drop into my office every hour or two and want to chat with me for a minute. I believe its part of their socializing program, because they either want to chat about rubbish or the same old subject as yesterday. When Im not doing serious coding, I think its OK and chat with them out of politeness. If Im deep into some hacking, I am just irritated and dont know if I should just blow them off or be the polite collegue and do as they please. What is the best strategy? Right now, I tend to be the grumpy one and brisk them off.
Sun 30 Nov | Ori Berger | Close the door when you need to concentrate. Explain it before hand, so they don't start to speculate about why you're closing the door. It works. Really.
Sun 30 Nov | Andrew Hurst | Be straight with them. Most people can handle it. (hopefully). Just tell them you're deep into a problem, and you'll have time to talk later. If they get huffy, and can't take it, well then I don't know what to do :) Maybe someone else will have a better answer. Just be polite though, and let them know you're busy. I don't see why they'd mind.
Sun 30 Nov | Thomas | I agree with Andrew, be straight with them. Just a simple, 'I'm busy, please come back later unless this is urgent or critical'. If pressed for an explanation, tell them you're deep in the middle of a complex problem and need to focus. If they still don't get it, they are acting like ten-year-olds and it's appropriate to treat them that way. 'Have you ever been working really hard on something complex and had someone interrupt you? And then you get back to what you're doing and you have forgotten where you were? Wasn't that frustrating? Okay, well I need to concentrate to get through what I'm working on here, and being interrupted will break my concentration. I would really appreciate it if you would come back later when I'm finished with this. In fact by then I'll probably be glad of the break. Okay?' -Thomas
Sun 30 Nov | Bored Bystander | Another vote for being straight with these co-workers and defining some way to indicate to them that you're off-limits. What's those figures I keep reading that state how many minutes it takes for a programmer to enter 'the zone' and develop the deep concentration needed to do actual, real development work? Something like 45 minutes on average, isn't it? 99% of the management subhuman race is oblivious to this fact, but other programmers should easily 'buy' a clue and be considerate.
Sun 30 Nov | www.marktaw.com | I agree, you're too afraid of offending. You'll probably be surprised how understanding they'll be if you simply tell them from time to time that you're busy and can't be interrupted. If you're still afraid of offending them, drop by their offices/cubicles later that day and ask them what it was they wanted to talk to you about. Maybe suggest going out to a bar after work, or going to lunch. You're not rejecting them, you're doing your job.
Sun 30 Nov | Bored Bystander | Heh. Years ago when I worked in an office I had an office-mate who wanted to jabber incessantly when I was deepy focused. One day this guy starts his tirade and I blew him off. Absolute silence immediately follows. I turn around and see a GIGANTIC (3' tall) drawing of a hand giving a middle finger (to me) drawn on the whiteboard. The guy was nowhere to be found. Probably nursing his fifth of Wild Turkey somewhere else in the building at 9:30 AM. So, some people may be 'offended'....
Sun 30 Nov | www.marktaw.com | And those people you shouldn't worry about offending, they'd find something they didn't like about you eventually.
Learning Unix/Linux | Sun 30 Nov | asofoetida - it is a herb
I just joined a new company which is a java/linux shop. Coming from a MS environment I feel like a total moroon when faced with even simple OS related task. Are there sites that has tutorials from a basic level for novices like me?
Sun 30 Nov | Matthew Lock | http://www.google.com.au/search?sourceid=mozclient&ie=utf-8&oe=utf-8&q=learn+unix
Sun 30 Nov | blargle | lots of docs here www.tldp.org download a distribution and have a play ... you could mess about with www.knoppix.org or www.gnoppix.org - just boot from cd - nothing installed to hard drive ..
Sun 30 Nov | John Eikenberry | The afore-mentioned www.tldp.org is probably the main source for linux documentation. There is a ton of documentation there including introductory material. Specifically you should probably check out the intro guide and the FAQ: http://www.tldp.org/LDP/intro-linux/html/index.html http://www.tldp.org/FAQ/Linux-FAQ/index.html If you like things in book form, Orielly's 'Running Linux' for a good intro text or 'Linux in a Nutshell' as a reference. Hope this helps.
Sun 30 Nov | Fredrik Svensson | http://linux-newbie.sunsite.dk/index.html might help. Otherwise I recomend to install one of your older boxes, a PIII 350 Mhz or something, at home. Then you can use Linux and Windows at the same time. Another thing I noted was that it was as hard to learn linux as windows. Sounds strange right ? I remember when I got my brand new 486 33 Mhz with Windows 3.1 installed. I learnt how to use it with the help of friends. We all worked together found out how things worked. (Yes, highschool time.. ) But hey you also botherd some Windows guy with all the questions you had. I have been on the recieving end of these questions as well, so I know everybody uses this method in some way to learn Windows. The same thing happend at Uni where now on a Cyrix P200 I decided to nuke my windows installation and try Debian. I was lost again, but with other friends I worked out the quirks. If you have no Linux friends, IRC may help, but if you talk to the people at your company they will probably help you through the transision. It will take some time, just like it took time before you got up to speed with windows. Try to start develop under Linux. It is not that hard to get up to speed with a texteditor, and then you will slowly learn things around this area as you need them.
Sun 30 Nov | Bella | Wow, you have an opportunity to increase your skillset out to a whole new dimension. Stay after work, and devour some textbooks. Will you be coding Java? You may not need to learn Unix in depth, (but you should anyways) but at least learn about the navigating the filesystem, some of the utilities (grep, find, piping, redirecting, etc) , and writing simple shell scripts.
Sun 30 Nov | æøå | Knoppix is a distro that fits on, and boots from, a CD. Could be nice to have a peek before struggling with installations. http://www.knoppix.net/
Sun 30 Nov | fw | Well, although I don't use it much myself, I'd suggest using redhat 9 as a desktop, basically it's simple to use, and use all the redhat-config-* things to do o/s modifications. As for running things in java, get the rpm's for things like ant etc... or whtaever you are using. Then learn how to the enviroment works in a shell (e.g. setting java_home, classpath etc...). Once you need to go down and do specific things, google is your best friend, and places like tldp.org will give you more than enough.
Sun 30 Nov | Tom Vu | Install linux or bsd on an old computer (less than $100) and read some howtos on the internet. Also type man man on the command line to see how documentation works.
Sun 30 Nov | snotnose | Get the book "Think Unix", by Jon Lasser, $21 at Amazon.  A few years back I had to evaluate books for some co-workers in your position, this was the best I found.
Sun 30 Nov | anon | If you're a complete newbie to Unix, you may want to check out the Unix for Dummies book. I read it back in college and it really helped give a simple overview of what you need to know to use it day to day. As embarassing as it might be to read a Dummies book, that one is actually a good introduction. Once you've gotten a hang of the basics of Unix, O'Reilly's Unix in a Nutshell is a good reference to the most common Unix commands, and Unix Power Tools has some nice tips and tricks for a more advanced user. If you start out with trying to install a Linux distribution you'll spend more time learning how to install Linux than using it. The best way to learn Unix is to force yourself to use it every day, and ask your coworkers questions when you need to know how to do something specific. Using Linux at home is a good exercise if you've already gotten used to Unix, but I personally wouldn't try that as a first step.
Sun 30 Nov | as | I still like Kernighan & Pike's "The Unix Programming Environment", although it's a bit out of date. It gives the best overview of the ideas behind the system I've ever come across, much better IMO than Eric Raymond's latest piece of windbaggery.
Sun 30 Nov | Li-fan Chen | An apache pilot, capable of flying the amazing fruit of a multibillion project, can't fly a cessna until he logs enough hours in the simulator or at least attend a course in person. Same vise versa. Linux is no cessna, nor apache, but it looks like you have to log some hours. Get an extra PC (or vmware, blah blah), make it your primary machine, and keep solving every little thing you bump into. Hire a computer science student (the one working in the Sun lab) 2 hours a week to help you resolve any problem you can't seem to figure out.
Sun 30 Nov | Bored Bystander | There's another option in learning Linux on your own. A whole bunch of 'virtual root' Linux web hosts have sprung up in the last year. The keyword to look for is 'VPS', virtual private server. With these you basically lease a private instance of Linux over the internet that you can install anything onto, any server, application, etc. You Telnet in for shell access. I am paying $30/mo for 2 gig storage, 20 gig/mo of traffic. I went with this option for some web sites I host myself and I have learned SO much about Linux system administration it's unreal! And you can actually do useful things with such an account, like run your own web services, etc.
Sun 30 Nov | Stephen Jones | 'If you start out with trying to install a Linux distribution you'll spend more time learning how to install Linux than using it.' Actually you will spend more time playing tetris or watching TV during the install. A Linux install on standard hardware is the easiest thing out. Probably easier than installing MS Office
Sun 30 Nov | Not who you think ... | Get yourself a copy of Gentoo Linux to play with. By the time you get it running you'll know a metric assload of Linux/Unix stuff. It is just about as far from an automated install as you can get. Yet when you are done you have a pretty nice highly customized system. Highly worthwhile.
Where do YOU get productivity tips? | Sun 30 Nov | Entrepreneur
Ive been working from home (my ISV company) for several years now. ONe of the things I miss about working around other people is spotting the little productive tricks they have. For example: My old boss had ONE notebook in which he took ALL notes, ToDOs, etc. I use that trick and then also put the date on the notebook when I finish, so I can refer back to if if necessary. Any suggestions of how to pick up those tricks? (Feel free to LIST your best 3 or 4 tips below).
Sun 30 Nov | John C. | Take a look at the book "Time Tactics of Very Successful People".
Sun 30 Nov | JT | One book: Stephen Covey's "The Seven Habits of Highly Effective People."  If you still want more, his "First Things First" is a great followup.  If you ever, in a lifetime, manage to master the material in those books, then some other sources might be in order, but that's where I'd start (and probably where I'll finish, too).
Sun 30 Nov | Matthew Lock | I found these articles really helpful: http://www.dexterity.com/articles/get-more-done.htm http://www.dexterity.com/articles/cultivating-burning-desire.htm http://www.dexterity.com/articles/do-it-now.htm
Sun 30 Nov | Tom Vu | I just setup a wiki for myself on my home network. I don't know what the impact on my productivity will be yet but at least everything is in one place.
Sun 30 Nov | Evgeny Gesin /Javadesk/ | Productivity tips? DO BACKUPS!
Sun 30 Nov | John C. | Oh yeah, and for a development productivity tip: Invest in a dual-head system. Seriously. Earlier this year I anted up for a pair of 18-inch LCDs, and it's absolutely shocking how much benefit it provides.
Sun 30 Nov | Entrepreneur | Yes, dual (or triple!) display is on my list. I'm moving myself, my family (3 kids+wife) 'cross country to Blacksburg, VA this week. More office space at the new house. Covey books are excellent. I'll take a look at the other one.
Sun 30 Nov | Jonathan | Entrepreneur, I'm in Blacksburg, VA too. I'm curious why you're moving here. Are you or your wife going to school? What kind of company do you own? You can email me offline if you wish since it really isn't related to this topic.
Where to place CVS? | Sat 29 Nov | Kalamazoo
In a UNIX box, I have only access to the /tmp folder Will it be okay to place a CVS in the above folder? I am assuming all users can access the shared /tmp . I do not have root access.
Sun 30 Nov | scruffie | Considering that /tmp on some machines gets cleared out regularly, that's a bad idea. On my boxes everything in it is removed on reboots.
Sun 30 Nov | jhy | Do you have a home directory on this box? Put it in there, and set the permissions accordingly. But I think you'd be best off if you ask your sysadmin to create a designated user & group for it, and to put everyone who needs write access to the repository into that group.
Sun 30 Nov | fw | When you login to the machine, type pwd, that should be your home directory, then mkdir cvs, and chown og-rwx cvs, then you can cvs init that directory and let it in use there. /tmp is cleared out allot (sometimes nightly, sometimes just after reboot), so it'd not a good idea to use there.
how good a software engineer | Sat 29 Nov | robert
How good a software engineer would you be if you could replicate the quality of the clustering done by one of the commercial search engines,and get similar results in a few months of work? Do people think its difficult to do?
Sat 29 Nov | Pretty Good | It's easy if you have enough money for all the hardware you'd need to scan the entire net. The real problem would be negotiating license fees with google since their methods are patented.
Sat 29 Nov | www.marktaw.com | Google's Pagerank is really "I should have thought of that" brilliant. Not to mention that in order to pull results from a database the size of Alaska in less than a second you'd have to tweak everything, down to the OS, maybe even hardware. Oh yeah, and then server up several billion search results a day.
Sat 29 Nov | robert | I have implemented algorithms for clustering on a search engine data set, and results are comparable to some other commercial engines. Do people think that the heuristic algorithms you would use are difficult?
Sat 29 Nov | Anon. Coward | Actually the real problem isn't developing the software or buying the hardware. The real problem with re-creating Google would be generating the mindshare to get people to switch. Unless your version is so vastly superior to google as to generate word-of-mouth, you'd have to spend a bazillion dollars on advertising to get people to know about your search engine.
Sat 29 Nov | robert | It isn't comepting with google, once you have the 10,000 results google generates, mine groups and clusters the results, and is comparable to other clustering engines of this category, vivisimo, and a couple of others.
Sun 30 Nov | Stephen Jones | The thing about Google is that it proves that if something is a lot better, then word of mouth is all that is needed for it to take off. Remember the old days when Yahoo search ruled the roost? Anyway the OP's question is a little like how good a physicist would you be if you thought up the law of gravity again. Once the original guy's done it redoing actual calcuations don't get many genius points.
Sun 30 Nov | www.marktaw.com | Hey, 'any application could be re-written in 45 days' (joke for those of you who read that thread). Google really did have humble roots, if you can write something that 'just works' the way Google does there's no reason it can't take off, or at least get a few corporate clients who need that kind of functionality. As far as taking on Google in 3 months... No way. You'd have to spider the whole internet, and tackle all the problems they've tackled, some things probably took months or years to work out and get to the point where they are.
Sun 30 Nov | Dennis Forbes | I don't recall Yahoo search ever ruling the roost. Indeed, for the longest time Yahoo's 'search' was nothing more than searching its own user submitted web 'index'. Before Google I used Excite, which was most definitely the winner at the time, and before that the search engine of choice was AltaVista.
Sun 30 Nov | Stephen Jones | The fact that Yahoo's list was done manually meant that it was good. Other search engines often failed because people shamelessly exploited the meta tags. I would say Google took over some time in 2000 to 2001. With Yahoo I would often have to drill down six or seven levels. When I found one search in Google would do the trick I was amazed. Searching used to take up to half an hour. With Google it became more or less one click.
Sun 30 Nov | fw | Remember, coming up with software which can do as good as google in one area doesn't mean you can compete, not be a long shot. You have to crawl allot before you become in any way useful, you need a real dataset to work with, which means you need allot of storage, then you have to think about the bandwidth you have available, then failover, then scalability, then indexing etc.... Mind you, best of luck all the same, I often do mini projects e.g. coming up with a system like google, they're just for the sake of learning really...
Sun 30 Nov | Alex | Robert, if you have everything else Google has, you can take them on what they don't have: a better query. Their queries are just too simple, when you are doing research you need more power and it's not there. Nested boolean, etc. A complicated, albeit cryptic, powerful query language would definitely win my heart.
Sun 30 Nov | www.marktaw.com | And punctuation. .net c++ etc.
Sun 30 Nov | Roose | Such queries with && and || might be good for you and I, who are programmers.  But I've heard that people have examined queries (on alta vista and such), and pretty much no one uses those features.  I think Google was smart not to have them.  The design decision was that you should be able to get the best results possible without resorting to them.  And even though it does seem counterintuitive, I think they were right.  There are occasions when I have to do a couple or 3 queries where one could have done, but it doesn't seem to make a big difference.
Sun 30 Nov | Roose | In any case, the point was that you're not going to get any market share by adding boolean logic to queries.
Sun 30 Nov | Alex | Of course not. If I were Google, I'd definitely not have nested boolean statements. But sometimes I miss them, that's all. Along with EXACT, even case-sensitive, matching like '.net'
Reading Times | Sat 29 Nov | Unorganized Twat
Im impressed by how many books some of you read. Im not very disciplined about that, and I would love to read more. What tips and advices would you give me. I purchase a stack of books from Amazon 2 months ago I have not opened one yet :-( Ive got a hard time switching the TV and the Internet off and grab my chair for some reading. A Procrastinator Patient
Sat 29 Nov | Lou | If you're having a hard time comitting to something, schedule it in your day planner/PIM/etc.  Set aside time every day for it and do it every day.  Reading to learn new skills and new methodologies is important to a continuing development of your skills, so set time aside and make a firm commitment to it.
Sat 29 Nov | www.marktaw.com | 1 hour on the train to work, 1 hour on the train home from work = approx 500 hours (2 hours * 250 days) of reading a year. 2 hours bike riding 2-3 times a week 6+ months a year = approx 130 hours of listening to books on tape. In the past 10 years since I graduated High School, I've probably had the equivelant of 3 or 4 university degrees. If you drive, consider books on tape/cd/mp3. I don't think Peopleware or Learn C++ in a day and a half comes on tape, but there are thousands of book that do.
Sat 29 Nov | www.marktaw.com | Oh, and don't buy a stack of books, just buy 1 or 2 books at a time. Whenever I buy more than a book at a time, especially if they're on the same topic, after I finish the first one my interests have probably changed and I'm not interested in the other book I got. Or if I bought more than two, and start reading one, there's probably a reason I didn't chose the other(s) to read first - I might not have been that interested to begin with.
Sat 29 Nov | Cletus | 'In the past 10 years since I graduated High School, I've probably had the equivelant of 3 or 4 university degrees.' I have the same problem. A bunch of books half-started and then I have to reread them because I have forgotten what I initially read. I once bought a book on procrastination, but I never got around to reading it because I kept putting it off :) Is your book purchasing/reading organized around a certain topic(s), i.e Software Engineering, Politics, Philosophy etc, or do you read books at random in whatever interests you have at the moment? Do you read several books on a subject to develop a thorough understanding of a particular subject or do buy one or two books and 'dabble' in various subject matter?
Sat 29 Nov | www.marktaw.com | I tend to read in circles, so to speak. One topic will interest me for a while, and then another, and then another, and then I'll find someone with something new to say on the first topic. More to the point, it's not a topic that interests me, but a writer or book that really has something to say that's new to me. How do you choose what CD's you're going to buy? Sure you might go into the store and say 'I want to buy a dance album, let me sample tracks from some dance CD's,' but you're more likely to find something somewhere - at a friend's house, on the radio, on tv, by recommendation - that just strikes a chord (no pun intended) with you.
Sun 30 Nov | Stephen Jones | Before the Internet came round I would spend four or five hours a day reading. If I ran out of newspapers I would read the telephone directory. Don't confuse technical books with 'recreational' reading. Apart from anything else the speed you will read at is vastly different. The 'learn in 24 hours' mean just that - 24 hours, which would be anything from four days to a fortnight, depending on how many hours a day.
Sun 30 Nov | Entrepreneur | PICKING BOOKS Any suggestions of good sites to find books to read? I've always thought it would be great to have a self-maintaining website where books are listed by category and people can vote on books. (I know amazon SORT OF has this, but not by category). It took me YEARS to find some good general books on programming (Code Complete, etc.) The best .1% of books are 10x better than the average college professor. (The top 1% of professors are even better :-)
Sun 30 Nov | Entrepreneur | BTW, I keep a good book in every bathroom in the house. One of those 3 BRs is my office bathroom. :-)
Sun 30 Nov | www.marktaw.com | I eat lots of veggies and I don't spend that much time in the bathroom....
Sun 30 Nov | John C. | Two things to do: Find time to read in the first place, and read effectively with the time you have. First, find someplace where you can get away from the Internet and the TV, like a local cafe (assuming the noise doesn't bother you, and you don't bring your notebook and WiFi connection to distract you). Or read over lunch, or first thing in the morning, or last thing before you go to bed. Find a quiet bench in a nearby park. On airplanes and trains. Whatever... experiment and figure out what works for you. Second, make sure that when you read, you're really focused. I find that reading with a pencil in hand, making notes in the margins and on the blank pages at the front of the book, etc., really helps me concentrate and avoid speeding up to a point where I'm not really paying attention. Or take notes on your notebook as you go along, if you can resist the temptation to Web surf instead. Read actively. Imagine that after you're done with each chapter, or the entire book, you're going to tell a friend what you learned, or write a review of the book on Amazon. But basically, reading is like physical exercise -- you have to convince yourself this is something worth doing and then Just Do It (sorry Nike).
Sun 30 Nov | www.marktaw.com | ... and the more you do it the better you get, and the more enjoyable it is.
Sun 30 Nov | Cletus | 'But basically, reading is like physical exercise -- you have to convince yourself this is something worth doing and then Just Do It (sorry Nike).' I guess my problem is not that reading isn't important, but the consistency/discipline to finish books. I guess I would agree that I need to develop my reading 'discipline' muscle.
Sun 30 Nov | Pat Galea | I have a technique I kludged together from military training techniques (that I read about) and AA. The idea is very simple: one day at a time. Sometimes tackling a really big book can seem quite daunting; how on Earth am I *ever* going to get through all that? So instead, resolve only to complete chapter 1. That's all. You're not comitting yourself to any more than that. Learn it thoroughly, and don't leave it 'til you're *sure* you understand it. Once that's done, move on to the next chapter and resolve to tackle that one to completion. Sometimes you won't complete the book in one contiguous lump. You're tastes will have moved on to something else. But I find that because I haven't pressurised myself to doing the entire thing, I haven't rushed the individual chapters. So what I *have* learned has really sunk in, and it's a lot easier to pick up where I left off when I eventually do get the 'itch' to study it again.
Sun 30 Nov | Pat Galea | s/You're tastes/Your tastes/ Obviously I'm suffering from Excessive Apostrophe Syndrome. I do apologise.
Sun 30 Nov | www.marktaw.com | I used to read a book within a book within a book... A large complex book, then in the middle pick up something else, and in the middle of that pick up something else. Then go back to the second book - surprisingly refreshed, and the back to the first book, and the material that seemed dull after 500 pages also seems surprisingly fresh again. I don't really read enough to have those kinds of quirks now though.
Sun 30 Nov | Tim Sharrock | re 'Any suggestions of good sites to find books to read?': I find http://www.accu.org/bookreviews/public/ a good place to start for computing related books. Tim
POLL : Do you play video Games ? | Sat 29 Nov | Gamerz
Do you play video games ? On PC ? Consoles ?
Sat 29 Nov | Almost Anonymous | Just purchased a Gamecube.  Both for fun and for the nostalgia factor.
Sat 29 Nov | Mongo | Never. I have enough trouble as it is getting stuff done. If I let myself play games, I'd be, if you'll forgive the expression, doomed.
Sat 29 Nov | www.marktaw.com | POLL : How Many Of You Guys Are Video Gamers Snacky (45) http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=44704&ixReplies=45
Sat 29 Nov | hoser | Most of JoS is a repeat and I didn't get to vote. Used to. Don't anymore. My wife broke by Age of Empires CD in half. Haven't played a game since.
Sat 29 Nov | Dennis Atkins | I don't play any video games. Life is more interesting. Games are for children.
Sat 29 Nov | FullNameRequired | occasionally (_very_ occasionally) I settle in for a week with doom, warcraft or something along that route. but thats pretty infrequently these deays, maybe once every year or two (2 years at least since the last one, but now Im thinking about it I might do it again over christmas). mostly though I avoid even owning the games...if I own them Ill play them, and when Im playing them im not working or being nice to my girlfriend or walking the dog :) ( we dont have sky television (pay tv) for the same reason...better tv means Ill watch it more...all bad really..)
Sat 29 Nov | www.marktaw.com | I only have broadcast TV, and in NYC that means all the major networks, what everyone used to watch before Cable & Satellite came along. The games I have tend to be along the adventure/rpg line, and I play them with my girlfriend. Typically if it isn't two player, or a game that's interesting to watch (read: with a strong plot, and not a shoot-em-up) we skim 'em.
Sat 29 Nov | www.marktaw.com | Oh, and to answer your question, console only.
Sun 30 Nov | Stephen Jones | I used to paly chess with the computer until I upgraded the hardware and decided I wouldn't have a chance :)
Sun 30 Nov | Stephen Jones | And while any computer can play chess better than me I have yet to come across a half-way decent Bridge program.
Sun 30 Nov | Dennis Forbes | There was an interesting stat in the National Post today (in a techno-toy type section) commenting that the average age of video game players is up to 29, and rising. It really is a world of difference from the classic '13 year old' Sega Genesis player. Having said that, I had my wonderful daughter (first child) at 30, and for the 9 months since have had absolutely no time for anything...so if my situation is common then the stat might not rise too much further...
Sun 30 Nov | www.marktaw.com | > It really is a world of difference from the classic '13 year old' Sega Genesis player. Um. Really? Isn't the 13 year old Sega Genesis player now around 29?
Sun 30 Nov | Li-fan Chen | I was a counter strike addict. Seeing even the mildest display of violence makes my mouse button finger twitch. I don't know about others but when I don't play addictive games like this it gives me a chance to be more productive on my off time. I would say the more time you work on your ventures the more chance fortune will smile on you.
Sun 30 Nov | jedidjab79 | >>>Um. Really? Isn't the 13 year old Sega Genesis player now around 29? Yep pretty much :) That's why all the games on mobile phones and GBA are so popular ... our age group all grew up with 2D stuff and want it back again ;)
Sun 30 Nov | Ross | About the poll: I play sometimes, PC games (Max Payne) and with old computer emulators. About this : << I don't play any video games. Life is more interesting. Games are for children. Dennis Atkins << I strongly disagree. I guess it's the same with cartoon, some people thinks Futurama, Simpsons, South Park, etc. are cartoon SO they are for children. Absurd. I mean of course there are cartoons/games specially developed for kids, but they are not all the games. It's like toys, you watch tv and see all those toy ads. Then you see your last generation mobile, your last generation digital cam, your MP3/CD player... what are they, if not electronic toys for adult people? I see gaming as an intelectual activity. And I see the taste of game in the esence of intelectual activity. If you enjoy it... then there is some kind of game in it. I can see gaming everywhere. Joking? It's a game about getting surprise with gestual/word expressions. Sport? it's game. Life? It's kind of roleplaying game. Programming? It's a game where you try to get the computer acts as you want. Reading a book? It's a game where you enter in a fiction world and let you go. Cinema? It's a game where you try to feel a story, watching those untrue pictures on a flat screen inside a dark room.
Sun 30 Nov | rexguo | As busy as I am (just like everybody else), I make time to play video games. Games stimulate the mind, injects creative juices. It's games that got me into computers and I shouldn't leave that behind. I feel every programmer should play games regularly. Any programmer who tells me that he/she has got no time for games, or that games are boring, is telling me that they've turned into machine-like programmers.
Sun 30 Nov | T. Norman | >'Games are for children.' Nowadays, many games are rated as adults-only. Some shops require you to show ID to purchase those games.
Sun 30 Nov | Patrik | Flight Sim 2004 is what I play; not really a relaxing game since you have to plan everything to be able to do stuff properly. GTA Vice City is cool also :)
Sun 30 Nov | T. Norman | Up until the late 90's I used to play games fairly regularly. But then more and more games started requiring increasingly complex controls, requiring the active use of more and more buttons. I loved the shooters like Doom, Heretic and Duke Nukem3D where all you had to do was run and shoot, with an occasional tap of another button to open a door or change your weapon. Tomb Raider and Quake brought a bit more complexity in the controls, but they were manageable. Then games like Half-Life came along, forcing you to know how to do all sorts of crazy gymnastics with 45 different buttons and 100 different ways to shoot, jump, run and crawl. And you pretty much had to know all those complex controls or you'd die in a second. Joysticks and gamepads started supporting the trend; they would have so many different buttons that you'd almost have to be an octopus to use them. They would even include a training mode so you could learn how to move the man around and shoot without getting killed instantly. But I don't have the patience to spend hours of training before I actually start to play. When gaming becomes so much work, it becomes more frustration than fun. So for the last 3 years or so I rarely played any games. Then I started to realize that I was losing an ability which I believe gaming was helping to enhance, which is the ability to concentrate my attention on one thing for long uninterrupted periods. Playing an action-heavy or real-time strategy game for a couple hours non-stop requires constant focus that is more intense than almost anything else you do in life. But once you can do that without trouble, focusing for a few hours of programming or taking an exam becomes easy. So I've convinced myself to start gaming again. I've started with reviving the old favorites, turning to JDoom and JHeretic (http://www.doomsdayhq.com/) which are graphically enhanced versions of the originals. I'm also planning to resume chess, and I am now looking into some of the better 2-4 year old games that can be found for $10 in bargain bins or on eBay. I recently downloaded the Deus Ex demo (the original), and hopefully it won't require octopus hands for the controls. If you have any others to recommend, please go ahead.
Sun 30 Nov | Brad Wilson | I play PC games (primarily Dark Age of Camelot), as well as console games (own all three current-gen consoles). Over my lifetime, I've owned just about every game console ever made. Games are great for your mind. They are an excellent relief from work stress, and the antidote for inert TV watching.
Sun 30 Nov | T. Norman | '...and the antidote for inert TV watching.' Exactly. I wondered for a little while where I'm going to find the time for my renewed gaming habits, then I decided I'd just take it out of my TV time. I watch about 15-20 hours a week, so it shouldn't be terribly difficult to take about 5 hours out of that for gaming.
Sun 30 Nov | WhatTimeIsItEccles | No, can't see the point of them. I spend my free time doing constructive things and having a life.
Sun 30 Nov | Name expired | Hehe.. all the serious people that claim to have a more important life.. it is not mutually exclusive to have a life and enjoy a game now and then.. lighten up. I play Enemy Territory which is a FREE game, based on the Return to the Castle of Wolfenstein. It is a Quake type of game, where you have different classes of people, to accomplish a task. Engineer, Medic, Soldier, Covert op and Field op. You play it online, with/against other armchair soldiers.. ehh people.. So lets open a JoelOnSoftware server.. :)) It helps you to relax, think about something different. Just like running and swimming which I also do when I am pretending to have a real life..
Sun 30 Nov | Gamer | Some games show very good UI. Worth to pay attention to some of the details ...
Sun 30 Nov | Me too! | Solitaire, WinMine and if I feel really adventurous, perhaps Spider Solitaire.
Sun 30 Nov | Dennis Atkins | OK maybe not for children age wise but for children emotionally and developmentally. Computer games are not sports. Flight simulators? Give me a break. That is NOT more enjoyable than taking my Cessna for a spin, nor is it more enjoyable than hanggliding, another enjoyable pasttime. GTA? Oh sure, you find beating up prostitutes and running over old ladies enjoyable? Well to say you have the mentality of a child would be charitable. You guys need to get a life. A real life. Oh sorry, maybe that's not possible.
Sun 30 Nov | Full name: | Insult and ad hominem attacks may win arguments with your loser friends, but not here. You do have friends don't you? I hope you don't spend all your time reading forum topics that you're already not interested in just so you can insult people.
Sun 30 Nov | FullNameRequired | 'That is NOT more enjoyable than taking my Cessna for a spin, nor is it more enjoyable than hanggliding, another enjoyable pasttime.' I have to agree...if my life included taking _my_ cessna for a spin or hanggliding then prolly Id be less interested in spending time playing computer games. 'GTA? Oh sure, you find beating up prostitutes and running over old ladies enjoyable? Well to say you have the mentality of a child would be charitable.' LOL I do actually. Im another fan of it...we dont actually own the game (that would mean that Id play it on a regular basis) but I often visit my beloved sibling and _she_ has a game console and a copy. Sometimes its fun just driving the cars about the town (randomly flattening the occasional pedestrian for entertainment) and leaping from car to car seeing how quickly I can get a bad rep. Other times I get my kicks by getting a hold of that chainsaw and hacking into innocent pedestrians, tearing their bodys apart in a wild orgy of blood and gore. every once in a while I just work through the actual missions as well, that can be fun. I am personally responsible for the deaths of thousands of people (and equally large numbers of various kinds of monsters), many of whom have died in the most horrific manner possible, slaughtered by a madman who is laughing while he does it, gleefully inflicting incredible amounts of damage for no particular reason. ...oh yeah....
Sun 30 Nov | Tim Lara | I haven't played video games that avidly since the glory days of Nintendo (good old NES), but I would attibute this much more to a lack of free time than to a lack of interest -- I certainly haven't 'grown up' in any other aspect of life. ;) For some reason, though, I never really got into playing games on the PC. I have always preferred consoles. Maybe it's because consoles generally 'just work' after you turn them on, or maybe it's just because consoles are typically set up in a much more comfortable area of the home than PCs are. No matter what you're doing, sitting at a desk just feels more like working than sitting on the couch...
Sun 30 Nov | Dennis Atkins | 'Fullname:': 'Not interested in' It's a POLL. A poll isn't much good if you only take one side. As far as going off topic from the poll itself, I am entitled to respond to the slams that are subsequently directed at me. 'Fullname:' as far as 'friends' go, you could stand to get out and make some. It's called real-life, something that g4m3r2 know precious little about from the coziness of your mother's basements.
Sun 30 Nov | Dennis Atkins | 'I get my kicks by getting a hold of that chainsaw and hacking into innocent pedestrians, tearing their bodys apart in a wild orgy of blood and gore.', said FNR. This is exactly my point. Get out there and meet real people and maybe you won't find 'enjoyable' the idea of violently slaughtering them, even 'virtually'. Many years ago, people who even thought of such things were considered sickos. Now, for people who naturally would not think of such abominations, we have (colliseum) 'games' to get them fixating and fantasizing about these things. Then we wonder where the Kleboz and Harris' of the world get their ideas. Believe me, real life is a helluva lot more fun. Ever try surfing? Rockclimbing? Off road cycling? Or howabout gardening? Making crafts to enter in the fair and try for a blue ribbon? No, because TV and video games take up all your time since after a long 7 hr day of staring at a CRT posting on JoS and surfing about in the pretext of doing work, you can't wait to get home, fire up the CRT and get busy. Lame lame lame. Look up 'wanker' in the dictionary and there it is, the adult g4M3r.
Sun 30 Nov | FullNameRequired | 'Get out there and meet real people and maybe you won't find 'enjoyable' the idea of violently slaughtering them, even 'virtually'.' LOL. you are actually quite wrong, the more people I meet the more 'enjoyable' the idea of violently slaughtering them, 'virtually' becomes. 'Believe me, real life is a helluva lot more fun.' it certainly can be, but sometimes (and I put this idea to you hesitantly) maybe its not _quite_ as much fun as tearing a vibrating chainsaw through the flesh of a virtual cop, watching the blood fly in huge, juicy droplets. 'Ever try surfing? Rockclimbing? Off road cycling? Or howabout gardening? Making crafts to enter in the fair and try for a blue ribbon?' no, yes, yes, yes, no. Ive also tried camping, swimming in rivers, hitchhiking across new zealand, hiking over the southern traverse, hiking all sorts of other tracks to the point where Ive forgotten most of their names, kayaking down various rivers, fishing, reading, running my own business...oh, the list goes on...and I love pretty much all of it. but sometimes, just occasionally, its just more fun to load up a shotgun and tear through a building, blowing the bodies of deformed mutant monsters into small, meaty globlets and watching the gore float softly away. 'No, because TV and video games take up all your time since after a long 7 hr day of staring at a CRT posting on JoS and surfing about in the pretext of doing work, you can't wait to get home, fire up the CRT and get busy.' umm..what? did you read my earlier posts? if not maybe you should, my gaming time these days is actually pretty rare. and all the more treasured for that. 'Look up 'wanker' in the dictionary' wow, and I haven't attacked you personally even once. what gives dennis? you are usually a little more friendly (occasionally Ive even noticed you being constructive). having a bad day?
Sun 30 Nov | Robert Jacobson | Dennis appears to enjoy making personal attacks on people.  Easier just to ignore his rants....
Sun 30 Nov | rexguo | I personally dislike violent games like FPSs and games like GTA. And yes I agree such games have a profound bad effect on a kid's growing mind and soul. However, there're plenty of other games that may still be violent but you actually learn something worthwhile. Look at Ensemble Studio's Age of Empires, Age of Kings and now Age of Mythology. Superbly researched and implemented. How about the Ultima RPG series? The virtue system sure had a lasting effect on me. Not that I'm claiming to be a virtuous person now, but I find myself unconsciously using it as part of my value system. It was truly an education and food for thought each time I played it. On the technical side, anyone remembered how the original Quake pushed the limits of software 3D rendering? Extreme assembly programming anyone? I bet many of you (esp those who bash games) have no idea of pipelining a FDIV with several other ALU instructions, effectively getting the 19-cycle FDIV for free. How about linear-time sorting using the radix sort? Works on floats even! And yes, GUI design. The multitude and variety of design patterns applicable to games UI design is overwhelming when compared to desktop/web UI designs where most are just using standard OS-supplied components. A game development team is also one that truly knows how to work with artists (i.e. non-technical people). I've seen enough communication break-downs between software engineers and graphic designers. Let us also not forget the audio dimension too. BTW, I'm not bashing traditional apps developers, but I feel game developers still don't get the respect and recognition they deserve. Lastly, you think that awesome 3D accelerator/display card sitting in your PC box happened by accident? The games industry made it happen! Be appreciative.
Sun 30 Nov | Dennis Atkins | I'm not making personal attacks. I'm trying to lifght a fire under your ass to get oitside and live life rather than be enslaved by a virtual prison of violent thoughts and wasted hours. Strictly because I care about you guys, believe me. I want you to really think about what you are doing with your lives. It's the same routine I'd give people I was concerned about if I found they'd picked up a nasty crystal habit. I'we found that gentle suggestions don't work and pointing out that hours pissed away in the drug dens of cyberspace aren't productive and tehy aren't coming back. Soon, you'll be lying in bed in the old folks home, no one coming to visit you, wondering what happened to your life, with nothing substantial to look back on. Seriously, FNR, you live in freaking New Zealand, one of the best places in the world NOT to be spending it staring at a flickering screen. Millions would love to trade their lives for one in New Zealand and they wouldn't spend it playing video games, which can be done anywhere. If you lived in an inner city rathole and had no hope un life I could understand the games being an attraction.
Sun 30 Nov | FullNameRequired | 'I'm trying to lifght a fire under your ass' the last person to light a fire under my ass received a rocket launched grenade in the face. 'I'we found that gentle suggestions don't work' heres a hint for the future, attacks like that _alienate_ your listener (you've certainly alienated me). Seriously, if thats the only approach you can think of then youve already lost the battle. 'Soon, you'll be lying in bed in the old folks home, no one coming to visit you, wondering what happened to your life, with nothing substantial to look back on.' not a chance :) Im looking forward to lying in bed in the old folks home, playing those games nonstop for yers at a time. ...mmm...non-stop mayhem... 'Seriously, FNR, you live in freaking New Zealand, one of the best places in the world NOT to be spending it staring at a flickering screen.' yep :) and I love it. OTOH there are _still_ days when I enjoy a good computer game, go figure. 'Millions would love to trade their lives for one in New Zealand and they wouldn't spend it playing video games, which can be done anywhere. If you lived in an inner city rathole and had no hope un life I could understand the games being an attraction.' :) I _really_ dont need you to understand the attraction, Im happy that you do not. I _would_ appreciate it if youd stop calling me a wanker however, that would be seen as definite stop forward in our deep friendship. seriously dude, get a freakin life. Theres room in my life for everything I enjoy doing at this point, and Im happy to enjoy the fact. The fact that you do not enjoy gaming is _not_ a moral victory, its just a thing. The fact that I _do_ enjoy gaming is _not_ a moral weakness, its just a thing. Given that I _do_ enjoy gaming occasionally, _and_ given that I have the opportunity from time to time, refusing to do so would just be self-righteous, hypocritical bollocks. Now, return to your convent young lass, and leave the world to people with sufficient intelligence to understand how to enjoy it.
Sun 30 Nov | T. Norman | Having a job, a life, and playing video games are not three mutually exclusive things. If you don't like them, don't play them. Nuff said.
Sun 30 Nov | Robert Jacobson | Well put, T.
Sun 30 Nov | as | Oh dear. I live in New Zealand too, and have just bought an Xbox, which is great. I've also just bought a cordless electric mower with edge trimming attachment, which is also great - FNR, you should get down to Mitre 10 and buy one right now. And Dennis, get a grip man.
Sun 30 Nov | FullNameRequired | 'FNR, you should get down to Mitre 10 and buy one right now. ' mmm...cordless electric mower with edge trimming attachment....does it have the optional stone washing mechanism?
Sun 30 Nov | Motown (an Aussie Dad) | I'm married with children. I haven't had a life for a while ;-) Games are a pleasant diversion and allow me to pretend I can do things that real-life circumstances make difficult, if not impossible. Like fly an F-16 =)
Sun 30 Nov | Vince | 'Used to. Don't anymore. My wife broke by Age of Empires CD in half. Haven't played a game since. ' haha. I'll keep this in mind when I finally find a wife. I only play video games if my gamer friends invite me to a Lan party. Playing a game alone just seems kinda boring.
Sun 30 Nov | as | 'does it have the optional stone washing mechanism?' Not as such, but you could rotate the edge trimmer to a vertical position and use it to thrash stones clean. I tried using it to remove lichen from my drive, and rather regret doing so, in that it removed a fair amount of drive along with the lichen.
Sun 30 Nov | Roose | This article seems especially appropriate now: http://www.theonion.com/onion3604/doesnt_own_television.html
Book recommendation for the holidays? | Fri 28 Nov | words of wisdom from a dude in LA
Guys/Gals/Aliens: Care to recommend some books for this upcoming holiday season? Doesn t have to be software related. Just wanted to know if I could get my hands on some cool readings.
Fri 28 Nov | Canuck | Brining Down The House - Ben Mezrich * Its about 6 MIT students taking Las Vegas for millions. If you like gambling, this is kind of a cool story. How the Universe Got Its Spots - Janna Levin * A discussion about astro/quantum physics. Pretty cool, if you like that kinda stuff Janson Directive - Robert Ludlum * A super spy novel, very entertaining. I just got back from vacation and I picked up several books before I left. These three certainly stood out.
Fri 28 Nov | jedidjab79 | I second "Bringing Down The House". Mind you, i'm Canadian too...hmmm..something about gambling? :)
Fri 28 Nov | mikrus | Quicksilver by Neal Stephenson!
Fri 28 Nov | Dina Sudahay | Take your pick depending on how you feel: The Existential Pleasures of Engineering -- makes the astonishing claim that engineering is a profession that has contributed positively to humanity. Bee Season -- about a little girl who is very good at spelling bees. You'll see.
Fri 28 Nov | braid_ged | 'The Nature Of Power - The Essential Noam Chomsky'. A collection of discussions (questions and answers) with Noam Chomsky. I am a very right wing conservative sort of person, respectful of the neccessity of organised control and authority etc etc... But this book had a huge impression on me. Also, I assume you have already read 'Godel Escher Bach : An Eternal Golden Braid'. It is objectively the best book ever written :) Or if you want some inspiration 'In Search Of Excellence', read, amount other stories, about how 15 engineers in a hotel room changed the design of an airoplane from prop to jet in a week, only to then run down to a model shop, buy some wood and build a scale model all before their deadline to present the design to the US Air Force. Braid_Ged
Fri 28 Nov | www.marktaw.com | Noam Chomsky is great, but after reading him you might not want to return to work in January... You mean the corporations really are opressing me, and offshoring is a win-win situation because they get cheaper labor in India AND here? Another interesting book is Nickel and Dimed by Barbara Ehrenreich. She took $500 and headed to a town or city and took a bottom-of-the-barrel type job and just saw what that lifestyle is like, how well she could survive and so on. She said the most interesting thing was that while she was educated (she's a writer for Harpers) nobody ever told her she was 'too smart for this job.' Godel Escher Bach is definately on my to-read list. So is Bringing Down the House. Another book on my to-read list is Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage by Clifford Stoll. A math teacher turned sysadmin who noticed some suspicious behaviour and helped track down an international hacker. I really enjoyed Sources of Power by Steve Klein about how decisions are made in high pressure situations. He was commissioned by the military to study this, and comes to some interesting conclusions & has some good insights. A great read. I recommend it to everyone. The Design of Everyday Things by Donald Norman is excellent if you're interested in design. A Random Walk Down Wallstreet is a great investment book (I think Joel agrees with me here). Really makes a strong case for buying no load index funds and not trying to beat the dow.
Fri 28 Nov | skeptical | You say 'win-win' situation because "they" (they corporations in US and overseas) win. Isn't that a win-lose situation for us individuals? I guess we'll all just buy stocks and get rich while watching TV instead of by designing things.
Fri 28 Nov | www.marktaw.com | I meant the corporation wins in two ways. Really it's a lose-lose situation for everyone but them.
Fri 28 Nov | Alex Chernavsky | I read Ehrenreich's book ('Nickel and Dimed'). It was OK, but a bit too preachy for my taste. The following book covers some of the same material, but this one is a lot funnier: http://www.amazon.com/exec/obidos/tg/detail/-/0812967941/ The book is called, 'A Working Stiff's Manifesto: A Memoir of Thirty Jobs I Quit, Nine That Fired Me, and Three I Can't Remember', by Iain Levison. I also maintain a page with book reviews. If someone is really, really interested, you can Google my name and find my homepage.
Fri 28 Nov | www.marktaw.com | Interesting. I read some extremely right wing reviews of Ehrenreich's book. One guy seemed to have not even read it, another read it and disagreed with about 5% of what she said, but disagreed vehemently with it. I really enjoyed Ehrenreich's book, an interesting glimpse into lower class life from my middle class background. I mentioned it because of the Noam Chomsky recommendation, I think people who like Noam might like this book. I'll check out that Levison book.
Fri 28 Nov | Insert half smiley here. | Here are some. I prefer fiction. Foucalt's Pendulum (Umberto Eco) I dislike teleological explanations. I liked this book for that reason. Vitals (Greg Bear) A cool paranoid sci-fi type book. I read it in one sitting, which I suppose is some kind of recommendation. (Peter Ackroyd) I've enjoyed them all. The Grand Babylon Hotel (Arnold Bennett) It won't take you long to read it, so do. Design and Evolution of C++ (Bjare Stroustrup) The various tradeoffs are described well. You'll either appreciate C++ more, or appreciate the justifiable things that make it bad :) (If you're going to read Mr Hofstadter's Godel Escher Bach, I suggest you do so before you get too old. It struck me as a young man's book. Fortunately, I'm a young man, so I quite enjoyed it; I intend to reread it again aged 35.)
Fri 28 Nov | Interaction Architect | Barbarians at the Gate : The Fall of RJR Nabisco Fascinating book about the leveraged buyout of RJR Nabisco. A bit dated now but one of those books that's hard to put down.
Fri 28 Nov | anon | If you're interested at a glimpse of lower class life I seriously recommend "Down and out in Paris and London" by George Orwell.
Fri 28 Nov | Insert half smiley here. | As opposed to rereading any book for the first time, I suppose.
Fri 28 Nov | www.marktaw.com | Foucault's Pendulum is great, especially if you're into esoteric Christian mythos things, like Templars and Rosecrutians. It also makes you look smart when you read it. Having seen The Name of the Rose, I see a similar theme in Eco's works... But I don't want to spoil the end for you.
Sat 29 Nov | words of wisdom from a dude in LA | My attempts to read Foucault's Pendulum failed both times. It's extremely difficult for me to understand what's going on.
Sat 29 Nov | skeptical | OK, I'm up with that assessment.
Sat 29 Nov | Ram Dass | I too had no success with Foucault's Pendulum There were al the interesting little diagrams in the book - but had no luck following the story :( Another book by the same author - 'Name of the Rose' is pretty good. The movie , with Sean Connery, is excellento. Great visuals.
Sat 29 Nov | www.marktaw.com | I admit that, though I loved Foucault's Pendulum, I didn't really 'get' the plot arc the first time through the book. Zen and the Art of Motorcycle Maintenance is easier to follow, but I found it rather dry. Chattaqua, to me, was an opportunity to interrupt the plot and ramble on for a while. Though I admit that the end was mind blowing... Not that I remember the end anymore.
Sat 29 Nov | www.marktaw.com | Someone wrote a guide to The Name of the Rose, I think it's called "The Key to the Name of the Rose" and I wish someone would do the same for Foucault's Pendulum.
Sat 29 Nov | Nick | I loved Foucault's Pendulum. It was difficult to follow in passages but the overall story made it worth trudging through those. Perhaps some of the clarity is lost in the translation from Italian. I read one other of Eco's - The Island of the Day Before. I put it down half way through and never picked it up again. If you like humor, I would recommend any of Carl Hiaasen's books - but his earlier one's are the funniest. Skin Tight and Tourist Season were my favs.
Sat 29 Nov | uncronopio | Any books with short stories by Italo Calvino. The Emperor's New Mind by Penrose. I never got Godel, Escher,  Bach: I got really bored after 100 pages.
Sat 29 Nov | indian programmer | Bhagwad Gita . The great Hindu spiritual book . Will tell you the reason for your existence.
Sat 29 Nov | Tim Sullivan | _Trainspotting_, by Irving Welsh. An amazing novel, and signifigantly more in depth than the movie, which really only focused on Rent Boy. The sequel, _Porno_, is also quite good (and a lot more coherent). I felt like I was coming home to old friends when I read it. _The Crow Road_ by Iain Banks. His best book. If you have a strong stomach and a dark streak, his first book, _The Wasp Factory_ is excellent and disturbing. _Natural Capitalism_ by Paul Hawken et al. Inspiring, thought provoking, well researched and well annotated. Proof positive that envronmental solutions are less expensive and more economically efficient than non-enviornmental solutions. If you like children's literature, I am very fond of the _A Series of Unfortunate Events_ books by Lemony Snicket, the first being _A Bad Beginning_. There are something like 15 of them. HTH.
Sat 29 Nov | X. J. Scott | Mmm yes, children's literature. - Matilda by Roald Dahl - James and the Giant Peach by Roald Dahl - Charlie and the Great Glass Elevator by Roald Dahl - Chronicles of Narnia by C.S. Lewis - Amphigorey, Amphigorey Too and Amphigorey Also by Edward Gorey More adult but easy to read: - The Screwtape Letters by C.S.Lewis - The Big Book of the Unexplained ('true' stories of weird happenings illustrated by famous underground cartoonists -- there is an entire 'Big Book' series, all of which are worth the time and money spent and will really educate you on arcane weirdness and trivia) All time favorites: - The Collected Poems of Wallace Stevens - Hawthorne, Tales and Sketches (or any other anthology of Hawthorne) - Moby Dick - Complete Short Stories, Mark Twain - A New Model of the Universe, P.D. Ouspensky
Sat 29 Nov | Mike Swieton | There's always the great Hithchiker's Guide books, by Douglas Adams. Thought the first couple are the best, all of themare quite good. Also quite humorous is Good Omens, by Neil Gaiman and Terry Pratchet (hmm, Ispelled that wrong). Dan Simmon's Illium is extremely, and while it ends relatively well, it does have a concluding sequel planned and not out. Similarly, George R. Martin's series, A Song of Ice and Fire, beginning with A Clash of Kings,is one of the most amazing works of fantasy thatI've read in a very long time.
Sat 29 Nov | www.marktaw.com | The HitchHikers Guide is best enjoyed as it was intended to be consumed - The Radio Drama !!!!!!! Then go play the video game on DNA's website. After 4 books written as half hour episodes with rediculous cliffhangers, I was surpised when Mostly Harmless was not only coherent, but had a fairly sophisticated plot involving time travel and continuity and all that. Speaking of children's books, Philip Pullman's His Dark Materials Trilogy was excellent. You'll find this in both the sci-fi/fantasy section and children's section. I listened to the audio dramatization of these and enjoyed them tremendously.
Sat 29 Nov | Ged Byrne | Sophies World by Jostein Gardener is an outstanding read. It is really a very effective lesson in the history of philisophical thought barely disguised as a novel.
Sat 29 Nov | pietro | Second Iain Banks. He also writes sci-fi under the name Iain M. Banks, 'Player of Games' and 'Excession' are two of my favourites. One of the best. Irving Welsh too, although strangely I've read all his books except 'Trainspotting'. If you like Calvino, Primo Levi's short stories are good too ('Periodic Table' is one favourite collection). He was an Auschwitz survivor, so he has some auto-biographical works too. 'Tartar Steppe' by Dino Buzzati is another good book by an Italian author. Also Baricco, 'Ocean Sea' for example, although I prefer 'City', almost Banks in style. 'Lies and Lying Liars Who Tell Them' by Al Franken was entertaining, although the politics/people can be hard to follow, not knowing who they all are - perhaps just as well. I'm sure it offends many people, but that's what political satire is for. In science I read many books, at the moment trying to find a good one on consciousness - tried both Pinker's 'How the Mind Works' (a little trite in places but some good explanations of the basics) and Damasio's 'The Feeling of What Happens' (feels like it should be good but very convoluted langauge). Bill Bryson's 'A Short History of Nearly Everything' is, of course, shallow in the sense he's covering a lot of ground, but a surprisingly good read. Sobel's 'Longitude' stands out. 'Dr. Tatiana's Sex Advice to All Creation' by Judson is a gem with lines like 'Dear Dr. Tatiana, I'm a European praying mantis, and I've noticed I enjoy sex more if I bite my lovers' heads off first. Because when I decapitate them they go into to most thrilling spasms'. There's a serious side to it too. History. Of recent reads Beevor's 'Stalingrad' was good. Robert Grave's 'Goodbye to All That' is good as autobiography/history. Norwich's 'Byzantium' trilogy of books is very well written. Herodotus remains as good as ever (as a story or history?) and Seutonius 'Twelve Caesars'. A short list, so much to read, so little time.
Sat 29 Nov | Caught somewhere in time | Read the lyrics, "Caught somewhere in time" by Iron Maiden
Sun 30 Nov | www.marktaw.com | Memiors of a Geisha by Arthur Golden was great. So was Midnight in the Garden of Good and Evil by Arthur Berendt. Is someone taking notes?
Sun 30 Nov | Ged Byrne | I'll second Pratchett's and Gamen's 'Good Omens.'
Sun 30 Nov | Matt Latourette | I have to join in recommending Foucault's Pendulum. Once I started, I couldn't put it down except to go peek out the front window to make sure there weren't any creepy people watching me. That's part of the fun of this book. Eco's work is so well researched and so well written that you get tricked into believing what he's telling you. You get this feeling like you're reading things that you're not supposed to know. It's like you've wandered into some forbidden room in the Vatican's library and found a scroll signed by Jesus in 20 A.D. stating that he paid the Romans 80 pieces of silver and they agreed to crucify Judas Iscariot in his place and keep it a secret. After that, you get the feeling that somebody knows you've seen the document and they're determined to make sure you don't live to tell the tale. More recommendations: The White Plague by Frank Herbert - Unfortunately, it's out of print, but it shouldn't be too hard to find at a used book store. I'm actually surprised they haven't re-released it because of the current hubbub about biological terrorism. This book is probably more relevant now than it was in 1982 when it was published. Necessary Illusions: Thought Control in Democratic Societies by Noam Chomsky Microserfs by Douglas Coupland Labyrinths by Jorge Luis Borges - This is a collection of short stories that are full of puzzles, paradoxes, arcana, and philosophical ponderings. If you like Eco, you'll love Borges. Lies My Teacher Told Me: Everything Your American History Textbook Got Wrong by James Loewen Onion Girl by Charles de Lint - Fantasy and magic in a modern urban setting.
Sun 30 Nov | Crap, it'll be Monday again | I loved Microserfs. Can anyone recommend any other books like it?
Sun 30 Nov | Full name: | Ah, Douglas Coupland. If I'm not mistaken, he's the man who coined the terms Brain Candy and Generation X.
Sun 30 Nov | GP | I'll second 'Down and out in Paris and London'. Anyway, I would probably recommend anything by George Orwell.
Sun 30 Nov | Matt Latourette | 'Ah, Douglas Coupland. If I'm not mistaken, he's the man who coined the terms Brain Candy and Generation X.' Yes. He's quite good at that. He was also the originator of the terms 'McJob' and 'Veal-Fattening Pens.'
web filters at work | Fri 28 Nov | tim
So Im currently working at a company where myself and 60 other ppl do research on companies. This research is mostly webbased using google to find the requested companys website and many other financial info search engines. So some of us come in today to get some work done and find that there is a webfilter up. I cant check mail at yahoo b/c web based email is filtered. I cant get to many sites b/c they type of site they are is filtered. Im fairly comfident that this will be removed soon when management realizes they just severely hampered our ability to do quick, quality research (yes, the web can be useful). Let me add that we have been more productive in the last month than our companys wildest dreams, so its not as if this is a punishment for bad work. Anyone else ever come up against this (filters hampering your ablility to do quality work)? Just curious. tim
Fri 28 Nov | LoveByte | We have fairly lame filtering. www.yahoo.com is blocked anything-but-www.yahoo.com is not DUMB the firewall also does not alow .zip downloading .exe are fine though. again, very dumb!!
Fri 28 Nov | Tom Vu | setup a proxy somewhere and go through that.
Fri 28 Nov | Bored Bystander | >> setup a proxy somewhere and go through that. Nahhh, you REALLY don't want to do that: Some guy asked about this on the newsgroups: http://groups.google.com/groups?hl=en&lr=lang_en&ie=UTF-8&oe=UTF-8&safe=off&th=d9850f32b42164f2&seekm=Stidb.14305%24yD1.1722869%40news20.bellglobal.com&frame=off Then this happened: http://groups.google.com/groups?hl=en&lr=lang_en&ie=UTF-8&oe=UTF-8&safe=off&th=f6b6f7a32db20c48&rnum=3 And I read on another board that Tim B. lost his job over this.
Fri 28 Nov | Nick | I had this problem too.  A company I used to work for made components for medical ultrasound equipment. But many of the ultrasound research sites were blocked because they contained the words "breast" or "vaginal". Luckily the guys in IS were cool and removed the blocks for me when I told them what I needed.
Fri 28 Nov | Dennis Atkins | If you were in Los Angeles you should have filed a sexual harrassment suit that you were being forced to work with such sexist terms, demanding that the medical equipment companies remove all the terms from their websites.
Fri 28 Nov | www.marktaw.com | ba dum ta. When I was at Large Financial (tm) they had a firewall like this. First was a generic firewall that blocked whatever they told it. Not good enough, when I visted WebX instead of WebEx they didn't block that... Anyway, the 2nd version was a company that specialized in this kind of thing. When you visited a new website, you were allowed to visit, but it logged the visit & sent it to the company. They then determined whether or not it was work related. The problem is Large Financial (tm) had a diverse group of people working for them. Lawyers, programmers, secretaries, executives, writers, marketers, translators. Whose to say what was work related and what wasn't? Yahoo may be off limits, but what about Yahoo Finance? Then they got even worse. You couldn't even open an SSL connection. I guess when you sign up for HotScripts you have to do it from your work e-mail address because you couldn't sign up with Hotmail.
Sat 29 Nov | Living dangerously | I did a search on a new VP and one of the links was on what looked like a hot swingers site. When I clicked the link, I found it was blocked. I was waiting for management to ask me to explain why I was trying to access a blocked site: 'I was researching the new VP.'
Sun 30 Nov | Li-fan Chen | They should maybe find an in-between that works for everyone. Like block pages that would show words you would see inside major webmails and keywords that show hints you aren't doing work. I am pretty sure if they ban /. or discuss.fogcreek.com you will be just as productive.
Sun 30 Nov | davem | Here's a small app that will act as a proxy for your home machine (called 'OfficeSurfer' ;-) http://badblue.com/helpofs.htm If you're worried about being watched (even if you're not restricted - yet), this will help obfuscate your destination URL's and would probably bypass most filtering software...
Sun 30 Nov | Li-fan Chen | firewall piercers like OfficeSurfer will work as long as the traffic to it can't be isolated. For example if your home dsl is on dynamic ip, it would be quite troublesome for your office admin to continue to ban the right ip addresses. But if he can infer an ip address range then you are screwed again.
Spammers are stupid | Fri 28 Nov | WhatTimeIsItEccles
I added Bayesian spam detection to my e-mail reader a few weeks ago as I was getting fed up of all the spam I was receiving. A short-ish while later it was mentioned on Slashdot as well as on here. I am using spamassassin with kmail but I am sure my comments are generic enough to other Bayesian systems and mail readers. With spamassassin, you have to train the filter by giving it both spam and good mail (ham) to chew on and make a database from. In this initial period only the fixed filters are operational but even so the filters were doing an excellent job with no false positives and only about 5% or so of spam getting past the filters. Once the Bayesian side had seen enough spam and ham, then it was enabled and now 100% of my spam is caught with no false positives. I do a quick look at my spam every day before consigning it to the trash, and of course sending it to the Bayesian learning program to enable it to become evern better (!!). Coming back to my main point, the fixed filters were doing a wonderful job alone which would be enough for probably most peoples needs. So it seems to me that the reason that the fixed filters work so well is that spammers are stupid, they leave a large number of tell tales in their spam that shout out that they are spam. If intelligent people were to get involved in spamming then I think we would be in deep shit. The tell tales are not just the message contents but also the headers that they use. Just for illustration heres the report of spamassassin from a random spam I received today. Note that even taking the Bayesian trigger out of the equation still means that is classified as spam. pts rule name description ---- ---------------------- -------------------------------------------------- 4.1 FROM_NUM_AT_WEBMAIL From address is webmail, but starts with a number 4.2 DATE_SPAMWARE_Y2K Date header uses unusual Y2K formatting 0.8 PORN_16 BODY: Possible porn - nasty, dirty, little etc. 2.4 FREE_ACCESS BODY: Contains free access with capitals 0.1 HTML_FONTCOLOR_UNKNOWN BODY: HTML font color is unknown to us 0.1 HTML_MESSAGE BODY: HTML included in message 0.3 HTML_FONT_BIG BODY: HTML has a big font 5.4 BAYES_99 BODY: Bayesian spam probability is 99 to 100% [score: 1.0000] 0.3 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.6 HTML_FONT_INVISIBLE BODY: HTML font color is same as background 1.0 HTML_IMAGE_ONLY_04 BODY: HTML: images with 200-400 bytes of words 0.6 MIME_HTML_NO_CHARSET RAW: Message text in HTML without charset 1.9 DATE_IN_FUTURE_03_06 Date: is 3 to 6 hours after Received: date 1.6 MISSING_MIMEOLE Message has X-MSMail-Priority, but no X-MimeOLE 1.0 FORGED_OUTLOOK_HTML Outlook cant send HTML message only 1.0 FORGED_OUTLOOK_TAGS Outlook cant send HTML in this format 1.1 MIME_HTML_ONLY_MULTI Multipart message only has text/html MIME parts 2.6 FORGED_MUA_OUTLOOK Forged mail pretending to be from MS Outlook 4.2 OBFUSCATING_COMMENT HTML comments which obfuscate text 0.0 UPPERCASE_50_75 message body is 50-75% uppercas
Fri 28 Nov | Mitch & Murray (from downtown) | There was a profile in the New York Times recently about some former 'big-time' spammer. The guy lived and worked in a beat-up trailer in Florida. I think a bunch of these spammers are simply dopes trying to eek out some kind of living somehow. Can't hold a job and Amway didn't work for them. You know the type.
Fri 28 Nov | tapiwa | We can beat spam now, but it shall always be there A letter is an unannounced visit, the postman the agent of rude surprises. One ought to reserve an hour a week for receiving letters and afterwards take a bath. -- Friedrich Nietzsche, 1844-1900
Fri 28 Nov | Rand() % 2 | Quotes are ok every once in a while but after that they become hideously overused. -- A random JOS reader
Fri 28 Nov | Bored Bystander | I read somewhere that a lot of SPAM and internet fraud comes out of Boca Raton, FL because that's where shops dealing in telephone-delivered securities fraud were most numerous, and the people who worked in the one field feel very comfortable with SPAM. Most SPAMmers that I've read about seem to be seedy semi-underworld types, not exactly the sort that would belong to Jaycees and would stand up in front of a classroom and tell the kids about bright career prospects in the future... ;-)
Fri 28 Nov | Joel Spolsky | The advantage of Bayesian filtering is that you can have keywords which indicate NON-spam. Everybody has different keywords from their life which counterindicate spam. For example very few spammers would send me a message containing the word "CityDesk" so when that appears in a message it's highly likely to be nonspam.
Fri 28 Nov | van pelt | I hope spammers don't read this forum... :)
Fri 28 Nov | NotASpammer | 'I hope spammers don't read this forum... :)' Don't worry, we don't.
Fri 28 Nov | Dennis Atkins | Not all spammers are stupid. I just got a very clever spam today. Last month I met with an artist friend and he asked for my email address, I gave it to him. Now I find I am on his newsletter about his doings. Now this would not be bad even if he spammed me with information about paintings he was selling or new works he wanted to call my attention to on his website. But instead, it starts with a paragraph about the weather at his place and then says 'Speaking of the weather, I recently had an opportunity to try out the new PERMA-DUCK all weather boots, which are available at SPORTY-WORLD.COM for ONLY $49.99 this week ONLY. PermaDuck all weather boots are available in blue green and yellow and are the #1 choice of Arctic explorer Ribyn Donahue.' (details changed to protect the guilty.) The newsletter continued on page after page with a lead in sentence about him fixing his toilet or going for a walk and then some near-non-sequitor leading into a cut-and-paste ad copy that was not in his speaking or writing style for some product completely unrelated to him and his business. Sort of reminded me of those *bad* situations when some stupid friend joins a multi-level marketing cult and then starts to capitalize on the percieved economic value of your friendship. For people like me it backfires for them since I put people who do this stuff on my blacklist and never do business with them. Any one else seeing these sort of stealth spams?
Fri 28 Nov | Alex | In Romania companies are very uneducated about the border between one-time email and spam. One company I gave my email to at a trade show, specifically for the purpose of getting some product information for a PDA, then continued spamming me with weird price updates, huge XLS files with pries for wires, connectors etc. One time they sent a mass mail announcing how Mr. X and Mr. Y were retiring from their company and they will all miss them. I fired off an angry email, apparently they removed me. But the thing is, your average just-graduated manager walks into a bookstore, looks up the business section and sees this wonderful book about 'email marketing'. I browsed through the book myself, it has things like 'collect email addresses wherever you can, add them to your list of 'potential clients'.' So '90s.
Sat 29 Nov | Alex Chernavsky | The creepiest spam I ever got was this: I received a birthday greeting on my birthday. The spam message was promoting some kind of 'Classmates.com' clone site. The website was registered in the Phillippines. I have no idea how they found out my actual birthday.
Sat 29 Nov | Privacy Maven | Well you were born in 1965 or 1966 and that's as far as I got so I have no idea either. Did you ever give your real birthday when signing up for yahoo or such?
Sat 29 Nov | Privacy Maven | It's not Oct. 30, 1966, is it?
Sat 29 Nov | Privacy Maven | Sorry, it's December 22, 1965.
Sat 29 Nov | Alex Chernavsky | Er, no.  None of the above.
Sun 30 Nov | Li-fan Chen | I think some spammers work like sleeper cells, they may have been infiltrators who have entered large enterprise web farms and made off with lots of personal profiles. The first profile people give away freely is often somewhat nonconsequentials ones like birthday. That's often the very first thing asked in BBS back in the days and more frequently asked by any service restricted to people over 18 (due to violent content or content of an adult nature). And people fork it over pretty freely. Another thing is first name last name. A sleeper cell hacker group could go for years not really sure what to make of this information, until they get hit with the spammer bug, and start spamming people freely. Without coming up with such conspiracies, the average joe data administrator can walk off with millions of personal profiles from any of the mass online marketing clearing houses on a USB memory stick.
Private rooms vs. "radical collocation" | Fri 28 Nov | Maciej Kolodziej
Recently, after reading a few of Joels articles, I got into discussion with the PM of my current project team about working conditions. It appears that my company is deliberately putting people into open space offices to achieve better communication level. Also, they say that some serious research conducted by many rich companies show that this is the right thing to do. They call it collocation or radical collocation. Actually I came up against some results of such research, eg. http://intel.si.umich.edu/crew/Technical%20reports/Teasley_Covi_Krishnan_Olson_radical_collocation_12_20_00.pdf (the problem is this comparison was between war rooms and cubicles, so its not quite adequate). This is quite the opposite from quiet, private rooms Joel and others are advocating. I wonder if you have some experience in this matter? Which approach is better?
Fri 28 Nov | MX | How about this: If you have excellent employees, who tend to be self-motivated, then it's best to have a private office for each. If you have mediocre employees, who would rather slack off when left alone, it is best to put them in 'war rooms', so they know and feel that others are watching what they are doing.
Fri 28 Nov | anon | [If you have excellent employees, who tend to be self-motivated, then it's best to have a private office for each. If you have mediocre employees, who would rather slack off when left alone, it is best to put them in 'war rooms', so they know and feel that others are watching what they are doing. ] Hmm. Ok, I'll try not to be offended. The above is a gross generalization, and not a very accurate one at that. If you're doing XP or Scrumm or another agile process, then private offices are probably not the best choice, regardless of how self-motivated your employees are. If you have enough space to support common work areas and smaller, private, personal spaces for employees, that's probably the best way to go. Characterizations like that above are not helpful. I could as easily say that developers who need to cloister themselves in order to think or get work done are inferior to those who can work in a group environment.
Fri 28 Nov | mackinac | I saw the article referred to in the OP a few years ago. As noted, their comparison is between a 'warroom' and cubicles. It is not surprizing that there was some improvement. There seems to be a lot of agreement that cubicles are about the worst possible workspace for software development. You can include me among the 'others' who advocate private offices for software developers. I have worked in quite a variety of work spaces: open office spaces, cubicles, quadricles, shared two person offices and private offices with door and window. The private office is superior by far, if it is done right. At least, for the type of development I do (embedded systems, engineering support, satellite comms, scientific data processing) the private office is best. In previous discussions on JoS there was one poster who told us he put his developers in private offices and it was a disaster. Very low productivity. But he was doing game development. This is something I have no experience with. It may require continuous interaction. Private offices are necessary, but not sufficient, for good workspace. Quality requires attention to details. In addition to providing the space, you have to be concerned about noise sources such as HVAC noise, speaker phones, cell phones, paging, etc., and other problems. If you read the Santa Teresa report [see reference in the Bionic Office Examples thread following this one], you will see that developers spend a certain fraction of their time working alone, and another, possibly larger fraction, working in groups. Once you have provided the private offices so developers can get their individual tasks done, you also have to make it easy to interact in small groups. Arranging offices close to each other, making offices large enough so that 2-3 people can meet, having central large meeting rooms, a convenient kitchen, etc. so that meetings as needed are easy is also necessary for a good work space.
Fri 28 Nov | Bill Tomlinson | I think that one of the key indicators for success for 'radical collocation' is the nature of the conversations that go on at work. For example, if you're intently concentrating on developing a new feature for the Foo module and you're interrupted from your concentration by a conversation between your co-workers about a nasty bug that has been found in the Foo module, well, that's good. But if the conversation between your co-workers that interrupted you was about who was booted off the latest popular reality show last night, well, that's bad. I think that all the annecdotal evidence about whether 'one big room' works or not comes down to the nature of interruptions in the particular workplaces. In some places, people are focused on the job and most conversations have some productive value, and in other places most conversations have no work value. Unfortunately I don't see any way to measure this.
Fri 28 Nov | Philo. | Executives and managers generally have the highest per-hour cost in the company. Anything that improves productivity should be exercised on them first. In other words, if management gets private offices, then it sounds to me like 'radical collocation' is a study trying to justify the results. :-) Now, if you can put *just* the team in a workspace, then you might get some communication benefit. But this is going to mean moving people around a lot or having a very structured team setup. It also means your team communication benefit had best outweigh the complete loss of people to concentrate. Philo
Fri 28 Nov | Dina Sudahay | Wow - the study says there was a ONE-HUNDRED PERCENT improvement in productivity! Fred Brooks was wrong, folks -- there IS a silver bullet!
Fri 28 Nov | Dennis Atkins | 'I could as easily say that developers who need to cloister themselves in order to think or get work done are inferior to those who can work in a group environment.' You could say that but you wouldn't have any studies to support your statement, whereas there are many studies showing productivity improvements when going from a noisy environment to a quiet one that allows designers to focus.
Fri 28 Nov | www.marktaw.com | I read the first page of that report. 1. They couldn't quantify the changes that were related to radical collocation and changes in management methods. 2. How much of this was the Hawthorne effect? They said they studied productivity in new radical collocation situations versus metrics they had from the old way. Well how much of that productivity came from the fact that things had chaned and they were being studied?
Sat 29 Nov | mackinac | What is best for executives might not be what's best for developers.  SRA International did a study of comparing private offices and cubicles.  An article describing the study and its results was published in the Washington Post Business section for October 4, 1999. This article never mentioned Santa Teresa, but the results sounded very much the same.  At the end of the study they decided to put the chairman of the board in a cubicle and most other employees in private offices.  Managers and executives do spend a lot of time interacting with people, so it does make some sense that they'd be the ones in cubicles.
Sat 29 Nov | horse with no name | Just my opinion, but I think that most programmers perform better in a 'collective' environment. I've met a few (very few) superior programmers who would benefit from a private environment. But most are not. Most programmers cloister themselves, often cluelessly writing code without context, that doesn't get unit tested, and properly integrated into the whole project. I'm happy as a clam, 'cause I'm living in my shell. Curiously, none of the bugs the testers write up ever repro for me. Anyhow, my boss would benefit from working in the collective environment. He's often clueless regarding what we stuggle with and seems to wonder why features take so long and what the risk points are. Yup, he lives in an office separate from his staff.
Sun 30 Nov | mackinac | Here is a link to a research report that indicates radical colocation might have adverse effects: http://www.news.cornell.edu/releases/Jan01/noisy.offices.ssl.html
Sun 30 Nov | mackinac | And here's an article about the hidden costs of putting people in cubicles: http://www.chacocanyon.com/pointlookout/020417.shtml
I need a pay rise | Thu 27 Nov | Afraid to ask
Im considered as a star performer in the company I work for. I deliver robust & reliable solution on time (well most of the time anyway!) Ive also written design and programmed core technologies in our internal system. Basically I dont know how to ask for a pay rise, basically Im currently in a position where another company is currently offering me 20% more than what Im earning now. I hate threatening people but do you think that would be considered as unprofessional to tell to my boss give me a pay rise or I resigned (Im not bluffing Im really serious about resigning if I dont get the raised) Or should I just ask him a raise, if he says no, I just tell him as I resigned as Ive just found a better opportunity Please note : that Im extremly happy with the company and the team in general, its just the $money$ which is not as good as the company down the street. Ive got very informal relationships with my boss, but Im not comfortable asking him for more $$$, Ive been working for the same company since 2 years now What would you guys advice me to do ?
Thu 27 Nov | Matthew Lock | If I may say so, you sound pretty angry with your current boss. When you give bosses an ultimatum they will protect their egos rather than do what they should. Your boss will probably say 'Okay then go to the other company' rather than give you a pay rise when faced with the 'give me a rise, or a walk' scenario. I would ask for a pay rise without mentioning another company. If you get the rise, great. If not, and you are certain that the other offer is still open accept it and resign from your current company. When your boss asks why you have resigned, you then explain that you had a better offer from another company. There's a chance that your current boss may try to match that offer - then you can take it from there.
Thu 27 Nov | Clay Dowling | I would recommend approaching your boss very openly about this. Keeping everything in the open will avoid hard feelings. Approaching your boss about it will be very sensitive though. Unless you handle it properly, it will wound your boss' ego and you'll be all out of options. You should also make sure the other offer is solid, and that you're really interested in working there. You don't want to use this other job as a bargaining chip if it turns out that you'd really hate it there, since it's probably a 50/50 shot that you'll wind up there.
Thu 27 Nov | . | As Matthew says, ask for a rise without mentioning your other offer. You will only hurt yourself by mentioning the other offer because it comes across as trying to force your manager's hand. Matthew puts it perfectly. If they cough up, fine, you're happy. If they don't, you know they're not worth staying with and you've got another option lined up.
Thu 27 Nov | Matt Conrad | If you want to make the soft pitch, I would at least make some kind of reference to the fact that you're earning less than the market rate. You don't necessarily need to shove the other offer down your boss's throat, but at least let him know that you are aware you have options. The other thing I would do is think out in advance what you're going to do if your boss says no, or tries to stall you (a likely response I would guess). You'll do better in the negotiations if you're prepared. If you're ready to quit over this, you can have that steely gaze during the conversation. If not, you can fold with dignity if the answer is no, and start planning your next move instead. :)
Thu 27 Nov | braid_ged | A classic example of how poor people (those who wage slave for others) regard money as something mythical magical and difficult to talk about. Rich people (least those who made their own money) deal with money in a matter of fact unemotional way. 'Hey Eddy, do you have a few minutes for me to talk to you about something' 'sure..' 'in your office.' 'Yeah... I just wanted to talk to you about something, I am a obviously really happy here, I liked working on the wibbly doogle and I'm learning a lot, the people hereare great, Susan's great, Joe's great, But another company has just offered me a job. I know our staff reviews aren't for another 4 months but would really like to sit down and talk to you about how I am going here and what you see happening in the future. The crux of the matter is that I am being offered more money and am not really sure what to do.' Say that calmly, looking him in the eye, I know it's hard. Then.... I bet, being a boss, he simply says 'How much are they offering you ?' because to him it's not a massive emotional dilema, it's a practical matter. Your aim is to get a mini-review really soon where you present all the great stuff you did in the last 6 months, they agree and offer you a smallish raise. braid_ged
Fri 28 Nov | who's your daddy? | oh yeah? I need a martini with a b%$*& job!!!
Fri 28 Nov | Jim S. | Matthew's advice is sound except for one thing, which may or may not apply to your situation. Most large companies have very strict guidelines about the size of raises they can give. 20% is probably about twice what your manager can give as a normal raise. He will have more leeway in the context of a counter-offer to keep a key employee. If you work for a company with such formal compensation guidelines, then your better off saying pretty much exactly what you've posted here: 'I've done great work here, I've enjoyed it, I've learned a lot from you, I look forward to doing more great work, but opportunity has come knocking and it's a big enough pay differential that I simply cannot turn it down. I really hate to put you in this spot, but can you bump me up 20% so I can continue here without shortchanging my future?' Any manager who doesn't respect that isn't worth working for. He's probably out baselining his salary against the market on a regular basis, too. Nonetheless, managers typically don't have nearly the freedom people think they do and he may not be able to match it. There's other kinds of compensation, though, so be prepared to deal: vacation, training, bonus, company matching of 401k contributions, it's all part of the package for employers. Don't think of it as an ultimatum. Lay your cards on the table with confidence that you've got a damn strong hand. Be flexible. Lastly, a nice place to work in this industry is hard to find these days. Most guys I know wouldn't even blink about giving up 20% to work where they got stuff done and enjoyed it, too.
Fri 28 Nov | The Effervescent Elephant | I want a pony.
Fri 28 Nov | Gavin van Lelyveld | 20% is a big pay difference. but you can't compare the jobs on salary alone. How will a new job change in light of: 1. The commute 2. The people you work with. Will the new people be 'great to work with'? 3. Will you enjoy the projects you work on. 4. Will you still be learning 5. Minor, tiny things like working hours, dress code, free coffee (or not) Basically you could get 20% more but the place could suck to work for. You might already know the answers to these questions, though. I'm not trying to disaude you from changing jobs just from comparing on salary alone.
Fri 28 Nov | Simon Lucy | Umm it doesn't matter if the other company sucks, it doesn't matter if you wouldn't consider working there for gold, girls and goodies. What matters is whether its an equivalent job with equivalent responsibilities because then you can take it as a valuation of your worth in the market. If that's the case then you can take it to your boss, who likely won't be able to meet the 20% but will be able to meet you some way along that line (given its economically feasible). At the same time you talk about other ways of making you feel more comfortable staying there and staving off such head hunting. This might include stock options (though they're waste paper until they're sold), but might have less tangible benefits such as sabbatical leave, greater responsibility or whatever turns you on. Whatever it is, its not a problem.
Fri 28 Nov | Mr Jack | Oh, for goodness sake. Go and see your boss. Tell him you want to stay at the company but that £6k (or whatever 20% of your salary is) is a lot of money to turn down and see what he says. The early poster is right, bosses are much more pragmatic when it comes to money.
Fri 28 Nov | Ged Byrne | Heres how I, personally, handled a similar situation. Sit the boss down, make sure his nice and comfortable. Tell him how much you enjoy your job, how well you get on with everybody and how fulfilling you find the work. Wait for boss to agree. He should mention how valued you are as a team member. Then tell him you have a problem. Your being head hunted. Somebody else has offered you 20% more to work for them. You really don't want to leave your current job, because you enjoy it so much. However, you have to practical and you need that extra money. Look helpless in the face of this dilemna and wait for your bosses suggestions. If anybody is interested, they offered to match, but I took the new job anyway :)
Fri 28 Nov | æøå | And come on, we want follow-ups here!
Fri 28 Nov | . | How about if we set a day when we all ask for pay rises together, around the world? Say 10 percent. A global co-ordinated operation. Say Mar 1, 2004
Fri 28 Nov | Astarte | Something that worked very well for me was to send my boss an email, stating that I wanted to discuss my progress and remuneration and asking to set a date and time for a meeting. That way he didn't feel ambushed and he knew what to expect in the meeting, so he came prepared with his review comments and salary offer and I brought mine. The main reason I did that was because I felt embarasses / shy to ask for more money - the poor / rich / power comment up above was very applicable. By the way, try to avoid 'I need / deserve a raise' and go for 'I would like a raise and I feel it is justified because...'. Deserve is quite strongly worded.
Fri 28 Nov | Mr Jack | Quite frankly, you don't need to give a reason. Just state 'I want more money', 'I want X more money' or 'I don't think that is not enough money' as appropriate. Worth has no place in the programming lark, you are paid what you can blag, not what you deserve.
Fri 28 Nov | JP | Not true, Mr Jack. You absolutely need to give a reason. Not necessarily a valid one, mind.... :^) A pitfall to watch out for - don't complain about your pay relative to other people in the company. It's pretty irrelevant to your position in the company, and your boss will treat it as such. And don't present it as what you want. Make your presentation about what you're worth to the company, on how much money you make and save them. Focus more on how much you make them if possible - revenue tends to look more impressive than savings. Never stray from a tone of absolute calm and reason. Arrange a meeting as wanting to talk about your career and progression within the company. Talk about how you intend to improve your skills and worth to the company (ask for support of some kind, even if it's just for a book fund - this keeps it relevant to the meeting. But make it clear that you regard it as your responsibility and that the work will be yours). Treat it as a negotiation - you want something, so first of all you explain how the company will benefit in return. Sell yourself as an investment for the company, like any other investment. Don't mention the job offer unless your boss asks you how much you were thinking of. Then you could say that someone you know at this other company has been trying to recruit you for an equivalent job at 20% more. Not technically a lie - you met this person at an interview, right? :^) Whatever you do, make sure that you don't give the impression that you actively sought this other position. *Do* give the impression that you're not even considering going, but that you feel this is a fair figure. You want to make your boss feel that you're working on the same side, and saying that you've applied for work elsewhere is going to destroy that and make the whole negotiation adversarial. If this doesn't work and you wouldn't mind going to this job, then put things in train to leave and start at the new place. *Don't* do this unless you're prepared to actually leave.... Explain why you're doing this. Never couch it as a threat. At this point they might try to outbid the other company. Then you have to decide whether their reluctance to pay you extra makes it worthwhile leaving anyway - you don't want to have to resign every time you want a raise.... Anecdotal evidence, so it's not really worth the electrons it's written on, but I've managed three years of 20% raises doing this in a company which laid off half its staff in that timeframe and limited rises to 2% for almost everyone else.
Fri 28 Nov | Mr Jack | Anecdotal evidence again; but I have found I get a pay rise when asked for whether or not I give a reason. My two largest payrises came from: 1. Moving company. Obvious really. 2. Being offered a job elsewhere on more money and telling my (then current) boss. 'I don't want to leave but six grand is a lot of money'. He even thanked me for coming to him. But I've accumulated a few grand from simply saying asking for more without any reason.
Fri 28 Nov | RocketJeff | The problem with telling your current employer that you've had a better offer at another company is that a lot of times your current company will match (or better) the offer and either keep you around only long enough to replace you or (if layoffs happen) you'll be one of the first laid off. This isn't to say that you shouldn't ask for a raise - just don't use another offer as your leverage. By using another offer, you've let your current employer know that 1) you've been looking for another job and 2) you're prepared to leave for another job. By giving you the raise, your current employer has bought some time to find a replacement so they aren't left shorthanded - as soon as they find your replacement you'll probably be gone. I've seen this happen at several prior companies. Including one where it worked several times for the same guy. It worked until he got a new boss who just congratulated him on his new position, waived the two weeks notice, and showed him out the door. In this case, however, the guy didn't really have a new position - he was just using a made-up one as leverage...
Fri 28 Nov | tapiwa | braid_ged hit it on the nail. Don't demand. Discuss. Like other posters have said, work compensation is more than just about the monetary $$. b-g's way means you give your boss an open ended question. That is how you negotiate. He might offer you more money. He might map out your career more clearly (promotion??). He might indeed offer you other incentives.... 'Look, how about we offer you 10%, and subsidize you further education?'
Fri 28 Nov | Mr Jack | RocketJeff, 1. Always say you were 'head-hunted', or called by 'a recruitment agent', or otherwise deny any job-hunting involvement. Jeez. 2. Any boss who thinks you wouldn't leave for more money is just plain stupid. 95% of all staff WILL leave a company for more money.
Fri 28 Nov | RocketJeff | 1. If you're to the point of knowing that the new job pays 20% more then your current one, then you're a lot further into the search then just talking with a recruiter. 2. If it's significant money, of course most people would switch. But, most people *aren't* actively looking for a new job - that's the difference. A pervious post mentions using 'my friend is trying to recruite me' line - that's probably the bert bet. It shows that you can get more money without showing that you're actively involved in getting a new job.
Fri 28 Nov | Usually Named | I just started down the same path, I just asked for a 50% pay increase (I really screwed up my negotiation at hiring, I did not understand the full breadth of the job I was being hired for). I did not mention anything about the offers I currently have lined up. I like the work I do a lot, the team is not perfect, the owners are a bit unreal at times, but the work keeps me very interested and quite happy. I just want some more $$$ in my pocket on par with what is being offered else where. I ran into several problems formulating my pitch for a raise, first the company had no performance reviews this year so no chance then to ask for a raise, also I have never been provided the information to see how my work effects the bottom line, or how it even adds into the total income of the company (the owners keep that very much to themselves). So I was left making the pitch solely from meeting current market salary. I took each of the 4 main jobs I do and put them into salary.com, then did a weighted average for the 4 different salaries for how much time I spend doing them (my job is a real hybrid). I then I showed the median and 75% pay levels and said I would like a raise of X amount which was between those two figures. I kept the tone very cordual and non-threating and only once mentioned that my request was based on a desire to meet my current markey worth. I hope next week to see how it all turns out.
Fri 28 Nov | David | For God's sake, do NOT listen to the people who tell you not to mention that you have another offer. First off, you should never be afraid to tell the truth. You did nothing wrong here and you boss will appreciate your telling him about it before you quit (unless he's a complete bufoon, and in that case, it doesn't matter what you do). Second, it's a HUGE bargaining chip. You just say you have another offer at 20% more. Now your boss knows he needs to counter offer to keep you and really, you don't even need to ask him to. Third, if you ask for a raise WITHOUT giving a concrete reason, you'll look like you're motivated by money, and your boss will never look at you the same way. Again, just tell the truth and let your boss/company make the next move.
Sat 29 Nov | . | No David, you don't get it. If you present the other offer, your boss will - correctly - interpret it as you trying to pressure him. Bosses don't get pressured by underlings so he will refuse if he can, or agree under duress and get even later. Also, if you're presenting the other offer, that's when you look mercenary, because you're more or less telling him you only care about the money. No. It's much better to give him a clean chance to give you a raise, and then have options if he doesn't.
Sat 29 Nov | deja vu | An angle that no one has considered: once you threaten to quit, and you're given a raise and kept, what do you suppose the perception of your boss will be ? IF you're ever in a position where you have to give your boss a choice of EITHER/OR I quit, then its better long term to quit. Because s/he will remember that. Far easier to make a fresh start at another place.
Sat 29 Nov | Entrepreneur | Do NOT mention the other job until you've been hired there. Your value to ANOTHER COMPANY does not change your value to YOUR company. They pay you based on what you're worth to THEM. Mentioning another offer will just be seen as a pressure tactic. How would YOU respond in the boss's place? What IF you mention the job and then...it falls through? Now you may have 'egg on your face' because it looks like you were bluffing. Or maybe your boss thinks you're disloyal and will get rid of you. PUT YOURSELF IN HIS POSITION Your Boss's job is to get X work done by hiring and managing folks like you. It's his job to pay as LITTLE as he can and YOUR job to get as much money as you can. I'd ask for a raise, etc. I'd be pretty stern and confident about it ('steely eyed gaze and all') and have SUPPORT for your raise (not 'I was offered...' , but rather your value to the company). If you don't get it, then take the other job. INTERVIEW THE OTHER COMPANY IT took me years to realize that hiring companies will 'inflate' the quality of the job. A programming job turns out to be more tech support, etc. So, make sure you know what you're getting into before you jump ships.
Sat 29 Nov | . | The other interesting point in this game is that you have more value to another company if you're currently employed. That way, the boss gets his jollies because he or she has lured you away from someone else. They're happy to pay more for this.
Sun 30 Nov | T. Norman | There is also the perception that unemployed people are less skilled than those who still have a job. Which is probably true on the average; if you pick a random unemployed person and compare them with a random employed person, the latter is likely to be the better one more than 50% of the time. But looking at those sort of generalized averages is useless when you have their individual resumes in hand and have the opportunity to interview them.
Why Open Source Has a Long Way to Go | Thu 27 Nov | Bored Bystander
An example: this is an informational message posted on an official support forum for Postnuke, the PHP/MySql based content management system. http://forums.postnuke.com/index.php?name=PNphpBB2&file=viewtopic&t=14738 What an inspiring example of the warmth of an active community. ;-) Sometimes you just cant make this stuff up. PS: To all US-bound lurkers: Happy Thanksgiving!
Thu 27 Nov | FullNameRequired | ? seems pretty reasonable to me.  Trying to stop newbies from asking questions like "why doesn't it work?"  and "i tried to make it work and it nearly did but then it stopped, why?"  _is_ a good thing to do.
Thu 27 Nov | Insert half smiley here. | It's fair enough. This is to do with the 'no money' bit, rather than the open source thing. 'No money' and open source tend to go hand in hand, but you can have one without the other. In this case, the source may be less 'open', but it fulfils the principle of collaborative development which is what it seems open source most often sells itself on.
Thu 27 Nov | Bored Bystander | Among other things, rants like the item I posted display an excruciatingly poor grasp of human relations. The *only* people who will read hostile bloated material like this start to finish are people who agree with the premise. It just doesn't *reach* the people whom the author is upset with. Of course, the guys who post stuff like this are only thinking about their own superiority, so it's not surprising that they make no attempt to fix the underlying problem. Which is incredibly poor documentation and everything being anecdotal.
Thu 27 Nov | Roose | I don't really think this has anything to do with open source. There are idiots like this anywhere. The title should be: 'Why People Have a Long Way To Go'
Thu 27 Nov | no name | A lot of the programmers involved with open source should just realise there's nothing stopping them doing their favorite project and NOT giving away the source code. That's the dumb bit. The idea they're obligated to give away their work.
Thu 27 Nov | Insert half smiley here. | Oh, yes, I see where you're coming from with the human relations bit. This kind of hostility is rather tiresome, and only fosters the same in return. The solution, I suspect, is simply not to give support if you don't like doing it. But some people seem to put themselves in this rather thankless position, then get bitter when it proves thankless... but then just keep getting more bitter instead of giving up on it. Whatever floats your boat, I guess. Still, if they stick to web fora and usenet, all the better for everyone else :)
Thu 27 Nov | Insert half smiley here. | I don't see what's dumb about giving away your code. If you give away the program, you may as well give away the code too...
Thu 27 Nov | Insert half smiley here. | One more thing just occurred to me -- as a potential asker of questions, this kind of thing can be easily avoided by looking out for the use of the word 'newbie' or, worse, 'n00b'. If you see this... run! It will be better for you that way. There's probably another program that will do the same thing. Use that instead :)
Thu 27 Nov | no name | > If you give away the program, you may as well give away the code too... why?
Thu 27 Nov | Insert half smiley here. | Well, because you've given away the program. What benefit is it to you to keep the source code to yourself? Maybe you might want to use your free version as some kind of loss leader for the full version. This didn't occur to me earlier; seems reasonable, but that's hardly open source :) Really, I don't see any reason that there should be obligation either way. However, there are benefits from releasing the source code (possible free bug fixes and potential continued development when you get bored being the main ones) which you may as well take advantage of. I must admit that I'm thinking of spare time projects that you do for fun and without pay. (With pay, it comes under some other banner even if the end result is free to whoever uses it. And as for fun, well, I'd be surprised if many people did things without pay that weren't for fun. Strikes me as a bit misguided otherwise :)
Thu 27 Nov | FullNameRequired | hey ya bored, have you ever been directed here: http://www.catb.org/~esr/faqs/smart-questions.html ? when I first started posting the odd programming question I was less than helpful in the way I phrased it, and some helpful chap directed me to that page. Since then Ive done the same to a number of others in my turn. its not about proving superiority or shutting people out, its about wanting to help those people who can help me as much as I can. oh...the person who originally directed me to that page was _not_ an oss programmer.
Thu 27 Nov | no name | Half smiley, if you happen to develop something useful, and lots of people want it, you could have yourself a business. But if you give away the source code, you can forget that. Other people will have the business. By the way, I've seen this happen. There's not really any benefit to giving away the source code, if you're any good.
Thu 27 Nov | Bored Bystander | Just to be clear - I've never been flamed on any OSS board or newsgroup, I rarely post questions, and I almost always answer my own questions from the existing message base(s). I'm about as far-removed from the flameworthy newbie as you could imagine. (modest, too. ;-) ) I was simply describing behavior that is socially repulsive and which confirms the image problem under which programmers labor. I literally blundered into this stuff when I was looking for something else. I still pose the question - why support something that you find so aggravating? I avoid stress and gross mismatches between my abilities and the appreciation level of those expecting 'favors' from me. I don't see the problem with saying this. Don't shoot the messenger.
Thu 27 Nov | FullNameRequired | 'I'm about as far-removed from the flameworthy newbie as you could imagine.' :) I never doubted it. 'I was simply describing behavior that is socially repulsive and which confirms the image problem under which programmers labor.' I _really_ do not understand how you got from that webpage to this. The majority of people on that mailing list are going to be either developers or users 'in the know', they are _not_ support people and as far as I can see are not pretending to be. They _have_ (for no pay and out of the goodness of their hearts) decided to offer what help they can to newbies so long as the newbies follow some pretty basic guidelines. the first being 'at least make an effort to read the manual before you try to ask on the list' Personally I dont really see a problem with that. (if the newbies want advanced support for their _stupid_ questions they can either hire someone able to provide it or read the manual.) 'why support something that you find so aggravating?' Im betting because people keep asking them to, and because they dont really mind so long as they dont feel they are being taken advantage of. 'I avoid stress and gross mismatches between my abilities and the appreciation level of those expecting 'favors' from me. I don't see the problem with saying this.' there is no problem with saying that. If you dont wanna help, dont. The people on that webpage are saying that they are _willing_ to help, under certain conditions. I dont see the problem with saying that. 'Don't shoot the messenger.' can I torture him just a little to make him give me the message? I _still_ dont fully understand what you are trying to say? that the people working on that project _should_ refuse to help any newbie, anytime? that they should help _every_ newbie all the time regardless of how clueless they are? Im drowning in the muck of my own confusion..
Fri 28 Nov | Shodan | I guess the point is, if open source is seen as the more enlightened path for software development, this kind of post which misunderstands the 'human relations' (as it was put) is a classic example of why open source 'has a long way to go' to replace closed source/corporate development. Bored often contends that open source has a PR problem and OSS projects tend to bark at their user base. You know, when you're paid for your time, difficult requests (for want of a better phrase) go with the territory. They're not going to stop suddenly overnight because you're not being paid by your users - or customers who don't pay anything perhaps. Fact of life. Human nature. Who is more likely to 'correct their behaviour'? The entire userbase of the world? Or a team of programmers? When I saw that 'How To Ask a Question' web page, I just thought WTF, they expect people to read this? I found it reminiscent of the kind of crap I find in corporates.
Fri 28 Nov | FullNameRequired | 'if open source is seen as the more enlightened path for software development, is a classic example of why open source 'has a long way to go' to replace closed source/corporate development.' ??? if we consider bob as being the new godhead, then clearly his propensity to lick his own bollocks proves that hes not really a godhead ??? what kind of bullshit statement is that? I dont know any marginally sane developer who believes that OSS will _replace_ CSS (why would we want it to?) there are many who like using it where possible, and many others who prefer using it..but there are _also_ many who use CSS and many who prefer using CSS. 'Bored often contends that open source has a PR problem and OSS projects tend to bark at their user base.' better than ignoring them, which is what a surprisingly large # of CSS shops do. _both_ types of software development have projects where the users are treated brilliantly, and projects where they are decidely not. Im not sure that pointing to any project in particular is proof of much except boreds dislike of OSS. 'You know, when you're paid for your time, difficult requests (for want of a better phrase) go with the territory. They're not going to stop suddenly overnight because you're not being paid by your users - or customers who don't pay anything perhaps.' Im _not_ going to let the fact that this sentence doesn't make much snese stop me from speaking on it... I am owner/programmer at a wee programming shop. I employee someone who is the designated 'face' of the company to certain types of users (basically support for users of our products, as opposed to support for our 'clients' who pay us to development stuff for them) I consider it a very good day if I and the rest of my programmers never see or hear from those users except via the bug fix/feature requests. OTOH these OSS developers are part of a public mailing list and are expected (at least by the users themselves) to answer every question (and wild accusation) any passing joe feels like posting to the list. Frankly, they have my deepest sympathy :) 'Fact of life. Human nature. Who is more likely to 'correct their behaviour'? The entire userbase of the world? Or a team of programmers?' ?? a little give on both sides would be perfectly reasonable. If some random user cannot be bothered to find out a little of the etiquette and follow a few basic guidelines, them why should the programmers give them any of their time? 'When I saw that 'How To Ask a Question' web page, I just thought WTF, they expect people to read this? I found it reminiscent of the kind of crap I find in corporates.' They probably dont _expect_ people to read it, they probably dont even care much whether they do or not. anyone who doesn't read it, and doesn't at least attempt to follow the guidelines just wont get their emails answered :) It all seems perfectly reasonable to me. I suspect that we are finding out more about the likes and dislikes of bored than we are about the problems OSS has with its users.
Fri 28 Nov | Shodan | I was trying not to be too wordy, but I guess we can replace the word concise with unintelligible in this case. I'm not an active member of OSS. I like OSS, but don't really have the time to invest any time in it. So what I know about OSS is from the outside in. I feel that there's a lot of religious zeal around OSS, in terms of how it's so much better than anything else. Occasionally a post along these lines pops up on this board (not Bored). So that's where I'm coming from. If open source is seen (by some OSS supporters) as a better way, then yadda yadda. I would say they both have their place. Once an OSS project gets traction, and gets popularity, then I don't think there's any force in the world going to stop incorrectly phrased, rude or even abusive questions, *particularly* with an online forum even though it's supposed to provide a 'history of pre-answered questions'. Sad is it might seem, but writing the best document in the world won't fix it (it'll be too long). Replying with with STFW or RTFM isn't going to fix this. Writing a document about how to write questions won't fix it. Deciding to close ranks and ignore people isn't going to fix it either. It all comes across as a superiority complex (and I know that *some* developers actually have one too), when it's mainly borne of frustration. But, yeah, I suppose this thread does have a kind of 'OSS sucks'-ness about it.
Fri 28 Nov | FullNameRequired | hi Shodan, 'I was trying not to be too wordy, but I guess we can replace the word concise with unintelligible in this case.' :) happens to the best of us. ' I feel that there's a lot of religious zeal around OSS, in terms of how it's so much better than anything else.' theres a fair bit of that around most anything these days. the kids of today just dont understand that religious zeal should be saved for...religions... But honestly, whats worse...some idiotic kid convinced that OSS will save us all, or some full-grown programmer pointing desperately at any OSS project they can find screaming 'LOOK...ALL OSS IS BAAAD' ' If open source is seen (by some OSS supporters) as a better way, ' depends what you mean by better :) personally Im going to stick with closed source software until I retire. Then Im gonna spend my dotage annoying productive OSS programmers with obscure patches for pointless fixes. From a more general POV though, Im 1000% behind the _existance_ of OSS. 'I don't think there's any force in the world going to stop incorrectly phrased, rude or even abusive questions' indeed no. 'Sad is it might seem, won't fix it (it'll be too long). isn't going to fix this. won't fix it. isn't going to fix it either.' true. OTOH not even trying to educate the users in mailing list etiquette _will_ make things worse. ...better to light a candle yada yada yada...
Fri 28 Nov | fw | Go do something about it then, setup a postnuke for retards-who-dont-google-or-read-the-faq and charge them, isn't this the opposite of what's going on now? Oh before you kill youself after you lose all hope for the human race, send me a little note telling me I was right.
Fri 28 Nov | Just me (Sir to you) | Who claimed OSS was perfect? Well, appart from every /. poster, 80% of the media and lowgrade PHB's that have trouble finding the 'any' key ... Many OSS projects don't realy want to have users. Sure, they would like the fame off having their product used by XYZ, but they are not prepared to make an investment in that. There is nothing wrong with that. That is why it is a hobby. No compromises, I'll do what I like and skip the boring bits. This is the free OSS. You don't pay, so don't nagg. There is also a small section of professional OSS, which is just the same as CSS. Sure, there are less examples of the 'pay me a licence and all the rest is free' model in OSS and more software as a compliment setups, but CSS also runs the full spectrum of these models. This OSS is certainly not 'free'. You probably pay far more than equivalent COTS solutions simply because of the smaller market. The message you point at merely says, admittedly in kind of an inderect way, that that project is part of the 'hobby' OSS world, not the professional OSS world. The above is putting hobby vs. pro in a black vs. white polarized way to make a clear distinction. Remember, in the real world 80% is gray. The only thing to remember: there is no free lunch, and only the stupid believe they can have their cake and eat it to.
Fri 28 Nov | Portabella | I agree with Bored that this kind of post -- 'The fault lies within YOU, not on this page' -- is patronizing, wrong-headed and detrimental, and doubly so because the one who wrote it clearly didn't even understand that it would be read that way. But I don't think all or even most OSS projects are this way. And there are certainly many non-OSS programmers who have this attitude too, and hell, not just programmers but other walks of life as well (plumbers, mortgage agents, etc). The difference is that these folks have an intermediate person who does customer relations for them. Let the customer see them in the raw, and you get the exact equivalent of this post. Our cultural expectation is that the customer is treated like a gentleman or lady. I see nothing wrong with the actual content ('We are volunteers and do not have the time to help everyone'), it simply needs to be stated politely. OSS thrives under patronage, I think.
Fri 28 Nov | RocketJeff | Look at the replys to the comment BB linked to - there are several other developers on the project who didn't like the way the original was worded. I think it's just a small minority giving the majority a bad name again - just like the couple of 'OSS is killing all programming jobs' posters here give a bad name to closed-source programmers.
Fri 28 Nov | Bored Bystander | This thread is getting pretty long winded. I was simply commenting on the absurdity of open source volunteers turning a voluntary self-appointed duty into a grim mission to educate a large body of what they see as the unwashed proletariat against their will. The grim mission culminates in a personalized insult delivered in blinking 'personal Geocities website' style caps and red font to 'STOP BEING A DUMBASS HEY YOU THERE'. My take is: when something becomes this bad - in this instance, new user confusion - then MAKE THINGS BETTER, don't flame the masses with a patronizing load of dreck that they won't even read. Or admit that you've failed and allow others to carry on the work. The problem in this instance is that Postnuke has no official user's manual that I've been able to find, and lacks even a core set of 'endorsed' documents that describe how to do things. If I want to do X with Postnuke and I search their forums, I find anecdotal descriptions across many threads that in many instance don't even agree with each other. A Postnuke user is literally on their own. So, I do not find it in the least surprising that new users bombard the forums with dumb questions. Postnuke's configuration is flexible but (in return) absurdly complex. It demands a well indexed knowledge base and a new user's manual. The information and the writeups are there. The organization and the distilling down are yet to be done. I'm saying that the basic logical inference that anyone reasonable could draw from this situation - 'new users ask the same questions repeatedly' --> gee, the information must not be readily searchable - is broken. These guys, for their ubergeek hubris, are pretty damned stupid in lacking basic common sense. I think Postnuke is probably an egregrious example of how not to do things and how not to treat new users. Other open source packages are not this bad by a long shot, I admit. Apache (probably an unreachable example because of its prestige and vast popularity) has an extremely strong and comprehensive set of official docs and support forums that I haven't *bothered* to use - because the docs have everything I need. However, the culture of insulting new users when they don't ask a question in the exact correct manner is OSS to the core. In my view, it's juvenile live-in-parents-basement geek arrogance.
Fri 28 Nov | FullNameRequired | 'However, the culture of insulting new users when they don't ask a question in the exact correct manner is OSS to the core. In my view, it's juvenile live-in-parents-basement geek arrogance.' :) and not at all confined to OSS developers either.
Fri 28 Nov | Bored Bystander | Yeah. And I think the profit motive has a WONDERFUL way of instilling an attitude of courtesy through enlightened self-interest. ;-)
Fri 28 Nov | no name | Right. So you give away your source code so some other clown can benefit from your hard work. OK. Then you also undertake to provide support for this thing. For free. For people who've probalby been at the beach and the movies while you've been slogging away at the code. Are open source programmers completely stupid?
Fri 28 Nov | Insert half smiley here. | Good lord! What's with the depth of hatred for open source programmers?! If I write a program for free, it's going to be one that I'd actually find useful or enjoy writing. I'd rather write it than watch some crap at the cinema. I'd rather write it than go red and blistered at the beach. Once I'm done, I have two choices. Firstly, I could try and make a business out of it, or at least sell it as shareware. I considered this with my program; I think it's better than the others out there (I wrote it to be that way :), and I could possibly have earned some money out of it. This has a a big disadvantage: you're tied to updating your program. For a for-fun project, that's one way of killing the fun. At the very least, I'd have to respond to user requests in a timely fashion, manage registration requests and (probably) fill out some kind of tax forms for the extra income. None of that strikes me as fun, and it's not a guaranteed income anyway. (Having checked out the web stats, it might have been worth it, but that's life. I stand by my choice in any event.) Alternatively, I could just give it away. That's what I did. (Source code too.) Now this has cost me nothing, because I would have written the program anyway, and in fact it has a couple of plus points. Firstly, I can drop the program at a moment's notice without annoying people who might have otherwise paid for it. Perhaps it will annoy people anyway, but I'd be happy to explain myself -- I'm not in the business of being rude over email. Secondly, others can modify or take over development of the program. That's good, because I'm not always interested in implementing the requests I get. This way, I get to pick and choose which ones I do. (See also the first point; if I can't be bothered with a feature, or if I do drop it, any interested parties can pick it up and continue development.) Oh, and I get to lay the code out as I find most readable, use templates and STL as much as I like, choose the tradeoffs I want, jump in and write code rather than designing if I want, change the code on Friday night after going to the pub, edit it on a Sunday after smoking weed, take the program in whatever direction I want... or indeed not do anything with it at all for weeks at a time if the mood takes me. (It occurs to me that I could also keep it to my chest and just not release it. Well, that's no fun. I get a kick out of the idea of people using my program and liking it, and I'm not ashamed to admit it :) So for me it's mainly about the lack of obligation to the people who use my program. That's why I give it away for free. You can buy my professional self for cash; for free, you just get me. I write correct code and I don't behave like an asshole when the answer is in the manual (I agree with BB -- that just means the manual is crap!), but I can get bored easily, and I consider that worth more than money. (And as a single person with savings and a regular income sufficient for me to turn a monthly profit, that is a luxury I can afford and one that I would be foolish not to take advantage of.) Erm... ?!
Fri 28 Nov | Tony Chang | If Half-Smiley or anyone else other than myself develops a killer must-have application and they don't want to charge for it, I definitely agree that they should release their program as open-source. That way, I can spruce up the UI a bit, add a printed manual and make a nice business selling it myself for it's real economic value (which, if it's truly useful is certainly more than free!)
Fri 28 Nov | FullNameRequired | 'That way, I can spruce up the UI a bit, add a printed manual and make a nice business selling it myself for it's real economic value (which, if it's truly useful is certainly more than free!)' which is pretty much what redhat, susi, etc etc etc do with Linux :) Thats _acceptable_ with OSS (depending on the type of license you may have to release the changes back to the community or you may not). of course Tony, you _do_ believe in obeying copyright law, right?
Sat 29 Nov | All Code Wants to Be Free | If someone is truly a free agent and wants to release their code as free open source, more power to them. Unfortunately, many employees have signed contracts that give their employer ownership of the code they write. These people write code related to their employers business, which makes it their employers code. Then they 'give away' the code that actually belongs to their employer. They are not giving to open source because they believe in being generous, they are doing it because if they sold their program, their employer would sue them and win. Giving the code away is simply stealing from their employer. Sure, there are those that will say what the employee does in his own time should belong to him. Not if he signed a contract saying otherwise! If the programmer doesn't like the contract and wants to give away code belonging to the employer, he should not sign the contract, change the contract, or work somewhere without such a contract. Or better yet, be an independent contractor and see how far giving away code gets him! It's easy and lazy to believe in open source when someone else is paying you to write code and you are giving their code to others for free. It's much harder to believe in open source when are a free agent and you are not being paid to write code. Look at the example of Linux -- lots of people acting like they are working on an innovative new operating system, when all they were really doing was cutting and pasting entire files from standard Unix distributions!! What's innovative about that? I'm on SCO's side on this one -- people using Linux are definitely violating copyright laws and need to either start paying their license fees, or be sued to armageddon. Linux written by volunteers? Give me a break! Cutting and pasting and actually writing are two different things. To summarize, I have no problems with people giving away stuff that they actually own. But to give away stuff that belongs to others is theft.
Sat 29 Nov | Shodan | Holy crap, this thread really is about the OSS religion vs. the Anti-OSS religion now. Let it die.
Sat 29 Nov | Stephen Jones | Dear All Code wants to be free, Do you know anything at all about Linux. Even SCO admit that it is not Unix. SCO has been asked to identify the code it claims it has copyright over and has consistently refused to do so.
Sat 29 Nov | deja vu | Stephen Jones, dont feed the SCO troll. thanks
Sat 29 Nov | no name | SCO's waiting till it goes to court, though, aren't they? That seems reasonable to me. If they start identifying the copied code, it will get changed.
Sun 30 Nov | Stephen Jones | Dear blank, --'If they start identifying the copied code, it will get changed. '--- Exactly. Both Stallman and Torvalds have said they will take out any Linux code that may infringe copyright. And as OS means OPEN SOURCE it is a matter of public record that any purloined proprietory code has or has not been purloined. Can I sue everybody who reads a Shakespeare play on the grounds that some of Shakespeare is actually my own creation - but no, I won't tell you which lines until I go to court?
JWZ or JS? | Thu 27 Nov | RP
I was just wondering... (I do that a lot when I post things here like the ones Ive been posting these last few days...) Who is your favorite Internet persona? Jamie Zawinski (direct, harsh, sort of a cowboy) or Joel Spolsky (meticulous, carefull, more reserved) ? Hell, too much free time on my hands (and an incredibly shrinking deadline)
Thu 27 Nov | Walter Rumsby | Hani - http://www.jroller.com/page/fate
Fri 28 Nov | The Effervescent Elephant | For me it's Martin Fowler. Hani gets boring after some weblog entries. He repeats himself a lot and very seldomly says something insightful. He's somewhat funny though.
Fri 28 Nov | Simon Lucy | Well on my wall I have posters of jwz's dummies and my stalker phototgraphs of JS. Like, I had to breathe today to read this?
Fri 28 Nov | RP | Nah, you just couldn't resist the calling of a misteriously titled post. And when you got in, you just couldn't get out.
Fri 28 Nov | Steve Jones (UK) | Martin Fowler doesn't post as much stuff now he's back on the stall.
Fri 28 Nov | Rob Mayoff | Dan Bernstein, of course.
Fri 28 Nov | Insert half smiley here. | Can't we like both?
Fri 28 Nov | Walter Rumsby | I like how Martin Fowler's approach is what he calls a "bliki" - a blog/wiki combination.
Sun 30 Nov | Li-fan Chen | If there were any indication a couple of programmers in a garage can outwit the most innovative blue chip company, some of you could be reading all the wrong materials.
Design pattern? | Thu 27 Nov | Gwyn
Hi, I have a particular problem Im trying to solve and Im wondering if there are any patters or if someone has done this before... I have a client-server system. The client must send data and files to the server. The data is all updated on a database within a transaction. Sometimes the transaction can be quite complex. The files that get stored only happen if the data is valid and stored. However if te file storage fails then the data must not be updated. Some files can be quite large (i.e. network unfriendly) e.g. several MB. Now my issue is how to handle this. I see three options 1. a. Client sends data and files. b. Server saves files, performs validation and update and if unsuccessful deletes files. Problem: Large files sent across network but request may fail, meaning transfer unnecessary and network resource and time wasted. 2. a. Client sends data. b. Server validates data (as if it were doing the update for real and then backs out the transaction) c. If unsuccessful action is failed. Otherwise d. Server requests files from client e. Server saves files f. Server reruns validate/update (this time commits transaction) Problem: Have to run the validate/update twice. with complex transactions this can make the process a bit slow but more importantly will adversely affect other clients. 3. a. Client sends data b. Server start transaction and performs validation c. If validation unsuccesful then action is failed. Otherwise d. Server requests files e. Server saves files f. Server runs update and commits transaction Problem: Transaction is open for potentially a long time (and may even timeout). This will mean other clients are adversely impacted if they are trying to update data in the same area. Any words of wisdom from someone cleverer than me as to how to handle this?! Thanks in advance
Thu 27 Nov | Stephen Jones | I'd think you would be more likely to get an answer if you give details. How fast is the network, how many concurrent users,, why are files several megabytes in size, how many people are likely to be updating the record at the same time?
Thu 27 Nov | Gwyn | I'm not sure the details are relevant. The network could be an Internet connection (a fast one - think ADSL), the files could be large (several meg),the data could comprise of 100's of records affected. There may be one main record (that noone else is updating) but many other 'shared' records that someone could potentially be accessing... and the point of a transaction is so that all records are updated as an atomic unit; even people reading any of the other affected records need to have a set that has integrity. But as I say I'm not sure the detail is relevant.. it just gives the requirement and the requirement is.. well.. required! I think there's enough info to describe the problem..
Thu 27 Nov | Rob Walker | How often do you expect failure to occur? My experience is that in practice the failure case happens infrequently enough that the 'wasted' effort isn't really a problem (the user was expecting the transaction to take that long anyway). What is the additional cost of the failure case. i.e. what will the user have to do to correct the problem? If this eclipses the file transfer time there is no need to optimize that away. I would tend to go with the simplest solution, 1. Coming up with a more elaborate scheme that improves maybe 1% of interactions with the server isn't worth the risk inherent in the extra complexity. If the 1% is in reality much higher then a more complex scheme might be justified.
Thu 27 Nov | Gwyn | How often for failure? You know what users are like! Actually a lot of validation is done on the client GUI before it gets to the server (which revalidates it because input can come through other client entry points). So really the failure (due to validation) is going to be fairly rare. Hopefully failure due to environment will be rare too! The only other case for a request to be rejected is if another user has changed something relevant in the time between the user starting their activity and actually sending the request. You know the deal. User1 requests record for update. User2 requests record for update. User2 updates, User1 tries to update and gets rejected. Again these should be rare. So maybe 1%...
Thu 27 Nov | micje | I suggest you use solution 1, but if the transaction fails you store the files in the session of the client, and you tell the client not to send those files again when the client is retrying during the same session.
Thu 27 Nov | Seemore | Looks like clever usage of MSMQ will do the trick here
Thu 27 Nov | Gwyn | Clever usage of MSMQ? Can you give some ideas? Note that the client could be non-Windows. It is at the moment but might not be in the future (just needs something talking over the TCP/IP connection)
Thu 27 Nov | Seemore | Well, if client can be Non-Windows , MSMQ is pretty much out of the picture, unless you want to use MQSeries This type of problems are usually resolved using reliable transport message queue mechanisms over unrelaible network
Thu 27 Nov | Stephen Jones | Why not look at somethng that more or less does the same thing. Are we talking about collaboration software of some kind - the files are actually the data that is being kept in the database? Can you guarantee that nobody will need to send stuff in by modem or ISDN?
Thu 27 Nov | Gwyn | I would like to consider things that more or less the same thing... except I don't know what does! That's kinda the point of me posting in case anyone else knows! The best analogy is... imagine a Problem logging system where the user can include attachments. There is data (about the problem) and then there are files (attachments). The server must validate the data and store the files. This is a client server app so looking at browser based technology (which normally involves sending the files every request and is generally flakey and unreliable anyway) is not useful. There *could* be users over modem/ISDN.. but it's not really in that arena. Emergency access maybe in which case you'd expect it to be crap!
Thu 27 Nov | TTT | If it is text files they can be zipped. Just my 2c.
Fri 28 Nov | Jim S. | 'But as I say I'm not sure the detail is relevant.. it just gives the requirement and the requirement is.. well.. required!' Details always matter. Requirements are often negotiable and they can often be transcended by good design. 'God is in the details' - Mies van der Rohe 'The devil is in the details' - favorite saying of Arms Control Negotiators.
Sun 30 Nov | Stephen Jones | So you are not going to have collaboration on the files? Check out network bandwidth details, and then decide if you can go with one - save all- , or should do the second plan - check data and then send files. Possibly even consider both depending if on site or not. Both God and the devil are in the details, and the most important detail is knowing which one.
Performing at your Peak? | Thu 27 Nov | www.marktaw.com
In the Army v. Business thread (http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=89827) Eli says: What I am looking for are ways to take a given group of people whom you dont choose and make them a better team. I have different folks.... What I need/want to do, is propell each and every one to the peak of his/her excellence. Besides the methods espoused in Peopleware, what methods do you have to get yourself & those around you to perform at their peak. For example, I keep a to-do list on paper (something about digital to do lists dont do it for me). I have a small spiral notebook I get from the supply room, and next to each item, I draw a little box in the margin. Then when I do something, I have the satisfaction of checking it off. I also put the date every day, and write down all my calls there. It makes it that much easier for me to go through my log to see what I did when, or who I talked to when. Or if I have something tedious Im putting off, Ill try to recruit someone to help me with it. It doesnt work for everything, but some tasks really do go better when you have someone else helping you, and the interaction is welcome after a long day of working alone. So how do you Cross the Chasm (http://www.joelonsoftware.com/articles/fog0000000339.html)? PS - For those of you who celebrate it, HAPPY THANKSGIVING
Thu 27 Nov | - Roland | In the discussion about 'Fire and Motion' [1], Karel van der Walt mentioned the book 'Patterns of High Performance' by Jerry Fletcher [2]. In this book, Fletcher claims that everybody has one unique, individual 'high performance pattern', i.e. a way how a person gets his/her best results. Such patterns consist of about 10 to 15 steps. In following your pattern step by step, you (in Fletcher's words) will get into 'high-performance mode' (sustained performance), as opposed to 'grind-it-out mode' (mediocre performance with some peaks). While Fletcher gives no theoretical reason why this is so, he provides lots of examples, taken from his work as consulter [3]: First, how to find out your own pattern; then, how to apply patterns to projects off track, decision making etc.; finally, how to use patterns in working teams, with special focus on pairs of people. I got the book a few weeks ago, and definitely like - and recommend - it. The time since, however, is to short for me to judge whether this concept really works. Perhaps there are others here who have tried it? (Unfortunately, Karel's mail address no longer works). - Roland PS: Btw, I also work with a spiral notebook in a very similar manner. Don't think that alone ensures 'peak performance', however. [1] http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=2290 [2] http://tinyurl.com/wr8a [3] http://www.hpdynamics.com/
Thu 27 Nov | www.marktaw.com | Interesting theory, and thanks for the links. I think it's similar to what Mihaly Csikszentmihalyi proposes in Flow, which is probaly cited in Peopleware. The beginning of Chapter 4 'The Conditions of Flow' has an interesting sentance: 'We have seen how people describe the common characteristics of optimal experience: a sense that one's skills are adequate to cope with the challenges at hand, in a goal-directed, rule-bound action system that provides clear clues as to how well one is performing.' I think this is a pretty good description. Interestingly, when I read that description, the situation that pop into mind are: - exercise / sports - video games / board games These are areas, unlike, say social events, with clear and explicit rules. Certainly these conditions can exist at a social event, as they do have their own rules and goals, but the rules aren't explicitly laid out like they are in sports and games. Take a game like The Sims. Who would think that a game like this would be fun? Helping people eat, sleep, go to the bathroom, wash up and clean up after themselves so that they can be happy at work to get promotions. Yet it is fun because you always have: - Distant goals, such as getting a promotion at work, or getting someone to fall in love with you. - Immediate goals, such as raising the room score by cleaing the dishes. - Obstacles, ever cheat in one of these games? They lose all their fun. Which, I guess is another way of saying what Mihaly said in Flow. In Chess, the end goal is explicit - Check Mate your Opponent. Intermediate goals are defined by the situation, and by and large, you know how well you're doing. When you play football, or computer football, you can choose to work with or against your friends. The game is no less fun if you work in cooperative mode. So when in the Army v. Business thread, we talked about having an enemy - someone to work against, why couldn't the project itself be the opposition? Or perhaps a personal best. Ever try to beat your own high score in a video game, or your own best time in the 400 meter dash? I think there's another aspect to Flow that isn't mentioned in that brief description - nuance. Subtle variation. This is what allows me to play the same song over and over again as I'm rehearsing or performing it. After a certain point, the song is no longer a challenge, but I enjoy playing it anyway. Especially with other people. I guess you could add interaction to that list as well. I'd posit that, as Fletcher seems to propose, there's a certain memory component to Flow as well. When I pick up a guitar, or sit at a piano, all my previous experience in that situation comes back to me. If I've never played piano in front of someone before, or if I've failed in that task, then that memory too comes back to haunt me. So I'd combine feedback & knowledge that you can do it with a positive rewards system, or memory of past achievements. Earlier we discussed team building exercises. Perhaps these are simply an attempt to build into us a memory of achieving with our teammates that we can take back to the office with us. Enough accomplishments with our teammates and we can displace any memories of setbacks and team politics that hold a team back. Mihaly Csikszentmihalyi - Flow http://www.amazon.com/exec/obidos/tg/detail/-/0060920432
Thu 27 Nov | Len Holgate (www.lenholgate.com) | Paper lists do it for me. I scribble items off once they're done, scribble designs around them whilst I'm doing them and when I run out of space or the list looks too messy I copy all outstanding items to a new sheet, screw up and bin the old sheet, and start again. I think the 'copy to new sheet' thing is the part which makes me deal with the things I'd rather avoid. You dont get that with electronic lists and the 3rd or 4th time I start writing out the thing I keep avoiding I usually just leap in and do it because I've been nagging myself with it. I dont keep the sheets. Anything that needs to be kept (phone notes, numbers, etc) gets transferred into outlook. Any concepts or designs that I'd like to remember are either already in code or written about for an online article, or (more recently) brain dumped on my blog. But, there's still a huge difference in my productivity depending on my office surroundings. In my own office it's quiet and there are no distractions and I have everything I need to hand or can simply order them as I can sign off on anything. When on client sites it's often the opposite.
Thu 27 Nov | www.marktaw.com | There is something about paper lists that makes them better than their digital counterpart. 1. Lack of editing makes you commit. There's just something about writing it that gives it more weight than typing it into a computer. 2. Lack of sort & categorization prevents you from constantly shuffling some items to the bottom. 3. There's so much more satisfaction to crossing an item off your list than clicking it and simply having it disappear, and digital lists with lots of strikethroughts or red items simply aren't as easy to read. 4. You're not likely to cover your notebook with your browser. You're also more likely to look down at the pad while you're on the phone. While I'm here, this thread, touches on this topic a bit. How do you Get Things Done? http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=78537 To follow up on that thread, I've finished Getting Things Done by David Allen and I love the system. I've implemented it and it works. If you're already writing everything down, you're halfway there. The trick that this book taught me is to commit to the system totally. Don't write down some things and not write down others, write everything down. File everything away. Always go through your in basket (or inbox) in order and always decide what the very next action you can take on any given task is, and either do it now, or write it down. Once you've done this, your brain is free from worrying about whether or not you've remembered X or Y, because it's on a to do list, and you will review your to do list on a regular basis. Getting Things Done by David Allen http://www.amazon.com/exec/obidos/tg/detail/-/0142000280/
Thu 27 Nov | Len Holgate (www.lenholgate.com) | Ordered. ;) Thanks.
Thu 27 Nov | - Roland | Scenario: Zurich, ca. 1905. A clerk at the local patent office, Albert Einstein, prepares for the day: 'Ok, so I have to write a to-do list (on paper!) in order to be successful and get things done. Hm ... lets see what I've got to do today: o state that light speed is always constant o develop relativity theory as a consequence o prove that E = m c^2 'Dang', he mutters, 'this boring stuff takes up all my time, and prevents me from doing the *really* important things.' He adds one further item to the list, and marks it as 'highest priority': o PRACTISE THE VIOLIN Einstein is probably an unfair example. What I'd like to point out, though, are two things: 1) 'being good at X' is NOT the same as 'having fun doing X' What Einstein liked most was to play his violin, and his dream was to become a great musician. He never got very good at it - yet he was good at other things (which were not so much fun, propably). No offense, but when MarkTAW argues that he likes sports and video games, silently concludes that this is where he is good at, and then starts to analyze the common patterns (goals, rules, obstacles, ...), I got confused somehow. All I concluded was that he likes structured situations, and dislikes chaos. 2) No Silver Bullet It's fine that David Allen, Jerry Fletcher, and Joel Spolsky tell us what worked for *them*: ToDo lists, High Performance Patterns, Bionic Offices, whatever. As we can read, David Allen's tips worked for MarkTAW. Great! This does not necessarily mean that they will work for me, Len, Eli's team, etc. Before this turns to a 'paper to-do lists are good/evil' flame war, I'd like to raise again Eli's question: 'I have different folks.... What I need/want to do, is propell each and every one to the peak of his/her excellence.' IMO, Eli has two options: A) deal with methods, and find one method that works for anybody B) deal with people, and find out which method works for whom I'd recommend option B, especially since he stresses 'I have different folks.... '.
Thu 27 Nov | Eli Golovinsky | It's a new kind of fun reading a discussion 'about me', but it's time for me to have a saying in this. Unfurtunately for me I can't respond quickly to the posts as (for security reasons) I have no connection to the internet at work, so I do this at home. Getting back on the subject at hand, I have to agree with Roland. It doesn't seem likely that there is a single 'best' method of encouraging people, or influencing them in any way for that matter. Each one is a unique person, with a specific set of desires and dislikes and each one (probably) has a trigger button that if pressed, sparks his enthusiasm and elevates him to his best. One of the things I am trying to combat most in my team, is the lack of interest in semi-related material. While for me, reading an article on anything from implementing regular expressions in assembly, through design patterns to broad management techniques is fascinating, it is not for most of my guys and girls. Even those who do have the potential of being interested in those subjects usually wave me off with the 'if only I had time for it' comment. I strongly believe that in order to succeed (and of course to excell) in our line of work, one must read A GREAT DEAL. I was talking to one of the more (realtively) experiences programmers of my team yesterday, and at some point (about at midnight :) we came to talk about this. This guy is exceptionally smart, very mature for his eraly twenties and a very good programmer. But absolutely refuses to read any work-related material. He even seems to be avoiding MSDN, and he never opens a book (though we do have quite a few of must-haves discussed on the Bookshelf thread). I asked him why, and tried to pry into his brain to find out. After quite a long conversation we came to the conclusion that it's the language. I don't recall whether I have mentioned this, but I live in Israel, so the natural language for all of us is Hebrew. The language problem I am referring to is reading English. I was suprised at that, his English is very good, but it seems that because reading English is unnatural a slightly more difficult to him than reading Hebrew, he doesn't even consider to broaden his knowledge through English texts. As you might have noticed, I have no such problem, and it was very suprising and hard to grasp. Thinking some more about it brought me to the conclusion that that might just be the problem other people have. Which brings me to the conclusion that I might use the insight of my mom, and English teacher, and not try to find the answer in technical and methodological suggestions. I imagine at leadt some of you are non-native English speakers. Have any of you encountered such a thing? Would it be wise of me to envolve English studies in my training program for programmers? It seems quite far fetched, but if that's a serious problem, it certainly deserves a careful consideration.
Thu 27 Nov | www.marktaw.com | Roland- A. I started this thread to find out what other people do, not to try to impose one set of standards on everybody. I did this because I was interested in my own personal development, and perhaps to help anyone else who reads this thread. If I don't ask & observe myself and others, how can I ever learn? I opened with an example from my own life. Several other people responded that they do the same. Why do you conclude that I expect everyone in the world to maintain lists? If you read my last post in the Army v. Business thread, you'll see that I intended for this thread to be personal anecdotes and not a dictatorial leadership style. http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=90660 Regarding reading what others have written, such as David Allen or Joel Spolsky (whose methods I never espoused or claimed affinity for in this thread), I prefer to expose myself to a wide range of philsophies, and share what I've learned. Len likes to keep lists, so he's also going to look at David Allen's methods. Great. If you don't, you don't have to. If you had contributed something that worked for you, I'd certainly be willing to at least consider it, and maybe research it some more. B. I take offense that you think video games and sports are 'where he is good at.' The implication there is 'to the exclusion of other things.' I used video games and sports for two reasons. - Nearly everybody likes video games and/or sports. - These are two examples where there are explicit rules that must be followed. Perhaps my own personal bias towards rule based play is exposed here, though I suspect I'm not alone. Certainly Mihaly Csikszentmihalyi would agree with me. Also, whose to say that rule based play isn't applicable to a work situation? Are you arguing that chaotic work environments are more productive and turn out higher quality products at a higher rate? C. I never said Einstein should keep lists. Nor did you say he didn't. If Einstein's only goals were to o state that light speed is always constant o develop relativity theory as a consequence o prove that E = m c^2 I doubt he'd have to write them down every day. Besides, his real goal was to unite what was known about Gravity and Light, what you mention were actually steps he'd have to take to get there. D. 'being good at X' is NOT the same as 'having fun doing X' I never said it was. However, I was trying to argue that 'You would probably be better at X if you enjoyed doing it.' E. To turn around what you said about me, what I concluded from your post was that you so dislike being told what to do, that you rebutted my suggestions as if they were being imposed on you as law.
Fri 28 Nov | Henrik Warne | On the subject of To Do Lists: check out what Mark Forster writes about them (http://www.markforster.net/index.php?view=46). 'There are two main reasons why it doesn't work. The first is that you never get more than a third of the way down the list. The second is that for every item that you cross off the list, you think of another three items to go on it.' He's written a really good book called 'Get Everything Done and Still Have Time to Play'. I particularly like what he writes about the resistance-principle.
Fri 28 Nov | Len Holgate (www.lenholgate.com) | Henrik Interesting link. He suggests Todo lists dont work and then describes how they can work. I guess the reason I find my lists so useful is that I've always used the optimised solution that he proposes...
Fri 28 Nov | Eli Golovinsky | That's a good article Henrik. I especially liked his way of prioritizing tasks - not by importance or or urgency, simply by how long they have been on the list. Personally I do like computerized lists, it's clean, tidy, and I type much more quickly than I can write with a pen. Besides, using the Outlook tasks I can write my thoughts, and any relative information inside. Going one step ahead with the Mark Foster way, I think I'll try to arrange the tasks in the reversed order of their change date, so that tasks I haven't updated for a long time or those created least recently will end up at the top of my list. Mark mentions in his article that you almost never get through to the end of your task list. I think it is absurd to even try to get to the end of it. The nature of a task list is never to empty. That's frustrating at first, but you get used to it. I am quite satisfied when my task list shrinks to about ten items, which it usually does towards the end of the week. Another good techinque that I heard on one of the time management lectures I've attended is defining in explicit terms what are the main priorities of the job. Lying in bed at night after a long holiday, I was inevitably thinking about the things I needed to do when I got back to work. Having read a lot of interesting things while on vaction I had about 40 to 50 ideas and tasks floating randomly through my mind, and each of them required what it seemed to be, immeidiate attention the next morning. It wsa very frustrating because I coudn't manage to get the priorities straight in my mind. Then I remembered the method I mentioned above. I heard about it, but never tried to implement it. So I got out of bed, took a pen and a paper and mapped out my job. These were my conclusions : Everything I do has to do with one of two things : either personell related, or management related. I went on to divide each of these into 4 subcategories. The personnell part was divided into 1. Personal relations (with reports) 2. Training 3. Atmosphere (discipline, fun, etc.) 4. Promotion The management part was divided into 1. Customer relations 2. The future (long term planning 3. Analysis and design 4. Quality management The specifics of my lists might hold no interest to you, but I wanted to provide a vivid example of what I mean. Having memorized this list, I can prioritize tasks on the fly. While working on a task, I quickly analyze which subject it is related to and can decide on the spot if it's important enough. My list is too long. It should be 4-5 items long, and have a clear order of preferences. But I'm working on it. I have made some important decisions working on this list : Quality assurace is something that is important to me, and altough it sometimes seems like good development time wasted, I do it. I haven't put delelopment in the list, because the entire team does that. I just have to get out of their way and handle the background noise. This large-scale prioritizing helps a great deal in task management and simplifies the process. Instead of assigning a priority to each individual task, I subclass them into groups and prioritize the groups.
Fri 28 Nov | . | Unknown author: By following the simple advice I read in an article, I have finally found inner peace.... The article read: 'The way to achieve inner peace is to finish all the things you've started.' So I looked around the house to see all the things I started and hadn't finished.... and before coming to work this morning I have finished off a bottle of Bacardi, a bottle of red wine, a bottle of Jack Daniel's, my Prozac, a small box of chocolates and 6 Beers, a 1/2 can of cider and some cheese. Work has been a lot easier today, let me tell you. You have no idea how good I feel.... 'When life hands you lemons - Grab the salt & pass the tequila baby...'
Fri 28 Nov | www.marktaw.com | Mark Forster's method isn't that different from David Allen's method. When a project lands on your desk, or something in your inbox, say to yourself 'What's the very next action I can take to bring this to closure?' That's what you put on your to-do list. You have to think about it some time, so why not now? The example in the book is having to change the tires on your car. Rather than 'have tires changed' you should think through to what you can actually do about it now, and typically you'll go through a few steps before you arrive at what you actually have to do next. Bring car to garage, no wait, I have to call them first... I don't have their number, Steve has a good mechanic, I should find out who he uses... 'Call Steve for to get his mechanic's number.' And if something can be done in a couple of minutes, do it now. If you have to maintain multiple to-do lists, don't do it by project, do it by situation. Things you can do in the same location, like make phone calls. You can make phone calls away from your desk. This is sort of like making a shopping list. You make it not because shopping is one project, but because you can do everything in one location. Always go through your inbox from first to last, this prevents you from procrastinating on certain items until they never get done. Keep a 'someday maybe' list of things you'd like to do but aren't pressing. Review it from time to time, but not every day. There's more to the system than that, these are just a few mental notes on to-do lists I have from reading the book. It also covers filing, actually doing the things on your list, and so on. I was hoping for some discussion of other things. How you get rid of distractions, like putting the phone on 'send all calls to voice mail' or listening to your walkman to tune out a noisy office. Bringing food to your desk to prevent the temptation to go to the snack machine, adding discuss.fogcreek.com to your hosts list and so on. How do you create a productive work environment for yourself and others?
Fri 28 Nov | Eli Golovinsky | In one of his articles Joel talks about 'the zone'. I found it amazingly true that it takes a long time to get to that elusive level of concentration that you do your best work at. Joel said 15 minutes, I'd say for me it's more like half an hour. I have also noticed that it is much easier to get into the zone when you are compelled to do the task with other people. Let's say I just got back from lunch at 1 am and I have another chapter of a spec to write. If I'd sit down in front of my computer and start writing it will take me about half an hour before I can get my thoughts together. If I have a meeting at 2:30, I will probably end up doing nothing useful. But if the spec writing is a meeting on its own with a peer, that hour and a half could be very effective. So any task that could be done with a peer should be, and it should not be viewed as a waste of time. It's actually very productive. That is, of course, if the peer you are working with is concentrated on the task at hand and you're both motivated to get it done. In our businees, specially in areas where there are more interruptions (lower management, system administration, QA), most of the real important work is done in the late hours of the evening because the rest of the day is filled with interruptions and 'trying to get in the zone' dead time. But the late hours come after long work hours, and the concentration is not that high. I find that it helps me to get to work early and have things done during the hour and a half that I am alone at the office. That is of course only possible in organizations where work starts at 9 or later. I have removed the reminder sound from my Outlook. I never know when an email comes in, unless I actually look in my email box. If somebody wants my immediate attention, they call, which is more effort than dropping an e-note and happens on rare occasions. The time saved by not repsonding immediately to emails is enourmous. For tasks that need time to get done, I schedule meetings with myself in my Calendar. After a while, the people around me got used to the concept of meeting-with-self and got accustomed to not bothering me when I am in such a meeting. A door that closes and a 'Do Not Bother' hotel style sign on the door along with a policy of not interrupting someone who has that sign on the door can help a lot. In noisy environments, a nature sounds CD and a pair of good quality headphones can get me concentrated. Music actually divides my attention and doesn't help. It is also important to create a no-questions environment. Most of the short-answer questions asked can get an answer through Google or something like FogBUGZ. Any long-answer question desrves a scheduled meeting to discuss and explain. Going with this concept to the extreme, it is possible to create a no-talk envrionment at the office where non-work related conversations take place at the caffeteria (or similar), and all work related discussions are held in a meeting room.
Fri 28 Nov | www.marktaw.com | I think that 15 minutes to get into the Zone thing is straight out of Peopleware. Their goal is to create an environment that would allow you that 15 minutes of uninerrupted time. In a noisy environment a 'white noise' like nature sounds seems like a good idea. It sounds like you're on the right path.
Sun 30 Nov | Entrepreneur | This thread is really interesting. Imagine living a 'video game' version of your work day. (Much like the 'SIMS' version of an average person's life). Video games merely structure activity so that it becomes a GAME. Are there any other resources for discussing this topic? (FLOW is already on my reading list. I've added Patterns of High Performance.
Sun 30 Nov | Stephen Jones | Something like 30 years ago I worked for a headmaster who had three lights outside his office. Green = come in Yellow = come in if urgent Red = STAY OUT A stunning efficiency mechanism.
Sun 30 Nov | www.marktaw.com | I read a book on animal training (and people training... the same concepts apply) where they trained a dog who used to howl all night that it wouldn't be let in if the black sign was on the door, only if the white sign was on the door. The dog learned the system and stopped howling to be let in. The difference in video games and sports is that there is a clearly defined goal, or end state. Life doesn't seem to have a defined goal, so you often have to define your own. Most people never do. Read Finite and Infinite Games by James P. Carse.
Sun 30 Nov | Karel | These days I mostly contrast 7 habits with high performance patterns to explain to my students the difference between modernist (science can explain everything) and post-modernist (an adequate truth over absolute truth) thinking. I did correspond briefly with Jerry Fletcher but he already had an agent in my country and did not seem to taken by the possibilities of his method for developers. His follow-up Paradoxical thinking had less meat for me. anyway i include my e-mail this time and i am at www.mentalarrow.co.za too.
Tidbits - Bayesian Anti-Spam | Thu 27 Nov | Thomas Jones
Ive noticed an increasing tendency for spammers to included random meaningless strings in their headers & email text.  I had no idea why - until I saw this comment by Joel.  Presumably, the random text stings mess with the Bayesian analysis.    Does that sound right?
Thu 27 Nov | Matthew Lock | Yes it's an attempt to subvert Bayesian filtering and that checksum filtering that some ISPs use. I use a Bayesian filter and the random text doesn't seem to help spam get past the filter, as there are already too many incriminating words in spam.
Thu 27 Nov | David | There was another thread about this below. Basically some people said it killed their filters and others said it had no impact. Obviously, there are many ways to implement Bayesian filtering. Like Joel, I use SpamBayes, and the random sentences really haven't had much impact on its accuracy. I think it'll come down to how much other text is in the email, how many emails you've trained, and how your filter deals with words it hasn't seen before. Most likely, the 'random' words won't match up too well with your good emails, so most of the words should be scored as neutral and have little impact on the score of the email.
Thu 27 Nov | Robert Jacobson | I just had another spam message today in HTML.  It had large blocks of "plain English" (non-spam) text, but in white characters so they weren't visible.  Unless the filters are smart enough to distinguish visible text from invisible text, it seems like a devious method to circumvent filters.
Thu 27 Nov | Matthew Lock | Most bayesian filters tokenise and score everything - so invisible text ends up with a really high spamming score.
Thu 27 Nov | Simon Lucy | Well it only ends up with a high score if statistically it conforms to whatever you've taught the filter.  If the counter-weight text matches what you've taught it is allowable  then it will tend to make the whole email allowable.
Thu 27 Nov | Matthew Lock | > If the counter-weight text matches what you've taught it is > allowable then it will tend to make the whole email > allowable. It will only make the email allowable if it contains no tokens which were classified as spam. The spammer could include the entire text of a neutral book, or exactly the kind of text I am interested in, but a few mentions of viagra or get-rich-quick words and it would be classified as spam.
Thu 27 Nov | Annoyed that there is no anonymous posting. | Wouldnt common colours like FFFFFF get a really high spam score? The only reason to use white would be if you wanted to hide something. Perhaps we need smarter filters which weigh random/neutral tokens less, and ham/spam tokens more, which should make random strings less effective.
Thu 27 Nov | somebody | Read Paul Graham's articles. He answers most of this stuff. http://www.paulgraham.com/antispam.html
Thu 27 Nov | David | What 'Somebody' said. Read Paul Graham's articles. From what I can tell SpamBayes uses most of his ideas. Basically, the only way the neutral text can work is if it looks like the legitimate emails you get. How likely is that? Not very. There really is a fairly small range of words that are common in your Ham emails. A spammer just isn't that likely to hit them often enough to offset the other content in his email. The spam is going to have to have some text that tries to sell something or get you to click on a URL. There are only so many ways you can make that pitch and have it not match text that's already labeled as spam. And if the random hunk of text includes words you haven't seen much in your ham, they won't affect the final score much.
Fri 28 Nov | pvf | Spambayes maybe filtering all of Joel's email's, but i doubt it's really stopping spam for his side. The real problem is that you still have to download all mail to your local inbox to get that mail sorted out, resulting in waste of time and some bandwidth, what should happen is that email should be sorted and processed in the server. The best solution i've found is called Mailwasher www.mailwasher.net , it checks your email in the server and you can select wich is spam and wich is not, it let's you mark messages for delete, bounce and blacklist. If you bounce the message the sender will know that the email is not valid anymore and eventually remove your email from spam lists wich is good, by marking msg's as blacklist over time the system will learn to classify them and all you have to do is download the mail that matters.
Fri 28 Nov | Interaction Architect | Do these spam filters work OK with Antivirus software installed?
Fri 28 Nov | Robert Jacobson | 'If you bounce the message the sender will know that the email is not valid anymore and eventually remove your email ...' Very few spammers care about bounced messages. Most use forged or disposable email addresses, after all, so they won't even receive the bounced messages. From the spammer's perspective, it's more efficient just to keep sending messages to everyone, including invalid addresses -- removing addresses costs time (and therefore money.)
Sat 29 Nov | deja vu | I wonder how long we're going to go without really commercial, well funded operations getting into spamming. Operations that can afford to hire techies to defeat spam filters. It might seem gloomy, but most spammers seem to be one man operations that just shoot out emails. When the spam bubble busts, and corporations stop paying for spam to be sent, you'll start seeing smarter spammers. Then Bayesian filters will have a run for their money. Right now, the Bayesian Filters seem to be winning (I still use PopFile, which is pretty good too)
Sun 30 Nov | Stephen Jones | ---'really commercial, well funded operations getting into spamming'--- And get themselves sued to high heaven? Or watch their stock price plummet because of lack of goodwill? Beating Bayesian filters will only work if they become a factor. They aren't at the moment because the guy who puts a Bayesian filter on has long before stopped being an official target for a spammer.
Sun 30 Nov | pvf | What world is this where we care more about the mail we don't want than the one we want....oh, i forgot, it's the Internet...
Cross Platform Server Application | Wed 26 Nov | JWA
Hi All, Im beginning to look into the development technologies and architectures for a future project. The project will consist of a server application that communicates with a database, processes data, and then communicates with desktop clients and a browser-based interface. On the desktop, were going to begin with Windows support only, but down the road we will possibly add in support for other desktop OSs. Weve already decided that cross-platform desktop client development is not important to us as we will build OS-specific Desktop clients using the best toolset/languages for the given OS. (C# for the Windows client). We need to decide on the server app. The server app needs to meet the following criteria: - Run on Windows and Linux servers, if not others - Interact (locally or remotely) with one or more databases of various types (Including Oracle, MS SQL Server, Access, MySQL, etc.) - Communicate with the various desktop clients over an Intranet/the Internet - Communicate with or expose a browser-based interface - Provide reasonable performance (i.e. processing speed and efficiency) - Be maintained and supported as a packaged product (Meaning that a single code base will be used and it will need to be packaged for deployment and installation by end users on various combinations of the above mentioned systems, and the implementation of the functionality (in code) must be protected within reason.) I have plenty of ideas for this, but Id like to tap into your collective experiences and perspectives. Assuming that you could use any language and/or technology that you wished for development, what would you prefer for the server app, and why? What communications protocol would you then use between the clients and the server app? (Im assuming web services here, but Im open to suggestions). Regards, --Josh P.S. Any link/book recommendations on your approach of choice would be much appreciated. Im trying to investigate everything and I figured that as a group you guys may have some different perspectives than I do for this.
Wed 26 Nov | FullNameRequired | I may be missing something here, but how about apache/php?  they scale, they already exist and they are specifically designed and tested to do exactly what you require.
Wed 26 Nov | Walter Rumsby | Java or PHP. I'm not sure of the state of SOAP libraries for PHP, but I'd assume there is something workable.
Wed 26 Nov | Dennis Forbes | If you saw my thread on Mandrake and how far Linux has come -- the reason I installed it was actually to assess how far the Mono project (http://go-mono.org/) has come, and if it is reasonably viable to developer .NET web applications that are cross-platfrom compatible.
Wed 26 Nov | Walter Rumsby | In more detail. For a Java-based solution: Web app server (one of): * Tomcat - http://jakarta.apache.org/tomcat/ * Jetty - http://jetty.mortbay.org/jetty/ * Orion - http://www.orionserver.com/ Tomcat and Jetty are free. Orion is modestly priced and has a good reputation (Oracle's J2EE server is a branch of Orion; IBM's J2EE server uses Tomcat for its web app server; JBoss uses Jetty). All of the above are written in Java and will run on any platform with the appropriate JVM. Database (one of)... anything really. PostreSQL is becoming a bit more popular because it is seen as more mature than MySQL, but I'm not sure how easy it is to run on Windows. Your choice will probably be determined by the framework you use and any OR mapping tool you use. Framework. I would recommend Spring - http://www.springframework.org/ - and the (more or less) related book Expert J2EE - http://www.amazon.com/exec/obidos/tg/detail/-/0764543857/qid=1069884045/sr=8-1/ref=sr_8_1/104-1894736-0219965?v=glance&n=507846 I recommend Spring because it provides a framework for data access (including transactions) and web MVC (and since it provides MVC supporting other UIs should be a lot easier). Expert J2EE discusses why the authour thinks Spring is a better choice than, say, Struts. Another nice thing is that Spring provides support for Hibernate. Hibernate seems to be the most popular OR mapping framework for Java and the lead developer of Hibernate has taken on a significant role in steering the direction of the JDO (Java Data Objects) spec. OR mapping frameworks should free you from having to write a lot of data access code. Another option for all the above is to get Oracle's 9iAS J2EE server - it comes with TopLink (probably the most mature OR mapping tool), OC4J (as mentioned a branch of Orion) and some other goodies (I don't think much of their IDE) all for around $US 5000. You'll be able to use Spring and any JDBC-friendly database too. The strength/weakness of Java is the huge number of APIs and choice of provider for specific APIs. If you want to do something server-side, there'll be a Java implementation for it in (I would guess) 90%+ of circumstances. Other sources of information: http://www.javablogs.com/ http://www.theserverside.com/ and Google. Other books 'Effective Java', 'Pragmatic Programmer', Martin Fowler books, etc.
Wed 26 Nov | Vince | I'd recommned JBOSS if your looking for something free.  We've had good luck with it.
Thu 27 Nov | David | At my company, we have a product that fits very closely to what you describe. The big difference is that we wrote ours several years ago, so there are some different options available now. The server-side portion of our app is written in C++. There is some code that is conditionally compiled for Solaris or Windows. We haven't deployed on Linux yet, but if we had to, it probably wouldn't be too difficult. We use SOAP over TCP/IP (not HTTP) for our interprocess and client/server communication. For the client, we have a Java app, because we needed a cross platform GUI. We originally had a web-based client app, but HTML at that time wasn't robust enough to make a solid cross-platform (i.e. no ActiveX controls) client app. All that said, if I were designing the same thing now, I'd probably go with Java on the server, because that's really where Java has flourished. That would probably eliminate the occasional problems we've run into where we had to write OS-specific code. For the client, I'd probably do some soul searching deciding between a web client and a Java client. The Java GUI stuff (swing) is a bit of a pain to code, but it does work pretty well. For Web stuff, unless you can specify a specific browser, it's a pain to do fancy GUI stuff and have it work in all cases. On the flip side, we've had problems dealing with different JRE versions on different places we've deployed.
Thu 27 Nov | Frederic Faure | BTW, considering that writing code in Java requires more care compared to Python, I was wondering what the advantage is in using Java to build web apps over app servers like Zope or Quixote?
Thu 27 Nov | Walter Rumsby | Java advantages include: * large number of APIs * large number of deployment options - hardware/software * large number of providers - from single developer organisations to IBM * quality of development tools (IDEs, debuggers, profilers, experimental things like AOP implementations) * potential to interface with a large number of products * large developer pool and active community
Thu 27 Nov | Clay Dowling | There have been lots of recommendations for Java, so I'm going to throw in one against. The reasons are pretty simple: miserable to install and the speed takes your computer back a couple of years in performance. C or C++ with gSOAP can provide very fast web services to your C# clients. My exerience is with providing web services via HTTP, but gSOAP does have native support for doing it via tcp/ip as well. For speed that's probably going to give you your best results. The gSOAP interface does take a little bit of learning to program, but once you get the hang of how it works (and rtfm) it's pretty easy. Contact me offline if you need help.
Thu 27 Nov | Walter Rumsby | Using C instead of Java when SOAP is your transport medium would be like putting racing tires on your tri-cycle. SOAP is a slow, verbose protocol - I doubt there would be any noticeable difference between a C + SOAP implementation and a Java + SOAP implementation. A C-based solution would also lose the OO features of Java; present greater risk of buffer overruns and other pointer-related problems and may also present difficulties providing a cross-platform solution (i.e. Java has a pretty clear standard, cross-platform spec for server apps, I'm not aware that C does).
Fri 28 Nov | Vince | Wait, your reason for not using Java is cause its mildly slower to program?  First of all, for most web applications, hardware costs are a tiny percentage of the overall costs.  You really think its worth it to spend even a third as long developing a solution opposed to spending a couple grand more on hardware?  Thats rediculous. 
Fri 28 Nov | Just me (Sir to you) | If those requirements are realy cast in stone I would pick Java. Try to control as much of the setup/runtime as possible by packing your own JRE etc. To be honest, I think you really need to review your requirements. Having all these 'portability' requirements on a shrinkwrapped product is strange. Maybe you want to do a cost/benefit analysis between just running against a fixed platform, vs. your current anything goes approach. Support for a multiOS/multiDBMS application is going to be non-trivial to put it mildly.
Fri 28 Nov | Alexandru COSTIN | If you want to use XML on a web application server (multiplatform), you could take a look at our open Krysalis product - pretty similar to Cocoon2 as it provides MVC2 support. http://www.interakt.ro/products/Krysalis/ It works over Apache/PHP and it's pretty fast still. Alexandru
Fri 28 Nov | Nils | Zope/Python. http://www.zope.org
Sun 30 Nov | Clay Dowling | Vince, My reason for avoiding Java is that the only place where it wins is on ease of programming, and then only in a shop with Java experience. The experience of installing it on my servers was exceptionally unpleasant, and there are some platforms where it will never run. Since there is talk of selling this product, hardware costs do become a major issue. If the customer is forced to double or triple their hardware expense to run a single piece of software (which may also double or triple the software expense if a per-processor licensing is used), the cost for the product gets a little unreasonable. Users notice when an application is slow, they complain, and if the people complaining are important enough, the applications goes away to be replaced by a competitor. So for an in-house project, sure, Java might be a fine choice. But for something to ship, it's a recommendation that I can't make. As far as standards go, I've found that the differences in moving between platforms are remarkably small. There are quality build tools that are available on all major platforms (and all that were mentioned for this project). Unless the application is going to get very cosy with the operating system and use the file system for storage, code differences between different operating systems are quite small, especially for an application like this that use database storage. A programmer who avoids compiler-specific extensions can generally turn out cross platform code for a server type application.
Sun 30 Nov | Chris Hanson | Use WebObjects http://www.webobjects.com/ to build the web application, and use SOAP to communicate with the clients. Both are well-supported right out of the box, and work very well. WebObjects is 100% Java and can be deployed in most places there's a Java 2 Standard Edition 1.3.1 or 1.4.1 virtual machine. Supported configurations include Solaris, Mac OS X, and Windows; Linux and FreeBSD are very common but aren't technically supported configurations. WebObjects is also interoperable with J2EE and can be deployed in common J2EE servlet containers. It also supports virtually any database you can connect to via JDBC, including both the popular commercial databases (Oracle, Sybase, IBM DB2, Microsoft SQL Server) and Open Source databases (PostgreSQL, MySQL, SAPDB). WebObjects makes it very, very simple to build web services using its rule-based Direct to Web Services architecture. In the simplest case, you just need to point its EOModeler tool at a database; tell it to reverse-engineer an object-relational model from the database schema; create, build, and run a Direct to Web Services application from the project template of that name; and then use the Web Services Assistant to connect to it and define some web services. It'll do everything else for you, including generating WSDL describing the service that you can hand to your favorite client-side tools. It's really that simple to get started! And there's a lot of depth to the technology, you can customize the rule set directly (for things you can't do via the Web Services Assistant), you can write code to tweak behavior, and so on. If you or anyone else has any questions about WebObjects, send me some email with your questions (my email address here on the forum is always valid) and I'll do my best to respond.
and or or | Wed 26 Nov | Stevie Ray
We have a program here that allows users to create a SQL like statements. Im having trouble explaining to one user when to use and and when to use or. Please dont start on should this user be doing this, etc. Im just looking for a way to explain when to use which. Thanx in Advance
Wed 26 Nov | Brad Wilson | http://www.google.com/advanced_search?hl=en 'with ALL of the words' 'with AT LEAST ONE of the words' That pretty much sums it up.
Wed 26 Nov | Mayor McCheese | The meaning of 'and' and 'or' in your database is essentially the same as it is in real life. Seriously, if this person is so intellectually challenged that they don't understand the difference between 'apple and banana' and 'apple or banana' I certainly don't want them any where near my computers.
Wed 26 Nov | tapiwa | Just out of interest, is English their first language? If not, you might want to localize.
Wed 26 Nov | njkayaker | 'and': tends to reduce the number of rows returned. 'or': tends to increase the number of rows returned (like running separate queries for each).
Wed 26 Nov | Simon Lucy | Get them to write down the criteria in english, and have them decide on the following for when there are two conditions is it Both Condition A AND Condition B alternatively Either Condition A OR Condition B If there are more than two conditions have them use the following All Condition A, Condition B, Condition C, etc are true (use And) Any of Condition A, Condition B, Condition C, etc are true (use Or)
Wed 26 Nov | no name | It can be confusing for some users 'apple AND orange' They may interpret it as 'I want both apple AND orange'
Wed 26 Nov | Joel Spolsky | Most of the time when users want OR it's for the same field. In other words Total < 1.00 AND State = 'NY' is common Total < 1.00 AND (State = 'NY' OR State = 'NH') is common Total < 1.00 OR State = 'NY' is rare. If you want a clear UI that handles common cases elegantly without confusing people about AND and OR, you can design a UI which always assumes 'AND' but which lets you MultiSelect the matching values. The risk is that not every possible SQL query can be expressed. In most cases that's OK.
Wed 26 Nov | Joel Spolsky | For an example look at http://www.corcoran.com/property/sales_search.asp It's doing 'AND' implicitly but you can multiselect in certain fields to get the common uses of 'OR'
Wed 26 Nov | no name | As a general rule, when explaining to users who Just Don't Understand: AND decreases the number of result you get. OR increases the number of results you get.
Wed 26 Nov | Patrick Lioi | I think it isn't a surprising thing that someone is confused by what we programmers take for granted. I can see how someone might interpret AND and OR to do the same thing. I want to show records that satisfy Condition 1 AND Condition 2 *can* translate to... I want to show records that satisfy Condition 1, AND I want to show records that satisfy Condition 2. See, someon can go into it with a misleading notion of what AND is supposed to mean in the query.
Wed 26 Nov | Brad Wilson | This is why, generally speaking, you should never give them the choice. Google is AND by default, and that's the appropriate decision. Choices are bad at least as they are good. In many cases, a 'choice' is either the result of an engineer who thinks 'more is better', or a political argument that couldn't end in a firm decision. Neither of those is, generally speaking, good. :) Buck up and make the choice for them.
Wed 26 Nov | Bella | Just explain it in English. If (I have milk AND cereal AND a spoon) I get to eat. Do you eat if you have milk, cereal, but no spoon? Do you eat if you have only 2 items? If (I have a casette OR a CD) I put on some music. Do you listen to music if you have a casette, but no CD? Do you listen to music if you have a CD, but no casette? Do you listen to music if you have either?
Wed 26 Nov | somebody | >> The meaning of 'and' and 'or' in your database is essentially the same as it is in real life. Seriously, if this person is so intellectually challenged that they don't understand the difference between 'apple and banana' and 'apple or banana' I certainly don't want them any where near my computers. << Isn't it interesting how people who toss around terms like 'intellectually challenged' typically have no clue? If 'and' and 'or' mean the same to you in real life as they do when applied to logical operations in programming, you are quite confused! For example, if you ask someone in 'real life' for an 'apple and banana', you can expect to get two things back -- an apple and banana back. If you ask a database for an 'apple and banana', you can expect to get nothing back because there is no such thing as an 'apple and banana' (genetic engineering aside). Real life 'and' tends to be more like logical 'or', real life 'or' tends to be more like logical 'exclusive or'.
Thu 27 Nov | Stephen Jones | Tell them "OR" means "and" and "AND" means "both" :)
Thu 27 Nov | Practical geezer | Somebody is right, Steven too. People who are used to boolean meanings have a hard time understanding why people don't get this. But it is they who are 'special', in the sense that they have lost sight of the meaning of these words in natural language.
Thu 27 Nov | Mr Jack | I think Brad said all that needs to be said. and: 'ALL of the terms' or: 'ANY of the terms'
Thu 27 Nov | Practical geezer | So when I am looking for a book on cooking, and a book on fishing, what do I tell Amazon to search for?
Thu 27 Nov | Noname | A book on cooking fish?  :)
Fri 28 Nov | Brad Wilson | 'So when I am looking for a book on cooking, and a book on fishing, what do I tell Amazon to search for?' Leaving out the fact that Amazon's search now sucks, you would perform two searches. That's the way most people work. Search for your book on cooking, peruse through, pick one, throw it in your card, then repeat for the book on fishing. Honestly, does it have to be so complex? Engineers love to complicate things. It's almost like, just because they can think of edge cases, that that suddenly makes those cases important. Sometimes, an edge case is best left alone, and you optimize for the vast majority of general usage.
Sun 30 Nov | Practical geezer | Although what you say is correct, Brad, the point was that in the example AND in the real world translates to OR in boolean logic. As an example to explain why boolean logic is not at all logical to people who are not familiar with it.
automated testing | Wed 26 Nov | Fernando Correia
My team doesnt use automated testing, but we plan to start using it next year. Well be doing mostly web apps in Java and .NET. They are internal enterprise applications. Mostly we must do functional and regression tests. We must see if the forms are inserting, updating and deleting records correctly, and if the business transactions are updating the tables in the way theyre supposed to. Any ideas about a good tool to create and run these automated tests?
Wed 26 Nov | anon | Try: http://www.xprogramming.com/software.htm http://www.junit.org For Java, there's JUnit. If you're doing web development, there's HttpUnit and Cactus. I'm not overly familiar with .Net but I know there are some unit test frameworks for .Net as well. For a fully automated acceptance test tool try FitNesse. You're in luck. There's such a wealth of unit test frameworks for the languages you're using that there's really no good excuse not to use them. Good luck.
Wed 26 Nov | anon | One other thing. Since you're working with databases you will most likely also want to look at mock objects. Google for more info on mock objects.
Wed 26 Nov | Ian Olsen | NUnit is .NET's version of junit. http://www.nunit.org/
Wed 26 Nov | Walt | We've started to use NUnit, and have really been impressed with it.  It takes advantages of .NET syntax so you can specify what's a test and which classes have tests.
Wed 26 Nov | Brad Wilson | I've used both JUnit and NUnit, and I'm really really fond of the fact that NUnit uses metadata (attributes) instead of class inheritance. Java should considering adding something like attributes to the language... it's just amazingly useful in so many places.
Wed 26 Nov | Fernando Correia | I know I can use JUnit (and maybe NUnit) do automate tests by creating objects and calling their methods. But can I still use them if I must simulate a user interacting with the web site? I mean, not calling a class' InsertRecord or ChargeCreditCard method, but simulating the input on the web form, and then looking at the database or viewing a result page to see if the operation was correctly done.
Wed 26 Nov | Portabella | > Java should considering adding something like attributes to the language... it's just amazingly useful in so many places. Metadata is slated for java 1.5 -- the '.Net-envy' release.
Wed 26 Nov | Brad Wilson | UI interaction is not the appropriate place for unit testing. In my experience, automated UI testing is: (1) hard, (2) frustrated, (3) hard, (4) time consuming, (5) did I mention hard? It's generally not worth it automating UI testing. The tools are all either awful or impossible to learn, or more commonly, both. Change the UI and ruin your tests. Your customer (representative) should be using the product and telling you what UI issues there are.
Wed 26 Nov | hoser | We do automated testing on the UI objects (as well as nearly all the java objects down below). While this is not true UI testing, it has shown itself to be very valuable. If you're running client/server type apps, setting up tests is so error prone that its almost useless (not for developers' unit tests, but to hire testers to do manual tests of this nature). Anyhow, our test guys have done a superb job at automating nearly all tests on all the client objects - including the UI objects. So yes, if the UI changes the tests break - but the test code is maintained in the same source control system as the client code, so they are in sync. Spend the time and money, its well worth it.
Wed 26 Nov | Bill | There is ASP Unit which lets you do web page testing with Nunit. It's still in a pre version 1.0 stage, and while it looks like it may turn out to be a good product, it's more trouble than it's worth at the moment. http://aspunit.sourceforge.net/
Wed 26 Nov | the artist formerly known as prince | Hi Bill, Since I am now semi retired, I will share with you the secret of automated UI testing: here it is (Drum Roll.....) 'Input automated, verification manual', have a tool like Auto-IT go through the app and simply have it do printscreens of the ui, when you want to verify something. If your app has keyboard shortcuts use those as much as possible. Then if the verification passed, save the printscreen, and assuming you use identical data (and don't have timestamps anywhere on the screen), you can then simply go back and do binary compares. Note this is not 100 percent automated, but it gets you through the most labor intensive part of ui testing quite well, the only thing this method lacks is a recovery method, i.e. its kind of hard to program around dialog boxes saying fatal error DB not found etc ... but it is still better than going through everyting in the ui by hand Feel free to send
Wed 26 Nov | the artist formerly known as prince | meant to say, feel free to send me royalties
Wed 26 Nov | Rhys Keepence | Automated testing from the UI is too damn hard, and becomes error prone. It's also largely useless - it doesn't pick up the cause of problems. The way to go is to come up with a good object orientated design which allows you to mock inputs. This isn't easy, but once you have it, your test cases become easy. As an added bonus, code quality improves.
Thu 27 Nov | Eli Golovinsky | If you use the M.V.C design pattern to implement your GUI, you can use the *Unit frameworks to test your UI. A few words about MVC are here: http://www.cs.indiana.edu/~cbaray/projects/mvc.html An explanation on how to write tests for GUI designed in this manner is here (for .NET): http://www.codeproject.com/dotnet/tdd_in_dotnet.asp?target=nunit (Go to 'Testint the User Interface', but note that the contents links are broken - just find that in the page).
Sun 30 Nov | Peter McKenzie | Note that the original post did not talk about unit testing, but about functional and regression testing. While I'm a big fan of unit testing I believe it is also extremely useful to have some sort of automated regression test of the system *as a whole*. To do this you need a tool which gets as close to possible to simulating real users using the system. Projects I have been involved with have used Rational Robot to perform this sort of testing. It drives the GUI and checks for results on the GUI and/or in the database. While I'm not a big Rational fan, in fact I've tried some of their other tools and not been impressed, I am very impressed with what the testing guys achieved with Robot. Didn't actually use it myself, but saw the automated tests running and it was pretty cool. The guys would let regression tests run overnight and check out he results in the morning. To cut a long story short, it allowed our testers to catch bugs with a minimum of effort. Robot is not just a simple 'screen scraper'. Its quite well integrated with IE and is HTML aware so the test scripts won't break if you make minor changes to page layout. cheers, Peter
Sun 30 Nov | Niteen Yemul | Hi, If you are thinking for long term solution then you can think of evaluating tool independent framework. One such framework is available in open source. http://safsdev.sourceforge.net If you have any queries, do let me know. [Niteen]
How did Amazon become so terrible. | Wed 26 Nov | Ged Byrne
I remember when Amazon lead the way in regard to there interface and customer service. So what on earch has happened to them now? I recently order some books from them. The books were delivered to the wrong address and the only way to communicate with them is via email. When the emails are stonewalled, you are powerless. There is not other contact method. Ive moved address a few times over the last few years (curse of the industry) so I now have a few old addresses in the list. I did try to release them one but the account managment screens were to baffling. On the address selection screen I looked at the list of addresses and choose my current one. A week after my dispatched confirmation message no books. I check my account and I see that the delivery address is an old one, with only my invoice address being correct. Mildly annoyed I decide to call them. Except theres no telephone number. After spending 15 minute chasing around their help screens I finally use there feedback form. A day later I receive an email stating that it is too late to change the address, since the books have been dispatched. They tell me that I will get a refund if the books are returned, and suggest I reorder! I reply stating that this is unacceptable, and ask for a telephone. A day later I receive an email stating that the reply has been sent to my registered email address. Another day later no reply has arrived to that address, which I now only use to divert to my main mailbox. As an experienced user I am finding there interface baffling. It would seem that when I selected an address, I only selected the invoice address. The default setting of my old address remained for the delivery address. Am I unreasonable in thinking that a detail as fundamental as the delivery address should never by assumed this way. It should always be necessary for the user to explicitly choose? Ive been ordering from Amazon for years now. If I find the user interface and customer service to baffling, what chance does an uninitiated person have? One thing is for certain, Amazon will never have my custom again.
Wed 26 Nov | no name | Amazon's customer service number: http://slate.msn.com/id/2091623/
Wed 26 Nov | Zahid | Thanks for the link, . For those who didn't follow that link, it takes you to a Slate article which then links you to a PC World article which includes the number: 800/201-7575
Wed 26 Nov | J. D. Trollinger | Long story made short: About two years ago, I failed to receive a book that Amazon claimed to have sent me (and UPS claimed to have delivered to my front door). I called Amazon's toll-free number, and they promptly sent me another copy. Both the original copy and the replacement copy arrived on the same day. After some investigation, I determined that this glitch clearly UPS's fault. I sent one copy back to Amazon. Overall, I've always been happy with Amazon's customer service.
Wed 26 Nov | Chris Winters | Is that post really from the Ged Byrne we know and love? It doesn't have his normal panache and flair...
Wed 26 Nov | tapiwa | The Amazon interface sucks. I think they are trying to cram too much info on the screens. Sell Sell Sell. Was better in the old days. Still, can't beat them for the range of books that they stock.
Wed 26 Nov | no name | Recently I ordered an audio CD from Amazon, when it arrived it wouldn't play properly. I emailed them and had a replacement in 24h, with instructions to throw away the original or give it to a local library. Now if you're looking for a company that used to have good service but has gone severely downhill, you need look no further than Dell...
Wed 26 Nov | Ged Byrne | Chris, Sadly yes. Sorry to disappoint. I was fuming mad and looking for an outlet.
Wed 26 Nov | Chris Winters | Ged: at least you know your normal good writing is not in vain :-)
Wed 26 Nov | Walter Rumsby | Ged, are you talking about Amazon.com or Amazon.co.uk? I've found the level of customer service provided by .co.uk to be disappointing compared to .com.
Wed 26 Nov | Ged Byrne | Yes, .co.uk. Fortunately there there is a good british alternative for technical books: http://www.compman.co.uk .
Wed 26 Nov | matt | Personally, I hate all the new links and crap they have added between the top, where you see the book you are considering, and the reviews, which is the main point of interest in deciding on buying or passing. And, since they now show results from a text search of all the pages of all their books, there is even more crap to wade through. If they don't have an option to turn off these displays (I haven't poked around), they really should add one...
Wed 26 Nov | somebody | >> I've moved address a few times over the last few years (curse of the industry) so I now have a few old addresses in the list. I did try to release them one but the account managment screens were to baffling. << Um... 1. Browse to amazon.com. 2. Click 'Your Account'. 3. Click 'Manage your address book' under 'Account Settings'. 4. Click 'Delete Address' under each address you'd like to delete. Wow, that sure was baffling!
Wed 26 Nov | Robert Jacobson | Well, if it makes a difference, I made the same mistake that Ged did. (Had a book delivered to an old address.) I'm a reasonably computer-literate individual -- just a VB and C# coder, nothing significant. I agree, Amazon's customer service sucks. Why do I keep buying from them? ... Oh, free shipping and no sales tax.
Thu 27 Nov | Ged Byrne | I'm now discovering that their customer service team have non continuity. I am replying with the order number quoted in the subject and the full history included in the text. Yet with every email it is treated as my first communication. A different person answers each time mainly with standard template text. It amazes me that companies can expect to get away with this type of service!
Thu 27 Nov | You asked for it ... | From original post: 'On the address selection screen I looked at the list of addresses and choose my current one.' Why do you have a 'list' of addresses here? Shouldn't there just be one i.e. where you live! ... oh wait a minute they're there just to confuse Amazon, I get it.
Thu 27 Nov | Stephen Jones | --'Why do you have a 'list' of addresses here? Shouldn't there just be one i.e. where you live!'--- What about those of us who live in two places? From second home owners in the Hamptons to Sri Lankan maids in Saudi, with a lot of students in the middle.
Thu 27 Nov | Amazon Fan | I'm sort of a book-a-holic, so I've ordered quite a few books over the past few years from Amazon. I'm impressed with their customer service, especially in this incident: I ordered a gift for a friend from his 'Wish List' for his birthday. He had recently moved and forgot to update his address. I didn't know this until after the order. I emailed customer support and explained that he never got his package and they sent another order out, without question. As it turns out the original package was marked 'Return to Sender' and made it's way back to Amazon.
Thu 27 Nov | Robert Jacobson | >Yet with every email it is treated as my first communication. A different person answers each time mainly with standard template text.< That's the problem with relying on a Web/e-mail based customer service system. AFAIK, the performance of Amazon's customer service representatives is measured by how many incidents they can handle per hour -- quantity instead of quality. This encourages them to send out canned responses without considering whether the messages actually address the customers' problems. In contrast, if you actually speak with someone, you can stay on the phone until the problem is actually resolved. Unfortunately, Amazon's approach seems to be the trend with many companies these days.
Thu 27 Nov | Ged Byrne | Amazon fan, That was my past experience. It was what I was expecting. In the UK, at least, it all seems to have changed.
Thu 27 Nov | We don't care -- we don't have to. | Good customer service is too expensive. Companies have figured out that it doens't make financial sense to treat customers properly. See, for example, this article reprinted from _Business Week_ magazine: http://www.cfigroup.com/articles/whyservicestinks.htm
Fri 28 Nov | fool for python | *Many* thousands in book purchase from Amazon over the last 6 years. Not one problem. There are things I don't like (purchasing a book does not remove it from your wish list) and most of the reviews are hype. Not giving easy accessto the phone # sucks. They will screw up daily and they have to make it simple to communicate the problem to them.
Fri 28 Nov | Ged Byrne | The business article was an interesting read. Its nothing new though. British industry's arrogance lead to a similar approach not so long ago. British industry isn't what it used to be. One of the biggest problems is the feedback loop. If you are ignoring customer service, then you are also ignoring customer feedback. If everybody is grumbling about your service, but you don't have to listen because they have no where else to go then somebody will undoubtably learn by your mistakes and provide a decent alternative. While you are not listening to your customers, your service gets progresively worse. Before long stealing your customers is like taking candy from a baby.
Sat 29 Nov | T. Norman | They neglect to realize that word of mouth still exists. Pissing off a large number of bottom-tier customers may result in future top-tier customers being deterred from doing business with you. And the bottom-tier customers won't come to you if and when they start making top-tier money. Not to mention that some of them already have top-tier money, but most of it is spent elsewhere at the moment. They won't be turning the rest of their money over to your business if you give them bad service. In addition, it often doesn't take any more time or money to be pleasant and attentive while dealing with a customer. It all goes back to the short-term thinking which has become typical of corporations today. Why care about small customers who could become big ones in a few years, if they won't improve the next quarter's profits.
Sun 30 Nov | Ged Byrne | I suppose this all supports that failings of the Amazon model. http://www.joelonsoftware.com/articles/fog0000000056.html Amazon are now desperately trying to reach profitability. Because they lack any corporate culture everything that made the company special is just lost. Once Amazon had good lock in, because there was no real competition. If you wanted to order a specialist book you had to go through your local bookstore and wait weeks. Now thats gone. For my technical books I'll go to http://www.compman.co.uk . They courier out everything next day for free. I can even track the progress of my order on line. Not just Dispatched status, but also what Depot it is currently at. Wonderful. For every other book I go to www.whsmith.co.uk and have the item delivered to my local branch free of charge. Great. If Amazon fails, the doomsayers will declare that e-commerce just can't work. At least I'll know that it's just the Amazon model that fails. Gives more hope for all those Ben and Jerry style companies being grown by people not unlike myself. Maybe I'll be able to start one in the not so distant future. So I can take a positive thought from all this. Here's to the downfall of Amazon. Chink.
ATL Server | Mon 24 Nov | Henry Ford II
Is anyone here familar with real applications implemented with ATL Server, Microsofts C++ framework for building ISAPI apps?  Any wisdom or lessons learned to impart?
Mon 24 Nov | Li-fan Chen | ATL 7.0 makes life a little easier. Do unit testing really really well--you'll pat yourself later.
Tue 25 Nov | Brad Wilson | When did ATL become an ISAPI framework? Hello, COM anybody?
Tue 25 Nov | Li-fan Chen | Oh great, another lawyer ;)
Tue 25 Nov | Brad Wilson | Calling ATL a "framework for building ISAPIs" is sort of like calling your PC is a "room warmer". Well, yeah, it'll warm your room, but perhaps you could focus on the primary purpose? :)
Tue 25 Nov | JT | Brad -- the question was about "ATL Server" not ATL, do a google on it and you will find that it is a framework for building ISAPI extensions.
Tue 25 Nov | Michael Moser | >When did ATL become an ISAPI framework? Hello, COM >anybody? Since VC 7 (that is VC .net)
Tue 25 Nov | Brad Wilson | Is MFC an ISAPI Framework, simply because it can be used to make an ISAPI extension?
Tue 25 Nov | JT | Brad: The question was asked about 'ATL Server' Do a google for it...too lazy well then click below: http://www.google.ca/search?q=ATL+Server&ie=UTF-8&oe=UTF-8&hl=en&meta= Since I don't believe you did the gogle, the first result is this: http://msdn.microsoft.com/msdnmag/issues/1000/atlserv/default.aspx Read the damn article and then tell us if 'ATL Server' is about ISAPI extensions or COM.
Tue 25 Nov | Gigi Wack | If I asked about MFC CDatabase, will you tell me that this is a GUI class? 
Sun 30 Nov | Hang So | Apparently Brad is more that willing to make noise about things he knows nothing about, but will not apologize once it is pointed out quite clearly that he has his head up his ass.
What is a Halon system? | Mon 24 Nov | Bob
As I keep reading stuff such as the hacker test, I keep hearing about Halon systems. What is a Halon system? How is it related to supercomputers? Thanks!
Mon 24 Nov | RocketJeff | A simple google search on Halon returns tons of links... Basically, Halon is a CFC gas that was used in fire suppression systems - especially where expensive electronics were used since it doesn't damage the electronics. It isn't being deployed anymore since it is a CFC (like Freon) and can damage the ozone layer. Existing installations can still use Halon, until it is used - it then needs to be replaced. The only place that uses new Halon systems are military aircraft. The low weight combined with the excellent fire-extinguishing properties makes it almost irreplaceable there.
Mon 24 Nov | no name | Isn't Halon an inert gas not a CFC?
Mon 24 Nov | Michael Kohne | Nope. The first link google popped up: http://www.h3r.com/halon/ They have data sheets for various forms of Halon. All are CFCs and all the MSDS sheets include the ozone layer warning.
Mon 24 Nov | no name | Of course you are right.  My chemistry teacher taught Poetry as his main discipline.
Mon 24 Nov | RocketJeff | I'm not sure that Halon is a 'true' CFC, since a Chlorofluorocarbon (CFC) is a compound consisting of chlorine, fluorine, and carbon. Halon is a compound consisting of bromine, fluorine, and carbon. Bromine is, however, many times more effective at destroying ozone than chlorine so I doubt if the distinction of whether it is a 'true' CFC is important. It is definately not an inert gas.
Mon 24 Nov | John C. | Blank, halon's name does sound a bit similar to the names of the various noble gases (helium, neon, argon, krypton, xenon, radon), but it's neither an element nor inert.
Mon 24 Nov | Roel Schroeven | "Inert gas" and "CFC" are not mutually exclusive. Freon is both a CFC and an inert gas, and I thought other CFC's are inert too but I'm not sure about that. It's one of the reasons of the widespread use of CFC's: being inert implies being non-toxic, non-corrosive etc.
Mon 24 Nov | StickyWicket | More tips can be found here: How To Ask Questions The Smart Way http://www.catb.org/~esr/faqs/smart-questions.html
Mon 24 Nov | pdq | Freon is *not* and inert gas. It is a compound. The inert gases are all atomic (Argon, Krypton, Neon,...). Freon is a trade name of a CFC compound made to sound like it's a noble gas.
Mon 24 Nov | Grumpy Old-Timer | I knew a guy (mainframe technician) who was in a large computer room when the Halon system accidentally went off.  He had half his body under the raised floor, snaking a cable or something.  When he heard the alarm, he climbed out, and sprinted to the door.  By the time he got there, it was time for another breath.  Fortunately, someone saw him and opened the door for him, saving him a few seconds, and probably from passing out...
Mon 24 Nov | Roel Schroeven | Inert is not a synonym for noble, and neither does compound exclude inert. From 'Chemistry' by Mortimer, 6th edition: 'Mixed chlorine-fluorine compounds of carbon (in particular CCl2F2) are called the 'freons.' They are very stable, odorless, nontoxic gases that are used primarly is refrigerants.' Maybe 'very stable' is not the same as 'inert', but it certainly comes close.
Mon 24 Nov | Roel Schroeven | And from Wikipedia, on the page about inert gas: 'An inert gas is a non-reactive gas and is usually a member of the noble gas family. Examples include: helium, neon, argon, xenon, krypton, and radon.' 'Usually is not the same as 'always'.
Mon 24 Nov | pdq | 30 years ago, there was no way to react the elements in the right hand column of the periodic table. They were called inert gases. Then someone found a way to react them under extreme conditions. So, they changed the name from inert gases to noble gases. see http://www.carondelet.pvt.k12.ca.us/Family/Science/Noble%20Gasses/Noble%20gases.htm for details.
Mon 24 Nov | mackinac | >>> I knew a guy (mainframe technician) who was in a large computer room when the Halon system accidentally went off. ...< Was this really a Halon system? Halon is not only harmless to the electronic equipment, it is harmless to the people in the room. Or at least it is supposed to be. He should have been able to survive in the room with no problem. I have seen rooms with fire suppression systems that release carbon dioxide in to the room. This kind of system would kill the fire and the people in the room, too. A disadvantage of Halon is that it is really expensive.
Mon 24 Nov | DJ | From: http://www.tpub.com/content/advancement/14146/css/14146_124.htm The short discharge time of Halon 1301 (10 seconds maximum) keeps the thermal decomposi- tion products well below lethal concentrations. The real hazard lies not in the by-products of the halon, but rather in the products of combustion from the fire. Products such as CO, combined with the oxygen depletion, heat, and smoke, pose a greater hazard to personnel. Personnel should not remain in a space where Halon 1301 has been released to extinguish a fire unless an oxygen breathing apparatus (OBA) is worn. If Halon 1301 should inadvertently be released into a space where no fire exists, personnel can be exposed to 5-to-7 percent concentrations of Halon 1301 for up to 10 minutes (depending upon the individual) without danger to their health. Halon 1301 can be considered a nontoxic and nonsuffocating extinguishing agent in the normal 5-to-7-percent concentrations; however, spaces should be evacuated on halon system discharge.
Tue 25 Nov | Bob | So, how does Halon *work*?
Tue 25 Nov | Robert Jacobson | So, how does Google *work*?
Tue 25 Nov | Bob | Dear Sir, Before posting my question to this forum, I have toroughly searched using Google, and I could NOT find the following information: - what is a Halon system - how does it work The only thing I could find was sites of companies that offer Halon replacements, etc - nothing about what a Halon system IS and how it WORKS.
Tue 25 Nov | Bob | ... such as this page: http://www.fm200.biz/halon.htm Now, how does this page answer the questions above? It seems that Halon is something that is very old, and that's why there are no web pages about it.
Tue 25 Nov | RocketJeff | Interesting, that page you cite has _exactly_ the information you want, if you scroll down about a page or two... 'What is Halon 1301 Chemically - BTM (bromotrifluoromethane) 1301: An excellent fire extinguishing agent (gas) currently installed in thousands of locations throughout the world protecting sensitive electronic equipment, typically found in computer rooms, telecommunications centres, data processing environments, aviation and may other places.' That's just the first q/a on their halon faq - wich is entirely on the same page.
Tue 25 Nov | RocketJeff | Also, if you search google for specifics, you get better searches. Searching on 'haylon how it works' give that question/answer (in exactly that form) as a link on the first page returned by google.
Tue 25 Nov | Roel Schroeven | If you still don't know how it works, surf to www.wikipedia.org and search for halon.
Tue 25 Nov | Brad | The commenter who said that halon is not a CFC is correct - it's a brominated compound, not a chlorofluorocarbon. And it's true that bromine is much more effective, molecule for molecule, than chlorine in destroying ozone. Halons are very stable compounds at ground level, but once they get into the lower stratosphere and are bombarded by intense solar radiation, they eventually break up...that's how the bromine gets involved in ozone depletion. Some people used to question how compounds like halons and CFCs could ever make it up to the stratosphere, since they're heavier than air, but remember that even dust is heavier than air and plenty of that gets up to the stratosphere as well. Winds and updrafts carry these compounds into the atmosphere, where they can last for years before breaking up. They only cause damage to the ozone layer after they break up. Some of the CFCs from the hairspray that Elvis Presley used in the 1960s and 1970s are probably still floating around in the stratosphere. The long life of these compounds in the atmosphere is the reason why, even though most production and use of CFCs and halons was banned in industrialized countries by 1996, the seasonal ozone hole over Antarctica is not expected to go away until the middle of this century.
Tue 25 Nov | A cynic writes | (BOFH Mode on) I thought it was gassing nosey users. (BOFH mode off)
Tue 25 Nov | mackinac | Bob's questions illustrate an interesting characteristic of the web. For all the information that is available, sometimes you can ask a simple question and not find the answer in the deluge of pages that Google can find for you. I did take a look at http://www.fm200.biz/halon.htm which Bob mentioned and could not find the answer to his question there either, although other posters claim to have found the answers. The wikipedia wasn't of much help either. It also illustrates a basic characteristic of questions: some are obvious and others are simple but not obvious. This one is simple, but definitely not obvious. By now you probably know most of what there is to know, but just to be sure there are not too many missing details, I'll make my own attempt at explaining what a Halon(tm) system is for someone who has never heard of it: - In the context of a computer room, where a large mainframe, possibly a 'supercomputer', might be installed, a Halon(tm) system refers to a fire extinguishing system. - The system consists of a canister of the Halon gas, a system of pipes and nozzles for dispensing the gas, an electrically operated release valve, and a fire detection system (smoke and heat detectors). - When the fire detection system senses a fire in progress, the entire contents of the Halon cannister are dumped into the atmosphere in the room being protected. - Fire requires fuel, oxygen, and heat. Fire extinguishers normally eliminate one of the three (water eliminates heat, CO2 displaces oxygen). Halon works differently. It interferes with the oxidation reaction between the fuel and oxygen. Thus, it can work a fairly low concentrations in the atmosphere. - Advantages of Halon for fire extinguishment are: doesn't damage equipment as might occur with sprinklers, and doesn't damage people as would occur with CO2. Although, as others have noted, if there really is a fire you would want to leave the area quickly anyway. - Disadvantage: expensive. Also, ozone depleting, but there may be alternatives that don't have that problem, but may be even more expensive.
Thu 27 Nov | Stephen Jones | --'water eliminates heat'---- I thought water extinguished fires by smothering them - that is to say placing a layer between air and the oxygen needed.
Sun 30 Nov | MR | Water also removes the heat, which is why you'll see firefighters dousing adjacent structures (if the buildings are close enough). This is also why they will continue to douse an otherwise ‘out’ fire with water – I’ve seen fires that were out flare back up because the wood was still very, very hot. The material will light if it reaches a hot enough temperature.
how long to wait till company gets back | Fri 28 Nov | anon
A company interviewed me on the phone, and took my references.The 3rd party recruiter said I was one of the good candidates they were looking at. How long to wait till I get a reply? Is it polite to ask back?
Fri 28 Nov | realist | 5 working days is my usual. Call to see if theres any action on the application, don't say stuff like you've got another offer, no games. Good Luck.
Sat 29 Nov | www.marktaw.com | A letter in the mail is probably even more impressive.
Sat 29 Nov | Duncan Smart | Send a letter or email saying how much you'd like to work there, what you think you'd bring to the company etc, etc. It really does make a difference.
Sat 29 Nov | Lou | I agree with calling to ask if there was any more information they would like you to provide, or if there are any outstanding application issues you should be aware of. Then you can ask them if they have a timeline for candidate selection. Of course I did all of this and it still took 2 months for me to get the nod on one job... sometimes HR is just plain slow.
Project Management Tool | Fri 28 Nov | Sinclair
Im looking for a Project Management Freeware Not as fancy as Microsoft Project but a bit better than an Excel spreadsheet And something which is better organised than the Tasks in OutLook
Fri 28 Nov | Janek Schwarz | I quite like jxProject (http://www.jxproject.com). It's a nice little Java application. It's author is really responsive. Janek
Fri 28 Nov | Canuck | www.yzmanager.com
Fri 28 Nov | Canuck | Gahh!  I didn't catch the freeware bit.  Still, the product is fairly cheap.  $100/license
Fri 28 Nov | Dennis Atkins | Project management software is mainly used when you have multiple developers, right? And stuff like source-forge is inappropriate because its not open-source? It sounds like the OP is working on fairly complex commercial software? If this is true, I'm just curious why your firm has mandated freeware only for such a critical piece of software. Maybe you could talk to them...
Sat 29 Nov | Pot.Kettle.Black | Hey Sinclair, we don't want to pay for your software, either. Think about it...
Bionic office samples | Fri 28 Nov | Lev Kurts
Does anyone know other samples of offices (other then the bionic office) that people DO like? Weve recently moved and it looks like the software developers tables are going to be set up in the classrom-like style....It doesnt look like the best way for me.
Fri 28 Nov | Joel Spolsky | Check out http://domino.watson.ibm.com/tchjr/journalindex.nsf/0/fb3c49ab2d463e1c85256bfa00685aec?OpenDocument
Fri 28 Nov | mackinac | No, that's not the best way. With some effort they could probably come up with something even worse, though. Many companies have a 'careers' page on their web site. Most of them try to tell you how wonderful it is to work for them, but few tell you anything significant like what their work space is like. There are a few that do. One that does show something is the Mathworks. Go to their web page at http://www.mathworks.com/jobs/inside.jsp then select 'Take a virtual tour of the building'. I think one of them shows examples of offices that developers work in. Not the best I have seen, but still quite nice looking. It is hard to tell without being there. I applied for a job via their web site, but got ignored. Another company that showed their work space on their web site was Geneer. They had movie clips showing you around the office area and noted that everyone, even the interns, got a private office. Unfortunately, the company failed when the bubble burst. For several years I worked for a company that had good office space. Everyone who worked at the company office had a private office with a door and, usually, a window. Sometimes developers were assigned to work at a customer site and got the usual cubicle or whatever the customer had. The office space I worked in was quite simple: four sheetrock walls, a ceiling, inexpensive office carpet on the floor, a door and a window. Just as important as the physical layout: the HVAC was not terribly noisy and developers usually worked rather quietly. Unfortunately, it didn't last. This company was well run and made a profit almost every year of its existance. Even though the founders had good ideas about how to run a software development company they were not in it for the long run. When the dot-com bubble started to grow they sold out. After that growth became the goal and the work environment, in all aspects, deteriorated.
Fri 28 Nov | mackinac | Joel, thank you for posting the link to the Santa Teresa article.  I keep a few copies of that article in my files to pass out to anyone that might be interested.  One of the projects on my RSN list was to scan the article and try to get permission from IBM to publish it on the web.  Now I don't have to. 
Fri 28 Nov | Dennis Atkins | That IBM site has good stuff. http://www.research.ibm.com/journal/sj/231/ibmsj2301E.pdf ...has the first study done (1984) that unexpectedly showed that: 'A new finding is that individual group project offices lead to greater efficiency than large open rooms.'
Sat 29 Nov | mackinac | Here is an article about SAS. Note: 'Everyone with a desk job ... gets a private office', and 'Annual turnover at SAS is a paltry 4 percent': http://www.rgj.com/news/stories/business/963800668.php
Sat 29 Nov | Humanist | Thanks for that one macinac, I remember reading that article and had forgotten where it was. In particular I remember the amazing study that it references: > Companies attuned to the wishes of today’s demanding employees do seem to enjoy a clear bottom-line edge over their rivals. A survey last year by Watson Wyatt Worldwide, a consulting firm based in Bethesda, Md., graded 405 publicly traded companies on such employee-centered characteristics as flexible hours, good training, and collegial interpersonal relations. The companies with the most such practices had an average total five-year return to shareholders of 103 percent; those with the fewest such practices had an average total return of 53 percent. ...which is a great result to show to those managers who insist that screwing over the developers is necessary to shore up the bottom line and be of maximum benefit to the shareholders. The truth (unfortunate truth to the corpo-bullies) is 'What's good for the IP workers, is good for the shareholders.' Not just a 'truth', but a measurable, demonstratable FACT.
Hiring through interviews is like.... | Thu 27 Nov | tapiwa
picking up a girl/boy in a bar and getting married on the spot. Seriously though, there are a lot of similarities between hiring, and dating. Least of which is the fact that it is a lot easier to get a new mate or job, when you already have one! The worst thing that normally happens after a night on the pull is you wake up, scream and run. Actually sometimes you are tempted to gnaw your arm off as you cant risk waking them up.... that bad! Hiring though, is the equivalent of having them wake up at yours, and be wearing a ring. They might be exactly what you were looking for, but if they arent, you cant get rid of them without major expense! You cant leave either, because its your house. Just as people have become more liberal, and women dont normally demand a contract !ahem! ring, I think the job market will one day loosen up. The us vs them --> men vs women --> employers vs employees will give way to relationships in a lot of western societies where the union exists only as long as both parties are happy. As one night stands are common today, so shall one month or one week work gigs. As one dates for a while before committing, so shall employers and employees try each other out before making a long term commitment. As multi-dating is common today, so shall the multi-employer individual exist. Thoughts?
Thu 27 Nov | Ricardo Antunes da Costa | 'The only difference beetwen a job interview and a date is that there aren't many job interviews where you expect to end up naked.' Jerry Seinfeld.
Thu 27 Nov | no name | >> 'As one night stands are common today' Not necessarily true. This is what is portrayed by the media and so people tend to believe this. My guess would be that the vast majority of people do not go out and have 'one night stands' because their position in life does not allow for that life style or that lifestyle is against some of their beliefs. The ones that do probably do not do so any more often today than people like them did 50 or 100 years ago. (Of course there are numerous other factors involved,. age, friends, alcohol, social ability, religious stance, etc) Distinguishing between what the media presents to you and what actually occurs in reality is becoming more difficult especially for people who were 'raised on the TV and the computer.' At any rate this is way off topic.
Thu 27 Nov | J. D. Trollinger | I don't have any data, but I'd be extremely surprised if one-night-stands were just as common in 1953 and 1903 as they are today.
Thu 27 Nov | NC | Someone hasn't watched Bridges Through Madison County lately. By the way, is mentioning that movie to make a point one of the Signs of the Apocolypse? ;-)
Thu 27 Nov | Ricardo Antunes da Costa | Back to topic, I've heard a lot about the 'finish of the tradition employment model' in the last few years. In fact one change that you can notice is that peploe nowadays tend to have shorter lasting jobs. In the old days you'd get a job in a company and stick with it for decades. Although this still happens, I think it's getting rarer. My brother, a few of years ago, got a new job in a big firm. After the training period, he came to me talking that he was planning to stay no longer than 7 years in that job, because sticking to it more than that would imply to the market that he was accomodated, and that would struggle his chances of growth.
Thu 27 Nov | Bored Bystander | >> Hiring through interviews is like.... >> picking up a girl/boy in a bar and getting married on the spot. Here, here. But I think this is the case because of several erroneous assumptions made in the hiring context, and also some reality: - There is a premium placed on the employer's 'decisiveness'. The employer is assumed to have perfect judgement re: the candidate's suitability. IE, a trial employment or contract period would imply that the employer was incapable of this spot decision making and therefore tainted. - The job is assumed to be 'forever,' therefore a trial period giving either an 'out' punctures the 'fantasy.' - Likewise, the candidate is assumed to be personally absolutely committed to the job. Ditto. - A fully employed person's schedule won't permit the degree of ambiguity that a trial employment period would entail, and overlap of two situations would be extremely difficult in most cases. Everyone is addicted to that guaranteed clockwork salary like crack cocaine. In fact, my very last point (widespread employee semi-insolvency) probably stands in the way of reality ever taking over the full time employment picture. Most full time programmers you talk to look at contracting as being way too risky to ever consider for a primary income, even if they're absolutely dissatisfied with their current job. What you're describing sounds a lot like temping. Don't neglect the fact that most people look down on temping, and most true 'temps' in many fields are abused, never get insurances, etc. So, I think that the debt-driven consumer lifestyle, plus strong business culture assumptions, stands in the way of a 'dating' model taking over employment anytime soon. Even if it's an abusive, dishonest farce, it's a model that most people are too accustomed to to accept anything else.
Thu 27 Nov | Noname | Good points, BB. And if all employers went with a trial-period system, changing jobs would be a much more risky proposition, and that would increase the difficulty and expense of recruiting. Because if you get a new job and things don't go well in the trial period, you're now unemployed. Not many people will leave their current job to join your company if they know that a nontrivial percentage of candidates don't make it past the trial period. It's much easier to convince someone to leave an existing job if the new job being offered is perceived as fairly secure.
Thu 27 Nov | T. Norman | If hiring employees is like marriage, consulting must be like prostitution.
Thu 27 Nov | the artist formerly known as prince | hey T. have't you ever told one of your customers you have a friend who will perform Database Maintenance for them for an extra 50 bucks/hr?
Fri 28 Nov | Tom Vu | 'Most full time programmers you talk to look at contracting as being way too risky to ever consider for a primary income, even if they're absolutely dissatisfied with their current job. ' Is this really true? The only decent programmers I know are either contractors or those working for tiny firms.
Fri 28 Nov | Shodan | My hope is with the top dudes out there. They're the ones that don't have trouble finding jobs, and maybe they're also sensible with their money. If they start moving around a bit, expecting a bit more, then it could start a trend. Too many maybes. Shit, it's not going to happen.
Fri 28 Nov | Jarrod | One of the things businesses need is reliability and stability. The owner or CEO or HR head of a firm wants to employ a person, and wants that person to perform a task well for a long period. Why? Because they don't want to spend the energy and time and money to hire somebody again, when that person leaves the company. Businesses want 'set it and forget it' (tm) departments, employees, etc.
Fri 28 Nov | Shodan | In a downturn, I don't think the "set it and forget it" holds any water.
Fri 28 Nov | Gav | A trial period can be expensive. A lot of times, the new person is learning the ropes, finding their way around the existing codebase, and so on. So they're not going as productive as a long-time employee at first. So unless they're really bad, the marginal utility of getting in another person, who's going to now have to learn the ropes, not be so useful, etc, may be really low, even if the new person you get is a tad better than the one you're getting rid of. Now, I've seen cases of one or two complete incompetents getting hired, and my employers (big companies) have had no hesititation in getting rid of them after a very short time, even without an official trial period. Gav
Fri 28 Nov | tapiwa | So who is pushing the "set and forget" more, business or the employees?
Fri 28 Nov | A cynic writes | Let's be blunt - the interview stage of hiring someone is the *least* effective and the *most* prone to bias. Psychometric tests have some value but again can be culturally biased - the classic example being a test from California used by a London Council including the question 'Are you afraid of earthquakes?'. Since London is built on clay and is several hundred miles from nearest (even faintly) active fault system, this is not the best question to determine someone's recruitment. The most effective way of hiring is to use practical tests or exams to test the main part of the job. I've seen this used properly twice - both in the public sector. Trial periods are common here - mostly tied to employment rights since it is harder to sack someone once they've been with you a while. They do have some value - but only if you've really made a bad cock-up.
Fri 28 Nov | Trial This | I see a situation where two people are on 'trial' for the same job, both work their guts out for a week, month, whatever - they both deliver something and then at the end nobody gets a job. It would happen all the time. Hell, why stop at two people on trial lets make it fifty on trial for the same job. It would ayways be the employee on trial, rarely would the employer be on trial. The power relationship doesn't work like that.
Fri 28 Nov | Noname | >'In a downturn, I don't think the 'set it and forget it' holds any water.' At least the 'forget it' part still holds. As in 'get rid of it' so they can forget it.
Fri 28 Nov | T. Norman | Companies that use trial periods do pay the people who are working through the trial period.  So it's not cost-effective to bring in fifty people to put them on trial.
Fri 28 Nov | tapiwa | On trial means that there are working, albeit with little commitments. A bit like dating. You kinda do the couple thing, with no marriage. How exclusive the relationship is, is up to the parties involved. Whether there is a promise of marriage/job at the end of it all, is again up to the parties involved.
Fri 28 Nov | A cynic writes | mmm...Perhaps trial periods mean something different in different countries. Here (UK) the usual deal is a 3-6 months 'probationary period' during which the notice period is lower - a week rather than a month say - and grounds for dismissal not as rigourous. Once over an employer has to have 'reasonable' grounds for dismissal. There also was a thing a few years ago for rolling fixed term contracts - mainly to avoid increased employee rights once you'd been there 2 years - but I think that as far as the law concerned now you keep continuity of employment.
Fri 28 Nov | bow lock | Tapiwa, well, All your jobs will be 'one night stands', as in: Well, he looked good, But he turned out to be useless. As in, less than useless, A complete idiot. He wasted everyone's time, I wish I'd googled his name, For then I would have known, Tapiwa is a Cunt. Of the highest order.
Sat 29 Nov | Jimmy Jojo | That reminds me of a quote! 'Is this thing on?' - Albert Einstein
www.opensourcecms.com | Thu 27 Nov | Adam in Poland
Apologies if this is old news, it was new to me. http://www.opensourcecms.com/ A fantastic site, containing dozens of PHP CMS systems installed with the admin password given, ready to be tried out by any visitor. Every hour they get reinstalled. Perfect way to work out which CMS to put on your pet project without the hassle of figuring out a dozen installations. [Not trying to take sales away from Citydesk, promise!]
Thu 27 Nov | tapiwa | be sure to check out Drupal http://www.opensourcecms.com/modules.php?name=Content&pa=showpage&pid=5 http://www.drupal.org/
Fri 28 Nov | Alexandru COSTIN | We also provide a very good (recently cross platform) visual editing control that works in a browser and that is pretty much similar with microsoft word. KTML3 - http://iakt.rdsnet.ro/demo/ktmlDemo/ is a very powerful visual HTML editor that allows you to do anything you want in the browser: - format text and paragraphs - use CSS styles - upload and manage images - use a live property inspector to change HTML properties (image and table) - it has a spellchecker - works also on MACs Read more about it at http://www.interakt.ro/products/catlist_2.html Alexandru
Fri 28 Nov | Simon Lucy | Any more adverts today?
Fri 28 Nov | FullNameRequired | Ive got a surprisingly handsome dog for sale.....
Fri 28 Nov | Bill Tomlinson | Why, oh why, are there so many CMS projects? Now, I'm not one of those people who thinks that there should be only one open source project for each category. But when there are more than a dozen I get annoyed.
Fri 28 Nov | www.marktaw.com | Because they all suck, and everyone knows they can do better themselves?
Sat 29 Nov | WhatADrearyDay | KHTML -- yet another "contentEditable=true" editor. Good luck selling developers something of which IE actually implements the large part.
Sat 29 Nov | WhatADrearyDay | An regarding these CMS's -- I looked at a few, they *really are* all shit, could-knock-up-in-day, wastes of time.
Sat 29 Nov | Sérgio Nunes | I've been using Bricolage (http://bricolage.cc/). It's not easy to install but very well 'architected'. I always amazed how little 'known' it is...
telecommuting problems | Thu 27 Nov | Jawra
Here is an interesting discussion about the problems that occur when telecommuting: http://ask.slashdot.org/askslashdot/03/11/27/0137229.shtml?tid=126&tid=156&tid=185 I am telecommuting 100% of my working time, and I can tell you that those problems are true. :-(
Thu 27 Nov | jedidjab79 | I completely agree ... it does get difficult to be in the same place day in and day out, and even leaving for a while to go to the gym or whatever doesn't make up for the lack of social interaction you normally have throughout the day in an office. Not to mention the complete absence of gossip and b*tching about your co-workers ;) I was thinking about getting some space in the Guinness Development Centre -- and I'm sure there are similar 'incubator' type spaces in other cities for entrepeneurs/small business people where at least there are somewhat-similar-minded people around you. If you get bored you can walk over and see what someone else is working on :)
Thu 27 Nov | www.marktaw.com | My friend told me about a bunch of guys she met who live in a Warehouse. They have their own rooms and a large common area with lots of computers. Many of them do consulting work, and some of them are permenant employees at various companies... This seems to solve the social interaction problem. Though if I were commuting, at least I'd know I was gauranteed to see sunlight twice a day. Well, during the summer. No way you could find a public WiFi and work from a local cafe or park? Or better yet, move near the cafe, and set up your own encrypted wireless network if the data is too sensitive. I'd bet you'd find fewer distractions in the cafe too... no TV, no Stereo, can't play the MP3's too loud either, though I guess you could wear earplugs. Speaking of social interaction, Happy Thanksgiving to all you fellow Americans.
Thu 27 Nov | Cabin Fever Be Gone! | Same scenario ... quit my job and started consulting.  I have been doing it for about 2.5 years now.  I lasted exactly 6 weeks working out of my home.  I found office space in a building with 4 other tenants.  It had a common waiting room, conference room and kitchen.  It was a great arrangement for $350/month.  I have since expanded the business and had to leave that space.
Thu 27 Nov | Eric Debois | Same situation here basicly. Only, I have probably deterioated a bit futher than most :D My sleep cycle is in freerun mode. Which creates more separation to the outside world. Im kind of an introvert so I found that working with people around me all day was very draining. Being alone all day is better, but it would be nice have some kind of balance. So, right now Im thinking about hobbies or voluteer work. Something to get me out of the house and distract me. Something that has nothing what so ever to do with computers. To join some club or something.
Thu 27 Nov | Dennis Forbes | This is why many advocate that it's best to find a balance, such as 2 days in the office / 3 days telecommuting. I would imagine that would depend on whether you're a creature of habit, or one that thrives on change. Having telecommuted for a year while a 'permanent employee' at a former workplace, a prime irritant was the constant 'ooh, must be nice!'. While there were aspects I appreciated about it (such as no lost life commuting -- though on the flip side I now commute almost an hour each day and I find it to be incredibly enjoyable time, though I do it as a bunny crushing pollution belching driver -- When I took the rapid light rail, crunched in with a tonne of other people, it wasn't remotely as enjoyable and truly was wasted time), in the end you're doing the same work with the same deadlines. Indeed, one could say that you have significantly more critical deadlines, as when you're physically present you can huff and puff and lay subtle innuendo that the world is to blame for all of your problems, while telecommuting it's all about the results. In the end, though, complaining about telecommuting is like complaining about having lots of money - it's offensive to people who don't have the choice. With money you have the option to give it all away to charity if you find it a burden. With telecommuting you have the option of starting your day with a trip to the coffee shop and other social places, etc.
Thu 27 Nov | Dennis Forbes | Ooops, make that an hour commuting -each-way-. I drive through the beautiful Northern Halton (Ontario) Niagara Escarpment area, circling around the urbanity of Toronto, and it's always a pleasure. If I were doing an hour of highly urban driving, with the number of pricks I see (already numerous) multiplied, I'd probably have a different story.
Thu 27 Nov | Dennis Forbes | Oh, and there is one comment on Slashdot that absolutely sums up one of the biggest pitfalls of telecommuting: 'Working at home you basically get to avoid most office politics ... the downside - you tend to lose most office politics' Instantly you `stand apart' and on destructive or useless teams you'll be used as the supposed reason for all of the team's ills. Only strong workplaces with good management, and with healthy competent employees can facilitate telecommuting -- anywhere else will be a disaster.
Thu 27 Nov | jedidjab79 | Dennis - good points there. Just as a comparison, when I lived in Kanata and had to drive into Ottawa every day it was about 25-30 minutes and I'd complain about that :) Mind you, driving home on a night when there was a Senators game meant you either left work early or stayed in town until after 7pm. Either way, I'm in dublin now .. no wi-fi spots (i'm still waiting for broadband as it is) and my company registration has just come through so I'm going to start looking for small office space. 'In the end, though, complaining about telecommuting is like complaining about having lots of money ..' -- I'd have to kinda disagree with that; I think it's more 'Grass is greener...' really. From my experience, I think it's quite easy to complain either way :)
Thu 27 Nov | mackinac | Whenever the topic of work space comes up I take the opportunity to advocate private offices arranged near each other so that developers have space to work alone and have the facilities for working together as needed. The motivation is to have facilities that are both productive and pleasant to work in. The /. post was only concerned about a lack of human interaction when working from home full time. I was unemployed for four months and thus working from home doing a job search and various apartment improvement projects that had been put off. But I barely noticed any reduction in human interaction. I am quite introverted, so there is some limit to how much human interaction I can tolerate, but the main factor in this is that most of my human interaction comes from activities outside of the office. I am involved in some community service activities and some special interest clubs and this activity didn't change when I got laid off. Although I prefer the private office arrangement, I think telecommuting would be preferable to working in shared office space. In the shared office space you have to put up with office mates who chew gum with their mouth open and other distracting behaviour when you are trying to get work done.
Thu 27 Nov | Aussie Chick | Guys, I never thought of this. I mean my goal is to quit my job and write shareware from home. I would love to work from home, but I never thought about the lack of social intervention. I do have problems with a decent workspace, my office heats up to boiling point in the afternoon, I don't want to go to a coffee shop, as cool as it sounds, I would feel obliged to keep buying drinks, and lets face it, even four drinks comes to $10, at least home is free. I end up in the library were I have to unplug and carry my laptop with me any time I want to go to the toilet. Gosh an incubator type space like the Guinness Development Centre that jedidjab79 described would be ideal. I could get away with church and sport for my social interaction....If I get too bored I can always have babies...that would be fun!!!
Thu 27 Nov | some guy | >> 'If I get too bored I can always have babies...that would be fun!!' No fair :-( LOL.
Thu 27 Nov | Me and the view out the window | Shared office space might work for some but there's another angle to watch out for. Usually it will contain three types of people: 1. those who work on their own but think it will be exciting to work amonst others. That is, doubly boring people. It won't be like working in a big organisation at all. 2. people who think running a business is a matter of having a front. These people wear meticulous ties every day and pretend they're really big companies, when it's just one guy or gal. These are typically accountants and the like. 3. mates of the landlord, or possibly the prime tenants of the space, renting out the space they don't need to others. All action centres around these guys, who are a proper organisation with interesting people and things. These guys also get all the luxuries. Summary: working on your own is terrifically invigorating and productive. Adapt to it.
Thu 27 Nov | Motown (an Aussie Dad) | Aussie Chick wrote: 'Guys, I never thought of this. I mean my goal is to quit my job and write shareware from home. I would love to work from home, but I never thought about the lack of social intervention.' I'm a househusband and (extremely) part-time consultant with kids aged 6,4 and 2. The lack of social interaction with entities that don't wan't me to sing 'Fruit salad, yummy, yummy' or dance like Tinky Winky is by far the biggest drawback of working from home. More so than the interruptions, working early AM so I can concentrate or the stigma of being a male at home ('No really, what do you do at work? You got a day off?'). My adult interaction consists primarily of flirting with the bored housewives at the kindergarten or primary school. Has its moments, but you can only do that for so long before you get bored or into trouble. So be careful what you wish for - I've got 3 years to serve before I can rejoin the 'real' world. ;-) 'If I get too bored I can always have babies...that would be fun!!!' Oh dear......you'll lear.......never mind ;-) Before anyone asks, yes we can afford childcare but we've decided to raise our kids the old fashioned way ie parenting ;-)
Thu 27 Nov | Aussie Chick | OT: we want to raise our children like that two. I think stalin once said 'give me a boy until he is 7 and I will give you a man'. meaning that he would be able to influence a child so greatly in the first 7 years of life that it would shape his personality. now, I have never actually double-checked that quote...but I always liked the sound of it. I want to be the one influencing my children at such a young age.
Fri 28 Nov | Rob VH | FYI: 'Give me a child for the first seven years, and you may do what you like with him afterwards.' Quotation books attribute the saying to a 'Jesuit maxim'. The Jesuits are often asked about this, and do not really know the source for the quote. The primary source for the origin of the idea of the quotation is the Ratio Studiorum, a sixteenth century document composed by Jesuits describing the characteristics and structure of Jesuit education. The Ratio and its mythic maxim are discussed in a 1985 America article by John W. Donohue, SJ. 'The legendary saying is not just spurious but is the exact opposite of what actually was said in the first draft of the famous Jesuit plan for schools…The six veteran teachers who in 1586 wrote the Latin essays making up that draft recommended that no boy be admitted to a Jesuit school before he is seven. Children less than that age, it explained, are troublesome and need nannies, not schoolmasters.' Like so many sayings, the quote's actual origin is lost in the sands of time.
Sat 29 Nov | Arron Bates | A lot of really good suggestions... that is... unless you live in the middle of nowhere. nowhere == rural PA. ...can't even get broadband let alone a walk or drive to anyplace that has anything that resembles a real coffee. I miss North Sydney. Great coffe... grat 'bird life'. :)
A bit far-fetched | Wed 26 Nov | JJ
>> Multiple Concurrent Users - Because Jet (our database engine) is inherently multiuser, you can have up to 255 people editing the site at the same time. They all simply open the same CityDesk file over a LAN or VPN and CityDesk takes care of the rest. http://citydesknews.com/CityDesk/fog0000000068.html Isnt this claim a bit far fetched for an Access database? I can see maybe 10 - 15 users and that may even be pushing it. Granted it may depend on how many users are actually updating at one time. If you have 255 users and only 1 person is updating every minute, thats fine but if you have 255 users clicking save at the same time, I think the database would become corrupt and a lot of users would get the locked message or the connection would time out. Did you guys actually test like 10 - 20 users hitting save at the same time? I dont have the capability myself, but I do test 2 at time to ensure Im catching the proper record locking errors etc..
Thu 27 Nov | Matthew Lock | I have a financial application running in Access with 200 users connected. In 5 years it has never crashed or become corrupted.
Thu 27 Nov | Stephen Jones | You're not likely to get more than one user updating the same record in the database. If you had more than one it would depend on he kind of locking. Is it the Jet engine or SQLdesktop (the old MSDE) that is being used?
Thu 27 Nov | Sgt. Sausage | Access get's a bad rap. Why, I don't know. I've been using it professionally, to develop RealApplications(tm) since v2.0 in 1994. If properly constructed, and carefully coded, Access/Jet can easily handle the theoretical (published by MS) maximum of 255 users. I've got several apps that have been in production for going on 10 years now that prove it. The problem is when people don't know what they're doing, and the application performs poorly. They then go shooting off at the mouth that 'Access is crap', when really they're covering up for the fact that they don't know what they're doing. I tend to agree that 'Access is crap' for a lot of situations (for other reasons) and have migrated away from it for the last 4 or 5 years, but I still do a huge amount of Access development and for most of my projects and for these it does very well. The proof is in the pudding. Write you some VB/VBScript/VBA/Whatever (the poison of your choice) that opens up 255 connections to Access and start throwing transactions at it. See what it does. I'll bet it does a whole lot better when you actually test it than you were lead to believe by hearing it through the grapevine that 'Access is crap'. It really does quite well!
Thu 27 Nov | Stephen Jones | But it's often the Access developers themselves that give you this idea. Try and get an answer on the Access forums as to when you will outgrow Access, and they will tell to go to SQL server for an attendance and marks module for a small high school. Then there is the question of inexplicable bloat. I've had Access databases bloat from 200KB to 20MB in half-a-day. Compact on close solves the problem, but has it's own perils with a large number of users. Also there is the awful security model, which you need the equivalent of a JD to understand thoroughly.
Thu 27 Nov | no name | >> 'Write you some VB/VBScript/VBA/Whatever (the poison of your choice) that opens up 255 connections to Access and start throwing transactions at it.' The problem with this statement is that one program cannot simulate - simultaneous access to a database. You need two or more physical machines networked together. Also, why don't you share some of the ways in which you ensure the database does not become corrupt. Just because you have an application with 200 users doesn't mean they are pushing the database. Maybe only 1 - 5 are attempting a save at the same time. To really test it, you would need 200 physical machines networked together with 200 physical users. All 200 users would attempt to save a record at the same time.
Thu 27 Nov | no name | >> 'The problem is when people don't know what they're doing, and the application performs poorly. They then go shooting off at the mouth that 'Access is crap', when really they're covering up for the fact that they don't know what they're doing.' No one in this thread said that access was 'crap'. You wrote your post to sound way too defensive. As if people are attacking you. What do you mean by, 'people don't know what they're doing.' and the implied 'I know everything.' Give examples of the things that 'people' do wrong.
Sat 29 Nov | realist | Doesn't everybody write intelligent insert/update/delete wrappers anyway to give it a fair go? You know concurrency checking routines, lock checks etc, I mean we're professionals, right?
Reinventing The Wheel Revisited | Tue 25 Nov | Efervescent Elephant
Im reading this on another website, the context of the discussion is whether is useful or not to use frameworks: Avoiding frameworks and middleware can be just as important on much larger systems. Often these frameworks (always in the case of middleware) will add not just overhead (latency or burnt CPU cycles) to your system, it can add complexity. When given the choice of incorporating some already existing framework, or re-inventing the wheel, I often (but not always) choose to re-invent the wheel. See, I will end up with a wheel that I know. A wheel that spins like it should, and doesnt spontaneously start brewing coffee, because someone thought that would be a great idea. Some are religiously against re-inventing the wheel. But hey, the wheel is a well known technology, it is not necessarily very difficult to re-invent it. This amount of work, compared to the long-term implications of being dependent on something that you do not own, make a little re-invention here and there well worth it. Earlier on slashdot today you saw ATMs being hit by an RPC worm. Why is an ATM vulnerable to an RPC worm? Because it runs RPC. Why does it run RPC? Well, because nobody re-invented the little wheel it would have been to do a simple data transfer over a TCP connection. No, they chose either to use RPC, or to use a significant amount of middleware which did not allow them to disable RPC (otherwise, why would it have been enabled?). If people feared re-invention a little less, and once in a while re-wrote that darn wheel instead of relying on frameworks and middleware that they cannot possibly hope to fully comprehend, you would not have ATMs being hit by RPC worms. Ximian Evolution would not take up hundreds of megabytes of memory. Web sites would not mysteriously hang if the MS ASPX interpreter got stuck. My PHP sites would not start giving load errors on every 5% of the hits after a bad call to a file load routine half a decade ago. The world would be a better place. Now go re-invent, please. I usually try to avoid the Not Invented Here syndrome, but Ive found this comment very insightful. What do you think? What justifies the decission to use a framework versus rolling out your own solution?
Tue 25 Nov | Ori Berger | First of all, a correction: The ATMs were hit by an RPC bug because they were running Windows, and Windows can't function without RPC. I don't know if the ATMs use RPC for operation or not, but they don't need to - their host O/S makes them vulnerable. That said, read Joel's 'In defense of NIH'. It sums things up nicely. Personally, I find many packages to have quality so low that I wouldn't risk depending on them because I usually can't fix them when they break. And when you have the source, you don't need any blanket statements - you just look inside and can readily evaluate how much baggage and liability you're taking for using said framework. Then make an informed decisions. Most decisions to NOT reinvent the wheel are, by and large, uninformed decisions. That does not mean that they are wrong - they're just based on missing information.
Tue 25 Nov | Tony Chang | I agree that it is better to write your own most of the time unless what you are using is very well known, tested and reliable - like sprintf, or strncmp. It's different from NIH. NIH is when you won't use mice and windows because that's what everybody else is doing. The guy who rolls his own cigarettes did not invent the cigarette, he just prefers to make it his own.
Tue 25 Nov | son of parnas | When you get that new tcp/ip replacement coded give me a call. Ang i guess you'll need to make your own bizzaro processor and bizzaro OS to go with it. Then your own bizarro language. You should be safe then.
Tue 25 Nov | Thomas | If libraries/components/frameworks/tools/etc. were properly designed in the first place, reinventing the wheel would be less commonplace. We've all had the experience of working with a (library, component etc.) -- and it just works. It doesn't do bizarre things, doesn't require you to jump through hoops, doesn't frustrate you with confusing side effects. We've also had the experience of working with a (library, component etc.) that does bizarre things, requires you to jump through hoops, etc. The latter, in my experience, is much more common than the former. So often it does make sense to reinvent the wheel. Because sometimes it's better to make a wheel and attach it to your axle than figure out make an airplane-that-has-wheels hook onto your donkey cart. -Thomas
Tue 25 Nov | Frederic Faure | It's not just a matter of the thingie to work or not. If it's proprietary, or open-source but not used by a lot of developers world-wide, and a critical part of your business... it might just be good insurance to write your own. Joel wrote about this before.
Tue 25 Nov | Brad Wilson | I always look for a solution I can purchase, but the reality is that I usually filter down to about 1 in 20 of what I find, download and test, and even of those that looked promising, about 1 in 5 is worth paying for. Sometimes we'll buy a sub-standard component anyway, knowing it's not the best, but still worth the time savings -- for now. I'm certainly not against paying twice if the right thing comes along to replace the wrong thing, personally. Even with all that, we still end up doing ourselves 50-75% of what I would expect a component company should be able to offer, but can't, because most of them just suck too badly.
Sat 29 Nov | Ponty Mython | "We are the Knights of NIH..."
The bookshelf | Tue 25 Nov | Eli Golovinsky
There are books that are considered an industry standard, and that you just cant get without. In management, design, analysis, programming, testing and other fields. For every language and every concept. What books you consider a must on your shelf? I am considering on expanding my own.. And while we are on the subject, does anyone actually reads those books, or they just acummulate dust on a shelf at the office?
Tue 25 Nov | the scapegoat | Although I have quite a few I'd call 'must haves,' the one I'd keep before all others is 'Object Oriented Software Construction (2ed)' by Bertrand Meyer. http://www.amazon.com/exec/obidos/asin/0136291554
Tue 25 Nov | Ori Berger | SPSG (Software Project Survival Guide) is good. You probably won't be enlightened reading it, but it does concisely summarize a lot of things you need a reminder of when working on a project. Peopleware is good. Programming Pearls (by Jon Bentley) series is very good, if you can find a copy. Avoid 'World Domination in 21-Days' type books, and books with lots of graphics/screenshots/sources. They rarely have real content, and even those of them that do take too much shelfspace.
Tue 25 Nov | Eli Golovinsky | And besides having those books, have you guys actually read them? Have you ever succesfully convinced a reluctant peer or subordinate to read one?
Tue 25 Nov | Stress | Did you see Joel's list? http://www.joelonsoftware.com/navLinks/fog0000000262.html
Tue 25 Nov | www.marktaw.com | I have had some success with photocopying a chapter and getting my peers to read that... It breaks up the work day, or they can read while they commute if they don't drive. This is sort of like sharing Dilbert cartoons around the office, but a little longer. Speaking of industry standard tomes, are you at all familiar with the Project Management Institute's Body of Knowledge (PMIBoK). I know you're in a managerial position, and I was curious if anyone in management actually knows this thing.
Tue 25 Nov | Philippe Back | The ones that survived on my shelf (a lot of other ones have migrated to 'lower' status and carry dust). Applying UML & Patterns - Larman An introduction to database systems - Date Million Dollar Consulting - Weiss The pragmatic programmer - Hunt/Thomas Lateral Leadership - Fisher The product marketing handbook for software - Chapman Marketing stripped bare - Forsyth T-SQL Cookbook The guru's guide to T-SQL SQL for Smarties Managing Software Requirements Running the professional service firm The prince - Machiavelli Art of War - sun tzu Beyond software architecture ASP.NET for developers Adobe Illustrator - classroom in a book The software project survival guide Operational marketing The Mc Kinsey way Code Complete
Tue 25 Nov | www.marktaw.com | What versions of The Price and Sun Tzu do you have, and what value do you gain from them?
Tue 25 Nov | Eli Golovinsky | Mark, I have heard about the PMIBOK somewhere, but found (at the time) very little useful information on the subject on the net. But the net has evolved some. I found a hacked online copy of it and downloading it right now. If I remember correctly, it referse to prject management in general and not to our industry in particular. But still, probably an interesting read. In the bathroom :)..
Tue 25 Nov | Ed the Millwright | I have several hundred engineering books, including practically everything mentioned on all the best-of lists, but these are the ones I really appreciate the most and have no troubles with: The C Programming Language C Traps and Pitfalls Expert C Programming Obfuscated C The Secrets of Consulting Code Complete Peopleware Slack Design Patterns Refactoring Effective C++
Tue 25 Nov | the scapegoat | I've read Object Oriented Software Construction three times (the old edition once, the new edition once as a group reading exercise, and the new edition once on my own). Each time, I've gotten something useful out of the exercise. The PMBoK is a standard for project management professionals, but in my opinion it way too full of holes to be useful, except to comply with high ceremony project charters. Operationally, I think it will get you into trouble.
Tue 25 Nov | www.marktaw.com | You're right, though I have seen someone who wrote a book focusing on the technology subset of the PMIBOK.
Tue 25 Nov | Jim S. | PMBoK - Project Management Body of Knowledge is put out by the Project Management Institute (www.pmi.org). They run a certification program for project managers (PMP). An excerpt of the PMBoK is available for download. It's the sort of Capital-M Methodology thing that big companies love but that good software teams laugh at. IMO, you can safely ignore it unless you have an intense need to buffalo your managers. The Microsoft MSF/MOF (Solutions Framework and Operations Framework) material is actually a pretty comprehensive and yet dogma-neutral approach to some of this material. It's a good baseline and the Microsoft imprimatur makes people pay attention to what you are talking about. Lots of whitepapers on the Microsoft site, search under msf and mof. Taking into account the operations side of things is what separates the men from the boys, IMO. The desert island book (if your only going to read one book, read this one) for software engineering is Steve McConnell's 'Rapid Development, Taming Wild Software Schedules.' This is the bedrock knowledge for organizing software teams and projects. 'The Pragmatic Programmer' (Hunt/Thomas) and 'Writing Solid Code' (McGuire) are very good and more oriented towards programming. Other than that, it starts to depend on your technology platform and your application domain. If you let us know a bit about these, we can recommend some specific books. It sounds like you might want to consider having someone come on your site periodically and do some training. It can be invaluable to align the team with a common knowledge base. Based on your previous post, I'm not sure 19-year old short-timer will get that much out of reading McConnell. There's tons of consultants who can evaluate your group and do tailored training programs.
Tue 25 Nov | www.marktaw.com | Jim, Thanks for the overview, I always suspected this was the case. I always find books like that good for padding documents that are intended to go up the management chain.
Tue 25 Nov | runtime | I highly recommended McConnell's "Code Complete" for those with little experience. I read this book in my senior year at university and it really opened my eyes to "professional" coding. The book is HUGE and dense, but lots of fun. :-D
Tue 25 Nov | Dustin Alexander | Some unmentioned that are on my shelf (along with most of the above) 1. The Mythical Man Month Joel recommends this as well. Its an easy read and is both insightful and inspiring. Considered a mainstay of project management. 2. Programming Perl (by Larry Wall) Not just a perl book. Its great for regular expressions and he goes into a good deal of depth about engine and precedence. This is a great read, especially if you are willing to dig through the Perl source code. Written by the original programmer. 3. UML Distilled Those of you who don't have time for Booch, Rumbaugh, and Jacobsen will get a good overview of the UML from this one. Very easy reading and well respected. 4. Design Patterns This was mentioned, but I wanted to STRONGLY reiterate it for anyone getting into design and overview. Its also a light read, and not technically dense. This is THE pattern book. 5. The Statistical Analysis of Experimental Data (Dover) This and anything else from Dover will give you a solid foundation in mathematics. They were written for a certain audience, but are refreshing for those into math. SAED is particulary useful for people going into analysis and modeling fields. Dover is the standard press for many many math subjects. 6. Anything by Tufte Anybody designing reports, web pages, and user interfaces owes it to themselves to pick up Tuftes 3 books on the subjects. They are masterpieces and very entertaining reads. Also considered definitive for cognitive science work. 7. The Art of Computer Programming Need we say more? Knuth is where its at. 8. The Art of Assembly This is available online. For those of us with a drive to monitor our processor with an oscilloscope, this is one step above that. 9. Processor Books about Intel More processor level stuff for nerds, try reading the 8080 specs. 8080 bugbook is good, as is MCS-48. Intel related material is what you want to read for processor level implementation. 10. Compilers: Principles, Techniques, and Tools Aho, Sethi, and Ullman. The Dragon Book (2nd ed.) The compiler principles book. In general, the Oreilly press does good stuff on system administration and the open source technologies. Wrox is good for Java mainstays. C and C++, look for work by K&R, along with the ancient gurus who built Unix. For modern design work, go to the Rational founders (Rumbaugh, Booch, Grady), and the Gang of Four (wrote Design Patterns.)
Tue 25 Nov | Dennis Atkins | 'The Art of Computer Programming' Yes, this is certainly appropriate for a 19 yr old newbie with no background in CS. Not!
Tue 25 Nov | Dustin Alexander | He didn't mention that he was looking for nube material. He wanted to know the mainstays of comp sci, and AoCP is most assuredly one of those. Most of the books I posted would not be the greatest reads for someone not entertained by technical details. That said, any 19 year old programmer who read those would be at the top of his class.
Tue 25 Nov | Dennis Atkins | You're right, he said he wanted must-have books for his own shelf and that does qualify.
Tue 25 Nov | Tom Vu | Mr. Nice http://www.amazon.co.uk/exec/obidos/tg/detail/offer-listing/-/0749395699/used/202-0965053-4498253
Tue 25 Nov | mackinac | Some books I read through once, a few get read multiple times, and others are referred to as needed. And there are ones that just collect dust. DeMarco and Lister's 'Peopleware' is one that gets multiple readings and I have spare copies to loan out occasionally. At one site I worked at, a book discussion group got started and it was the first book read. As a C++ developer I keep a copy of Stroustrop's 'The C++ Programming Langauge' on the shelf, have read most of it, and refer to it as needed. I have a couple of copies of GOF's 'Design Patterns', have read the descriptions of the patterns (but not spent a lot of time on the implementation details), and keep a copy around to refer to when working on projects that use patterns. At a previous employer a group of developers got together after work to read and discuss this book. 'Numerical Recipes in C' is one I wouldn't be without. I bought a copy so I didn't have to keep borrowing it. The amount of use it gets varies with the project. I don't open it all that much, but when I need it, it is really helpful. It is not one to read through, but to look things up as needed. I have Meyer's OOSC, both editions. I found the first edition helpful in learning OO concepts, but have only read it once. The second edition was harder to read. I won't disagree with people who say it is too verbose, especially the second edition, but it is the best I know of on the topic (but there is probably something better that I don't know of).
Tue 25 Nov | Matt Latourette | C++: The Complete Reference by Herbert Schildt - I bought this book in high school. The cover is falling apart from years of heavy use. I still refer to it. UNIX in a Nutshell, O'Reilly & Associates Design Patterns, Gamma et al The Non-Designers Design Book by Robin Williams - This is a classic graphic design book, and although it deals specifically with print media, the concepts are applicable to any form of graphic design, including web pages or user interfaces. The NEMA DICOM standard - If you're not involved in medical informatics, then you won't care about this. If you are, then this spec is your bible. Unfortunately, it is an incredibly obtuse read rather like trying to read a novel in which all the nouns are in one chapter, the verbs are in another chapter, etc. However, its importance is undeniable and there is no substitute that covers the material in sufficient depth. Linear Algebra and Its Applications by Gilbert Strang Roget's College Thesaurus - Programming is, at the very core, about the precise application of language. Well named variables, database tables, etc. make for good readable design documents and code that can be understood by others.
Tue 25 Nov | www.marktaw.com | I'd like to recommend Rodale's Synonym Finder as a competitor for Roget. Herbert Schildt's book is a good one. It has very clear explanations and proceeds in a very clear, logical order. clear... clear.. I need to keep my Synonym Finder on hand.
Wed 26 Nov | Mike Swieton | For information on analysis of algorithms, read Knuth. There is no substitute, he wrote the bible on it. It's dense, but you can get through it if you want to. Age is entirely immaterial here. I'll Nth the GoF book recomendation, it's really that good. Pragmatic Programmer is good reading, though it does reiterate some fairly elementry ideas. If you do C++ seriously, you need a copy of the C++ Programming Language, and a copy of Meyer's Effective C++ line (and probably a copy of his STL book as well, though I've not read that one). I've found the Schildt C reference very good, and I imagine his other books are good, too. I have the C++ for dummies book, but grew out of that one rather quickly. I have read most of the above books fairly completely (The Knuth and Stroustrup being notable exceptions).
Wed 26 Nov | someone from the crowd | Dale Karnegie 'How to win friends and influence people' Read this before you die.
Wed 26 Nov | Philippe Back | From Sun Tzu, I got great advice and refer to it when a really tricky situation comes in. It allows me to avoid the 'foolish' behaviors leading me directly in a wall. As for the Prince, I read the standard text and have discovered a book having texts from Erasme, Machiavelli and More. Interesting stuff going from divergent thinking, through realistic thinking (or realpolitik) to visionary thinking. The text has comments about how this could apply to the current economic world. It's an interesting reading grid. It's in french tough.
Wed 26 Nov | MattF | Another + for UML Distilled, and for the GOF book. John Lakos, Large Scale C++ Software Design is good, even if you aren't working on systems as gigantic as he is talking about. Ross Anderson, Security Engineering is really interesting. It covers a wide range of applications where security is important, the kind of things that systems can do, how they can be compromised etc. If you are doing design in this area it will give you an insight into the way you need to think, rather than just give you a recipe.
Wed 26 Nov | Jeff | PMBoK (modfied a bit) is used at Merck & Co for their engineering projects. Seemed to have worked well for that group. They build some damn big facilities with that method and often in a very short period of time. They then tried to apply those rules and in general the rules for building plants and labs to building the software that supported the group. For many reasons it was not the cure that the group needed to control the software development. I have a feeling it had to do mostly with the engineering group being staffed by top flight engineers and the IT group being staffed by the best people they could find. Not nessesarily the best of the best like they hold out for in engineering. Once again showing it is the people and somewhat the methods.
Wed 26 Nov | no name | I think I need a book on how to buld a bigger bookshelf.
Wed 26 Nov | ajs | I'll second 'Code Complete', 'Programming Pearls' (esp. for the bitmap sort) and 'The non-designers handbook'. I'll add... 'Humane Interface' by Raskin, 'About Face' (there's a new version out) 'The inmates are running the asylum' by Alan Cooper 'Psychology of everyday things' 'Invisible Computer' by Donald Norman The best programming book I have is 'Turbo C - The complete refence' by Herbert Schildt'. This book is over 15 years old, but very clearly explains how to do linked lists, hashes, stacks, queues, expression parsing, searches, sorting, and how to write a BASIC interpreter, etc. It explains things so well that the fact it is a book on C is irrelevant. You could delete all of the C code and it would be just as worthwhile. A rarity indeed. As someone above mentioned, it has no screenshots and very few graphics. I haven't read any of his later books, Amazon shows good reviews if that's any help. ($2 for a copy of this Turbo C book!)
Wed 26 Nov | WolfgangR | not needed since 1992, but before heavily: Clarence B. Germain Programming the IBM 360
Wed 26 Nov | pdq | Whoever borrowed my copy of "The Mythical Man Month", please return it.
Wed 26 Nov | Alyosha` | Clearly, _Atlas Shrugged_ by Ayn Rand should be at the top of the list. (grinning, ducking, running)
Wed 26 Nov | oldfart | Hey, if comeone can post an IBM 360 book, then here's my all time favorite: Machine Language for the Commodore 64, 128, and Other Commodore Computers by Jim Butterfield
Wed 26 Nov | another old fart | Wow!  Jim Butterfield.  I used to love his stuff.  That column he wrote for Compute! magazine was always the first thing I'd turn to when a new edition would arrive.
Wed 26 Nov | mackinac | For anyone who might have to get close to the hardware and need to know a little bit about electronics, e.g., working with embedded systems, should consider buying a copy of 'The ARRL Handbook for Radio Communications', formerly known as 'The Radio Amateur's Handbook'. This is updated every year and is available in both dead tree and CD versions. Here's the link: http://www.arrl.org/catalog/index.php3?category=Technical%2C+Electronics%2C+and+Communications+Reference
Fri 28 Nov | Karel | Good to see someone else appreciate strang on linear algebraapplied math
Fri 28 Nov | Ged Byrne | The Sinclair ZX81 manual. Anyone else learn how to program one rainy day because they could never get their ZX81 to load games from tape :-) The next revelationary book after that was McGonnel's 'Code Complete', 20 years later. At the moment the 3rd Manifesto by Date and Darwen is causing me to rethink everything I thought I knew. And so fart I only understand about 5% of what I'm reading. I'm reading it alongside Meyer's 'OOSC2', and now the Memes are battling for supremecy in my mind. Next is the GOF, which was unearthed untouched during an office move. While I'm reading all this I'm supposed to be studying for my Masters. And to think, a few years ago I thought I knew everything.
Fri 28 Nov | Ged Byrne | He he he, fart.
Sat 29 Nov | CGWF | I'd like to see Date and Darwen tagteam against Meyer and Nerson on the subject of nulls.  I side with Meyer and Nerson on this one, but I bet it would be a real knockdown dragout :)
Best way to clip mpg files? | Fri 28 Nov | Vidiot
Can anyone recommend an app to edit mpg or avi files? I like to leave a cap program running on MTV2 and clip out the videos individually later, so I just need a way to open a file, mark a start and end (preferably with macro and micro finesse), then do a save as on the selected clip. TMpegEnc is close, but still kludgy. Thanks!
Fri 28 Nov | Insert half smiley here. | Virtual Dub should do this. I've used it to extract segments from VOB (DVD) files. It will probably work for MPG too. http://www.virtualdub.org/
Fri 28 Nov | Interaction Architect | Apple Quicktime Pro?
Fri 28 Nov | Vidiot | Whoa - Virtualdub is exactly what I needed, thanks!
Advice on how to fix Internet Explorer | Wed 26 Nov | Alex Chernavsky
Recently, a virus-infection has damaged IE 5.00 on my Windows 98 SE system. Ive tried everything I can think of to fix the problem, but nothing has helped. Maybe somebody here has some ideas. The problem started when I foolishly clicked on a malicious link. The virus (or trojan) is described in this Google Groups posting: http://www.google.com/groups?q=jambrose&hl=en&lr=&ie=UTF-8&scoring=d&selm=ec8oqvs23r7bpcc78puhnejv1qeqsdsujd%404ax.com&rnum=2 Im running Panda Titanium Anti-Virus, but the virus got through anyway. Actually, neither Panda nor Symantec found the virus afterwards, even when I did a full system scan. I deleted the virus executables, but one problem remains: Internet Explorer now forgets things. After a re-boot, whenever I visit sites like Amazon that require a username/password, the sites dont recognize me automatically, like they used to. Im forced to enter my username/password, although these do seem to be stored via the autofill feature. Also, IE forgets which links Ive clicked on and which ones I havent. All links revert to blue after a re-boot. Ive re-installed IE 5.00 three times. Ive checked all the settings under Tools --> Internet Options. Ive checked the paranoia settings under TweakUI. Ive completely deleted all the temporary internet files. None of this has made any difference. Im thinking that maybe the virus made some change to my Windows registry, but I dont know where to even begin looking for the change. Anybody here have any ideas? Im almost to the point where Ill just install Mozilla Firebird and forget about IE. Thanks in advance.
Wed 26 Nov | Almost Anonymous | Try adaware... it now looks for programs and DLL's that are hooked into IE and offers to remove them. Also, delete your cache, history, everything.
Wed 26 Nov | Alex Chernavsky | Yes, I ran Adaware, Stinger, and Spybot Search-and-Destroy. Hasn't made any difference. I've also posted to several Usenet groups asking for advice, but none of the replies were helpful. I've searched for help via Google, but nothing seemed relevant.
Wed 26 Nov | DJ | What's wrong with IE 6? - It is much better than 5.
Wed 26 Nov | Alex Chernavsky | I'm concerned that IE6 would be too slow on my system.  IE 5.00 is quick to load, and I like that.
Wed 26 Nov | Tim Lara | We run IE6 on all of our crappy old 98SE celeron-based company PCs, and I have never noticed a performance problem. If anything, IE6 seemed to fix a lot of touchy little system bugs anyway. If that's your only reservation, I wouldn't worry about it. (Or, just go with Firebird. Seems to work fine for me with everything but MS-specific java script, such as the rich text editor in Hotmail...)
Wed 26 Nov | .. | This is my four-step fix-it-all utility for people's computers that have been 'broken' by something they did related to the Internet. I have used this system to fix ... about ten (other people's) computers in the last year. All successfully. 1. Go to www.windowsupdate.com and update your security patches. Takes several installs/reboots. This will probably 'fix' you up to Internet Explorer 6 and all its service pack(s). Pretty much requires broadband, especially if you're running Windows 2000/XP and getting all the huge service pack updates. 2. Get a firewall up and running. ZoneAlarm is what I use. Others work just as well. 3. Download AdAware. There are others, but this is the one I've tried. Make sure you click on 'get update definitions' before you run AdAware to check your system. Check your system and remove everything it tells you to. 4. If you must, use a virus scanner. I don't trust them, and haven't trusted them since Windows 95. AVG is free. Trend Micro offers a free web-scan of your hard drive, if you don't want to fully install everything. Oh, and the 'remembering' thing is directly tied to cookies. You may have disabled cookies. You said you tried everything, but maybe you didn't? If Internet Explorer is completely hosed, you can also try installing another browser. Opera is excellent for my needs, though it runs an ad banner at all times at the top of the window. Mozilla Firebird ... well, others have tried that.
Wed 26 Nov | JP | The main symptoms you're describing (Internet Explorer forgetting where you've been, sites not recognising you) do just sound like they're down to your security settings. If you've got all the paraonoia features in TweakUI turned on, that'll delete your entire browser cache and history each time you exit IE - and thus it won't know which links you've visited (and won't mark them). The other aspect sounds like you've got persistent cookies disabled (which has roughly the same effect, but for cookies)....
Wed 26 Nov | Malta | There was just an advisory for unpatched holes in IE. Please use another browser for general use on the internet and resort to IE if an ecommerce or banking site you need won't work with the other browser. Link to vulns. http://www.atnewyork.com/news/article.php/3114171
Wed 26 Nov | www.marktaw.com | I use IE when I want to have a history or cookies on a site, like my e-mail or JoS. These are sites I trust and visit on a regular basis. I use Mozilla for everything else, and it erases my history & cookies when I'm done. Let's face it, IE is the market leader by an extremely wide margin, and any expliots are going to be targeted at it.
Wed 26 Nov | Alex Chernavsky | OK, an update. I went to Windows Update and downloaded all the updates, including IE6. The result? No difference at all. Still showing exactly the same symptoms. This is so damned irritating.
Wed 26 Nov | www.marktaw.com | It sounds to me like your folders and/or the pointers to the folders got deleted. Windows can't store cookies if it can't find the folder to put them in. Maybe someone knows where Windows stores these pointers, somewhere in the registry I imagine....
Thu 27 Nov | Alex Chernavsky | Yeah, I checked. All my temporary Internet files get deleted every time I do a re-boot. I even disabled TweakUI, and it still happens. Where else besides TweakUI can this behavior be controlled?
Thu 27 Nov | Stephen Jones | Tweak UI is simply a registry editor. You can also change the setting in Internet Options on the tools menu or in Control Panel - same dialog box. There is a dialog box that says empty temporary internet files when you close the browser. Uncheck it.
Thu 27 Nov | Alex Chernavsky | I solved the problem. I had previously deleted several executables that had been installed by the virus, but I apparently missed one. This morning, I noticed that my Windows subdirectory had a program called, 'system.exe' that was being executed at start-up. After I deleted system.exe, the problem was solved. Panda AntiVirus, Symantec AntiVirus, AdAware, and Spybot were all completely useless in this case. Right from the start, none of these programs found anything wrong with my system. My previously unshakable faith in the quality of software has now been completely ruined.
Thu 27 Nov | Stephen Jones | I use start up cop daily to see what's running. Now it's possible this exploit was a new variation - worms have been using this file name for at least a year - and it's activity wasn't detected because it didn't affect enough people. Now if you run Win 2K or Win XP and runnning as user, as you should do when connected to the Internet, :) then the virus would not have been able to write to the registry and run.
Thu 27 Nov | Slashbot | Recently I walked around in my old shoes on a rainy day. The left one had a hole in it so my socks got soaking wet. I realized it only when I came back home. So I exchanged my left sock for a plastic bag. The other day, while it was still raining, I went outside again. Unfortunately the plastic bag had some holes in it, too, so I caught a flu. My solution so far was not to wear any socks or plastic bags anymore but to wax my left foot before I get outside. Perhaps I will cut off the top leather of the left shoe and attach a sponge-o-matic machine to the foot that soaks up all the water that cumulates in the sole.
Fri 28 Nov | www.marktaw.com | A computer on my network was infected with a virus. I had to go into the command prompt to delete it. Then I installed - AVG (antivirus) - Ad Aware (anti spyware) - Zone Alarm (firewall) - Spybot Search & Destroy (anti spyware) AVG, Ad Aware, and Spybot all found things. What a mess! I recommend everyone install these programs (or similar antivirus & firewall). Especially Internet Explorer users. I'd also recommend a program that tells you what starts when Windows starts, but can't make any specific recommendations right now.
Fri 28 Nov | Murkin (from Murka) | I recommend a little utility called StartupMonitor. It interactively quizzes you whenever something tries to start with Windows-"allow *.exe to run at startup?" Google for it.
Fri 28 Nov | wordsofwisdomfromadudeinLA | Last time I checked it was the year 2003. Don't you think an upgrade should be in order? I bet all your code is in GWBASIC huh?
Fri 28 Nov | Ori Berger | ''' My previously unshakable faith in the quality of software has now been completely ruined. ''' Alex, I hope that was sarcastic. If it was't, then it's a good thing your faith was ruined wihtout costing you much. Software that deserves faith is extremely rare these days.
Master and Slave | Wed 26 Nov | Dennis Atkins
In the Only in California department, this just in: http://story.news.yahoo.com/news?tmpl=story&cid=573&e=5&u=/nm/master_dc >Los Angeles officials have asked that manufacturers, suppliers and contractors stop using the terms master and slave on computer equipment, saying such terms are unacceptable and offensive. >The request -- which has some suppliers furious and others busy re-labeling components -- came after an unidentified worker spotted a videotape machine carrying devices labeled master and slave and filed a discrimination complaint with the countys Office of Affirmative Action Compliance. The thing about this is that there are certain things in computing for which the master-slave relationship really does exist. Apparently, Los Angeles believes that the 13th and 14th amendments apply to chips, subassemblies, perhaps even subroutines! This cant stop with forbidding labelling the terms -- a ban on master-slave relationships is sure to follow as being unconstitutional. We will be required to have fully egalitarian peripherals. Even the term peripheral will be banned as it suggests that certain parts are less important than others. All parts must be equal! if your keyboard feels like it has to access the hard drive or the internet -- who is the CPU to tell it otherwise? Thats unfair and undemocratic! Other peripherals dont want to talk to each other? We should legislate mandatory bussing of all components! All components must be considered equal and attached to the same bus, and all must have the same access privledges! Only then will the bigotry end!
Wed 26 Nov | Pat Galea | What on earth do they make of male and female connectors? :-)
Wed 26 Nov | Alex | It's a good thing workers don't look closely at 386 protected mode...
Wed 26 Nov | J. D. Trollinger | People who file complaints like those should be publicly horse-whipped, tarred-and-feathered, and then run out of town as an example to others who might follow their lead.
Wed 26 Nov | tapiwa | I have always suspected that correctness is the last refuge of those who have nothing to say. -- Friedrich Wasiman
Wed 26 Nov | tapiwa | Actually JD. I think knee cap them; take them out back, shoot them, feed them to the pigs, and then shoot the pigs just to make sure.
Wed 26 Nov | Bored Bystander | It's really quite simple. Characterless political-correctness whiners and anyone who feels 'aggrieved' control our discourse. Characterless PC whiners actively go around looking for anything that may be construed as offensive in a remote 'six degrees' manner. Meanwhile, anyone who suffers in the here and now quietly accepts their lot. Our society stiffly penalizes good character and generously rewards bad character. The best way to be rewarded for bad character, whining, envy, and bitterness - in short, for being a blame casting $$$hole - is to also be a member of a federally 'protected' social group. Not saying that all protected group members are 'that way'. Just observing that anyone who is protected by race or heritage gets an automatic 'pass' on egregrious behavior that should rightfully get their ass kicked.
Wed 26 Nov | pupos | Dennis - the revolt you describe... lets face it, you're talking about Neo!!! or wait. more accurately, Agent Smith, since he is a program that revolts. Neo is human.... jeez... next, we'll have to stop using sambo and towelhead as variable names...
Wed 26 Nov | Chris Winters | I hope nobody tells them about parent processes reaping and killing their children processes...
Wed 26 Nov | no name | If it's whining then no one here would mind Butt Pirate and Pillow Biter? It's all perspective.
Wed 26 Nov | pupos | > It's all perspective that's so silly, you're using epithets. master and slave are not epithets, and as words are not directly related to prejudice in any way. the master and slave relationship is purely and strictly a power relationship. it is only our grim and all-too-familiar national history that attached racial implications, and they are just that, an historical by-product. calling a football team the Redskins, that's an epithet. calling the team the Indians would not be. (the charicature has got to go either way!) this topic will likely get axed, since it's not about software any more. but to write software well you need to regularly divert your brain from writing software
Wed 26 Nov | no name | What does master and slave denote? Who do you think came up with the terms? Wake up!
Wed 26 Nov | no name | My favorite name for a team would be the Caucasians. Go Caucs GO!
Wed 26 Nov | tapiwa | ' ' mine is called The All Blacks. Your problem??
Wed 26 Nov | tapiwa | by the way, folk from the region of Caucusas are called Caucasians. So really no different from calling your team 'Londoners' http://directory.google.com/Top/Regional/Asia/Regions/Caucasus/
Wed 26 Nov | Alyosha` | It's very unpolitically correct these days to defend political correctness.  But egregious examples of silliness like these will always exist wherever folks make an effort to be less than totally cavalier whose feet they step on.  A few bad apples doesn't spoil the whole lot.
Wed 26 Nov | no name | You're right, the examples are ridiculous, but purposely so. If you want to know where the line is, cross it. Anyone who can't grasp the offence in master\slave has never been a member of a culture or community of slaves. What other connotation could it have and why were these words chosen. I'm sure we all know why.
Wed 26 Nov | pupos | i agree about the bad apples comment - e.g. i for one think the redskins name and charicature are totally insulting and ultimately sick, but think this LA county policy is Monty Python absurd. as for master and slave.... (to the Nameless Poster) wow, man, what are you trying to say? that those words were invented by the S&M/bondage community? so, let me see if i have it straight... the slaves that built the pyramids were the pillow biters... ?? or the butt pirates?
Wed 26 Nov | sgf | There can't be any offense in words that are not being directed at or applied to any people.
Wed 26 Nov | no name | You're right, so how were these words chosen and who did the choosing?
Wed 26 Nov | Ken | I want to know what terms they propose to use instead-  "master" and "slave" seem to be more descriptive than any I can think of.  It would seem that any terms you could substitute would still involve the concept of slavery, as that is exactly the relationship we are describing.  Slavery is offensive when you are talking about people.  Is the concept just as offensive in the context of inanimate objects?  If it is, then what is the alternative?  Forbid manufacturers from building systems which embody this type of relationship?
Wed 26 Nov | no name | Primary -- Secondary springs to mind.
Wed 26 Nov | Bored Bystander | 'Master' and 'Slave' relationships in computer hardware are a characterization of the fact that one party in a multiplexed (multiple member) connection will have de facto control of the communications from time to time. IE: one network card will tell other network cards when to transmit. One card on a bus will arbitrate communications with other cards on a bus. The words 'master' and 'slave' are vivid anthropomorphic analogies used to imply exactly what they mean - one entity in a multiplex controls the other entities. Other terms ('controller' is the only one that comes to mind) would invariably be weaker in meaning. For someone ignorant of electronics practice but schooled in the art of whining - legal remedies and grievance for their own sake to actively look for stuff like this tells me that the civil rights movement is absolutely bankrupt and that race relations are in the toilet. This is yet another reason that I despise 'diversity culture' as the hypocrisy of talentless, legalistic morons who have no other card to draw. The people who are most offended by stuff like this need to get real jobs and concentrate on adding value to society, not being professional crybabies.
Wed 26 Nov | no name | Boring Bystander So who coined the terms? I'm sure someone with your vast knowledge could enighten us.
Wed 26 Nov | pupos | Bored: wow... you despise the culture of diversity? i was with you until i read that part. you sure you mean that? if so, i'm going to make a point of skipping all your posts in the future. is your real name Rush?
Wed 26 Nov | Alyosha` | 'Legal remedies and grievance for their own sake to actively look for stuff like this tells me that the civil rights movement is absolutely bankrupt and that race relations are in the toilet'. I'd say the civil rights movement has done a lot of good since the 1960s. There's a theory in conservative circles that wild economic growth and increasing inequality of wealth go hand-in-hand -- well, I'm willing to submit that you can't have significant civil rights progress without also increasing the number of easily-offended crazies out there. I'll repeat ... don't let a few bad apples spoil the lot.
Wed 26 Nov | RocketJeff | >> Primary -- Secondary springs to mind. It might 'spring to mind', but it's wrong. It's not a function of which one is first or second in order, it's a function of which one is controlling the other. Primary/Secondary doesn;t express this relationship accurately. >> Anyone who can't grasp the offence in master\slave has never been a member of a culture or community of slaves. And how many people in LA have been slaves? Except for a few people (refugees from foreign s*itholes), there are no former slaves in LA - there are people who's ancestors several generations ago were slaves. If some of them are still acting like they are part of a slave culture, they have bigger problems then this...
Wed 26 Nov | Dennis Atkins | Personally I think the devices should be called "Architect" and "Brickie Coder".
Wed 26 Nov | no name | This is staggering. The phrase is derived from servitude in the context of human beings. Only recently, historically speaking, was the term seconded to the computer or, as our esteemed BB points out, electronics industries. The connotation is that of complete control of one human being over another and in the context of hardware, somewhat apt. This does not, however, make it manditory. IDE1 - Primary - Secondary...
Wed 26 Nov | Simon Lucy | Surprising as it might seem, slavery was not invented in America. Slavery hasn't just happened to people in West Africa transported to the Americas. All peoples have been enslaved and all peoples have been slavers at one time or another. There are people who are enslaved right now. If its wrong to use the noun 'slave' to denote a piece of hardware or a process in relation to other pieces of hardware or processes then it is wrong to conjugate verbs; use nipples in water pipes; mention the diminutive of cockerel; execute programs; terminate processes; whip MPs into voting; lash someone with your tongue and abort a procedure. If anyone so offended could come up with as succinct a pairing of words as master and slave that could describe the same relationship I'm sure it could become popular.
Wed 26 Nov | Alyosha` | To The Poster Without A Name: Would 'master' and 'servant' be more acceptable for you? Or how about 'capitalist' and 'wage slave'?
Wed 26 Nov | sgf | How about: 'Unit which respectfully and benevolently issues directives' and: 'Equally esteemed unit which performs directives, although capable of self direction if desired.' Is that PC enough?
Wed 26 Nov | no name | I'm not the least bit offended by the terms but I can certainly see that someone in Alabama would be. Let's call a spade, a spade. For the ironically impaired, I don't want to gyp you out of your indignation, that was meant to illustrate the point. Damn, now the gypsies will be pissed. Ah, Fuck 'em.
Wed 26 Nov | NathanJ | -- The words 'master' and 'slave' are vivid anthropomorphic analogies used to imply exactly what they mean - one entity in a multiplex controls the other entities. Other terms ('controller' is the only one that comes to mind) would invariably be weaker in meaning. The people who are most offended by stuff like this need to get real jobs and concentrate on adding value to society, not being professional crybabies. -- Controller is just as good to describe the relationship. To me the term master/slave implies that the master tells the slave what to do, but doesn't do the work itself. When you look at a master/slave relationship with hard drive it really isn't a master/slave relationship at all. I think LA went overboard on this one, but I always think it's funny when people are complaining about other people complaining.
Wed 26 Nov | Malta | Could we then use pimp and ho instead?
Wed 26 Nov | no name | Now you're on to something...  I would prefer Redneck and Trailer Trash, but that's me.
Wed 26 Nov | Malta | Slavery is alive in well in Africa so obviously it doesn't take evil white people
Wed 26 Nov | no name | Nazi -- Jew or Salad -- Cream Guess you had to be there.
Wed 26 Nov | Matt Latourette | 'What on earth do they make of male and female connectors? :-)' It's ok that we have male and female connectors, but it's definitely a problem that they have multiple pins and sockets and participate in 'Daisy Chains.' These polyamorous peripherals undermine traditional values and contribute to the destruction of the nuclear family. We also have to stop the escalation of violent acts committed every day by systems administrators. In their youth, they used to just peek at and poke addresses in memory. But now, these bullies routinely kill processes and tar files (although they do at least refrain from feathering them).
Wed 26 Nov | Dennis Forbes | I find the subtext of the comments by no name fascinating - there is an implied suggestion that "white man" invented the concept of slavery, the terminology, and was the only implementation agent. How positively ridiculous -- Slavery has been around since the dawn of human time, and has occurred as intra-race slavery as often as inter-race. Erasing all mention of it, or use of it in terminology, is the pinnacle of absurdity.
Wed 26 Nov | no name | Bzzzt! What is positively ridiculous is you can't grasp that it has nothing to do with skin pigmentation. I never claimed that white men invented slavery. It has nothing to do with black or white, it has to do with context. In the context of the Southern United States, Master Slave has a connotation that can't be ignored. You can bleat all you want that it doesn't but then why the controversy. And for the record, I am neither black nor American nor male.
Wed 26 Nov | RocketJeff | >> And for the record, I am neither black nor American nor male. And I doubt if most of us care - most of us know that having an absurd opinion isn't limited to a single race/nationality/sex.
Wed 26 Nov | no name | Touche' I simply can't counter that point. I retire defeated.
Wed 26 Nov | . | I'm with Mr Blank on this one. To quibble about such common names seems trivial, but they do have powerful connotations. I see no reason why we shouldn't use less controversial terminology. I doubt there was good reason for choosing those terms originally. It was probably by someone with poor literacy who couldn't think of anything better.
Wed 26 Nov | no name | Mr. -  MR.  now I am offended. <g>
Wed 26 Nov | Dennis Forbes | 'it has nothing to do with skin pigmentation....In the context of the Southern United States, Master Slave has a connotation that can't be ignored.' It has nothing to do with skin colour, but it has to do with the Southern United States...ok... I'll let you figure out why those are contradictory arguments. As was stated - 'master' and 'slave' has gone on since the beginning of civilization (technically before). Indeed it _still_ occurs.
Wed 26 Nov | no name | Thanks Jim.
Wed 26 Nov | Alyosha` | 'In the context of the Southern United States, Master Slave has a connotation that can't be ignored.' In the context of computer hardware, Master / Slave might have a connotation, but if so, it can easily be ignored. If we were to excise from the English language all words that could possibly have powerful emotional connotations in some unrelated context, we may find ourselves stuck with nothing to say.
Wed 26 Nov | no name | And that would be double-plus ungood.
Wed 26 Nov | Cognitive Dissonance | 'Characterless political-correctness whiners and anyone who feels 'aggrieved' control our discourse. ' Nothing like fighting whining with whining. And somehow, despite their best efforts, the people who control our discourse didn't stop you from posting. A slipup, I guess. By the way, I disagree with banning the terms master/slave. But I don't attribute the action to some kind of politically correct cabal. Instead, I believe that every day, all across this great nation, people do stupid things that are not illustrative of some general principle that just happens to be on my hot list. Shocking, I know.
Wed 26 Nov | z | It is not really too surprising that some nut case made this complaint. That doesn't bother me much. What is really depressing is that some 'Los Angeles officials' went along with it and requested the change. Don't these 'officials' have any real problems to be concerned with? If the 'director of the affirmative action office' spends his time being concerned about offending machinery, or offending people who anthropomorphize machinery, then I'd say he needs to get a life or at least a real job.
Wed 26 Nov | z | Meanwhile, noting the link to other "oddly enough" stories down at the bottom of the linked page, is anyone going to sign up to try the Orgasmatron?  And does anyone remember the relevant Woody Allen movie?
Wed 26 Nov | Jack of All | sgf - How about: 'Unit which respectfully and benevolently issues directives' and: 'Equally esteemed unit which performs directives, although capable of self direction if desired.' You just made me spew coffee out my nose man!!!
Wed 26 Nov | Jack of All | and I mean "man" in a very non-gender specific kind of way...
Wed 26 Nov | Steve P | Blank: That's got to be the perfect one-liner for this discussion. :)
Wed 26 Nov | Alexander Chalucov | > We also have to stop the escalation of violent acts > committed every day by systems > administrators. In their youth, they used to just peek > at and poke addresses > in memory. But now, these bullies routinely kill processes > and tar files(although they do at least refrain from > feathering them). However, they gzip them. We might not understand what this exactly means, but it sounds even worse then feathering.
Wed 26 Nov | z | Proposal for alternative terms: 'PHB' and 'Dilbert'. Or maybe that's what we call them when they don't meet requirements.
Thu 27 Nov | no name | 'knee cap them; take them out back, shoot them, feed them to the pigs' You got to starve the pigs for a few days, then the sight of a chopped-up body will look like curry to a pisshead. You gotta shave the heads of your victims, and pull the teeth out for the sake of the piggies' digestion. You could do this afterwards, of course, but you don't want to go sievin' through pig shit, now do you? They will go through bone like butter. You need at least sixteen pigs to finish the job in one sitting, so be wary of any man who keeps a pig farm. They will go through a body that weighs 200 pounds in about eight minutes. That means that a single pig can consume two pounds of uncooked flesh every minute. Hence the expression, 'as greedy as a pig.'
Thu 27 Nov | tapiwa | Political correctness is the natural continuum from the party line. What we are seeing once again is a self-appointed group of vigilantes imposing their views on others. It is a heritage of communism, but they don't seem to see this. - Doris Lessing, 1919
Thu 27 Nov | the artist formerly known as prince | Actaully a team called the "WASPS" would work
Fri 28 Nov | z | Speaking of teams: http://www.fightingwhites.com
Fri 28 Nov | Wolf | Speaking of pig farmers: http://archives.seattletimes.nwsource.com/cgi-bin/texis.cgi/web/vortex/search?searchType=date&period=archive&maxReturn=100&skip=0&source=search§ionID=&query=Pickton&Go.x=12&Go.y=12 The top story should give a good overview; read chronologically for the full effect.
Fri 28 Nov | RocketJeff | Unfortunately, the Seattle Times site requires registration.
Fri 28 Nov | Wolf | Maybe try: http://seattlepi.nwsource.com/search/pisearch.asp?rank=date&matches=250&UserQuery=Pickton&x=28&y=4 Maybe no registration; I don't remember. Read item #3 for roughly the same info as above.
Fri 28 Nov | Simon Lucy | I thought anthropologists studied human societies rather than bone fragments.
Fri 28 Nov | tapiwa | Simon, I am with you on this one ... anthropology - The scientific study of the origin, the behavior, and the physical, social, and cultural development of humans. (dictionary.com)
Fri 28 Nov | Seth | I was going to avoid the whole issue by drawing pictures instead of typing words but became overwhelmed with guilt and self-loathing when I executed The Gimp.
ASP dynamic include problem | Wed 26 Nov | anon
I have searched Google for this and havent found any satisfactoy answer. I have an ASP file and I want to display contents of some other ASP files in it. I know you cant do I tried the FileSystemObject and OpenTextFile etc. But I cant seem to pass the file as somfile.asp?id=<%=value%> and Server.Execute doesnt work either. What other ways can I do it? Is it possible at all to include an asp file with Query Starings passed to it? Any help, pointers are greately appreciated. Thanks in advance.
Wed 26 Nov | Ankur | Depending on what you are trying to do, maybe: (a) use an IFRAME (b) build functions to pass that data around and then output what you want
Wed 26 Nov | n/a | use server.execute instead of include, includes are happen before running the code (well, not exactly but sort of). %< server.execute 'myfile.asp?param=' & cstr(thisValue) %>
Wed 26 Nov | anon | Thanks for suggestions so far. I am looking into