last updated:01 Dec 2003 19:23 UK time
|
 |
|
(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 |
| Wed 26 Nov | anon | And I don't know if Server.Execute can contain a Query String parameter. |
| Wed 26 Nov | r1ch | Have you checked the MSDN documentation on Server.Execute at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/htm/ref_vbom_seromexe.asp
It says that queryStrings cannot be passed with Server.Execute but all of the current request context (session, request, response etc) is availble during execution of the called page. |
| Wed 26 Nov | Hector | Don't use querystring arguments.
Since the include directive essentially pastes the code of the included file into your current file, the code can see variables from the main page. You could declare and assign a variable in the main page and reference in your include file.
<%
Dim MyParam
MyParam = 'Passed argument'
%>
|
| Wed 26 Nov | anon | I did check the MSDN documentation on Server.Execute and Query Strings. I am trying the approach of setting the varables in the main file. Thanks for all your inputs so far. |
| Wed 26 Nov | anon | Thanks for the help so far.
I can do this with Server.Execute and pass the parameters by defining application variable for e.g Application('var') = 'value' in the main file, and using that application variable in the called file.
Thank you once again. |
| Wed 26 Nov | r1ch | Be very careful using the Application object that way - it has application wide scope so you could get concurrency problems which would cause values to be transfered between requests - for example, if you page 'a.asp' executing page 'b.csp' and passing values in 'var' :-
user1 requests a.asp and it sets 'var' to '1234'
user2 requests a.asp and it sets 'var' to '5678'
b.asp is processed for user1 ('var'='5678')
response is returned to user1
b.asp is processed for user2 ('var'='5678')
response is returned to user2
Instead you should be able to access variables locally declared in a.csp in b.csp - these will have request scope and so concurrency shouldn't cause problems. |
| Wed 26 Nov | Matthew Lock | I had an application in ASP once that need to dynamically include code. It's not actually possible to do that in ASP as the include happens before the ASP code is interpretted.
The solution I used successfully was to use a kind of callback system. It's pretty complicated and long winded. If you are interested I will post the details here. |
| Thu 27 Nov | Gavin van Lelyveld | You are trying to use an ASP page like a function and its querystring as parameters, so rather put your code into a function (or many) and call that function.
Maybe that doesn't make sense for your implementation, can you explain in more detail what 'somefile.asp' does?
The iframe solution might work, but it is best used when you want to do some server side stuff without reloading the page client-side. |
| Fri 28 Nov | EastIndian | http://www.asp101.com/articles/michael/dynamicincludes/default.asp
Cheers! |
|
| Wizard-Style Web UI | Wed 26 Nov | John Topley (www.johntopley.com_ |
| Im creating a Web user interface for an internal application that comprises a sequence of pages that conceptually could be thought of as a wizard. All of the pages apart from the last one have a Next > button.
My question is, do you think I should include a < Previous button too or should I rely on users knowing about the browsers Back button? |
| Wed 26 Nov | son of parnas | Studies show, the reference i can't find, that people
prefer an application previous button to the browser
button. |
| Wed 26 Nov | Matthew Lock | This may be helpful:
'The Back button is the lifeline of the Web user and the second-most used navigation feature (after following hypertext links). Users happily know that they can try anything on the Web and always be saved by a click or two on Back to return them to familiar territory.'
http://www.useit.com/alertbox/990530.html |
| Wed 26 Nov | Matt Latourette | I'd say include the "previous" button. For one thing, the user shouldn't have to move their mouse way up to the "back" button when it's already hovering over the "next" button and the "previous" button would be located right next to the "next." The other reason is that with web apps, unless you explicitly include a "previous" button, the user doesn't know whether it's ok to use the "back" button. There are enough poorly designed, brittle web apps that take a dive whenever someone uses the browser's navigation features for users to have learned to be wary of doing so. |
| Wed 26 Nov | Lou | Agreed, so many applications with POST style interfaces will break on a back button, so including a previous button sends the message that "this is okay". You'll have happier end users. |
| Wed 26 Nov | Just me (Sir to you) | You can include a previous button, but that will not mean people will use it. In our apps we found early on that may users hit the browser's back instinctively, even when they have noticed the presence of an in-page button for that purpose.
So make sure your 'wizard' can handle 'back' as well. |
| Wed 26 Nov | John Topley (www.johntopley.com) | Thanks. I'll include a Previous button and check that the Back button works. |
| Wed 26 Nov | Brad Wilson | Let me just say... Back buttons are much much much much much much much harder to deal with than they seem at first. Good luck, it's worth making sure everything is "back button friendly", but don't be surprised if you end up totally screwed by the back button... |
| Wed 26 Nov | John Topley (www.johntopley.com) | Thanks Brad. It's okay, I'm using Struts and that takes care of everything for you (yeah right!)
I am getting used to considering how a page will be set up if it's arrived at from the page after it, as well as the page before it. |
| Wed 26 Nov | pupos | just to be slightly redundant and slightly snarky, Jakob Neilsen is dead wrong there:
'Users happily know that they can try anything on the Web and always be saved by a click or two on Back to return them to familiar territory.'
seriously, that's a crock of baloney. as someone already pointed out, users with half a brain are already trained to tremble in fear at the thought of clicking a back button on anything that isn't an HTML file.
anyone who doesn't have that pavlovian response yet is like those dogs that just sat there and got electrically shocked when they had the option to walk away from the electrical shocker. learned helplessness.
i once had to request a refund on an amazon order because i had naively typed ctrl-n so i could shop around their store in two windows at once. so they processed my order twice, with no indication to me that they had done so. amazon! but i was an idiot to think they weren't idiots :) |
| Wed 26 Nov | Eric Debois | If the wizard is more than 3 pages I suggest pouring all the data into session variables.
Ive been doing something simmilar the last week and sessions, slow as they may be is really the smoothest way of dealing with this.
A filled in form should stay filled in untill the user edits it even if he skips 10 steps back in the wizard.
Well, if youve got 10 forms, perhaps it makes more sense to just pour them into the database and just put a flag into session to mark that the form has been submitted once. |
| Wed 26 Nov | pupos | yeh, session scope is the magic bullet. with low traffic no reason you shouldn't do that. anyone have an opinion on what degree of traffic begins to make session vars a bad idea?
personally, i recently ended up saving every page to the database. so when they click on a 'next' button it's really a 'save and continue' button. i like the simplicity of the save and continue approach, and session scope isn't needed. |
| Thu 27 Nov | John Topley (www.johntopley.com) | I'm using Struts with a session-scope ActionForm, so the fields do stay filled in. |
| Fri 28 Nov | Karel | With wizard or tab like WUI's i use a frameset with javascript array indexed by form element name. I initialize the frames form from this frameset array and upon submit dynamically create a form with hidden elements from this array and then submit via get or post. So you can happily tab around before submitting anything to the server.
Is this very 90's ? |
| Fri 28 Nov | Brad Wilson | The technique is fine, although the use of frames to accomplish it is the "90's" aspect you're worried about. :-p |
|
| Your Favourite Web-based Calendar? | Wed 26 Nov | - Roland |
| I am currently looking for a web-based calendar application. Really just a calendar, to coordinate a small group of about five people.
A quick search on SourceForge revealed about a dozen different applications with zillions of features.
Before clicking through all these demos, Id like to ask what you out there use, and what you can recommend? |
| Wed 26 Nov | hoser | me too, but I don't want to install/maintain a database. |
| Wed 26 Nov | Laurent | We use WebCalendar (http://webcalendar.sourceforge.net/) for a team of 10 persons since 2 years without any problems.
It is simple and robust, with just the set of features you expect from such an application.
As we are not experts in Web servers and databases, we used Easy Php for the installation on windows of the server , PHP and mySQL (http://www.easyphp.org/). Very easy to install. |
| Fri 28 Nov | Bill Tomlinson | If you wanted to keep it dead simple (in regards to setup and admin on your part), why not use Yahoo calendars:
http://calendar.yahoo.com
It looks like it might meet your needs. |
|
| Army v. Business | Mon 24 Nov | Eli Golovinsky |
| After reading through quite a lot of the material Joel posted on his site and a few of the conversations that take place here, I came to realize that although the problems discussed fit most businesses, they dont quite apply to my organization. I am a team leader of 12 programmers that are divided into 3 teams, and the organization around us is, well, big. This cumbersome organization I work for lacks basic flexibility and has a frustratingly complex and ineffective bureaucratic structure. But Im not here to wine about my job. Im here to actually ask for some advice.
There are a few things that are different at my workplace that set it aside from others:
1. I have no control over the hiring process. People just appear at the office doorstep, usually a long time after I requested for more personnel, and just enough time before I was expecting them, to catch me unprepared.
2. All new programmers receive a similar half-year training within the organization, which is, quite surprisingly, quite good. None of them have any degrees. Theyre about 19 years of age when they come, so they need a lot of tutoring and mentoring, even (or maybe especially) if they are the hyper-geeky-hackery type of people.
3. Programmers cant leave. Not on their own free will, and not on mine. I cant leave either, but thats another story. I can, if I really want to, have them transferred somewhere else, but that wont do me any good, because I wont get any more programmers or any less work to be done. So were stuck with each other.
4. Programmers cant leave, and therefore keeping the morale up can be a tedious task sometimes.
5. Programmers leave on a pre-determined date, usually a few years (3 to 6) after starting to work on the project. So there are no real old-timers that know all the ins and outs of the system. Soon after getting that experience, they leave. Newcomers cant get the best training, because the best people to train them are also the best people to write code / design, and due to the relatively high rate or replacements, if all the old-timers do, is training newcomers, we wont be able to produce a single line of code.
6. Buying things, especially software, is such a lengthy process that I often find myself deciding in favor of writing code for something that I could buy just because 3 months of development using a 3-person team is twice as fast (and cheap, as time is my only resource) as going through that bureaucratic mess. Again.
7. There is no money issue. The organization doesnt earn money, it doesnt spend money. The project Im working on has a budget, but I can’t spend it on anything useful, so – no money.
8. There is no money issue, so I have no influence on the programmers salary and any economical incentive is out of the question.
If I didnt care, everything would be much simpler. But I do. I care, and although there is little to be gained if a project is successful (aside some respect from peers and managers), I try to manage it the best I can. And its quite a challenge.
These are the main problems Im facing. There are others, but traditional project-management techniques can be used to resolve them.
Ive been a programmer on this team for 3 years, and then was promoted to the position of team leader. Ive been doing this for half a year now. You could say I lack a great deal of experience. You would be right. That is exactly why Im trying to read as much material on the subject as I can and discuss things with as many people as possible.
I wont go into describing the methods I try to make my team work and be productive. I want to hear your thoughts first. With some luck this will turn into a considerable discussion and all the gaps in my story will be filled over time.
Your thoughts on the subject are most welcome. Any thoughts. Just dont tell me to pack the picture of my dog into a nice brown carton box and leave (hell, I dont even have a dog). Thats no way to resolve a problem. I really do think that frustration aside, what we have here is a management challenge. Which I want to tackle. With your help.
Gooli. |
| Mon 24 Nov | h | Has "the Russian front" lost its motivational value? |
| Mon 24 Nov | Eli Golovinsky | It's complicated to make programmers believe that a HR management software they are writing will help us win the next war. |
| Mon 24 Nov | Dustin Alexander | Eli,
Interesting. Well social reward, in the deeply satisfying and not in the 'oh a card and balloon' sense, is my first response to how to handle this. You simply have to create an environment of camraderie. You are trying to gel the team, and that is about all you can do given your situation.
Read Peopleware. Its a good book that might help you out. Demarco and Lister are good guys, despite their fetish for office furniture. :) |
| Mon 24 Nov | Dustin Alexander | Its not about convincing them that the software that they are writing will help them win THE war. You have to convince them that it will help win THEIR war.
Break down the system into a tasks roadmap. Adjust it daily or weekly to show overall progress of all elements in the software and put it where the team can see it. Take a few breaks and get the guys together to chat about their lives, why they are into computers, etc. Have regular BS meetings, but also talk about the project. If you can get passionate about what you are doing, you will help them get passionate a lot easier. Come up with inside jokes, let the guys express themselves. The best you can do is create the kind of environment conducive to free thinking, donut munching research geeks. The rest is up to the team. Sadly, the type of environment you are in may be the exact opposite of that required to gel a good team. |
| Mon 24 Nov | Must be a manager | Eli, maybe you could have a talk with other units that have similar challenges, like the various logistics and support units. They often have very good programs for establishing the importance of the work that people do, and rewarding it and motivating staff. |
| Mon 24 Nov | www.marktaw.com | Interesting advice from the 'interview like a lawyer' guy ;-).
By the way, when is :-) making it into Websters?
Set up incremental goals, and reward them for reaching them. Turn good development into a game. Wasn't there a thread on paintballing and team building? Set up Doom (or whatever game is in vogue) tournaments after hours one day a week. Then take the lessons you learn from the game tournaments and apply them to work. Whichever team complete their tasks and with the fewest bugs takes the prize. Keep track on a score board the same way you would a tournament.
Cheesy? maybe, but friendly competition is probably better than the real adversarial relationships that can build up over time. It'll probably also break down the traditional roles and get ideas flowing more freely. Then it becomes about getting it done the best way possible rather than just getting it done.
If it doesn't work, you can try again in 3 years when you get a new batch of guys. |
| Mon 24 Nov | Dustin Alexander | The icnremental goals part, I think, is the most important. There is satisfaction in seeing you are getting a thing done, as opposed to feeling you are trying to roll a rock up a hill. You'd be surprised at how well people respond to the perception of progress, even without a related reward. |
| Mon 24 Nov | Dustin Alexander | And, Mark, if you look closely, I have added the smiley to the dictionary. Its just not in your edition yet. Its outdated. Time to buy a new 'Dustin' friendly one.
Interview like a lawyer, hmm. I'll probably be getting crap about that the rest of my life.
...
...
;-) |
| Mon 24 Nov | uncronopio | Some ideas:
1. Write a small, simple document, stating the normal procedures, coding standards, etc... summarising the way things work in your team. That will help newcomers to fit quickly in the team. That will be helpful to capture the common knowledge of the older members of the team before they (and you) leave.
2. You sound very committed to your work, so I hope you can share your enthusiasm about the work you are doing. It always help to have an enthusiastic leader; I find it quite motivating.
3. Have clear milestones and celebrate when you achieve them. Just don't work for half a day and go for a meal together (or just give a free day period).
4. You can reward members of your team giving them either more responsabilities (and the opportunity to learn more/different things) or allocating them to more interesting parts of the projects you manage.
5. Rotate old timers on training. Each of them could spend half a day per week training newbies. In that way nobody feels that is just wasting time for very long periods.
6. Make clear to members of the team why they are sometimes reinventing the wheel: you can't afford to get software on time, but you are good enough to develop in house whatever you need. If they are young enough, they will feel proud of belonging to a resourceful team.
My $0.02. |
| Mon 24 Nov | Joel Spolsky | Oh boy. If I remember correctly, the army is full of excellent tricks to motivate 18 year olds. Talk to one of the commanders of a basic training unit and you'll learn them all.
One easy method I can think of is the Tough Love method.
Spend a few weeks screaming at people. Nothing they can do is right. Make them stay in nights and weekends fixing little things.
After a couple of weeks, start dribbling out small amounts of barely noticible praise.
When I was at approximately week 3 of basic training, I would have done >anything< to get the drill sergeant to mutter 'not completely terrible' under his breath. That was the closest thing to praise we had and we lived for it. |
| Mon 24 Nov | www.marktaw.com | Now that you mention it, that DOES sound a lot like the military... no control over the hiring process, you have to deal with people who will be with you for a given period of time, and so on.
Now, you discussed the situation that lead to your problem, but you haven't actually discussed the actual dynamic you're trying to change. Or if you're trying to improve your leadership skills, or what. |
| Tue 25 Nov | Steve P | Joel: Sounds a bit like Stockholm Syndrome to me.. :) |
| Tue 25 Nov | www.marktaw.com | And that's bad because? Just because you give Stockholm Syndrome a name, doesn't mean the underlying psychological principle doesn't work in other environments, or that they're permanently rooted in negative and manipulative environments.
Boot camp and fraternity hazing have a lot in common and both induce a feeling of loyalty. Boot camp is usually looked on from the outside as a positive thing, while fraternity hazing is often seen in the negative.
Most of these things are the glue that hold our society together, and only become a problem when they're specifically used for negative purposes, like unscrupulous sales tactics, or as you pointed out, Stockholm Syndrome. |
| Tue 25 Nov | Dan G | Yes, the idea of basic training is to get the recruit so scared of being berated and beaten on by his drill instructor, that he will do anything to prevent this from happening, eg kill the enemy |
| Tue 25 Nov | www.marktaw.com | Dan, that's a very limited view of the world.
What's the purpose of fraternity hazing? So that the potential candidate is so scared of his brothers that he goes out and gets laid? |
| Tue 25 Nov | _ | Mark, what do you think fraternity hazing is for? It is to break down your former code of conduct and instill a new fraternity-centered code of conduct. Such thatt you give preference to your frat brother when the bank is hiring. Or so you don't turn your frat brother in when he rapes someone. Did you think group nudity, alcohol poisoning, cow tipping, and paddle spanking served some other, more holier purpose? |
| Tue 25 Nov | www.marktaw.com | It seems I'm fighting an uphill battle here.
Adversity brings people together. You'd feel the same camraderie for people you'd worked on a particularly difficult project with, or survived a notoriously harsh professor at your university.
However the purpose of the harsh professor wasn't to cause kinship among his students.
This is probably a basic human instinct that helped us survive, say, the Ice Age, or Dinosaur attacks (I'm being anachronistic, I know). It's also the force that keeps immigrant communities insular, and allows them to trust each other almost implicitely, even when the other person is a complete stranger who just happens to be from your country.
It seems, though, that people here have such a single minded hate of fraternities and the military that they can't see past their own prejudices to a wider and more profound understanding of the world. |
| Tue 25 Nov | Simon Lucy | Well it needn't be so overt as screaming at someone that they couldn't code the terminating condition of a loop to save their life.
There are other ways to build teams as well. To identify a common enemy, usually 'Them', or a corp d'spirit.
One method I've employed is to create a background project that had nothing to do with what was needed to be done, where time had to be stolen, either from their personal time or in some slack time because they were waiting on someone or something to happen. The background project was for the whole group though and there was no stratification as to who was in charge or responsible.
It has to be interesting enough to encourage them without becoming a drag on the main issues. And sometimes remarkable things would pop up that could be used generally. |
| Tue 25 Nov | Frederick Granite | What's anachronistic about dinosaur attacks? Dinos are nasty little buggers with sharp teeth. |
| Tue 25 Nov | John C. | Eli, is it really that hard to convince programmers of the value of what they're doing? As a civilian, I've always been led to believe that one of the great strengths of the U.S. armed forces (in addition to overwhelming /force/) is its logistics. I mean, all the fancy expensive hardware doesn't do much good if you don't have enough diesel to keep the tanks running and the planes in the air, plus the people to keep equipment serviced, the troops fed and watered, etc.
I would tend to think that anyone who went through basic training would have a pretty clear understanding that wars are won not just on the front lines, and that those admittedly un-sexy HR and resource-management systems can literally contribute to the life or death of their fellow soldiers. (Am I being melodramatic?)
That said, I can only imagine what the bureaucracy must be like at times in an organization that has literally millions of 'employees' :-) |
| Tue 25 Nov | www.marktaw.com | Simon, could you give me an example of this background project? |
| Tue 25 Nov | Simon Lucy | The most successful one I had was with a Support Department I managed. Granted its a different kind of department but the problems of tedious code maintenance can be similar.
I gave them the challenge to produce a digital animation for an upcoming computer show that happened to be our biggest of the year. This is when there were very few tools to do this.
They storyboarded it, created the graphics, wrote an animation, page flipping app and along the way wrote a vector program to calculate the path of the Data Pac (basically a rectangular box) to move from background distance to foreground in a nice looping arc.
The whole animation lasted about three minutes and occupied them on and off for around 4 months, all of the time was either their.
About all I did was give them the space to do it and make suggestions, most of which they ignored I think. The guy that wrote the vector program was actually the Librarian who spent most of his time duplicating ROMs and disks.
It was a considerable success.
Other projects with other groups have been less ambitious and usually along the lines of 'I hate something or other about some internal process and can someone rid me of this troublesome priest'. So sometimes they can get a bit obscure.
It has to be at worst tangential to the everyday work and at best completely recreational. It could even be some version of Quake using the organisation and building as the setting and blowing away the CTO/CEO. :-) |
| Tue 25 Nov | Eli Golovinsky | Not all armies, or rather sections in the army, are the same. What works for combat boot training can't work for a team of developers. At least I don't think so. For this to work, my 'code-troops' would need to live together up each others' butt for long periods of time without vacation,
preferably in tents, and all the other teams in the surrounding environment would have to be using
the same no-positive-feedback techniques. None of those can be achieved, and in any case, I don't think that this is the way to get creative work out of people.
I wanted to get a feel of the conversation before I said anything about the real things I am trying to resolve. I wanted to see what would seem the most important issue to deal with for you guys and it seems that the entire thread concentrates on the motivational and teamwork issues. Those things actually work out quite alright in my team. I am not that much older than my programmers, and I keep and open-door-with-a-smile policy, so most feel comfortable (or lie to me very well :). I try to stay out of subteam leaders' hair as much as I can and let them run things as they see fit and that seems to work fine. Besides, I myself am an old-timer, so I know enough technicalities to be able to manage things through knowledge of what I am doing.
One of the more complicated problems I'm facing is the frequent exchange of personnel. If a newbie stays on the project for the entire 6 years of his/her service, their motivation descreases over time, because there is a limit to the diversity of work in a single project. If, however, I want to start out with a more experienced programmer, I can get him from, say, a parralell project, but for at most 3 years (they've been at the other project for 3 years, and have another 3 to go).
Like any other project, there's a need for good coders, good designers, and good subteam leaders, and one person can't really do more than one thing effectivelly. The problem is that many times the same person is the best to do all three.
Coders are the easiest. With enough management resources and a good designer you can get almost anyone to code almost anything, as long as it is limited to a particular platform/language. But things are rarely that simple. Usually there are a few technologies involved, often connected in some bizzare way, and other skills are required. I have noticed that fresh-out-of-university graduates can usually write fantastic code - on a piece of paper. For some reason, probably due to the teaching techniques used in universities, many lack the most basic understanding of the computer as a whole and when it gets to actually implementing things using real API's, they get stuck. It's like knowing how to caculate the heat produced by the explosion in an internal-combustion engine and not knowing on which end of the car the enigine is.
So, most of the time I start with people who can write reasonable code, but have little overall understanding and whose computer knowledge is generally narrow.
Let's get to the concrete issues then.
A : How do you turn a regular person into a computer geek?
How do you define a power-user? How do you get people to the point of actually being one with the computer and not fighting a constant battle against it? It's a bit like teaching my mom to use a word processor, but on a completely different level. Unforunately I stumble upon this problem more often with women, than with men. I have no idea why is that, but it just is. Maybe the ladies here
might have some insight on this, or at least explain in great detail why that remark makes me a shovinist pig.
B : How do you train a good designer?
A good designer is someone with diverse experience, knowledge of multiple techonogies, with a solid coding background and a genuine interest in the field. A person who reads magazines and websites, who is as fluent in C++ as he is in English (or the appropriate language for the country) and who is willing to stand on his own in a technical debate.
There is a cerain amount of talent that is involved here, and not everyone can be everything. But I strongly believe that most of those things can be taught. In most environments you can just hire someone who is already all of the above. What I need, is to take a programmer, a good one at that, and divise some ingeneous scheme to make him a good designer, and do it fast. If I can't do it in
under 6 months, it's not going to help me much.
I'll leave the team leader training to a later discussion as it is, in my view, much more intuitive then the training for the previous two roles.
C : Now we get to the knowledge preservation problem.
It's like spec-writing, or flossing. Everyone knows that knoledge must be preserved regardless of the actual people that hold it, and noone actually does anything useful about it. In most organizations you can keep people working for you for a long time, so the problem is decreased. I, on the other hand, have a stop watch over my head. If I haven't preserved some knowledge and the
person is gone, so is the knowledge he had. The problem is that all the knowledge management techniques I am familiar with are very time consuming, programmer-frustrating and have a very short term of applicability due to the quickly changing environment.
Those are some real issues I am trying to find solutions to. There are others, but those are the most important, especially in terms of the future of the project. |
| Tue 25 Nov | Eli Golovinsky | John,
You are immensly melodramatic. People don't tend to think in terms of the good they are doing for their country. We live in egoistic times, everyone just thinks what he/she can gain personally. One of the things I find motivating is convincing them that one thing or another will actually boost their carier when they are discharged.
And I don't serve in the U.S. army, niether do I live in the US. It's some other country, but like I said, most armies are similar along the main lines. |
| Tue 25 Nov | Eli Golovinsky | Simon,
Although your idea is fascinating, I can't seem to wrap my brains around the 'how to make it work' concept.
If you give people something more interesting than their work to do, they'll do it. INSTEAD of doing their work. I don't see how you could have a side project going on a still keep the folks task focused and produce qality results on schedule.
People sometimes tend to do things that don't exacltly fall withing the main goals of their job (like playing Solitaire or writing long JOS forum messages).
Adding to the amount of that doesn't sound very promising. |
| Tue 25 Nov | Eli Golovinsky | Simon,
I'd actullay like to hear more about that common enemy thing. Do you mean the 'management' under 'THEY'? The customers? The competitors?
And what's that vague corp spirit everyone is talking about? Is it something that can be generated, or is it something that just 'becomes' as time goes by?
By the way, there is no competition. As there is no money. |
| Tue 25 Nov | Ted | re: motivation, I'm reminded of the following story (paraphrased best I can remember).
One day a villager happened upon a construction site where 3 stonemasons were busy at work. He asked the first stonemason he saw what he was doing, and the stonemason replied 'I am laying bricks'. He walked around to the second stonemason and asked him what he was doing, and the stonemason replied 'I am building a wall'. Lastly, he walked over to the third stonemason to ask the same question. The third stonemason replied 'I am building a house of God'.
Same task, viewed 3 very different ways. |
| Tue 25 Nov | Name withheld out of cowardice | Eli:
Why do you say we live in egoistic times? Do you imagine that in days past people were, on the average, more selfless? My limited study of history shows no indication of this. |
| Tue 25 Nov | Eli Golovinsky | No I don't. But egoism can take different shapes and some are less selfish than others. It is true, from my pespective at least, that there are less and less people who are motivated by some obscure ideology and would sacrifice something in the name of that ideology alone. And don't get me wrong, I have nothing against that, that is what true freedome is all about - acting the way that serves your own best interests. But it should be applied to the way we view motivation. I believe that you can very rarely use some distant global (even moral) goal as a motivation technique. We just all brick-layers, and we consider ourselves as builders of "a house of God" only if we are managing the whole thing. |
| Tue 25 Nov | Simon Lucy | On how to keep the background, reward project in its place:
Largely its a management issue and its pretty much why I didn't get deeply involved in the animation project (much as I wanted to), so that I didn't lose a sense of perspective.
Plus it was a self limiting thing, they knew that if it detracted from the main job in hand that I'd have to stop it. Now that's not to say that at some point someone didn't spend more time on it than they should, but if they did their work didn't suffer and overall morale rose considerably at the time.
So, as far as I was concerned it was a win-win. |
| Tue 25 Nov | Simon Lucy | 'Them' is any external group that affects the work of your group. It might be someone in a customer relationship, it might be a supplier relationship it might be a parallel department or organisation (Army v Navy).
Often the best 'Them' is at least 2/3 levels above in the heirarchy and somewhat dim and remote in the minds of most of the group. So in that sense they'd be handing you specifications or requirements and then require timetables that made acheiving those goals challenging.
For a while I worked in an R&D Group and then its sister Product Support Group, the latter was set up to criticise and challenge R&D, in some cases it would compete with it to solve a problem. The original heads of these groups cultivated an air of animosity between themselves personally, both groups tended to protect themselves but also on a personal basis interrelated fairly well.
There was an Us and Them, a counter balance.
Now because of that Us and Them, the groups created their own esprit de corp (use the right phrase this time, Simon).
This still has to be managed and to a large extent the senior managers have to maintain a fictional animosity because in the end you have to cooperate and you have reasonably similar goals.
Ray Noorda coined the term coopetition, a kind of amalgam between cooperation and competition. In his view it would grow the market if rivals cooperated over fundamentals and competed over delivery, price, functionality. |
| Tue 25 Nov | Simon Lucy | On ensuring that knowledge is kept when individuals may move:
In fact, the average developer group in a regular business is going to have more of a problem with the loss of knowledge than military groups where you know pretty well how long they're going to stay. Not that companies manage knowledge that well at the moment, but many developers spend no more than 12 months at a particular site or organisation.
Something like Fogbugz used as a knowledge gatherer can help, I write some specific domain knowledgebases, but the fundamentals are the same. Make it as simple to record knowledge at the time its discovered and make it even simpler to find it afterwards. It has to be viral.
The best place to collect knowledge is within the process itself, in software that's the application, in software development that's the Bug tracking software.
Not that all knowledge comes from a bug :-), but I think its important to collect more than just bugs in bug tracking; usage, behaviour, thoughts ideas, maintenance commentary and so on. |
| Tue 25 Nov | Dennis Atkins | 'We live in egoistic times, everyone just thinks what he/she can gain personally.'
Eli, John is not being melodramatic - you are being cynical. Perhaps this is the way you see things but it is a disservice to those who serve under you to assume they all have this viewpoint.
In the US military, this is generally not true at all. |
| Tue 25 Nov | www.marktaw.com | Simon's idea sounds better than mine, which is to have the new hires interview the people who are going to leave and create documents - according to some style guideline - of all the knowledge they have.
A : How do you turn a regular person into a computer geek?
Get them to love computers.
Simon mentioned Army v. Navy. Earlier I was thinking of robot soccer, are you familiar with it? Some of the best robotics engineers in the world try to design robots that can beat others in soccer, with no human involvement once the game started. Similar to the background project, can you get competing teams - and you only have 3 months to do this from when you're hired and it has to be in your spare time, to, say write a bot that will play Doom against the bot from the other team? Or build a computer from breadboard and a 9 volt battery that will literally fry the circuits of the competing team's computer?
Again, if you think it's too silly to use games directly, indirectly introduce them into the work ethic using real projects. Say, you want two presentations on how to proceed on project X or Y and the winning team's ideas get implemented. Of course you don't say winning either, you say you're going to form two committees to study the problem, and chose the best proposal. Then geniunely reward the team that one, nobody would write a good proposal if they were 'stuck' with the grunt work afterwards and saw it that way. Perhaps a level of ownership in the project, a legacy where their name is attached to it for all time in the documentation and commented in the top of the source code.
B : How do you train a good designer?
You negate the 'train' idea in your first sentance... 'A good designer is someone with diverse experience, knowledge of multiple techonogies, with a solid coding background and a genuine interest in the field.'
All of those things require time, which you don't have. So assuming you can't train 'fluent in C++' you want to train reading habits and debate skills. Wouldn't the best way to do this to be by devising debates that require extensive reading to support your claims?
Since you guys write all your in-house software, you can use pre-existing baises within your team (ASP v. PHP) to fuel debates. When you get a new project, tell them you want to know what language they want to implement it in, and you'll give them 3 days to research their position. Then pit the ASP people agains the PHP people.
C : Now we get to the knowledge preservation problem.
As I mentioned before, you can have the new hires write the documentation by interviewing the people who are about to leave, though it occurs to me that this would lead to a very sloppy job if the people involved are lazy.
I agree with Simon here, make knowledge preservation as easy as possible. In fact, bake it into the process. When someone works on a task, their task should be recorded, and their solution should be recorded a well.
You might see this as a tedious process, or you might see it as a way to reward your employees for the things that they do. Surely some people already in the organization will see this as an invasion of privacy akin to the dreaded time tracking, but if you acquire (or write ... again an opportunity for some friendly competition and glory) something like FogBugz and put tasks in there, and find a fun way to get everyone to use it, ought to take care of the documentation problem. Maybe people will start to feel good about crossing things off their to-do list, and if they interact with the business people who give the requirements both over the phone/face to face, and through this system, it's a chance for them to get direct recognition from those business people for their efforts.
Maybe you can build an ebay-esque 'coder rating' into it. Completely arbitrary because nobody will give bad feedback (unless it can be marked as private - for your eyes and the coder's eyes only), but a great way to get praise for your work. |
| Tue 25 Nov | Eli Golovinsky | 'Make it as simple to record knowledge at the time its discovered and make it even simpler to find it afterwards. '
I don't think that can be classified as knowledge preserving. What you preserve here is information, as in written text that no matter how easily accessible through a search engine is just not readily available in a person's mind to be used in a debate.
Without getting into the formal differences between knowledge and information (and I'm not too fluent in the formalities), I'd say that what is lacking here is the part where the information actually gets into the memory of new recruits.
You can't have them read the entire bug database. Aside killing themselves out of boredom, they will probably learn very little. |
| Tue 25 Nov | Eli Golovinsky | Joel,
You said something about a creative writing course for people who are not good engough at writing documentation/specs. This sounds like a solid idea that can take some of the downs of documenting out of peoples' minds. As with everything else I would have to try and implement a sub-version of such a course in-house. Any ideas on how to do that? Maybe read some Ayn Rand? :) |
| Tue 25 Nov | Eli Golovinsky | Dennis,
I assumed that the way the US military is portrayed in the blockbusters, as one big smoochy for-god-and-country idealogically devoted group, was far from the truth and probably more like things I am familiar with.
If I was wrong, then I was wrong and I appologize. |
| Tue 25 Nov | Eli Golovinsky | 'So in that sense they'd be handing you specifications or requirements and then require timetables that made acheiving those goals challenging.'
Doesn't sound like the kind of 'Them' I would like to use for motivation. Noone wants to do work for some people high up the ladder that usually have very little clue on what is really going on, and make (at least in the eyes of the programmers) very stupid decisions. 'Fighting' 'Them' might easily transpose into 'I'll show 'em, lets see what they do when I'm not on schedule!'.
A peer type of 'Them' is a much better choice, and the coopetition you mentioned seems to sum this up quite right. I was toying with the idea of letting each team choose a color, and create a soccer-like color fanatism. |
| Tue 25 Nov | Simon Lucy | Resentment of those that produce Requirement documents (and especially deadlines) is pretty normal. But you can turn that into a motivational good.
You have to stand in front of them and let them know that you'll protect them but you can only do that if they do their part. Its a fine line walking between what is possible and what is a fantasy and imparting a belief in the people that have to do the job to actually achieve it. |
| Tue 25 Nov | Eli Golovinsky | MarkTAW,
Wow, that's one long comment.
Using new recruits to properly document things that old-timers have done is actually a nice, workable approach. That way, you don't just store away information to come up at some random search, you actually make the newbies learn a particular subject to great depth. And there is less chance for frustration among the young because they are, hmmm, young.
As a matter of fact that was exactly what my fist task was when I joined this project. I had to reverse-engineer a few tens of thouthands lines of code and write detailed documenation about it. I hated my manager's guts for a very very long time, but I learned an enormous amount during those six months. BTW, that manager and me get along fine, now that I'm in his shoes and understand quite clearly why did he make that decision.
Games. Somehow integrating games into the workflow sounds odd to me, but I'm willing to give anything a try. I must say though that writing a Doom bot sounds extremely counter productive in the short term (it would never really be done on their free time). It may however prove very effective in the long term. Or not. They might get used to coding cool bots and games, and have no will whatsoever to write real code for real applications. But like I said, I'll give it some thought. It's an original enough idea to have a chance at being awesome.
Wow! A debate. That's one hell of an idea! I was always thinking along the lines of giving someone a task of teaching some subject, which, in turn, requires that he learns it extensively. But a debate is much more motivating. Put two teams (of one perhaps) on one subject, and let each come up with a solution. And then have a face-off. I like that. Another one to the list.
Didn't get your point on ebay raings. Do you mean allowing people to rate 'was that helpful' for each information piece, and then have a contest over the usefulness of someones writings? |
| Tue 25 Nov | www.marktaw.com | If you're uncomfortable with actually using games, use work in a friendly competitive way. Challenge them to refactor some code in their spare time - a legitimate work problem, but not one that needs to be addressed immediately.
Re: eBay ratings. If you implement a bug / feature tracking solution, why not tie a rating to each bug / feature? This is similar to Google Answers, now that I think of it.
I submit a bug or feature request into the system.
You accept responsibility for that bug or feature and work on it, and return to me a working solution, including the necessary documentation for someone else to work on it next time.
I close the ticket item AND leave feedback about what a great job you've done.
All of this is within the project management / bug tracking system. FogBugz meets eBay.
You get positive feedback for each piece of work you accomplish, and it encourages you to take on more responsibility because each positive thing you do is recognized.
This was along the lines of 'keep everything in a project tracking system and keep the documentation in there' but also with the added motivational system built in.
You do have to think, though, of the end of the year consequence of keeping such a public system. People will think their compensation and promotion prospects are somehow tied to it, and the person with the fewest (but most difficult) tasks will be afraid that he'll be overshadowed by the person with the most (but easiest) tasks. You could build in a difficulty multiplier to be fair, but at that point you're acknowledging that this is a performance metric tool, and the game kind of falls apart and becomes work. |
| Tue 25 Nov | www.marktaw.com | Now that I think of it, simply removing the positive / neutral / negative ratings and leaving a blank feedback field might be good enough to motivate some people, though keeping track of your wins as if it was a score in a football game, especially if it is tied to a reward (trophy? gift certificate? - anything that spells out recognition from your boss & peers) can make work more fun. |
| Tue 25 Nov | Simon Lucy | The Fogbugz example:
Yes they're recording information, but they also record knowledge. This situation came up, X happened, Y was done, etc, etc. It doesn't matter if its recorded more than once, in fact systems like Fogbugz and Bugzilla let you maintain strings of comments along with attachments and the rest.
As an example, if you look at the Bugzilla database for Mozilla and do a search for 'profile password' you'll find an issue with a long screed about the rights and wrongs of putting a password on a profile. Pretty much all the arguments for and against are reflected in it and the system and philosophical reasons for not doing it in the end are all laid out. |
| Tue 25 Nov | Cold somewhere in time | You have the easiest job in the world. Here's what you should do:
I) every morning shout at all of your subordinate, pick one and critisize him/her in a way that he/she would start sobbing.
II) Threat. Tell them that if they don't do what you're asking them in a specified timeframe, you WILL break their neck. You should at least break couple of necks to prove that you mean business.
III) Critisize them no matter what. If they accomoplish something, pretend as if it was their duty. NEVER EVER AWARD, IT WILL SPOIL THEM
IV) HAVE A QUATERLY PHYSICAL DISCPLINE. THIS IS EXTREMELY IMPORTANT. The'd know that you really mean business.
V) Make sure that you put more pressure on them when it's their birthdays or anniversary, etc.
Do this and you'll be a happy camper |
| Tue 25 Nov | Eli Golovinsky | It seems to me that this type of knowledge management is only beneficial in larger organization than the project I work on. Unfortunately I don't have enough influence on peer projects and I they don't seem to utilize those technics.
About two years ago I started collecting knowledge. It was my own knowledge at the time, but later it became an Outlook public folder with the cumulative knowledge of the entire project. I still hold about 90% of the articles there, but that's besides the point. It isn't used enough. Actually, most of the occasions people read something that is written there, it is because they asked me a question, and I have already written a solution to it there and told them to go look it up. Although it's been around for about two years, and I've been trying to advocate it's usage quite a lot, it doesn't seem to sink in, that a search there could save a lot of time. The main reason for this is probably its rather modest size. There are about 200 articles on various technical subjects in varying length, but due to the advancing technologies many of the pitfalls described there tend to get useless very quickly.
Having all the information about bugs, ideas and solutions in one easily searchable place can be a nice thing if people actually think that there is a chance in finding a solution or a reference to their problem. It seems that in a small organization it is difficult to turn the use of such a knowledge-base into habit. |
| Tue 25 Nov | Eli Golovinsky | Cold,
You can get people killing other people using those techniques, but in the bug-shooting business, I don't think those techniques will be aprporiate.
I am disregarding the possibly cynical nature of your post, because it is a concept that occured to me a few times, and many people seem to suggest it when they hear the word Army.
If you need to build a fence, and you are a very experienced fence builder with several dozens of large-scale picket-fencing jobs in your resume, and your employees are very young and illiterate - then you could use that technique. In our business, I need the input of the people that work under me. I might be SLIGHTLY more experienced then they are, but that doesn't mean I have all the right solutions. If I don't promote an open and free speech policy, I will have to make all the decisions myself, including the technical ones I might know little about. That will of course lead to development of really bad software and an incredible headache on my part.
So no, I won't shout at anyone saying 'Write that 'for' loop now, you have 20 seconds to do it!' |
| Tue 25 Nov | Cold somewhere in time | What? you expect bunch of newbies to give input? oh come on give me a break.
If you need to upgrade yourself, do it on your own.
REMEMBER, there's no such a thing as democratic team building in army. You gotta be harsh, extremely violent and yet blazingly sharp. |
| Tue 25 Nov | www.marktaw.com | You're right, getting a common knowledge base used is a difficult procedure. In the cacade of easy to find solutions to problems, asking someone is often the easiest. Witness the number of technical questions that could be Googled that get answere here.
When you Google something there's no gaurantee you'll find it in a form you can digest. At least in a forum you can ask follow up questions until you understand.
I'm surprised nobody has mentioned a Wiki, have you thought about a Wiki? |
| Tue 25 Nov | Eli Golovinsky | A Wiki. For some odd reason that word keeps popping up here and there but I can't seem to get a firm grasp of the concept.
But before I ask, I Google. Be back in a few. |
| Tue 25 Nov | www.marktaw.com | lol. A Wiki is a knowledge base that allows anyone to create a page, and anyone to modify or comment on an existing page. You can link topics and create overviews of categories with relative ease.
The original Wiki is on c2.com and pops up when you Google it. I also suggest you search the WikiPedia for an example of a well maintained Wiki.
http://c2.com/cgi/wiki?WikiWikiWeb
http://www.wikipedia.org/
I suggest you find one on hotscripts or sourceforge and install it and play with it as the best way of becoming acquainted with the concept. |
| Tue 25 Nov | Simon Lucy | Wikis are 'Ok' but they tend to be structured such that no one knows whats in there.
The comment 'It isn't used enough.' goes along with my original point about it being even easier to find the information than it is to record it.
Basically you get hard, it becomes a rule that if anyone has a question (whether its internal or external) then before they ask someone they go look in the Bible, if it ain't there they find the answer (or even if they don't, not knowing something is as important as knowing it), then they have to put it in the Bible.
Then you get the same peer pressure that happens here, 'I want to know about X and Mrs Mopp', gets the answer 'Google returns 100,000 pages on that'. |
| Tue 25 Nov | Dennis Atkins | Ah, well then.
To be honest, Eli, I think the reason your group is having morale and motivation problems is pretty clear, as is the solution. You must look within. |
| Tue 25 Nov | Dennis Atkins | 'Spend a few weeks screaming at people. Nothing they can do is right. Make them stay in nights and weekends fixing little things. After a couple of weeks, start dribbling out small amounts of barely noticible praise.' -- Joel on Effective Project Management
I found this to be a rather interesting comment made by Joel. |
| Tue 25 Nov | Cold somewhere in time | Dennis, I think you should go ahead and suggest
'Zen and the art of group maintenance' huh? |
| Tue 25 Nov | Christopher Hester | Front leaning rest always worked for me. who cares if they are programmers, they are still soldiers. |
| Tue 25 Nov | Dennis Atkins | 'What works for combat boot training can't work for a team of developers.' -- Eli
Eli, what you have said is absolutely true.
I think that fundamentally you have a bad situation there. In the US, research and development work is not done by privates with no background in research, recruited straight out of boot camp. The entire concept would be seen as absolutely absurd. Research is done by having contractors compete for bids and then require them to deliver functionality in return for glory and a OBSCENE cash payment. The contractors hire developers with experience and the very best contractors doing cutting-edge development hire lots of developers, giving them a subset of elite ones that can be put into skunk works projects where they define their own rules.
As it is, with a bunch of 19 yr olds who are unmotivated and blase and just 'doing their time', you are in the same position as a math teacher at an inner city high school trying to teach a 'special ed' class full of troublemakers.
The only person who has ever succeeded at such a task was Jaime Escalante (Stand And Deliver), and no one I know of has been able to duplicate his success.
I would read his book if I were you and see if you can get anything from it.
In particular, I think Joel's advice was absolutely imbecilic and I sorely hope he was jesting. |
| Tue 25 Nov | Eli Golovinsky | Wiki does sound a bit unorganized and uncontrollbale to me. And I don't see what advantage it may have over a FogBUGZ implementation or something similar.
Simon, getting hard in the way that you describe - that is something I can agree with.
Besides, it has just occured to me that two years aren't enough. This method must exist for a longer period of time, so that there would be things there that no-one knows about. As it is right now, I know all the articles by heart, and it doesn't do me much good aside saving some time when I send people to read there. |
| Wed 26 Nov | www.marktaw.com | Well a Wiki is somewhat disorganized, but you can create high level pages, and many Wiki's have built in categories so it's easy to categorize any page.
The advantage I see over a FogBugz type solution is that you can back-load data, or load data that doesn't strictly fit the problem / resolution model of a bug tracking system.
I would just guess that it would be easier for you to load your 200 document repository into a Wiki than a bug tracking system.
Philo uses FogBugz, I wonder what Philo thinks about it as a knowledge repository... Philo, oh Philo... |
| Wed 26 Nov | Eli Golovinsky | Cold,
Like I said, there are different armies with different perspectives on what are the most effective ways to motivate personnel.
Do you think that mere age is what makes someone worth listening to his advices? Anyone could give input, and there are quite a few 19 yr olds that have given great input along the way. Depends on the person and his capabilities.
There's no way I can do ALL the thinking for a group of 12, and they'll just to the keyboarding. I believe that giving the guys responsibility over features, and be accountable for them makes a much better team than in the way you suggest.
Dennis,
I never said that morale or motivation was the most important issue. I mentioned that it's a little complicated to deal with because you can't exactly choose who works for you and there are less ways you can encourage them, but that's not to say I haven't got that end covered. I can handle drops in morale and lack of motivation, which is a rare engough incident.
What I am looking for are ways to take a given group of people whom you don't choose and make them a better team. I have different folks. Some are amazing super stars. Some are not. Some think better on a broader scale, some write better code. Some are just downright average. What I need/want to do, is propell each and every one to the peak of his/her excellence. For that end I am looking for techniques to improve the leerning curve and methods for knowledge preservation.
There are amazing things you can do with a person that you may think is a very average programmer if you put your mind to it. |
| Wed 26 Nov | Eli Golovinsky | They are not unmotivated. But the environment I work within is unique, and so it requires unique solution. I am not trying to make the best software possible on a world scale (although I think we're doing quite well), I am trying to get the best results considering the situation. Like I said, morale isn't a critical problem, besides, some comments here gave me a few new tools to tackale it if it happens. |
| Wed 26 Nov | Eli Golovinsky | I've opened up this discussion to see what the industry proffesionals have to say about the rather unique situation I'm in. And that I did. You gave me much to think about, and a few concrete techniques to try and implement.
My views on the right way to motivate high-tech personnel in a military environment remain unchanged, and I strongly believe that harsh discipline isn't the way to go.
Thanks for all your input.
And thanks to the guy that along with some spammy emails sent me a reference to Joel's site. For some reason it has never turned up while Googling the net. |
| Wed 26 Nov | Entrepreneur | regarding BOOT CAMP comments.
Actually, when i went thru bootcamp, I always thought the reason the Drill Instructor was so hard on us was the COMMON ENEMY SYNDROME.
If you want a group to work TOGETHER, try creating an ENEMY for them to all oppose. It might be YOU or it might be the schedule or upper management.
Also, what would be the penalty if you worked slower?
Remember the consultant's motto: Schedule, price, or features? Pick any two.
Perhaps you should view this at a long marathon, not a sprint. If you worked slower and took more time for training your programmers, etc. perhaps the work would be more fun.
You need some breathing room to implement any of the suggestions made here. Having a less demanding schedule might help that. (Or, if the higher ups are demanding a schedule, maybe you should ignore them). |
| Wed 26 Nov | www.marktaw.com | Yes, in the environment you describe, what is the penalty for not producing? These guys have 3-4 years with you no matter what? Do they get fired or laid off ever? Does what they do here influence what they do after they leave you? |
| Wed 26 Nov | John | Take a look at the Agile programming techniques and Steve McConnell's Rapid application development book, and use short iterations (inch pebbles) so on one can get too far off track without it being obvious.
Using that approach I would set up two or more teams and reward the team that does the best. |
| Wed 26 Nov | Eli Golovinsky | There is no actual penalty for not producing. But most (though not all) of the people (me included) would like to make a career in this business for them, so beeing a part of (or leading) a well known and successful project, should have a very positive influence on the resume and career oporunities.
Most folks do feel obligated to do their job, and try to do it well. But when the age and lack-of-experience factor is considered, their best might just not cut it. So I want to train them, and do it as effectively as possible while gaining motivation assets along the way.
I don't think I need a common enemy to stimulate good work. We have a common cause - make customers happy. It's not the money that they'll pay us (they don't), it's the smile on their faces and the thank-you emails we get that make us get going. I sometimes use the technique of asking some high ranking client official to write an email of gratitude to the person who helped them solve a problem and did it well. If that official is a respected one (and I try to choose them like that for that kind of request), it can make someone feel a great deal better about him/her and their work. |
| Thu 27 Nov | www.marktaw.com | Eli, Above (http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=90355) you state your goals:
1. 'take a given group of people whom you don't choose and make them a better team'
2. 'propell each and every one to the peak of his/her excellence'
And you say your methods for doing this are:
1. 'techniques to improve the leerning curve'
2. 'methods for knowledge preservation'
I think this is the first time you really state your goals in this thread, and trying to inspire your workers produce at their peak is a noble goal. Though I do have to take contention against your methods. Rather than making assumptions about what the methods for getting a group of people to perform at their peak, why not ask specifically how to achieve your goal?
To this end I've created a thread (http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=90659&ixReplies=0) that asks just that. Though, my focus was more on the individual than for the group, feel free to redirect it. |
| Thu 27 Nov | DanG | Mark, to go back to my post way above and in response you to your reply - huh? I love the armed forces, was in the final stages of recruitment myself until I got an illness that permanently disqualified me from joining.
I was simply paraphrasing a vetern whom I'd talked to about the subject as it seemed appropriate at the time of the post - I don't see how it relates to my world view, be it narrow or wide?
(ok, so I should of mentioned it was a paraphrased quote, but, live and learn) |
| Thu 27 Nov | concerned about DanG's mental health | DanG
You love the arm forces? you are what a jackass? |
| Thu 27 Nov | www.marktaw.com | Dan - no offense intended.
btw, you should be more consistent with your name 'DanG' 'Dan G' I searched for 'DanG' to try to find your post but couldn't find it. I had to widen my search to just 'Dan' |
| Fri 28 Nov | Dennis Atkins | Hey, me too, I love the armed forces.
Anonymous Coward, you're the jackass. |
|
| Proposed Interview Process | Mon 24 Nov | Dustin Alexander |
| In this business, and especially the business of independent software consulting, it is hard to keep yourself from hiring subservient wage slaves, regardless of their quality. Any world class programmer (TM) will no doubt learn everything you have to teach and start his own competing business within a few years.
A lot of employers either deal with this type of employee by being secretive and overtly controlling. Others try not to hire people who will compete in such a way. Either way, you have your subservient wage slave. Both of these processes are very obviously not the way to go about it. Any good hiring manager would tell you that you actually want to hire people who are going to be good at competing with you, regardless of that competition.
That said, Ive been considering a better way of hiring where you can manage to keep those type of employees involved with your business in the long run, by offering each employee an equal opportunity to share in ownership of his or her endeavors.
With this type of advancement and empowerment of employees, it becomes obvious that the traditional are you good at what you do interview becomes meaningless. The question you want to ask is, can you bring to the table the same level of effort I would demand of a partner in a business venture? Are you capable of learning enough to come up to that level?
So, from this, the interview structure should be changed.
Here are a few ideas we are kicking around for this type of interview:
4 phases.
1) After a brief technical chat, give them a non-tech related book. Atlas Shrugged and The Fountainhead come to mind. Have them read it an come back for,
2) Lunch with a few people, wherein you discuss their reaction to the material. You are looking for strong reactions, either positive or negative, but not lukewarm ones. Talk about family, personal views, politics, the affect of Machiavelli on postmodernistic capitalist society, etc.
3) After lunch, make a trial decision. Give them a production project where a senior member has a supervisory role. Give them 6 months to prove themselves, then
4) Make the decision to hire them based on their performance.
Obviously, they wouldnt be hired as a partner and would be working within the corporate structure for many years before that opportunity was offered to them, but that opportunity would be there and would be reflected by the depth of the initial interview process.
This obviously penalizes tech heads with strong technical and weak social skills. Im not saying their wouldnt be a role for such people in the future of such a company, but I would say I wouldnt want someone like that as a full fledged, client engaged partner.
What sayest the Joel board to that type of interview structure? |
| Mon 24 Nov | _ | '1) After a brief technical chat, give them a non-tech related book. Atlas Shrugged and The Fountainhead come to mind. Have them read it an come back for'
I doubt many intelligent people would want to work for someone who thinks Ayn Rand is an author worth reading.
Your taste in 'literature' aside, just the suggestion to read a particular book would make you seem kind of insane. For instance, substitute 'the Bible' or 'the Koran' or 'Plato's Republic' or 'The Stranger' or 'VB for Dummies' for 'Atlas Shrugged.' Does your interviewing idea still make sense? |
| Mon 24 Nov | ChrisO | Seems like a lot of work just on the off chance of maybe getting a job - not just for the candidate but for you (and whoever else is part of the interview process) - I really don't see any benefit to all that effort, compared to just a standard interview process.
Why can't you just invite them to lunch for the first interview and ask them about a book they have read. What if they don't like the book you assign them to read? - does that mean somebody who doesn't share your taste in literature could work in your company? |
| Mon 24 Nov | Dustin Alexander | Yep. How about The Prince, or Leaves of Grass, or Death of a Saleman?
The idea is to give them a non-technical piece of literature, preferably one that references political or social themes related to the pros and cons of capitalism and democracy.
As far as Ayn Rand is concerned, I am looking for strong opinons. She has a tendency to bring those out, as evinced by your post. Although I could argue her merits for a while, especially those elements related directly to architecture, that is not what this post is about.
And by non-technical I mean non-technical, not related to our field. Not associated with either computer technology or mathematics. |
| Mon 24 Nov | Dustin Alexander | Chris,
It IS a lot of work. But keep in mind they wouldn't be getting paid 50k/year. The 6 month project would probably be paid at 80k for the trial, with an immediate raise after review and acceptance.
As for something they had read, the idea is to give them something they haven't read or studied in college. They would thus be forced to give their opinions, not those of a college professor. Obviously, they could download the thoughts of others, but, barring an Orwellian society, the judges would have to go by their gut. |
| Mon 24 Nov | Simon Lucy | If what you're looking for is to enforce your own bias on whatever you think would make a good or bad hire, then go ahead.
Chances are though that you made your mind up when the person walked in the room. |
| Mon 24 Nov | ChrisO | 'Chances are though that you made your mind up when the person walked in the room. '
I was going to write something to that effect in my post, because 9 times out of 10 the minute the candidate says hello to you, you know wether they are the one or not - you already have an idea of their experience from their resume.
That is the point I was trying to get across that it is a lot of effort for probably no more chance of the candidate working out in the long term than just the standard single interview process. |
| Mon 24 Nov | _ | I'm not sure what traits you are trying to fish out of a person by having them comment on a book. Social skills? One of my degrees is in philosophy, and I can assure you from experience there are plenty of opinionated readers who are complete social retards. Typically I can can get a good feel for someone's personality in about 20 minutes.
I'm not sure asking them to read a book would give me any more useful insight. |
| Mon 24 Nov | Alyosha` | You are filtering candidates based on criteria that have nothing to do with being able to perform the job.
I think that's illegal in the US. If not, it can certainly leave the door wide open for a lawsuit ('they didn't hire me because I'm not an Objectivist!'). Talk to your friendly local employment law attorney to find out for sure.
The ability to have strong religious, political, or artistic views has absolutely zilch to do with writing high quality, usable code. You might as well give them a piano and tell them that if they can learn to play it, you'll give them a job. |
| Mon 24 Nov | Robert Jacobson | Rember that part of the interview process is trying to make a favorable impression on the candidate, so that if you extend a job offer, he or she will take it. The process you've described sounds rather dehumanizing -- 'before I'll hire you, first read a book that has no relationship to your potential job and prepare an oral book report.' I think it would antagonize the very type of independent-minded people that you're trying to hire.
I had an interview once with a self-important SOB who made me sing and dance during the hiring process. (Not literally, but almost.) I was so relieved when he hired someone else. |
| Mon 24 Nov | Robert Jacobson | "Rember" -> "Remember." Where's the damn JOS spell checker? <g> |
| Mon 24 Nov | www.marktaw.com | Something about your interview process makes me think it would turn off the people you're looking for, or would breed them to WANT to start a competing company after the six month trial period.
Why would this strongly opinionated person, the kind who is likely to leave your company to start a competing product accept a six month trial period where if you don't like them, you give yourself the option of handing them the door prize on their way out?
If I were on the other side of this interview process, I'd request that you put in a clause that stipulated a strong reference, and a large cash severance package if you didn't hire me.
Also, being given reading material before the second interview - before you've demonstrated a strong interest already, I'd have to wonder why I'm spending half a day or more that I could be spending on other pursuits - like talking to other employers - on you.
I would also wonder whether or not you would know the difference between my reading the book and reading the cliff notes & several essays I googled, and how much time you spent on dead ends and con artists who claim to have read the book but did what I outlined above, and how effective your interview process was as a result.
Maybe you should just outline your interview process and see whether or not they have a strong reaction to that. |
| Mon 24 Nov | Dustin Alexander | We wouldn't really be looking for social skills, although that would be a plus. We would be looking for a number of other things.
When going to an interview, a person is dressed to impress. They are nervous and expect to talk about themselves and their skills. They are prepared to tell you what they bring to the table, their resume describes what they have brought to other employers.
What we would be looking for is a passionate response to a perhaps dispassionate subject. We would look for a synthetic analysis brought from an internal review of the subject matter. Since much of the work in the industry today is related to 'boring' subjects, we want to find someone who can get into those subjects and can find the inner value. What better way to gauge that then to pick a work of known value and judge their reaction to it?
If they are bored, we want to know why. If they are passionate, we want to know what evokes their passion. These are things you cannot easily tell when someone immediately walks into a room, or over a brief conversation. We want to refrain from snap judgements based on prepared subject matter and instead review the process the person goes through when urged to develop through new material. |
| Mon 24 Nov | Mr. Fancypants | Assuming a world where I hadn't already read Ayn Rand's work, I'd be pretty pissed off at anyone (whether it was a job interview, or a friend's recommendation, or whatever) that expected me to read her long-winded bullshit (1000+ pages in her major works) just for a reaction. The only sane reaction one could have is, man she could have REALLY used an editor.
Her writing is like L Ron Hubbards (and fittingly, just as cultish)... she harps on one topic and then tries to beat you into believing it by bringing it up again and again and again.
Ugh. |
| Mon 24 Nov | Mr. Fancypants | One of the thing I think MOST interviewers get wrong is they are always looking for the most intelligent, most experienced, etc, person for a job, even if the job they are filling is pretty braindead and would be much better served by someone who isn't the brightest bulb, but can really slog through bullshit work.
Just sayin'. |
| Mon 24 Nov | Dustin Alexander | Mark, I like that. Here read my interview process, and see how you react. :-)
Screw lawsuits. If you don't like the way I interview, sue me. I can afford the lawyers.
Seriously, it is my decision whether I want to hire a partner based on my own internal values. I am taking the whole package and if I reject you based on a piece of your outlook, that is my right. Just because our 'democracy' is currently set up to penalize me for such a decision, does not mean I will not make it. I for one, believe that not hiring someone because they are not a nudist when you are one is a perfectly reasonable hiring decision.
On the other, dehumanizing aspect, perhaps the reading the book is over the top. It was merely a suggestion. The trial period is a must. I, for one, believe it is reasonable to demand that someone demonstrate their skillset and agree that it is ludicrous to accept a candidate immediately at face value. This is no different from the type of review you see in law and architectural firms. |
| Mon 24 Nov | Matt Latourette | Maybe you're thinking about assigning some really short book or an excerpt of some sort. If not, I'm sure the vast majority of candidates are going to think you're out of your mind when you ask them to go home and read "A Tale of Two Cities" or "War and Peace" as part of the interview process. It's one thing to ask the candidate to demonstrate a solution to some sample problem that relates to the job. It's quite another to present the candidate with irrelevant hurdles to jump for the amusement of your English Literature Professor alter-ego. |
| Mon 24 Nov | Slashbot | Sometimes smart people do stupid things.
Sometimes dumb people do smart things. |
| Mon 24 Nov | Alyosha` | Your choice. I'm only pointing out that your process is not only outrageously stupid but also possibly illegal, just as illegal as it would be for a Christian to refuse to hire non-Christians or a white person to refuse to hire non-whites. If you've got more than 15 employees and engage in interstate commerce, better start saving up now for an expensive lesson from the EEOC. The cost of the lawyer will be the least of your worries.
There's no need to have a special 'trial period'. Employment is generally at-will. If at any point you decide you don't like someone's performance, feel free to let them go. |
| Mon 24 Nov | Robert Jacobson | I don't quite understand the need for an extended 'trial period' as such. If you basically tell your new employees 'don't unpack your boxes,' you shouldn't expect any loyalty in return.
Instead, just hire the person. If it's obvious that he's not working out after six months or a year, let him go. If you like him, give him a raise. If you really like him, invite him to become a partner in the business.
The hiring process you've described (with or without a book report) makes you sound like a very arbitrary individual, someone who I for one wouldn't want to work for. |
| Mon 24 Nov | Mr. Fancypants | I second that, I would never work for Dustin Alexander. |
| Mon 24 Nov | Aussie Chick | If you are going to pay someone $80k, then you should be able to afford a good interview process.
So send them to a pyschologist for testing.
I work for an accountant, and everyone (myself included) gets sent to a pychologist for personality and aptitude testing prior to be hired. For our effort we get a conversation with a performance pyschologist who shows us what our skills are and helps us overcome our areas of low skill.
For the employees part they get a very good overview of me.
And they are good. Are I had done my testing and went back to the pychologist for the after-test interview, he said “You are incredibly shy, and extremely religious’, I laughed I was surprised he pinpointed that so well out of the personality test (which consisted of questions like “if you were a florist, would you paint picutres of flowers”). But he was also able to show me things like, my speed & accuracy test I got a very very high score, but he berated me because I only scored high because I had gone so fast, my accuracy was actually quite low, and only my speed made up for it. I never really noticed that about myself, but it brought back to mind how my cashbooks never ever balanced first-go, they were always riddled with mistakes, I did them fast, but always had to return to fix mistakes, this made it obvious I was not suited for a role where accuracy like that was a key skill.
But it showed up my skills, (I am on the Australian Olympic red-block building team) or if you ever get lost in the bush, or need someone to read a map I am your girl.
I am serious, if you have a specific personality type in mind, then hire a pro to do this, it will benfit all. It will also give the guys some pride in your organisation, there is some pride in knowing that you are working with a bunch of smart people. |
| Mon 24 Nov | Matt H. |
I might, as long as he didn't make me read the radio speech. :-)
Seriously, the radio speech? C'mon ...
I think I see what Dustin is getting at. It's worth a whole lot of effort to screen out the pay check collectors. I don't agree 100% with his methods, but I see his point. |
| Mon 24 Nov | Dennis Atkins | OK, so you've got a lot of weird requirements that will take a lot of my time and the payoff is maybe sometime in the future if I continue to jump through your hoops, I'll possibly be offered some sort of 'partnership', the exact terms of which are undefined. I would pass on your opportunity because I would not believe anything you say about future promises. Why should I trust you? The exception would be if you were a well known firm with a long history of credibility and treating your developers as business partners, say like Microsoft does.
If all you want to do is attract and retain self-starters who are capable of competing with you, you need to know this:
1. It's not an employers market for people of that caliber. It is always an employees market. Such a person can quit this afternoon and have five good offers by evening.
2. 80k is not an acceptable starting salary for a proven developer of these capabilities if you are in a western nation and you are located in a metropolitan area.
Instead, you should do as follows:
1. Offer generous profit sharing from the beginning, as well as stock options.
2. Increase your salary.
3. Stop with the games of screening for political philosophy. Look instead for a history of proven achievement. |
| Mon 24 Nov | Dustin Alexander | :)
This is not solely my concoction, but the ideas of a number of partners with over a hundred man years of experience in this industry.
That said, sometimes smart people do dumb things. We are (occassionally) willing to concede to having bad ideas.
When I posted this, I was looking for a reasonable and opinionated debate on a new concept for an interview process. If I was an idiot, I would have just gone ahead and done the interviews, no?
On the EEOC, I could argue for hours why I should be allowed to only hire Nazi's if I am a Nazi. Whatever happened to the psychological well being of the employer? You have no right to work for me. If I create a position, I should be able to hire whoever so fills that position. If that position involves working with me, I should be allowed to hire only those I feel comfortable working with them. I grant that this is not the way the laws are set up today. I am not a Nazi, nor am I a sexist, nor am I a nudist or a racist. So, these would not be the type of people I would turn down.
A partner raises the question, why doesn't Microsoft get sued? After all, what does moving a mountain have to do with code work? Our process is similar. Being able to work synthetic solutions over time to new problems and being willing to learn new subjects at the drop of a hat would be prime requesites of the job. We would NOT being looking for implementers, nor low level coders. Any MIT graduate can produce solid code. We're looking for dreamers and technical architects. How can you sue me for asking you to read a book in an interview if, in fact, reading books is going to be a major part of your job. Hell, we might even pay you to do it.
On the trial period, we want people to understand that their job is intimately tied to their performance. This is normally understood, but we also want to tie successful completion of a trial period with an immediate financial reward and increased responsibility. We wouldn't approach it as thought he chances of them not making it were high. In fact, once they got to that stage of the process we would be very sure that they would fit. The idea would be to see how they operate in the environment and, barring any new problems, promote them. We wouldn't be looking to fire someone. There would be a severence package for people who didn't make it, and great references if they deserved them.
Note that the trial period would not be about not making mistakes, it would be about working with a supervisor who would help you correct those mistakes.
Aussie, I hadn't thought of the psychologist aspect. With the sue happiness mentioned earlier, couldn't I get into some litigous situation from rejecting an employee because they didn't see the right thing in the ink blot?
To me, a psychological review is more demeaning than reading a book and having a lively discussion. Keep in mind that I wouldn't describe an interview process I wouldn't partake in. I am very likely to read the book, but not very likely to take a psych eval. It seems insulting to me, like a mandatory drug test. Some things just have no impact on your performance, and other things (regardless of their existence) you have a right to keep private. |
| Mon 24 Nov | Tony Chang | 'Sue me, I can afford the lawyers'?
Yeah, I really want to work for a dumbass like yourself. Your company has no chance of surviving if that's how flip you are about employment law. |
| Mon 24 Nov | Dustin Alexander | Matt,
:-) The radio speech was over the top. There are times when you want to hit her over the head with her own book.
Dennis, the 80k - profit sharing would be for the trial period.
1. The firm would not be looking to capitalize on other peoples ideas as a startup. This process would be put in place with a well established reputation.
2. Associates would have small profit sharing and probably 100-200k per year plus bonuses. This would be increased each year with a positive review. If we invested in your idea, profit sharing would be much higher (1/2 is not unreasonable).
Tony, this is not about being flip. It is about standing up for my own morality. Its not that I don't care enough about being sued, its that I care enough to be sued and pay for it. And anyone who thinks suing a prospective employer will have a positive affect on their careers needs a psych evaluation. |
| Mon 24 Nov | Alyosha` | Aussie: I don't have that much confidence in psychological evaluations. Psychology strikes me as a field of science that's prone to fads and lacks much of the rigor found in other disciplines. Psychologists seems to have a fetish for sorting people according to arbitrary criteria and not really caring that there's as much variability within a category as there is across categories.
The only reason this remains popular is that people like to be told what sort of personality they have (as if they didn't know already), especially in vague, flattering terms. The same effect explains the popularity of astrologers and palm-readers. |
| Mon 24 Nov | Lieutenant Commander Panda | In the US, a psych evaluation can only be part of a interview process for a very small number of job classifications. You can test them after hire, but the psychiatrist can not legally share with you any of her findings without the employee's written consent, which must be given freely and not be a condition of continued employment or any other consideration.
This is a good practice because its none of your business unless you are hiring special agents for the CIA or evaluating soldier's for possible special forces training and deployment. |
| Mon 24 Nov | Aussie Chick | A pysch review is not demeaning, well I don’t think so anyway. I supposed because I found it so interesting and came out with flying colors, but I think a good pysch would
There was no mysterious ink blots, there was a personality test, a speed & accuracy test and an aptitude test.
The guy was a performance pychologist, a crazy american, he hails from Harvard and works with a lot of Aussie sporting stars. The interview after the tests were analysed was great, he refused to give me an overall IQ figure saying that on its on that one figure was meaningless, instead he explained what the 11 scores of the test parts that make up the aptitude test meant, the interview was for me, it was my chance to find out what I needed to do, my chance to get some feedback (ie I have only average general knowledge) gets some tips, we talked about ways to begin overcoming my shyness.
I would rather go through this, knowing that a professional was looking after it, then thinking that I had to impress you by reading a book, with you, I am trying to impress you, I am trying to anticipate what you are wanting in an employee and be that person. With the pyscholgist testing I could only be myself. And I walked away feeling confident and having a better understanding of myself. Well worth the effort.
As for being sued, I think you will find this is a very common practice, you do it to get in the armed forces, heck they will steer you into a career path based on the tests, I will guess the Microsoft put their employees through it, and at the end of it, you (as the employer) receiving a recommendation from a certified pychologist, which I am sure would hold a lot better in court then “I didn’t like his lack of enthuisasm about this book” |
| Mon 24 Nov | Tony Chang | It's not about the employee suing you. It's about you being sued by the employee. Honestly, the way you described it it sounds like a possible test you followers of the faith of Objectivism and seems irrelevant to the matter at hand. There is a very strong possibility you would be sued for discrimination by some random person you put this through and they would probably have a case legally. My concerns about this is that an employer who is so cavalier about these issues is probably going to get sued a lot while I am there, as a partner, or as an employee, which would make for a unnecessarily stressful work environment (stress no problem but stress because someone doesn't have sense to avoid easily avoidable lawsuits is another thing) and reduce in my estimation hte chances for the firm over the long term. Any you are saying that you are hoping to hire people who will be there for the long term. |
| Mon 24 Nov | Aussie Chick | Wow (hadn’t read the Leiutanents post prior to posting mine) that is interesting, I would have thought a potential employee’s personality and intelligence would rate as factors that an employer has a right to know about.
Though I suppose these test could potential reveal information that is not relevent.
I know I signed a permission form, and I am sure the pychologist mentioned something about the privacy of our conversations and that sort of thing. The pysch report was based on what was relevent to the job not me telling the tester to take her time doing the test because I didn’t want to go back to work…
I had thought of some of those issues though. |
| Mon 24 Nov | Alyosha` | Dustin: Microsoft is very careful to ask questions that test skills that directly relate to possible job performance. You can tell if a person is the type that gives up easily when confronted with a problem with no clear solution -- or even clear criteria of what constitutes a valid solution -- with questions like 'how would you move Mt. Fuji'. Not giving up is a useful job skill.
But as I said before, you can't tell a damn thing about how good a developer is based on whether their reaction to Ayn Rand is positive, negative, or completely apathetic. The only thing you CAN tell from such a question is whether the candidate conforms to your political / philosophical / religious worldview. Religion is a Title VII protected class; political or philosophical discrimination likely falls under that penumbra. I could be wrong though. I'm not a lawyer, and this is not legal advice. |
| Mon 24 Nov | Lieutenant Commander Panda | An unnecessary psych evaluation for the purpose of some stranger getting his voyeurism fix is not only demeaning, but is an invasion of privacy. Might as well as the prospective employee for a sperm sample. |
| Mon 24 Nov | Dustin Alexander | That is a good point. Certainly, my goal would be to develop a process which did not predispose my potential employers to suing me. I was simply implying that if you wished to sue me for not hiring you based on your response to what I feel is a perfectly adequate interview, than go ahead. My lawyers will chew you up and spit you out. Note that I am not proposing to create an interview process where I could be sued:
1) I firmly believe that requiring an employee to perform some analysis of a field of study as part of the interview is not illegal, even if that analysis was long term. It could easily be described as due diligence.
2) Any process would, of course, undergo a review by legal counsel before being put into place. Getting sued is not a great way to start off a BPR venture. |
| Mon 24 Nov | Anononon | 'I am not a Nazi, nor am I a sexist, nor am I a nudist or a racist. So, these would not be the type of people I would turn down.'
I hope you have a double negative working in that or you really will have legal problems. That aside, the issue is that no one can project the outcome of a person based on an interview. NO ONE. If anyone, even the physicologists tell you otherwise, they are lying. (And the psych places will not tell you they can, because they know better.)
So the question then becomes, why can't we? The simpliest reasons are that we cannot understand the influences on a person's life over the next six months, forget the next six years. You hire candidate 'Jamie' because they are exactly what you want, based on your 'read a novel' approach. Once they get into the office, you find they are argumentative, and unrelenting. The will hound a point into the ground and prevent anything from getting done, until every I is dotted and each T crossed, to _their_ liking.
Or, their spouse hates the area. Months of being told they want to move north, south, east and west, anywhere but here, weighs on them.
Or, they discover you have little to offer. As someone pointed out, why if I have the skillset you describe, should I come in at anything less than a partner?
So how do you find the superstars? Perpare to bleed.
- You are going to pay big to get them to come, because joining you is a big risk. They are superstars, each new gig is an opportunity for failure outside their control. To get them to jump, means you have an offer better than the one they have. You are the unknown, so you have to make it worth it.
- You cannot stop them from starting their own business to compete with you. You can try the NDAs, the employment contracts, etc. In the end, by the time your lawyers get through with his, both of you will probably be sorry. And you could still lose. -- So don't worry about this one. If you are wildly successful, they won't leave. If you are not, and the take some of your ideas and become fruitful, maybe they will offer you a job.
- Stop playing games. Go back through your approach here and imagine IBM or CSC or GE taking this approach. Would you consider it a filter or a quest for how much humiliation a person can endure. In these types of interviews, you get mediocrity because no one knows what you are filtering for. You say you want someone of strong opinions. Maybe the last gal wanted someone who is passive during heated discussions. How is a candidate to know. In the end, no one is happy because everyone is gaming the system. |
| Mon 24 Nov | Dustin Alexander | Keep in mind that we are not hiring coders. Every single employee in the company would be required to perform ongoing analysis of new research ventures or to interact with clients on a business level. We are not looking for Carmack, we are looking for Codd. |
| Mon 24 Nov | www.marktaw.com | Okay, I can see where you're coming from here now.
Several years ago I read about a company whose interview process took one to two weeks. For that time, all potential hires were paid, were shown around, and were given actual work.
I think this, thorough type of interview process may really work out for you. If you're going to revise the normal interview process by adding a book and challenging someone to see how they react, why not go as far as hiring them for a few days and see how they really contribute?
If you do have the money to hire lawyers if someone sues you, you should hire one to tell you what may or may not be legal about your interview process and what might be considered discrimination.
Though, as I said, a real self-starter would probably object to a process where you repeatedly tell them how easily you can pull the rug out from under them.
Now that I think of it, hiring a half dozen people for two weeks to see how things works out strikes me as a cross between Job Survivor and Glen Gary Glenross - 'The bad news is you're all fired. The good news is, the salesman who performs the best in the next week gets his job back, a bonus, and a Mercedes.'
Though it would seem to be the best way to ensure a cultural fit, and to ensure that the really are capable of producing the samples they show you in a timely fashion. And of course, you criteria for being a strong willed bastard with lots of ideas. ;-) |
| Mon 24 Nov | _ | The legal issue is moot, because you simply won't have anyone wanting to work for you. No one reads an 800 page book during the interview process for a programming job. The economy might be bad right now, but it isn't THAT bad.
I would posit that your interview process is going to backfire. Anyone desperate enough to read an Ayn Rand novel for your entertainment obviously does not have many other options for employment. |
| Mon 24 Nov | Michael Bruzenak | The psych eval is something that I have done exactly ONCE in my life and it will never happen again. Half-way throught the test the shrink sprung at me and started screaming at me. He wanted to see how I handled 'confrontation'. I left.
I personally would not have an employee that hasn't read Atlas Shrugged and understood the principle of 'not all people are created equal'.
Also what MicroSoft puts you through is far worse than reading a book. You do it because you want the job.
Talk to a lawyer about suing someone for an interview process. I think you will be entertained by his absolute disinterest in taking on the case. |
| Mon 24 Nov | Dustin Alexander | Mark,
Yeah, Interview Survivor. We could film it and make more money of that than doing tech work :)
Legal review of any interview process is a must, especially in the US.
The 'trial by fire' idea, I think is good. But you have to narrow the field to one or two guys first. The rest go on the callback list. If you like both guys, you hire them, and you hire them independently of each other, so they don't compete.
This post is more of a 'what if'. This is obviously a different way of looking at a tech company than most, and there are kinks. Go figure.
I'm guessing that a lot of early associates would also have less experience in the field than you guys. Extensive experience would be a plus, but not a prerequesite. In fact, I'm guessing that a lot of the takers would be young hopefuls looking to learn the business and build a name for themselves.
Anonymous, maybe you missed my repeated mentioning of who we were looking for. We would not be offering a programming job. We'd be much higher level than that. |
| Mon 24 Nov | www.marktaw.com | Maybe armwrestling?
I would submit that Ayn Rand is a poor choice because, as you say, she's well known for people having stong reactions to what she has to say.
Perhaps a short - 2 to 3 page magazine article, that you have them read during the interview that's actually on topic for the job. They might think you're looking for technical comprehension, but what you're really looking for is a strong reaction to the article itself.
This reduces the 'gaming the system' angle. It also, as the previous poster noted, isn't a Herculean (Atlas like?) Task that you're asking them to complete for a chance at a job. |
| Mon 24 Nov | Dustin Alexander | From my illustrious partner, whose idea it was to use Atlas as interview material:
'The thing is the atlas shrugged test was related to job we were talking about. It had to do with competing and working for your promotion and acceptance all the time not just during the interview. It is an entrepaneurial environment. My reason for reading AS is that if a person didn't agree with an individualistic philosophy they wouldn't like the job. Then they would either whine or sue us for promoting according to ability.'
Careful on this one dudes, he is five of us rolled into one (with the verbiage reduced).
I disagree with him a bit on the competition. We want to promote at atmosphere of open collaboration. But we still hammer out the kinks on this. |
| Mon 24 Nov | Dustin Alexander | Mark :)
If you can kill a hydra, I'll give you a job too.
Also, anyone with the wherewithal to read the Cliff's notes on Atlas or Fountainhead who can hold there own in a discussion with MY partners deserves an award. Hell, holding your own in a discussion with my partners on the use of forks in eating would be worth an award. |
| Mon 24 Nov | Slashbot | I think anyone who doesn't agree with The Bible should be kicked out of church. They will never be true believers. |
| Mon 24 Nov | Dustin Alexander | People who can game my system, deserve my money. |
| Mon 24 Nov | Tesla | The best way to avoid being sued is to avoid doing business with people who state they ahave a team of rabid lawyers just waiting to rip you apart and 'spit you out'.
As an individual who has started several profitable businesses and has over 15 patents, I am very cautious about the sorts of arrangements I get myself involved it.
What do you think the liklihood is that I would accept any job offer from Mr. Alexander? As I see it, when I did move on to greener pastures after putting up with his abuse for far too long, I would be rewarded by an unending series of harassment suits.
Regardless of how Mr. Alexander changes his process, I would advise all real innovators and self-starters to avoid his firm like the plague. |
| Mon 24 Nov | Alyosha` | So, in other words, you're looking for somone who believes that selfishness is good, greed is king, altruism is a vice and the only real virtue is unabashed self-interest.
Be careful for what you ask for, you might just get it. |
| Mon 24 Nov | Dustin Alexander | :)
Tesla, that is the kind of strong reaction we would be looking to hire you for.
And on the lawyers: People seem to be stuck on this. Bah. Most companies have lawyers on retainer. What I'm implying is that I would love to defend my morality in court. I think anyone with strong opinons who is part of a democratic government has a duty to do those opinions justice by battling for them.
And my rip apart comment was aimed at wrongful lawsuits. I don't have time for that crap and am honestly and (justly in my opinion) inflamed by the suggestion that someone get away with it. You don't see a whole lot of support for SCO in SCO vs. IBM and that is the type of suit I was referring to.
I am not sue happy. I don't like that type of person. I AM willing to defend myself. Suing an employee for leaving would never cross my mind, unless he had my hard drive in his pocket on the way out. |
| Mon 24 Nov | Slashbot | Dustin Alexander shot himself in the foot. |
| Mon 24 Nov | www.marktaw.com | So you're hiring a personality as much as a drone. Odd how programmers don't want to be compared to drones, i.e. factory workers who can be outsourced, yet when someone challenges them to have qualifications beyond quality of code, they get offended. It seems quality of code is the only basis on which they're willing to compete.
It sounds more like you're looking to hire an executive, especially with your mention of 'how to hold your fork.' Poise and attitude are more important when decisions are made over dinner and on the golf course.
Are you looking for a tech guy with managerial responsibilitie and attitude, or an executive with a technical background? |
| Mon 24 Nov | Dustin Alexander | Alyosha,
That is one interpretation. Not mine, but one interpretation. I think my partner was implying that noone should get something for nothing and that it is the right and duty of each man (and woman) to build there own road to the future. Remember, not all arguments she presented were incorrect, although everything is open to being misconstrued. I recommend reading more into modern objectivist philosophy before rejecting Rand's ideas as merely being against helping others.
BTW, I agree with all your statements. People who believe those things who have a positive work ethic and a strong fundamental structure of contribution would do well in my company. |
| Mon 24 Nov | Slashbot | Dustin,
from what you've posted so far I infer that you don't want to interview anyone. You happen to have read Rand's book and now you try to show off how intellectually superior you are. Or so you believe. |
| Mon 24 Nov | Dustin Alexander | Mark,
First off, thanks for openly discussing an idea in such a constructive fashion. You have been insightful and helpful and your suggestions, in particular, have given us lots to think about in our proposal.
This is, after all, a new idea for a new type of company. It is not the company I currently run, nor is it like the other companies I or my partners have owned or been affiliated with.
Think of it like this: A law firm. We are thinking of building a law firm. Only instead of practicing law, we will be building technical and research architectures. Each employee will start out as an associate, working under a more senior party to provide clients with solid structural recommendations on how to apply technology to all areas of their business. As they gain seniority, each associate will be reviewed by his supervisors and his peers and have the opportunity to take on new responsibilties and suggest new areas of research. Senior associates would be allowed to rise to the level of junior partner, where they would be given their own research portfolio, employees, and funding along with a client list.
Every member of the firm would be in contact with clients. Every member would brainstorm and provide fresh ways of looking at things. And everyone would be given the opportunity to be a pioneer of his or her own vision, with the resources and experience of the entire firm behind his dreams. |
| Mon 24 Nov | Dustin Alexander | Slashbot,
Interesting opinion. If I wanted to feel superior I would post to a different board. Although, I thank you for providing me with that feeling gratis, in addition to the commentary of my peers that I have received on this board. |
| Mon 24 Nov | Slashbot | Told you so. Idiot. |
| Mon 24 Nov | Slashbot | (The latter statement was a comment to Dustbin's post two entries above.) |
| Mon 24 Nov | Slashbot | 'we will be building technical and research architectures. Each employee will start out as an associate, working under a more senior party to provide clients with solid structural recommendations on how to apply technology to all areas of their business. As they gain seniority, each associate will be reviewed by his supervisors and his peers and have the opportunity to take on new responsibilties and suggest new areas of research. Senior associates would be allowed to rise to the level of junior partner, where they would be given their own research portfolio, employees, and funding along with a client list'
This is an old fart. It's called 'pyramid selling.' |
| Mon 24 Nov | Dustin Alexander | I apologize for that harsh statement. Sometimes my hands type faster than my brain.
I was trying to point out to Alyosha that reading into objectivism may change some of the ideas he holds. I, personally, don't find it to be a philosophy that makes me desirous of urinating on the masses (which was the tone I read into his comments). I find it to be a personal philosophy of self enablement, and a positive one at that. |
| Mon 24 Nov | Slashbot | 'a personal philosophy of self enablement, and a positive one at that.'
Yeah, bring 'em on. Got more of this multi-level marketing buzz? Now I understand why you fear the techies, as you've laid out in the first post. They might put some sense and flesh in your lousy BUSINESS PROPOSAL. |
| Mon 24 Nov | Dustin Alexander | Very interesting comparison. Made me think. Very wrong though.
Nobody we hired would be involved in making sales. We are not hiring people to sell research papers on relational-object mapping to their parents. Sales would be handled by a professional team or another organization. |
| Mon 24 Nov | Alyosha` | Dustin: perhaps those are not your views, but I think you'll find that the rugged individualists coming across your doorstep interpret Objectivism in a way that makes the world out to be a rough-and-tumble world where no quarter should be asked for or granted.
Whereas I agree that the disadvantaged should help themselves before demanding help from above, I also believe there's a moral obligation for the advantaged to reach down to lend a helping hand - and that they should be compelled to do so, to a reasonable degree - and this is a view that many libertarians and objectivists will see as repugnant. |
| Mon 24 Nov | Dustin Alexander | Alyosha,
I've run across those types before. They are fairly easy to spot because they are usually not team players.
As for a moral obligation to lend others a helping hand, I agree, but only insofar as they are willing to help themselves. Note I didn't say capable. The best in life I can ever offer someone in need is an opportunity. Free handouts are devoured to easily and prove to be of little nutritional content. |
| Mon 24 Nov | Nearly Missed | Alyosha:
Is that all you got out of Rand? If so then you are exactly like her. Absolute right or left.
There is a lot of middle ground that gets trashed when you reject the entire work because you disagree with the author's conclusion.
What is altruism? What is selfishness? and what motivates each?
Why does a person lend a hand to someone stranded on the highway? I would like to know what you all think about this. |
| Mon 24 Nov | Dustin Alexander | Perhaps someone should start and Objectivism post for this discussion :) I'd love to talk philosophy all day, but it derails my original post a bit. |
| Mon 24 Nov | www.marktaw.com | Interesting analogy with a law firm. Law firms have an accepted and well acknowledge career track. Law firms are also one of the few partnerships in the business world because partnerships are so difficult to set up and dissolve and usually set up a difficult working environment for all involved.
Why don't you investigate how law firms hire. Also, think about the differences between law firms and tech firms. Lawyers tend to have individual clients that they work with almost exlcusively, so it's almost like you're an independant contractor with the resources and reputation of the firm. I could be wrong on this. |
| Mon 24 Nov | Must be a manager | Aussie Chick, there's no evidence that psych testing actually helps anything or is even useful. The practice is driven by the consulting firms who make a lot of money out it. It's a useful add-on for recruiting.
As the insight that you're religious, I could have told you that just from JOS. Shy I might have guessed at.
Dustin, I think your point hasn't been understood by people here. I think it's a good point. You want people with a bit of intelligence, analytical ability and broader outlook, and wonder how to test for that.
In my situation, it comes from meeting different people and recognising common interests and capabilities, rather than expecting to just find them by advertising.
By the way, I think the interest in broader outlook is one that's undergoing a change in the industry at the moment. I think the greater focus on CS degrees in hiring is discriminating towards the narrower person, in very general terms. |
| Mon 24 Nov | Dustin Alexander | Manager, I agree with this. I think one of the things that is going overseas is those without a broader outlook.
Mark, you've nailed it exactly. That hiring research will happen. We know this is a difficult idea, the spreadsheet alone is going to kill me. As for independence, we are looking for that in our partners, the rest will support the partners. We are looking for long term clients who will come to us with business & architectural needs on a repeated basis. We want to make a 'professional' out the the technical architect. In addition, we want to promote the idea of being research conscious, experimenting with and exploring our own potentially saleable ideas. |
| Mon 24 Nov | www.marktaw.com | Sounds like an interesting proposition, and based on your comments in the Army v. Business and here you seem like an intelligent and ambitious person. best of luck in your endeavors.
Just one question, is how you hold your fork actually one of the criteria by which you'll judge prospects? You can answer me privately if you're afraid of a backlash here. |
| Mon 24 Nov | Dustin Alexander | Actually, no. :)
I was implying that my partners are capable of having an in depth conversation about just about anything. I'm sure they would have a impassioned response about holding your fork that would initiate a discussion of near equal length to that of objectivist philosophy. We 'might' however hire you based on your response to that conversation :)
To put it in perspective, morning conversation during meetings ranges from z-series assembly programming and enterprise java patterns to biology and chemistry to objectivist ethics and communism, with a healthy dash of movie quotes and pop culture. We are a DIVERSE group.
Thanks for the praise. Its probably pretty obvious that I don't fear criticism, but its always nice to hear a positive response.
And on the fork issue: chopsticks all the way. You don't do chopsticks, I don't hire you. ;) |
| Mon 24 Nov | www.marktaw.com | I hold my chopsticks different from all of my friends, and different from the little diagram on the chopsticks package. I think it has to do with my being a bass player and the index & middle finger on my right hand being so dominant. I almost never use my right hand pinky, even for typing. I don't think I even hit return with it.
I did learn a neat trick you can use to impress your friends. Fold the paper sleeve your chopsticks come in into thirds, and then fold that lengthwise. You should have a 2' long stand to use as a chopsticks holder. |
| Mon 24 Nov | Dustin Alexander | :)
See, there you go. Good recruiting potential there.
Unfortunately, anything more physical than putting my socks on can be dangerous for me. In fact, now that I mention socks... |
| Mon 24 Nov | www.marktaw.com | Now that you mention socks... you have to learn how to put on the rest of your clothes before you leave the house to interview that non-nudist, non-objectivist candidate tomorrow? |
| Tue 25 Nov | AT | I think there is a major line between being a nudist and simply being truly unable to put on your clothes, and that our society, being as people friendly as it is, should make allowances for the truly inept. Goes with my Naked is Better political platform I suppose. |
| Tue 25 Nov | Dilbert | http://www.dilbert.com/comics/dilbert/archive/dilbert-20031123.html |
| Tue 25 Nov | Tesla | I don't know about this law firm structure. Lawyers don't generate copyrighted intellectual property (court documents are in the public domain) as part of their work normally. When they do write journal articles, they retain the copyright themselves personally and not the firm they are working for.
This is very very different from the situation where people are generating patents and copyrights and trademarks and all that IP stuff.
The key difference here is that there is no intrinsic conflict between law associates and the firm. Lawyers are paid for their ideas, which the law firm does not end up owning.
This is fundamentally different from the instrinsic conflict of ownership that exists in the development world between inventor and employer. |
| Tue 25 Nov | www.marktaw.com | Good point. What if you retained a percentage of the profits of sales from your product even if you left the company? It wouldn't exist without you, so the company rewards you for the idea, even if they lose you the person.
I maybe reading him incorrectly, but I thought he said that primarily they consulted to other companies. Therefore, all the code they produce is owned by the company they made it for. |
| Tue 25 Nov | Dustin Alexander | Mark, you got me there. Anyone have a for dummies guide to putting on pants? Maybe I'll just stay home. Easier that way.
Tesla, you're right. Thats one of the tough spots. There are quite a few. That's what goes with creating the lifestyle we would be looking to create. IP would probably end up being owned by the firm, which in turn would be owned by the contributors. In addition, licensing and selling IP might be fairly lucrative, with the inventor being given the lion's share of the profits. After all, its their idea. We would have to approach each idea as a separate investment and deal with the contributions in that manner. The goal is to create an open environment where people would feel fine contributing 'their' proprietary ideas. Ownership, I think, is a very large part of that. |
| Tue 25 Nov | Dennis Atkins | > z-series assembly programming
Ah... something I can relate to. I'm glad that you guys use z-chips (I presume by z-chips you mean zilog processors; i don't call them z-chips myself) I was the chief architect of one of the largest and fastest chips Zilog ever fabricated, and one with a number of amazing innovations. Boy, I like saying that. :))
I don't think I would read that book just because you asked me to though. I really think you would rule me out of your interview process.
Not that I'm looking right now -- I'm not, I've got my own life and I don't think there's much anyone could offer to lure my away from it. But just in terms of my own reaction to your description of this process, rather than draw me towards your firm, I feel a bit repelled.
But that's just me, I am open to the possibility that there are others who would really groove on the book report system. I admit it is rather novel. |
| Tue 25 Nov | Dustin Alexander | Mark,
We would probably do both. I, for one, would not want to implement the dreams of others for the rest of my life.
Ownership stake in an idea would probably be considered on a per idea basis, and continue beyond the lifespan of employment. Of course, we'd be looking at keeping the people for as long as they are working. I don't think, after rising into a senior partnership position, many people would want to leave. I could be wrong, but getting into that position would take years of work and any overt reason to leave would come out long before that.
This is what strong contract language is all about, but we'd have to do a lot of thinking before getting to that stage. |
| Tue 25 Nov | www.marktaw.com | rather novel? please say you didn't intend that pun. |
| Tue 25 Nov | Dustin Alexander | It wouldn't be like, tell us the plot structure of Beowulf. It would be what did you think of Gail Wynand. Less of a report, more of a conversation with required background reading. [I think we're over the book report issue anyway.]
Dennis, lets see whether you would work here. I'm going to save you the trouble and describe partnership (associate level would be for people without significant experience such as yours):
1) You can work on anything you want with company funding for up to 4 months per year.
2) You are given your choice of corporate clients.
3) You manage you own schedule and timeframe, so long as you allot a few days a week for communication in normal business hours.
4) You have ownership stake in the business.
5) You work research projects defining solutions to unsolved problems with brilliant members of the field.
6) You only solve unsolved problems.
7) High pay. [Very high pay] |
| Tue 25 Nov | www.marktaw.com | 1. An environment where you can develop y |