last updated:06 Aug 2003 14:43 UK time
|
 |
|
(Comments added for week ending Sun 27 Apr 2003) | View Other Weeks
|
|
| Need book recommendations on various subjects | Sun 27 Apr | Bob Yu |
| Part of my new jobs duty is to be a system administrator (and programming in ASP using MS CMS 2001). I have never worked as an administrator so I need something that combines the fundamentals to advance optmizations.
I need recommendations for Windows 2000 server administration, SQL Server 2000 administration and programming, Commerce Server 2002, and finally .NET stuff, especially ASP.NET and ADO.NET.
I am looking for books that are of the same caliber as Peopleware and Code Complete (both of which I have), meaning that it is comprehensive (fundamentals to advanced), thorough and worth every dime that I spend on.
With the profusion of books out there, I have no idea what is good or not, so I need your help in making a choice, for I dont have too much cash to spend on books.
Thanks in advance. |
| Sun 27 Apr | JWA | Hi Bob,
I've found that my favorite's for both layout and content tend to be the MS Press offerings. The Step-by-step books can be good intros if you're starting from scratch in an area, but if you get into the detailed use of any specific technology they can be somewhat basic as reference manuals.
For .NET, I have and like some of the Core Reference books. They're generally rather large and thorough.
--Josh |
| Sun 27 Apr | | You need a manual not Peopleware and Code Complete type books. |
| Sun 27 Apr | Philo | O'Reilly has a pocket handbook on Win2k command line utilities I'd recommend.
Philo |
| Sun 27 Apr | UI Designer | Try the Microsoft website.
I remember they had an online seminar about Commerce Server (or at least the Business Desk) there which provided some excellent info when I did an evaluation of CS a couple of years ago. Also look at the material on the dotNet Show. |
|
| Software Startup Books | Sun 27 Apr | Anthony W. |
| Could anyone recommend some good reads on starting up your own software firm?
Im interested in ones that describe the problems and issues commonly encountered, and suggestions of what to do to. Really, a How To book as opposed to a touchy feely warm fuzzy one.
Thanks! |
| Sun 27 Apr | | This website might help
http://stylusinc.com/business/india/cultural_tips.htm |
|
| CNN Article on buggy software and it's cost. | Sun 27 Apr | Mark Hoffman |
| Given the recent thread on software engineering and the future of our industry, I thought this article on CNN was interesting.
http://www.cnn.com/2003/TECH/ptech/04/27/buggy.software.ap/index.html
Nothing really new in the article, except that its not too often you see this kind of stuff in the mainstream press unless there has been some recent catastrophic software failure. |
| Sun 27 Apr | Matthew Lock | Software is often buggy because it's developed using 'cut to the bone' budgets. Software is very expensive to develop and when a manager asks you to get it on a tight schedule testing is often the first thing to be cut from the project. |
| Sun 27 Apr | Tj | My theory is that software doesn't 'look' like anything. If you make something really small, really large, or really intricate, people respect it. But with software, it looks all free, as if suddenly a computer's resources are limitless.
Most people don't live in the virtual reality, so it's understandable. |
| Sun 27 Apr | Dennis Atkins | That article is just Watts Humphrey stirring up some publicity and promoting heavy process over business realities.
Regarding the dishwasher,
1. The washer was defective and the bozo who bought it should have taken the washer back to the store and demanded a refund plus a credit for installing another one to compensate him for his time lost. It's his own fault for not demanding a refund and calling a press conference instead is just silly.
2. What kind of bozo buys a computer driven internet enabled washing machine/refrigerator/toaster/blender anyway? All these mechanical devices are rugged hardy devices that work better without no stinkin computer.
Regarding the Mars Lander, as I understand it the software is thought to have turned off the engines because it mistakenly thought the ground had been struck, which was detected by some sort of impact sensor that was triggered mistakenly when some other system deployed. This isn't a software bug but a design error and possibly one that may not have been found no matter how much time was spent in design, without the foreknowledge that the failure had occured. In no case would additional software testing have done anything to prevent the problem from happening and more than debugging a OS kernel will do anything to fix the problem of the CPU overheating because the case is improperly vented.
I have more to rant about but I will stop now and go get something to eat. |
|
| Emailing resumés | Sun 27 Apr | anon |
| When I approach someone with an email, should I send a resumé with it, just link to one, or both? I think just linking to one is a bad idea since my server just might decide to go down right then, of all times.
Should I not send the pretty html formatted one, and instead a plaintext/rtf? (I hope pdf isnt de rigeur.)
Maybe this is a strange question; its just I get vaguely paranoid when I get sent an html attachment. Thanks. |
| Sun 27 Apr | Bored Bystander | Since nobody has jumped in...
I've found that all that HR and recruiting agency droids can generally deal with is a Microsoft Word DOC file as an attachment. They're just too stupid and one dimensional to deal with anything except a file attachment, since it's what 'everyone has to do'. I once directed a recruiter to a link on my web site which had my resume, and the woman acted like I was giving her a pocket knife and telling her to remove her spleen with it. Stupid assed gatekeepers. Ok, I said stupid enough times.
HOWEVER - I don't generally think that emailing a resume is a very good approach. You don't get anyone's attention that way. Companies get zillions of emailed resumes because the cost and effort of sending resumes by email is almost nothing.
The best approach for finding a position is personal. Call the company, and try to at least find out HR's priorities for the position. Best case, track down the hiring managers. Try to find someone in the company who wants to see *your* resume and then send it to actual human be'ins. |
| Sun 27 Apr | anon | Good lord, I just converted my html to .doc format usinjg msword 2k, and whever I open it, it complains, 'The dimensions after resizing are too small or too large.' I don't think I can take the IT world. |
| Sun 27 Apr | note | Recruiters like word documents because it can interface with their resume database systems. |
|
| Dave's Forum on CAMEL | Sun 27 Apr | Philo |
| I put Dave Behnkes Forum software on CAMEL, tweaked the style sheet a little (YE GODS!). Down the road I hope to link posts on CAMEL to topics in the forum...
But for now its functional, and future edits shouldnt affect content.
Philo |
| Sun 27 Apr | Dave B. | OMG! Wow! This is the highest compliment anyone could pay me! You wouldn't believe how satisfying it is to know that someone is using something you wrote. ( Or maybe you guys would since you work in the business. ) Thanks Philo! ( Hope integration isn't giving you headaches! ) |
|
| Sooner or later dominant companies don't dominate | Sun 27 Apr | Mike |
| What will stop Microsoft from being dominant? |
| Sun 27 Apr | choppy | When Bill Gates retires or dies, the company will begin to fall apart. It's really all about Bill. |
| Sun 27 Apr | Codex | - A company which will be better at Marketing than Microsoft ?
Or more simply a few Al-Qaeda terrorist who crashes a few planes on Microsoft Campuses ;-)
- Do you know if they backup their source code on a remote server in Africa or something :-) |
| Sun 27 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Actually, I disagree that it's all about Bill. I actually think it's all about Ballmer. |
| Sun 27 Apr | Philo | As I've said before - I think Ballmer is the reason they're starting to slide. Despite his monkeyboy act, he doesn't 'get' the whole developers thing. I also think he doesn't understand 'penetration, then profit'
Philo |
| Sun 27 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I can't think of a company or time that's been better to developers than today's Microsoft. Why do you feel they're doing disservice to developers? |
| Sun 27 Apr | Philo | It's actually gotten better of late, but about two years ago MS was heading down a nasty road:
1) Threats of audits on MSDN software
2) MS Passport, as initially priced, was something like $15k just for a developer to enter the market
3) Drop in academic product availability
4) Product activation on MSDN operating systems
It just seemed to me for a while there that MS was turning its back on developers. Seems to have improved since the release of .Net.
Philo |
| Sun 27 Apr | Bella | Actually, Ballmer said it's all about the 'Developers.....Developers.....DEVELOPERS.....'
http://www.zdnet.com/anchordesk/stories/story/0,10738,2807333,00.html
http://www.detonate.net/media/dancemonkeyboy.mpg |
| Sun 27 Apr | Michael Kohne | I don't presently develop for Windows (I have done so in the past), but I personally think MS has already made their mistake - it's just a question of whether it will catch up to them before they do something else for other reasons.
The mistake? Trying to force everyone to a rental software model.
Why is it a mistake? Because previously, if you were an IT type, you might budget 'X' for computers, then be able to decided later whether you wanted to pay more money for the latest software rev or not. If it had features that helped your buisness, you budget and buy. If not (or if you are low on money) you don't buy. Now, with a rental model you don't have the choice - you pay yearly, whether you upgrade or not. And when your vendor screws up (recent Office 2K issue), you run into trouble. Or if you are struggling and pay your bills late - all your software dies.
I have the feeling that when the realities of a licensed software model really hit home, large companies are going to switch to solutions that DON'T come with this kind of risk attached.
But that's just an opinon. |
| Sun 27 Apr | | I'm a me-too'er re software licenses. But, I think microsoft is smart enough to make the correct decision (whether I'm right or wrong). I trust Ballmer to make the right decisions. |
| Sun 27 Apr | Nat Ersoz | Tides change, IMO, due to some truly disruptive technology coincident with a power vacuum. In 1980, it was mainfraines quickly giving way to mini's, which gave way to the '386 in 1992 and the introduction of Win95 - the first offering from MSFT that was viable. While Apple was always providing superior solutions - in every area - during this period, it was the power vacuum that was filled by MSFT.
Similarly, in 1974, with an oil crisis and gasoline quadrupling by 1979, Honda and Toyota filled the vacuum with reliable economical cars which nearly put Detroit under.
So, I think it takes not only a disruptive technology, but inability of the status quo to react with sufficient speed in order to bring down the Goliath. Right now, MSFT suffers from an attack of the Lilliputians (sp?) . But they react much faster and more effectively than will be required for their fall. Certainly the day of stock prices doubling every 2 years are likely over. And they need to be oh so wary of profits coming from 2 rather narrow sectors that well could run out of steam. But... At present rates, a sea change is not immenent.
On another almost orthogonal note, technical analysts are increasing bullish in general. I'm saying the next down stop for MSFT is 23, maybe 23.5. And it might not even make it that low prior to a break out above 26. Might be a really good short term ride as everyone starts piling on. Watch for it. |
|
| MS Dev Studio 6 and Dev Studio .NET COEXISTENCE | Sun 27 Apr | Codex |
| Can dev studio 6 and dev studio .NET can coexist on the same machine (OS)
Or if you try to install dev studio .NET it will overwritte dev studio 6 by updating it ? |
| Sun 27 Apr | JWA | Assuming that you mean Visual Studio 6 and Visual Studio .NET: yes, they can both be installed and live quite happily side-by-side.
You can slo have VS.NET and VS.NET 2003 side-by-side, but I'm not sure why you'd want to.
Regards,
--Josh |
| Sun 27 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | You can have all three side by side. You'd want the two VS.NETs side by side if you have projects that are targetting 1.0 (VS.NET 2003 cannot explicitly target 1.0, as it always compiles against 1.1, although you can 'ask' for 1.0 by using some configuration options). |
|
| Code reading | Sun 27 Apr | Codex |
|
I would like to read efficient, robust, clean code.
Can anyone recommend me some widely available source code to look at ?
Maybe a compiler or an OS ?
Something which is full of wonderfull tricks and where I can learn some stuffs from |
| Sun 27 Apr | Snyder |
Recommending...
http://msdn.microsoft.com/net/sscli/
Or...
http://www-124.ibm.com/developerworks/oss/jikesrvm/download/index.shtml
Or for something smaller,
http://www.sweetcode.org/
PSTZZZQ |
|
| Donald Knuth - The Art Of Programming Series | Sun 27 Apr | Codex |
|
Ive read somewhere that the Knuth books have got to be part of the bookshelf of any serious software engineer.
So I purchase volume 1 (Fundamental Algorithms)
And I find the book not very accessible,
its seems that you need to have a really strong mathematical background to learn anything from that stuffs.
Can anyone give me some technics, tools, tips to apprehend such material.
I would love to be able to understand the book at some point
Waiting for your advices :-)
Codex |
| Sun 27 Apr | Mike | 'it's seems that you need to have a really strong mathematical background to learn anything from that stuffs.'
it's seems that you need to have a really strong mathematical background to excel at a high level in a computer related field.
That's just the way it is. Some can do it, some can't. There is no shame. |
| Sun 27 Apr | choppy | Hm. Anyone can do math, it just requires practice. The Knuth books are probably not the best place to start.
The Knuth books are really hard. Basically, anyone recommending those books to you is lying; they did not read them. They are on many a wannabe's bookshelf though. (here's a tip for ersatz math/CS wannabes: you'll get further in life with art and photography books on your bookshelf; women won't think you are such a bore).
You can get a PhD in computer science from a top school without ever opening one of those books...the example code is in ASSEMBLER, for god's sake.
In any case, if you want to get hot and heavy with algorithms, I recommend typing in the code from the sedgewick 'algorithms in C' books to get a practical understanding of common algorithms, and getting the big fat Cormen/Leiserson/Rivest book as a reference.
If you get through those two books you'll probably know more than most people with a 'BS' in CS. |
| Sun 27 Apr | Julian | I've read the entire Cormen/Leiserson/Rivest book, and major chucks of The Art of Programming, but it hasn't been very helpful in my work. A thorough understanding of the Java Collection classes, or the equivalent in whatever language you're using, provides a lot more practical value. Few programmers have any reason to write their own sorting, searching, or arithmetic routines from scratch. |
| Sun 27 Apr | one programmer's opinion | Codex,
As someone else already mentioned you would be better off purchasing an algorithm book that uses a particular high-level programming language.
Theory vs. Practice
You seem to have mistaken computer science with software engineering.
Donald Knuth is a well-known computer scientist. Most computer scientists are researchers who study theorectical computer software/hardware related topics rather than practical topics. For example, computer science came up with the notion of formal specifications, a very mathematical way of representing software requirements. This mathematical approach is rarely used in practice because software requirements have this nasty habit of changing a lot during the lifespan of a software project. Even though most software developers find formal specifications to be useless this subject is still being taught and advocated within academia. |
| Sun 27 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | The importance in understanding the core data-types and algorithms today isn't so much so that you can write them, but so that you can select the right one to use (i.e., when to choose an array vs. a list vs. a set vs. a queue vs. a stack vs. ...). |
| Sun 27 Apr | Codex | One Programmer's Opinion :
I did read in a sofware enginering book that the formal method has been extensively used for some projects at NASA.
Dont know if they're still using it though ... |
| Sun 27 Apr | Michael Kohne | I've got all 3, and I have to say that I haven't done an in-depth read of them, but I have 'skimmed' all three to some degree and I can say they are helpful. I think of them more as a reference than a read (though I would like to read them when I have more time). I've skimmed the sorting/searching book completely, the others I delve into when I need them (I've gotten into the randomness testing stuff a couple of times, as well as some other stuff).
I also find them an occasionally useful as 'give me an idea' books - I flip through the TOC and index when I'm stuck and things will leap out and 'unstick' my brain.
As to them being Computer Science texts, not Software Engineering books: Well, yes. And our field (Software Engineering) is derived from academic research conduced by Computer Science types. While I wouldn't want to be an academic, I realize that if I don't have a good understanding of the underlying concepts, I'm NEVER going to do my best work. So I read O'Reilly books as well as computer science texts.
To put it more simply:
Everything we work with is an abstraction.
As Joel put it, abstractions leak (some more than others).
If you don't understand the underlying stuff, or how the abstraction is built, you can't understand the failures. |
|
| Programmer's Secretary | Sun 27 Apr | easy |
| Hi,
How would you define the task of secreatary of a programer. If manager have secreatary to help them and keep them on the track with information and work and meetings and appointment, how would secretarial jobs would help programmers to finish their task well?
easy.. |
| Sun 27 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Like a leprechaun: 'fantasy'. :-p
Seriously, I've never felt like I needed a secretary as a programmer. |
| Sun 27 Apr | murph | Once upon a time (18 years ago when I worked in a biggish company) we had programmer's assistants who were, more or less, PAs for a team of programmers.
In that instance there was enough administrative running around (literal running around to fetch and deliver stuff) to keep them busy.
Nowadays... well depending on the team there's probably still enough stuff for maybe half a dozen developers to keep an assistant busy one way and another - keeping minutes for a start, any number of other things. Whether there's a return on the investment is an entirely different question... |
| Sun 27 Apr | Daniel Shchyokin | I would describe it as 'project manager' |
| Sun 27 Apr | Philo | I would suggest that a project team should have a tech writer, and he/she should be amenable to performing some secretarial duties, but otherwise print your own damn memos. [grin]
Honestly - I'd be happier with a laser printer on my desk.
Philo |
| Sun 27 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Cheap laser and LED printers are available now. I suppose one advantage for the company to having a common laser printer is that the laziness factor for engineers means they'll print out less (because they have to get up and get it). :-p
I didn't really give it much thought, taking it for advantage, but you're right, I need to have a printer handy. |
| Sun 27 Apr | Julian | I'm used to there being an office manager, who deals with supplies, deliveries, answering phone calls on the general line, and other secretarial responsibilities. |
| Sun 27 Apr | easy | Hi,
I infact ask from programmatic perspective. ie.. If are a programmer and you are given the secretary, what type of work you would assign to secretary who can work for you. Programmers often have deadlines and if they have someone manage themselves yet not the boss or manager and who knows common stuff, that would be helpful. Assume you are programmer, what is the best way you can keep track of info, delieverd by someone and relavant to you which can make you a better programmer and speed to accomplish your goals. The one whose reach and vision are beyond computer tools to help you. |
|
| Installing Visual Studio Installer? | Sun 27 Apr | Herman |
| How do you install the Visual Studio Installer? The msdn documentation doesnt tell you how and it is not installed on my VS 6.0 Enterprise system and I have installed everything. I still cant create a Visual Studio Installer project because I am not given the option. I can create a zip or cab file, but not an Installer project. Maybe I should use a different installation package. |
| Sun 27 Apr | JWA | Hi Herman,
Do you mean the Package & Deployment Wizard? The shortcut to that is installed in the 'Microsoft Visual Studio 6.0 Tools' subdirectory of the 'Microsoft Visual Studio 6.0' folder in the programs menu.
As far as I know that's the only way to handle an installation project in VS6. It's a bit tedious the first time, but it does save the settings and in the end it works ok. I've had 3 versions of a shrink-wrap VB app selling in for two years using that installer, with few reported problems.
There are a few issues with uninstallations followed by renstallations on Win 98 and Me machines, but they are documented in MSDN.
Regards,
--Josh |
| Sun 27 Apr | Herman | Thanks for responding Josh. I am referring to the actual Visual Studio Installer which you are suppose to be able to run from Visual Interdev or Visual J++. |
| Sun 27 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I don't believe that it ships with Visual Studio. I seem to recall having to download it, but I could be wrong (maybe it was the MSI version you had to download).
Regardless, using a higher level installation tool is highly recommended. There are some free ones (like Nullsoft) and some commercial ones (like Wise). There's also some diseased ones, like Installshield, that are best to leave be. :-p |
|
| CVS Server setup in Redhat Linux 9 | Sun 27 Apr | Alai |
| Im trying to set up a CVS server on a fresh install of Redhat Linux 9, but from the FAQs Ive read, I need to execute a cvspserver command ... that I dont have. Ive looked through the CVS website and the RedHat website as well as the package management in RedHat to try to find out how to set it up. I realize that many things are not a matter of Click and its set up, but it seems like its a bit much to have this much trouble setting up whats supposed to be a very common source control system. Im thinking of just installing CVS for NT since that is easy to set up. I figured that I would at least find a FAQ that gave me a step by step for a current distribution.
--End Rant-- |
| Sun 27 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Are you sure you're not missing a space there? 'pserver' is a valid command to give to cvs. |
| Sun 27 Apr | Roland Kaufmann | I don't know if this information still applies to the latest version of RedHat, but the last time I did this, it went something like this:
The 'classical' way to do this is to add an entry in /etc/services that tells the portnumber on which the server is going to run, and I believe that's where the 'cvspserver' comes from:
cvspserver 2401/tcp
and then instruct the superserver to start up the CVS program when someone contact this port, by adding the following line in /etc/inetd.conf (all on one line)
cvspserver stream tcp nowait <> /usr/bin/cvs --allow-root=<> pserver
where <> is the user account under which the CVS server should run, and <> is the 'home' directory of this user.
Under newer versions of RedHat, I think that the superserver has been replaced with a new version that has better firewall capabilities and that it should rather be set up with the following entry in a file called /etc/xinetd.d/cvs
service cvs {
flags = REUSE
socket_type = stream
wait = no
port = 2401
user = <>
group = <>
server = /usr/bin/cvs
# following setting on one line, not two
server_args = --allow-root=<> -b /usr/bin pserver
only_from = 192.168.0.0/16
disable = no
}
note that here a user <> must be specified in addition to the two other parameters mentioned above and that there is a restriction on the hosts that are allowed to contact the server, and the mask must be edited accordingly.
However, you should rather consider to connect to the server with SSH instead of pserver, IMHO. |
| Sun 27 Apr | Roland Kaufmann | One more thing; you will have to 'hup' the superserver before the changes in the files take effect, using
pkill -HUP xinetd
I assume that you have already initialized the CVS repository in the 'home' directory? |
| Sun 27 Apr | Giovanni Corriga | Place this in a file named /etc/xinetd.d/cvspserver
service cvspserver
{
# disable = yes
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
server_args = -f --allow-root=/usr/local/cvsroot pserver
}
Change /usr/local/cvsroot to the base directory of your cvs repository.
Then as root type 'service xinetd restart', and your CVS server will be ready. |
| Sun 27 Apr | Giovanni Corriga | Warning: my solution is a nightmare from a security standpoint, but it's good enought to give you a working CVS server.
Take a look at the Cederqvist http://www.cvshome.org/docs/manual/cvs.html to learn how to secure your CVS server. |
|
| Smoking | Sun 27 Apr | suhu |
| I used to be on off smoker. By on meaning a couple of sticks a week and stuff but lately I seem to be smoking a lot (one pack a day). Have not been getting to much work lately (freelance programmer) and have too much time on my hands for my own good.
Any of you been through this and managed to cut down or give it up for good.
thanks in advance for any suggestions. |
| Sun 27 Apr | choppy | hey. smoking is rough. i used to smoke 2 - 3 packs a day. how i gave it up... is i moved to florida for about 4 months.
i've read that the best way to quit smoking is to change your environment. it is easier to quit cold turkey if you leave your normal routine for a while.
i lived in NYC...and i smoked when i walked around. then i moved to tokyo...where EVERYONE smokes...AND smokes were like $2.00 a pack.. then i decided i was probably going to die at age 35 if i kept up the smoking... so i found a contract in florida... and just went to the gym in the AM and the beach after work... and managed to cut it out. now in a bar i literally almost barf if offered a smoke... so...
i dont know if it is practical for you to change your environs... but if you can, i would do so. truly, smoking is enjoyable...but horrible for your body... so if you can... move to the beach for a while...give it up. you'll never go back |
| Sun 27 Apr | Stephen Jones | I smoked four packs a day for thirty-two years and gave up fifteen months ago.
The change of environment in this case was an intensive care unit on a drip feed with anything by mouth banned for a week.
I couldn't be bothered to take up smoking again afterwards. But I have gained nearly 20lbs weight, and actually feel no healthier (in fact slightly worse) than when I was on four packs a day.
Giving up does has an effect on carpets, furniture and clothes though, as they no longer are covered in cigarette burns. |
| Sun 27 Apr | Just me (Sir to you) | Analyse where and when you smoke.
Avoid smoking at places or during activities where you spend most of the day (e.g. at the desk, on the couch etc.)
Don't get into the black and white thinking (You are either a smoker or you must quit 100%) This polarization is extreme and unproductive.
Enjoy a few smokes in 'special' circumstances, but do not get into just smoking routinely. |
| Sun 27 Apr | S.C. | Quitting smoking is easy. I've done that many times... |
| Sun 27 Apr | The Real PC | [and actually feel no healthier (in fact slightly worse)]
This is wrong wrong wrong.
Either you don't exercise at all (and that is practically guaranteed to make you feel bad) or your lungs were so damaged from smoking they did not recover. But as far as I know that isn't possible, and they always can recover somewhat.
Everyone MUST exercise -- we are animals, not plants, and circulation will not function correctly if your muscles never move. In addition to exercise, you have to re-learn how to breath. Smokers forget how to breath and their lungs have barely any capacity. You smoked for such a long time you may have completely forgotten how to breath and are surviving on a bare minimum of oxygen. This is no good for your brain and will prevent you from thinking clearly, and your programs will be full of bugs! |
| Sun 27 Apr | Ron Porter | I agree with the 'change environment' comment, but would add that 'change routine' or 'substitute healthy habit' may be just as (or more!) effective. The way I did was to do some exercise every time I felt like a smoke:
Have breakfast: 10 min. stretching exercises
Coffe break: situps
Lunch: walk around block
Coffee break: chin ups
Supper: bike ride
Sit around watching TV: more stretches
Before long I was almost as addicted to these healthy activities as I had previously been to cigarettes. Bonus result: I'm the only person I know that *lost* weight as a result of quitting!
Good luck! |
| Sun 27 Apr | Stephen Jones | Dear PC,
Why not exercise your brain for once and give your fingers a rest.
You may have decided that anti-smoking is the new religion, but you know nothing about my lungs, my health, the amount of exercise I take or anything else.
The day I want a remote diagonosis I'll consult an online astrologer. He can't know any less than you. |
| Sun 27 Apr | Phil | I smoke a few sticks when I want to (usually after some food) and also have quite some free time available when enough cash is on my account.
I choose to go to the gym when I've nothing special to do (or read books, or call prospects).
The results are quite good:
- I met new friends
- My body is in much better shape
- I can concentrate on programming tasks better
- My willpower has been enhanced significantly
But I keep on smoking some sticks. But I do not want to be under the control of nicotine or any other thing (especially a boss). You said you are a freelancer, so I guess that freedom is also an important value for you. |
| Sun 27 Apr | The Real PC | Stephen,
It does not require any psychic powers to know that a person who smokes 4 packs of cigarets a day for 30 years has damaged lungs! If you did not feel any improvement after quitting, something definitely is wrong.
But I have another theory -- you actually do feel better but you hate us anti-smoking fanatics so much you won't admit it. |
| Sun 27 Apr | choppy | nicotine is a stimulant and antidepressant, so when you quit smoking the chances are likely that you will feel very sluggish. you certainly do not immediately feel 'better.'
that is one reason i chose florida to quit cold turkey. i tried to quit many times in the northeast and could not because i needed some fix to stave away the winter blues.
smoking is a weird beast, certainly there are obvious health issues. But, i know a lot of bike messengers, and they all smoke like chimmneys. |
| Sun 27 Apr | Eric Debois | Im smoking now but a few years ago I managed to stay quit for a year. (I started again because of a change in environment and life circumstances.)
Well, the way I quit that time was quite weird. Being young and reckless I ate some psychedelic Magic Mushrooms when the opportunity presented itself. That in it self was a strange adventure (ordeal might be a better word), and during the intoxication I tried to smoke.
The mushrooms had made med tremendously sensitive though, and the experince of pulling poisonus smoke into one of the most delicate organs in the body was excruciating. I felt so sick from it that it took 6 months before I even considred having a smoke again. I decided att that point not to pick it up again..
The memory of the experince faded however. When I found my self in a situation where smoking offred some comfort as well as quick way of finding freinds in a place where I had none, I started again.
I have actually considred getting hold of some mushrooms again just to help me quit, but I wouldnt know where to start looking. For better or worse. |
| Sun 27 Apr | Bored Bystander | >> Being young and reckless I ate some psychedelic Magic
>>Mushrooms when the opportunity presented itself.
>> during the intoxication I tried to smoke.
>> The mushrooms had made med tremendously sensitive though, and the experince of pulling poisonus smoke into one of the most delicate organs in the body was excruciating. I felt so sick from it that it took 6 months before I even considred having a smoke again.
This sounds like the Ludovico treatment in 'A Clockwork Orange'. (IE: the scenes where Alex is strapped down in a theatre watching sex and viloence movies and being given nausea drugs in order to make him associate barfing with 'uh, the old in-out, luv.')
But a self administered Ludovico treatment is a new one on me. Hey, whatever works. :-) |
|
| Array to worksheet... fast | Sat 26 Apr | #If |
| Anyone know of a faster way to fill an Excel worksheet with an array other than iterating the Rows/Columns?
Thanks |
| Sat 26 Apr | njkayaker | Paste it as tab-delimited text into the sheet (you can do this programmatically). |
| Sat 26 Apr | Duncan Smart | You can assign the array to the range! |
| Sat 26 Apr | Duncan Smart | ... that's if it's a VB-style (variant) array. |
| Sun 27 Apr | Adrian Gilby | Don't forget to turn off window updates while the copy is in progress. It's been a while since I did Excel VBA, but I recall it made a huge difference. |
| Sun 27 Apr | #If | Thanks guys... works like a chucking farm! |
|
| WiFi in EMF sensitive environments | Sat 26 Apr | David Roper |
| Can anyone tell me whether WiFi networking is permissible in hospital wards? My local acute hospital insists that everyone turns off their mobile phone one entering, the published explanation being that the signals that phones regularly send to inform the network as to which cell they are in can interfer with monitoring and other equipment. This is the same explanation as given by airlines and may just be precautionary rather than a serious threat to safety.
Even so, if its true for phones, is/will it also hold for WiFi frequencies/energies? |
| Sat 26 Apr | www.marktaw.com | If it's in the same frequency band, I'd steer clear.
If it's in different frequency band, I'd steer clear. |
| Sat 26 Apr | Stephen Jones | We have some old, old language labs and we play tapes from a tape deck throuigh two wall speakers. If the students have the mobile phones switched on, even though they are not being used, the interference comes through the speakers and makes the tape uniintelligible.
When I was at colllege all the police walky-talkies used to come through the stereo. Great if you wanted to avoid being busted!
There are some reported cases of input put on HP wireless keyboards being inputted on computers five or ten houses down the street.
I have two Satellite TV decoders that come from the same manufacturer, though they have been customized for each separate digital package. There is no way I can remotely change channel on one decoder without digitally changing it on another. |
| Sat 26 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | 802.11a almost certainly is not interfering with anything, as it's 5GHz. 802.11b and g, on the other hand, live in the rather noisy and crowded 2.4GHz band. Cell phones do not operate in either band, though. |
| Sat 26 Apr | choppy | david, the hospital where I work does have a WiFi network in the wards. |
| Sat 26 Apr | raindog | Re: cell phones in airplanes:
There's no evidence that cell phones affect plane equipment. The main reason they ban cell phones is purely economic: the airlines receive a cut of the revenues from the telephones installed onboard.
http://zdnet.com.com/2100-11-501431.html?legacy=zdnn |
| Sat 26 Apr | Michael Kohne | You need to work closely with the hospital's biomed department. I've worked on medical equipment before (an EEG monitor called the Neurotrac II). Depending on the equipment, some of it (especially EEG gear) can be VERY sensitive to noise. And radio signals can do all sorts of wierd and unexpected things inside a building, some of which can cause a very high-frequency signal to alias down into very low bands and interfere with things that you wouldn't expect.
In short: Have a long heart-to-heart with the hospital's biomedical engineering folks (the ones who put a 'safe for patient use' sticker on every piece of equipment). They can give you the best advice. If it's feasable, consider avoiding wireless unless you are sure what sort of gear is going to be in use.
My one, true rule for dealing with medical gear: Would you let them put you in that ward/use that thing on you? If not, you've screwed up - start over.
(Yes, I did have my EEG done by our in-house people. I also had an evoked potential study done by our folks, using our gear, as part of evaluating the equipment.) |
| Sun 27 Apr | Robby | I think the cell phone rule on airplanes is an FCC rule, not an FAA rule. It's not designed so much for interference with flight systems, as it is to prevent problems or 'free calls' on cellular networks when you're up at 30,000 ft. From there, you're within line-of-site of thousands of cellular towers.
I've read reports of people not getting charged for cellular calls at that altitude because the cell-switching software couldn't keep up with the speed with which calls were passed from cell to cell. |
| Sun 27 Apr | Robby | On the hospital issue (which was the original question anyway), I would hope that all electronic hospital equipment is tested to be resistant to any publicly available frequency spectrum. Since WIFI operates in such a frequency theoretically those devices should be OK. |
| Sun 27 Apr | David Roper | Thanks everyone.
I would like to think that critical hospital equipment would be built to be as immune to RF interference as possible, not least because all those CRT screens, fluorescent lights etc. etc. are themselves RF emitters. You'd hope that any analogue cable runs used shielded cables and that digital protocols would be robust against the occasional interference induced glitch.
What caught me by surprise recently was a fault with my ISDN connection. When British Telecom came to fix it, it transpired that their standard cable doesn't use shielding around each pair to avoid crosstalk. Instead, each time they step from one run of cable to another they just switch around the conductor pairs so that crosstalk induced between between different cable pairs tends to cancel. Well, this may be OK for a voice circuit as it'll just get a bit more hiss and crackle, but it sure doesn't work for digital unless everything else is perfect! |
|
| rigerous tech interviews | Fri 25 Apr | Scott |
| I recently went through a rigerous technical interview,
around 3 and half hours( I got the position), where I was asked pretty much everything cs related from OOP,data structures, algorithms, cryptography,OS,threads,sockets, shell scripts, automata theory, reg expressions, database queries, C++,Java, pretty much everything.
The questions both tested knowledge as well as doing problem solving given a problem.
I found the whole thing pretty draining, being asked around 50 questions in all, can other people share some of their experiences, have people been through these types of all inclusive inteviews for soft. dev positions? |
| Fri 25 Apr | anon | You don't want any job where you don't get interviewed like that.
Think about it - would you rather work with people who know their stuff, or who know what their biggest weakness is, and where they see themselves in five years? |
| Fri 25 Apr | Curious | What was this position for? I have never had any interviews like this or even close to this. I also have never used most of what I know. Do you live in the USA? |
| Fri 25 Apr | SteveM | Well congrats on getting the job, personally I would've told them where to stick it! (Assuming I could afford to ;-)
If they make you go through that before they'll offer the job, what the hell are they going to be like to work for?
My guess is we'll find out soon :-))) |
| Fri 25 Apr | Scott | The position is in the states, small company, around 7-8 software developers. The owner of the company has some software patents, and most of the developers are 'toppers' from Berkley, stanford etc....
I seem to be the most underqualified among all of them.
But I don't know why I was asked such a variety of questions. |
| Fri 25 Apr | Scott | Oh.. I also had to give 5 -6 samples of C++ code |
| Fri 25 Apr | Curious | Well to get a patent takes almost nothing except filling out paperwork. You don't even need a working product just the idea. I worked with a guy who had 80 patents...of ideas only. I am still curious to know what area you will be working in, is there a product involved? |
| Fri 25 Apr | Scott | A few products, mostly regular applications, ERP systems, some algorithm development withrt. to info retreival,
mostly business applications in C++,Java |
| Fri 25 Apr | Bored Bystander | >> A few products, mostly regular applications, ERP systems, some algorithm development withrt. to info retreival,
mostly business applications in C++,Java
And they grilled you like they were looking for Stephen Hawking's clone.
I know that a lot of techies will say 'great! a really meaningful interview where the interviewers really know their shit, and they hand picked the absolute best candidate!' The 'appeal to geek vanity' approach.
I don't agree with this thinking at all. Again, I say that tests and interviews like this are inherently flawed. They are associated with a presumptions that verbal mastery of the subjects is equivalent to ability to perform. Mainly they're a self indulgence of egotistical companies with too much time on their hands to waste expressing their presumed superiority with a bunch of BS questions.
It *could* be that such an interview process rejects several candidates that may be superior picks but who don't verbalize answers well or think on their feet in a test situation. The job's going to be writing code, not taking tests.
Why is it that so few techies see this, and the most gifted techies are seduced by a surface impression of a 'meritocracy' that is basically just someone's huge ego at work? It's biz-apps, not primary research into cryptography, for pete's sake. And not having the street smarts to see this is a failing of most geekly types. (Scott, I'm not saying that the job isn't worthwhile or the employer's intentions are not honorable, I'm just saying that the stuff that people raise up as a 'must have' often never even gets used in real life.)
I guess it's similar to the way that the prettiest girls in high school treat guys like crap and make them jump through ridiculous hoops. Act like you're unapproachable, set up some process moronically obtrusive for a 'standard', and become highly desirable.... |
| Fri 25 Apr | Scott | That's what they kept telling me, they are extremely selective... although I don't know if this kind of tech. interview is the way to weed out applicants.
I was asked to describe Dijstra's shorteest path algorithm, and Kruskal's algorithm from graph theory, I did not even remember them , and I'm sure most techies won't. |
| Fri 25 Apr | Curious | I have to agree with Bored Bystander.
I hope you actually will be using a tenth of what they quizzed you on and that your coworkers truly are 'toppers'. Anyway, its a bad market so be happy you at least have a job. It will be a learning experience in IT and real world business. |
| Fri 25 Apr | Dimitri. | Ha ha ha sounds like fun. SteveM said it exactly like I would.
I would guess that the owner (or the interviewer) is some academic that just wanted to see if you know what 'a good programmer SHOULD know'. No disrespect for academics, being one myself, mostly, but some can get rather religious about things of no real importance (like computer 'science', for example)...
We where once open for a PhD position. Lots of applications, all possible people. We finally sorted them down to five people. One of them had finished with top grades (and I mean, top, they where all max) but when we asked him if one particular area sounds interesting, he said, 'shure, that is interesting'. And what about that other one? 'Shure, that too'. And so on. And another guy had medium grades, some where top but most where medium, but he had really interesting ideas and was passionate about certain problems. And when he got started he could really go on about something. And yes he was smart. Can you guess who we hired?
You're wrong. We got the girl with the big tits.
No, just kidding. There was no girl with big tits among the applicants, so we settled for the guy with medium grades.
So the conclusion is that I'm wasting my time like an idiot in cs when I should be out going to movie director school right now. |
| Fri 25 Apr | Philo | A senior manager at one place I worked was proud of one interview question - 'Name the layers in the OSI model'
He said 'only one person I ever interviewed got it right'
My reply was 'maybe that's more an indicator of the value of the question than the applicants...'
Philo |
| Fri 25 Apr | | Interviews like that are about boosting the ego's of the hirers, who will generally be recently out of, or closely tied with, formal learning experience (uni) where they've done all those questions in exams.
Your comment about you being the least qualified sums it up. That's the way they want things to be; that you know they're the best.
That approach is actually 1-dimensional and, in my considerable experience, those outfits don't generate good product. They get a first round of funding OK. But not a second. |
| Fri 25 Apr | Prakash S | Bored,
Interesting reply, how would you interview a person for..lets say a software development position. |
| Fri 25 Apr | one programmer's opinion | I have been through all types of interviews.
* The group interview
* The meet the department manager interview
* The meet several people in a row interview
* The meet the HR/Recruiter interview and then take a battery of online tests interview.
* The meet the HR rep but don't take any tests interview. Note: had one guy gall to tell me 'I can't hire you but I just had to meet you'
* The interview with the team lead and project manager interview
However, I have never had an interview where I was verbally grilled for over 3.5 hours on technical issues! That said, I don't have a problem with this type of interview as long as most of the questions that were asked during the interview truly apply to what you the job candidate will be doing once you get hired. |
| Fri 25 Apr | Scott | Doesn't microsoft do something like this in their interviews, or so I heard? |
| Sat 26 Apr | Bored Bystander | >> Interesting reply, how would you interview a person for..lets say a software development position.
I'd ask the person to submit to one of the following tests when they interview:
- Implement the solution to a coding problem on the spot. They would be given a goal, or they would be asked to formulate a goal, and would be asked to develop a solution in a given time frame. They would have access to a PC loaded with the tool du jour.
- or -
- Bring in compilable source code on some media. Ask them to load it into the development environment, and demonstrate the code. Ask them to discuss any design tradeoffs or unique problems encountered during development. Ask them to walk through debugging of any interesting functionality in the code.
The point isn't to stress them. The point is to see if they can actually do the work and can talk intelligently about it. The only way to really know is to ask the candidate to demonstrate their craft. A secondary benefit of this would be to determine if they can work with the interviewer.
Some programmers (as well as other IT niches) have this highly defensive personalized 'thing' against any sort of actual code demonstration. They claim that it's like being made to 'perform' like an organ grinder monkey. I think that viewpoint is erroneous, because it's quite possible to BS as though you know the material, yet be effectively unable to synthesize a result from the raw materials.
Actually, I think that companies hiring in this field with a 'black and white' mentality are in error. They think that they have to make a multi-year commitment based upon a few conversations. Why don't companies do the intelligent thing and try the candidate out on a moonlight basis on contract for a couple of weeks?
Everyone wants to jump off a cliff, which results in total anality of the decision making. Instead, take the pressure off and do a trial run of the new hire, with no make or break decision made based only upon talk. |
| Sat 26 Apr | Prakash S | Makes sense, thanks. |
| Sat 26 Apr | Simon Lucy | 'Name the layers in the OSI model'
Bum I could answer that question.
Those kind of interviews strike me as more a lack of being able to conduct a conversation than anything else, a cast of mind that there are verifiable objective facts about a person which make them more likely to fit in. In reality, if you get to the interview people's minds are made up within around 30 seconds. |
| Sat 26 Apr | M.M. | Last interview, i had to write a bit in C (with pointer + bit arithmetics).
I had to write stuff on paper - and i was told that the stuff must compile correctly and that it has to work.
Then they took my sheet of paper - and returned it (you got errors!).
Don't know what they did with the stuff - i didn't see the reviewer, just the girl from HR
Needless to say that i felt like a piece of shit afterwards.
Anybody with a similar experience? |
| Sat 26 Apr | Philo | When I'm being interviewed I generally make anecdotal comments about the topic I'm being interviewed about. The kinds of jokes/observations/gripes that you generally only make when you've worked in the environment.
For example, once an interviewer asked me 'what is the default timeout on IIS?' I answered '900 seconds, but I always shorten it to 45'
'How come?'
'I used to forget movenext's a lot'
The interview was effectively a pass at that point, and I got the job offer.
As an interviewer, I try to ask the same types of questions - as Joel points out, I want to know as much about personality as knowledge, and I think you learn more about experience by looking for anecdotal comments as from grilling.
Philo |
| Sat 26 Apr | Curious | You guys must be doing some interesting programming. I have never been asked or even come across any of the above comments in the real world. I just contract for large companies mainly doing ERP and datawarehousing; it's incredibly dull but you make so much that it's not worth doing the hard stuff. |
| Sat 26 Apr | one programmer's opinion | Bored Bystander wrote, 'Implement the solution to a coding problem on the spot...'
My guess is that some employers already do what you are advocating. However, I bet those that do only offer one type of coding problem test. While it seems to me that it wouldn't be too difficult to create a 'you have 2 hours to build me a GUI based tool program' type of test such as -- create a calculator program -- I am not sure how fair such a test would be if the person being asked to take the test claims to have mostly server-side development experience or specializes in some other aspect of software programming.
Bored Bystander wrote, 'Bring in compilable source code on some media. Ask them to load it into the development environment, and demonstrate the code. Ask them to discuss any design tradeoffs or unique problems encountered during development. Ask them to walk through debugging of any interesting functionality in the code'
I like this idea and I also like the idea of allowing for 'flexibility' or more than one way to prove that you know what you claim to know. Also, I agree with the contract-to-hire philosophy as well. |
| Sat 26 Apr | one programmer's opinion | Hi Curious,
If you don't mind could you explain how the interview process typically works for you.
Money wise, ERP and data warehousing work is great stuff to be doing. However, not too many people have the knowledge and appropriate prior work experience to be offered this type of work.
I am assuming that you send your resume to various staffing firms and they simply checkout your past clients/employers and then submit your resume to the corporate client looking for help. |
| Sat 26 Apr | Curious | If you don't mind could you explain how the interview process typically works for you.
There isn't one.
Money wise, ERP and data warehousing work is great stuff to be doing. However, not too many people have the knowledge and appropriate prior work experience to be offered this type of work.
If you know half of what was discussed on this thread then you know more thant 90% of ERP / datawarehousing 'professionals'. |
| Sun 27 Apr | B | That is how I have been interviewed and how I interview now. I dont see a problem with this method. I've probably been interviewed 15 times and have interviewed about 40, so far so good. Bonehead hired 0. Heck, I didnt take a company seriously if they didnt offer a hard interview. But then again I am a hardcore programmer, with the ego to match. |
| Sun 27 Apr | | 'what is the default timeout on IIS?'
That sounds like a question tailor made for MCXX 'pros'. |
| Sun 27 Apr | T. Norman | 'Bonehead hired 0.'
Ok, you hired no boneheads, but of that 40 how many people did you hire?
I think strong technical interviews are a good idea, but if they are so ridiculous that nobody can survive them -- especially if many of your own employees couldn't survive them -- they can cause you to miss out on hiring good people. |
| Sun 27 Apr | Scott | how much technical is too technical? |
| Sun 27 Apr | Philo | 'what is the default timeout on IIS?'
You should know it if you do web development, since it's the number you have to change because it's too damn long. It's an indicator as to whether the interviewee has ever dealt with IIS on their own machine. And from my perspective, 'I don't know, but I know it's too long so I always change it' might be an acceptable answer.
BTW, I never asked that question, and I don't think I ever would, but it's the kind of question that shows if someone's done more than simply open visual studio, type, compile, run.
Philo |
| Sun 27 Apr | | Maybe it's too damn long because you don't know how to properly program high performance web applications? |
| Sun 27 Apr | | Ok, maybe that was a little harsh, but my point is that the timeout is not a one-size-fits-all setting. It's naive and senseless to say that it's 'too damn long'.
Many moons ago I worked on a project that never changed the default timeout. Why? Because it was an internal client/server app where both parts were custom coded. It was never an issue. An 'inactive' client app still sent an ack, and we always terminated our connection when the app exited. |
| Sun 27 Apr | realist | My time is far too valuable to set aside 3-5 hours for an unknown ERP application developer with some unprofitable patents.
I would designate 45min - 1hour to talk to this type of organisation. |
| Sun 27 Apr | Philo | Heh.
[candidate checks watch]
'Are you guys done yet? I'm getting concerned about an organization that can't judge an individual's talent in under two hours.'
Man that would take some cojones...
Philo |
|
| Bigint lib (up to 300^60000) | Fri 25 Apr | na |
| I need a library or some math intro how to handle integers up to 300^60000. Any idea? |
| Fri 25 Apr | Roel Schroeven | One possibility is the GNU MP library (http://www.swox.com/gmp/). |
| Fri 25 Apr | Li-fan Chen | Problem with most large number (large integer big integer) libraries is that they don't have a ActiveX wrapper around them. .Net SDK and Java both have large number libraries.
-- David |
| Fri 25 Apr | S.C. | No matter how smart your bigint library is, you just cannot
handle numbers that large, considering the total number
of atoms in the the universe is about 10^80. If you are talking about arbitrary numbers, this is unrealistic neither in terms of space complexity nor time complexity.
If you are dealing with special numbers only, like those with most digits zeros, of course it can be done. But I think you have to write your own library. |
| Fri 25 Apr | na | cool, seems to work fine.
thx |
| Fri 25 Apr | na | s.c.
even if there are 10^80 atoms in the universe it doesn't mean that you cannot represent it with a few chars. in this case 5 chars: 10^80 |
| Fri 25 Apr | | If you want ot represent it in chars, why do you want a big int library? I know, I know, in C char and int can be equivalent. Maybe instead of a big int library you could just write the chars in a large font?
(Okay, its Friday, and this is getting silly) |
| Fri 25 Apr | Frederik Slijkerman | You cannot represent 10^80 different values without having at least as many bits to store a value in. Assuming that you need one atom per bit, etc... |
| Fri 25 Apr | Just me (Sir to you) | Common Lisp has this built in. You could use Allegro ( http://www.franz.com/products/ ) but there are easier solutions.
http://www.codeproject.com/csharp/BigInteger.asp
(never used this myself though) |
| Fri 25 Apr | Mike McNertney | na: Representing the number '10^80' and representing 10^80 different values are very different things. As you said you can represent the number in 5 characters, but to represent that many different values you need far more information.
However, Frederik was wrong on an important point. You don't need 10^80 bits to represent 10^80 values. You need log2(10^80) bits. This is only around 266 bits.
To represent 300^60000 different values, you need log2(300^60000) bits, which is only about 500,000 bits. |
| Fri 25 Apr | Eric Lippert | Frederik, I think your math is not quite right. The number of bits required to store any integer from 0 to n is the base-2 log of n.
10 ^ 80 < 16 ^ 80 = 2 ^ 320.
So 320 bits would more than do it.
300^60000 < 512 ^ 60000 = 2 ^ 540000, so you'd need around half a million bits per integer. That means that adding two integers would take a little less than one meg.
I hope you've got a lot of ram.
Now I'm curious -- what's the application?
Eric |
| Fri 25 Apr | Mike McNertney | Furthermore, even without the conversion to binary, it is pretty silly to claim that you can't represent 10^80 different values, considering you can do so with an 80 character string of digits. ;) |
| Fri 25 Apr | Eric Lippert | Jinx. |
| Fri 25 Apr | Gareth McCaughan | To clear up the 'number of atoms in the universe' thing:
To represent 10^80 different values at one bit per
atom you need log_2(10^80) atoms. That's less
than 300 atoms.
If there are 10^80 atoms in the universe and you
encode one bit into each atom somehow, then
the largest number you can represent will have
10^80 *bits*, so it will be about 2^(10^80)
in size.
That's a lot bigger than 300^60000. To represent
numbers up to 300^60000, you need log_2(300^60000)
bits, or about 500k bits, or about 60k bytes. |
| Fri 25 Apr | Gareth McCaughan | Ahem. I'd like to mention that the last 5 replies
weren't there when I followed the 'Reply' link. :-)
By the way, anyone following the suggestion to
use Common Lisp might want to consider using
the implementation called CLISP rather than any
of the commercial ones if bignum operations make up
a lot of the runtime. CLISP's bignum implementation
is based on GMP, and it's faster than any of its
rivals. (GMP is, I think, the fastest bignum library
around.) On the other hand, because CLISP doesn't
compile to native code it's generally the *slowest*
Common Lisp implementation for everything other
than bignums. :-)
(Python has fairly well integrated bignums too.) |
| Fri 25 Apr | Dennis Atkins | SC & Frederick,
I think you're confusing matters.
10^ 80 = 100000000000000000000000000000000000000000000000000000000000000000000000000000000
So, representing and working with these numbers is no problem at all. What you can't have is a computer with 10^80 bits of memory. But that's something entirely different. Your own computer has probably 8 gigabits of Ram, right? But you are still able to work with numbers larger than 8 billion... |
| Fri 25 Apr | Andrew Murray | Please pardon me if this is ignorant, I'm just a student at University, but doesn't bigint storage in actuallity require far more than log2(n) bits in actuallity?
One would think that in order to implement truly unbounded integers in a archetecture independant way, one would need to use a list based data structure (I'm currently writing my own math library using this technique, just to learn). Thus, for each digit, one needs space for the number and a pointer to the next digit...
Am I wrong? Is there a better way of doing this? |
| Fri 25 Apr | Steven C. | Well to be sure you need some overhead, but you could also do it array style: one int which tells us the length of the array, and then an array of bytes, with the last byte 0 padded as necessary. Interpret this as a number by appending them (in whichever endianness makes you happy).
or however you want to implement it. |
| Fri 25 Apr | Andrew Murray | Steven,
But what if, on any given archetecture, the length of the unbounded integer in question is greater than the largest integer size? |
| Sat 26 Apr | S.C. | You guys are right. I guess I was thinking about certain particular problems when I made that stupid mistake.
The largest known prime number is (2^13466917)-1 which has 4053946 digits. This was found by Michael Cameron and other guys in 2001. It took an 800 MHz AMD T-Bird 42 days.
So I think 300^60000 is quite safe. And good luck with your big ints. |
| Sun 27 Apr | Frederik Slijkerman | Apologies for the stupid mistake... :-) |
|
| Good Commercials | Thu 24 Apr | Albert D. Kallal |
|
The recent discussion about good commercials raises a interesting question:
Why do companies not make these good commercials more readily available?
Wendy’s commercials, and even some from Hertz rent a car are classics. Yet going to those sites does provide any links for viewing of commercials?
I am sure we would all love to view those Apple Commercials. Especially those classes like “1984” super bowel.
Of course, the IBM’s commercials are also terrific. They can be viewed at:
http://www-3.ibm.com/e-business/doc/content/ondemand/tvspot.html
Those IBM commercials were just put up last week, and no doubt this was due to requests.
For sure, any good move site has trailers that are of course commercials. Sites like Star Wars and the matrix fully realize the consumer pent up demand for commercials.
And, many even try to out do each other. For the example the new matrix trailer is whopping 100 megs in size, and 1024 across in size. This is quality far beyond what you get with dvd. You also need at lest a 1.2 ghz pc or better to even view such a large trailer. ( there of course smaller ones available too).
http://whatisthematrix.warnerbros.com/
It seems so obvious to make commercials available? I love watching them, and to feed consumers desires to view good commercials seem very logical to me.
I think companies are not using their web sites well when then fail to include good commericals.
Albert D. Kallal
Edmonton, Alberta Canada
Kallal@msn.com |
| Thu 24 Apr | Philo | Can you believe that companies refused to pay adcritic to run their ads? Adcritic was a top ten site when they were around, and people went there voluntarily (and sent their friends there!) to see good ads.
If Adcritic was charging a reasonable price, I'm sure it would be cheaper than Superbowl time and reach more eyes.
Philo |
| Thu 24 Apr | Spam | Just a thought, but is it possible that the purpose of the commercial is solely to get you to the website, and once you're there, the need is gone?
I don't think so, but it's a thought.
Advertising is a pretty strange subject though. I recently watched one documentary about the use of sports stars in advertising, in this case Michael Jordan appearing in Nike commercials. The researchers in that situation had deduced (somehow?) that Mr. Jordan himself had little direct effect on sales, but rather his endorsement was a moral booster for Nike staff, and especially Nike salesmen.
That sounds suspect to me, but after the success of Google, who can really predict the usefulness of advertising? |
| Thu 24 Apr | Philo@shamelessSelfPromotion.com | My current theory is that competitive advertising (coke vs. pepsi) is a waste of money - people have a preference and are unlikely to be swayed by evangelism.
OTOH, *expository* advertising can be worthwhile - showing that a new product is available, or has new features.
The funny thing is that I believe more money goes into the first kind, since established brands and products have more money to spend...
Philo |
| Thu 24 Apr | S | As far as I can remember from a course I took back in college, there are 2 main reasons why you do commercials:
- inform people about new products
- remind people about your product.
Coke and Pepsi would fall in the second category. There seems to be a need for people to be reminded that their products are cool; otherwise, they just stop buying it. Unfortunately, I can't give you a good example of a product that stopped doing commercials and tanked afterward. Although I have a vague suspicion that Clearly Canadian died because of it and Snapple (who hasn't put out a commercial in a few years) is in the same boat.
Also, many commercials are targeted at kids because kids haven't made up their mind yet on which one they like best and can be heavily influenced by celebrities. |
| Thu 24 Apr | Kyralessa | 'Unfortunately, I can't give you a good example of a product that stopped doing commercials and tanked afterward.'
That's a very funny comment if you think about it. :) |
| Thu 24 Apr | Jason |
Why do tobacco companies bother to advertise? They must spend hundreds of millions a year. I've always suspected that if some brave CEO were to cut advertising, his expenses would drop drastically, and his revenue would only take a minor hit, really bumping overall profits.
Not that I want to encourage smoking... |
| Thu 24 Apr | Devil's Advocate | Philo - (Re: Competitive advertising)
That just reminded me of the situation about 10 yrs ago ('94, I think) here in the states where the price of almost every kind of breakfast cereal jumped 25-50% in about 3 months.
There was a Congressional investigation alleging collusion and price fixing, but it turned out that the big 3 cereal companies were simply laying the advertising on thick and passing the costs on.
IIRC, that's about the time I started seeing a lot of generic breakfast cereals in my supermarket. |
| Thu 24 Apr | Philo | S-
I still believe that people don't 'forget' about mainstream products. Are people really going to forget that Coca-Cola exists?
A counter-example: Tivo has radically restricted their advertising budget, because they've found their best salespeople are their customers and they don't *need* an advertising budget. So watch Tivo and see how they do.
Philo |
| Thu 24 Apr | Albert D. Kallal | > Can you believe that companies refused to pay adcritic to run their ads? Adcritic was a top ten site
That was one of my favorite sites (as mentioned, I do like commercials). I even have about 30 or more them that I have saved on my computer. A large number of them came from AdCritic.
I suspect that companies did not want to have to pay AdCritic. After all, does Pepsi want to pay AdCritic for running a 2 year old commercial? I think the difficulty was that companies could not agree on how, or what kind of terms that AdCritic wanted.
However, AdCritic still exists, and is now a pay per view. Interesting, but it seems that many people are even willing to PAY to watch commercials.
If AdCrita can survive, then what a great opportunity they have taken advantage of.
Albert D. Kallal
Edmonton, Alberta Canada
Kallal@msn.com |
| Thu 24 Apr | pb | ads.com made a go at it for awhile. I suspect the streaming is pretty resource intensive and the economic case tenuous. |
| Thu 24 Apr | Prakash S | i like the nike/ addidas ads. also my favourite add is the Roberto Baggio/ Johnnie Walker add - can't find it anywhere.. |
| Thu 24 Apr | Prakash S | Jason,
I had the same thoughts, but for comercials of Coke & Pepsi. If they stopped advertising, I am sure they could cut the price of a Coke/Pepsi - by quite a bit.
Not sure why they don't do it, guess there is some explanation to it. |
| Fri 25 Apr | Simon Lucy | Commercials are available
http://www.boardsmag.com/screeningroom/ |
| Fri 25 Apr | Joe AA. |
One line of thought says that advertising is only necessary for those things you don't really need. |
| Fri 25 Apr | John Topley | Perhaps they don't make them available because they don't want to generate consumer interest in last year's model? |
| Fri 25 Apr | Slumming IT | I could quote reams of Bill Hicks material, but I won't. You know where to find it... |
| Fri 25 Apr | Slumming IT | That said, there's a really good Honda ad running in the UK at the moment, it's about 2 minutes long and had me completely transfixed - 'isn't it great when things just work'. |
| Fri 25 Apr | John Topley | Those Honda adverts are brilliant! The best adverts that I've seen in a long time. They're even better because almost all of it was done for real, with virtually no CGI. Apparently the campaign cost Ł750,000 and took six months to set up and film. |
| Fri 25 Apr | Dimitri. | My humble thoughts about advertising... more specifically, why coke and pepsi run so much of it.
The thing with that type of adds (coke, cigarettes, etc) is that there is a lot of _image_ involved. Same about a certain class of cars. Now, if coke would stop advertising, of course you wouln'd foget about it, but what would be the difference between a can of coke and a can of 'American Cola' or 'CubaCola' or whatever funny name you may find out there. Again, if BMW stopped running its advertising, after a while it wouldn't be 'wow, cool, a bmw' but more of 'a, hey, isn't that a bmw, I heard they make good cars!'
Advertising serves many more purposes then just 'make a product known'. Brand image and so on.
You go to a bar. They have a new vodka called 'Keruga'. You have never heard of it. What kind of cheap venezuelan liquor could that be? I'm not gonna buy that. I'm gonna buy Absolut 'cause it's cool or Smirnoff 'cause it's the real thing. Or maybe Stolichnaya 'cause it's the REAL real thing, but they don't run any adds so people don't know so they don't buy it. And so on.
Thanks for making me aware of adcritic. |
| Fri 25 Apr | mark | The greatest ads I've ever seen are by Nike, print and video. They must have a marketing-genious tree or something over there. Not as good as they used to be though, maybe the tree burned down.
But the HONDA ad that you guys are talking about can be found here. and it's pretty good too:
http://www.winisp.net/bogusboy/hondaad.htm |
| Fri 25 Apr | Gregg Tavares | In Japan most companies put their commercials on their website
http://www.vaio.sony.co.jp/Info/Cm/index.html
http://www.mastercard.com/jp/about/cm/
http://www.i-love-epson.co.jp/park/cm/
http://www.nttdocomo.co.jp/museum/cm_gallery/home.html |
| Fri 25 Apr | anomolous coward | Slashdot story on the Honda ad, with discussion, links to articles, and the ad itself: http://slashdot.org/article.pl?sid=03/04/14/1146230&tid=129 |
| Sun 27 Apr | Albert D. Kallal | Wow, nice links!
Well, I guess a lot of stuff is out there...just got look more! |
| Sun 27 Apr | www.marktaw.com | Commercials used to be minutes long, and now commercials are 30 or 15 seconds, but shown more often. Studies that were conducted a while back showed that the most important thing to getting someone to pick one item off the shelf v. a competitor was brand recognition.
If I don't recognize a brand I'm not going to use it. By the same token, newer, fresher, ads keep products in people's minds, and ensure they keep thinking of them as new, fresh products.
If there were a spate of Coke commercials from the 80's I would probably start thinking of Coke as an antiquated product from a bygone era. Our memories of great ads also may be better than the ads themselves.
'Geeze, the CocaCola corporation thought Michael Jackson was cool. What morons.' 'I never realized how low budget that 'Where's the Beef' commercial was.' |
|
| Software proposals | Thu 24 Apr | #If |
| Anyone know of a link to a software project proposal template?
Thanks |
| Thu 24 Apr | flamebait sr. | 1) Design software
2) Make Software
3) .....
4) MAKE MONEY! |
| Thu 24 Apr | #If | What was #4 again? |
| Thu 24 Apr | Dennis Forbes | More like
#1 Think up grand software plan
#2 Put up webpage
#3 ...
#4 Profit! |
| Thu 24 Apr | one programmer's opinion | What a lot of consulting firms do is cut and paste words from one proposal to another. You might find a few by searching various state government run web sites.
Another alternative is to buy a software product such as:
Proposal Kit Pro http://www.proposalkit.com/htm/propkit.htm |
| Thu 24 Apr | #If | Thanks OPO! |
| Thu 24 Apr | Prakash S | Check Steve McConnel's website. |
| Thu 24 Apr | Matthew Lock | A little trick you can do in Google is search for the name of the file you would like to find. Try searching for this:
software project proposal.doc
You often get a whole heap of word documents. Try PDFs as well with: software project proposal.pdf |
| Sun 27 Apr | #If | Matthew... Outstanding, Thanks! |
|
| Worst tools I ever did a successful project with | Thu 24 Apr | Mike |
| What is the worst toolset you have made due with on a project that turned out successful |
| Thu 24 Apr | | Visual C++ & MFCs. |
| Thu 24 Apr | Dan Maas | Not a software engineering project but: Adobe Premiere. The worst video editing software the world has ever seen. |
| Thu 24 Apr | Better than being unemployed... | Bespoke 8 year old library (written in house by long departed developers) that wasn't really designed for the scale and performance I was using it for. |
| Thu 24 Apr | Bella | Oracle Forms/Developer-2000 was the biggest POS I've ever used. The textbased Oracle*Forms was groundbreaking in it's time, but Dev2000 was a joke by the time it was released (Powerbuilder and VB were already entrenched by 1997) |
| Thu 24 Apr | Mitch & Murray (from downtown) | Symantec C++. What a POS. |
| Thu 24 Apr | Gregor Brandt | Rational Rose UML Toolset. Don't know what its like now, but a few years ago, what a piece of junk!
Horrible UI, inconsistent menus, crashes.... |
| Thu 24 Apr | Matt Christensen | Win NT 4 sp 3, MS SQL 6.5, + ASP.
I swore of Microsoft products for 2 years after that debacle. 6.5 had a bug where my identity columns would corrupt and start throwing key clash exceptions; IIS would crash way too frequently, generally taking out the kernel with it.
Lest you think I am an MS hater, W2K and MS SQL 2000 are both favored products of mine now...
Next would be mod_perl + MySQL. Modperl wasn't too bad, but MySQL at the time had a bug that caused me to have to bring down the db, manually re-index and repair the tables every night. Not fun. |
| Thu 24 Apr | KenB | Interwoven Teamsite - utter crap... |
| Thu 24 Apr | Ben Thompson | Interworld.
Thankfully I was lucky enough not to have to go near it but its template language was a thing to behold. No subroutines or case statements leads to hideous code.
Early circa 1996-7 ASP was equally fun (more due to the pain of writing ActiveX controls than anything else mind). |
| Thu 24 Apr | Poor Ideafix Developer | Ideafix for Windows. You don't know it? Thank your gods for that, because it's the worst piece of commercial software you can ever see. |
| Fri 25 Apr | Just me (Sir to you) | PhP, no contest. |
| Fri 25 Apr | Better than being unemployed... | Another one to add : Windows NT or 2000 dev PC accessing a SourceSafe database running on a Novell server.
Can you all say 'S L O W'. We badgered IT for what seemed like years to get the server changed. People took tea breaks whenever they checked out a file.
Eventually they switched to a 2000 server and productivity shot up. |
| Fri 25 Apr | Dale | One time I had to work with this guy named Dale. Dale and I were able to complete the development work on time, but MAN was that guy ever a huge tool. Huge. |
| Fri 25 Apr | Chris Tavares | the pSOS real-time OS. Man, what a pain. The docs were confusing and often wrong, it took us several weeks just to configure the darn thing to download, it supposedly came with a debugger, but the debugger only worked when the board was running (which is the only time I don't need a debugger), and so on and so on. |
| Fri 25 Apr | Beka Pantone | Well, in my experience: PHP wins hands down as the most frustrating 'tool' I have ever used. |
| Sun 27 Apr | Ethan Herdrick | FutureTense application server. No question. The very name of this thing makes me - and the rest of the alumni of the project that used it - laugh out out loud, then cringe. The CTO of the company that produced this horror actually came to our offices to try to defend it. The classic quote from him was 'If we allowed you to do addition or subtraction in our language, that would be slippery slope to who knows what!'
I guess you had to be there.
But trust me, it made the things you other guys are talking about look like miracle tools. |
|
| Immunogenetic Computing | Sat 26 Apr | Artist |
| Hi,
If anyone is aware of Immunogenetic Computing?
I search but not avail.
Thanks,
Artist |
| Sat 26 Apr | Simon Lucy | http://www.cs.kent.ac.uk/people/staff/jt6/aislinks.html
Look for Immunological Computation or Artificial Immune Systems. |
|
| will struts save me time? | Fri 25 Apr | choppy |
| I have a contract coming up to build a series of wizard-like input forms for a java web application. Most fields will need some amount of validation but nothing complicated. I have bad memories of a previous project where I ended up writing tons of servlet code for what I thought was going to be simple form handling.
Im trying to find the best way to do this writing the least amount of code. Will the DynaActionForm in struts help me out in this regard? |
| Sat 26 Apr | Daniel Shchyokin | NO |
| Sat 26 Apr | choppy | is there anything that will? |
| Sat 26 Apr | Matthew Lock | I found that writing a kind of mini-language helped the most. That language let me define online forms, and then would generate the HTML and validation code needed.
Once the initial effort of passing the mini-language was done I could knock up a very complicated form in minutes. |
| Sat 26 Apr | Robert Chevallier | The Struts taglib can help you for quick easy field syntax validation. Combined with the power of ActionForm (method validate), you can do whatever you want.
Only problem, it takes some times IMHO to really understand well Struts, so you may not gain a lot of time for your 1st use.
Struts is for the time being the de facto standard for java web MVC application. I do recommend it. |
| Sat 26 Apr | Konrad | I've got about 6 years of Java experience - I wouldn't say I know it perfectly but I'll have a good idea about what to do in most situations. After a nasty time coding a JSP+servlets web front end to an application, I decided for the next one I would use struts...
I only had two - four hours a day, and it took me about six weeks to get to a 'business as usual' level of struts knowledge where I'd know how to do something if asked. It was perhaps compounded by having to learn an object-relational library at the same time, but it did take me a lot of time to get up to speed with struts and how to achieve things that I could easily have achieved in plain servlets and JSP - there are a few quirks.
The flipside is that once you are established with it, it is versatile enough to do the job, combined with Tiles, you've got a very effective platform for creating web applications and I now prefer to use it on small jobs as well.
In short, if you are under time constraints, I'd recommend that you don't go ahead with using struts unless you can afford to lose two weeks, but that's only based on my experience. I'm not sure whether I'm a slow learner or not, based on past experience I'd say no, but your mileage may vary. |
| Sat 26 Apr | /good-advice/1624/use-struts.do | You can use Struts Validator component and write all your validation rules into XML configuration file. Since you wouldn't need custom ActionForm classes for validation, DynaActionForm is the only ActionForm you'd need. |
|
| Signing software packages | Fri 25 Apr | Beka Pantone |
| Im writing a little pet project that involves automated software updates. To determine the packages authenticity these kind of services normally sign the packages cryptographycally. This is the first time Im confronted with PKI cryptography in a software project so Im a little confused. Heres what I know so far, please correct me if Im wrong.
* Package signing can be done with PGP (or gnupg).
* I understand that the server delivering the software packages will have its own set of keys (public and private).
* The clients need the servers public key to verify the packages, however embedding the servers public key in the client software is a bad idea. Should the servers private key be compromised the servers key pair must change and clients should be aknowledged. Clients should then get the servers new public key.
The hairy bit for me is, how do clients know the new key is safe? A malicious user could be spoofing the service providing a new set of keys and properly signed software that will pass the verification rules of the client.
I understand there are companies like Verisign or Thawte that will issue digital certificates that will address the problem of autheticity of the keys. But is this really necessary? I mean, I would like to be able to change the keys at any time without discontinuing service and not have to put the service offline untill some company issues a new certificate.
As an example, many apt-rpm repositories contain signed packages how does the client know package PackA comes from Repository#1 instead of EvilRepository#2 posing as Repository#1?
Any help is appreciated. |
| Fri 25 Apr | Dan Maas | I think end-users are generally supposed to get the public keys from a secondary source they trust, like your company's website. e.g. http://www.softwareco.com/public_key. Of course it's possible for an adversary to take over your domain or spoof the HTTP traffic, but that's quite a bit harder to do than just embedding a fake public key in the software download itself.
As I understand it, companies like Verisign exist to provide an extra layer of security, to verify that the aforementioned adversary has not actually spoofed the connection you use to get the public key. |
| Sat 26 Apr | Nice | go ahead and embed the public key in your app. Will people really be trying to factorise it or whatnot?
On the other hand, keep your private key on a computer that is air-gapped from everything. |
|
| So everyone has read E-Myth | Fri 25 Apr | Daniel Shchyokin |
| Any other start your own business type books people like? |
| Fri 25 Apr | |
E-Myth was OK, but really a summary paragraph would have been sufficient. It seemed very repetitive to me. Aside from that, what you need are business forms, tax guides, accounting/bookkeeping books, etc.... Not very glamorous stuff. |
| Sat 26 Apr | Joseph Grace | There are an untold number of microbusiness books out there.
The easiest recommendation(s) are those from Nolo Press. Nolo specializes in providing legal advice so you do not have to go to lawyers for basic stuff. The books are written by lawyers and they write great books.
www.nolo.com
Their books are inexpensive, and many are even at 30% off sale for now from Nolo direct. Some faves I've just purchased:
'Legal Guide for Starting and Running a Small Business'
Steingold (7th edition, Nolo)
'Legal Forms for Starting and Running a Small Business'
Steingold (2nd edition, Nolo)
complement to 'Legal Guide...', above
'Tax Savvy for Small Business'
Daily (6.2 edition, Nolo)
'This plain-English guide will show you how to make the most of your tax deductions.' --- Business Week
'Marketing without Advertising'
Phillips and Rasberry (4th edition, Nolo)
'High-impact, low-cost marketing strategies...'
You may also consider any of the 'how to incorporate', 'writing a business plan', 'copyright and trademark', or other legal books they have. Great books, great company.
There are a multitude of other great books on writing business plans, managing employees, providing a positive customer experience, bookkeeping, selling, etc.. You can check Amazon for reviews and for links to other 'recommended' books. Find a book *you* especially like, and follow the links to other books by people who purchased that book. The trail is virtually endless.
Some starting points:
'Selling the Invisible'
Harry Beckwith (Warner Business Books)
Bite-sized micro business marketing tips (first of 3 books)
Recommended by a friend
'The Tipping Point: How Little Things Can Make a Big Difference'
Malcolm Gladwell (Little, Brown publishing)
Meta-business book or 'working *on* the business' in E-Myth terms
There are plenty of great books. You probably do not want to read all of them though. So, I suggest three caveats:
1. Try to stick to books which apply directly to microbusiness (exception: 'The Tipping Point', above). The bulk of best sellers are for corporate america, not microbusiness. Most great books are irrelevant to your situation, and your situation will be very fluid as a startup. Those books have little (if any application) when running a small business. For example, a 'How to become a great CEO' is useless for a microbusiness as it targets corporate environment issues; it is easy to get carried away from Amazon reviews. So take five-star reviews with a grain of salt until you see the book and ensure that it's not just megacorp-centric. Plus, browse the books of interest to ensure they speak to *you*. 'Nuf said.
2. Only buy book(s) that save you money (e.g., Nolo legal), have direct business relevance (e.g., customer service, or generating sales leads), or for which you have a craving (i.e., use your craving to learn) *now*. Try to read at least portions of the book(s) right away to satisfy your craving or need. Browse your local Barnes&Noble (for example) to determine which books suit your tastes and needs, and to scope other books. Try to pare down your purchases to just those book(s) you care about and shall read *now*.
3. Not all great books are meant to be read by you. Another filter for books is length. Short books are often better than longer books. Gauge how important a topic is for *you* right now. If it's important but secondary, consider purchasing the shorter of two great books on the topic. You'll probably be better off reading the whole of the shorter book than a fraction of the longer book. Your satisfaction will be greater as well (and you can always save the name of the longer book for later consumption). IOW, match the book length and your time-commitment to the value of the topic to you. Incidental topics suggest shorter, bite-sized books. A good example would be the Beckwith (bite-sized marketing advice) versus the Nolo's 'Marketing without Advertising' (structured marketing advice). Each books serves a different purpose; they're both great. For a brief read, go Beckwith; for a full planning guide, go Nolo. They both have their purpose (I have both), but when in doubt, go lightweight (shorter, more topical). The heavyweight stuff will still be there, and in the meantime you'll be better prepared for the heavyweight stuff on your next visit to the topic.
That's more than enough for now! |
|
| Justifying monitors | Fri 25 Apr | Philo |
|
Why is it so very, very hard to justify to management that large monitors are a good idea?
- They help me do my work
- They make me more efficient
- (IMHO) they aid retention
- (IMHO) they help recruitment
Regarding the last one - if I was interviewing at a place and saw that all the developers had dual head 21CRT & 17 LCD, that place would go to the top of my list (not just the nice workstation, but it gives the appearance that management takes development seriously).
A 21 monitor costs less than $500. Thats 3-5 hours of a developers time, to get the benefits listed above for 3-5 YEARS. This should be a no-brainer.
Philo |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Agreed 100%. Joel's test: 'Do you use the best tools money can buy?' That includes high quality monitors. I don't compromise my vision for any job. |
| Fri 25 Apr | mark | I actually have a 21' monitor, it was given to me when I first started here more than 2 years ago. And the Dell Laptop they just gave me a few weeks ago has dual monitor support, so I guess I'm currently living in display Nirvana. |
| Fri 25 Apr | SteveM | I switched from a very good 19' CRT to a dual-head 17' LCD system. Anyone who tries to make me change back is going out the window!
I find it incredibely frustrating when I have to use someone else's PC and they only have a single monitor, no matter how large. How the hell do you use two programs at the same time on a single screen? ;-) |
| Fri 25 Apr | Joel Spolsky | Here's how to justify it.
LCD monitors last 7 years, easily.
A second 1280x1024 LCD monitor is about $500.
That's $71 a year or $0.20/day.
A roll of charmin toilet paper is about $0.75. If you go to the bathroom once a day, and here I'm making some assumptions, you consume about 1/3rd a roll of toilet paper, for a cost of about $0.25 a day.
So you are literally asking them to spend less on this second monitor than they spend on your toilet paper. |
| Fri 25 Apr | Peter Ibbotson | Dunno how to justify it (except using Joels method), however we have matrox Dual head cards because they're the only ones that give Win2K/XP TWO video cards in setup. This is important as some of the other video cards treat the screen as one big (but wide e.g. 2048x768) system. This means you can't have different resolutions. Here I have a little 15' LCD running at 1024x768 plus a 21' monitor running at 1280x1024. (the resolution actually matches quite well)
The other advantage is that dialog boxes pop up in the middle of the screen rather than half way between the two monitors. Several of the card vendors ship programs which are supposed to fix this problem but none of them actually did (or were very buggy)
Note I did most of the research on this during the WinXP beta program with the ATI dual head card so this may have changed by now.
Checking the matrox website reveals that the G550 Dual head is still available but the different resolution stuff is broken on the Dual DVI version in DVI mode. |
| Fri 25 Apr | Lou | Don't forget power savings and time saved during reorgs. I've seen references to studies (yikes, 3rd generation knowledge) stating that over 5+ years LCD panels pay for themselves over similarly sized CRTs. |
| Fri 25 Apr | Stephen Jones | The irritating thing is that you can probably get a new processor and motherboard, even if all you do is word processing or data entry, because that does not sound like luxury, but two monitors - no way.
Do a time and motion study showing how much time is wasted opening and closing windows. Throw in some made-up figures about increased chance of RSI as well and you may suceed. |
| Fri 25 Apr | Stephen Jones | ----' If you go to the bathroom once a day, and here I'm making some assumptions, you consume about 1/3rd a roll of toilet paper'---
Pretty frightening assumptions if you ask me!
I'd try and choose another equally trivial example. I can think of plenty of companies that would simply downgrade the quality of toilet paper, and then you'd be spending all your time making up justifications for a more comfortable office chair. |
| Fri 25 Apr | Mitch & Murray (from downtown) | The new ATI cards allow you to specify the resolution for each monitor. I have an ATI Radeon 9000 Pro ($100) and am driving a 20' LCD panel at 1600x1200 via the DVI output, and driving an 18' LCD panel at 1280x1024 using the analog SVGA output. Two monitors, one card, configure each output separately. Works flawlessly. Pretty neat.
Sounding a bit less professional, I can also report you can run Flight Simulator 2002 in _amazing_ ways with this setup. |
| Fri 25 Apr | Dan Brown | Here is the argument I use (I've equipped everyone here with at least one 20' 1600x1200 LCD, and most people have a second LCD as well. The company is mine, so it is my money I'm spending):
The advantage of large displays is that they allow you to see at least two pages side-by-side, if not more. Most programming these days involves using existing components (such as classes) or creating components to be used in larger programs. That means that as a programmer, you almost always have your code at at least one interface to deal with at the same time. Having a large screen allows both your code and associated interfaces to be on the screen at the same time. In my experience, this dramatically reduces bugs.
There is a simpler way to look at this: the more of your program you can see at one time, the less likely you are to make mistakes coupling pieces of the program.
The argument for multiple monitors is a little different, since you generally have to break your concentration a little to move from one to the other. I think the second monitor is useful for reference material and other applications. For example, almost all reference documentation these days is provided only in computer-readable form. If you want to have that reference material easily available during programming, a second monitor helps much more than switching applications on one monitor. For example, if you are working on hardware drivers, it is very convenient to have the PDF files containing the datasheets and user manuals for the chips you're working with displayed at the same time you are writing the code.
The cost of the monitors is quite reasonable. A decent 20' LCD screen can be bought for about the cost of a week of programming. |
| Fri 25 Apr | Mitch & Murray (from downtown) | 'A decent 20' LCD screen can be bought for about the cost of a week of programming'
I've seen the excellent Dell PF2000 (the twentyincher I have) for as low as $850 when Dell runs one of their 20% off accessory sale + online coupon fandango blowouts.
For $850, buying that monitor is a no-brainer. 20', 1600x1200 native resolution, DVI, analog, S-Video, and NTSC video inputs, PIP. |
| Fri 25 Apr | David | Someone explain this dual monitor thing to me, especially the mix between CRT and LCD. Is that just because two CRTs are unwieldy? Are LCDs easier on your eyes when you look at them all day?
If you have a smaller LCD, like say 15', do you just use that for your documention (class help, google searches, etc) while you program?
I doubt my struggling company would go for it, but I'm curious nonetheless. |
| Fri 25 Apr | Mitch & Murray (from downtown) | The LCD panels are immensely easier on your eyes. Considering you stare at the thing all day this is a pretty major update to your work environment. Right up there with a decent chair. Chair, monitor, keyboard, everything should fit you, cause that is what you are screwing with all day. I wonder how many folks here are, like me, hardcore trackball converts?
The common LCD - CRT combination arises after the lucky developer gets an LCD panel and then muses 'What in the hell should I do with this old CRT?' After a few moments the magic word 'Presto' is spoken and connections for the second display (in this case the old CRT) are established. |
| Fri 25 Apr | Philo | I'm CRT/CRT but hope to move to CRT/LCD.
Reasoning:
I run a 21' CRT at 18x14. No reasonably priced LCD runs that high (I wasn't aware of any LCD's that ran at 16x12 for less than $1500 until just now). My work area is two folding tables butting together, and the LCD is in the corner, so it's using space I wouldn't use anyway.
To my left is a 17' CRT at 1280x1024. I have six inches of usable desk in front of it, which isn't really usable. I hope to replace it with an LCD set back so I have room to set a book in front of it.
I generally have Enterprise Manager open on the left screen, with Visual Studio open on the 21' main screen. Sometimes I may have a web page, UltraEdit with a few text files, or XMLSpy open to the left. Terminal Services goes over there on occasion as well.
But in essence the left screen is for reference material, the main screen is for work.
My dream is three screens/two boxes:
LCD CRT LCD
\ | /
\ | /
\ KVM /
\ / \ /
\ / \ /
CPU1 CPU2
(It's a mad, mad, mad, mad setup)
Philo |
| Fri 25 Apr | Andrew Hurst | Similar to Philo's dream setup, but not all the way. I have 2 21' monitors on my desk. The second monitor is connected to a KVM that connects to two other computers. Works out well. This discussion has made me think more about LCD's though... |
| Fri 25 Apr | SteveM | The main advantage of a dual monitor (for me) is that it makes far easier to debug drawing code.
Stepping through drawing code is _so_ much harder with one screen, since anything that pops up over your program will affect the code path.
There are other ways of course - remote debugging on another machine or the wonderful VMWare, for example - but the second monitor is probably no more expensive.
Oh - and it makes it much harder for my MD to spot my web-surfing when he sticks his head round the door! (Sorry :-) |
| Fri 25 Apr | Dimitri. | I would never use a CRT again. LCD's are much easier with your eyes, so it's no question at all. I simply refuse to work with CRTs. And when the price difference is so small (from a company's point of view, anyway) there is simply nothing to discuss.
A good way to go for a dual-LCD would be to ask first for the small one (15') as they cost around 300$ now and it would pass very easily. Wait two motnhs, then ask for the big one. That may work. Or not. If you think that they'll say 'wait, we just bought you one, you want another?' then you can have the big one first, and when you ask for the second one, they'll be relieved at how cheap it is.
I have a dual-head ATI Radeon (VE) and it sucks more than anything that ever sucked before. After installing drivers a few times, you finally can enable the second monitor, but only at the same resolution. Finally, I somehow managed to have different resolutions, but with the frequency at 60Hz (frequency is less important on LCDs than on CRTs but still I would like to have it at at least 70).
When I finally had it running with both I realized I must disable one of them, otherwise Day of Defeat (it's a programming environmens, and yes, it has source control) would crash like a stone through a lighthouse. So now I use both but disable one sometimes, which works.
Regarding more than two displays: didn't Matrox have some form of 'four-head' card? One that costed a fortune? |
| Fri 25 Apr | Philo | The last time I worked on either 15' or 1024x768 was 1993. I don't see any point in jumping back ten years in time.
Philo |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | In the consumer space, no, nobody has ever had a quad-head card that I've heard of. Matrox has a tri-head card that they demo'd as a primarily gamer's card (180 degree immersion which can be very nice for flight sims and the like).
Nvidia definitely has PCI versions of some of its select cards, so a quad head should be as simple as an AGP and a PCI card. Where the hell are you going to put all the displays? :-p Three I can get, four I don't (unless you have a special 2x2 enclosure). |
| Sat 26 Apr | David Fischer | Dimitri wrote that he has ,'a dual-head ATI Radeon (VE) and it sucks .... After installing drivers a few times, you finally can enable the second monitor, but only at the same resolution.'
In general, that's not correct. At home I've got the Radeon VE driving a 17' monitor at 1600x1200 and a 15' monitor at 1024x768. The driver install wasn't difficult and I've been able to run them at different refresh rates.
The Radeon drivers have their quirks, but Dimitri's problems are not universal.
Now, if I can get my work to upgrade my computer and go to a dual-head support for my optical design work (not just for programmers, you know). |
| Sat 26 Apr | Dave | If I wanted to upgrade our development machines that currently have one AGP card each, can I just add a 2nd video card and configure dual monitor support in Windows XP? I believe it supports this, but haven't tried it out myself... |
| Sat 26 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Yes, you can do it that way. |
|
| Linux != future | Fri 25 Apr | sedwo |
| Ive been thinking about this for a short while and would like other peoples viewpoint. Constructive criticism please.
Linux has been created by hackers, for hackers. And I doubt it will ever truly replace the Windows/Mac GUI systems because the hackers wont let it. Because to reach that state of mass acceptance, you have to think and develop for those people. And the last thing most Linux developers want to do is take the time and energy to creating something any idiot can point and click at. And especially when their not getting paid for it. Windows on the other hand *does* have that. It will *try* to work with the user. And while its not perfect, its a far cry from what Linux does; which in most cases is *nothing*. You want help, go get it yourself.
It also seems that some of these open source developers pride gets bruised everytime a user makes any feature comment on Linux looking/acting like Windows. Immediately the look and feel gets changed to make it *clearly* known to the user that *THIS IS NOT WINDOWS*. Deal with it.
Now the Linux community knows this, but the mentality is, were hacks. We need something to work just good enough for ourselves. And if youre not a hacker, then you shouldnt be using this. Thats fair. And thats the stigma that youre stuck with, so stop complaining about why the world hasnt switched to Linux.
Oh and that free thing. We all know its really not free. The total cost of ownership for a Linux box is far more then just the OS. Money turns the world, and free ends up costing more then not.
I cant predict the far future, and while Linux has its place; IMHO that is where it will always be. As scary as it seems, it truly is a Microsoft world. And most likely will be for a long time. |
| Fri 25 Apr | Mitch & Murray (from downtown) | The main contribution of Linux seems to be giving people the opportunity to dump a Unix based proprietary hardware/OS solution (Sun, SGI, etc) and run a generic Unix clone on cheap x86 hardware. One of these days this combination will be a death blow to Sun, at least on the desktop and small/medium server side.
I have been using Linux on a daily basis the last few months for a Unix based project. Running RH8, all I can say is the desktop client is still a slow, clunky joke. I don't give a shit if the code is 'free', give me something that works as well as Win2K or XP. So much stuff is quirky or just flat-out broken it is amazing that so many Linux zealots beat their chests over how good this stuff is supposed to be.
Replace Windows? Never going to happen on the desktop, will probably never happen in Microsoft-centric data centers. But Linux will, over time, replace the other Unix flavors, and the Unix hardware vendors with their proprietary Unix operating systems, are doomed.
Your mileage may vary, void where prohibited. |
| Fri 25 Apr | Just me (Sir to you) | Hey, I know the whole cryonics thing was cool in the late 70's and early 80's, and by God who would have believed it would really work. It was even funny at first, all these IT defrosties just going about their business as if the world after 84 had never happened. You know, working on the most bombastic kludge rewrites of 70's UNIX implementations and the like. But then some politico radicals got involved (got to love that neo-Orwellian newspeak) with smooth marketing pulling some sort of extra slippery Buck Rogers on some Finnish dude and slick branding with some 'I'm maladapted but cute' animal for the puberty hormone swigging crowd, and it got less and less funny. Now they want all of us that learned how to stop dragging our digital knuckles during the 90's to stoop down again? Count me out for the ride pal.
(Hey, this feels like I am repeating myself) |
| Fri 25 Apr | John Topley | LMAO! |
| Fri 25 Apr | Colin MacDonald | The Lindows folks (http://www.lindows.com/) are actually heading that way. Their systems are big on the flashy GUI, quick links for browser, mail, and IM, easy upgrade tools; and short on geek features (no apache, ssh, or most command-line tools). They're really geared for average users.
But it's still only a second-rate, wannabe Windows - why would anyone settle for less? There are actually a couple reasons. First, it still has lower hard-cash costs. This is a factor when you get outside the first world. India and China together have, what, about 10 times the US population? And a few hundred bucks for the Windows OS + Office isn't chump change there.
The other reason is that nobody really owns open source code. Specifically, it's not owned by a large American company. Even in Europe, where cost isn't so much the issue, people (particularly in government) are starting to think that it's not such a good thing that Microsoft has a death-grip on all their computer systems.
So, Linux may not be your future, or America's future, but it may well give Microsoft a run for its money on the bigger playing field. |
| Fri 25 Apr | Better than being unemployed... | I don't think any sane, unbiased, Linux afficianado would disagree that if you want to develop desktop applications, you've got to use Windows.
However, if you're in the business of making servers and server-side solutions, where there's no GUI involved, then Linux is definitely worth considering, especially where you compare performance and reliability. For instance, compare and contrast Exchange server to a UNIX based mail server : http://www.catb.org/~esr/fetchmail/fetchmail-FAQ.html#G8 (which claims that Microsoft use UNIX servers for Hotmail).
I think most people realise this, and are concentrating on getting Linux into the server market. This probably explains why not much work has been done on the GUI, as nobody's concentrating on that as much.
Personally, I don't really mind what operating system I'm using as long as it gets the job done. I use Linux for server side processing, and Windows for running client apps, and that works fine... |
| Fri 25 Apr | Scotty | I have no hope for Linux as a desktop operating system within the next few years.
However, we run Linux and OpenBSD on all of our servers, and have been for many years now. The server is the past, present, and future of Linux. |
| Fri 25 Apr | Just me (Sir to you) | 'which claims that Microsoft use UNIX servers for Hotmail'
Yes, it even claims it runs on Solaris (which it never did), and refers in its documentation to 'M$'. Bet their programmers are truly l33t too.
They're a mail client outfit and they refuse to adapt their stuff to work with Exchange? We implement the spec. correctly. Riiight.
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windows2000serv/case/hotmail/default.asp |
| Fri 25 Apr | Stephen Jones | Linux will run at the bottom end of the market, since you can surf the web, write letters, do spreadsheets and indeed most things 90% of home users do on a computer with Linux.
If the hardware's compatible Linux will pass the grandmother test as well or better than Windows. Indeed for most tasks you won't even be aware of what OS you are using.
Linux is already taking up much of the mobile computing market; the competition is Symbian, not Pocket PC, which is the preserve of companies 100% MS, or consultants working with those companies.
Linux will also get government stuff outside of the US, as where computers are only used for one application there is no need to waste a fortune on MS licenses, and the present almost universal fear of US foreign policy will act as another reason for
avoiding MS dependency.
So Linux/Unix will be taking the server end, and the bottom end of the consumer/office market. The application bar to entry will allow MS to keep the middle part of the market. And if it starts to lose out there it will simply drop prices. |
| Fri 25 Apr | Philo | WebTV ran on Unix until at least 2000. When MS bought WebTV they issued a directive that all Microsoft properties would migrate to NT (because they were tired of getting bad press about Hotmail running on Unix). WebTV prepared an estimate of the hardware and admin costs of migrating to NT and submitted it.
They immediately got special dispensation to keep running on Unix.
My source is a friend who was a founding senior tech at WebTV.
Philo |
| Fri 25 Apr | Mike Gamerland | Making my living in both arenas (Windows and Unix/Linux) I have a slightly different view. I know the JOS tends to be MS centric but I believe you may be underestimating or merely uninformed on some of the particulars. While I can make a comfortable living on Windows, I also see expanding opportunity in Linux, so I generally recommend to my developers that they expand their horizons.
Linux was created by hackers. - Using the true form of hacker this is fairly accurate. A few folks got together and created the kernel of what we call Linux. However, the same would be said for DOS which later became the underpinnings of Windows. Today, I merely look at hackers as people developing code without corporate funding. To remove the negative connotation of 'hacker' as someone doing something illegal or unjust, Open Source is now a more popular use of the process.
Linux and GUI - Interestingly, Linux (okay the BSD derivative) is Apple today. So, is that a win? Let's say 'no' because apple has only 4%(?) of the desktop. However, to the point of usability, Linux was not a concept that started to work at replacing windows. Therefore its original audience was not 'any idiot' as you put it. As for windows working for you, in that regard I would hope after 25+ years of development it would. Consider where the Linux GUI is when compared to windows 3.1 and I have to give the Linux folks credit. I would also disagree completely that Linux does 'nothing'. If your version does nothing I would suggest you pick a more mainstream distribution. As for the changing of the GUI, again I am at a loss to explain this in general terms. GNOME and KDE, by far the most popular desktops have evolved along the same lines as windows. Should I be disappointed that Win3.1 and XP do not look or act the same?
Performance - I find Mitch & Murray's comment unusual. As I said I make my living off both camps. I have yet to see Linux as a poor performer, performing comparable tasks. There are certain things that it is slow at doing, but the same can be said for windows. Given the current release of the two Win2k and RH8.0, the performance of both on similar equipment leans toward Linux. [I don't include XP and RH9.0 because they are new releases. There is not enough market penetration to show a real trend.]
Their issue may be whoever setup the Linux box selected an option is impacting performance. I saw a similar thing at a client with Win2k. They did not reboot their Win2k desktops nor would they shut them off. Why? When they were installed, the store that put them in place turned every single service on. It literally took 25 minutes to reboot. Again, not a problem in Win2k, but definitely in its administration. [Never underestimate the power of helpful people doing really dumb things.]
Total Cost of Ownership - This is an interesting one. In 1984 (showing my age here), I was tasked by a fortune 10 company to provide financial proof that replacing dumb terminals with PCs had a good ROI. It was just about impossible. The value was not in Windows, it was in the technology that windows enabled.
Since we now live in a Windows world, the Linux comparison is easier. Tangible costs matter, the most significant being license and administration. The license cost is a definite Linux win. Even if you buy a vendor product (RedHat, SUSE, etc.) you will pay less than a comparable Window's license. Without much competition, the price of a Microsoft license is set at a good return without being so high that we switch. That is fine with me, as I Microsoft investor and my phone company does the same thing.
On the administration side, these matter. People have seen the Microsoft flyers talking about how expensive it is to get a Linux administrator and that people costs will eat up any savings in supposedly 'free' software. They were right. 'Were' being the important term. The reason administrators were expensive is they were rare. Most came from Unix administration and again 1000s of desktops, a few Unix servers meant few Unix administrators. Supply and demand: prices went up. Today, the cost is only slightly higher than getting a Microsoft admin. If you are running a mixed shop, as most corporations are, an admin capable of both is a savings. As more people are capable, the price continues to go down. Supply and demand.
Linux Community - Some of the old attitude prevails. So does the 'Linux is for losers' camp. Feel free to join a side, but I find both arguments counterproductive. The attitude is starting to improve greatly now that Linux has is making headway. There will always be the 'it’s a power tool versus it’s a user tool' groups within Linux. The same as we see in: 'Microsoft is a desktop tool. Real applications run on server systems.' People will make pointless arguments forever. Don't get hung up on them any more than we should get hung up on the marketing hype.
However, the funding of IBM and other corporate sponsors has helped Linux considerably. IBM's willingness to provide corporate support to customers who use it, eliminated the Microsoft argument that 'you can install it but who will support it.'
The future - In the end though, does it matter? Not really. For the foreseeable future Linux will be a growing stake in most companies. Developers and administrators alike would benefit themselves to be able to dealing with both, without favoritism or complaint. Knowing when to leverage which, with an attitude of 'We can do that,' pays well. |
| Fri 25 Apr | Nat Ersoz | 'It was even funny at first, all these IT defrosties just going about their business as if the world after 1984 had never happened... (got to love that neo-Orwellian newspeak) with smooth marketing...'
Quite humorous. |
| Fri 25 Apr | anonymous | Hotmail originally used FreeBSD for web servers and Solaris for mail servers. The web servers were eventually migrated to Windows 2000 (after a previous failed attempt to migrate to NT 4). The mail servers still run Solaris as far as I know.
The opinions some of the people here have on open source software are humorous to say the least. While there is still a lot of room for improvement, there are definitely a lot of people who care about usability on the desktop. There are numerous projects such as KDE and Gnome which focus on this very thing.
As far as open source software being 'low end' or something, I can only laugh. If any of you would care to leave the comfort of your VB.Net worlds, you would find that the world relies heavily on open source software. Everything from the root domain servers (BIND) to Yahoo (FreeBSD) to Amazon (Linux, Perl) depends heavily on open source software. It's just not as visible because using open source software isn't reason for a press release like using MS software seems to be. Companies who use open source software want something that works. They aren't interested in the latest MS buzzwords. |
| Fri 25 Apr | Andrew Hurst | Mike G. said:
Interestingly, Linux (okay the BSD derivative) is Apple today
Please, BSD was not derived from linux. BSD has been around longer than linux. They are separate codebases. They may look to each other for ideas nowadays and share some code, but BSD was definitely not derived from linux.
-A touchy FreeBSD user. :-) |
| Fri 25 Apr | pb | Linux != future because Linux = now! |
| Fri 25 Apr | K | Linux in my workplace is positioned to replace solaris> I suspect that is going to be what it will do in many other large corporate environments. When you look at the replacement cost for an E10K against the cost of a blade server running linux you have to give serious consideration to dropping the big iron.
That being said the other technology that is moving strong into our environment is the current suite of Microsoft servers / solutions. The out of the box integration they provide is a strong value add. In addition, Sun isn't looking like a good long term bet right now - provides impetus to make a switch. |
| Fri 25 Apr | trollbooth | Anonymous,
I think that even though the views of some here might be skewed it still addresses a valid point. Some people in this industry are simply not convinced that Linux can succeed on the desktop. It's a legitimate concern if you ask me.
It's not about Linux vs Windows, it's about perception of Linux in general. How can the Linux community ever hope to succeed in winning the desktop if they refuse to address this concern in the way that commercial software vendors do? And when I say that I don't mean address it just technically, I mean by addressing the customer correctly. And Linux users _are_ customers, regardless of whether they paid or not, and they need to be treated as such. How can Linux win hearts and minds when so many from the Linux community (IMO) have addressed every inquiry or need with 'RTFM!' or something equally rude? This might be an opinion but I doubt it could be argued that this perception is far off of the mark.
And your assuming that anyone who disagrees is automatically a VB.Net loser doesn't help any. This is the type of attitude that the Linux community needs to shake or give up hope on ever winning hearts and minds. For some crazy reason people actually like to be treated with respect *gasp*
BTW, I use Linux every day and develop applications for it. I also develop applications for Windows, among others, so I have a decently well-rounded view of development across platforms. Simply calling me an M$ shill because my opinion differs wont cut it. |
| Fri 25 Apr | David Clayworth | I33T ? |
| Fri 25 Apr | Mike | Linux is good for network infrastructure. Web servers, dns servers, etc. It does not make a good desktop. Most companies using linux right now are using it for infrastructure or some specialized app, not generall purpose business computing that is the bread and butter of MS. |
| Fri 25 Apr | Mike | Also, why do we need to be stuck with 30 year old ideas of what an operating system needs to be? Can't we do something new. *nix is ok because it has had a loooong time to mature. At the rate Windows is advancing it will pass unix in 5 years or less.
One thing is I see Windows includes an easy to use directory server whereas the *nix side has many that are much more difficult. Our HP3000 has finer grained user permissions than Unix does. *nix was never designed to be a business computing platform. For business platform go mainframe, as400, or windows and be done with it rather than trying to make a silk purse out of a sows ear. |
| Fri 25 Apr | anonymous | My comments were directed at the people with an obvious misunderstanding about how much open source software is used. I don't feel that all people who disagree are VB.Net losers. It is just painfully obvious that many of the people here are MS zealots who have never ventured outside their realm of knowledge.
I certainly agree that Linux on the desktop is a ways off. Frankly, I don't even care about Linux on the desktop. I use OS X, which I find to be the best option currently available. I'm not sure that Linux and other free UNIX-like OSes will be a truly viable option for general desktops until the X windowing system is ditched.
Truth be told, I'm not a big fan of Linux at all. My current preferred OSes are Mac OS X and FreeBSD.
And to the person complaining about UNIX's age and claiming that Windows will surpass it in 5 years, I hope I never have to use any software or systems that you construct. UNIX is a moving target. There is an incredible amount of academic and commercial OS research that is done with UNIX-like OSes. Maturity is certainly not a disadvantage either. Some of us like to get things done and have our creations work reliably. Switching to the MS buzzword of the year doesn't accomplish this.
For the record, I have worked with a multitude of operating systems including MS DOS 5.x and 6.x, Windows 3.0, 3.1, 3.11, 95, 98, 98SE, ME, and XP, FreeBSD 2.x, 3.x, and 4.x, various Linux distributions, Netware 3.x, 4.x, 5.x, Mac OS 7.x, 8.x, 9.x, X, HPUX, Solaris, and BeOS. I have programmed in VB 4.x, 5.x, 6.x, C, C++, Perl, PHP, Javascript, PL/SQL, VBScript (ASP), and tinkered with several other languages. My professional experience involves everything from designing and implementing networks, to system administration, to end user support, to designing and implementing software systems.
I don't limit myself to learning what is necessary to get the job done. I actually research many options and use the best tool for the job. In my experience, the best tool for the job hardly ever comes from Microsft. |
| Fri 25 Apr | fool for python | 'I don't think any sane, unbiased, Linux afficianado would disagree that if you want to develop desktop applications, you've got to use Windows.'
I disagree. OSX works just fine. I think Chandler will fly as a cross platform app (wxWindows). Mozilla works very well.
Then again, I'm not an 'unbiased, Linux afficianado'.
As for the future, I think our grandchildren will be hacking croquet in squeak...not Windows in C#.
20 years from now, if you want to develop desktop applications, you'll be taken away by the men in white coats. |
| Fri 25 Apr | Joe Grossberg | Stephen:
'Linux will run at the bottom end of the market, since you can surf the web, write letters, do spreadsheets and indeed most things 90% of home users do on a computer with Linux. If the hardware's compatible Linux will pass the grandmother test as well or better than Windows. Indeed for most tasks you won't even be aware of what OS you are using.'
Imagine if AOL released a version for Linux? I mean if the fact Juno et al. get customers by costing $5(?) a month less, imagine the potential impact of having Linux boxes, with AOL pre-installed, selling for several hundred less than a comparable Windows machine.
Stephen (again):
'Linux is already taking up much of the mobile computing market; the competition is Symbian, not Pocket PC, which is the preserve of companies 100% MS, or consultants working with those companies.'
My thoughts exactly. Who knows what the next computing platform will be, and whether or not they'll need a familiar GUI and existing software apps (two major factors in MS' dominance). And given Linux developers (and users') proclivity for tinkering and being early adopters, they may get a foothold before Microsoft can.
Andrew:
If BSD could be used for OS-X, why is it so infeasible that Linux could be used for future OSes?
David:
It's a self-mocking use of cracker slang. Ya know, like k00l means 'cool'. 'h4X0r' is hacker. '1337' is 'leet, short for 'elite'.
Joe
http://www.joegrossberg.com |
| Fri 25 Apr | Stephen Jones | Windows XP appears to be going at around $80 OEM for the home editiion. The monsters such as Dell get even better deals. Office appears to cost around the same OEM.
So we aren't talking hundreds of dollars less, but when you are talking about a machine where the total hardware cost with monitor is running at $400 the diffenence is still considerable.
The problem lies in the gaming market but paradoxically the success of stand alone gaming platforms could work to Linux's advantage. |
| Fri 25 Apr | Panna | It's great fun reading the comments.
As for sure in this forum is more believe than in most western churches.
Amen.
P.S.:Please start a small editor war
;-) |
| Fri 25 Apr | Wayne Earl | I've used both Windows and Linux for a very long time, and have made a great deal of money on both. Each platform has it's strengths and weaknesses. Each has it's own set of headaches.
Use the right tool for the right job. |
| Fri 25 Apr | Mitch & Murray (from downtown) | If somebody thinks Linux is the Power Platform for the PDA market, then I would like to order at least 10 - no, 20, dime bags of what you are smoking.
Palm = Palm OS.
PocketPC = PPC 2002/2002/.NET
Linux? I bet less than 50K total units sold, maybe less than 10K units. |
| Fri 25 Apr | Erik Lickerman | The two worst ways to predict the future are to draw a straight line through the past and extrapolate, and to assume that as things have been for the time you remember, thus shall they ever be.
The Linux hackers may have the RTFM attitude and not care about the GUI (not sure I agree with this though) but the distro vendors sure seem to . RedHat 9.0 is mighty pretty and I am finding that so far, things just work. I assume some nasty surprises are in store, but it is the same with Windows XP.
The barriers to Linux on the desktop will ultimately be psychological; Are managers and users willing to overcome their anxiety? Maybe not. One assumes that if Linux acceptance on the desktop looks iminent, that Micorsoft will lower their price on a single-user version of Windows. |
| Fri 25 Apr | anomolous coward | Don't take this the wrong way, but I didn't exactly see a point to your question--that is, a single thing you wanted an answer to or clarification of. So, I'll just throw a couple things out there.
In answer to your title, 'Linux != future', I strongly disagree for several reasons. 1) Linux is as 'good enough' as Windows 3.1 and Windows 95 were, and it will grow in places that *do* have to pay attention to licenses but *don't* want to spend a lot. Personally, I think schools are a huge future growth area. 2) Linux is going to creep in everywhere, for several reasons. First, read this: http://www.shirky.com/writings/darwin_linux_radiation.html . Among other things, I think TiVo will put more Linux boxes in more corners of the world than anything else. But it will creep in in other places, too. Every time a friend gets more than one computer, they get a Linux server and get shown the joy of being able to access a document from here or there, *without* any Windows peer-to-peer flakiness. One here, one there, multiplied by everyone in my LUG doing the same thing, and pretty soon they're everywhere.
I could say a lot more, but just read about any major shift in software--mainframes to Windows, Lotus 1-2-3 to Excel, etc. Nobody ever sees it coming but one day you've gone from 90-10 to 10-90 and it seems like it happened overnight. Nothing ever lasts forever. Hell, even Hitler only expected his Reich to last 1,000 years, since he saw what happened to Rome and others. I guarantee you, Windows will fall to the same fate, and I'll bet its sucessor will be Linux. And then, Linux will fall and be replaced by something else. Just because MS has been strong for 20 years and dominant for 10 doesn't mean they've found the magical formula that will allow them to last for forever.
>Oh and that 'free' thing. We all know its really not free.
>The total cost of ownership for a Linux box is far more
>then just the OS.
Same as a Windows box, so I might as well not pay anything up front in the first place, not to mention down the road, either in subscriptions or time spent on compliance audits. I've developed a couple recipies involving RedHat, Samba, and Apache that make it quick, easy, and painless to create a file or web server from an about-to-be-discarded box, and its nice to not have to spend one instant of thought on licensing issues, reporting this box so it can be added to the M$ tally at work, etc. I can roll out one, or two, or ten, and not worry about it. And its not like the Linux boxes are inferior at such tasks. I've got two Linux servers here at my house (one a file server for 5 computers (PC & Mac) and one a WWW+database server) and they only go down when a power outage outlasts the UPS. I mean no reboots, nothing. I don't even *think* about those boxes. I have a similar w2k box at work--running light webserver duties, plus file serving so web authors can add content, and it just sits there with hardly any stress, but its responses to queries of its web-accessible database get slower and slower, and every month or so it has to be rebooted. Usually when I get down there it has some little message up that it had to expand its VM file, whine whine whine. Yes, maybe I could be a better admin, but that's just my point--being a truly effective, competent Windows admin is just as hard as being a competent, effective Linux admin. Each system makes some things easier and some things harder. All other things being equal, reliability = easy. And nobody, *nobody* on the planet can say with a straight face that, all other things being equal, Windows is more reliable or secure than your average Linux distro, especially right out of the box.
I work for a 30,000-employee company that has its head so far up M$'s ass that I can't tell where we end and they begin. (The attitude there: 'Microsoft is the answer. What's the questions?) Do you know how many hours we spent auditing our software last time they asked us to, *just* so we could have the privelege of sending them *more* money so we could keep using it for one more year? Not only did we have to pay our IT staff for all that counting, but every hour they spent counting was an hour they didn't spend doing actual work. And don't tell me that if we would have had better records the count would have been easier. There's not a large enterprise on the planet that can press a button and give you an accurate answer to that question. And if you think schools (see above) like these audits (and yes, they get them), you're nuts. Even a donated PC is wiped of its OS, either due to MS decree or the donating company's IT department, or both. Are there reasons to put an MS OS on a free box? Absolutely. Are there many cases where RedHat+OpenOffice+Mozilla would serve the purpose just fine? You betcha. |
| Fri 25 Apr | . | It's not true that Linux is set to do well in the handheld market.
The main trend in that market is that lots of the firms that bet on Palm, often being trendy and using Java to be 'multi-platform,' are now desperately trying to learn how to develop for Windows platforms.
Lots of them have already learnt the realities of multiplatform solutions.
Pocket PC and Tablets are going to eat this market.
Turning to Linux in a wider sense, I think the claims of its promoters are partially right. It will increase in presence, especially in government.
But a reaction will set in, probably around 1995, because the amount of work needed for production quality user software vastly expands the expertise in open software.
Also, I've come across lots of firms big and small spouting open software principles, and getting the warm and fuzzies with government bureaucrats, and then quietly slipping in some critical component that they charge a fortune for, and which is not open at all. |
| Sat 26 Apr | Stephen Jones | Dear dotblank,
I am sure you are right about developing applications for Linux on handhelds though.
I was however under the impression that there were devices out there which used an embedded Linux OS.
Tablet PC's are a niche market. The real market is in joining together the mobile phone and the PDA. The question is whether we will end up with a mobile that has evolved to include an PDA or a PDA with a mobile bolted on, or both of them so it won't make a difference. MS is completely out of this market. |
| Sat 26 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I disagree that tablets are a niche. I expect that in a very short time (5 years or less), they will outsell -- perhaps significantly outsell -- traditional laptops. There will be a time when only geeks who want a 10lb mobile desktop will buy a traditional laptop. |
| Sat 26 Apr | Mitch & Murray (from downtown) | Every review I've ever seen for a PDA/Phone combo has been negative. Nobody likes them. Handspring, after announcing they were going to focus on these, is absolutely losing their ass financially on this strategy, and if this trend continues, they will go *poof*.
Tablet PCs are going to be huge. Imagine every person that uses a clipboard as a potential user. The healthcare industry alone is probably enough to make the whole thing worthwhile. If I was starting a software company again I would focus on apps for Tablet PCs. The vertical market shops are going to go ape over these. |
| Sat 26 Apr | Stephen Jones | PDA phone combos are negative because they are badly designed.
But people don't want to carry two things around with them, and don't want to have to key in two separate copies of the contact details.
My personal feeling is that it will be the phone companies, probably Nokia, who get this right.
And the cell phone market is huge. Over 80% of the UK population, including babies and pensioners (that is everybody who wants one) has got a mobile phone. Penetration is massive in the rest of Europe and Asia as well. If you live in the States maybe you don't see this.
Now tablet PC's fill the space between handhelds and notebooks, and will no doubt get the market for certain types of mobile data entry, but we're not even talking about a significant part of the working population here.
And they certainly won't oversell notebooks, because notebooks are not being bought by geeks, but by non-technical types. They are the ones who just don't want to take up space in the living room or bedroom with a desktop. They can pack the laptop away, and take it on holiday if necessary.
Tablets will eat into notebook sales, but notebook sales are eating into desktop sales, (thankfully for anyone involved in shifting hardware or OS's). |
| Sat 26 Apr | Myron Semack | Linux is set to do well in two key markets:
1) Low-end servers. This puts it in direct competition with Microsoft. I don't need to expand on this.
2) UI-less Embedded platforms. For a Tivo or a broadband router, it works really well. For those markets, it really doesn't matter what OS you use (as long as it works). And Linux actually does make a decent network OS.
It might do okay in the handheld market, but we're not going to see ANY serious penetration of that market for the next 5 years at least. I've used several Linux handhelds, and they're all less capable than Windows CE 1.0, and cost just as much. The royalties on PocketPC are so low that it's actually cheaper than using Linux (when you factor in the extra development you have to do to get Linux working).
It's also not ready for the hardened RTOS market yet. To make a Linux RTOS as serious as VxWorks or QNX, it requires major changes from stock Linux. These hardened Linux RTOSes end up being very different beasts.
As for the desktop... Not yet. You can install Redhat 9, and it may look really good on the surface, but once you start using it, and I mean really using it as a Windows replacement, it's limitations start to show through. I'm sure it will improve, but that means moving towards a more customer-oriented development model, which Linux is sorely lacking.
I do see it started to become popular on bargain-basement PC's and thin clients, however. Like the kinds of things that do nothing more than web browsing and e-mail. |
|
| Development for Handheld device | Fri 25 Apr | Matt Watson |
| I work for a large retail company, and we are beginning work on porting our POS applicaiton to a handheld device to make a mobile Point of Sale that can accept credit cards. We are still in some of the planning stages with this and I was wondering if anyone else has had experience with this.
Our plan right now is to use Pocket PC 2002 and porting out app (written in c++) to embedded c++. But for all new development on these devices, I wanted to go with .Net.
Is anyone else doing retail applications on handheld devices? What OS are you using? What are you writing it in?
Also, before we can use .Net we have to evaluate all other possibilities on this device (Embedded c++, Java, etc). What has been your experience using these languages? Would you use it again? Why or Why not?
Thanks for any input. |
| Fri 25 Apr | Philo | My main recommendation: develop a solid specification for your handheld device and evaluate the market, because you'd be amazed at what *isn't* available.
Philo |
| Fri 25 Apr | Stephen Hassall | We have been using Embedded C++ v3.0 (also working with v4.0), with MFC (without the wizards), to develop a modile point of sale system.
There are a number of MFC classes that are missing, but nothing important. There are also different problems with different platforms/handware that may need to be looked at. One big problem we have found is that by the time you have finished creating your system, the hardware has moved on.
We looked at using Win32, but this was too complex to support later on, using VB, but this was a joke, using .Net, but not all hardware supported it and using java, but again not all hardware supported it.
If you ask me it would be best to use Embedded C++ with MFC. People know MFC and will do in the future too.
Stephen. |
| Fri 25 Apr | GiorgioG | It might be worthwhile to port it to the .NET Compact Framework which was recently released with Visual Studio .NET 2003.
I messed around with a minimal proof of concept (restaurant POS) client app using the .NET CF (in beta form) - I have to say I was impressed with how much of the .NET Framework is included in the Compact edition. If you're going to port it to the PocketPC platform, I wouldn't use anything but the .NET CF unless porting your application to Embedded C++ is an easy/straight forward thing. |
| Fri 25 Apr | . | If it's a commercial application, I would recommend C++ using straight Win32.
This gives you maximum flexibility, and performance, and keeps you protected from various implementation bugs in libraries built above that, such as MFC and eVB.
Net CF I see as being more for in-house developers at this stage. |
| Fri 25 Apr | . | And by the way, don't even think about Java. |
| Fri 25 Apr | sedwo | We develop (eVC 3.0) for Pocket PC 2002 devices using pure Win32. We do data acquisition and size and speed are necessary. While Win32 is more maintenance, it is more flexible and portable to future devices. It also doesn't have as many dependencies as MFC or .NET stuff. A consideration for the future (once .NET is everywhere) might be to switch to C#. But its too early to tell yet. And Win32 will always be around. |
| Fri 25 Apr | Matt Watson | One of the problems we are facing is that our organization is trying to go purely java and we are getting blasted for wanting to use anything else on the device. They think that Java is right in all situations no questions asked. How can I convince them that Java is not the best option in this case? |
| Fri 25 Apr | GiorgioG | >How can I convince them that Java is not the best option in this case?
Make a business case for it.
'If we use java for [Insert Project Name], we can do everything you want but it will take X number of months or years, which in turn will cost Y dollars. Using [Insert Platform], it would cost y1 and have it done in x1 time. As a result of using [Insert Platform], we would save X-x1 time, and Y-y1 dollars.' |
| Fri 25 Apr | William C | I have been working at LinksPoint (http://linkspoint.com) for over a year and a half now. We have been using embedded visual C++ WITH MFC for all our handheld applications (I have worked on 3 in my time there). One of the applications is called Starcaddy (http://starcaddy.com). This is a shrink-wrapped, consumer application that allows you to determine distances on a golf course.
I bring this up because I read these arguments against MFC and using straight win32: 'we need it to be more flexible and portable to future devices' or 'it is more flexible (twice I read this)' or 'it protects you from bugs in the library'.
Could someone tell me what they mean by it being more 'flexible'? Where exactly does using MFC here make it not flexible?
As for other devices, StarCaddy was tested on numerous devices before it shipped. Also, since it has been released, it has been tested on many, many, many PDA's. Not once did I ever hear a customer support issue of this type: 'darn it! because we used MFC instead of Win32 it won't work now!!!' :)
As for bugs, I never once got into a situation where we couldn't develop a portion of the application because 'MFC got in the way'.
My personal opinion is that embedded VC++ WITH MFC is the way to go. I've worked on multiple applications with it and my co-workers have worked on multiple applications using this technology. My company in the past couple of years has developed many custome applications and products using eVC with MFC. It works just fine. And there is no need to increase your development and maintencance costs because of some MFC-bugaboo.
Then again, I could be dead wrong. I'm willing to listen to all detailed arguments against it. I have just seen what my company has been doing for the past couple of years, so the proof is in the pudding.
As for embedded Visual Basic. Don't waste your time. I'm not saying this because I have some VB bias. My company did look into using eVB to create StarCaddy and it was determined that it could not do the job. On top of that, I've heard through other handheld developers (we have a GPS API so we are in contact often) that it just can't get the job done. I don't know the specifics, I just know that it isn't a good idea.
Java is slow and a bad idea also. Trust me, don't get involved with Java for the handheld.
.NET we have been looking into it. But it is just too early to think about developing with it. For us anyway. Because the .NET compact framework is not part of the OS, that's something that we would have to ship as part of our application. And because we are shipping it and installing it on their PDA ... we then have to support it. Not microsft -- us. Angry customer, 'That stuff you had us put on our PDA caues bad things to happen!'. Us, 'Well, it's .NET what can we do?'. Angry customer, 'I don't know...but you better fix it!!!' I wish I could remember some of the other issues that were discussed at this meeting we had on the exact topic. I'll have to bring this subject up again .. but maybe there were some bug issues or memory issues or something. I forget. But it's just not a good idea, right now, to use .NET. But we do have our eye on it. |
| Fri 25 Apr | William C | One other point, the original poster said that the app they wanted to port was written in C++. Was this C++ using Win32? using MFC?
If it was written in MFC, this is more of a reason to use eVC with MFC. When we were developing StarCaddy, we kept a simultaneous Windows version that we would run through boundschecker. Because embedded MFC is a stripped down windows MFC, the app that was developed on the handheld pretty much just compiled in a regular Windows Visual Studio project. We would just change the dialogs for the Windows app (make them bigger, prettier, etc.)
So, the move from a MFC app to an embedded MFC app would most likely make your life easier. |
| Fri 25 Apr | Nat Ersoz | Nice to see a unified coherent strategery is being adoopted by the MSFT camp.
Rock on. |
| Fri 25 Apr | William C | Nat,
I'm not being fecetious. I'm serious when I say that your comment went way over my head. Could you explain the point you were trying to make in a little more detail? |
| Fri 25 Apr | Nat Ersoz | 'We have been using Embedded C++ v3.0 (also working with v4.0), with MFC (without the wizards)...'
'If it's a commercial application, I would recommend C++ using straight Win32.'
'We have been using embedded visual C++ WITH MFC...'
'It might be worthwhile to port it to the .NET Compact Framework which was recently released with Visual Studio .NET 2003.'
'We looked at using Win32, but this was too complex to support later on, using VB, but this was a joke, using .Net, but not all hardware supported it and using java, but again not all hardware supported it.'
Basically, its great to have many different ways of doing something. Like second and third sourcing hardware, always a good idea. Its another thing to have the anvil of discontinued support hanging over your head after you've made your choice. |
| Fri 25 Apr | runtime | I've been porting C++ code to Pocket PC 2000/2002/2003 and Windows CE.NET 4.x for a couple years. The only Win32 porting problems we had on Pocket PC were a few missing features (mostly some uncommon ActiveX interfaces to Pocket IE). eVC is not a adequate but not great dev environment. You can do most of your dev work with the Pocket PC emulator on your desktop PC. It's very close to the real Pocket PC.
As a disciple of Joel On Software ;-) I would strongly recommend that you do not rewrite your existing C++ application. Do not rewrite it using Java, eVB, or .NET. You have lots of tested C++ code and that is a huge running start.
Porting it to Pocket PC won't be that difficult. The hardest part will be adapting your exiting GUI to Pocket PC APIs, but you should probably rethink your app's UI for the Pocket PC form factor anyways.
Good luck! |
| Fri 25 Apr | sedwo | William,
My definition of 'flexible' regarding the use of Win32 is mostly due to the level of control you attain with it. Its the 'assembly language of windows' as I've heard it called. And while MFC is a viable choice, it does abstract the developer from some of the underlying layers. And all the better if your purpose does not require it. But aside from the possible digression of using the 'right tool for the job', IMHO Win32 seems to remain more tolerant of change then those libraries built on top of it. I view the Pocket PC platform as an embedded system, and hence focus on issues regarding size, speed, and dependancies. To distribute an MFC application, you also need to package its dependant DLL's and such. The .NET CF is even worse. Pure Win32, just the executable. Which makes it all the better for wireless GPRS distribution, since its so damn slow.
Either way, whatever route is chosen to develop in, you will soon enough discover its limitations and either modify your design, or modify your tool. |
| Fri 25 Apr | . | The problem with eVB is that it's basically VB Script. It doesn't provide compile time type checking and doesn't support classes. Nuff said.
It can be slow-ish in displaying forms and it's iffy in keeping up to date with the UI changes that are happening in Pocket PC. MFC might also suffer this, although I take on board the MFC enthusiast's points. If it works for him, OK.
One thing eVB is good for is quick data entry apps, because it works well with ADOCE ( cut down ADO.) However ADOCE has its own set of signficant bugs.
SQL Server for CE is the direction for data access on Pocket PC. For corporate developers interested in VB, VB.NET is the way to go. |
| Sat 26 Apr | Nice | I've done MIDP Java apps for motorcycle couriers using the Motorola Accompli 008 (because it has a touch screen you can even capture a signature on delivery etc).
More recently I've been playing with programming the Sony Ericsson P800 smartphone, using C++. Symbian has a very very well-thought-out C++ framework.
The world isn't Microsoft. Just much of it. |
|
| What happened to 1st Page 2000? | Fri 25 Apr | R. C. |
| Were the developers all murdered or something?
Anybody is Down Under know the low down? |
| Fri 25 Apr | Nick | http://www.evrsoft.com (the First page home) is still on-line, so I don't get the question.
On the other hand, if you click on their 'Products' link, the only product listed is First page 2000, which is free. Doesn't sound like a solid business model to me. So, maybe they closed up shop and someone's footing the bill to keep the web site active.
BTW, I still use First Page for simple web pages. It's not a bad editor, but it does lock up occasionally. |
| Fri 25 Apr | Panna | Nick,
it's the version from 2 years ago. |
| Sat 26 Apr | Adrian | If it's of any use I made a note in January 2002 that the Evrsoft forums had gone from buzzing about the soon expected new release to being closed down in the space of about a week.
The front page release date also changed from October 2001 (I think) to TBA and has remained that way ever since.
The site also started displaying banners around that time so I wonder whether they were trading on the popularity of the software at the time to get some income via click throughs. |
|
| OOP in C | Fri 25 Apr | John |
| The FILE structure and its functions fopen, fclose, fread, fwrite, fprintf, etc. is a good example of OOP in C. How about inheritance, polymorphism in C? |
| Fri 25 Apr | The not-angry coder | C++ was originally implemented as a preprocessor to C (C Front).
Object oriented style programming is possible using C. Use C structs to hold the data. Create functions to act on the structs that take a pointer to a struct instance as their first parameter. 'Mangle' the function names by prepending the name of the type of the struct that the function operates on. Use malloc instead of new. Voila--the poor man's C++ compiler. |
| Fri 25 Apr | Punter | Inheritance and polymorphism in C are frequently implemented through tables of function pointers - i.e. manually create vtables for your structs. |
| Fri 25 Apr | cypher | http://ldeniau.home.cern.ch/ldeniau/html/oopc/oopc.html |
| Fri 25 Apr | Giovanni Corriga | Inheritance may be emulated by placing a struct inside another one:
struct Base { /* ... *};
struct Derived { struct Base super; /* ... */ }
Then, you may pass a Derived pointer to each method which requires a Base pointer. |
| Fri 25 Apr | Nat Ersoz | Yes, please don't violate the language with bad casting:
struct fooBase {
int field1;
int field2;
};
struct fooInherit {
struct fooBase base;
int field3;
int field4;
};
struct fooInherit x;
struct fooBase *y;
y = (fooBase*)&x; // DON'T DO IT!
y = &x.y; // OK
I think I said that right. |
| Fri 25 Apr | Brian | Everything mentioned so far will work, but you're still missing out on encapsulation. I can't think of any way to get the language to help you out on that - I think you have to rely on programmer discipline (maybe aided by naming conventions).
As someone else mentioned, virtual functions can be done, but it could get hairy.
It's all possible to do in theory, it's just a matter of how much you need and how much work you're willing to do. At some point, it becomes desirable to use a language that has more support for the features C doesn't support. |
| Fri 25 Apr | Chris Tavares | OOP can be implemented in any language that supports the call of functions by reference. OOP is not really supported though, unless the language makes it easy to do these sorts of things.
Several years ago there was an article in C Users Journal with a set of macros to do OO programming in C that you could use to compile either C or C++ code against. Pretty useless today, but a neat idea back in the day. |
| Sat 26 Apr | He-who-would-not-be-named | It's a good idea to actually define what OOP is or isn't for you -- it's ill defined, and sparks many religious wars that are about definition and not about merit.
A good summary can be found in Paul Graham's site, [ http://paulgraham.com/reesoo.html ]. |
| Sat 26 Apr | anon | Wanna see OOP, polymorphism, inheritance and garbage collection done in C? download ghostscript source code. |
|
| How quickly is .Net being adopted? | Fri 25 Apr | The not-angry coder |
|
Any good articles about how .Net is faring vs. Java and legacy ASP/VB/COM+? |
| Fri 25 Apr | Li-fan Chen | You might look at Forbes ASAP's website. With a grain of salt. |
| Fri 25 Apr | . | My impression is that support for .Net is solid.
Most development houses that are Microsoft-oriented, rather than Unix, are starting to ramp up and are keen. There will be lots of serious .Net applications by the end of the year.
Older asp and VB applications might get ported, but not if there's no need to.
Java has its own solid following among the anti-Microsoft camp, but I detect increasing disquiet at the ever increasing baggage. I think Java's place is more definite at the developer level, because developers appreciate the clean design. Higher up, I'm not sure. |
| Fri 25 Apr | Bill Tomlinson | In regards to .Net vs. older Microsoft technologies my take is that, if MS sticks to it's guns, practically all MS-oriented companies will eventually switch to .Net because MS will make it increasingly difficult to continue developing/maintaining/supporting non-.Net technologies. So while the speed of change might be open to debate, the conclusion doesn't seem to be.
In regards to the .Net vs. Java argument. This always seemed pretty open-and-shut to me as well. Practically all companies that are already MS shops are going to switch to .Net. If you're not already an MS shop, any compelling advantages to .Net are completely offset by it's portability issues (I know, there are arguments that .Net is/will eventually be portable, but I don't buy it). |
| Fri 25 Apr | one programmer's opinion | I don't have any article links handy at the moment but from what I have read on the web (a few articles and several newsgroup posts) it appears that there are a lot developers and Microsoft shops playing with .NET but there isn't a lot of business demand for it at the moment. That said, you can try the following before coming to your own conclusion:
* Do a Google search
* Search the job boards
* Check out various forums and newsgroups
While wide-spread .NET adoption seems inevitable, the question of when is still an unknown. |
| Fri 25 Apr | K | .NET is the future of development in my workplace (15 mostly j2ee developers). A couple .NET applications are already in wide use and we are looking to replace a significant (j2ee) enterprise application with a .Net re-write. |
| Fri 25 Apr | KKK | J2EE is the future of development in my workplace (15 mostly .NET developers). A couple J2EE applications are already in wide use and we are looking to replace a significant (.NET) enterprise application with a J2EE re-write. |
| Fri 25 Apr | Dave Rothgery | My employer seems to be slowly migrating from VB6 and Access desktop apps to VB.NET, and from classic ASP web apps to ASP.NET. At this point all new web apps are ASP.NET, and I rip-and-replace things every once in a while, but I don't like throwing out working code, so some things are sticking in ASP classic until we do a major redesign and I have to rewrite them anyway. |
| Fri 25 Apr | Just me (Sir to you) | Overal I see a lot of 'interest' in .NET, small experiments, developer awareness and training etc., but not very much big projects/deployments.
I have heard of some Java/J2EE migrations but certainly no significant percentages. I also do not believe in a major Java->.NET transition theories. J2EE is here to stay. The economics for recoding major parts to another platform are not there in the foreseable future (IMHO).
What I do see is many new developments that are currently on ice being retargetted towards .NET. If the sector picks up, we could very well start to see a major .NET wave. |
| Fri 25 Apr | | What sort of sloppy assed organization is already rewriting their .NET apps in J2EE!? |
| Fri 25 Apr | Li-fan Chen | I think the adaptation is partly a result of the function of software physics. Big software takes a long time to rewrite, so you have to plan ahead and in fact start rewriting your code ahead of your peers.
Another way to look at adaptation is how easily it is to start integrating the language into everyday life. Maybe your Excel geeks will be using it before you do? Or your back-end web geeks. Perl was on webservers before developers ever thought possible to write Tk-based software just as millions of asp and wsh scripts sprinkled most IT file servers before VB 6.0 is formally adapted.
For example, I do a little of everything, and I can't wait to use .Net for SQL Server stored procedures and triggers or to avoid buying expensive ASP components. A lot of functionality you find in commercial ASP components can be found in .Net foundation classes easily. Crypto, in-memory graphics generation (for dynamically generated gifs), main-memory databases, etc etc. Ofcourse, officially I can't use a lot of these features right away because who knows how reliable they are until you give it a few years--so you'll see it in a lot of in-house scripts before you see it in official development streams. |
| Sat 26 Apr | Bill Rayer | VB programmers seem to be gradually (and resentfully) experimenting with .NET. They don't like it that Microsoft have obsoleted VB, and they're only adopting .NET because the alternative is letting their code wither and closing shop. They secretly hope something will save them, eg Microsoft will relent and produce VB v7, or some other company will produce a VB clone, or some nice open source coders will make a version of VB, or anything please help...
I should add I'm not a VB programmer (C is all I know). My comments are from talking to developers around where I live. |
| Sat 26 Apr | Jen | .NET is HOT HOT HOT in my organization. I manage a QA team which supports several different development groups and I see .net showing up all over the place. I would say it's here to stay! |
|
| Forum Software Beta v5 | Thu 24 Apr | Dave B. |
| Once again for those interested:
Beta Version 5.0 of the Forum Software is available for download at - http://dbehnke.users5.50megs.com -
The forum can viewed and used at - http://www.sswltd.com -. Please remember when posting on this site that, at the present time, your post is not guaranteed to stay there. ( In fact the entire site is not guaranteed to be there. ) The site is there for you to play around with the forum. Also if you delete a post please add one to take its place.
---------------------------------------------------------------------------
Some things worthy of mention:
- A maintenance page has been added to allow deletion of whole threads or individual posts
- The search feature was upgraded to include searching by date and ordering the results.
- The Forum Software is now distributed under the GNU GPL.
- Many minor bug fixes
----------------------------------------------------------------------------
Code talk:
- Text fields in SQL Server are still used to hold the text of a post. This could be changed to a varchar field but would then limit the size of the post.
- Topic field length has been increased to 80
- Posts are now saved as HTML instead of dynamically building them each time they are displayed.
- ssw_newtopic and ssw_newreply no longer take place within transactions
- Links are now recognized with a CrLf OR Space before and after
--------------------------------------------------------------------------
One of the goals of this project was to create a plugin type forum that operated like this one. One where people could say, Hey, I like that forum!, then download it and plug it in to their website by adjusting the parameters at the top of the file(s). I think it achieves its goal to a certain extent, but could be improved upon by adding more predefined CSS templates and perhaps an installation program. I am not familiar with how to go about writing an installation program for an asp application so if anyone has any tips, they would be greatly appreciated.
I would also like to address the many people requesting MS-Access and MySQL / PHP versions. All I can say is that, once the ASP/SQL-Server version stabilizes, I will work on porting it to those platforms. |
| Fri 25 Apr | tapiwa | nice |
| Fri 25 Apr | Leonardo Herrera |
Nice. But GOD those colors. |
| Sat 26 Apr | www.marktaw.com | I've been very happy with Phorum - www.phorum.org - not that it's seeing much use right now, I just set it up.
It's PHP / mySQL. It seems fast, stable, easy to use, and somewhat 'Joel on Software' like.
Mine (brand new as of 2 minutes ago) can be found here:
http://www.marktaw.com/forum/list.php?f=1 |
|
| Layoffs | Thu 24 Apr | anonymous |
|
It looks like were going to have to do a small round of layoffs next week. It will be about 10% of the staff from my department - were targeting the people we feel are poor performers, instead of going strictly on seniority.
Im a project manager, so Im in the unenviable position of having to justify this to the guys who work for me (no one who reports to me is being cut). Im not happy about it, but I do understand the companys reasons for wanting to trim some payroll fat (we hired way too many folks this year).
Ive never been through a round of layoffs before, but Ive read lots of horror stories about them. Theres probably no really good way to go about this, but I suspect there are lots of bad ways to do it.
Any suggestions for how to approach this? I want to be sure the ones were keeping dont lose all their will to live (and keep working) at once. Whats the best way to minimize the impact? |
| Thu 24 Apr | Philo | Minimize the waiting. As soon as you know the names, tell them. The horror stories about layoffs all revolve around the workforce sitting around wondering who's going to be called next.
If you can come up with a decent solution to tell everyone simultaneously (email or notes on their desks before they come in) that makes it even easier.
I was going to say something about the contents of the notes, but thinking about it more, really all they care about are 'kept' or 'gone', so just make up some nice boilerplate about 'we're sorry yadda yadda pack your bags' and send it.
However, (thinking on the fly here), you *might* put something in the email/note to the effect of 'this may seem impersonal, but we (I) felt it would be easier on everyone concerned to find out as soon as possible rather than sit around waiting to be called into the Dept head's office. If you have anything you'd like to say or need to talk, please feel free to just drop by.'
Yeah, I like that last part.
Philo |
| Thu 24 Apr | Philo | Oh, and don't play delusional games like 'we expect everyone to keep working hard until the announcements are made' - reality is that between the word 'layoff' and the actual notice going out, there will be zero work done.
Philo |
| Thu 24 Apr | Brent P. Newhall | Well written, Philo.
I'd be brief and truthful. Tell them exactly what you've written here. 'Management has decided to lay off a few of the poorest performers in the company. None of you will be affected. Frankly, we hired too many people and we need to trim the fat, which will be about 10% of the company. I'll let you know as soon as I've heard any more.' |
| Thu 24 Apr | one programmer's opinion | I don't know if you really can minimize the impact. However, I would go with the personal touch because you simply don't know what someone you had to fire today will be doing in the future. |
| Thu 24 Apr | Bored Bystander | >> Minimize the waiting. As soon as you know the names, tell them.
How the heck is this supposed to work before the fact? Targets of layoffs and firings are a state secret in all companies until the deed is done. And you absolutely cannot tell people to not talk. They WILL. And anyone who is friend of a target will tell them. This kind of news is never prereleased until the day-of, and usually simultaneous with the actual layoffs themselves.
Admirable, but once done, the 'victims' are 'walking dead' since odds are they *will* hear about it. |
| Thu 24 Apr | Bored Bystander | PS: Brent's approach is reasonable and workable. |
| Thu 24 Apr | Philo | Whoops - I *completely* missed the 'none are in my group' part. The 'them' I was referring to were the targets of the layoffs.
Sorry. Nothing to see here. Move along.
Philo |
| Thu 24 Apr | Mike Gamerland | I would also be careful about 'we are laying the dead wood, poor performers. losers, -your words here- ' Aside from it causing emotional turmoil, if you cannot prove it, then you are going to create legal hassles for yourself.
I agree with the people who say get it over with quick. No one is going to like this and even good performers feel vulnerable. Over the years I have noticed my good performers feel they are working on the edge and anyone could be let go at anytime. The poor ones always seem surprised. --- Maybe the subject of another thread. |
| Thu 24 Apr | T. Norman | Seemed like your company has incompetent senior management. Layoffs are not something that should be happening just months after hiring several people (unless there was something unexpected and catastrophic) because they should not have been hired in the first place. I can't stand when they use layoffs as a way to excuse bad planning. If they are that bad at planning, the company will be on its way downhill fast.
The only good sign is that they are targeting the bottom 10% instead of doing it randomly. When they do it randomly, they end making the top 10% run away.
The previous company I worked for did something similar, randomly laying off people including some who they hired less than two months before, and laying off people who were just promoted. They still haven't had a profitable quarter in the 4 years since, and now they are a penny stock that got delisted from the exchange. |
| Thu 24 Apr | Eric Moore | Rather than saying you're laying off the poor performers, you might want to consider talking about prioritizing who you could keep based on whose skills best meet your current needs. That covers both people who didn't meet your expectations and good people who have a skill set that you'd like to keep, but it doesn't make economic sense to retain.
You need to set expectations for the survivors as to whether management is going to keep doing more rounds of layoffs, and why your project was cut 10% rather than laying off the same headcount throughout the dept.
The franker you can be, usually the better. People will be very skeptical and sensitive to 'spin'. If your project wasn't the only one hit it might help to discuss the burn rate and project when the next decision point (do we need to do more layoffs) will occur.
I've also noticed that giving the layoff victims most of the day to say goodbye makes it easier for the people who stay. Survivors feel less quilty, and everybody is more comfortable because they can openly talk about the subject. It also sends a message it was just business, that the people who were laid off didn't do something shamefull.
There are obvious risks in doing this, but keep in mind if you have one round of layoffs the odds are you'll have at least one more. |
| Thu 24 Apr | Bored Bystander | I had to collect my thoughts some more on this topic.
Yes, I also have problems with the way that the hiring binge, layoff, and quasi-performance issue was framed by the OP.
I worked for a real scumbag of a software dev company back around 1990. They had a mass firing a couple of weeks before Christmas of '90. A friend of mine was one of the affected ones. So I know exactly what those two faced lying management pricks did, and it sounded a *lot* like the sequence being described.
The pres. had a meeting of all employees in a meeting room on a Tuesday afternoon and stated that simultaneously, there was a mass layoff of something like ~23 people (about 10% of the company.) He said that it was tough, that it was just before Christmas and they were cognizant that it was a hardship, bla bla. He said it was a layoff. This implies 'no fault'.
My friend told me that every person that was laid off was told at their kissoff meeting that it was 'really' about their performance; that they would be flattered with a more benign story publicly; but oh by the way don't bother to collect unemployment since this is 'really' for cause and we won't pay it. (in this state, employers will not pay unemployment if they claim that the discharge was performance related.)
So, naturally these people starting applying for unemployment. The state board of employment services basically said 'Up yours and f*ck you' to the company, and allowed unemployment to be paid for the entire lot. (excuse my language, I feel pretty strongly about such degradation of individuals.)
My cynicism about business owners, managers and execs has only grown from that point.
My point is: if it's a mass operation, then however the company does the ranking of the 'targets' had better be their own little secret, any verbalized value judgements had better be entirely absent, and everyone concerned had better get the message that they were 'satisfactory' but the company simply was falling on hard times, or whatever. |
| Thu 24 Apr | Rick | If you were going to be laid off how would you want to be told? Think about it and you will have your answer on how to do it. |
| Fri 25 Apr | Philo | But where is he gonna get ten strippers and that much jello by tomorrow?
Philo |
| Fri 25 Apr | Prakash S | Philo,
Working on CAMEL has its perks doesn't it?:-) |
| Fri 25 Apr | Joe AA. |
Just two things...
Anyone that performs a layoff via email (or other means that don't involve confronting the individual personally) is a coward.
Ten percent is really not that bad. I believe Jack Welch recommends laying off the bottom 20% as an annual exercise in maintaining company performance. |
| Fri 25 Apr | Stephen Jones | Didn't General Electric decide that Jack himself came within that bottom 20% one year? |
| Fri 25 Apr | Astarte | Regarding the 'survivors': This is psychologically difficult because you feel angry (for the layoffs), afraid (who knows when it might be your turn) and guilty (because you survived).
I think the key is to make it about money and not performance, so pull the survivors into the room and give them 'big picture' numbers - we cost X, we need to cost Y, laying off 23 people cuts Z dollars cost. This will help them feel safer about future layoffs. (If the numbers don't add up, start lookin for a new job for yourself so long - this company is on its way out).
Try to arrange small sessions with someone in authority to vent and discuss. In my experience people talk anyway, so rather offer them a structured, understanding environment to rant at you, rather than have them hang around in bars getting more and more upset outside hours. Try to talk about how you feel too; it makes it easier for people to be honest about how they feel. |
| Fri 25 Apr | Philo | Joe - the advantage of email is that you can tell everyone at the same time. Like I said, the layoff horror stories I've heard are where people are waiting to find out who got the axe and there's a 'death row' mentality in the office.
Laying off one person by calling them into your office is the right thing to do - it's happened to me, and I appreciated the personal approach. But more than about four people and word gets out and then it doesn't matter how you deliver the news - people just want to know.
And of course once the news is delivered then calling them into your office just wastes their time. I still think explaining WHY you're doing it via email ('So we can notify those affected as quickly as possible') and offering the open opportunity to come talk about it is a decent solution.
Philo |
| Fri 25 Apr | Simon Lucy | I think if someone were notified of being laid off (i.e. made redundant) in the UK by email then they'd likely end up with a wrongful dismissal claim.
In the UK as well, redundancies are the the post and not the person, if there is a need to make posts redundant then there is a process that has to be gone through, I think its 6 weeks notice at a minimum but I could be wrong. That's notice to the workforce as a whole, not to those posts which have been identified. There's a bunch of criteria commonly used to decide between those that have the same post, generally last in first out. That's not to say that managers don't take the opportunity to remove deadwood and settle scores in the process.
If an individual was let go because of performance then it cannot be treated as redundancy and the disciplinary process must have been gone through, if that process hasn't been followed then again there is a basis for a claim of wrongful dismissal. |
| Fri 25 Apr | Philo | Simon - do you mean to say that a face-to-face dismissal is more defensible than a written one? Or did you mean email as opposed to a physical letter?
Philo |
| Fri 25 Apr | Simon Lucy | A face to face interview is the only acceptable form. Certainly it has to be in writing to confirm it because there are all sorts of contractual and legal issues to cover. But the actual breaking of the news must be done in person.
I've seen what it does to organisations though, I've seen lines of people queuing up outside a directors office as he dealt with each one (it always seems to be Christmas). Its always brutal but is has to be done with respect.
Having said all that, I got my own redundancy news from my boss at Novell by phone, but then he was in California and I was expecting it. Still he handled it as well as could be expected. |
| Fri 25 Apr | Philo | Geez - if my name was on the list of 'the following x number of people must see the director this afternoon' and the first few got laid off, I'd just pack up my desk and leave.
Is it just me? Does anyone else here feel the need for your boss to hold your hand and explain to you why you won't be getting a paycheck any more? To me, it's a boolean, and if I'm fired, just let me go home.
Philo |
| Fri 25 Apr | | Re sacking someone by email constituting grounds for unfair dismissal - there was actually a case like that in Australia recently.
The guy was sacked by an SMS message to his mobile phone. I believe the employee has taken legal action and has a case. |
| Fri 25 Apr | RocketJeff | Layoffs are always brutal to both those being laid off and those left with jobs. The right way to do it is to minimize the amount of pain/fear/doubt involved. I was laid off in the 3rd round at my company and pretty much liked the style they used.
On the day of the layoff, the manager would individually tell the people being laid off that they were needed in a meeting in the conference room. The highest manager would then let the people know what was going on and then the managers would answer any questions that they could. Then the HR person would take over and do the rest (severance, COBRA, other benefits, etc).
While the HR person was running the meeting, the managers would informally gather their remaining people and let them know what happened (and who it happened to). That way there wasn’t any problems with people wondering if there would be another meeting later that day...
Once the HR person was done, the managers would escort their people back to their desk to have them clean it out (boxes were provided). The managers weren’t overly supervising the process (i.e. no “that’s a company paperclip, leave it”), but were there to be both supportive and to both answer questions (“can I take this book”) and ask any final questions about the project the person was on.
The only sticky situation is when someone isn’t at work the day they’re to be laid off. That happened to me, I was on vacation (at Disney World) the Monday it happened. I returned to work early Tuesday morning and my boss came over about 15 minutes after I arrived and we went to a conference room where an HR person was waiting – I was out the door by 8:30. One of my fellow team members started vacation that Monday (for a week and a half) and didn’t find out he was laid off until he returned. The fact that we were laid off wasn’t told to anyone until we were told first.
I’ve been laid off 3 times and this was the best one. Of course, I’ve heard that they aren’t doing mass layoffs any more, every so often one or two people are let go – this is by far the worst way to do it since it prolongs the fear/doubt of your remaining workers (unless you’re trying to encourage that sort of thing). |
| Fri 25 Apr | Matt H. | 1) I thought at GE it was the bottom 5%. 20% is pretty high.
>My point is: if it's a mass operation, then however
>the company does the ranking of the 'targets'
>had better be their own little secret, any
>verbalized value judgements had better be
>entirely absent, and everyone concerned had
>better get the message that they were 'satisfactory'
>but the company simply was falling on hard times,
>or whatever.
YUP.
If your company is calling it a lay-off, management has probably decided that increased premiums for unemployment insurance is cheaper than the potential lawsuits from firings.
Lots of companies use layoff-time as a good time to get rid of the 'dead weight' that they were too scared to fire in the first place.
Companies have to have the gumption to pull weeds as they grow. Otherwise, the final pruning is _FAR_ more painful.
JMHO ... I've been laid-off once and survived a round at another company. IMHO, the best way to mimize the damage is to provide a nice severance package - 3 or 4 weeks per year up to 3 years, 2 weeks per year beyond that, or something like that. PLUS accrued earned time off.
regards, |
| Fri 25 Apr | Better than being unemployed... | In 8 years of professional work, I've been hit by 1 layoff and survived 4. (One of the 'survivals' happened the day after I started the job...) It's incredible to think how much downsizing there is going around.
In all cases, the survivors were not notified that there had been redundancies until after all those affected had been informed first.
Also, it's been clearly emphasised that it's the role that's being made redundant, not the person. I believe that's law in the UK, as we laid off a Java-only developer last year, and as a result can't hire any new developers doing Java projects.
I don't think there's any good way of doing layoffs, because it's a pretty depressing thing for everybody concerned. Nobody ever wants to lay off people. |
| Fri 25 Apr | DR | There are quite a lot of redundancies going on in the UK right now, so I thought it might be useful to post the bare bones of UK employment law in dealing with this. I hope it's useful!
Simon Lucy is right in saying that in the UK it is the position and not, in the first instance, the person that is made redundant. The actual law is Section 139(1) of the Employment Rights Act (ERA). This essentially says that an employer may dismiss an employee on grounds of redundancy
'if the dismissal is wholly or mainly attributable to:
(a) the fact that his employer has ceased or intends to cease -
(i) to carry on the business for the purposes of which the employee was employed by him; or
(ii) to carry on that business in the place where the employee was so employed
(b) the fact that the requirements of that business
(i) for employees to carry out work of a particular kind; or
(ii) for employees to carry out work of a particular kind in the place where the employee was employed by the employer
has ceased or diminished or are expected to cease or diminish'
This means that it is reasonably straightforward to make an entire class of employee redundant, for example to shut down a factory or a department, but it's not quite so easy to get rid of, say, 10% of the programming staff. In the latter case employees have a right that the selection process treats them fairly and equitably which in practice this means that the process must be objective.
The objective measure could be as simple and 'last in first out'. Equally it could be performance related, but it must be objective and be applied even handedly to all employees in the class. An employer could, for example, justify using (quantitative) performance appraisals as the basis of selection, but probably not the opinion of a single manager.
There are selection criteria that the ERA explicitly forbids employers from considering. These are reasons related to assertion by employees of rights to:
health and safety under section 100
working time / time off (s101A)
statutory rights (s104)
minimum wage (s104A)
protected disclosure (s103A)
trade union membership or non-membership
For example, you cannot be made redundant just because you were the one person who stood up and demanded to be paid the minimum wage, or an equal wage to your male/female colleagues, or leaked to the press the fact that your employer had dumped a ton of pesticide into the local reservoir or whatever!
Employers do, however, have a couple of things on their side. First, the ERA includes a catchall clause allowing dismissal for 'some other substantial reason'; this is most often argued to justify dismissal in the context of business reorganisations that do not meet the statutory definition of redundancy but that the employer can argue are necessary for the continuation of his business.
Second the ERA requires that in determining whether a dismissal is fair an Employment Tribunal must give consideration to the size and administrative resources of the employer. In practice what this means is that not only can you expect a big employer with a well paid HR department to have everything written down with all the i's dotted and t's crossed, but also that they will follow their processes scrupulously. On the other hand a small outfit can get away with out formal HR policies provided that they don't actually break the law.
One last thing. If you are being disciplined or dismissed for any reason you have an absolute right to be accompanied to any formal interviews by a colleague or by a trade union representative, even if you are not a member of the union and the company doesn't have union representation on site. What is more, the company must tell you this. If they don't and, particularly, if it's not in any HR policy that they publish, then you have a good case to claim that dismissal was technically unfair. Likewise, you must be given access to any 'evidence' that is used in the selection process.
Please note that I'm not a lawyer, so this posting should not be taken as anything like a complete description of UK redundancy rules. My strongest advice is that if you hear of redundancies coming, consult a good employment lawyer straight away, not after it actually happens. This is one of the strongest reasons I know for being a trade union member. If you know what your rights are then you are in a much better situation than if you don't! |
| Fri 25 Apr | Philo | 'My strongest advice is that if you hear of redundancies coming, consult a good employment lawyer straight away'
Why?
So you can sue to keep your job?
Would you *really* want to work in the environment that would follow?
IMHO, suing to keep your job is like accepting a counteroffer, for pretty much the same reasons. Just don't do it.
Philo |
| Fri 25 Apr | Hardware Guy | Saying to your employees, 'We're going to use this as an opportunity to remove some of the dead wood,' is an admission of managerial incompetence.
Dead wood and problem employees should be removed continually, through reviews and remedial action. One of the biggest shortcomings managers have is the unwillingness or inability to tell employees that there's a problem with their performance, and that it has to be fixed or else.
Many years ago, when AMD had its first layoff, Jerry Sanders made two classic mistakes: he announced the layoffs well in advance of the actual terminations, and he gave the press the, 'we're going to get rid of the dead wood' line. Did wonders for employee morale. Eventually he retracted (or 'clarified,' maybe) his dead-wood comment. |
| Fri 25 Apr | David Clayworth | If you take the 'we're getting rid of the dead wood' line, think what you will say the next time round and some of your guys are affected. Also what will they think this time if they have friends who are laid off?
The truth is always best in the long term. |
| Fri 25 Apr | DR | Philo:
I don't want to start a flame, but I have to argue my position.
'Why?
So you can sue to keep your job?'
The reason why you should consult with someone who understands employment legislation and employees rights is precisely so that you don't end up in litigation.
You have to realise that for a lot of people, particularly in the UK and Europe where labour mobility is not as high as the US, loosing ones job can be very serious. The way I look at it, it's similar to companies recruiting customers. The cost of obtaining a new customer inevitably being higher than that of retaining one, companies should do their utmost to retain customers. Likewise with jobs; if you have one you like you should do your best to keep it as it's a lot easier than finding a new one.
Given that UK legislation insists that the process by which employees are selected for redundancy be objective, equitable and transparent, it is well worth treating the process like an inverse recruitment procedure. You wouldn't go into a job interview unprepared and expect to get the job. Likewise you shouldn't expect to enter a redundancy selection procedure unprepared and expect to retain your job. Part of this preparation is understanding your rights and obligations.
As an ex-employer, an ex-employee and now someone who sits on the panel of the local Employment Tribunal (the UK civil labour relations court) I can tell you that the people who bring unfair dismissal cases as often as not did not have a good understanding of their rights at the time they were dismissed. Usually they have consulted an employment lawyer after they were unfairly dismissed and, even if their claim is successful, the best that they'll get is compensation. I don't know how it is in the US, but in the UK the Tribunal can award compensation (principally loss of wages and strictly according to a statutory formula), but not *damages*. In my opinion the compensation rarely recompenses for the heart ache and stress that an employee and their families have been put through, even if they've been lucky enough not to loose their self estime, credit rating, house ...
Almost axiomatically people who do understand their rights don't end up at a Tribunal. They use this knowledge either to avoid dismissal or to negotiate an acceptable redundancy package; or they understand that the process used to select them was fair and accept that there is no chance of bringing a claim. In either circumstance, the Tribunal doesn't see them.
'Would you *really* want to work in the environment that would follow?'
This one is really subjective and depends entirely upon personal circumstances and the job market. Five years ago probably not. In five years time and today's job market, definitely yes; even if just as a holding pattern whilst looking for another job. Don't forget, if your company is laying people off, chances are that everyone else is too.
In the UK an employee who is unfairly dismissed is entitled to seek reinstatement to his former job or reengagement in an equivalent (or better position). I don't have personal experience of this, however I gather that one of two things generally happens. Either (i) the employer has no fundamental problem with the employee and reinstates him. The employer may well then be far more circumspect because any subsequent victimization or harassment of the employee could lead to him quitting and making a claim for constructive dismissal; Or (ii) the employer refuses to reinstate or reengage the employee and the employee walks off with substantially more compensation (between 6 to 12 months salary) that he'd get for a simple, fair redundancy. Again, there are 'get out of jail free cards' for the employer, but once a court has told you to do something, you'd better be damn sure that you have a first class argument for not.
I'm not going to even try to argue that UK employment legislation is good (or bad); whether it hinders growth because it introduces restrictions into the free movement of labour; or whether it protects the weaker from exploitation by the stronger. Those are truly ideological arguments and settling them is why we have a democracy (and why we should if needs be fight to retain it, enough said). The law is what the law is and if you're subject to it in one area, you might as well make use of it in another. |
| Sat 26 Apr | realist | 'we're targeting the people we feel are poor performers'
This means nothing. 'Feel' translates to 'the people we don't like'. |
|
| Fragile Base Class Problem in Nature | Thu 24 Apr | Nameless |
| (People who dont agree with the theory of evolution should skip this post).
Our inability to sometimes deal with the complexities of modern life is actually an example of the fragile base class problem occurring in nature, the reason being that were still inheriting many characteristics from our ancestors who led very different lives. |
| Thu 24 Apr | Mrs. Robinson | Are you having trouble dealing with your life?
With apologies to Scott Adams, chicks still dig a a man who can bag a deer over the man who knows Smalltalk. |
| Thu 24 Apr | Philo | Heh. It's the flip side of 'men want Jackie O at dinner parties, June Cleaver in the kitchen, and Linda Lovelace in the bedroom':
'Women want a man with Fabio's body, James Bond's charm, and Bill Gates' paycheck'
[grinning, ducking, running]
Philo |
| Thu 24 Apr | Patrik | >Fragile Base Class Problem in Nature
Are you asking why I made it into the genepool? |
| Fri 25 Apr | | It's official. You win the prize for biggest nerd. |
| Fri 25 Apr | Dimitri. | sometimes, when I deal with difficult people (students, parking ticket guys) I have this... URGE... to bang them in the head with a BIG stone and then stand over them, knocking my fists on my chest and shouting 'WAHUUUBAAAAAA!!!!!'
Is that what you mean?
The same kind of urge you feel sometimes of skipping the chit-chat and just, you know... |
| Sat 26 Apr | #If | I've been locked in a room for 5 years... What do you mean?
Regarding stoning, daily, although I would prefer 'HOOOOAAAAA!' |
|
| Joel, create a blog! | Thu 24 Apr | RP |
| Hey, Joel, an idea:
Why dont you create a blog here on your site?
Recently I posted a rant here and the answers I got were beyond perfect. After all, they were given by people who understood exactly what I said.
Recently I came upon a rant-cum-blog in another specialised forum: http://www.prosoundweb.com/recording/mm/week1/mm.php
Now, if Joel created a blog service here on his site, we would be able to create an archive of our working lives, to be read by fellow programmers.
Can you imagine Mitch Kapor writing his blog about Chandler here?
I guess you guys guet the idea. |
| Thu 24 Apr | Scotty | Does Joel want to write marketable software or create yet another blogging service? |
| Thu 24 Apr | Chris Nahr | I don't know, IMHO most blogs are a waste of valuable electrons...
Joel's site is exceptionally good precisely because it's more of an editorial than a blog, i.e. he only mouths off when he has something interesting to talk about.
He doesn't annoy us with stories about his political viewpoints, or how he accidentally mistyped 'dir' this morning, or whatever silly stuff most bloggers seem to waste their (and their readers') time on.
Now if you're suggesting that he should use another format for more convenient reading, that's fine with me. |
| Thu 24 Apr | Kero | I would question the assertion that a blog can 'waste time.' I think the user reads a blog because they find what is written is interesting. If you don't find what someone writes interesting you don't read it. The idea that a blog is out there to provide you content that doesn't waste your time is pretty self centered. |
| Thu 24 Apr | Bored Bystander | He *has* a 'blog'. It's www.joelonsoftware.com. But it's way better than a blog.
The big difference between Joel's blog and the trivial blogs that the mass public writes is that he only writes articles that have a specific subject and which are therefore readable by everyone.
OT rant on blogs now:
I think that most (95+%) of the blogs out there are unreadable absolute crap. The problem with most blogs is that they are an unstructured narrative and you have to make it your 'problem' to get into the writer's head and understand their life and POV. And my life is too short to do this. The reading of blogs is an unrewarding and trivial one way relationship, in my opinon.
If written material is not worth the attention it takes from the author to structure it into a self contained story, then it's not worth my time to read. I think it's narcisstic self indulgence to suppose that something I flip out about the zit I popped this morning is of any interest.
Notes from people I know personally are a different matter. (not that I want to hear about their zits.) |
| Thu 24 Apr | Philo@shamelessSelfPromotion.com | Hey Bored - is CAMEL 95% or 5%?
http://www.saintchad.org/blog/ |
| Thu 24 Apr | Joe Grossberg | Scotty: It's not an either-or proposition. A blog can (and often should) be something done for leisure, in one's spare time.
Chris: He has an XML feed that someone has syndicated to LiveJournal. You can also read it on NetNewsWire or NewsIsFree.
Chris, Kero, Bored:
I agree that most blogs are crap, including mine, but you could say the same thing about almost any form of expression. I certainly feel that most music is crap (but people disagree and still buy the albums). I think romance novels are crap, but judging by the shelf space at my local Barnes & Noble, lots of people disagree with me.
All blogs are appealing to some people and stupid to others -- but what blogs go in each category varies from person to person. You could even say that about each individual post. Some people like the fact I post the source code to helpful Linux scripts I wrote; others think it's 'drivel'. Some people want to hear my thoughts on the NBA playoffs; others don't.
In any case, I think Joel uses the JoelOnSoftware 'blog' to promote his company (to prospective customers and employees). Talking about his political views or love life would mess that up.
Joe
http://www.joegrossberg.com |
| Thu 24 Apr | The Word | The Sturgeon-Spolsky Corollary:
'Ninety percent of blogs are crud...but it's a different ninety person for each person.' |
| Thu 24 Apr | The Word | Sigh.
'...a different ninety perCENT for each person.' |
| Thu 24 Apr | Bored Bystander | Philo -
5%. But you're doing what most bloggers don't do. You're telling small, concise stories.
Joe -
I think there's a canonical form of prose that 'good' blogs adhere to - like I said, the ones worth reading (or at least the ones that are readable) assume that the reader is just jumping in and that the reader may not really be interested in the blogger him/herself (which is always a pretty good assumption). Decent blogs read like short magazine articles.
Most people are alike - they have limited time, limited attention spans, and an interest in hearing a distinct point being made. I did Toastmaster's (speech club) a couple of years ago. The primary structure of a speech as they presented it is: a beginning - goal statement for the speech - the middle - and the end, where you reach a conclusion and tie back to the start of the speech. They stressed this framework almost to the exlusion of content. The point seemed to be that anything that could be framed in this structure was fair game for a speech. That is not 'stifling', it's necessary to establish a format that allows a speech to be enjoyed and appreciated.
Likewise with writing.
The blogs that really annoy me are the ones written by people who have nothing to say except to talk about things they own, people they date or live with, or their mood swings. Teenage girl and goth blogs come to mind. Or, blogs that have good ideas or content buried under layers of self indulgent bad execution. Bad blogs read like personal diary entries.
I guess I could be charitable and say that any blog is equally worth reading for 'someone' and that all standards of judgement are subjective, but I won't. Some stuff is just plan crap. There are texts on writing style. Most bloggers would do well to check one or more such books out. Just as blowing into an instrument or banging on a keyboard at random is not necessarily music, it may simply be noise with no though behind it. Likewise, I think 95% of the bloggers should spend their time doing something more important. Or at least should try to organize their thoughts into more accessible form.
There's too much content in the world and especially on the internet. We're bombarded with 'content'. And I don't consider it worthwhile to shovel out bad content. |
| Thu 24 Apr | Joe Grossberg | Bored:
'Bad blogs read like personal diary entries.'
I agree with you, personally, but again -- that is a matter of taste. Some people love that kind of stuff. I've got a friend who has a livejournal and she says that my blog is more about what I'm interested in, rather than how I feel. And she did not mean that as a compliment.
Some people love the idea of seeing what's on someone's mind, following their lives, etc. Who wants to hear what a bitch someone's homeroom teacher is? Other kids. Who wants to hear goths' ramblings? Other goths.
'There's too much content in the world and especially on the internet.'
I often think that too, until I do a Google search and can't find what I need. I find myself thinking 'Someone's got to know this. Why didn't they write it down?' |
| Thu 24 Apr | Bored Bystander | Joe - I basically agree with you. I'm just trying really hard to not encourage anyone. :-) |
| Fri 25 Apr | www.marktaw.com | The Mixerman Chronicles are a great read, especially if you have *any* interest whatsoever in the music industry.
They started out as a post to the forum, but the bandwidth became so high that they dumped them to static pages.
Theoretically anyone here could just start posting bloggish type posts... Though I doubt anyone here is (a) as good a writer as Mixerman, (b) has a life nearly as interesting as his, or (c) couldn't just create a damned blogger account.
BTW, I barely consider my website to be a blog... I think I had it for several months before I knew what a blog was. My first introduction to 'blogging' was on my friend's website, where, on her homepage it said 'We Blog.' And I thought 'Blog' What a great word for the general malaise of everyone's life.
Old News:
'I think it was more a question of the right opportunity came along. We’re extremely interested in getting more information published on the Web in any kind. A relatively straightforward analysis says that a lot of the digital authoring empowerment in people’s hands is at a stage where people do not appreciate how powerful this is. I’m not just talking about computers. I’m talking about digital cameras and those types of things.
I believe that this notion of self-publishing, which is what Blogger and blogging are really about, is the next big wave of human communication. The last big wave was Web activity. Before that one it was e-mail. Instant messaging was an extension of e-mail, real-time e-mail.'
- http://www.alwayson-network.com/comments.php?id=325_0_2_0_C
'Search engine upstart Google Wednesday said it has acquired Applied Semantics (formerly known as Oingo) for an undisclosed amount.
The move gives it technology to improve its content-targeted ad programs, and takes away from rival Overture one of its affiliates. '
- http://www.internetnews.com/IAR/article.php/2195901 |
| Fri 25 Apr | www.marktaw.com |
RP - If you're into recording, check out my site http://www.prosoundreview.com. If you want, I can set you up with a bloggerish type area there so you can rant about your studio.
shameless self promotion> |
| Sat 26 Apr | RP | And this is how I realise that, having written an entry on this forum while waiting for a compile (ok, it was several compiles) I managed to completely miss the goal of it.
My idea was for Joel to create a blog service so we, users, could write about experiencies we have in our personal lives.
I recently got a new job and sometimes I feel I am in the same situation as Mixerman. I wanted to post what happens in my work hours so you guys could comment on it; but, I don't want to post on the forums. And realising more people would want to do the same thing, I thought that creating a blog would be an excellent idea. |
| Sat 26 Apr | Stephen Jones | ---'My idea was for Joel to create a blog service so we, users, could write about experiencies we have in our personal lives.'---
Heard of the Samaritans :) |
|
| IIT is highly overhyped and overrated | Thu 24 Apr | smm |
| Many consider IIT the best technical school in the World. In my opinion this opinion is not substantiated.
Look at http://icpc.baylor.edu/icpc/Finals/2003medals-web.htm - results of The 27th Annual ACM-ICPC
World Finals - most reputable competition in computer science. More than 2700 teams competed. And what we see?
First place is Warsaw University from Polan. Moscow State University is second and St Petersburg Institute of Fine Mechanics and Optics is third, both from Russia.
And where is IIT? IIT is on 43th place... Not good for best university...
May be average person from IIT is reasonably good, but top people from IIT are definetely not best by worlds standards.
By the way, Im from St. Petersburg Insitute of Fine Mechanics and Optics :) |
| Thu 24 Apr | Dimitri. | What's IIT?
Anyway, couldn't help but have a big smile when reading that first three where polish and russian universities...
Otoh, a factor could also be that american students may take such contests less seriously and devote less time for them. |
| Thu 24 Apr | smm | IIT is Indian Institute of Technology Bombay, the most elite university in India. |
| Thu 24 Apr | David Clayworth | 43rd best in the world is not bad! One more problem solved and IIT would have been equal with Harvard and Cornell.
I notice something else about the results though. No British, French, Italian or Scandinavian universities. I know the British have their own competition. Maybe a lot of other places do too. |
| Thu 24 Apr | Stephen Jones | This thread has already been aired previously on the forum.
Such competitions merely show that a particular institution can attract the best, and possibly that the best there have not got anything better to do with their time than enter these competitions. |
| Thu 24 Apr | smm | Lot's of south europe universities
http://swerc.up.pt/2002/Data/res_swerc2002.html
and north europe
http://ch.tudelft.nl/~chipcie/ekp/ekp2002/score-final.html
Only 3-5 university from every region go to finals. |
| Thu 24 Apr | Vladimir Getselevich | Such programming competions are not well known every where in the world. For exmaple, I live in Israel and studied at Technion - the most prestigious institute in Israel (and also famous in the world), but nobody here even didn't hear about such competitions.
If I had discovered them earler and not when finishing the master degree, may be I would try to organize a team. |
| Thu 24 Apr | das gringo | The Putnam exams are sorta big in the US, though that's math and not cs. Still, a lot of the geeks took it. I don't know if there's anything for cs people aside from Topcoder.
At least IIT is as good as UIowa. Next step: world domination. |
| Thu 24 Apr | Herbert Sitz | 'At least IIT is as good as UIowa. Next step: world domination. '
No, no, no. That should be 'at least as good as Iowa State U.'
Iowa State is the agriculture and engineering school -- otherwise known as 'Moo U.' In comparison, the U of Iowa (my alma mater) is more oriented toward liberal arts.
I still remember the bumper stickers some cars had after U of Iowa gave Moo U. a particular bad trouncing in football:
Culture - 52
Agriculture - 10 |
| Thu 24 Apr | Daniel Shchyokin | Every Institution is overhyped |
| Thu 24 Apr | sumit | smm - there are 6 IIT's in India, not only in Bombay, but also Delhi,Kharagpur,Kanpur,Madras and Guwahati.
The people who go into the cs dept are the top 100-200 ranks of more than 2,00000 examinees throughout India taking the entrance exam, and the questions would be difficult for even a 2-3rd year college student in Math,Physics or Chemistry.(I know i've written it) they test the concepts, if you are really intelligent and can figure things out you will get through.
I remember there was a question when I wrote the exam ,where it involved differential calculus, optics and
linear optimization...go figure.They combine all the concepts beautifully in the entrance exam.
80 of us in my high school class studied for the exams, only 2 got in and they were brilliant.
Just looking at the list of IIT grads, Vinod Khosla is there,the founder of SUN, as well as the CEO's of american airways and a few other corporations.The so called father of the Pentium chip is also from IIT.
At least in undergrad work IIT is good( top 5 in the world).
Recently there was a paper published by a prof. and 2 grad students about prime number factoring.It's supposed to be a big breakthrough in prime number research.I am sure there is a link from slashdot.
Believe me the competition to get in is very tough, with only the best of best getting through on merit.
As to why they did not to do great in the programming competition, I really don't know.
(P.S - I had a rank around 3500 in the Entrance exam) - 2 years of sweat and toil. |
| Thu 24 Apr | | Could we stop these blatant plugs. IIT doesn't rank on patents or faculty, and this hyping is nothing more than PR by the Indian software industry. They tried it here before and got no takers; now they're trying again.
Pathetic. |
| Thu 24 Apr | ' | Faculty? if you mean nobel prize winners, than no there are not any...but we are not talking about the faculty, we are talking about the students....and this ain't no pr...
merely the truth. |
| Fri 25 Apr | ubaid amin dhiyan | it is matter of opinion as to whether the iits are the best in the world, but to wonder if they are amongst the finest is naivete. as sumit says, the entrance exams are so very difficult that only the finest get through. as for the hype being an attempt by the indian software industry, that is a flawed hypothesis, a large proportion of the iitians decide to come to the us, i do not quite see the advantage the software industry will derive from the iits' prestige.
in the referenced contest caltech and ucberkley were 13th, harvard and cornell were 30th and mit does not even seem to be in the list, i'm sure that is not gonna start a mass exodus from these univs to warsaw and poland. eastern europe has been historically superior in pure math and, by association, computer science, but well, there is more to it.
regards,
ubaid.
http://ubaid.blogspot.com/ |
| Fri 25 Apr | Eli Bendersky | Vladimir,
There are such competitions in Israel - not for the University age groups though. Israel participates (with great success) in C.S. and Math olympiads for ages < 20.
--
Eli Bendersky
http://www.geocities.com/spur4444/ |
| Fri 25 Apr | Just me (Sir to you) | 'Otoh, a factor could also be that american students may take such contests less seriously and devote less time for them. '
Isn't this representative of a more general attitude towards education and scolarship in general in the USA?
Party on, dudes.
Decline and fall of the Roman empire springs to mind ;-) |
| Fri 25 Apr | Stephen Jones | There are no Nobel prizes in Math or computing Science.
And most courntries outside the US don't accept software patents either. |
| Sat 26 Apr | Cletus | I always thought that IIT stood for :
Illinois Institute of Technology
http://www.iit.edu/ |
|
| On replacing our mail transfer protocol | Wed 23 Apr | Jonas B. |
| The lets-replace-SMTP-article was one of the dumber ones lately. Not only would it be dumb to rewrite this 30-year-old protocol from scratch as it still works fine millions times a day for what its designed to do, but the article failed to actually point out whats bad with SMTP.
He writes that we should have authentication in mail. Thats NOT part of the transfer protocol. Tying together them would be bad. Just use PGP. Its been around for at least 10 years and does its job fine. Just tell your MTA (mail server) to drop/bounce all unsigned mail. (If you dont know how theres lots of consultants, including myself, out there who knows the stuff.)
The other thing he wants is a rate limit. Well, duh. Thats certainly not part of the protocol. Limiting incoming mail will solve nothing since you only get one (or a few) copies of each spam. Given that your mail server is correctly spam wont be queued through it, so you would have to use a stateful inspection firewall decoding your TCP traffic realtime. Now that costs money (a lot if your pipe is a fat one), and *may* reduce spam for *other* people. Not going to happend.
Finally, even Joel falls for this idea (I thought he might know better). This is probably from not understanding the problem. See, most spam are queued *without* the SMTP servers consent. Almost all spam in the world comes from abusing either open unprotected HTTP proxies or SMTP relays!
Even if these services are without passwords, Id say such malicious use is a crime just like breaking in to their system. So even if the world could agree on a micropayment system (yeah, right...), what would you accomplish? A lot of people would get very large bills just after their computers got broken in to!
Spammers are criminals, and should be dealt with the same way as with other economic crime: large fines. |
| Wed 23 Apr | best of all worlds | I saw a really clever idea on /. once, someone has started an opensource project to create an automatic spam identifier plugin to mailservers.
the idea is that if an email is identified as very prolly spam during the transmission using the bayesian thingie then the mailserver can being slowing transmission down....the more likely it is spam, the slower the mailserver would accept the data from that connection, and any other email coming from the same connection.
leading to 2 really good outcomes.
(1) All mail is accepted and nothing is lost...false positives lead only to a slower transmission and do not mean lost email.
(2) anyone using the mail server to send spam quickly gets bogged down...any mail server using the plugin slows down data transfer from a spammer to such an extent that it becomes nearly impossible to use that mail server for spam.....1 email sent a minute is way too slow for a spammer.
And all that without replacing the current protocol :) |
| Thu 24 Apr | Wayne Earl | Personally, I believe that spam, while a pain to deal with, is a small price to pay for the very best feature of smtp - the LACK of authentication. Because email doesn't enforce authentication or verification, people coming from policially oppressive countries can use it as a communication mechanism.
If the message is important enough, pgp/gpg or some other such tool will be used. I think there is a market to make these tools more user friendly, but the tools for message signing and authentication already exist.
Authentication is really a legal tool - a way of getting someone to own up to what he/she said (thereby, being a target for civil litigation). Besides, authentication can only verify that the email was generated by someone who possessed the key - it cannot verify that the owner is who he says he is.
SMTP is broken by design, and personally, I like it that way. |
| Thu 24 Apr | | 'even Joel falls for this idea (I thought he might know better)'
The problem is that people get very wound up about spam and tend to knee-jerk react. That's how a lot of bad ideas get adopted (blackholing of dynamic ips for example). |
| Thu 24 Apr | Stephen Jones | where is the evidence that most spam is generated by open relays?
Nearly any mail server with an open relay is blacklisted; there are bots that go round the web identifying them and putting them on the blacklist. the amount of spam has tripled or quadrupled in the past year despite this.
To the best of my knowledge something like 905 of the Spam in the world (Nigerian scams excepted) comes from about 20 commercial mass mailers.
Incidentally you probably don't even need to give your email out to get spammed. Spammers frequently simply send out spam to made up addresses on the grounds that the odds are well in their favour that messages sent to johnsmith'@anyISP or stevejones@anyISP will hit paydirt. |
| Thu 24 Apr | Simon Lucy | If the corollary of this is that everyone must be identifiable by the email address they use (which is what governments would like), how long would it be until anonymising would come back?
Immediately.
Trying to replace SMTP would be like trying to replace roads with umm roads. They'd just be more expensive roads with tollgates.
Yes, that's an advance. |
| Thu 24 Apr | | 'Nearly any mail server with an open relay is blacklisted'
This is patently untrue, if only because many of them are on dynamic ips and therefore are up/down/in/out as the owner connects and disconnects. The relay raper doesn't care - probe for port 25 access... open? good... send a few spams whose (b)cc lists will be exploded on that server, from where they will be sent on, in a few minutes or hours... job done.
'bots that go round the web identifying them and putting them on the blacklist'
1) Bots cannot 'go around the web' (port 80 etc.) identifying open mail relays (port 25).
2) So what? Not everyone use 'the' blacklist. And which blacklist were you thinking of exactly? See http://rhols66.adsl.netsonic.fi/era/rbl/rbl.html |
| Thu 24 Apr | Stephen Jones | From http://www.theregister.co.uk/content/6/30368.html
---'Linford believes 90 per cent of the world's spam is down to 180 recidivist spammers. Deal with them and you've cracked the spam problem, he believes.
'If these 180 were somehow spirited off internet - we'd be left with the Nigerians, and companies spamming by mistake. The spam problem would simply disappear,' he said. ®'---
The list of the 180 is at
http://www.spamhaus.org/rokso/index.lasso
Can you provide a source for your belief that Spam comes from dial-up end users' open relays. Your method appears to be a pretty efficient way of sending a mass mailing compared to paying a minimal amount to a commercial mass mailer. |
| Thu 24 Apr | Kjartan Mannes | Just because 180 supposedly does 90% of the spam doesn't result in 180 SMTP servers sending 90% of the spam. Who is doing it and how they are doing it are two very different things. If you check the Spamhaus Block List (SBL) listsings for each of the spammers you see that most of them have used several different mail servers.
Removing the people beind the spamming would of course be a good solution, but until the legal systems take such issues seriously it would be good if everyone setup mail servers properly to fix the problem. |
| Thu 24 Apr | Jonas B. | Ehm..? Evidence? How could one possibly provide evidence? The above is my *experience* . I have at least worked with abuse on a large ISP a while.
Do you have other experience? Study the received-headers on your own spam and see where you end up! If it was true that most spam originates from a few (a couple of thousand, perhaps) servers, you could just blacklist them and get rid of it, right?
I believe the figures about a couple of hundred spammers responsible for most spam may be correct, *but* please understand that these people queue their spam through unsuspecting sys admins.
And of course they do! No ISPs endorse spam. It is a great pain for everyone -- and a great cost for ISPs as they employ lots of people *only* to take care of abuse, which mostly consists of spam nowadays.
These malconfigured servers, open relays, formmail.pl and open proxies come and go on millions of IP addresses as we speak. The open relay search bots do a good job of alerting the sysadmins but they are not nearly fast enough compared with the spammers.
As an example, we have had *several* customers that has found their newly installed Microsoft Exchange being abused to send many tens of thousands spam just while they are installing the thing and haven't configured it properly yet. They go home for the night to start working again in the morning and during the night their machines are busy ...
(Again we find bad Microsoft products causing great pain and cost around the world! Just like with the poor in-addr.arpa-servers for 192.168.x. Hands up everyone! How many of you are running MS XP with private address space and have not disabled 'register in DNS'? You are causing extra work for people!) |
| Thu 24 Apr | Stephen Jones | Dear Jonas,
From reading links on the subject it does appear that much spam is sent by people paying an ISP to send it. That is why the 180 people on the list keep changing their names and registering new domains, or even setting themselves up as ISP's. And ISP's will take them because they may not know that the mass mailing is spam (I get about twenty-five newsletters a week that are perfectly legit mass mailings) and in more cases they don't really care because they are getting the money anyway.
I've been checking the headers for the messages and it does appear that the latest avalanche of spam by the penis enlargement stuff and the growth hormone and the anti-viruses are from open relays. The amount of this rubbish I am receiving has tripled over the last three months, so maybe the SpamHaus stats are out of date.
The question is how are those that have an open relay to know about it. Looking at some of the headers from todays spam I see Xmail being Outlook or even Outlook Express. Are these simply dial up users having their ports scanned? How can they be told? |
| Thu 24 Apr | Albert D. Kallal | Without out a doubt, the SMTP should be replaced and fixed to something that does not allow sending of a email without a valid return address.
It is also clear that it is not practical, or even feasible right now to replace SMTP.
I also believe that SMTP should be replaced.
However, right now that is not practical. The fact of replacing SMTP not being practical has nothing to do with the fact that it should be replaced.
We just can’t replace it right now, but that don’t mean it should be replaced!!
Joels idea makes perfect sense, but can't be implemneted right now....
Albert D. Kallal
Edmonton, Alberta Canada
Kallal@msn.com |
| Thu 24 Apr | Stephen Jones | Most spam I get has a valid return address. How else would the spammers get my custom.
What they don't have is the return address being the same as the sending address, but there are often very legit reasons for not wanting that. |
| Thu 24 Apr | flamebait sr. | The problem is, even if you trace back past the open relays to the actual ISP the message came from, the big ISPs have ceased to care. They 'Forward the complaint on to the individual customer' who then does.. well.... nothing.
I'd wager that the spam problem right now is the large ISPs who sign pink contracts with general spammers and spammers who claim to be opt-in networks.
The problem is that spamming is like money laundering. On one end is a person in the US getting a spam message. On the other end is a company in the US paying to have a spam sent. There is probably a open relay and/or a company in China/Korea/etc. in the middle, perhaps a few layers of indirection. In order to really take down the company at the top, you have to prevent them from claiming blamelesness.
We need a law like the treason law. Fine any ISP who knowingly provides comfort to a spammer $10/message. Make a legal standard that makes sure that it doesn't apply to an ISP with a rouge customer, but only as long as they cut off the customer when spam reports flow in.
Incidentally, all of the spammer address gatherers, or at least, the ones that violate the norobots.txt specification, are in China now. |
| Thu 24 Apr | Albert D. Kallal | Of course just having a valid return address does not solve everything, but it helps. This also does not mean the “end” of having a different return address form a sender (we just need a mechanism to prevent someone from not using other peoples email id without permission).
However, look how incredible the phone system is since we now have caller id. It reduces a lot of hassles, and having consumers know who/where the phone call is coming from is a rather nice feature.
Interesting, as we are now in the middle of change of the phone system to a IP based phone system, this might cause some real traceable and “accountability” problems. We could see a real rise in phone based abuse that caller ID put a end to as IP phone technology takes off…
Albert D. Kallal
Edmonton, Alberta Canada
Kallal@msn.com |
| Fri 25 Apr | Simon Lucy | Ummm at the same time as you have caller id, you have the ability to disable it, its rarely enabled on PBX's or direct extensions (in the UK at least). |
| Fri 25 Apr | Li-fan Chen | best of all worlds,
the technique talked about on /. is called a tar pit, and it won't work.
Basically an intentially tuned spam server can just realize that a major ISP on a major pipeline and mysteriously gone from 1 megabyte per second to 20 bits per second.. and react in real time. It can: 1. Cut the connection; 2. Tell other's about the tar pit and attack it.
A tar pit works by maintaining an open tcp connection. And that's not a limitless programmatic resource. You just need to send 50,000 concurrent connections all resulting in a tar pit before a server is overwelmed.
The behavior of an overwelmed tarpit server is probably not damaging.. it won't let email through, but it will exhause some memory and processing power to deal with these fake connections.
Having a real time server that doesn't tarpit.. but basically grade a connection is good though.
Say connection I, J, and K comes from 3 unknown SMPT sources. I is getting a lot of spams according to a live 'filter/bays analyzer'. J and K is not so bad. You could grade I a 'D+', J and K a 'B'.. and keep track of that average. That way if it's been a D+ for a long time an administrative action is required or you are forced to ban it.
Bs are tolerable to a degree, but you'll always have to waste say 15% of your network traffic to spam.
Another thing you can do is cut off any connections that even dares to send one single spam in real time. That puts the responsibility on the sender to basically figure out what is good email and what is 'bad' email and send only the good. Most major ISPs can pull this off. And because this is live you will never ban a major domain. You are just simply not allowing a single spam bit to land on your bit bucket--and allowing all good traffic to pass no problem.
This would be best done with a bays network and a distributed grading network.
I also think a pay to read system would be helpful though someone say it's still completely useless because it forces the ISP to store and serve spam anyway. |
| Fri 25 Apr | Jonas B. | Stephen:
I believe the belief that spammers pay their ISP to queue mail is a misunderstanding. Sure, the large spammers may continously start up new companies but they would be shut down very fast if they used their ISPs mail servers. They are not that stupid, they use other means as far as it is possible.
A spammer can get thousands of complaints a day to the ISPs abuse department, something that costs real money. I agree most of the problems today are with dialup users, DSL users and to some extent small Asian ISPs that sometimes don't accept abuse mail at all.
Albert:
Why would you want to redesign SMTP just to require a valid return address? What has this to do with the transfer protocol? Nothing! Just drop incoming mail on your server without a valid return address today, it's not difficult at all. |
| Fri 25 Apr | Stephen Jones | Whenever you want to send out a newsletter, like the Joel on Software newsletter for example, you shop around for an ISP that will send the mass mailing for you.
Many won't ask too many questions, out of ignorance or cash flow problems. Remember, when the complaints come in the spam is already out. The spammer then simply chooses another mass mailer. |
| Sat 26 Apr | T. Norman | Having a widely accepted protocol for authenticating the identity of the sender does not preclude anonymous email.
It could and should be configurable so you can setup your account for various options:
- Accept all email
- Accept all certified email, reject everything else
- Accept all certified email, and uncertified mail for which the apparent sender is on your whitelist; reject everything else
- Accept only certified email from people on your whitelist
- Reject certified email from named senders
People who want to communicate with each other without revealing their identity to third parties could continue to do so. The only ones who would have a real problem are those who want to send you unsolicited mail without a verifiable identity. And once they reveal themselves, you can then block them. |
|
| Putting your whole HTML page on one line | Wed 23 Apr | Nathan Silva |
| Joel mentions the book Speed Up Your Site which has the advice that putting your whole HTML page on one line will speed it up.
Isnt this an example of over-optimization? You trade maintainability for a small increase in performance.
I had the same reaction to Joels search for a patch utility. If you offer a patch-upgrade, you now have to make it recognize all previous versions of the binary which you have shipped. As the product grows you have more and more binaries and previous versions that you have to patch correctly. All this to save a couple of minutes twice a year for those folks who dont have broadband.
Complexity comes in small doses and builds up quickly. |
| Wed 23 Apr | Dennis Forbes | Maintainability and what's presented to end user browsers should be two completely different things: i.e. Code should run through a optimizer on route to your testing and then production servers. It's horribly, horribly wasteful how most HTML is tabbed, whitespaced, and often even commented, and will then be downloaded millions of times where such things are of absolutely zero relevance. |
| Wed 23 Apr | Artist | If browsers are able to download compressed HTML file and then uncompress on the fly it that would be better idea. You have less to download and more to view.
Most of the tweaking about HTML has done to suit the browser needs and browsers are tweaked to provide enhanced user experience.. Less it done about how browser should be getting HTML data. We have already good success for streaming and graphics (ex.. svgz) , if optimization is concerned, why not HTML.? |
| Wed 23 Apr | Stephen Jones | Note that Joel does not put all his code on one line. In fact despite the low graphics the forum takes up loads of bandwidth.
We would certainly lose a teaching tool if the web pages were put online. I'm sure most of us learnt the tricks of the trade from reading the source code.
Incidentally, who on earth would comment HTML? A couple of lines before each complicated table for layout maybe?
Now obviously, if you are going to put it all on one line you simply run a program on properly set out code. If you could then have some kind of code to reset the line spacing out for others to see that would be public spirited in the extreme.
Anybody much idea about how much bandwidth you actually save. Are you sure that the line space wouldn't be compressed for transmission anyway? |
| Wed 23 Apr | Lou | Of course one should always use gzip on one's web pages - it makes a very noticable difference the amount of bandwidth one eats.
After you start using gzip, and extract your css and javascript from individual pages into their own cache-able files you'll find removing whitespace to be a relatively small concern.
Our pages are so rediculously small now for most of our readers that its not worth the time to consider other optimizations at this point. |
| Wed 23 Apr | Nathan Silva | Even if you have a utility to convert your HTML into one-line pages you still have added a layer of complexity.
You're just putting the complexity elsewhare: probably, a web server plugin which itself has to be maintained. It would be easy for this utility to have bugs like not correctly unwrapping a line of HTML which causes your output to be corrupted, etc.
On most pages graphics load much slower than text; you are optimizing the wrong thing. If you use gzip compression, an existing standard mentioned by a previous poster, it may even be counter-productive.
But this is just one example. There are many ways in which over-optimization leads to unnecessary complexity. |
| Wed 23 Apr | Dennis Forbes | Firstly, the majority of websites don't use gzip for a variety of reasons (usually because they have dynamic content that is generated on the fly for each request, despite the fact that the generated content is actually static because the underlying data seldom changes, and they don't want the server computational load GZIPping, or their infrastructure won't handle it), though usually it's just laziness on the part of the administrator.
Secondly removing duplicitous information doesn't somehow make your page compress less : As a ratio, sure, but the end page will not be somehow smaller because you've packed it full of unnecessary information.
Thirdly, images and other content can't load until the base page has loaded: The base page is a critical section deadlocking the rest of the page. Loading the base HTML in 100ms versus 300ms is on the critical path and is a dependency of every other element of the web page (whereas compressing an image affects just the image itself and is more of a convenience factor).
Fourthly (phew), claims that HTML files are 'tiny' and irrelevant isn't born out by fact, but is just a classic case of people claiming proof by repetition. Checking some major websites shows them coming in at from 40KB to 100KB just for the base HTML file, and most have from 30-50% of information that the browser discards. With a high speed connection it isn't that big of a deal, but it's that much quicker that a Slashdotting saturates your pipe.
Fifthly, who writes straight HTML anymore? Most HTML is generated from somewhere else and is just OUTPUT, it isn't the actual code. For some odd reason many programmers put in completely unnecessary code (which equals maintaince and reliability problems) to make indenting, 'nice' looking HTML source, despite it being nothing but waste. |
| Wed 23 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I agree that mechanical page generation is the right answer. Use #ifdefs for debugging to have pretty code, and in release builds, no unnecessary whitespace. |
| Wed 23 Apr | Lou | While I agree with the general line of thinking regarding automation of the code generation I think Dennis might have misunderstood (or wasn't referring to perhaps) my comment on removing duplicated code (CSS and Javascript) from each page and making them separately loaded files. The advantage here is obvious - these files are cached by most browsers (barring user preferences set otherwise) - thus the user downloads less of a file for each page after the first.
And as for web pages being tiny - mine are - the corporate site I just redesigned has an average page weight of approximately 6Kb. Of course the graphics are largely reused and referenced from the same images folder making them likely candidates for being cached by the browser as well.
Clearly this isn't an image heavy site but it has a relatively complex design aided by CSS. When your files are this small, and you're dealing with static sites so you gzip - the result is that any other optimization is likely unnecessary though possible.
Though if you have a dynamic site and you're serving dynamic images or a wide variety of images you probably can't or shouldn't use gzip (if the cpu is already under load) but you should look to strip out your CSS and Javascript to allow those to be cached, and you should look into optimizing your images better and you should really see if your files are truely dynamic or just occasionally updated - in which case you can use a script to create an updated static file to be served, freeing the cpu/harddrive and making it possible to gzip.
There are many ways to optimize web sites - and one current trends includes stripping out 90% of meta tags - keywords and the like as they are largely ignored by search engines. It all depends on the site the style of serving the content, and the goals. Its a measure of returns versus investment - building a tool to strip out white spaces might not be the best use of your time (we're really fixating on this). Look for the other opportunities as well and consider them as well. |
| Wed 23 Apr | gzip newbie | Forgive my ignorance, but I am curious about this 'gzip' approach being mentioned. From the name, I assume it is some method of compression, but beyond that I don't understand. Is the idea to compress each static page? If so, do browsers expand these files on the client in order to recover the original HTML? Or is it somehow possible to compress entire sub-webs into a single gzip file so that all the files in the archive can be pulled from the cache? Again, sorry for being uninformed, but I've never heard of this. Can anyone provide a link to more information? Thanks. |
| Wed 23 Apr | Dave B. | gzip newbie,
Check out this article on 15 seconds:
- http://www.15seconds.com/issue/020314.htm - |
| Wed 23 Apr | anomolous coward | 2 things:
1) everything on one line? easy enough. just write your PHP with no '\n's. :-)
2) >We would certainly lose a teaching tool if the web pages
>were put online. I'm sure most of us learnt the tricks of the
>trade from reading the source code.
Find & replace: '><' with '>\n<' |
| Thu 24 Apr | fool for python | This is a TOOL problem!
All HTML tools should optimize for deployment and format for editing. Anything less is a major bug.
Having said that, HTML would have been more dlowly adopted if it weren't nicely formatted in 'View Source', which again is a tool problem. |
| Thu 24 Apr | Angus Glashier | Perhaps CityDesk could be made to produce HTML files on one line automatically during the Publish command? That would be very useful. |
| Thu 24 Apr | Simon Lucy | Jeeze, why bother.
This is like arguing over how many angels can meet new angels on the head of a pin.
Its entirely without point. |
| Thu 24 Apr | Me! | Angus,
CityDesk already does produce HTML on one line, just go in and switch from HTML view to 'Browser' view and all your formatting gets blown away.
But I think Joel has explained that before as a bug in IE 5 or 6. |
| Thu 24 Apr | Me! | And another point.
These .Net ASPX pages now with the *HUGE* 'VIEWSTATE' control in them.
As an example, some MSDN pages are 35KB and 15KB of that is just the VIEWSTATE of the ASP.Net page. All that bandwidth just so the server doesn't have to keep individual session state.
And the VIEWSTATE is fairly random so there is no guarantee that compression will help at all. |
| Thu 24 Apr | Ken McKinney | I'm not sure anyone including the author was saying it was a good idea. The source for the books web site http://www.websiteoptimization.com/ is terse but quite readable.
The site also has an free tool that tells you various things about the weight of a page including estimated download times at various connection speeds. |
| Thu 24 Apr | Matt Christensen | I did a quick survey of MSN, Yahoo, Amazon, and JOS to see what effect stripping newlines would have.
MSN already had most newlines stripped.
JOS would see a 0.9% size reduction.
Yahoo a 1.3% reduction.
Amazon a 1.4% reduction. |
| Thu 24 Apr | pb | Yeah, stripping white space and new lines is the dumbest thing I've heard recently. 'It's horribly, horribly wasteful how most HTML is tabbed, whitespaced, and often even commented'. Puh-leaze. As Matt points out, the savings are very near zero.
This is even more annoying considering how image heavy most web pages are. If you want a simple way to speed up downloading and display, reduce the images. |
| Thu 24 Apr | Dennis Forbes | I'm going to ignore the hyperbole of a particularly spiteful little monkey in the forum, and instead state that what we're talking about here is mechanically generated pages (which is what the majority of pages are nowadays): Putting formatting in the generated HTML is not a maintanance issue whatsoever, and is nothing but ill-informed, ignorant waste. Because of the this waste, many sites serve GBs or information daily that is simply discarded by the browser (indeed, that SLOWS the browser as it invariably filters it out anyways). Boy, what a win win: It not only slows the transfer, increases the computational time necessary if gzip is used (and will always lead to a larger resultant file), increases the site bandwidth, but it slows the rendering too. Oooh, where can I sign up for this new age technique! It's be 'the dumbest thing I've heard' to go against something so clearly logical!
Regarding the metrics given, I grabbed a common optimization program (Advanced HTML Optimizer) and ran a copy of common sites through it. Note that many major sites are enlightened and aren't guilty of misunderstanding HTML (like many amateurs are, apparently), however here's the before and after of a couple of sites.
JOS - 40,227 - 37,054 - 7.8% savings
JOS Forum article list - 47,463 - 39,174 - 17.5% savings
News.com main page - 59,817 - 47,962 - 19.8% savings
Sun.com main page - 12,229 - 9,711 - 20.6% savings
Multiply each of these completely unnecessarily (and COUNTER-productive) bloated pages by tens or hundreds of thousands of hits. Yeah, no reason to improve those. |
| Thu 24 Apr | Brian | On the other hand, you can really get some savings by squeezing your javascript. I was recently working on a very js-heavy web app, and part of the build process was running the javascript through an obfuscator, and one of the benefits was about a 60% size savings, and we could easily have done better with more work. The output is truly marvelous: almost 150k of javascript with 0 whitespace or comments and short, random variable names.
On the third hand, there are other much bigger factors affecting the speed of the app. The reduced size of the js was a minor side benefit; it was the obfuscation that was the goal. |
| Thu 24 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | There's no doubt the forum article list is wasteful w/ whitespace. There's also other things they could be doing:
- External CSS file
- Stop using nbsp's for spacing, when a simple CSS style on the listHeadline style would add the appropriate padding
- Stop using tables for layout
- Remove inline CSS styles (or, worse, things like bgColor and leftMargin)
I bet the savings would even be more substantial. |
| Fri 25 Apr | Chris Nahr | 'External CSS file' -- but wouldn't this require an extra HTTP file request on every page? Even if the CSS isn't loaded the browser would have to check if the cached copy is current. Unless the CSS is truly gigantic this sounds like it would take longer and create more traffic than just embedding the CSS.
'Don't use tables for formatting' -- not sure what you're referring to here. How would you format HTML text in tabular columns of any kind without using tables? |
| Fri 25 Apr | Simon Lucy | 'JOS - 40,227 - 37,054 - 7.8% savings
JOS Forum article list - 47,463 - 39,174 - 17.5% savings
News.com main page - 59,817 - 47,962 - 19.8% savings
Sun.com main page - 12,229 - 9,711 - 20.6% savings'
If these savings are in kilobytes, i.e. in JOS less than 3K then the percentages really make no useful measurement. Since Sun.com is also around 3K, actually less.
On the majority of sites the images (which might be on an entirely different server) are likely, as has been said, to be the heaviest usage of resources. The savings of 3K, even on a page which isn't cached and is generated from some database and accumulates thousands of hits isn't going to make a jot of difference. What would make a difference is having a server engine that caches requests and so doesn't cause redundant delivery.
Of course there is less reason for pointless formatting of generated pages, although even generated pages need to have their output inspected by human eyes at times.
I don't particularly care about generated pages not having such formatting. I am against stripping or so called optimising filters which remove formatting though, simply because that which was written is not that which is delivered. |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | The way browsers are configured by default, the external CSS would be hit (either downloaded or cache-checked) once, until you shut the browser down.
A tabular set of data would like, say, a spreadsheet. I don't see anything that looks like a spreadsheet here. Replicating this layout without tables is extremely trivial. |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | 3k x 25,000 hits/day x 365 days/year = ~ 27 megabytes saved
Now do the math for every website on the planet and tell me that's not significant. Tell me it's not significant to the guy who has to pay by the kilobyte to download, and every page here costs him 3 pointless kilobytes. Not everybody has 'unmetered' access. |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Sorry, that was 27 gigabytes, not 27 megabyte. My bad fingers. :) |
| Fri 25 Apr | Stephen Jones | Browser compatibility problems arise with using all formatting on CSS's.
Also, can you use relative formatting on a CSS? As Nielsen has pointed out the use of absolute formatting on web pages is one of the most irritating facets of the web at present.
If you specify the table width in percentages, does it really take a lot longer to render? |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | You do the world a huge favor when your site looks plain and undecorated in the 4.x browsers. These browsers are more than half a decade old. You keep browser stats on your site, right? 4.x is dead in all the stats I've seen.
If we don't support Windows 95 any more, why should we support 4.x browsers any more? |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Oh, and you can't appeal to authority with me by using Jakob's name. His site looks like it was made in 1993. That's what you want the web to be? |
| Fri 25 Apr | Stephen Jones | Dear Brad,
I don't care how old-fashioned the web page looks, but I do care about being able to read the print. And if you are using IE and have a fairly high resolution, such as 1280 x 1024 you will find the print on many websites quite unreadable. |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | How could you possibly conclude that someone's choice of a small typeface means CSS is evil? *boggle*
Get a browser with font size adjustments. |
| Fri 25 Apr | Stephen Jones | Dear Brad,
I am not sayiing that CSS is evil. I am saying that absolute formatting is.
I went over to Netscape precisely because you can't adjust the font sizes for most CSS formatted pages on IE. I stick to it because of the tabbed browsing but there are plenty of people who can't be bothered to download it, or prefer IE for other reasons, who haven't got install rights at work, or who don't know that Netscape allows you to change the font size and IE doesn't.
You don't know what the users display settings are (nor his preferences, or eyesight, or distance from the screen) so you shouldn't be deciding on the font size for him. |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | So, I must presume you think people who print magazines are evil for picking a font size when they print articles and decide on how much of the page certain things will take, right?
If not, then why not? It's an information presentation system much like HTML is, but one would argue even less flexible, since it isn't a trivial thing to increase or decrease the size of the text.
Some people have problems seeing things (I would argue they shouldn't be running 1600x1200, but hey, whatever makes you happy). That's why I use em-sizes for fonts instead of points, in recognition of IE's broken font behavior.
There doesn't seem to be much point in arguing this any farther. Your opinion is your opinion, and mine is mine. You will not convince me to dump CSS, so stop trying. *shrug* |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Oh, and for the record, I do use 1280x1024 on my primary display (and 1024x768 on my secondary; given their difference in sizes, that's approximately equal pixel size). I use Mozilla with its default text size (100%), and I _rarely_ run across a site that's unreadable. |
| Fri 25 Apr | Stephen Jones | When you print something on paper you know how big the paper is going to be.
With a screen you have NO IDEA HOW BIG THE OUTPUT IS GOING TO BE.
Mozilla lets you adjust the font size even if its specified in points so pages will look OK as you will set up the default for this (as I said that is why I switched to Netscape).
The problem comes with IE; it's 'change font size' won't work for pages with absolute formatting. You can set it to override the site's settings but that wrecks all the well set-up sites on the web.
Now if you don't use exact sizes you are avoiding what I mentioned and well done. I'm not saying CSS are bad: I use them myself.
As for ignoring 4x browsers, remember this site was set up in 2001. At that time the 4x browers were running at around 20% of all users. Indeed IE3 was still showing up on the radar screen. |
| Fri 25 Apr | Dimitri. | Common. Most pages have lots of images, and the time saved by taking away the whitespaces will be insignificant.
Even if automatically generated, suppose three years later, the 'source' has dissapeared, and you only have the actual html.
Btw, nice pun:
'This is like arguing over how many angels can meet new angels on the head of a pin.
Its entirely without point. ' |
| Sat 26 Apr | Dennis Forbes | 'Most pages have lots of images, and the time saved by taking away the whitespaces will be insignificant. '
What a defeatist attitude. That reminds me of a particularly incompetent individual at one former workplace who assured us that we might as well not bother building our system to be secure because 'real hackers can get in anyways'. Alrighty...
I gave a specific example in the Joel on Software Forum list where 8.3KB per hit is _ABSOLUTE_WASTE_ (so everytime someone hits F5 to see if there are replies there's 8.3KB down the drain...with only 1000 hits [I'm probably horribly underestimating] being wasted. Ignore the fact that there's inline CSS which is another several KB that should be linked in and loaded only once). How could you POSSIBLY justify that? There is no justification for it, apart from baseless defensive posturing. Images have an asthetic reason for existing, and secondly they are usually set with long expirations and are downloaded once per user (versus dynamic pages which are generally set to expire immediately), and anyways it's a red herring regardless: Of course you should optimize every aspect of your page, minimally using appropriately compressed images, using linked CSS sheets, etc. Throwing your hands up is ridiculous.
'Even if automatically generated, suppose three years later, the 'source' has dissapeared, and you only have the actual html. '
This is ridiculous. HTML is, with small variations, an XML document: Use a bloody XML viewer and it'll display the document in whatever way you want, putting all the whitespace you want. |
| Sat 26 Apr | Stephen Jones | The page on JOS where you would get the big saving is the thread list. Most people are unlikely to be permanently refreshing it. Also there is the factor that the page is generated automatically.
I can't find any justification for not linking the style sheet instead of embedding (that doesn't mean there isn't one). It appears to be the same style sheet for all pages. The saving is small 2.43KB or less, but does go for every page.
Incidentally Joel does use my pet bane of absolute font sizes. At least the default is intelligent. |
| Sat 26 Apr | Simon Lucy | It may appear to be a defeatist attitude, actually though its largely realistic. HTML is the least of the issues in wastages of bandwidth.
Mindless servers that serve the same content without caching
Images that are inefficient, or are on different servers, domains
Rollover code which is just vile. (ok its not bandwidth but I just hate them)
Flash introductions for the sake of it.
Custom fonts
Broken CSS
Popup Windows
WebBugs
Queries performed inline instead of stored procs
Validation performed at posting of form instead of using business rules
Yes, its true, on the whole there is no point stuffing in indentation to whatever level on HTML content which is generated from some back end. But to argue that not putting line feeds in is somehow going to make the piece of crap which is the interweb work any better is to tilt at the wrong windmill.
At the expense of keeping it human readable (which was a major point of HTML in the first place) you'll save, maybe, 5% of the actual difference in bandwidth. Its not like all the whitespace is shuffled to the end of the stream and can just be chopped off at whatever modulus of buffer size. Its in the stream. If you end up with only a partial buffer, perhaps just one character, then you'll have maybe 1023 wasted, and so on. |
| Sat 26 Apr | Stephen Jones | Taking away the excess white space (not the line breaks) using HTML compressor lite AND NOTHING ELSE, actually saves about 18% on the forum home page.
And the source code is, if anythiing, more readable, except for the style sheets, where linking has been suggested anyway.
Savings on the forum pages are smaller, from 36KB to 34KB on this thread.
So simply stripping away unnecessary white space and linking to the style sheet instead of embedding it would save the user who loads the home page and reads five threads of 20KB each 22KB out of a total download of 150KB That's a saving of 15% of the total bandwidth of the forum.
In fact it is the non-image intensive sites, such as Yahoo or JOS, which would gain most from this. |
|
| Baseline, Delta/Song, Joel... | Fri 25 Apr | Warren Seltzer |
| 1. Joel is the best writer on software, ever.
2. I found the information week article to be different but not worse than the baseline article on Delta/Song.
3. Why doesnt Baseline rhyme with Vaseline? See http://www.vaseline.com/. |
| Fri 25 Apr | Crimson | Undoubtedly, the Baseline article is WAY more indepth, but I thought the Information Week article was more than just a 'warmed over press release'. For those who don't have 2 hours to read and analyze the Baseline article, the Information Week article was the way to go. It depends on how much info you want I guess. |
|
| Database Written-Content Storage | Fri 25 Apr | mark |
| When youre building an application that stores press releases submitted via an html form, and the target distribution for the release is the web, at what point do paragraph tags and other formating get added?
This is probably common knowledge, Id just never thought of it before till now, and now I need to know. Whats the easiest and most efficient plan--ask the users to add paragraph tags to the content, or parse the release looking for excess amounts of whitespace to replace with paragragh tags?
IS THERE an easier way, or a more standardized way of accomplishing this? Im using J2EE if it matters. |
| Fri 25 Apr | Philo | Too bad on the J2EE...
There's an ASP.Net control called RichTextBox www.richtextbox.com that allows users to WYSIWYG the formatting, then presents HTML encoded text for storage. It's a win/win - the users love the interface, and it's zero work for me to simply stuff the string in the database.
So my recommendation would be to try to duplicate this functionality - hopefully there's a J2EE component you can use?
Philo |
| Fri 25 Apr | surreal | You can achieve the same functionality via Internet Explorer using DHTML / Javascript. Do a search for 'execCommand' in the MS Knowledgebase, the links there will explain how to turn a DIV or SPAN into an editable area... fairly complex but cool when you get it running...
actually, here's a link top some examples: http://www.devarticles.com/art/1/90/1 |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | The problem with the RichTextBox control (we use it) is that it only works on IE (and I think only IE/Win32, but I don't have a Mac handy to verify that). |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | You know, I forget now who has it, but I've actually tried and successfully used a Flash component that is a WYSIWYG editor. Given that Flash penetration is even better than IE penetration, and it works on any platform (not just ASP.NET), that might be worth investigating. |
| Fri 25 Apr | Wayne Venables | To answer the posters question:
In my companies content management software, all the formatting gets added just before the content gets displayed. In the database, there is no HTML.
Their are a couple of reasons for doing it that way:
1) Seperates the content from the presentation; allows you to change the presentation without changing the content.
2) Editing; unless your users edit in HTML then storing it in HTML is not a good idea. |
| Fri 25 Apr | Thomas | There's a free simple cross-browser (IE5+, Mozilla 1.3+) rich text editor at http://www.kevinroth.com/rte/demo.htm which should work if you want your users to be able to edit in HTML. Then you don't have to perform any post-processing. The downside (if there is one) is that the release is stored in HTML form. Not a biggie though since you can run it through an XSLT transform and do whatever you want with it. (For example change 'P' tags to 'DIV class=' tags to format according to your website's stylesheet.)
-Thomas |
Fri 25 Apr | Chris | If you're going to store text from a simple HTML textbox in the database, all you have to do is replace the and CrLf with a tag and you'll get the paragraph breaks in the appropriate place.
Now if you're using some kind of WYSIWYG control to make things bold, italic, different colors, etc, then it would seem that you would have to store the actual html in the database or some kind meta data to show where formatting tags should be placed. |
| Fri 25 Apr | fool for python | Mozile produces clean valid xhtml. Gecko-based browsers only!
http://mozile.mozdev.org/index.html |
| Fri 25 Apr | Joe | Why not split up the idea of a press release into a few different components?
1) Title
2) Header
3) Release Date
4) Company Name
5) Paragraph 1
...
N) Paragraph N
You can have a button to add paragraphs, etc. This way, you can create some different styles based on section + some sort of user input. If you really want to get fancy, you can show the users a preview of the styles they have applied so far.
You should not mix your Model (the text + sections) with your View (the markup)! This way, you can easily model the document in the database, and include markup attributes associated with the text. Splitting up the Model logic from View logic is just a good idea no matter what type of environment you are using. |
| Fri 25 Apr | mark | Thanks to everyone so far, you guys have helped me narrow my options down considerably. I already knew I shouldn't mix content with markup, but I wasn't sure how the rest of the world deals with it, and if it was standard practice, I would have went the road most travelled.
I already have seperate fields for all of the components of the release, they're stored in seperate columns in the db. It's just the paragraph thing that was/is messing me up. I wasn't sure if it would be wasteful to replace all of the crlfs with open and close p tags on every page request. Actually, I'm still not sure, but that's the way I'm headed.
Thanks Again. |
| Fri 25 Apr | Philo | You shouldn't mix content with markup, but in some situations the markup is as much content as the content. And if hte users want to define markup on the fly then you have to split the markup and text to store it, then recombine them to display it, and sometimes you have to ask 'why?' [grin]
Philo |
| Fri 25 Apr | somebody | What's wrong with just using the HTML PRE tag? |
|
| Trouble Ahead? | Fri 25 Apr | Better than being unemployed... |
| Recently, the company I work for rounded people up for some good news.
We were informed that wed exceeded our targets for this time last year. It was only towards the end of the presentation that they dropped in the minor fact that we hadnt actually achieved our targets for the quarter. (The companys currently expanding, so targets are higher).
Is it me, or should alarm bells be ringing at this point. It seems the companys dressed up the bad news that were behind target as an offshoot of good news.
The last time I was in a company that was expanding, yet behind target, it ended up in layoffs a year later... |
| Fri 25 Apr | Philo | Which is expanding? Projects/revenues, or staff?
One should follow the other; there's a right way and a wrong way. ;-)
Philo |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | It all depends, really. A few factors might be how far behind target you were for the quarter; whether being ahead for the year compensates; whether you're actually losing money or just not making it as fast as desired; and if you're losing money, how long you can run at a loss. |
| Fri 25 Apr | Better than being unemployed... | It seems projects and staff / space are being expanded hand in hand.... |
| Fri 25 Apr | Synonymous Mallard | It sounds like they simply adjusted their targets this year as ooposed to last year when they were much more frugal with their expectations. Did they decide last quarter to start expansion but not meet the goals? |
|
| Job Justification | Fri 25 Apr | easy |
| Hi,
In the current trends, many of the tech workers are trying to justify their jobs. How would you go about it ?. Its not about the management review, its about the daily performance that you put into to have your job justified. Having interest in job is one thing and to justify is other as how much is good enough. You can always strive for better, but basic goals for the management must be reached. In these economoy these goals may be constantly moving on higher side. Having current as well as future in the mind, you have to decide where to put your focus. I think thats important for your career. |
| Fri 25 Apr | Philo | Deliver product.
*What* the product is may vary (requirements specifications, design, actual code, etc), but at the end of the day, the only thing you should be measured by is what you have produced.
Philo |
| Fri 25 Apr | one programmer's opinion | 'Deliver product' is a good response.
However, if you work in a service/support role than you might want to look at other metrics as well.
I suggest you sit down with your boss and discuss this matter. |
|
| Ideal office | Fri 25 Apr | Lou |
| I wanted to start a discussion on what people have in their office/cube environment and how that compares to their conception of an ideal work environment.
I have an 8 x 8 cube thats pretty sterile and unfortunately is on the inside away from the windows. Id rather be able to see the sun without having to stand up and peer over my walls, the space is just fine for me and the nature of the business is very quiet so its not like an office would induce more productivity. Id really benefit from a second monitor though.
Would you like a bigger office - how big? Would you like low cube walls or higher ones? The architecture geek in me gets really intrigued by this kind of stuff. |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I work at home 4 days a week, but when we move into offices, all developers will have an office with a door that closes. We'll probably take a modified Joel approach, and do larger offices with 2 to an office, but I'm not sure.
My office at home is about 14x16, which I share with my wife. We have a rather sizeable book collection along one wall, and desks along the other three. I have a large desk surface arranged in an L, each leg being 30' x 72', lots of overhead storage (6' tall hutch with lots of cubbieholes and some closed storage), plus rolling drawers with storage for hanging files. A laptop and multiple PCs, the primary of which has a 17' and a 15' LCD monitor.
Having worked with a system like this, I'm not sure I'd be able to stand much less. |
| Fri 25 Apr | mark | Currently, my cube is only 5 x 5, and the walls are only 4 feet high, but I'm near a window, and the nearest co-worker is about 14 feet away, so I still have some privacy.
The next cube over holds my test PC's. |
| Fri 25 Apr | Brent P. Newhall | I don't actually have a cube *or* an office. I'm in a desk that's pushed up against a bunch of other desks, with three-foot dividers between each group of four desks. The desks that are against the far wall of the room have an actual wall; the others (including mine) have a standard six-foot cubicle partition that's about four feet wide. So, I have basically *no* wall space. The cubicle wall is useful for hanging a few piees of paper, but that's about it. Blech.
But I have an extra desk. Whee.
To brighten things up, I've pasted a large poster of a squadron of P-38 Lightnings onto the surface of my extra desk. I've also pasted a long and thin Monet print on the low 'wall' separating me from the desk next to me. It helps.
That's about all I *can* do. I've been thinking of putting up a poster on the cubicle wall, but I'm not sure if others will mind. It's a bit distracting, anyway.... |
| Fri 25 Apr | SPS Guy | 8x8 cube - right next to the receptionist. Unfortunately we just reorganized and there's not even a lab to hide in to get some work done too.
Office layout is my current campaign at my company to get right. I'm hiding out in a downsized employee's office at the moment to try to get my current project back on track.
It's amazing how no one will do Peopleware things to prevent a project crisis, but sometimes they'll do it for a short time once you get into a crisis. |
| Fri 25 Apr | Dennis Atkins | Brad,
Your home office arrangement sounds fantastic. Any chance you might post a couple photos somewhere so we can drool over it? |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I have some desk pictures.
This is the current main part of my desk:
http://photos.techieswithcats.com/archives/002759.html#002759
These are a couple older pictures with older arrangements (basically, back when I using the laptop full time and didn't yet have the 17' LCD):
http://photos.techieswithcats.com/archives/001313.html#001313
http://photos.techieswithcats.com/archives/001314.html#001314
My wife got the mini-PC you see in that third picture, and here's her desk setup now:
http://photos.techieswithcats.com/archives/003015.html#003015 |
| Fri 25 Apr | HeyCoolAid! | I currently have a small office with a door that closes, however I hardly ever do so. The actual space is very small, and I feel like I'm sitting in a walk-in closet. Across the hall from my door is just a blank wall. Ugh. A window and a nice size desk that I don't bang my knees on would be GREAT! At least it's quiet in here, and nobody bugs me. |
| Fri 25 Apr | Bill Tomlinson | 'Rapid Development', Chapter 30 is a good start. |
| Fri 25 Apr | Anonymous Coward | Current office is 9' x 9'6', north window, two desks, two chairs, four filing cabinets, a book case, two computers, two monitors 21' and 15', a laptop, a printer, a scanner, two old servers.
What I would like is get rid of other peoples projects: two file cabinets, the old servers, the scanner.
Clean up the wireing, I hate the rats nest of power bars, hubs, ethernet cables, and phone cords.
Add a 4' x 8' whiteboard. |
| Fri 25 Apr | Lou | The reason I asked this question is that a friend of mine is setting up his company in an old textile mill and he's asked me to help think through some of the design. One of our major questions is - how much space do people need (yes, we know that 100 sq ft is considered the minimum productivity zone for most people - but we're really thinking 8 x 12 or 16 x 12... 4 ft wide windows eight feet on center limit possibilities some). Our other serious question is, do people really benefit from having small conference tables in their offcies or should more group spaces be created?
Cetainly its nice to have a small table for quick meetings, but couldn't that be achieved by having two chairs against the front of a desk? Its not about economy of space so much as its about utterly wasted space. Would you like a small meeting table in your office or would it just become another table to spread your papers out onto? |
| Fri 25 Apr | Daniel Shchyokin | light and reasonably quiet thats it |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I would only put in a conference area for someone who regularly has meetings in their office (at least once a day, if not more often), and I would definitely not force that person to share an office with someone else. The meetings would be too disruptive. |
| Fri 25 Apr | fool for python | High walls...all the way to the ceiling (and floor). A door (or two). A skylight (shadeable). BYOAL (bring your own artificial lighting). A pair of Mackie HR624s and a fridge. No phone ( I'll bring my own thanks). Fresh air and a fan. Peephole.
And all Bill Evans CDs.
Wow. I didn't realize how much my cube at work sucks. But the home office has all of the above. |
| Fri 25 Apr | Anonymous Coward | Having the windows on 8' centres make the decision for you. You need to put the office walls on 8' centres, assuming 1/2' drywall on 2'x4' studs, this makes your offices 7' 7 1/2' wide.
So far so good.
Now, look at your current staffing and plan to double it. Make sure your lay-out still works.
Now triple it, still working?
I'd make the offices 16' to 18' deep. That way the team leads can have conference space, and everybody else can double up when the company grows. |
| Fri 25 Apr | Dimitri. | When we moved we discussed the design of the new place at length. The conclusion, and the experience with it for two years, shaped it like this:
- everybody have their own offices with doors that close
- a 'coffee' room with fluffy pillows where people can meet, discuss different things and so on
- a conference room
- some form of 'social area' where one can go with the laptop and work with others (and wireless net)
So that's basically it. Stationary computer with dual monitors and a laptop. Lots of storage space and bookshelves. Ergonomic everything. Really cheap crappy mouse (optical, at least) since computer maintanance decided to break away from Microsoft assimilation and experiment with other products. |
|
| getting re-motivated... | Fri 25 Apr | surreal |
| Ive been lurking for ages on here, finally I have something to contribute (well, a question to ask anyway...)
I have been a web developer since 1997 (ASP / SQL), I had a great job for the first 4 years, loved every minute of it, learned almost everything I know now while there, put in long hours and worked my ass off. Then, the company went into a downspiral like so many at the time and I left. I went to a company where it transpired there was little actual work to do, and what there was was very, very easy for someone with my background. Soon I started to get out of the hard-work ethic and became more laid-back... spent far too much time surfing and not enough time coding, but because of the lack of things to do, no-one noticed...
Now I find myself unemployed cos of another company restructuring, but with the possibility of a position at a very large company doing what I enjoyed most at the first job. I have the skillset and experience they want, but Im worried I wont be able to motivate myself back into a productive mindset, as during my few weeks at home Ive been unable to motivate myself to do any coding or try to learn any new stuff...
Help, basically... anyone ever been in this position? How did you get the flow back? I really want to love my job as I did before, but if I cant even get motivated during this down time its making me nervous and Im losing confidence in my abilities. |
| Fri 25 Apr | John Topley | There's a world of difference between having to 'manufacture' work for yourself in your own time and having real work to do on an employer's time. Nobody can be motivated and productive 24/7 - it's not healthy. You've suddenly had a lot of time on your hands recently and it's only natural that you've started to question your own abilities. When you're at work, you don't generally have time to do that - you just get on with it.
I'm sure that you'll easily get back into the swing of things once you have tasks to put your mind to again. Don't worry about it. You know that you can do what they're going to be asking of you. |
| Fri 25 Apr | Slumming IT | My advice is 'enjoy it while it lasts'. Doing development stuff when you don't need to is really hard. If you really want to learn something computer-related, try something creative like music, video or photoshopping - assuming you really want to sit at a PC all day. They're all useful things and actually enjoyable.
You may be feeling a bit odd about being lazy, but believe me you'll soon fall back into the work ethic once you start your new job - assuming, of course, your new employers have enough clue to keep you busy from day one... If not, I'd have grave doubts about staying there for too long as they're probably in a downspin too. |
| Fri 25 Apr | Simon Lucy | The other bit to not worry about is the anxiety you may feel about skills or knowledge you haven't applied for a while. That anxiety is normal as well and will disappear when you realise that the more you do the easier it is to pick up the threads again. |
| Fri 25 Apr | surreal | thanks for that...
actually it was true that I was pretty burned out from the 4 year job and getting into the easy job was a relief, but having a couple of years of doing very little seems to have softened me up, so I don't think it is so much the unemployment that has had a bad effect, cos I kind of lost the urge during the 'easy work' phase....
Having said that, I think that the fact that the last job wasn't a challenge might have had something to do with it so getting into a challenging job will hopefully kickstart things again...
cheers |
| Fri 25 Apr | | I hope it works out. I'm also underemployed, burnt out, and have waaay too much time on my hands. I haven't had a 'real' project in a year.
Sounds odd, but I don't know if I hate coding, or if I just hate my job. |
| Fri 25 Apr | HeyMacarana | My recommendation would be to take a long vacation away from anything resembling a keyboard or mouse. At least for a few weeks....
At the end of the few weeks, all of sudden you'll get this 'coding itch' and will need to satisfy your thirst for code again. Welcome back! :)
Everyone gets burned out every once in a while and just need to do something non work related for a while. If you can't afford to take a vacation then work on another non-computer related hobby or help out at a non-profit like the Salvation Army or YMCA for a while.
Good luck! |
| Fri 25 Apr | Lou | When I was at college I was involved with almost a dozen activities and my dayplanner was just packed. I was entirely too productive for my own good. Then came graduation and the summer malaise while I searched for a job - I slowly lost my overeager ambition.
Then I landed a job - a great job that I'm just thrilled to have now, but I had the same concern as you. How does one get back into that groove of packing everything into a day and being absolutely productive? My answer was to ramp up before the job and really focus on a few things and be really productive at them.
So I went out and bought some polishes and waxes and cleaners for my car - its now in supurb shape. The methodology of cleaning a car - the steps one has to walk through, the timing, the patience, and the time involved in manual labor made me focus on what I was doing.
I also went out and got some guitar books, picked up my old guitar and set goals for myself. I practiced hard while waiting for a compound to set on the car or in the evening, and now I'm actually not painful to the ears (a marked improvement).
Basically I found things that engaged me and set a schedule of activities and goals that motivated me and made myself accomplish them. By doing this I rekindled that motivation inside and when I came to my job I was entirely motivated to learn and produce. Inside of a week I felt like I had accomplished more than most others in the same program I'm in and received some praise for how highly productive I was.
Its all about forcing yourself to get the groove back. Pick up a book and create your own program if that's what does it for you - but set goals and a schedule. Or get some waxes and set a goal for your car - or get a bike and set goals for miles in a day. Do whatever makes you happy, but set a schedule and a goal and you'll find that old groove quicker than you think. |
| Fri 25 Apr | | Regarding vacations, it can have the opposite effect as well: I was heavily motivated and involved in a project, but then went to Italy for two weeks. When I came back my project seemed so irrelevant, and so tangental to happiness in life, etc, that suddenly I found it very hard to get back involved. It took many months to get any concern at all about the work back.
Having said that, there are a lot of unmotivated people who worked or work in software development who really should question why they are doing it: Perhaps it was 'the thing to do' in the late 90s, but if you're not happy then no amount of pay is enough to make it worthwhile. |
| Fri 25 Apr | igor | I was in a similar situation as surreal. I have found that an interesting job and a good team tend to get you motivated fast.
I was with a dot-com that was going nowhere and spent last few months doing very little work. When that miserable experience ended and I had a new opportunity, I was concerned that I've lost the edge. But as soon as I started the new job and got involved in the project I was back to my old motivated self.
So my advice is to take the job, get involved, and things will take care of themselves. |
| Fri 25 Apr | surreal | thanks for all the advice - just gotta get the job now!
cheers |
|
| Any reccomendations for an online sales system? | Fri 25 Apr | JWA |
| Hi All,
Im beginning to contemplate the time (in a few months) when Ill need to setup a system on our site to allow sales of our programs. This will need to allow users to purchase one or more items at a time, process the payment, and then allow for immediate download or for products to be shipped.
It needs to run on a Windows server, and it would be best to be ASP or ASP.NET and SQL Server-based so that it nicely integrates with the rest of our site. Running quick Google searches and otherwise looking around I dont seem to see any clear indication as to popular or proven systems.
Were only going to begin with 6 products, so maybe 1-12 offerings. Is it best to put together a simple custom system like Joels and hook into some payment processor, or use an available system?
Does anyone have any recommendations on systems to take a look at? (Or systems to maybe avoid?)
One of the few that Ive come across so far that look somewhat serviceable is called DotNetCommerce (http://www.dotnetecommerce.com/), an ASP.NET system comprising cart, charge processing, shipping, and currency components.
Any recommendations on payment processors? I see some of the services from places like PayPal, but as their server is down for maintenance right now I cant look into it far enough to see if it allows for a seamless and professional system that at least appears to be completely on our site.
Ideally, I’d like to allow for user’s to track their orders and to be able to also use this system to allow distributors to place and track their orders. Maybe setup a web service so that they can possibly connect from their purchasing systems. But, that can be a later addition. The current priority will be to get up and running allowing automated sales from the site to end-users in a decent (under a week?) amount of time.
I appreciate the suggestions,
--Josh |
| Fri 25 Apr | Prakash S | Josh,
I think Joel wrote an article about this or it was on his front page quite a while back. I think Fog Creek went with digi buy but those guys were charging a huge percentage, so FC rolled out their own app and plugged in a payment gateway. You might want to look at the archive and confirm this.
my recollection is pretty foggy, ... |
| Fri 25 Apr | tapiwa | http://www.hotscripts.com/ASP/Scripts_and_Components/E-Commerce/
have never used any of them, but worth a look. |
| Fri 25 Apr | Philo | [broken record time]
http://www.asp.net/
They have a free portal framework and a free store framework, all built on ASP.Net/SQL Server, using a very nice architecture, and with a thriving user & component community attached. You can pick up a store module for the portal for $80 that includes credit card processing, and someone's working on USPS/UPS/Fedex/DHL tracking in a single module as well.
Philo |
|
| Table changes without code changes | Thu 24 Apr | Jen |
| Im looking for arguements on whether or not testing should be required on a table only change (a table entry is added/changed/deleted from a table used by a program, but no actual source code in the program is changed). If a developer makes a change to a table and not code, should this be reviewed by QA? My thought is yes. An incorrect table change can cause a production problem just as an incorrect coding change can. Input is appreciated. Thanks! |
| Thu 24 Apr | Philo | CREATE PROC ListPeople
@Criteria int
AS
SELECT Name, Address, City, State
FROM People
WHERE FK=@Criteria
Now, if the 'table only' change involves dropping the State field, what's the result? [grin]
Philo |
| Thu 24 Apr | Joel Spolsky | I think Jen meant adding or changing data, without changing the structure.
To which I say... heck yeah! I have introduced bugs and fixed bugs by changing data in tables.
As a rule of thumb, anytime you have to change data in a table by hand, it's cause for retesting. If the data changes as a part of some automated process that has already been tested (e.g. normal operation of the software) it's not. |
| Thu 24 Apr | Dave B. | I think changes to static data should always be tested. Then again I tend to test too much. If you have a database table of states and the next thing you know we add another state to the union, should you test that? Probably. Simply because the chances are that someone has a loop running with a hardcoded 50 somewhere in the 100,000 LOC.
Just my $0.02 among the $100. |
| Fri 25 Apr | Jeff MacDonald | My theory has always been that if you have to ask whether or not you need to test, you do.
Over the years I learned that it's not the major data model changes or huge chunks of code changes that kill you, it's the 'we'll just do this real quick' type of changes that go untested, break Production, and leave you sitting all alone in the office on Sunday evening hacking away on the code while everyone else in your department in calling you for status every 10 minutes.
Sometimes a simple string search through the code will remind you of something dumb you forgot to finish a few months ago, swearing at the time that 'if we ever change X, I'll be sure to come back here and fix this'. |
| Fri 25 Apr | Just me (Sir to you) | As an example sometimes adding a NULL in a row (NULLs allowed) can get some queries to return 'unexpected' results. Yes, the code should have anticipated the possibility of NULL's, but it might not have.
It also depends on the semantics. Sometimes data is realy meta-data (as in certain O-R mappings), which means a simple change in a row can have a huge impact. |
|
| Unix hater's handbook online | Thu 24 Apr | das gringo |
| http://research.microsoft.com/~daniel/unix-haters.html
Been looking for this for a long time. Thanks to Gabe Garza for pointing it out on usenet. This was all before my time and its oddly like wisdom of the ancients.
(Offtopic: Im really willing to pay people for putting outofprint books online. Anyone else?) |
| Thu 24 Apr | Mike | Thanks. I have been looking for this for a long time. |
| Thu 24 Apr | | That's really made my day - superb stuff! |
| Thu 24 Apr | Patrik | Hate is just another word for limited understranding :)
'Unix for people with limited understanding of UNIX handbook' sounds like a pretty accurate, but less selling title of this book. |
| Thu 24 Apr | choppy | patrik obviously didn't read the unix hater's handbook. it is written by a bunch of old heavyweights and is really, really funny. especially if you remember unix from 10 years ago. |
| Thu 24 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Does anyone find it richly humorous that Donald A. Normal (writer of the Forward) went to work at Apple to escape Unix? :-p |
| Thu 24 Apr | Philo | Patrik, I welcome you to read the book and tell me which parts are wrong.
Pay special attention to the quoted usenet posts from experienced Unix sysadmins detailing how Unix just helped them lose a lot of work.
BTW, the reason I dumped LInux wasn't the difficulty of the material, it was the arrogance of the much-touted Linux community that made actually learning anything impossible.
Philo |
| Thu 24 Apr | Mike | Generally there is a certain class of *nix people that tend to be a bit haughty. I use the word 'bit' here in the same sense that Jeffrey Dammer was a 'bit' quirky |
| Fri 25 Apr | Panna | Great book.
Perverse...
Does anyone know a place where I can take a look at the 'mythical man month'? |
| Fri 25 Apr | Chris Nahr | Great find, thanks! I love the chapter on C++, too:
'That’s because C++ misses the point of what being object-oriented was all about. Instead of simplifying things, C++ sets a new world record for complexity. Like Unix, C++ was never designed, it _mutated_ as one goofy mistake after another became obvious. It’s just one big mess of afterthoughts.'
Classic stuff. |
| Fri 25 Apr | Frederik Slijkerman | Hmm, but it doesn't apply to the ISO C++ standard that we enjoy now. If you read Stroustrups latest book, you'll see that it is actually quite sensibly designed. |
| Fri 25 Apr | Philo | Panna - please buy a copy so it stays in print. In the long term it'll be one of the most read books in your library.
Philo |
| Fri 25 Apr | Chris Nahr | I did read Stroustrup's classic book, and Scott Meyers' books, and Josuttis, and 'Accelerated C++', and Stroustrup's 'History and Evolution', and I wrote tens of thousands of lines of C++ code, too.
How anyone can use the words 'C++', 'sensibly', and 'designed' in the same sentence is beyond me. The 1994 indictment still holds up. C++ was not 'designed' at all, it's just kludges upon kludges in a dishonest attempt to combine incompatible features for the sake of creating the mythical 'all-in-one' language.
The best thing that came out of the disaster called C++ is the beautifully designed C# language, by way of Java. |
| Fri 25 Apr | Frederik Slijkerman | So... it should be easy to give an example? |
| Fri 25 Apr | Chris Nahr | No garbage collector, declarations in separate header files, preprocessor macros that circumvent type checking and can make source code unreadable, no support for packages or libraries, auto-conversion of anything to boolean, no dedicated character type, no dedicated string type, string length is not stored with string (hence: zero cannot be a string character!), primitive Unix-centric I/O library, switch/case fall-through, longjmp, no finally clause for exceptions, no true multidimensional arrays, no arrays with nonzero starting indices, no array bounds checking, array dimensions are not stored with array, multiple inheritance (virtually useless!) but no interfaces, overpowered operator overloading that is hard to use and allows write-only code (and was abused by the C++ standard itself to turn << and >> into I/O operations, of all things!). I probably missed another dozen things that I can't think of right now.
The template mechanism and the STL based on it are designed to fix a number of these problems but they result in ultra-slow compilation, extreme code bloat, difficult debugging, and incomprehensible error messages. Basically it's like going back from a native C++ compiler to cfront -- just another kludge to fix a broken language. |
| Fri 25 Apr | Gregg Tavares | funny how some people can see all those things as advantages to C++ instead of problems with it. C++ has/doesn't have those features so you can choose not to use them when it's appropriate. When you write for limited memory and/or embedded systems or performance critical projects is when you are glad the language doesn't force bloated slow solutions on you even if in general they make it easier to program some subset of programs. |
| Fri 25 Apr | Chris Tavares | I actually have a copy of 'The Unix Hater's Handbook' in print. They shipped it with a Unix barf bag in the back. Very funny.
As far as the C++ language discussion is concerned: I *do* think that the language has a fairly decent design. However, the design operated within severe constraints that directly resulted in the complexities we all deal with today.
For example: C++ must be link compatible with C libraries. This means zero terminated strings, arrays as just a chunk of memory, etc.
C++ must have no runtime: That means no garbage collector, among other things.
C++ must work with existing system linkers: result: name mangling, no language level modules, etc.
I applaud Stroustrup for building a system that works marvellously within the constraints set before him. However, I, and many others, choose to no longer be bound by those constraints. |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Gregg,
Sure, for the micro-percentage of people who have limited memory constraints (i.e., measured in kilobytes instead of megabytes), then they get to revel in their C happiness (you don't think they'd waste bytes on object headers and vtables do you!?).
For everybody else, well, we've all moved on. :) |
| Fri 25 Apr | xyzzy | “The Unix Hater’s Handbook” is must reading. This book, in spite of its provocative title, presents some very fundamental information that all Unix users should know.
An example of the information you should know is the wildcard expansion performed by the Unix shell. A simple command:
tar xv /mydir/*.c
This tar command behaves differently than you probably expect. This command (I left out the f option and the device for brevity) will not extract from the tape all .c files that belong in the /mydir directory! The tar command will not even be told that you wish to extract using a wildcard. Instead, this command looks into the /mydir directory, builds a string that is composed of all files that are already there, and tells tar to extract just those files. If you wanted to extract just a file that you had inadvertently deleted, that command would not get it back. The Unix shell does all of the wildcard expansion, not the individual commands, unless you escape the wildcard.
I was puzzled about this in Unix until I read “The Unix Hater’s Handbook”. This is only one short example of the very important Unix details from the book that any serious Unix user or programmer must know. |
|
| Do you make your money honestly? | Thu 24 Apr | Kyralessa |
| Just finished reading MSNBC on Epixtar Corp., one of those telecommunications services companies that makes its money by cramming (putting spurious charges on peoples phone bills, making it hard to get refunds, etc.).
So Im curious: Does anybody here work for a company that makes its money in clearly unethical ways? Not through Dilbertesque incompetence, but by actually aiming to rip people off. If so, how? How do you fit into it, and how do you feel about it?
(Anonymity would, of course, be de rigueur in conjunction with an affirmative answer.) |
| Thu 24 Apr | Bill Carlson | This is a finer line than it first appears. I struggle with this myself. My company makes a product (a 2 million LOC accounting system) that is, well, a buggy also-ran.
My honest, personal judgement is that most of our customers would be better served by competing products.
Is it unethical to work here? Perhaps. But, my work helps keep dozens of people employed; we provide excellent service and treat our employees well.
All of us strive to improve this product that we've inherited and do truly feel the pain of the customers. But if capitalism was truly 'transparent', no one would buy the product, we'd be out of business, and our customers would be better off. On the flip side, we indirectly apply pricing and quality pressure to our competitors, which is good for our target market.
Ethical or unethical? My guess is that this same dilemma applies to many, if not most people employed in this country. i.e. is it ethical to work at McDonalds (unhealthy foods), Nike (supposed 'oppression' of the 3rd world), EDS (bilking the govt for billions in IT waste)? |
| Thu 24 Apr | Spam | Interesting question....
I think most people would agree that an operation like the one that installs Gator on your computer for tracking your every online move is a little devious, and in my mind on the wrong side of ethical. Does it become okay if they clearly state their intentions in their EULA, even if it's buried deep in the legalese?
Another example; I received a call from my ISP this morning. They wanted to offer me a two-month free trial of their new 'Ultra DSL' package. However, if I accept the trial, I have to contact them at the end of the two months to turn off the service, or it is added to my bill after the trial period. Ethical?
The lady on the phone tells me this straight up, without me asking. Does this change things? Are they trying to 'rip me off', knowing that a large percentage of people will forget about the extra charge, and don't check their VISA bills carefully?
Theoretical example: Mr. Spolsky here decides to send out a notice of a new major build for FogBugz, on an opt-in newsletter. However, his bank of staff psychologists inform him that a certain shade of blue will raise sales by 1-3%, so he makes the background of this email a beautiful dusty baby blue. Is this ethical? Is playing to the subconscience of potential customers ethical? Is it possible to not play to the subconscience of potential customers.
I certainly don't have an answer, just questions.
All I can say is that the company that I work for makes every attempt to help customers make informed decisions, and works towards long-term success based on satisfied users. I sleep fine at night. |
| Thu 24 Apr | Philo | FWIW, I'm working a second contract in addition to my day job at CAMEL. The second contract job is pure profit for work performed and value added - I am *very* proud of the services we offer and the product we deliver.
In other words, the antithesis of what you're asking, but I just had to brag. :-D
Philo |
| Thu 24 Apr | #If | Two versions ago I would have screamed No! I am scum. Although inadvertant, the product was less than. Through a honest, concerted effort to improve, helped in no small part by this site and it's participants, I can now confidently say... I'm gettin' there.
I slept through the night once last week so it must be improving, right? |
| Thu 24 Apr | With Bill | I'm in a very similar situation to Bill in terms of product.
I didn't use to think we were an 'also ran' as Bill's product is described. Multiple bad decisions and and bad inherited base make it hard for us to be anything else. It's demoralizing as the company slips. If the company lasts long enough to see the economy rise again, I expect the badly paid employees will seek greener pastures. Not too bad a place to work until then though. Good people for the most part. |
| Thu 24 Apr | The Word | I work for a government revenue department...which I believe qualifies me as amoral. |
| Thu 24 Apr | Mrs. Robinson | I once worked for a company that sold a $60K package to Rockwell Corp, which was nothing more than a few Excel-like macros (script for a off-brand debugger). That was my task for the few short months that I worked there: to write the macros. I felt like a real tramp. |
| Thu 24 Apr | Philo | By the way, in reply to your 'is formatting the advertising to maximize response ethical?' I will answer an unqualified yes. To me this falls in the same regime as wearing a suit to work to appear more competent - there is nothing immoral about recognizing human nature and playing it to your advantage. BUT there is a fine line, I think, and that's where the ethics come in.
An example from today - we were discussing security on our system and realized we had no real requirements for a security system other than five vaguely-defined roles. The debate was between a metadata-driven system that can handle anything vs. 'let's give them five simple roles and be done with it.'
One guy suggested 'they've approved the five roles in the requirements document; I say we put the five roles in the logical design, deliver it like that, and move forward.'
I refused to go with that, since we all know it was relying on the idea that management simply wouldn't really read and understand the design document - it would be like hiding 'and you have to give us all your money' on page 73 of a fine print contract. What I countered with was doing that, but specifying the security issue in the cover letter - 'unless otherwise directed*, we are designing the application security with five simple roles as follows...'
In other words, call the shortcoming to their attention and give them a chance to deal with it.
Maybe I'm splitting hairs, but I see a distinct difference between playing on anticipated preferences and preying on known shortcomings.
Philo
*Smart commanders in the military do this all the time to the point it has a standard abbreviation: UNODIR |
| Thu 24 Apr | anon | I worked for a VC-funded company that tried /saving/ money by screwing its salespeople. The product was far from shipping, and they paid the poor guys mostly on commission. No product = no commission.
'Wait a sec, the salespeople didn't know anything about the product's schedule?' Yup, even when there was a shipping product, communication with devs was so appalling that the devs didn't know about features promised for weeks until literally a couple days before deadline. Lather, rinse, repeat.
All of them sued the company. In GERMANY, where people rarely sue. So the company hired a lawyer part-time, and overburdened him with work.
At the end, the CEO was so stupid he asked the sysadmin if he could steal the customer list (previously he treated the admin like dirt and reneged on an overtime bonus), and was turned down because that's illegal. Poetic justice, since the idiot paid beaucoup bucks on one of those buggy enterprise java information systems that encrypted all the info, and the admin changed the passwords.
And I'm sure there's a lot worse out there. |
| Thu 24 Apr | anon | As for the rest of your question, I actually fit in fine. I mean, I couldn't sleep at all, and frequently wished I had contact with the customers so I could hint them to stay away. But I helped talk with employees after hours about their extreme unhappinesses.
The problem is that mainstream German culture has too strong a notion of permanence, so things don't fail fast. People don't quit fast enough.
The best thing I did was get a very productive personal friend to work under me, after joking to everyone about this:
http://www.despair.com/consulting.html
He taught the sysadmin Java for his resumé, and kept me company. Oh yeah, the free-for-all on company schwag before bankruptcy was like Xmas. (The CEO of course walked away with the webcams.) |
| Fri 25 Apr | www.marktaw.com | The sound clip on that MSNBC article is worth hearing.
http://www.msnbc.com/news/896884.asp?0si=-
Basically it's 'do you agree to all this really small small print and is this your phone number?' So you answer 'Yes.' thinking you're saying yes to 'that's my phone number' but you're really agreeing to the whole sentance.
Then she gives another long small-print speach and says 'ok?' and the guy responds 'okay....' and the recording cuts off before he can register a complaint that you can tell was coming.
I wonder if that recording would hold up in a court of law. |
| Fri 25 Apr | Nick | I've often wondered how many people buy the cheapo academic version of developer tools such as Visual Studio .Net to develop software professionally. Judging by the number of them you see for sale on eBay, I would guess there are quite a few dishonest developers out there. (Although, I doubt that even MS attempts to track down commercial products developed with academic software.) |
| Fri 25 Apr | Better than being unemployed... | Last time I looked, the academic versions of Visual Studio had some key components missing, which would make it impossible or impractical to develop a commercial product, so that's probably not an issue.
(I can't remember what they were off the top of my head - lack of support for out of process servers with unattended execution was one iirc). |
| Fri 25 Apr | Stephen Jones | UNODIR
I've been using the trick for over 20 years. I used to call them 'reverse deadline memos' ('passive authorization' would be more accurate but no manager likes to be accused of passivity).
If I wanted to do something I would send a memo saying I will do this within a certain time frame (which was nearly always shorter than the time it took the manager to reply to email) unless instructed otherwise. Absolutely guarranteed to get 60% + of your plans through however objectionable the boss.
There are refinements. A friend of mine used to send obviously ridiculous actions to the boss on the grounds that his boss would feel he had to reject a certain percentage of his suggestions so he might as well ensure that nothing he wanted was in that percentage. If the thing wasn't kyboshed he would just forget about it, and be able to claim that he realized his mistake in time (and of course have one extra thing to hold over the boss). I knew somebody else who would make certain glaring arithmetical errors when doing the inventory, sure that they would be pounced on and that thus the boss would not delve more deeply and find out that the inventory was pure fiction. |
| Fri 25 Apr | Dimitri. | quote: 'and find out that the inventory was pure fiction. '
he he he, that's the way to go. Thanks for the ideas.
Most projects that I've worked with felt like utter crap in the beginning. After a few iterations, they got stable. That's the way in software, and I think it's the same at all other companies. Thinking that your customers would be better off with someone else's product is just because you don't have the inside info on that other product.
I think it was Joel who said that a good rule of thumb is that it takes about ten years for a complex software to mature? That's it. Stop feeling guilty.
As about working for a two months on a few Excell macros to sell for 60k, that's paradise. I could do that for a living! |
|
| Striking Out On Your Own | Thu 24 Apr | Synonymous Mallard |
| So I read Growing Your Own Business by Paul Hawken in Joels Striking Out On Your Own section of book reviews (http://www.joelonsoftware.com/navLinks/fog0000000262.html). Great book. I really found this one useful even though it is a little small.
But now I am thirsty for more. Could anyone recommend more books simliar to this one? They dont have to necessarily relate to the software industry, any field is fine, but growing a small business and the related tasks are what I am interested in. I am growing a small business with a partner and although it is daunting at times, knowing that others have done so successfully and are willing to share their experiences helps tremendously. |
| Thu 24 Apr | Daniel Shchyokin | I've been reading a lot on this and my favorite one so far has been:
The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It
by Michael E. Gerber |
| Thu 24 Apr | Daniel Shchyokin | p.s. E stands for entrepeneur (this book was first published before e-mail or e anything became popular) |
| Thu 24 Apr | Tim Sullivan | I second the E-Myth. It's an excellent book. |
| Thu 24 Apr | moses whitecotton | Most definately read E-myth.
You can apply the ideas to many different aspects of life.
One of my favorite books. |
| Thu 24 Apr | Daniel Shchyokin | Another good one is:
How to Master the Art of Selling
by Tom Hopkins |
| Thu 24 Apr | Bored Bystander | Call me cynical but 'The E-Myth' gives me a pain in the ass. Every time I've read 'The E-Myth' I've developed a new inadequacy complex.
Gerber advises to 'work on your business', not 'in' your business. To understand what your customers want, which is usually a certain experience or intrinsic benefit, which is generally not exactly that which the owner/operator envisions their business to 'be'. He wants us to develop 'operations manuals' of our business and to seek to package our business as a series of activities that can be taught to 'anyone'.
All well and good for any food service and for most 'non intellectual product' companies. However, I do not see *any* application of Gerber's principles in SW dev or consulting, nor in a company that uses professionals to delivery a product or service. Or, maybe, I'm just too short sighted to see the innate elegance that permits this to occur.
In software development, the companies that implement a 'franchise model' of interchangable bodies and 'process' are in one of two camps: temp firms, and large money grubbing semi dishonest consultancies. The scum of the earth recruiting agencies treat degreed professionals like us like cattle. Their 'process' is devoted to HR and hardnosed negotiation practices, and not in any event whatsoever to providing service for value beyond delivering billed hours. As far as the consulting firms, they seek to make their Fortune 500 clients as dependent on them as a crackhead is on his next fix. That's *their* process.
In any other venue, most software developers must be hand picked from a limited pool, and the employer *has* to deal with the fact that the company can't treat a professional employee like a burger flipper. Also, in companies that create sophisticated I.P., the owners may not even *know* their own business beyond an overview level. And most owners of tech companies would run the company straight into the ground if they tried to analyze their business's activities and implement a 'franchise operations manual' model. They are much better off essentially letting their employees be irreplaceable and firewalling off the activity of tech work as an indivisible 'atom'.
I could go on at great length. But for now, what I despise is the notion that the E-Myth is applicable for any form of business. It's NOT, particularly when it's professional services and the client won't accept anyone in my place except me.
I'm resigned to treating my worklife as a chain of hand picked singularities. At least until I build my first resale product. |
| Thu 24 Apr | Daniel Shchyokin | More on this later but Gerber does not suggest hiring 'burger flippers' he suggests hiring emploees with the lowest possible skill level to do the job at hand, and he doesn't suggest treating workers like cattle, he suggests that there be a system for handling workers.
Examples of sick SW business practices that would benefit from managers reading e-myth
- Requiring a PHD from MIT and 56 years of experience in linux kernel development for a position to write Access Reports (lowest possible skill level)
- Having an unwritten rule that leaving before the VP or Taking a vacation WILL result in getting you fired.
Also, I've seen some of the operations manuals at 'e-myth' style companies, I am currently reading one from Farmers Insurance. They are meant to be starting points, i.e. the Farmers manual does not teach you how to sell, it gives a frame-work from which to start (so you don't make a total ass of yourself) and from which you can improve and fill in the details. |
| Thu 24 Apr | Daniel Shchyokin | Also, consider this that developers are not the only people you will be managing in a software company there will be sales, marketing, receptionists, janitors etc ... |
| Thu 24 Apr | Bored Bystander | Daniel, true observations in themselves.
But in a software company, my rhetorical question is still - how does one develop an operations manual and comprehensive procedures that cover the value-added work done by the company? Or in any brainwork type operation. I'm not saying that no 'professional' will submit to any process, I'm just pointing out that brainwork jobs require that the person come in the door knowing how to do the job from his/her head already. The least common denominator in this role is basically a rocket scientist. So I'm saying that E-myth is pretty much useless in this context. But I am open to arguments how it could be employed.
This issue 'pees me off' because it points to the lack of scalability of our occupation. All our business can ever be, unless we develop a killer product we release to the world, is our own labor. It's not that we're stupidly flailing like Mr. Magoo, not seeing the forest of process for the trees of individual modules needing written (or whatever.) It's just that commoditizing technical work is more a mass financial operation relying on the odds of the marketplace, than it is a process of training anyone from scratch. The scalability happens when you have buckets of 'commodity ' programmers and you're accepting $300K and up payment checks. The scalability at the level of 1 to 30 person teams simply does not exist.
And I have seen *several* would be 'software tycoons' with visions of grandeur, thinking that they had the special sauce and personal magic, trying to hire roomfuls of code monkeys, 'train them' trivially, and pocket 90+% of the billings. Crashing and burning right about at their second employee.
And documenting 'process' for a custodian or a secretary in a SW company is next to irrelevant. It's truly unimportant because service roles like these have next to nothing to do with delivering the product or service. |
| Thu 24 Apr | Bored Bystander | Wait. Actually, it just occurs to me how the E-myth DOES apply to SW dev in one sense.
The E-Myth philosophy simply can't 'wrap' our work in a simplified operations manual. Therefore, any sw dev company wanting to become a mass 'franchise' operation *must* demote the importance of the technical work itself to a very low level that does not impact the company at all day to day.
Then, the business of the company becomes not software development, but delivering on the 'promises' implied by the software or whatever else is being developed. That means that you acquire software assets as cheaply as possible, free is possible, otherwise outsourced for squat. Such a company is no place for one of us Joel types because it is basically a place that doesn't want, need or allow for the vagaries of smart people creating when they feel like it.
And you become essentially a marketing, PR and distribution company with perhaps an outreach for custom installations and per client 'consulting' (non coding), through an operations manual of course.
Stage 1 ... collect software. Stage 2. ..... ..... Stage 3 - profits!
Maybe South Park should do a take off on the underpant gnomes reading 'The E-Myth Revisited.' ;-) |
| Fri 25 Apr | Synonymous Mallard | Thank you for the replies, I actually picked up The E-myth and skimmed over it the last time I was in the book store and decided against it and instead picked up 'Hemingway on Fishing' ;-) But now I have to go back and pick it up just to see for myself if there is any worth to it. I might find a good gem or two. Thanks for the other recommendation also. |
| Fri 25 Apr | Herbert Sitz | Bored Bystander said, 'All our business can ever be, unless we develop a killer product we release to the world, is our own labor. '
That's equally true of lawyers, accountants, and numerous other professionals. Yet they have businesses that are owned by partners but where non-owners (associates) provide their own labor at a base wage or salary determined by the partners.
The partners are not selling only their own labor; they're also selling the labor of the associates the employ, and making a profit off it.
I know there is at least some small percentage of software development houses who work in a similar way. And the most successful one I know does have a lot of operational documentation.
So I'm thinking there may be something to what Gerber says, at least if you want to make sure that your business doesn't take over your life and run you into the ground. There has to be something to help run your business other than just yourself. Documentation of your 'system' sounds like a good way to get that. |
| Fri 25 Apr | Phillip J. Eby | Basically, the E-myth explains why 'crappy' companies make lots of money, and why us quality-focused types often don't.
Haven't you ever wondered how it is that all these incompetent idiots and exploitative fools don't go out of business? It's because what they're doing is actually profitable, most of the time.
Quality in significant excess of the customer's requirements is wasted money, because quality the customer cannot perceive will not be paid for.
Beyond a certain level of quality, only a specialist in the art (the 'technician', as the E-myth calls us) can distinguish the degree of quality present. Therefore, anything of greater quality than that, is wasted on the customer who is not a specialist in the art. (And if they are so skilled as to discern the quality, they will be unwilling to pay because they could 'do it themselves'!)
This is the true lesson of the E-myth. It is real, but an unpleasant reality for those of us who have devoted our lives to the advancement of our arts. Learn it and weep, ye who would profit from your skill.
You can make a living by quality work, you can be 'self employed' and do quality work. But a truly profitable business *must* make quality *secondary* to the goal of profit. Read between Joel's lines, and you'll see that he is always saying this. |
| Fri 25 Apr | Daniel Shchyokin | I would say that that is true, but quality is in the eye of the beholder, don't forget that for a lot of companies the customer is another company and 'Joe Average', and so yes Gerber does imply that quality should be to the minimal level acceptable to the customer, but you can look at it in reverse where you figure out what level you can deliver at and still make a profit and still make money and then find customers that are at that level, Not everyone WILL eat at mcdonalds.
In sw development you may not be developing for desktop users, you may be developing for other companies, or professional stock traders, or NASA. For all of these you should hire workers with a minimum of skill for the job, but that minimum is a variable depending on your customer, again do you need Access Reports or Embedded Systems?
In manufacturing you have Beamers and Fords, maybe BMW workers get more training than Fords assembly line workers, but none of them are master mechanics, in fact if we had that elitist attitude, the only cars in the world would be Rolls Royces and not everyone could afford those! |
|
| HUD software disaster - open source the answer? | Thu 24 Apr | open and shut? |
| The spin on the street is that open source will save the government from future software boondoggles. Expect to see lots more of these articles, all with a common solution suggested.
http://www.insightmag.com/news/421370.html
>HUDs Financial Woes Continue
> n 1999 the Department of Housing and Urban Development (HUD) was unable to account for $59 billion and, at the time, placed much of the blame on the federal agencys financial-management computer systems. Four years later, despite hundreds of millions of dollars being paid to federal contractors to fix the problem, HUD still cannot rely on these systems to account for its funds.
...
>HUD is totally dependent upon the vendor for software modifications, maintenance, and enhancements because the vendor owns the source code for the system. ... despite the fact that the HUDCAPS financial system is outdated technology, and no longer even available, the taxpayers will continue to pay for it because the contractor owns the source codes. |
| Thu 24 Apr | Ben Thompson | Theres two issues with this:-
Firstly open source is very useful for software where large numbers of people will use it and where the sum of the parts is far greater than the bits each person adds to it. Mysql is the perfect example of this, because of the quality of the core product companies are willing to support or even supply enhancements (transactions, replication) as they only need to pay for the missing bits they really need leaving the rest to others.
Custom software is different. If no one else wants it or is interested in it you are not going to gain anything by open sourcing it. To solve the problems all you need is access to the source code and people that really understand it. While access is to the source code is usually available (at a price) access to people that understand it may not be. Lets be honest here who is going to leave $100,000 or so at EDS, Accenture or IBM for a government role.
The second issue is a simply one. Poorly specced systems lead to systems that work poorly (or don't work at all). Because of the size of most government software projects (large, ambitious) the amount of time required to write the system means that its requirements will have changed 2-4 times during development due to changes made from on high. The solution to this is not open source but making systems smaller (with shorter development time and a shorter life cycle) with common interfaces between their bits. Open source is not a solution in this world, web services are. |
| Thu 24 Apr | Tj | In terms of pie-in-the-sky thinking, there should be a social process where people can see the status of these projects. Obviously there is more to project success than just code, but shining a flashlight into these places never hurts. |
| Thu 24 Apr | Marc | Well said Ben.
WebServices might not be the answer that many have claimed but for projects like this they are the best architecture available.
By using WebServices not only do you get smaller systems that are easier to maintain, but more than one system can rely on them. So if HUD needs 'Function X' and FDA also needs 'Function X', it need only be written once. It also means that when the laws change that effect 'Function X', they need only be changed in one place.
The other upside to WebServices is that they can be exposed to the public. This would benefit companies in the private sector that write systems that use tax tables, HUD forms, etc. |
| Thu 24 Apr | Noname | 'Available source' may be more appropriate for software written for a specific entity.
Before signing the contract, the HUD should have ensured that the vendors would supply the source code. |
| Thu 24 Apr | Government analyst | Open source won't make a skerrick of difference to this sort of scenario.
The same large consulting firms will still be in there gouging the taxpayer for tens of millions, delivering shoddy work and holding the customer to ransom.
Do you really think, that in a complex business system like this, the availability of the source code will magically clean up the mess? Who's going to do it? |
| Thu 24 Apr | Ben Thompson | I should have made it clearer.
1) IBM / EDS and so will somehow or other tie you in for the long haul. As I said before even if you have access to the source code that doesn't mean you will have access to anyone that knows it and can help you.
2) In largescale developments requirements and specs are going to change during development. Large companies love this as it means they need to keep their expensive architects on the project all the time (along with the service manager, site liaison manager, team lead project manager, multiple project managers)..
3) The solution to this is not access to source code or programmers but simplification and separation (writing one program that does task X, another for task Y). Web services and the elk means that this is now saleable in areas that dcom and corba were not. Of course its also the things that large consultancys will hate more than anything else (small programs, short development time, short life cycle = less time to get claws in and feast). |
| Thu 24 Apr | Albert D. Kallal | No, this is just a disaster, and open source is not a band aid solution here.
However, Open Source is certainly a solution to many government software projects.
People are getting confused between the fact of Open Source will NOT create such a application, but in fact can help the government use more standards.
Simply put, the solution is for companies (and governments) to insist that vendors supply the source code. This does not require open source.
Most of the time, my clients do NOT insist on source code, but some do.
Anyway, lets get back to how open source can help the governments.
A very good example of using open source is the UK government needed a encryption system for about 10,000 PC’s in the government. At $100 per pc, that adds up real quick to 1 million dollars for this small package.
So, what did they do? They hired two developers, and those developers used a open source encryption product with ALMOST the features they needed. Less then $250,000 later those developers added the need features to the open source product, and the government thus saved $750,000.
However, the above is not the real kicker, fact is now the French government is thinking of using that package, and it will cost them nothing!
Once governments figure out that projects can be shared among themselves, then this open source model will turn into a flood.
Imagine if the French government puts together a system to manage all the schools (student marks, student registrations, Human resources etc etc etc).
By using open source, then England, Canada, US, Italy and on down the line can now benefit from that system. Further, perhaps the Canada schools might have budget left over, and now web enable the system. Once again, all parties and governments involved now get a web component for free.
Note that all private schools, and even those commercial “IT” training schools around the world would also benefit from being able to use the School management system. Thus, many people, and even commercial business/private schools will benefit from the government spending. After all, everyone is supposed to benefit from government spending.
Once governments realize that open source is much like building libraries, and roads, they will quickly realize the savings to be had. While the government need roads, so does commercial business.
Note that by open souring these kinds of projects, none of these systems will be built by developers for free, or out of the goodness of their heart. Developers on open projects tend to higher paid then average anyway.
Thus, the open source model for governments around the world to share software expenses is a very powerful concept indeed. Governments are just starting to learn this concept of shared benefits with open source, and that each government that invests money and time into these projects benefits all people using the system around the world.
So, yes, next time HUD might be able to use open source, since then all who need that system can benefit.
Albert D. Kallal
Edmonton, Alberta, Canada
Kallal@msn.com |
| Thu 24 Apr | Philo | Disclaimer: I have sincere issues with the quality of work your average 'alphabet soup' contract house delivers.
However,
let me also point out that it takes two to tango, and train wrecks aren't always solely the fault of the contractor - if the government agency in question refuses to delegate authority for program management but does not have the talent to manage the program themselves, the contractor ends up in the position of trying their best or walking away. And I don't think you get to walk away from too many jobs in this town before you're in bankruptcyville.
Philo |
| Thu 24 Apr | The Word | Canadian schools with a budget surplus, Albert?
I guess you really must be from Alberta. |
| Fri 25 Apr | Simon Lucy | Well local systems are just too dissimilar in different countries to imagine a 'standard' open source for something like managing the education system, or any other system.
Certainly in the UK the lack of paper standards in open source is unlikely to promote its use in real systems, let alone the existing contractor relationships with organisations such as EDS and ITNet. Those relationships restrict innovation by their very nature.
There are other idiocies that could be fixed, like not imposing employment taxes on government funded organisations so that a 10% increase in national insurance doesn't erode basic funds which end up back in the Treasury. |
|
| software engg. at school? | Wed 23 Apr | anon |
| For those people who went to school and got a cs related degree, then stepped into the world of production code, did anyone think courses like software engg. helped a lot in terms of design and coding large projects
I have heard CMU has something related to course work for large projects |
| Wed 23 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | The help was essentially zero. |
| Wed 23 Apr | Mike Swieton | You learn to do by doing. Courses can give you ideas. You can learn about methodologies. You can read about design patterns. You can be lectured on budgeting the process.
But if you never apply it, you've not learned a thing. The schooling can provide a lot of extremely useful perspective, but in my experience, you only understand after you've taken the collection of facts your school provides and put them to use. |
| Wed 23 Apr | Mrs. Robinson | School teaches you to think in terms of boundary conditions, forcing functions, systems of equations, logic, probability and both abstract and detailed thought. Classical ideas which are portable to any technical application. |
| Thu 24 Apr | X. J. Scott | regarding the course I took that was called Software Engineering, I found it one of the more helpful classes. We used the Pressman book and discussed requirements analysis and design documentation, estimation, and other things useful to project management. To pass the class, you had to gather a team among your fellow classmates, find a real-life customer with a need, estimate the cost, sell your proposed solution, draw up contracts, design the product with full blown documentation and deliver a working product -- all in a one quarter (10 week) long class. It was pretty tough but was a good introduction to the real world and one of the only courses that dealt with management issues, an understanding of which is crucial for any professional developer. |
| Thu 24 Apr | schmoe | Yep, I took CMU's Software Engineering course, and I think it helped, although not quite in the way they hoped. When I took it at least (1996 or 97), it was a few small warmup projects and then a single class-wide project (80 people in 8 teams of 10 that all had to interoperate). There was a customer with some vague requirements that had to be fleshed out, and a few 'management-imposed' requirements that optimized for something other than the strict development goals (simplicity for the professor/TAs and/or politics & partnerships within a software company).
It was good in that we ran into lots of real-world problems that other school projects would never have run into, related to team size and teams optimizing for themselves without understanding their role in the entire project, etc. The 'customer' interaction and the team interaction was helpful - it was my first exposure to the tradeoffs between, for example, exposing an interface that's easy for me to expose or one that's easy for my callers to use. Not many college kids (IMHO) have any experience with this - a 10-week project certainly isn't enough to really understand it or get good at it, but it's better than nothing. |
| Thu 24 Apr | . | What is 'software engg.' (sic)? |
| Thu 24 Apr | Matt H. |
I just finished a grad course called 'intro to software engineering' - the 2nd and 3rd courses in the series are 'Requirements specification' and 'testing'
Here's the objectives from the syllabus:
1. Understand various software life cycle models.
2. Become proficient in using models for requirements specification.
3. Understand the basic ideas and techniques of functional and structural testing.
4. Understand the roles of the supporting software development disciplines:
• project management
• configuration management
• quality assurance.
Overall, It could have been an excellent course, but we spent far too much time on theory and not enough on practice. I'm pretty sure that most of the class can now define boundary testing, equivilance testing, robust testing, and special testing, and, given scenerios, could tell you which one to do.
The problem is, given a software system written in Java, which GVSU teaches, I'm geussing that less than 20% of the class could actually do any helpful testing work on that system.
I wish the professor had assigned us reading like 'mythical man month', 'Rapid Development', or 'Writing Solid Code.' That might have helped.
regards, |
| Thu 24 Apr | Chris Nahr | Directly applicable software engineering knowledge? Very limited. That's not what universities and professors are into, quite basically...
However, was a CS degree does teach you is a fundamental understanding of the entire pyramid of technical concepts of which an application program is only the tip.
In other words: how does the computer work at the hardware level, how does this correspond to programming languages at various levels (this tells you why languages are designed the way they are!), how do you gauge algorithmic complexity, what are the basic algorithms and data structures...
That's a very valuable foundation for software development. It's not, however, a substitute for actually learning and practicing software development itself; that comes on top of everything you learn there. |
| Thu 24 Apr | Better than being unemployed... | What I think helps enormously when teaching is giving projects and exercises that have some relation to the real world.
For example, when I was at college one of the first things I learned is what a linked list was. So I knew what a linked list was, but certainly didn't appreciate when one should be used until I started programming professionally and came across situations where I'd have to keep a variable list of settings in memory, and suddenly ... aha, that's where the linked list comes in.
I certainly didn't 'get' OO programming until some years into my professional career, despite having done a whole module on its theory at college. |
| Thu 24 Apr | David Clayworth | I think BTBU illustrates the point exactly. A Software Eng. course teaches you what a linked list is. It may give you some hints on when to use it, but they will be pretty abstract. You probably won't really understand when to use it until you get a real life situation.
On the other hand, if you are not taught what a linked list is, how will you ever realise when to use it? |
| Thu 24 Apr | Chris Tavares | For what it's worth, the software engineering course *I* took never talked about linked lists.
Software Engineering covers:
Software lifecycle
Requirements gathering
Development methodologies
Specifications
Code reviews
The cost of change curve
and so on. Linked lists were part of Computer Science 101. That's not a software engineering course. If it's called software engineering, your CS department is crap.
-Chris
P.S. For an outline of the class I took (although not with this professor) try:
http://www.rh.edu/~houman/outlinese1.htm |
| Thu 24 Apr | X. J. Scott | David,
Generally it will be an introduction to programming or other Freshman class that discusses linked lists, binary trees and hash tables. Sophmore year you'll take an algorithms class and start talking about O(n) complexity, B-trees and more. Softeware Engineering is usually junior or senior year and deals with project management issues (like COCOMO, function points), business (contracts, case studies of great failures in software engineering) and architecture issues (like cohesion, coupling, patterns). |
| Thu 24 Apr | X. J. Scott | Ah ya beat me to me own post. I agree with this and second the idea that one should be extremely cautious of any CS or other engineering program that calls intro to programming SE. |
| Fri 25 Apr | Pavel Levin | It may sound funny, but I am actually working on an undergraduate degree in Software Engineering (or so they call it) at U of Waterloo.
You can check out the curriculum at http://www.softeng.uwaterloo.ca/Prospective/curriculum.htm
So far it's been fine. |
| Fri 25 Apr | randy | I actually took 3 classes that relate directly to SE. 2nd year basic se class that covers processes, req, design, coding, testing, code reviews , and you get to work on a small project with a team of classmates.
Senior year there is a required senior project class that covers a full year. We had a team of 8 people and worked with a real client on a real application, everything from req to final testing and deployment. In our case we wrote an application(15k lines of vb, yuck!) for Raytheon. This definitely taught us how to deal with a difficult client! This was a very rewarding class, knowing that we actually finished something that was useful. Last I heard it was still being used there.
I also took a graduate level class as an undergrad elective that covered software process improvement. We studied CMMI, ISO standards, and most importantly what was wrong with them and how to improve them.
Overall I would say that these classes were very useful to me. |
|
| Better User Interfaces - Colors | Wed 23 Apr | Dave B. |
| Even when using Windows 3.1, I could never quite imagine the files and file cabinet as being real. I always envisioned the DOS commands that were being executed whenever I clicked on those pictures. I guess I never made the connection between the folder icon and directories because once you opened the folder there was just a list a files. Or it could be that Im not that imaginative!
The reason I liked the icons in Windows was because they attracted your attention. I also liked the really colorful ones! I like color and lots of it. Especially contrasting, bright colors. Those of you who have looked at the website I setup to demonstrate the forum software can see what I mean.
Someone ) left a post at that site that read, You can have any color you like as long its black.... I believe they made that comment in reference to my background color and Henry Ford and the Model T. It only came in black. I took it to mean that they were either making a witty comment or they didnt like the color scheme.
With that comes some questions:
How important is color in a user interface?
How should color be used in the UI?
What are the appropriate places to change the color? |
| Wed 23 Apr | Danil | Read the Tufte books.
http://www.edwardtufte.com/98990410/tufte/ |
| Wed 23 Apr | J. D. Trollinger | You'll never please everyone, no matter what color scheme you choose. I always shoot for something conservative, bordering on plain. You want the web surfer's attention to be directed toward the content of your web page, not the incidental graphics. |
| Thu 24 Apr | fool for python | Use restraint or you'll end up with an Angry Fruit Salad.
http://www.jargon.net/jargonfile/a/angryfruitsalad.html |
| Thu 24 Apr | Stephen Jones | If you're writing a Windows application the rule is simple; use the system colors. If you want to indulge in your artistic tastes, wear a tie (preferably in your own house) |
| Thu 24 Apr | Dennis Forbes | I have found that the most agreed upon designs are achieved by sticking with one hue and using variations of intensity for the various elements (my personal favourite is yellow), basically making monochromatic interfaces, with at most one other hue. This tends to achieve the most professional look that garners the most universal agreement. |
| Thu 24 Apr | Dimitri. | Few hues in the same palette. Colours that fit with each other. Think 'autumn colours' or 'pastels' or 'marine colours'. |
| Thu 24 Apr | flamebait sr. | Muted colors.
Programmers almost always end up using bright, saturated colors. But it's much easier on the eye to have a soothing scheme of muted colors that work together. |
| Thu 24 Apr | Dennis Atkins | Dave B,
I personally like your outlandish default forum color scheme. Although bold, it is legible, easy to read, and not tiring to look at, which is not easy when dealing with a rainbow hue of fully saturated colors -- the large amount of black is probably what made it work.
>How important is color in a user interface?
Depends I guess. Can we narrow this down to web pages vs shrinkwrap? Are games included?
>How should color be used in the UI?
Depends. There are whole books and there are people who successfully break the rules of whole books.
>What are the appropriate places to change the color?
What do you mean? What parts of the UI users be allowed to customize? For desktop apps, I think very few areas; I am not a fan of skins. For forum software, either none if it is black and white text and blue and red links, or the colors that are in the body tag. My opinion only. Using templates can allow the user to do it all very flexibly themselves.
I do think the advice about hues was good. Stick to one hue. Then add a second. Three if you are daring and good at selecting colors. Among those hues, vary saturation and intensity as needed to create other needed colors. Same as painting a room -- keep the number of hues down unless going with all-white furniture. The images on your page are like furniture I suppose - take for example Joel's use of photos as decorative elements that add a small bit of color. |
| Thu 24 Apr | Matt Kennedy | This is a cool way to get some nice color harmonies: http://www.easyrgb.com/harmonies.php |
| Thu 24 Apr | | Matt
Yes, it is! Thanks |
| Thu 24 Apr | Dave B. | Thanks for the compliments, advice and links everyone. I think I know where to go and look now. |
| Thu 24 Apr | Dave B. | I should say, 'I think I know where to go from here.' |
| Fri 25 Apr | Oren Miller | I have an example of when color is criticial. When I started on a trading application it seemed perfectly reasonable to show stocks prices that are up in green and ones that are down in red. Doing something like this really alerts you to the presence of the color blind population (red and blue work better). |
|
| Better marketting term for 'progress bar' | Wed 23 Apr | Heston Holtmann |
| This may be trivial, but I was actually asked for my thoughts on a more fancy/sexy marketting term for progress bar when describing features of a software product for a web page!
I couldnt come up with anything better.
Got any ideas? |
| Wed 23 Apr | GiorgioG | Process State Indicator
Real-time Status Indicator
Instant Feedback Bar
Note: I made these up off the top of my head, sexy - no, though the 'Instant Feedback Bar' isn't bad.
Anyway, just throwing out some ideas, thinking aloud... |
| Wed 23 Apr | runtime | 'Are We There Yet?' |
| Wed 23 Apr | Alyosha` | If you find it necessary to hype a *progress bar* in order to sell your product, there's a fair chance I'm not going to believe the rest of your marketing campaign either, and consequently I'm likely to not buy the product. |
| Wed 23 Apr | Lauren B. | 'Instant Feedback Bar?'
Sounds like something for breakfast on the run. |
| Wed 23 Apr | Ian Stallings | ['Instant Feedback Bar?'
Sounds like something for breakfast on the run. ]
My mind is so in the gutter right now. |
| Wed 23 Apr | George W. | 'Freedom' Bar |
| Wed 23 Apr | GiorgioG | I knew I should have kept my mouth shut ;-) |
| Wed 23 Apr | Stephen Jones | Off the subject but 'freedom kisses' and 'freedom fries' sure seem less appetizing than the original versions but to 'take freedom leave' is a definite improvement! |
| Wed 23 Apr | Prakash S | good one runtime:-) |
| Wed 23 Apr | Thomas | I'm good at these games.
Dynamic status indicator
Completion bar
Completion percentage indicator
Progress indicator
Progress metric
And if you want to branch out into phrases:
real-time indication of completion percentage
instant dynamic feedback of progress rate
shows completion metrics fluidly in a real-time fashion
There's my 5 minutes worth of marketing hat today :).
-Thomas |
| Wed 23 Apr | Richard Ponton | Why, switch it from horizontal to veritical and call it the Progress-O-Meter (or Progressometer).
;) |
| Wed 23 Apr | Mike | How much f'ing longer? |
| Wed 23 Apr | Nick | Why do you want a 'sexy' progress bar marketing term? If you name it something else, when people see it they'll think 'Oh, it's just a progress bar.' Honestly, I'm less likely to buy something if the seller tries to BS me with fluffed up terminology. It triggers distrust. |
| Wed 23 Apr | Swamp Justice | Bug.
A progress bar means that your app is poorly designed and is blocking needlessly. Try using an asynchronous IO/UI design. |
| Wed 23 Apr | And the horse you rode in on | So when IE is downloading the file you've told it to save it's a bug to show a progress bar? C'mon now. |
| Wed 23 Apr | | 'self calibrated evolution appraisal meter' |
| Thu 24 Apr | Geoff Bennett | Pizzogress Bizzar, Biznatch |
| Thu 24 Apr | Angus Glashier | eProgression@Bar.Com?
Time to get a cup of coffee Bar?
Annoyed tapping of fingers and whistling while looking into blank space Indicator? |
| Thu 24 Apr | Haggis | Process Completion Meter
Mission Accomplishment State Indicator |
| Thu 24 Apr | na | Bug.
A progress bar means that your app is poorly designed and is blocking needlessly. Try using an asynchronous IO/UI design
kinda silly statement |
| Thu 24 Apr | Patrik | I would call mine FuBar™ |
| Thu 24 Apr | John Topley | How about Progress Bar XP? |
| Thu 24 Apr | Gregor Brandt | WAIT
Windows Approximate Indicator for Time
WAIT Another Indeterminate Timespan |
| Thu 24 Apr | | COME ON! |
| Thu 24 Apr | | Oops...
C'MON ! |
| Thu 24 Apr | =) | -The Jump To 99% And Sit There For 20 Minutes Bar
-Very Innacurate Progress Bar System - V.I.P-B.S. |
| Thu 24 Apr | ;-) | Advanced Pub... |
| Fri 25 Apr | Just me (Sir to you) | iBar.
Make sure you deliver in many semi transparant skins and charge double for the 'Elite Black&Silver' limited edition.
Next year bring out a new color range and charge for updates.
hmmm. You would need to create a cult following first to be able to pull it of though.
Maybe start with the 'Happy Bar' first. Begins with a normal off-yellow smiley and gradualy turn it into the 'extremely happy ear to ear grinning' radient sunshine smiley.
Hey, you can patent the 'Mutimedial Animatronic Completion INdicator for TOSSers' (MACINTOSS).
Just moan into a microphone (check out the relevant JOS article for advanced microphone setup tips) and programmatically increase volume and frequency of the playback. Optionally end with an ear-piercing 'YOU'VE GOT PORNZ!' for extra counter-culture appeal. |
|
| Your Additions to the Joel Test. | Wed 23 Apr | Prakash S |
| Joel has already mentioned 12 points on his famous The Joel Test
http://www.joelonsoftware.com/articles/fog0000000043.html
- what would you add to this?
Personally, I would say -
Does Management Interfere with your work?
Do the management guys have a tech background? |
| Wed 23 Apr | KenB | Do politics destroy the project? |
| Wed 23 Apr | Just me (Sir to you) | Do you use your own code (dogfood)?
I know this is not universaly applicable, but where it applies ... |
| Wed 23 Apr | Phibian | Do you have a disaster recovery plan? |
| Wed 23 Apr | Nasty Curmudgeon | Here is what I consider to be an important omission from Joel's test: does the management structure contain anyone who regularly sabatoges other principles of well run software development organizations, and/or who actively uses his resources to combat known best practices whenever possible? Or, does the company culture itself contain certain malign concepts that run counter to goodness?
The kinds of people or types of culture I am describing tend to radiate from dominant personalities who impose their own personal creed of badness on development efforts. There are many variations of this.
One archetype is as follows: the 'senior' lead engineer who is obsessed with creating new 'platform level', highly generic code for any and all needs - but who is too exalted, high and mighty and important to ever 'eat his own dog food' by attempting to use his grandly named code in ordinary applications. This person has the power in the organization to make everyone suffer through endless revisions of stuff that is supposed to 'one day' reduce all coding to 'grunt work'. Like sisyphus and the boulder being pushed uphill, the task is never done, 'platform' code gets in the way of doing real live applications, common coding needs are always many times harder than they would be without such 'generic engines', and real day to day needs suffer. The pompous lead never listens to the lesser intellects that must work with his stuff, because after all they are losers because they don't get the elegance and innate simplicity of his stuff, which of course must be learned at his feet. (a short description of this is 'technology narcissism'.)
Another example is the (typically smaller) company that revels in no-process and stupid practices because process will 'take the fun away' and 'not let us be flexible'. Local cargo cults evolve around mistaken notions such as 'source control is bad because it gets in the way of us sharing the same source code and merging changes when everyone is done with their sections.' The real problem, of course, is that nobody on the team has the professional experience to understand how to separate functionality, and/or is unwilling to refactor code properly, and/or make other changes as needed to permit process to be workable in the environment.
A third example is the company filled with low-achievers who nevertheless have developed a local 'personality cult' of the 'perfect developer' with total work ethic who can surmount all odds - which in reality means someone young and stupid enough to work like a dog because 'no process' leads to continual mistakes and rework.
I realize that it sounds like I am describing a goal in terms of negatives. Not really. What I am doing is listing attributes of an organization that absolutely prevent adoption of important pieces of the Joel Test and the corollary philosophy it entails. You'd have to fire key managers, lead technical people, or even the entire staff in order to impose good process.
And the overwork that the badness creates causes so much activity that anyone's work in such an environment becomes a death march and survival struggle - there is simply no time to implement much less demonstrate best practices. |
| Wed 23 Apr | Nat Ersoz | The best of the Joel tests are those which you can answer a plain 'yes' or 'no' to without qualification:
Do you use source control? Its a yes or no answer.
Do you do nightly builds? Also, yes or no.
Are your managers competent? Reasonable people might disagree.
Here, I'll add one: You code base has a known stability problem. You are a month past the business plan ship date.
a. Do you ship it?
b. If you ship it, do you inform your clients of the problem? |
| Wed 23 Apr | Stephen Jones | Do your developers waste all their time posting to Joel on Software? |
| Wed 23 Apr | Nat Ersoz | Answer: yes. |
| Wed 23 Apr | Pete Robinson | >One archetype is as follows: the 'senior' lead engineer who is >obsessed with creating new 'platform level'
Think we may have worked together ;)
At one place, his nickname was 'god'. What he said, everyone bent over and did. The main project based on his 'technology' was canned after a year or so work by probably 10+ team ... waste of my life.
I stayed 9 months. |
| Wed 23 Apr | Guy Incognito | 13) Do not oogle the women in accounting. |
| Wed 23 Apr | Eric W. Sink | Do you have a pool table? |
| Wed 23 Apr | Andrew Reid | Are developers allowed to talk to customers directly? |
| Thu 24 Apr | Alyosha` | Do you even HAVE customers? |
| Thu 24 Apr | anon | This one is difficult to know until after the fact, but 'does management have realistic attitudes towards deadlines?' would have to be pretty high upon the list, in my opinion. |
| Thu 24 Apr | Keith Wright | I would think some minimal amount of documentation should be available. I'm surprised documentation doesn't appear anywhere in the Joel test. Otherwise you have to depend on having at least one coder who has been around long enough to know how most of the system works, or pray that your developers write really easy to understand code (yeah right). |
| Fri 25 Apr | Oren Miller | Better than whether managers have realistic attitudes toward deadlines. Are developers allowed to estimate their own tasks?
In otherwords, are deadlines predetermined or do they have a basis in reality based on what the people doing the work believe is possible. |
| Fri 25 Apr | Better than being unemployed... | I'd probably phrase the documentation question as :
'Can your project carry on if you're run over by a bus tomorrow?' |
|
| What is to fuel the next IT cycle? | Wed 23 Apr | Mike Gamerland |
| Even if you have been in a protected job the past two years, you know spending is way down, as are projects, jobs and consulting. In the 90s we had the internet and perhaps irrational exuberance. In the late 90s we had y2k, which upgraded, updated and replaced billions of lines of code. Both of these required two things: A large number of bodies and people with a technological need to spend money. The internet gave business the need to be in on B2B or B2C. The need to not feel left behind had them spending money to keep up with the Jones. Y2K was preventative surgery. Do it now or possibly die.
So we spent, and spent, and spent some more. Then it was 2001. People had updated their systems, infrastructure and even their people. After spending because we must. little money and even less justification remained for further updating.
This discussion began in a thread on the future of Free Lance developers http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=39997&ixReplies=7
but wish to broaden it beyond the free lance to all of IT.
So what is the next thing we will see moving the IT economy? What will motivate your business or industry to act on it? |
| Wed 23 Apr | tapiwa | rebuilding IRAQ
With the size of the figures they are quoting for the cost of rebuildig, I want some of that. |
| Wed 23 Apr | Matt H. |
>So what is the next thing we
>will see moving the IT economy?
Real business value. That means companies that trade in information or data - the media, entertainment, banking, and insurance - will need IT.
Customer Service automation will be the next big thing, with CRM leading the bandwagon.
IMHO, CRM is a waste of time. Why pay $50,000 for a CRM implementation when you can just give each Customer Service Rep and Sales person a check for $1,000 and say 'This is for managing your relationships with customers well. Please keep improving.'
(The cost of CRM scales up as the business grows, so, generally, you can cut each person a check for $1,000/year for about 3 years.)
Then it'll be wireless, until people realize that 95% of wireless is just cost with no savings. (The 5% that is real value will thrive: Warehousing and package delivery management, for example.)
Process Automation will continue to be the big thing that people don't talk about much. I will continue to write programs that total up values in a text document instead of some tester importing the values in excel and typing @sum.
Information Week will continue to ignore this, and a few consultants will continue to make a comfortable living.
And that's all my crystal ball has today ... |
| Wed 23 Apr | Matt H. | >IMHO, CRM is a waste of time.
I'm sure to draw heat for this, but, c'mon, look at any ad for CRM in a trade magazine.
Lots of buzz-words. Lots of hype. No metrics about HOW investing in this will save you money.
Spending lots of money NOW to save money later will continue to be snake oil. IT's out there, and it's scary. (Yes, there are good investments to make - IT is one of them. That's what investments are. But without metrics and proof, it's often just snake oil.)
Business Integration (.net-ish) will grow. Big companies will invest in the kinda ERP-ish stuff that delta is doing on Joel's homepage now.
Will it pay off? The jury is still out.
Me, I'm a big fan of pay-backs of less than six months (read the goal) JMHO, though.
regards, |
| Wed 23 Apr | doobius | India & China |
| Wed 23 Apr | Prakash S | 2 words: Business Integration |
| Wed 23 Apr | one programmer's opinion | Many technology workers working in the United States and certain parts of Europe are screwed.
I have to agree with doobius. However, I don't believe India and China will be the only less industrialized countries experiencing growth. While some Indian consulting firm stock prices have gone down lately most of them are still earning more profit than their US and European counterparts. |
| Wed 23 Apr | Just me (Sir to you) | Security: We will move to a completely sealed platform, as a last resort in shielding our digital infrastructure from ubiquitous electronic terrorism.
New interfaces: Yes, think little bits of 'the Matrix', 'Snowcrash' and its ilk, but especially augmented reality, robotics etc. |
| Wed 23 Apr | Interested Party | >IMHO, CRM is a waste of time. Why pay $50,000 for a CRM implementation when you can just give each Customer Service Rep and Sales person a check for $1,000 and say 'This is for managing your relationships with customers well. Please keep improving.'
I'm not sure I understand this. Is the $1,000 a yearly salary from the Service and Sales Rep or is it merely a bonus? Presumably, most sales reps are paid much more than $1,000 per year, and you need many more to do the same job that an automated system can handle since it can work in parallel. Thus, presumably, it should be pretty obvious how a $50,000 system can easily save you money as opposed to paying real humans.
agree that in general *quality* of customer satisfaction goes often down as automation goes up, but that's another issue. |
| Wed 23 Apr | Mitch & Murray (from downtown) | Bankruptcy Software. |
| Wed 23 Apr | pb | I'm very bullish on hardware and devices. Small and large. Wireless and wired. |
| Wed 23 Apr | Dennis Forbes | As someone who lives and works in Toronto, and takes the two GO trains that recently hit headlines because they were travelled by a SARS infected nurse, I'd peg big growth targets on the remote worker industry: With the technological options available to us to today in the form of high speed networking, I see a huge growth potential for remote worker applications, consulting, and infrastructure. Huge office buildings full of thousands of workers, perilously vulnerable to biological issues (be it a communicable disease like SARS, the common flu, colds, or terrorism) just seems to be obsolete. |
| Wed 23 Apr | Philo | Soldering.
Philo |
| Wed 23 Apr | Tom Vu | '2 words: Business Integration '
Business integration has been going on for ever. This does not mean anything. Cobol to client/server to corba to web to BS. Centralized to distributed to centralized to distributed to BS. The common component is BS...learn it, live it, be it. |
| Wed 23 Apr | Matt H. |
Oh, and Health Care. |
| Wed 23 Apr | choppy | Re: on SARS... BIG government money right now directed towards biosurveillance systems. think 'total information awareness' geared towards detecting disease outbreaks. |
| Wed 23 Apr | Lou | We're going to hear lots of buzzwords as new technologies come to the front, but I hope we'll see an attempt to find the effect of technology on the bottom line.
Statistical analysis and analytical thinking within IT will become increasingly important. If you can't clearly articulate exactly HOW the new CRM system will impact the bottom line, and support that data with studies, independent analyses, and then carry through and get Finance to sign off on the savings I don't want do deal with you.
Show me how it saves me money or increases my possible revenues. |
| Wed 23 Apr | Brent P. Newhall | More generally, well, let's look at history.
In the 90's, IT went up. Way up.
Around 2001, IT went down. Way down.
It stands to reason, then, that the next direction for the industry is for it to go back up. That means more spending on IT. When will that happen, and will it go back to pre-2000 levels? Who knows? I wouldn't bet on it.
Okay, so what will be the heavy-growth industries in the near future, based on history? That's a hard one, because a lot of the heavy-growth industries were difficult to predict. Look at wireless, P2P filesharing, and defense spending. Still, here are my bets:
We live in an increasingly unpredictable time, and America's increasingly aggressive war on terrorism suggests that this trend will continue. Okay, so security looks like a safe bet (ha!). This includes physical and digial security products, from alarm software to anti-virus scanners.
A common side-effect of war, stress, and unpredicability is an increased interest in entertainment. Remember, the digital games (computer and console) industry had a higher gross income than all of Hollywood in 2002. I've read that the computer/console games industry is in a period of rapid *growth*, and has been for quite awhile. So, that's probably a good place to be.
That's all I can think of. |
| Wed 23 Apr | K | I have to support the business integration suggestion as well. While business have been integrating for a long while the opportunities for integration and data sharing have increased while the time it takes to safely integrate has decreased. This should fuel a more intelligent round of applicaion integration in corpporate intranets for the next few years. |
| Wed 23 Apr | Mrs. Robinson | Plastics. |
| Wed 23 Apr | Li-fan Chen | At some point human augmentation and augmented realities will present some serious challenges that will increase computing-related spendings. That depends on just when we'll all get tired of keyboards and mouses and terminals. Right now there's countries that don't even have anything to at least match the equivalent of country-wide pager coverage, so I think what ever fuels the next IT cycle will not be any single trend. |
| Wed 23 Apr | Stephen Jones | Sorry to be a party-pooper but there is absolutely no reason for IT spending to ibounce back up.
Take a look at refrigerators. Production mushroomed in the 50's and 60's as first of all the USA and then Europe started buying them but when everybody had one it tailed off and reached a plateau.
The PC market is more or less saturated. At the moment people can be persuaded to change to laptops, but there is nothing that is going to come along to make people upgrade hardware and software that works fine, as they did in the 90's. My desktop is a 733Mhz Pentium that is nearly three years old, and it is unlikely I will upgrade it for another year or two, if then.
The games market will still be there, but the programming work is a prime candidate for outsourcing. Lunatic bidding for 3G licenses means that the European phone companies have not the money for development, even in the highly unlikely case that people are prepared to pay for mobile data.
Micropayments through phone cards or phone bills are the next thing, but there is little IT development required. |
| Wed 23 Apr | choppy | game creation is not really amenable to outsourcing. games are produced like movies are produced. with a bunch of people that do different things, all together in the same area, working 18 hours a day for 9 months. or at least that is how console games are developed. game PORTING is already outsourced. if you want your ps2 game to run on windows and the mac, you send the source code to some guys in russia. |
| Wed 23 Apr | Philo | 'Access guarantees that you'll never need developers again'
To the contrary, Access *created* an entire new IT development arena.
Nothing warms my heart like someone predicting the death of IT, because it means we're through the eye of the hurricane.
'3G doesn't need IT'? I don't think so - I just look at all those Palms and PocketPC's and Nokia picture phones and see a vast empty expanse waiting for custom business applications to be written...
Philo |
| Wed 23 Apr | Mike | It will be something stupid no one saw coming. |
| Wed 23 Apr | Stephen Jones | Dear Philo,
You've given two quotes but neither of them are in the thread.
It is well worth remembering how many IT jobs have simply disappeared off the map, sometimes before you even knew they existed.
Data entry clerk; you'll still see the position on office doors, but dead as a dodo, thank God.
Back up operator. All redundant.
Web page designer. Decimated like a native American tribe hit by smallpox.
Desk-top publisher; killed by internet and the email. Many adapted by evolving into web page designers but only staved off their obsolesence.
Hardware technician; probably on the way out. There was a massive boom at the end of the 90's when everybody started adding cards on to their PC's, but now everything is on the motherboard and large companies have acheived such bargaining power in the market that it costs you 40% more to build something yourself than to get ir ready made. |
| Wed 23 Apr | Philo | Are web page designers cut in numbers because the need has gone away, or because the customers have gone away? I suggest it's the latter. I know quite a few web page designers that are doing fairly well. Sure they don't have the easy pickin's we all once enjoyed, but there's still work to be done.
I also know of quite a few offices full of DTP folks, though their jobs are evolving as we speak. I think that job description has somewhat merged/blurred with 'Tech Writer'
Philo |
| Wed 23 Apr | T. Norman | The next IT boom?
Y10K! |
| Thu 24 Apr | Dan Maas | I think we'll start seeing some real leaps in user-interface technology (not just in research labs, but in every-day software and systems that are used by lots of people). IMHO we are pretty much at the limit of what can be accomplished with the traditional WIMP/desktop interface model, and with the traditional hierarchical file system. Microsoft and Apple are already chipping away at the barriers to something better in their upcoming products.
Auto-configuring devices. Like Apple's Rendezvous technology - let your network devices and printers figure out their own settings without having to type in stuff like IP addresses and 802.11 network names manually.
The Year-2038 problem (32-bit UNIX time_t overflow, which could very well be more serious than Y2K)
Oh, and definitely much, much cooler video games :) |
| Thu 24 Apr | Dan Maas | And better software security. I think it's pretty much accepted now that only the most strictly disciplined programmers can write C code that is immune to buffer overflows (and they all work for the OpenBSD project :). More and more server software is going to be written in 'safe' languages and run inside of sandboxes. It's far easier to write something in Python or C# and run in a chroot jail than to audit a comparable C program. |
| Thu 24 Apr | Alyosha` | The bulk of the technical revolution is behind us; the mainstays of the computer world -- the OS, spreadsheet, word processor, and messenger -- were invented twenty years ago and have little life left in them for new innovation. I believe that a products company can only survive four or five years before the market saturates, the competition steals the intellectual property, or catches up to them on their own efforts.
The long, slow, decline and demise of Microsoft is imminently predicted.
My roommate sees my pessemism and claims boundless growth in wireless and in virtual reality, but I see both as areas where there is more hype and flash than real usability and popular need. The next boom will not be in information technology, but more like something like biotechnology and medicine -- where the demand is a matter of life and death, and there are no shortage of people in our ever-aging population out there trying to seek the elixir of long life and eternal youth.
The IT market will never again see the manic days of the IT gold rush. What goes down does not necessarily always go back up. But IT will continue to survive as an industry in which projects will be limited to smaller, niche markets. 'Killer apps' will be very few and very far between. IT will be dominated by service and not product revenue. And most projects will be downright boring and unsexy (at least compared to the overhyped promises of products of years gone by).
Also, there will never ever be any problem with making a quick buck off of people who are out just trying to make a quick buck. |
| Thu 24 Apr | John Rosenberg | That's akin to saying 'everything that can be invented has already been invented.'
The demise of Microsoft? riiiiiggghhtt. That's why they have $46 billion in cash, and why you have none. |
| Thu 24 Apr | | They'll need a shitload of that cash to fight lawsuits. |
| Thu 24 Apr | Albert D. Kallal | The next big noticeable changing technology is the advent of IP based telephones for consumers.
That essentially means a network plug on one side, and a phone jack on the other side.
When I say next big thing, it will certainly be a big change, but not really cause a large change in employment in our industry.
The IP phones also fit well with the advent of very cheap low cost wireless hubs from companies like linksys.
For a total hardware cost of $150, and a monthly $40 high speed internet connection, your local coffee shop or restaurant is completely wired for both high speed net, and the new cell/IP phones that will recognize the 802 wireless hub.
That restaurant does not even need to install a computer for that wireless hub. Every one present in that location can use their pda’s, laptops, and also those new IP phones.
IP phones are just now appearing in the production pipelines.
Albert D. Kallal
Edmonton, Alberta Canada
Kallal@msn.com |
| Thu 24 Apr | T. Norman | If Microsoft falters, they wouldn't be the first multibillion-dollar giant to collapse. Still, it's probably not going to happen anytime soon, although I definitely see them losing their dominance of the industry in the next 10-15 years, just as IBM no longer dominates (although they are still a big player) like they used to in the 1980s. |
| Thu 24 Apr | Stephen Jones | Why should people use phones over IP when it is essentially swapping a mature technology for an immature one with lots of shortcomings.
Remember what they said about convergence and ATM - sure it'll do video, data and voice but a duck can fly, walk and swim; it just can't do any of them very well. |
| Thu 24 Apr | choppy | VoIP + cable modem in Japan, Korea, Australia and the USA is already cheaper than using a standard landline. |
| Thu 24 Apr | Stephen Jones | Cheaper for international calls, but what about the line quality? Maybe OK with broad band at both ends, but I still find Net2Phone unusable over a dial up.
And remember that in Europe and much of Asia the cell phone is taking over from the landline for voice calls and personal messaging. |
| Fri 25 Apr | tapiwa | Was daydreaming through a really boring meeting, and had a thought.
Money will be in big iron. The desktop upgrade cycle is getting longer, and so money will be in big iron that delivers all these services, whatever they are, that folk are talking about. |
| Fri 25 Apr | | 'a duck can fly, walk and swim; it just can't do any of them very well'
but it can do 2 of 3 better than you and I. |
| Fri 25 Apr | Stephen Jones | ---'but it can do 2 of 3 better than you and I. '----
Do you know what the first household appliance was?
It was the electric motor!
You got the motor, and then got all the other bits as attachments. Didn't take long for people to opt for buying redundant motors with every seperate piece of equipment they had.
I am speccing out CALL labs for my college and its subsidiary. Once a month I have to go through the argument of why don't we use the network infrastructure to show videos (buying an extra $30,000 of hardware per lab if necessary), and I have to explain because it is a lot simpler to get a video cassette and put it into a cassette player and send out the signal to a set at the front.
I suspect voice over IP may take off, though the actual importance of fixed land line calls will have declined to such an extent that it will not really be important. But if like me five years ago you went out and bought the most expensive voice and data modem on the market because you had been told that you could use it for internet, fax and voice mail, then you'll understand my reluctance. |
|
| Internet cache | Tue 22 Apr | Ghost |
| I need the best software that can read IE cache and manage them (save,delete....) and show me the cache
and i can choose the website that i would save from cache to hard disk. |
| Tue 22 Apr | Stephen Jones | If you are worried about cache being saved on your computer then delete the temporary internet files at the end of the session.
Use Tools|Options to set the disk cache to zero.
If you are really paranoid you will need to do seven wipes with the delete, and also ensure that the paging file is wiped clean seven times over each time the machine starts. And make sure you have hibernation turned off. |
| Tue 22 Apr | Nat Ersoz | Mozilla |
| Tue 22 Apr | runtime | I've read that even clearing your Temporary Internet Files is not adequate to 'wipe' your tracks. There is rumored to be some sort of system-wide IE cache in the c:\windows directory. |
| Wed 23 Apr | Stephen Jones | The pages will be wiped out, although obviously easily recoverable until written over.
There's still the cookie trail, the history list, and I suspect that there are some other references to the URL's visited. |
| Wed 23 Apr | Eric Debois | Every link clicked is stored in a *.dat file that the system wont let you erase. |
| Wed 23 Apr | Stephen Jones | This is presumably for the history funtion to work.
I would presume you could simply open the offending file in notepad and erase all the data, or substitute suitably brownie-point-gaining URL's.
As search for *.dat will bring all the files up. |
| Wed 23 Apr | R. C. | The file is locked and cannot be erased. |
| Wed 23 Apr | Veruca Salt | Index.dat is a directly of cached files to speed loading. When you clear your history or your cache, it be not be cleared. The data in it will, however, eventually be overwritten with new data on cached files and history.
The site http://www.markusjansson.net/eienbid.html#indexdat has several methods to remove it. For 2000/XP the simplest is to put a command file in your startup folder. The contents of the file aren't malicious:
cd %homedrive%%homepath%
rd /s/q cookies
rd /s/q locals~1\history
rd /s/q locals~1\tempor~1
For Win98/ME you have to edit the registry and some other ugly crap. I once made the mistake of overwriting the file in Win98 and it corrupted my whole system. I had to re-install windows and everything. |
| Thu 24 Apr | JD | I think ppl have missed out the main question here.
He wants to 'manage' his cache (like extracting info of particular site from cache, delete cache for particular site etc.) instead of just plainly clearing the cache.
I think such a tool will be really great! I don't know of any!
Any one has bright ideas?
JD |
| Thu 24 Apr | John Topley | Check out IECookiesView from http://nirsoft.multiservers.com/utils/iecookies.html |
| Fri 25 Apr | Ghost | yes I want what JD said
and there is like software but it is old version and not
good enough ,it is html Convertor
form http://htmlconv.da.ru/
but the last version is since two years ago and
it is free ,so if there is such one free
it should be a more powerful new one.
Ghost |
|
| HTTP Replacement | Tue 22 Apr | John Topley |
| Joel muses about replacing SMTP with a superior protocol.
Whilst were at it, how about replacing HTTP with a stateful protocol? |
| Tue 22 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Good god, why? So we can ruin the scalability of the web? |
| Tue 22 Apr | Dino | Cannot be done ... the IP stack was designed to work over a unreliable but highly redundant network infrastracture.
Stateful protocols would contradict the above assumptions and would invariably end up in huge problems around error handling and state synchronization.
IMO, keep'em stateless.
Cheers
Dino |
| Tue 22 Apr | Dennis Forbes | Of course there are lots of implementations of HTTP that is 'stateful'. Cookies are an example of stateful HTTP, in IIS as a 'session' for instance. |
| Tue 22 Apr | pb | Would the cookie-dislikers be satisfied if there were some sort of session cookie generated by the browser? I'm not too anti-cookies but I can understand the concern.
Re HTTP: it's interesting how folks awlays want to 'improve' on HTTP and HTML when the sole reason for the astonshing ascent of the web is the utter simplicity of HTTP/HTML. |
| Tue 22 Apr | Dino | Although the cookie contains status info, the 'cookie protocol' itself is stateless - the client and the server do not synchronize around cookie states.
Plus servers should be able to work without cookies since users can always turn cookies off on their browsers. Alternatively one can use URL rewriting to implement user sessions (or any other method that embeds the session id in the request).
Now the 'session protocols' are stateless too since they do not assume a certain state neither on the client nor on the server. Servers rather timeout and drop the session then synchronize with the client. On the client side, the client knows his session id, however it would have to reconnect if the id doesn't check out.
Stateless protocols are the price we pay for trying to build reliable services on top of unreliable transport. For more info try 'Internetworking with TCP/IP ' Comer, Doug.
Cheers
Dino |
| Tue 22 Apr | John Topley | I don't think some of you are taking my post in the spirit in which it was intended and the spirit in which Joel's original proposal has been taken. Do you not think that replacing SMTP as Joel outlines would require serious re-engineering of TCP/IP? We all know that SMTP and HTTP are not going to be replaced any time soon, so it's a hypothetical scenario which means that objections based on implementation details are invalid.
HTTP and HTML are designed around static content which means that you have to resort to kludges such as cookies and URL rewriting for dynamic Web applications. I'd be very surprised if anyone argued that it's an elegant way of doing things; especially compared with how user interaction works with a desktop GUI application. |
| Tue 22 Apr | John Topley | P.S. Good response from Dino. |
| Tue 22 Apr | Dino | pb,
cookies are the only way to implement long term sessions (lasting weeks, months, years). Then I guess cookies are here to stay.
From a different perspective, security related data must be highly volatile (or it wouldn't be secure) and should not be stored on an unsecure machine at any point in time.
Cheers
Dino |
| Tue 22 Apr | Dino | John,
our networks can provide a connection reliably but cannot sustain the connection equally reliable (but less ;). This because a connection request can take any number of paths in the network, while an established connection must work over one single route.
Therefore we are better off to try and connect more often than to try and keep a connection for a longer time. Simple as that.
This is why only request-response protocols are the ones that work with WAN - ie internet. HTTP, SMTP may change in features but not in shape: they'll survive as req-resp.
More likely to change are protocols like FTP which require connections for a long time.
Cheers
Dino |
| Tue 22 Apr | Stephen Jones | Where does Joel outline replacing SMTP? In his latest article he merely links to a fairly shallow article on the Ziff Davies site about using some kind of protocol involving micro payments in order to cut down on spam.
And who uses HTML to design dynamic web APPLICATIONS?
Rich client GUI's are better because they are not limited by narrow bandwidth, and because they don't have to work in a sandbox. |
| Tue 22 Apr | Prakash S | While we are it, why don't we go with the Semantic Web....:-) |
| Tue 22 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | John,
No, I don't think replacing SMTP would require reengineering TCP/IP. However, in your straw man, you've made one fundamental mistake: SMTP is broken, HTTP is not. |
| Tue 22 Apr | John Topley | 'Larry Seltzer wants to throw out SMTP and start over. I have to support that.' from http://www.joelonsoftware.com |
| Tue 22 Apr | flamebait sr. | View the world as layers, not one single location. Otherwise, you will have a leaky abstraction.
You have a lot of guarantees about your local PC and perhaps the high-speed cluster it is part of. It will never go down, if it does, you have BIG problems. Communication is roughly instantaneous.
You have some guarantees about the local network. You will most likely have at least 10 megabits shared, perhaps more. The connection will be up as long as you are docked / within range of the AP / not experiencing network difficulties. Servers stay up. Connections can persist. Latency is reasonable.
You have no guarantees about the WAN. Stuff dies, servers dissapear, IP addresses change or are NATed, etc. You have somewhere between 300 bits and maybe, if you are lucky, a few megabits. You could have a full second of latency. You could go in or out of range of a cell tower.
Trying to make stateful HTTP for rich applications is a leaky abstraction. Stateless works great in the WAN case because it is built under the assumption of a best-effort network. Trying to build a proper 'rich' application without keeping in mind that your network is anything but best-effort (i.e. if you want a rich application, all of your UI logic needs to be local and the data needs to be cached with synchronization) is about as bright as building your house in a flood plain. Sometimes it works, but just wait for the inevitable rainy season where it all gets washed away. Writing apps with a stateless HTTP over the Internet would be about as fruitful as writing apps with DCOM over the Internet -- both are prime examples of a leaky abstraction. |
| Tue 22 Apr | ease up | I sense sarcasm in Joel's comments... |
| Tue 22 Apr | Stephen Jones | Dear John,
Support is hardly an outline. In fact Joel goes into more detail in a post on this forum but there is no indication that he has even began to think of the difficulties of changing the present system. |
| Tue 22 Apr | Richard Ponton | 1) Invent new email system that solves SMTP's problems
2) Run NewMail and SMTP side by side at the same email addresses. Mail gets 'bonus non-spam' points if it arrives over NewMail
3) After time, since NewMail is vastly superior to SMTP, SMTP email goes down to a trickle and some people start turning off SMTP alltogether, hastening its demise.
4) ???
5) Profit |
| Wed 23 Apr | John Topley | OK, I'm convinced. I'm going back into lurk mode before I humiliate myself further. |
| Wed 23 Apr | Alyosha` | I agree with John, actually. I fully believe that web app programming is a tower of Babel made up of one kludge above another.
HTTP was orginally conceived by Berners-Lee as a mechanism to deliver static pages in one direction, with a markup language which could be displayed differently on different platforms. Later CGI made the communication two-way; CSS turned HTML from a markup to a page design language. Javascript and Java applets were bolted on to provide computation on the client side. If you want anything in the way of animation, however, you need Flash. Now the current generation of web app tools, such as ASP.Net, go to enormous lengths to make controls displayed on the client appear programmatically as if they reside on the server, pulling an HTML refresh while posting a big block of opaque data to indicate, for example, that the user clicked on a checkbox.
In the meantime, various vendors of browsers have had to struggle, implementing different sets of this functionality in different ways. The signs of strain are already there. What is really needed is to abandon this entire notion of different pages rendering HTML differently -- we need a smaller set of primatives: text HERE, rectangle HERE, line THERE -- something along the lines of what Terminal Services or X Windows do.
For the most part, networks these days are reliable and the lowest bandwidth typically found today is 56kbps (wireless being the exception). Terminal Services and X Windows work decent over such a connection. A highly graphics-intensive program might creak on a low-bandwidth connection, but the same problem exists with flashy web apps and HTML pages today. Since networks are pretty reliable these days, I don't really see why distributed apps need to be stateless. |
| Wed 23 Apr | Simon Lucy | There are other ways of maintaining state across connections and that's to treat the server as the proper place for the repository of those states.
That of course means that a raft of validation checks have to be done but it isn't impossible to do. |
| Wed 23 Apr | Dan Maas | Now there's an interesting idea Alyosha - make rich internet client/server apps that use X11 as a transport rather than HTTP... (just don't call it X11, make up some marketing name like Super Interactive Web Protocol...) |
| Wed 23 Apr | Stephen Jones | The lowest bandwidht typically found today is 24kbs, which is what you get if you are more than a certain number of kilometers from the exchange.
On a normal telephone line a 56kbs modem will connect at between 45 to 49kbs, but you can only send upstream at 33kbs. Much more importantly is your average download speed and I have rarely found that more than 2.5kbs for one connection. It is quite common to get periods of a minute or two when downloading comes down to a crawl.
I have used modems in England ('free' ISP but they all are now), Saudi and Sri Lanka, and there does not seem to be significant differences. Each country has its own particular faults. |
| Wed 23 Apr | choppy | 'I agree with John, actually. I fully believe that web app programming is a tower of Babel made up of one kludge above another.'
sort of like how unix and NT themselves are evolved piles of kludges, or how the human brain (and the rest of the human body) is a pile of kludges. anyone still use a lisp machine? i didn't think so. kludges work.
'Now there's an interesting idea Alyosha - make rich internet client/server apps that use X11 as a transport rather than HTTP... (just don't call it X11)'
this already exists. it is called 'VNC.' also, basing anything on X11 is probably the worst idea I've heard in a while. |
| Fri 25 Apr | Just me (Sir to you) | 'apps that use X11 as a transport rather than HTTP'
Hey, I know the whole cryonics thing was cool in the late 70's and early 80's, and by God who would have believed it would really work. It was even funny at first, all these IT defrosties just going about their business as if the world after 84 had never happened. You know, working on the most bombastic kludge rewrites of 70's UNIX implementations and the like. But then some politico radicals got involved (got to love that neo-Orwellian newspeak) with smooth marketing pulling some sort of extra slippery Buck Rogers on some Finnish dude and slick branding with some 'I'm maladapted but cute' animal for the puberty hormone swigging crowd, and it got less and less funny. Now they want all of us that learned how to stop dragging our digital knuckles during the 90's to stoop down again? Count me out for the ride pal. |
|
| Software Engineering licenses | Tue 22 Apr | Mark Hoffman |
| In the past few years, some states such as Texas have begun to recognize software engineering as a legitimate engineering field and allow qualified candidates to become licensed engineers.
Here in Texas, many of the universities are now offering software engineering degrees. How common is this practice in other states? I believe Washington also recgonizes software engineering as an engineering field. Are there any others?
What do you think this means for the future of our industry? Do you think that in 10 years it will be common for larger companies to have licensed software engineers on hand to bless designs?
I read McConnells After the Gold Rush a few years ago during the boom while demand for developers were still increasing as well as their salaries. Although I agreed with much of what McConnell wrote, I knew that the market just wasnt ready for maturity.
Today, things are a little different. Demand and salaries are softer and companies are beginning to learn that cranking out software isnt a guaranteed goldmine anymore.
With the boom gone, I can see how our industry might be slowly changing to the more mature profession that McConnell wrote about.
Where do you think licensed software engineers will fit into a more mature industry, say 5-10 years down the road? |
| Tue 22 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I find it almost inconceivable that the test of licensing will be some form of guarantee about how good a 'big-picture' person the applicant is. |
| Tue 22 Apr | Dennis Forbes | In my personal opinon that would be completely the wrong approach, and is an obsolete concept from the yesteryear where we had 'information keepers' (when information wasn't as accessible as it is now), to have 'annoited ones' (which is what government sanctioned engineering designations are) in software development. Instead, quality comes about because of a process: Appropriate up-front design [UML, etc], documentation, code walkthroughs, peer reviews, etc. The cold hard reality is that professional engineers, despite their personal claims of martyrdom, are no more professionally, criminally, or civilly responsible for their creations than anyone else, though they like to pretend such. |
| Tue 22 Apr | | I think you're wrong about professional engineers not being more responsible Dennis, at least in the eyes of the law.
When you become a licensed P.E., you're given the rights to sign off on something (plans, etc.) as being proper. If what you signed off on wasn't indeed proper, then you can lose your license.
My wife is now eligible to become a P.E. after 6 years of school and 4 years of internship. Her workplace is filled with stories of people that have lost their licenses. |
| Tue 22 Apr | choppy | hopefully the licensing thing doesn't take off. i'd hate to see my earning potential reduced to what a licensed engineer makes... |
| Tue 22 Apr | Dennis Forbes | I would love to see some actual statistics on the number of professional engineers who have lost their license, as what I've heard is that the industry is very similar to the medical industry: More of a protection racket than an accountability system, and where actual, bonafide sanctions are less common than speedy government service. In any case when you get down to it, if a professional engineer does something negligent that causes great peril, they can face criminal, civil, and professional punishment. How does this differ from any person who has exactly the same criminal, civil, and professional responsibilities? |
| Tue 22 Apr | Philo | IMHO what our profession is missing is a 'master/apprentice' relationship paradigm - in any workplace there should be senior developers doing design & rough implementations and junior developers 'filling in the cracks', doing the scut work, and learning from the masters.
The problem is that business has a mental block on 'paying people to learn their jobs' and feels that they shouldn't hire two people when one will do (not understanding that that one person will generally get annoyed with doing scut work and leave, leaving nobody in their wake that understands the systems).
More than PE's what we need is for those who make hiring decisions to buy into master/apprentice relationships.
Philo |
| Tue 22 Apr | Mike Gamerland | 'Where do you think licensed software engineers will fit into a more mature industry, say 5-10 years down the road?'
I would agree with people who think we may be there today. Try and find a job as a windows developer without an MSCE. a Red Hat System Administrator without your Red Hat Certification or a JAVA developer without your SUN Certification. Can it be done? Certainly, but it is becoming the minimum requirement.
If you implement a system with MSCEs, and it has issues you can still claim you had the 'best' people working on it. Is it true? Microsoft thinks so. As in the 70's no one ever got fired for choosing IBM, the same will be for certification. As for whether it will determine how successful you are as an 'engineer?' I believe it will become an addition to a college education. You are certified to show a base level of understanding and more importantly a common working vocabulary.
This will be a necessity as more projects are put under legal scrutiny. I see where Dennis was going with his point 'despite their personal claims of martyrdom, are no more professionally, criminally, or civilly responsible for their creations than anyone else,' it is the 'than anyone else' that is starting to prove an issue. As an engineer you can be held VERY accountable for what you say will and will not work. A bridge that collapses, a walkway that falls, or a building that implodes are looked at to determine if the engineer did in fact create the issues or more importantly did not prevent them. And the firm as well as individual is responsible.
It is that accountability I am beginning to see required in contracts. Where a business is unwilling to accept that you 'did your best' but the system does not work nor meet the requirements. Unlike buildings where those requirements have been worked on for centuries, software is in its infancy.
Also, the buyer is getting more adamant about what they want to see. Many more contracts are bid on the project level. You say it will take $2 million, that is what you get and if it fails a single requirement penalty's apply. Go over budget, you eat it. The expectation of failed projects being blamed on the requester is starting to go. They hire us as the experts. Like asking for an exterior door on the 115 floor of a high-rise, we are expected to foresee issues.
The lesson of the VASA [ http://www.abc.se/~m10354/publ/vasa.htm#I.%20Brief%20history%20of%20the%20birth%20and%20disappearance%20of ] applied to ship building. Then engineering and soon software. It will be interesting to see where the line really ends up being drawn. Dollars will tell. |
| Tue 22 Apr | Mark Hoffman | Dennis,
Why do you consider licensed engineers as government sanctioned 'annointed ones' who are just 'information keepers'. I'm not certain how someone can come to that conclusion.
I would disagree that engineers are not held responsible. Legally, they can be sued for malpractice and the State can be petitioned to remove their licenses.
I agree with you that quality comes about as a process, but how does a company know that a person understands these processes, or even that certain processes are necessary? While having a license or engineering degree is not an absolute guarantee, it *is* an indication that the person should know what they are doing. |
| Tue 22 Apr | Nat Ersoz | The fact that software engineers are discussing licensing demonstrates the desperation now felt in this industry; not maturity or professionalism. All I can say, is that it will be a cold day in hell... |
| Tue 22 Apr | Jason | I got my Computer Engineering degree from Texas A&M about 6 years ago, and this was a favorite topic of one of my profs.
In order to be a P.E. you have to intern under another P.E. for x number of years. If we start allowing programmers to become P.E., who are we all going to intern with to get the ball rolling? |
| Tue 22 Apr | choppy | sometimes i feel like i'm one of the only people on this forum who LIKES the fact that software engineers get no respect, and that software is not a 'mature' industry. i'll let the ivy league kids with overbearing mothers go to medical school...i'll just continue making $14,000+ a month working at my kitchen table in my boxer shorts.
more seriously, i could maybe forsee people working on big boring enterprise applications needing licenses, because what they do is pretty well defined. if you can't figure out how to connect an input form to a database, you probably should be held liable for whatever you are doing. however I still see a lot of creative applications of software: doing things that no one has thought of doing yet, and i'd rather be in that boat. dean kamen , one of the higher profile (and more prolific) contemporary engineers, is a college drop out. |
| Tue 22 Apr | Mark Hoffman | Jason,
Actually, in Texas being an internship is not required anymore. From the Texas Board of Professional Engineer's web site:
'Although it is recommended that the engineering experience be obtained while working under the supervision of a licensed professional engineer, this is not a requirement for licensure.'
(http://www.tbpe.state.tx.us/lic_basic.htm)
As of a few years ago, an internship was required. I believe this is a recent change. (Probably for the very reason you mentioned!) |
| Tue 22 Apr | Dennis Forbes | The comment regarding 'information keepers' referred to an era of yesteryear where everyone's knowledge and responsibilities was heavily partitioned because information was so difficult to gather that the need for specialist was a necessity. It wasn't specifically related to engineers, but rather an idea that we had specific, life-long entrusted individuals for certain tasks, and only they would do.
My comment regarding criminal liability relates to the fact that every single one of us is criminally, civilly, and professionally responsible for our work. We can't throw up our hands and go 'Sorry, I'm not a professional engineer, therefore I can't be held responsible for the gross negligence that killed that guy'. In the eyes of the law having a professional designation is mostly a veneer of responsibility, as the same responsibilities and laws apply to all of us.
Don't get me wrong: I am not saying that PEs, or having 'annoited ones', is always wrong. I like to make sure my doctor is a Phd and is medically certified, and perhaps where lives are truly on the line a board sanctioned individual may be worthwhile at least to audit the plans (just as a housing inspector comes out to see what you're doing). However I think the whole professional engineer designation is an illusion of competency when process and standards, and the measurements of the same, are what brings quality. People usually hold up crappy software as an example of why we need PEs, showing a gross ignorance for the whole time-quality-features balance that defines the industry (yeah all software could have perfect quality if it had no features . I just don't want to see the engineering racket start to try to give themselves job security by imposing themselves, in a statist manner, into a dynamic industry like software development so we can have a 'professional engiener sanctioned spell checker'). |
| Tue 22 Apr | Dennis Forbes | Damnit. It's too bad I didn't have a professional engineer certified spell checker for that last post. :-) |
| Tue 22 Apr | Mark Hoffman |
I don't think that there are too many people advocating that anyone developing software has to have an engineering degree or be licensed by the State.
Rather, I think what many people are wanting is that software engineering be elevated to the same level as mechanical, electrical or chemical engineering for those that want to make the effort. I think everyone would agree that there is a huge difference in the skills of people who all claim to be software developers. How does someone truly distinguish themselves from the rest of the pack? Certifications offer a little distinguishment, but the flaws in commercial certifications are well known.
By having the State recognize a person as a licensed engineer means that that person has at least a degree in engineering, has proven that they possess engineering skills and that they have experience in their field.
It doesn't guarantee the person won't ever screw up, just as a license to practice medicine is no guarantee against malpractice. However, it does demonstrate to the world that they have reason to put some degree of trust into the hands of the PE, until the PE proves otherwise.
Once again, I don't think the idea is to make everyone a licensed software engineer. Most engineers, be it electrical mechnical, etc are not licensed either. For software engineering, I think a primary reason is to allow a person to distinguish themselves from the masses of people calling themselves software developers, architects and programmers. |
| Tue 22 Apr | choppy | 'Rather, I think what many people are wanting is that software engineering be elevated to the same level as mechanical, electrical or chemical engineering for those that want to make the effort. '
My issue with this is that every mechanical, electrical, or chemical engineer I know left their respective engineering field to work in software, because software pays better! |
| Tue 22 Apr | Stephen Jones | There are serious problems with making software engineering a profession.
In the States only a professional can be sued for malpractice. All others can only be sued for negligence. The former is much easier for the plaintiff than the latter.
Also, although universitites have courses in software engineering which are supposed to teach students how to write software for the real world (as opposed to Computer Science which teaches people how to write programs for another world) there are vast differnences between the two.
A bridge builder is working with constants that don't change. The forces that affect the structure don't change every two or three years, and most of the work involved could actually have been done by his grandfather. Software 'engineering' by definition changes. If it worked before then it should have already been automated and so the engineer isn't going to write it.
Luckily the practical details will hit the idea on the head. You don't even know what country the guy who wrote your programs is in, let alone what qualifications he possesses. |
| Tue 22 Apr | Mark Hoffman | Stephen,
I agree that malpractice suits against engineers could degenerate into the same cash cow that lawyers view medical malpractice suits. However, the clientele of a PE is different than the clientele of your average physician. But you do bring up an interesting point: Are PE's required to carry malpractice insurance?
I would disagree with your characterization that other engineering professions don't experience change. I'm fairly familiar with the construction industry and I assure you, the state of engineering changes there too. New techniques, new technologies and even new regulations mean that the way a bridge was built 20 years ago is vastly different than the way it is built today.
Some people like to paint software development as this mystical, magical process that involves secret incantations, smoke and a little black magic that has nothing at all to do with standardized practices, let alone engineering.
Regardless of some of the artistic sides to programming, there are still standardized practices that can be applied to most projects. Items such as requirements gathering, architecture and design skills, knowing how to properly test software, the use of patterns, etc. are all items that a good software developer should be skilled in.
That doesn't mean that every aspect of software engineering will be applied to every project, not any more than the skills required to build a house are the same that are required to build a 120 story office building.
What it does mean is that there are essential skills that have been proven to help build solid software in a repeatable fashion and to become proficient in these skills takes more effort than just picking up a copy of 'Learn VB 6.0 in 21 Days' |
| Tue 22 Apr | trollbooth | Who are these people that pick up a book and become software engineers? I have yet to meet one but they are often cited as real people. I am interested in meeting one of these ne'r do wells and I will provide a large sum of chicken gravy and mash potatos to anyone who can arrange a meeting. |
| Tue 22 Apr | Go Linux Go! | Trollbooth,
Warm up that gravy!
I can introduce you to plenty of people whose sole software development education consist of a handful of '21 Days' books and warez copy of VB.
These people would be fine if left to build small applications for ma and pa shops, but the trouble is that many of them love to brag about their 'uber' programming skills because they can write a half-ass adventure game in VB.
During the boom, these cowboy coders manage to worm their way into many companies where some of them still cling to their jobs by a thread. They know nothing of design or testing. They just cobble together crap and then call themselves 'Software Engineers' because that's what their business card says. When someone suggest a better way of developing software, they turn up their nose and deride 'those college boys' as Ivory Tower Idiots. All the while, their miserable code fails.
Fortunately, the downturn is exposing these McProgrammers and forcing them to either truly learn what it takes to be a professional developer or find another industry in which to work. |
| Tue 22 Apr | Philo | Uh, *I* have no formal software education. Should I stop deploying successful enterprise-level applications?
Philo |
| Tue 22 Apr | Go Linux Go! | Philo,
No you shouldn't. I've read your blog and seen your post here. You are far from a cowboy coder. You clearly understand good engineering principles and it's also clear you strive to become a better developer.
The point that I was making in a previous post is that there are plenty of people who call themselves software engineers who have absolutely no engineering skills whatsoever, and have no desire to become better programmers. They've managed to earn a fat paycheck for doing very little and they will resist anyone who suggests anything that might change that. |
| Tue 22 Apr | Lauren B. | I think it's a good idea in principle. I don't know how on earth one certifies software engineers with some kind of standard test. Is there an agreed-upon and meaningful body of knowledge for software engineers?
One thing to mention is that most professions that require a license (or similar) do require ongoing committment to continuing education. You have to earn so many 'credits' a year to keep your license.
I have a good friend who is an architect. She had to intern for 10 years before she was *allowed to apply* to be a professional architect. And then she had to take 9 different tests (that lasted several hours each) and pass ALL of them to get her license. All of these tests were on different parts of architecture, some of it is material she doesn't use every day, either. She specializes in public buildings, mostly elementary and middle schools - different kinds of building than custom homes or performing arts centers, etc. She just had to earn that material to pass the test.
She does have to do follow up education to keep the license, as I stated above. On the good side, her firm has every interest in her keeping her license, so they support her continuing education by paying conference and course fees.
Her profession certainly makes me reflect on how there are no similar structures in software.
Sure, licensure doesn't separate all of the wheat from the chaff, but it gets a lot of it out. |
| Tue 22 Apr | Go Linux Go! |
..and just to be clear, I'm not advocating that someone is not a professional developer if they don't have an engineering degree or a degree at all. I'm taking aim at the dolts that I think most of us have had the displeasure of working with.
On the same hand...I cringe whenever I hear someone refer to a programmer as an engineer. I don't refer to myself as an engineer nor do I let my clients refer to me as such because I don't have an engineering degree. I have a lot of respect for folks that bust their butt to get an engineering degree and I think it waters down their accomplishments when everyone calls themselves an engineer just because they are a software developer. |
| Tue 22 Apr | Stephen Jones | Dear Go Linux Go,
Who writes adventure games (half-asssed or full-assed) in VB? Dark Basic, Power Basic and plenty of other flavors of Basic, but VB? |
| Tue 22 Apr | | A lot of people on this board sound like they have a job working for MS R&D. Now, I don't know whether a license would solve anything, or if there's even a problem, but come on people, you're not doing anything that special. Apologies if you are working for MS R&D.
To answer a question above, no, you aren't required to carry liability insurance if you're a PE. but most PEs work for a firm that carries the insurance, therefore they're covered. |
| Tue 22 Apr | Philo | Lauren-
You'd think that's true, but whenever I see real software professionals talking, the same things come up over and over again about process, requirements, bug tracking, testing, etc. So there are some very consistent things that define a professional, and the absence of those things seem to generally define failure.
Go Linux -
I was busting your chops to some degree, but it did seem like you were implying that formal education is necessary to be a professional. I'll grant that formal education helps a LOT, but as you amplified later, it's not indispensible. It is certainly a good indicator, just not a boolean flag. ;-)
As for 'engineer,' don't sell yourself short. As an engineer let me say that being a competent & successful senior software 'dude' is generally harder than engineering, simply because of the user management issues involved - you don't get to just sit behind a drafting board and work to a fixed spec. Ever. I wouldn't have any problems calling someone who's ridden a large software project through while being involved in both requirements and coding an 'engineer.'
Philo |
| Tue 22 Apr | amp | 'simply because of the user management issues involved - you don't get to just sit behind a drafting board and work to a fixed spec. Ever'
I'll grant that they work from better specs than we do, but there's a reason for that. And it has nothing to do with the nature of the work. Building an airport or a car or a gizmo is every bit as complicated as the most complicated software projects.
And if you think there isn't 'user management' issues in engineering, you've got another thing coming. |
| Tue 22 Apr | Philo | Heh. I guess it depends on
a) How you define 'user'
b) What kind of engineering
For some reason I was envisioning IC designers or hydroelectric dam engineers talking to the true end users (which is silly). However, in those cases I was thinking of the wrong 'user'
Sorry about that. :)
Philo |
| Tue 22 Apr | An Engineer | ' wouldn't have any problems calling someone who's ridden a large software project through while being involved in both requirements and coding an 'engineer.' '
I would and the reason is simple: They aren't an engineer.
Surviving a difficult situation doesn't grant someone the title of engineer anymore than surviving as a combat medic makes that person a doctor.
In today's society, everyone likes to have fancy and lofty titles and the word 'engineer' gets appended to titles all the time to make it sound more impressive and give people warm fuzzies. You aren't a mere garbage man, you are a 'Sanitation Engineer'. What a crock.
If I called myself a lawyer because I read a handful of lawbooks and watched Night Court, I'd get laughed at. (And probably arrested and fined.)
Likewise, if you want to call yourself an engineer then go to college and get a Bachelor of Science in some form of recognized school of engineering. Upon graduation, then you can call yourself an engineer.
Of course, if you want to hang out a shingle as an engineer, then you'll need to take a few exams that your State offers and get a license from the State.
There's a reason that the States regard engineers as people that have met very specific requirements..... |
| Tue 22 Apr | Philo | 'If I called myself a lawyer because I read a handful of lawbooks and watched Night Court, I'd get laughed at. (And probably arrested and fined.)'
Agreed. But if you were an integral part of a large class-action suit from filing through verdict and appeals, I'd be more willing to call you a lawyer than someone who just passed the bar exam. [setting state licensing issues aside]
I consider myself a software engineer, and it has nothing to do with my BSEE or the 97th %ile I scored on the EIT exam before leaving circuits behind forever. It has to do with the knowledge I've gained and the work I've done in the software field.
And I'll never call someone an engineer just because they have the piece of paper from some school. Just as I feel uncomfortable calling myself a lawyer just because I hold the license.
Philo |
| Tue 22 Apr | one programmer's opinion | What is a software engineer and how does this person's job duties and responsibilities differ from that of a specialist who mainly works for/at a large corporation (i.e. such as a programmer, tester, technical writer, architect/analyst, project manager, etc.) Is a software engineer simply a fancy name for someone who must wear many hats?
I am being serious here. I don't believe I have ever read a definition from Steve McConnell. Does he have one? Does any of his books talk about team building and how one should construct a project team given all the various project scenarios and resource limitations that exist in the real world?
In the software development arena there seems to be three dominant ways of staffing a new development project.
Code and fix - Gather together one or more software developers (heroic programming geniuses) and have them build an application or a software system (several applications that work together in some manner) and hope that somehow everything turns out okay.
Big upfront design - Occurs only within organizations that have lots of money to spend? Gather together a bunch of hardware and software specialists and have them build an application (i.e. something that cannot be done in a reasonable amount of time by one or two people) or a software system.
Agile development - Gather together one or more software engineers** and and at least one customer and have them build an application or a software system.
** I really don't consider people who follow an Agile methodology to be 'software engineers'. While it seems that all team members are expected to be familiar/experienced with every aspect of the software development lifecycle (wear many hats), most Agilers seem to have specialized around a specific development platform (i.e. Java and all the tools and technologies that are typically associated with this programming language). Also, all the agile methodologies seem to follow the release-early-and-often philosophy which in some ways conflicts with certain existing software engineering best practices.
Mark Hoffman wrote, 'Where do you think licensed software engineers will fit into a more mature industry, say 5-10 years down the road?'
IMO, before practitioners of our craft can even consider establishing any type of profession someone has to establish clearly defined roles and responsibilities for all to follow. Yes, you read the last sentence I wrote correctly, I am saying that bureaucracy is the answer! The fact is that companies often do things in haphazard, less-than-optimal ways and the only way that I know how to change this is to hold upper management accountable for their mistakes. Now having said this, I don't see how this is possible in circumstances that don't involve the safety or health of the general public. It seems to me that software development work will always be more of a craft than a true profession.
While law and medical students might be required to study the entire discipline of law or medicine -- once they graduate -- most are expected/required to choose a 'discipline of study' and specialize. Why? Because the fields of law and medicine are simply too huge and diverse. Can't the same thing be said about the IT industry?
To answer my own question -- Yes, the same thing can be said about the IT industry. However, most employers only pay lip service to this fact and most developers cope with the current situation (chaos) by living in denial and playing the 'as if game'. That is, they simply act as if their only work responsibilities are software design and coding and quit as soon as they are put into a work situation that doesn't match their view of reality. Unfortunately, many people (i.e. authors of technical books and published articles) help to prop up the myth that most people can have a profitable long-term career by simply knowing how to cut code better than the person working next to them. |
| Tue 22 Apr | | A few points:
1. Licensing would be good simply in ensuring that someone can invest several years refining their software engineering capabilities - whether at university or in experience - and not be undercut by cheap turkeys. It would not be perfect, but it would be useful.
2. On the other hand, licensing would be dangerous if it simply equated degrees ( in CS?) with competence, for that's not what software engineering is about. Software design has commonalities with other talent-oriented occupatons like writing. Assessing competence would need to be done fairly.
3. It would be very dangerous if licensing simply imposed responsibilities on practitioners without providinig authority. Licencing must be accompanied by penalties against companies that USE software, not those that make it. As with the law, if companies get penalised, they pay for expertise.
4. Re point(2), it's scary to see people claiming MSCE and Sun certification represent competence. |
| Wed 23 Apr | And the horse you rode in on | I find it funny you mention 'best practices'. To me that word simply means that someone is saying, 'The way I do it'.
And that's really the problem with selling software as being an engineering discipline. Everyone has their own ways of doing things, there's no widely accepted processes (or even a widely accepted way of coming up with processes).
Not that I consider that to always be a bad thing. But I do consider it a showstopper to calling software engineering engineering.
Licensing people would be useless in software. It's not like accounting or law where if you've worked in a job you have transferable skills, due to the fact that there are standard accounting practices and laws. In software, if you take a new job and end up using even 50% of what you did in your previous job (in terms of process, methadology, tools, etc) you're doing really well.
So how would licensing people work when there's so much variability? It simply can't, because in this industry, one man's meat truly is another man's poison. |
| Wed 23 Apr | Philo | I always thought that one of the reasons engineers were paid so well was that they were expected to *find* ways to solve problems, not that they could apply their boilerplate knowledge to a specific issue and everyone would come up with the same answer.
I'm pretty sure that in just about any engineering discipline if you show five engineers the same 'hard' problem, you'll get five different answers.
In addition, there is much of software development that should be repeatable but isn't, and that, I think, is what some of us are lamenting. Methodologies and processes that *should* be standard aren't.
Can you imagine a building architect being told 'oh we don't have time for that silly stress analysis stuff. Just start nailing together 2x4's'?
Philo |
| Wed 23 Apr | Lauren B. | Good discussion. I thought some more about this and how it would be difficult to build a practice of licensure in our field....
Back to my architecture analogy - my architect friend was kept at a very low salary before she became a prof. architect. Imagine. 10 years of experience (or more, if you
don't pass the tests right away) and you started at say $25K, and now you're up to $35K, only for cost of living increases over that time.
All this experience makes you almost as good as or just as good as a new professional architect, but you don't have the license. There is no way your salary can get get up to the next level.
Once you get the license, BAM! Salary leaps to $75K or more (I'm making these numbers up, but I'm in the right ballpark). Now you can start getting REAL merit increases, etc.
That's motivation to pass those tests.
In software, we already generally start high, and have no official, professional barrier to high salary, stature, or amount of responsibility. So, what benefit would a license get?
This problem is solvable, it's just going to take many years to work its way into the culture....and right now, the culture doesn't seem quite ready for it.
As someone pointed out in my earlier post there probably is a common body of software knowledge; but again, defining precisely what that is and then making sure every degree program includes those things will take time.
Thanks! |
| Wed 23 Apr | Philo | BTW, I don't really have any interest in software licensing to protect my job or justify my pay - all I want is for management to treat me like a professional and respect my opinion.
But I think the problem there is that the stakes aren't perceived as high enough. When a building architect says 'if you do that, the building will collapse and people will die' or the lawyer says 'if you do that you will go to jail' it generally gets people's attention (tho even then, not always). When I say 'you cannot build this project in six months' ... who cares? If they try and fail, nobody dies. Nobody goes to jail. I still get paid. And generally nobody gets fired.
[shrug]
Philo |
| Wed 23 Apr | amp | re: hydroelectric dam engineers, talking to end users is 'silly'
It depends on how you define 'end users'.
You wouldn't believe the amount of face time you have to do when installing a single traffic light.
Meeting with the city manager. Meeting with interest groups (some will object, some will demand). Town meetings (open to the public). Meetings with the contractors. God forbid if you throw local politicians in the mix.
I couldn't imagine the amount of effort involved in putting something as big as a dam in. |
| Wed 23 Apr | | >'master/apprentice' relationship paradigm
Philo, you've been in too many management meetings old son, you're starting to talk like them now :-)
>you don't get to just sit behind a drafting board and work to a fixed spec. Ever
Sorry, but I don't agree. I suspect that is because we disagree as to what the end result is. If, to you, the end result is code, then you're right. But if you are really just writing a specification when you write code, what then? Your assumption that you /should/ have a water tight spec would be incorrect, because you are the one who has to write it (albeit in C or whatever). I think we have seen this discussion here before, but correct me if I am wrong (something about software engineers not being bricklayers but architects, and the compiler being the brick layer). |
| Wed 23 Apr | Mark Hoffman | Philo perfectly summed up at least what I feel about the state of our industry:
'In addition, there is much of software development that should be repeatable but isn't, and that, I think, is what some of us are lamenting. Methodologies and processes that *should* be standard aren't.'
Many people have come up with tests to indicate the quality of a department or company developing software. We've all seen the Joel Test, McConnel has a number of them, McCarthy has written them, etc, etc. Most of them center around a number of proven techniques such as prototyping, source control and proper project management techniques. The obvious idea is that if you aren't doing a majority of what the items in the test, you are going to fail at delivering software. And most of the test are remarkably accurate.
Now, if we took a straw poll to determine how many companies received an 80% or higher on these test, I'd be willing to venture it's a very, very low number. To me, that is the problem. The techniques that are widely known to help deliver software aren't even being followed....with predictable results.
My opinion is that while there are a number of reasons that these very basic practices aren't followed, a large part of it is because many software developers *simply aren't skilled in them.* Period. They need education.
Another reason is that many in management don't fully understand the complexities of delivering software. By elevating software development from a craft to an engineering field that is recognized by the state as such, it has the possibility of slowly raising management's understanding that software development is complex and that it's standard practices are invoidable. (Philo's blog perfectly demonstrates this problem.)
Can you imagine a customer telling an architect that he doesn't want to invest the time in building a level foundation. 'It's too much time. Just start construction. I'm paying for this after all!!' The architect would simply tell him to go shove it. But yet, in our industry, we let that happen every day. |
| Wed 23 Apr | T. Norman | Very good point Mark. Software managers can push impossible deadlines, ship knowingly unfinished or improperly tested products, and skip over steps that promote quality, because if the software developers refuse they'll just find somebody else who will do it.
But management can't get an architect to agree to skip important steps to save cost, because the architect's license and reputation depends on the integrity of what is constructed, and the manager won't be able to get another architect to agree to skip the steps.
Until the software industry has something in place where managers' and/or developers' professional reputations are jeopardized whenever they cut corners improperly, poor quality will continue to be the rule. |
| Wed 23 Apr | one programmer's opinion | Mark Hoffman wrote, 'Now, if we took a straw poll to determine how many companies received an 80% or higher on these test, I'd be willing to venture it's a very, very low number. To me, that is the problem. The techniques that are widely known to help deliver software aren't even being followed....with predictable results.'
That is why software industry needs some bureaucracy. If the construction industry didn't have to conform to local building codes does anyone really believe that many construction businesses would care about following standards and using widely known techniques?
Have you ever worked at/for a large corporation? Did you ever wonder how some of these organizations can be making so much money when from your vantage point it appears that headquarters is infested with nothing but incompetent managers? Well, in many cases it is because the money generating part of the business is regulated in some manner.
Mark Hoffman wrote, 'My opinion is that while there are a number of reasons that these very basic practices aren't followed, a large part of it is because many software developers *simply aren't skilled in them.* Period. They need education.'
Well, that seems to be what Steve McConnell is arguing about in his Gold Rush book. I don't disagree with your assessment of the situation (the skill level of practitioners) just your conclusion (biggest reason why very basic practices aren't followed). Also, what do you mean by 'They need education'? Do most college engineering programs currently teach the techniques that are widely known to help deliver software?
Mark Hoffman wrote, 'Another reason is that many in management don't fully understand the complexities of delivering software.'
Bingo! IMO, this is the biggest reason why very basic practices aren't followed. Managerial misguidance is something all technologists rant about. Good management is more important than good technology.
Mark Hoffman wrote, 'Can you imagine a customer telling an architect that he doesn't want to invest the time in building a level foundation. 'It's too much time. Just start construction. I'm paying for this after all!!' The architect would simply tell him to go shove it. But yet, in our industry, we let that happen every day.'
Unlike a software architect a building architect is almost never an employee of the customer! Also, a building architect can always pull out a copy of the local building code manual and wave it in front of the customer's face and say, 'Sorry, but the government says you have no choice in this matter'. |
| Wed 23 Apr | Mark Hoffman | ' Do most college engineering programs currently teach the techniques that are widely known to help deliver software?'
Most universities that offer Software Engineering as a degree offer courses that teach requirements gathering, testing, design techniques as well as basic project management skills. Perhaps it isn't complete, but it's far cry better than what the average Computer Science major learns about software engineering.
And you had a good point about the fact that most architects aren't employed by the people paying for the project. That is a problem in software. However, I'm a consultant and even with that my clients tell will often say 'Well, we don't have time for a design. Get to work on the code.' |
| Wed 23 Apr | revenge of the anonymous | Certification is an information problem. Trust metrics. Advogato played with it (but they solved a problem NO ONE CARED ABOUT, because it doesn't matter if some opensource guy happened to be better than another).
I think we're a decade or two away from a useful certification method naturally popping up. |
| Wed 23 Apr | one programmer's opinion | Mark Hoffman wrote, 'And you had a good point about the fact that most architects aren't employed by the people paying for the project. That is a problem in software. However, I'm a consultant and even with that my clients tell will often say 'Well, we don't have time for a design. Get to work on the code.'
Well, if you are an independent consultant (someone who finds their own work) then you do have the option to say no. Of course, you have to weigh your decision do so against the possibility of losing the contract.
If you happen to work for a consulting or staffing firm then you can only say no if your employer agrees with your opinion and is willing to walk away from the client. I know, this scenario falls under the 'not likely' category. |
| Wed 23 Apr | T. Norman | It doesn't really matter if you're an employee of the entity for whom you building something. What matters is whether they can find somebody else who will do what they want if you refuse to take the shortcuts.
An accountant who is an employee of a software company won't cut out important steps just so the company can publish the quarterly profits sooner. And that accountant can refuse to cut corners with confidence, because they know that the professional and legal accounting standards ensure that there won't be another accountant who will come in and cut the corners (with the possible exception of those who worked for Enron!).
However, the programmer who consults for the accounting firm often just has to do whatever crap the firm says regardless of the quality impact, because if they don't do it, another programmer will. |
| Thu 24 Apr | . | So what we really need is for managers to be certified. |
| Thu 24 Apr | . | Someone mentioned earlier about medical specialisations and so on. What this always gets back to is: who makes the decisions.
If software was run like a hospital, with senior doctors making the decisions that affect surgery and patient care, then software development would be ten times as expensive.
Until we have laws that require the _use_ and _deployment_ of software solution meet certain standards, business will not pay that extra cost.
The horrible part of all this is that developers get blamed for the inevitable failures.
On the other hand, software in the marketing sense often needs to be finished quickly, so there's a conundrum there. |
| Thu 24 Apr | T. Norman | It is really strange that the accountants who work with figures that can have financial impact to the public have to be certified, but there is nothing for the people who make the software they use.
Software would not have to be ten times as expensive; it may be more expensive in the short run (just as it is less expensive if you shorten your testing cycle just to get it out the door quicker), but upgrading the quality of the people and processes involved saves money in the long run. Overall, it really isn't cheaper to hire lesser-paid code monkeys and forget about doing design and version control. |
| Thu 24 Apr | Stephen Jones | You don't have to be certified to produce an accountant's or lawyer's or engineer's or doctor's software, but you don't have to be certified to produce his breakfast, his toilet seat or his toliet paper either.
There is no advantage to the consumer whatsoever in having certified software engineers. The same people that would be certified or do the certifying are the same people that have been responsible for the biggest software disasters of all time.
You want respect buy yourself a pedestal, you want more money rob a bank. |
| Thu 24 Apr | . | Actually, I haven't seen any references in this discussion to wanting respect, thankfully. That sort of thing figures in engineers' discussions on this issues, but not here. It's not important.
I think what people are exploring are the structural issues that create issues in our professional lives. |
| Thu 24 Apr | Stephen Martin | >...upgrading the quality of the people and processes involved saves money in the long run. Overall, it really isn't cheaper to hire lesser-paid code monkeys ...
This is certainly true, but it doesn't have anything to do with accreditation or 'engineering'.
The reason most companies don't wish to hire quality people is because they cost more, sometimes substantially so, and they think they can get by without them. Or they don't fit in the stardard pay structure and HR isn't willing to change. Or...
Also, most, though thankfully not all, managers hate having employees that are paid more than they are paid. Which is often a consequence of hiring the best.
Several years ago I worked on a project that had 10 full time developers (most contractors) for one year. Three of us performed approximately 70% of the work and we were paid accordingly. We were all paid substantially more than the project manager but that didn't bother him in the least because we were producing. Shortly after the official launch, he left that department and was replaced with a more typical manager who absolutely hated the fact that we were paid more than she. We were all released as soon as possible even though there was still a few months worth of work left and the first service pack suffered as a result. Because the main project was complete this wasn't a huge loss to the company but if she had been the project manager on the original project it would have been toast.
This doesn't really have anything to do with accreditation or lisencing but rather more to do with knowledgeable, committed management that doesn't let ego get in the way of work. |
| Thu 24 Apr | Stephen Jones | ---'all I want is for management to treat me like a professional and respect my opinion. '----
From one of Philo's postings in the thread.
In general the thread has been missing it I agree, though it keeps on cropping up.
There are two themes that we keep seeing; the need to restrict entry to the profession and thus artificially inflate salaries, and renting software to ensure an income flow whilst sitting on one's 'arse.
Both great ideas, and only stopped from becoming reality by the customer's completely irrational aversion to being screwed. |
| Thu 24 Apr | Mark Hoffman | 'There is no advantage to the consumer whatsoever in having certified software engineers.'
Hmmm..Through all 50 replies on this thread, nobody once said anything about consumers or advantages to consumers. I suppose one could argue that since we're talking about the end result being better software, it's sort of implied, but I don't think you follow the context of this thread.
You make a fairly broad blanket statement by saying that the people that would be certified are the same ones responsible for the 'biggest software disasters of all time.' I'm guessing that that was just hyperbole on your part because it certainly isn't a factual statement.
Is your last comment suggesting that you feel that the only reason people want software to be elevated to engineering is because of respect and money? Do you really feel that everyone that is pushing for this is only doing it for their ego and a few extra bucks? That's their only motivation, huh? Couldn't be anything else, could it? |
| Thu 24 Apr | Mark Hoffman | 'There are two themes that we keep seeing; the need to restrict entry to the profession and thus artificially inflate salaries, and renting software to ensure an income flow whilst sitting on one's 'arse.'
Huh? Are you reading the same thread we are? Or are you just trolling?
Where did anyone suggest that licensing be used to restrict entry to the industry? The discussion has been around offering licensing as an added credential, not a requirement for entry to the industry.
And I have no idea what you are talking about with the renting software comment. |
| Thu 24 Apr | Ed the Millwright | One point overlooked on the licensing issue that should be considered is how the government currently uses professional licenses often has nothing whatsoever to do with professional competance. For example, let's say that you are a professional engineer and your spouse is a house-husband. You get laid off and the board gives themselves generous bonuses while declaring bankruptcy. In the stress of it all your husband divoces you and gets child-support since he was the primary caregiver for Jr. Now you are living on the street and can't find work. You send in money from panhandling but it's not enough - now you are labelled a dead-beat mom. Guess what happens next? Your drivers license and professional software engineer licence are REVOKED based on your 'non-payment' status. Yep, that's how it works now. Hey, good luck getting those payments in on time now that you don't have a car and can no longer work in the field you are trained in. |
| Thu 24 Apr | Stephen Jones | Dear Mark,
Maybe trolling a little, but look at what you've posted
---'Hmmm..Through all 50 replies on this thread, nobody once said anything about consumers or advantages to consumers. '---
The whole point of certification is to protect the user. Why else should the government intervene?
You look at the companies responsible for the really big software snafus and you will see the likes of Oracle, EDS and Siemens and the big consulting firms. Of all those guys working for them a fair number would gain certification on your scheme and a smaller number would probably be the guys giving out the certification. Nobody has made a remotely convincing case for the number of snafus being reduced once the same guys get their certification.
If you want a government registered scheme, and companies being obliged to hire a certain proportion of certified software engineers as they are obliged to hire a certain number of certified mechanical, or civil or chemical engineers, then you will have to make a case for somebody else but the individual certified to benefit. And also to prove that it is feasible which is another matter.
My comment in the last thread was more of a general one but time and time again on this forum we see ideas discussed (such as raising barriers to entry or adopting a leasing model for shrinkwrap) as if the interests of the user and that of the developer were indentical, when often they are diametrically opposed. |
| Thu 24 Apr | | I thought preventing big snafus was a benefit to the customer?
I thought we used those big snafus as case studies on process breakdown? |
| Thu 24 Apr | Stephen Jones | Dear blank,
The big snafus have been happening for over twenty years, and all the studying in the world hasn't stopped the same problems happening over and over again. |
| Thu 24 Apr | Blank | I would say that that's because not ALL of the people have been studying them.
You've got your cowboy coders that don't care.
You've got your good coders that don't have authority with management (the 'you start coding, I'll see what they want' syndrome).
Looks like licensing might take care of both of them?
Cowboy coders could lose their license, the good coders would say 'hold on, we can't do it like that, I'll lose my license'. |
| Thu 24 Apr | Stephen Jones | Sorry, but I just don't believe it will work. The good coders won't lose their license because they will have done everything according to best practises. The really big snafus happen because of design problems, not incompetent coding.
Look at the proportion of software projects that either fail totally, are handed in way after schedule or over budget, or are just plain defective, and then look at the percentage of professionals that are struck off in other fields and you'll realize why your schema won't happen. |
| Thu 24 Apr | Blank | I think it'd work.
A design problem is a symptom of process breakdown, not a seperate problem in itself. Inadequate requirements gathering usually.
If the good coders (from architect, project manager, software engineer, tester, on down...) followed best practices, there wouldn't be a snafu, so yes, they could keep their license.
I've never seen a project fail that followed commonly recognized best practices.
I don't understand your second paragraph. |
| Fri 25 Apr | Coder X | Don't mind Stephen.
He's one of those types that have no solutions themselves, but rather choose to just snipe at anyone who has an idea.
I'm not in favor of mandatory licensing, but this was an interesting thread to read. It's a shame that Stephen came in and started tossing around accusations that people only want this for pride and money. He then goes on to say why none of this will ever work. We're all doomed I guess.
I think that offering licensing is a great way for professionals to distinguish themselves above the riff-raff. I don't think making it mandatory helps anyone, but heck, if someone wants to get a license that shows they at least made more of an effort than the average Joe, then what the hell is the problem with that?
To me, for States to recognize software engineering is just a sign that the industry is slowly maturing. Hopefully, over time we will see things slowly change for the better. There will always be people like Stephen who will resist any changes. |
| Fri 25 Apr | Coder X |
..and one more thing..
Software development is about the only professional technical field where someone can literally walk into it without any formal education or certification and still make damn good money. Off the top of my head, I just can't think of any other career that offers so much for so little.
If I wanted to work as a chemical engineer or physicist, I'd have to have at least a BS degree. But with software, many people landed a good paying job with very little knowledge and virtually no experience.
For that reason, it's not surprising that many in the industry resist any attempt at changing it or raising the bar of what constitutes a professional programmer. Our industry is full of uneducated half wits who know enough VB to impress their boss and when they continually churn out crap code, they can always say 'Hey, that's the software business.' and their bosses just shrug and say 'Yeah. I guess. All those developers say that.'
Yeah, I probably pissed off half the board with that last comment, but I'm just sick and tired of running into these 'one trick ponies' who refuse to learn anything new, who refuse to accept the fact that the reason their code sucks is because they haven't a clue how to engineer it properly. It's much easier to blame management or the industry in general than it is to say 'Gee. I don't know what the hell I'm doing.' |
| Fri 25 Apr | choppy | >>It's a shame that Stephen came in and started tossing around accusations that people only want this for pride and money.
And why else would programmers (ahem, 'software engineers') care about licensing? The only arguments I've heard are 'to show that someone put in the extra mile' (pride) or for more employment stability (money). |
| Fri 25 Apr | Coder X | 'The only arguments I've heard are 'to show that someone put in the extra mile' (pride) or for more employment stability (money). '
Then you haven't been paying attention.
It's been said a number of times in this thread, but hell, here it goes again for the umpteenth time.
One advantage of having a State recognize it as engineering, is that it lends more credibility to software development as engineering, and not a craft that some anti-social geeks do between playing EQ and slugging Jolt Cola.
Will it happen? Who knows, but offering licensing is a step in the right direction.
Or, are you one of those uneducated half wits making 90K a year who are quite happy with the status quo? |
| Fri 25 Apr | choppy | lending credibility is 'pride.' yes, i'm one of those uneducated half wits making 90K a year, pretty much happy with the status quo. are you one of those engineering grads who can't find a 45K a year job? |
| Fri 25 Apr | Stephen Jones | Dear Coder X,
From generation X perhaps? Certainly showing most of the symptoms :)
I may have 'tossed in' the question of pride, but your certainly stirring it around and seasoning it well.
---' One advantage of having a State recognize it as engineering, is that it lends more credibility to software development as engineering, and not a craft that some anti-social geeks do between playing EQ and slugging Jolt Cola.'----
If you need the government's placet to give your work credibility you are indeed in a sad state.
---'He's one of those types that have no solutions themselves, but rather choose to just snipe at anyone who has an idea. '----
Before you talk about solutions how about setting out what the problem is? What is the problem?
a) People can get into 'software engineering' who haven't a clue about the theory of programming? ---- Not true any more except for a few who slide in because they have the domain knowledge and other talents, and you need those anyway.
b) There are plenty of people in 'software engineering' who are one trick ponies and their code sucks. --- Possibly true, but the proposed solution will do nothing since compulsory certification won't affect those already employed.
c) 90% Software normally ships buggy, late, way over cost, and often is quite unsuitable to what the end user wants. --- Yea, and if best practises in the industry produce that how is having them incorporated into law going to change things. Over a century ago doctors in Vienna found that more women who went to hospital to have babies died than those who couldn't afford hospitals and had the babies at home. Their solution was to find the cause and then disinfect the hospitals, kick-starting modern medicine. Your solution would have been to make it more difficult to become a doctor or a nurse.
d) 'Nobody appreciates me and my mummy wants me to have a proper job like my lawyer kid sister' ---- Hey man, what's wrong with a Teddy Bear?
The truth is that this thread shows one of the main problems with 'software engineering'. The tendency to jump in with an implemenation ('Hey, I've got this great idea!') and then look for things that it can solve a posteriori, instead of making a clear and effective analysis of the problem at hand and then seeing if there is an appropriate solution. |
|
| SMTP Replacement... | Tue 22 Apr | GiorgioG |
| Joel wrote Lets find a protocol with decent authentication and with micropayments to make spam uneconomical, and lets set a deadline, maybe two years in the future, when SMTP will simply be turned off.
Micropayments? Thats not going to fly with 90% of the population (myself included), Id rather deal with spam than pay to send email. This just comes back to the fact that once you are used to getting something for free, you will not ever (in most cases) be willing to pay for it. What if cities started charging pedestrians tolls for walking down the street? I think most people would be unwilling to do so. |
| Tue 22 Apr | mackinac | I can remember when TV was free. Now days people seem quite willing to pay tens of dollars a month for it. |
| Tue 22 Apr | R. C. | Grandma sending e-mail.
What are all those people going to do who can barely send e-mail?
All that 'Always Click Yes' mentality that has saved them so far is going to be pretty negative when their bank accounts are empty.
Pleeeeze don't let me connect my bank account to my e-mail!
I guess that's what Passport was for . . . |
| Tue 22 Apr | Lou | There are other reasons than SPAM for why SMTP is bad. CNN is reporting that some idiots sent email out as a real person and ruined their reputation
http://www.cnn.com/2003/TECH/internet/04/21/hate.email.ap/index.html
> By exploiting the simplicity and openness of the
> Internet's mail protocols, unidentified
> provocateurs have been sending incendiary
> messages posing as Shora and other Arab-
> Americans. |
| Tue 22 Apr | Mike Gamerland | I can remember when TV was free too. However, I would not pay for the same TV experience once it was free. Email is a commodity.
So what will I get for the extra $/email I must now pay? What additional value can be added to email to make it worth paying for? With cable, I get 200 channels, movies that are uncut and commercial free.
As someone pointed out, spam is not that big a problem for many of us. For others, the problem seems to be an almost unnatural willingness to put their full name in the public eye. If my email address was not hidden from bots, I would not use it here. The best would be a variation a person would know, but a bot would not. (janedoeATjohnsmith.com)
While a solution may become necessary, making the good Samaritans pay because we cannot punish the bad ones seems the wrong approach. |
| Tue 22 Apr | Joel Spolsky | Suppose there was a charge of 1 cent for sending mail, of which the recipient got 7/8ths of a cent and the payment processor got 1/8th of a cent.
A typical user sends, what, 100 emails a month? 200? That's one or two bucks. Barely noticible. But legit email users also receive email, about the same number. So they will actually be paying closer to 2 bucks a year. This is nothing compared to how much they pay for their ISP and their computer.
Currently, a spammer might send a message to a million people (at least) in hopes of getting a couple of dozen suckers to respond. Under the new system that would cost $10,000. This would not be worth it just for getting a couple of dozen suckers. Suddenly the scam spam mail goes away.
However 'legit' direct marketing businesses (not scams) would probably have a higher response rate so they might still spam you. In any case, they now have a financial incentive to reduce their lists to people who might actually respond instead of spamming the world. Arguably, I'd rather see legit businesses advertising via email rather than paper mail; less damage to the environment, and with this scheme, they would be paying you 7/8ths of a cent to receive their ads, which would subsidize your mail. |
| Tue 22 Apr | choppy | the bayesian filter i'm using (CRM114) lets through a maximum 2 spams per week. compared to the 20-40 spams per DAY I used to receive. thus, I don't believe one needs to posit an email surcharge to cure spam.
now, if you want to make email a legitimate means of advertisement, this might be a different story. however, I don't read junk physical mail, either, so i'm not sure why you think spam is an effective advertising tool. |
| Tue 22 Apr | Better than being unemployed... | Well, most people (in the UK at least, don't know about the US) have to pay a small amount of money every time they send a text message to a mobile phone. I still get junk messages from time to time, but nowhere near as bad as the amount of spam / real email I'm getting. (Then again, I use email more than text messaging.) |
| Tue 22 Apr | Ian Stallings | Having developed SMTP software for the last few years I have a few exception with the article:
The US postal service charges money for delivery but I still get junkmail so how would charging micropayments be any different? We would still get spam just on a smaller level and it would be considered legit commercial advertisement that we could do nothing about.
I'd like to see one try to implement a micropayment system worldwide and tell _everyone_ on the Internet that what they used to get for free now costs money. I have doubts about that. How would one implement a worlwide payment system? How does one account for all of the transactions? This is a tremendous hurdle that should not be scoffed at.
From the article:
[Speaking of not caring, I don't care about the anonymity problem. It's not the only problem out there and it doesn't completely trump others, like anonymous pornographers e-mailing our kids.]
This is a freedom that I think many will not give up, including myself. So instead of being anonymous in this proposed system we will now be known by our certificates. So now these legit bulkmailers (legit because the pay to send mail) can identify me absolutely and target directly. As could oppresive governments identify dissedents. Or maybe you just want to post politically incorrect thoughts. Sometimes it is better to remain anonymous. Not necessarily to shield you from accountability, but to instead shield you from being tracked by endless institutions that will data mine and categorize your life until your right to privacy is a dream that got thrown out in the name of fighting junkmail.
Why on earth would you be willing to give this up? Does email really scare you that much? I have a kid also and it certainly doesn't scare me so much that I would be willing to give up my anonymity.
The point I am trying to make is he really doesn't iron out any of the details of his proposed solution beyond just complaining like everyone else. If you can think of a solution that will solve this _and_ keep everyone happy then you have your work cut out for you. Draft an RFC and go to town.
A system that implements some of the proposed authentication and filtering is Vipul's Razor (SpamNet): http://razor.sourceforge.net/. It's got some very interesting methods for not only filtering spam but also authentication of senders. |
| Tue 22 Apr | flamebait sr. | I figure that we could get a lot of mileage out of assuring the identity of each server along the path.
Which can be done in a web-of-trust sort of system, instead of a Verisign sort of system where each server needs to pay $$$ for a certificate. You would also most likely institute the protocol requirement that if you don't have your own mail server certificate, you would only be able to send mail from whoever hosts your mail.
The server 'vouches' for the user, allowing perhaps better digitial identity while also preventing the need for Verisign-like large scale key servers.
Once you can unambiguously identify which server spam came from, you can blackhole individual servers with much greater ease.
I can picture all kinds of abuse if you paid 1 cent per message sent and received 7/8 of a cent per message received.
Of course, we could fix all of this by preventing ISPs from signing pink contracts with spammers or charging negligent ISPs per spam message sent. But that's harder when the ISP is in China or one of the Koreas or places like that. |
| Tue 22 Apr | Joel Spolsky | Yes, you receive postal junkmail, probably about 2-3 pieces a day. Most direct mailers assume that sending one of these things out costs $1. So unless spam email cost more than $1, you couldn't eliminate that particular type of mail.
But I don't think legit marketing is what bothers people about most spam. What bothers people is scams, penis enlargement, viagra, pornography in your inbox, nigerian frauds, fake credit scrubbers, and all kinds of other scams and frauds that are just offensive to look at.
If you are going to try to eliminate all commercial messages, you have a much higher bar, one that is likely to be unachievable. Can we settle for eliminating the worst stuff? |
| Tue 22 Apr | choppy | 'Can we settle for eliminating the worst stuff?'
solved problem, bayesian filtering works. |
| Tue 22 Apr | pb | 'A typical user sends, what, 100 emails a month? 200?'
I send at least 50 emails per day with an average of at least 3 recipients per. Times 30, that's 4,500.
Much of it is work email which presumably could be cut out. And replies could possibly be exempted. But 100-200 per month seems extremely low. |
| Tue 22 Apr | Ian Stallings | [If you are going to try to eliminate all commercial messages, you have a much higher bar, one that is likely to be unachievable. Can we settle for eliminating the worst stuff? ]
I agree that setting the bar at 'no commercial messages period' is unrealistic and we do need a way to reduce the amount of spam and the ease in which a spammer can operate. I would rather have ads for Amazon.com than cheap viagra pills and penis enlargement but nevertheless the hurdles we must overcome to implement a micropayment system world wide would be tremendous.
Also, certificates are now in use, just not widespread. If everyone had a pgp sig (or something equal) we could verify and whitelist legit senders and scrutinize all others. But that system has yet to be used widespread, especially by the common man.
More likely, if Internet history tells us anything, there will be many disparate systems used for defeating spam and widespread use of one or another by the average user will move forward to become standard.
Also, spam is not just a problem for email, Instant Messaging is now a hot target and the same measures must be taken to reduce the amount of junkmail one receives. According to Gartner, Instant Messaging use is expected to surpass SMTP by 2005. |
| Tue 22 Apr | Philo | What I *really* don't understand are the efforts to circumvent spam filtering. One recent tactic I've seen is using the spelling 'seks', presumably to get around filters that look for 'sex'
Uh, if I have indicated that I don't want to see emails with the word 'sex' in the title, what makes you think I'll be receptive to 'seks'? Ditto on the 'click here to unsubscribe' links that seem to only verify that you're a legit email address...
It seems the real failure is that spammongers seem to be concentrating on maximizing their audience instead of maximizing a *receptive* audience.
In a related note, everyone ready for the upsurge in unemployment when the US 'do not call' registry goes into effect?
Philo |
| Tue 22 Apr | Stephen Jones | The problem with a micropayment system is setting it up.
Vast numbers of email users do not even have a credit card, and most of those that do are not going to give it out on the web.
There would have to be one system for the whole world, there would have to be prepaid cards available everywhere, and every computer in the world that might connect to the Internet would have to be reconfigured for the new system.
Frankly it would be a lot easier to buy a few dozen unused missiles from the local neighbourhood arms dealer and take out the twenty or so outfits responsible for 90% of the Internet's Spam. We could even bid for the contract to rebuild the guys' houses afterwards :) |
| Tue 22 Apr | Nat Ersoz | Ian is right:
The simplest strategery is to whielist PGP certs. |
| Tue 22 Apr | flamebait sr. | The problem with PGP and the like is that you need either a web of trust or a certificate signing service.
Each one is very hard to maintain for the set of every user on the 'net without charging for the effort of maintenence (and, of course, the inevitable key cancelation requests and tech support)
I'd suggest a PGP-like web of trust for each mail server and then each mail server managing authentication with it's own signing or web of trust system. The second one is pretty much the usual notion of user accounts that any ISP already uses. Adding a web of trust between mail servers would be the main effort, which I believe can be done without necessitating exchange of money. Plus, all hosting customers in good standing with their ISP who don't spam would get their keys marked as trusted by the ISP as a matter of process. |
| Tue 22 Apr | small troll | What RIGHT does any of you have to stifle a mass-mailer's business? You're just a bunch of limp-minded liberal techies who begrudge someone making a few bucks, aren't you? Let the market sort out mass mailing, the last thing the internet needs is more rules and regulations from some self-appointed guardians. |
| Tue 22 Apr | Stephen Jones | Small troll,
We don't want to stifle mass mailers business - we want to nuke them. If you promise to standi outside their servers as a human shield then we'll hold on until you're in place |
| Tue 22 Apr | Bored Bystander | Stephen, LOL! Let's do it! |
| Tue 22 Apr | Chris Tavares | What right does a mass mailer have to make money off the internet backbone he didn't pay for, and cost the receipients of his junk money? |
| Tue 22 Apr | Norrick | I am of two minds on this issue:
1) Normal market forces will eventually work this out.
2) If there must be a payment plan, it should work like this: you receive an eMail. If you didn't want the eMail, the sender pays. If you did, nobody pays. |
| Tue 22 Apr | T. Norman | Micropayments are not the answer, verification of origin is the issue.
With SMTP it is trivial to fake anybody else's address. If the servers would communicate so that we could actually know that a mail really came from somebody@somewhere.com, it would become very easy for ISPs and users to reliably block particular addresses or domains.
With a verifiable origin, spammers would have to change domains very very often which would become very costly for them. Their identities would also be more easily exposed so they could be targeted for prosecution. |
| Tue 22 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Actually, Joel did a better job of explaining this the first time he made the suggestion.
His suggestion is that you could pay, or not pay. Anybody who sent you 'free' e-mail that wasn't on your whitelist would be immediately suspect in your e-mail program. Anybody who paid would be considered whitelisted by mere fact that they paid (and you'd get your cut of the payment for receiving it).
I'm still not sure that that's better than Bayesian filtering, but it is an interesting idea.
~~~
Verifiable identity has a lot of problems on its own, too, mostly in terms of having a reliable web of trust that isn't ungodly costly to run.
I don't think web of trust on the servers is enough, because nobody at my ISP knows whether I'm going to be a spammer. The end result of me spamming is that they get penalized for me doing it (not trusted any more). If you say that can't reasonably get penalized, then there's not much point in using the system.
Plus, I believe there are a lot more SMTP servers than most people even suspect. For example, web sites that use a local SMTP server to send out notification e-mail messages. I use the local IIS SMTP server on my laptop for performance and ISP annoyance reasons (like many, they won't let me connect from anywhere except home, and supporting SMTP authentication is apparently just too much trouble for them to worry about).
All these would need to participate in the web of trust. Just because it's not end users doesn't mean it's going to be easy or cheap. |
| Wed 23 Apr | Eric Johnson | Wow, Joel advocating a rewrite from scratch! Has the world gone mad? Why not just make small piecemeal fixes to SMTP. Its been out there for *YEARS*.
I haven't heard any good reasons why SMTP itself couldn't just be fixed. Is everyone just afraid of it cause its all messy, ugly, grody and old? |
| Wed 23 Apr | | There is absoltely no need to throw away smtp. All that is required is that people secure their servers from being open relays (well... duh!) since this is how most UxE is injected. Of the two suggestions that Mailshell put forward, the first is trivial (smtp-auth, RFC 2554) and already implemented in (at least) some of the most common MTAs, and Hotmail, for one, have already implemented the second I believe.
There is even a defined method for adding functionality to smtp (esmtp - rfc 1869) if, for example, more 'security' is desired. It seems the author of that piece wasn't wearing his clue hat when he sat down to write. |
| Wed 23 Apr | Simon Lucy | In physical mail, the deliverer pays, the receiver chooses whether to throw it away or read it.
In email, they both pay and the receiver pays whether they want it or not. Micro payments are already happening they just aren't discrete enough to know how much an individual email costs. Some of those costs are buried in bandwidth, some in disk space and some in attention span.
With adaptions such as Bayesian filtering, the cost that spam generates is now just bandwidth, if the filtering is pushed back up the stream to the server (given there is a generality of spam identity), then the bandwidth cost becomes even smaller.
SMTP doesn't need replacing at all. |
| Wed 23 Apr | Ian Stallings | [What RIGHT does any of you have to stifle a mass-mailer's business? ]
There is a difference between being on a mailing list I approved of and getting penis enlargement shoved in my face. I have no problem with Bass Pro Shops sending me an email because I signed up for their mailing list and they want to send me an offer for their latest gear. I actually like targeted ads when I subscribe to a list and I will tolerate an ad from a place I bought something from. But unsolicited ads are a nuisance and should be treated as such. Because it's my money being spent, not just the senders, when I download the message. |
| Wed 23 Apr | Michael Kale | What if you have a (rather large) whitelist, and people on that list do not have to pay. People not on that list have to pay via the 7/8ths scheme. That way, if you and some buddies send 30 emails a second to each other, you pay nothing for the privilege.
This could potentially be combined with the 'sender didn't want to pay so the filter is more skeptical about this email' scheme. |
| Thu 24 Apr | | 'getting penis enlargement shoved in my face'
Just what my Missus says ;-) |
| Thu 24 Apr | Adam in Poland | Thought: if people are not willing (like me) to connect their email account to their credit card, how about another form of optional outbound authentication?
Let's imagine a system whereby some sort of one-way mathematical hash based on the sender and recipients of message is added to the headers. It takes time to compute, but can be trivially checked. It adds a few seconds background processing time to your PC per email and thus makes mass-mailing, in the way that Joel suggested, uneconomical.
Not everyone would have to use it, but it would act as a guarantor of the email and thus help it to get past Bayesian filters. |
| Thu 24 Apr | Stephen Jones | Do remember that there are legitimate mass mailings. |
| Thu 24 Apr | Chee Sung Chou | Saw this response on a blog. To be frank it does not take issue with replacing SMTP, rather with Joel's comparison of the process involved to that of introducing Euro.
http://www.srijith.net/cgi-bin/trinetre/mt-comments.cgi?entry_id=204 |
| Thu 24 Apr | Chee Sung Chou | Opps the URL should be:
http://www.srijith.net/trinetre/archives/2003/04/24/index.shtml#000204
Sorry about that! |
| Fri 25 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Bear in mind that it can be a gradual shift-over, and that client software (e-mail programs) need never be changed at all. Authentication-based SMTP is perfectly acceptable from client to server, wherein an entirely different protocol could be used for server-to-server communication. |
|
| Look out Outlook . . . here comes Chandler! | Tue 22 Apr | R. C. |
| I can already see MS quaking in their million-dollar boots! |
| Tue 22 Apr | Prakash S | I can’t,
And I remember Mitch Kapor saying something to the effect that Chandler is not *the* Outlook Killer - but just the opposite was quoted in a lot of different places. |
| Tue 22 Apr | Ged Byrne | This is the first I've heard of Chandler. It certainly promises a lot.
My big problem is, how on earth is all this choice goingt to be presented to the user?
Outlook is already baffling enough for the average user. |
| Tue 22 Apr | Joe Paradise | Silly question here... where are the screenshots? I can download the thing for three different OSes but I can't see it beforehand? |
| Tue 22 Apr | easily scared person witholding his name | Very, very bad advertisment for Python... this ...thing... makes Java applications look nimble and responsive. |
| Tue 22 Apr | Chris Nahr | If you saw a screenshot you might require hospitalisation due to acute geek shock. The persona |