last updated:16 Aug 2004 18:45 UK time
Joel On Software Discussion Forum
JOS Statistics - Recent Comments
(Comments added for week ending Sun 15 Aug 2004) | View Other Weeks
Java deployment => pain in the rear | Sun 15 Aug | newToOSS
I posted a thread entitled which language a few days back and got some great feedback. I listened and pontificated, then I decided to go with Java. So I have spent my weekend setting up Red Hat with Postgresql, Tomcat, Eclipse, Java, and what-not. So far so good. I even got the Postgres/JDBC connection to work with Java. Now I just want to run a test servlet through Tomcat and Im completely baffled. I got this link on WAR files, but it is anything but clear. DAMMIT! http://jakarta.apache.org/tomcat/tomcat-3.2-doc/appdev/index.html So if anyone has a CLEAR link with very specific, step by step instructions, please post it. Thank you!!
Sun 15 Aug | newToOSS | By the way, I've done Java linux before, but I had a sysadmin to pawn off this crap to.  Now that I have to do it, I have even more respect.
Sun 15 Aug | Berlin Brown | First off, why are looking at tomcat docs from 2001 v3.2 when Tomcat is on version 5.0 or 4.30.  Secondly, deploying a tomcat war file is pretty easy, just copy the war file to the webapps directory and the thing is deployed.  You may need to delete the directory that tomcat unzips  after deployment and start-stop the server.  That is all.
Sun 15 Aug | michael (michaelsica.com) | Dude, you need some books. There are a bunch out there but I've read and recommend the following (Yes, if you use those links and buy the books i'll get a couple of dollars in commission.): JavaServer Pages Developer's Handbook http://www.amazon.com/exec/obidos/ASIN/0672324385/michaelsica-20 Learning Java, Second Edition http://www.amazon.com/exec/obidos/ASIN/0596002858/michaelsica-20 It's difficult to write a Java app without knowing Java. The tutorials on the web will not give you enough information to write anything of significant size. (I should know, I'm attempting to do the same thing now.) Good luck with your Java learning!
Sun 15 Aug | PopCulture | http://www.google.com/search?hl=en&ie=UTF-8&q=deploy+war+file+java+tomcat&btnG=Google+Search the first one up from onjava will probably be a good bet.
Sun 15 Aug | newToOSS | My code is in the structure testServlet.myServlet.hello I make the war file and drop it into webapps, restart tomcat. What might the url be?
Sun 15 Aug | Tayssir John Gabbour | Tomcat has been known to make peoples' eyes bleed, due to some combination of bad doc and voodoo behavior. I personally wrote a detailed guide for a company on setting it up; I used quite a lot of BOLD for warnings. Unfortunately I don't have it, just letting you know you're not dumb or anything. I remember using 127.0.0.1 instead of localhost was important. ;) I'd personally consider using something like Resin, but I don't really know what's available now.
Sun 15 Aug | newToOSS | Thanks, Tayssir. I was wondering if it was me. I recall feeling this pain back in 2000 when I last did Java so I never went back to Java ever since. I was convinced to come back to it. Now I wonder if this was a good idea. I have a lot of patience, by the way. :)
Sun 15 Aug | newToOSS | Thanks for the link, PopCulture.
Sun 15 Aug | kinda confused by Tomcat too | If all else fails -- copy the class files as a tree under WEB-INF/classes and skip the WAR file for the time being. That is if getting your stuff running is more important just now compared to understanding WAR files (which I don't by the way).
Sun 15 Aug | Slough Bloke | I'd agree with kinda_confused_by_tomcat_too; get the plain jsps and classes working first and sort the deployment of choice (WAR, WAR+ant, whatever) afterwards. Under webapps, make your directory, say 'pain' and add further directories so that it looks like: /pain (JSPs) /pain/WEB-INF (configuration stuff, classes, libs) /pain/WEB-INF/classes (with further subdirectories to match your package naming e.g. com/blah/blah) /pain/WEB-INF/lib If you need other files (e.g. images) available to the outside world, put them in directories under /pain and not WEB-INF. Depending on what you are doing, you may need some configuration in the web.xml file that sits directly under WEB-INF. Next, you must configure server.xml (in /tomcat/conf). You will need to make reference to the /pain application and within that have an entry that describes how you will access postgres including path, userid, password and driver. (as a previous poster mentioned, used 127.0.0.1 not localhost if on the same machine). Make you sure you stick your jdbc driver in /tomcat/common/lib (it doesn't seem to pick it up if you have it in /tomcat/webapps/pain/WEB-INF/lib). Start up tomcat. And go to http://localhost:8080/pain/nameofjsp.jsp and voila. Pain in the rear? Maybe but once you have the configuration sorted Tomcat is absolutely rock solid. An excellent choice. It's well worth having the Tomcat manager running. You will need to add a manager user in /tomcat/conf/tomcat-users.xml (something like ). From http://localhost:8080/ you will see the Tomcat welcome screen which has a link to the manager app. You can use this to find out whether or not your app is deployed. You can also restart and load single apps without restarting the server. (You can also see how much memory Tomcat is using).
Sun 15 Aug | Li-fan Chen | > Why in fuck do I need a book to run a fucking servlet!? Servlets are easy, but then if you go to the bookstore you'll be surprised at how many books are written to prevent you from shooting yourself in the foot with even simple technologies. If you are using Microsoft stuff for a while, you'll notice just about every problem you might have is covered in 5 trillion online forums which you can google out. I think you are just spoiled. You are a DIYer, and duh ServletsAreEasy! You have been able to do whatever you need, and google will back you up (or JOS, in this case). However online docs are always spotty, regardless of domain or Microsoft/Linux, and you'll have to learn to justify to yourself and your clients that proper documentation is required. I was wondering why companies are spending USD$4000+ for huge series for Microsoft documentation on dotnet framework and MSDN, but at least now I wonder no more. It really depends on the depth of the question/problem.
Sun 15 Aug | Beth | newToOSS: the URL has nothing to do with the class structure of your servlet. Your WAR file needs to contain an XML file called web.xml in its root directory. Within the web.xml, you define the servlet and map it to a URL. The Servlet spec includes the DTD for the web.xml file and the Tomcat installation probably includes an example or two.
Sun 15 Aug | Protocol adventurer | I'm not proud to say it, but I spent almost a whole weekend night wrestling with an early version of Tomcat several years ago on the deployment thing. It's quite simple and devastatingly reliable once you get the concepts down. Tomcat is good. The documentation is (now at last) fair. You would be throwing in the towel very, very early and without strong actual justification if webapp deployment brings you down.
Sun 15 Aug | newToOSS | Slough Bloke.... Thank you! Your instruction was exactly what I needed. You knew exactly what I was screaming about, I see. Cheers!
Best natural kyboard? | Sun 15 Aug | yet another anon
The title is self-explanatory.  What are the pros/cons of the different brands?  Any carpal tunnel (or general wrist-ache) reduction success stories?
Sun 15 Aug | Reply to "Best natural kyboard?" | My warning is that Microsoft Natural Keyboards, and I assume natural keyboards in general, are addictive.  They feel great on fingers and you get cranky with anything else... the problem is that you'll find you need to type on other normal keyboards an awful lot.
Sun 15 Aug | Humpty Dumpty | I'm trying to go back to a normal keyboard. With a natural keyboard, you can do REALLY well. But not everwhere you will find a natural keyboard. And when you won't, your life would be terrible. So during this transition phase, I'm using a keyboard which is similar to a normal keyboard with a bit slanted keys :-)
Sun 15 Aug | yet another anon | Obviously 'kyboard' should be 'keyboard'. So the only bad thing about natural keyboards is that they're so good you never want to use anything else?
Sun 15 Aug | John Rusk | http://c2.com/cgi/wiki?KinesisKeyboard
Sun 15 Aug | xil | I doubt you'll get a definitive answer here -- few people have tried all the ergo keyboards (and other input devices) out there, or even a fraction of them. Especially because they tend to be low-volume, high-cost devices. Also, everyone's physiology and work patterns are different. That said -- I love my Kinesis contoured keyboard, and wouldn't work without it. http://www.kinesis-ergo.com/contoured.htm In my early twenties I started getting twinges in my wrists at the end of the day; after switching to the Kinesis, I can type all day and not notice a thing. It does take a couple of weeks to adjust to it, but after that it feels remarkably natural to use. The design largely forces you to use a 'correct' touch-typing technique, which was a good thing for a self-taught typist like me. Also, it's not a problem switching back to normal keyboards when I need to. The other great thing is that all the keys are remappable, in the keyboard itself, so you can easily rearrange things to suit your preferences, add macros, etc. They are somewhat expensive, but they're built great -- I've got 6+ years on mine and it's still good as new. Plus I figure that just one visit to a wrist specialist would cost me more.
Sun 15 Aug | Chris Winters | Here's another huge endorsement for the Kinesis Ergo. I couldn't do my job without it. More: http://cwinters.com/search/?keywords=kinesis
Preferred ways of backing up your OS/hard-drive? | Sun 15 Aug | Bella
For 5 years now, I have used DriveCopy to simply mirror my stable OS build (and all requisite apps/docs/settings to boot) onto another physical drive. That way, whenever I got a HD failure, or an uncurable virus (not recently), I just reverted to my latest backup.. Is this method outdated? How does Ghost work? I will say I do NOT want my archive on the SAME physical drive, and the main reason for this is to circumvent drive failures.... Wondering what methods are in use today.. Ideally, I would like something seamless, like a scheduled archive that runs overnight once a week Thanks
Sun 15 Aug | flamebait sr. | I just backup my important documents and view crashes and such as Father Computer's reminder to rebuild my system.
Sun 15 Aug | Karl | Your method is fast and easy to restore, but you also need to make copies in the event the machine is stolen and they get both drives.
Sun 15 Aug | Tom H | DVDs are pretty reasonable, less than $1 each and give you about 4.6 Gig. If that's enough space you might want to consider a weekly backup to DVD in addition to the hard drive.
Sun 15 Aug | www.marktaw.com | I agree with Flamebait Sr. I have 2 backup processes. One takes lots of semi important documents and copies them to a 2nd drive with a running archive. This gets backed up to CD about every 6 months when I remember to do it. This way I can restore a previous version of any file, or if one drive crashes entirely, the important documents are stored on the second drive. The other backup process takes my most important documents, and FTP's them up to my server in 6 hour intervals. While there's always the possibility of a corrupted version being FTP'd, the first backup process should allow me to retrieve an earlier copy. Everything else... Well, I just keep my install files on hand. Either on a shelf, or as links in my personal Wiki (also on my server).
Sun 15 Aug | no name | Bella, just hire one of those $25 per hour kids to back up your system for you. They won't make mistakes and they're very reliable. After all, that's a wonderful rate for tech support.
Sun 15 Aug | Aussie Chick | >I just backup my important documents and view crashes and such as Father Computer's reminder to rebuild my system. ditto
Sun 15 Aug | Bella | Uh, 'just reinstall the OS' was not the 'advice' I was seeking. TO reiterate, I mirror my drives, and if someone has another way, I'd like to hear. I am more interested in a comprehensive OS/Docs/Apps backup, not just a 'my docs' backup. Anyways, DVD backup is no good. am using about 20GB currently. Any comments on Ghost? What is the process of restoring your build? Is there some DOS version that extracts your image onto the HD ?
How to get focused and start working.. | Sun 15 Aug | JD
Hi All, For last couple of days, I have been in terrible state. Here is my daily schedule. 8 am -> Get up. 9 am ->Go to office. 9 am - 6 pm -> Office work. Out of those 9 hours, I spend 1 hour on lunch. At least 2 hours, on browsing. 7 to 8:30 pm -> Gym 9 pm -> Come home. Have light dinner. 9:30 to 1 pm -> Browsing again. [Browsing involves visiting Bloglines.com to check my 105 feeds. Visiting JoS forums. And ofcourse porn sites! ;)] My problem is that I keep thinking too much. I think that I will learn Photography and get better at it. I think about how things can be improved at office. I think about how I will be starting my own business in future. Basically, I keep thinking instead of *actually working*. I have tons of ideas but for last couple of months I have not been able to execute them! I am wondering whether it has happened to other folks here and if it has happened how did you get out of this mood?? Is there something I can do to get myself in to Getting Things Done mode? Is there something I can read, listen to which will help me get out of this phase? Please help! Regards, JD http://jdk.phpkid.org
Sun 15 Aug | Neo | I think its just a phase man. Been there done that. We all go thru it then come out the other side. Try to set small tasks you can accomplish quick. That will get you focused.
Sun 15 Aug | JD | I know it's a phase which 'should' eventaully go through... but I am sick of it! I have tons of things to complete and this mind of state is not helping me! :(
Sun 15 Aug | kc | Yep, I've been there. I started doing simple things like not turning on the TV a few nights a week. Then, when I want to be really productive, I disconnect my home network from the Internet. It lets me have all of my resources, but prevents me from browsing outside. That was a bit much at times, so I started setting a timer for 60 minutes. During that 60 minutes I *HAD* to work and wasn't allowed to go to those sites. After the 60 minutes, I'd jack around for 5-15 minutes. Hope this is helpful.
Sun 15 Aug | Christopher Wells | Think about writing a to-do list and then executing it.
Sun 15 Aug | JD | Actually one good thing is that I don't watch TV! I left that habit couple of years ago! [These days I don't even have TV at my home.] Btw, idea of disconnecting Home network is good. But it's a problem when you need to find some information from Internet to complete your work. And Christopher, I write TODO list daily! [From Getting Things Done book, I at least learned that noting everything down helps you tremendously!] But somehow I am not able to convince myself to start working on it! :( Somehow some stupid part of my brain has taken the control over and it doesn't let me work! :( I tried another book named 'The Now Habit' where the author talks about 'Guilt Free Play'. So I started doing things which I enjoy, in the hope that once I have enjoyed it I will be able to concentrate on my work... but those 'play' things never seem to end! :( I was wondering if people here have any other ideas. JD
Sun 15 Aug | muppet | Your ideas are likely to be, at best, mediocre. If you never implement them, you will never know how bad they really are and your weak spirit will not get crushed. Keep up the daydreaming.
Sun 15 Aug | JD | Yes, I know I need to implement them. But my problem is not 'quality' of my ideas, but how do I generate motivation to start working on them. JD
Sun 15 Aug | muppet | 'I am productive at work 6 hours out of each day with an hour for lunch and two hours for browsing, but my trouble is that no matter how hard I try to stop, I have this pesky problem by which I keep 'thinking' with my 'brain'' Sounds terrible. Order up some Soma, and you should be fine. I think they sell it at Proles R Us.
Sun 15 Aug | Tom H | Set some short term milestones, something you can get done in a week or two. Finish that, then move on to the next. Trying to get started on a task that will take two years to complete is  too daunting.
Sun 15 Aug | Philo | If there are certain places that you waste a lot of time (like JoS...), try blocking them at your firewall or proxy server - I've done that with varying degrees of success in the past. Philo
Sun 15 Aug | no name | Philo, make sure BillG does not read your posts.
Sun 15 Aug | billg | Too late.
Sun 15 Aug | Justin Johnson | Decompose larger tasks into smaller ones until you have a few you can do in ten minutes or so.  Once you've knocked off a few of those, and made some visible progress, it'll be easier to move on to some larger tasks.
Sun 15 Aug | www.marktaw.com | The standard answer: Getting Things Done by David Allen [1] (This book has been discussed here dozens of times, and seems to have been promoted to God status) Write everything you have to do down and work off the list. Get organized. Google for this book on this forum and you'll find lots of discussion on it. I'm always going to agree with the 'Don't watch TV / Don't surf the web at home' crowd. I'd even go 1 step further and dare you not to use any electronic devices after 8pm or on the weekends. Well, except The Apprentice, so you can discuss it here the next day from work. Of course, I'm posting this at 5:00 on a Sunday, so I obviously don't follow my own advice. Another intresting book on this subject is: How to Work the Competition Into the Ground & Have Fun Doing It by John T. Molloy [2] I read this one about a year ago. The main idea behind this book is that you should keep a work log where you measure how much you work, what interrupts you, how long it takes you to get back to work, and so forth. Do this for a week, and then analyze the data so you can find the patterns of disruption. The author found he was staring out the window a lot, so he moved his desk. He learned that despite what he thought, he was better at one kind of work in the morning, and another kind in the evening, so he moved his schedules so that he always worked on the proper kind of work when he was naturally inclined to do it. etc. He also advocates putting a 'Get Back To Work' sign wherever necessary... [1] http://www.amazon.com/exec/obidos/tg/detail/-/0142000280/ref=ase_r5un7ejl-20/102-3203137-4063326?v=glance&s=books [2] http://www.amazon.com/exec/obidos/tg/detail/-/0446384992/ref=ase_r5un7ejl-20/102-3203137-4063326?v=glance&s=books
Sun 15 Aug | Aussie Chick | Oh man I hear you. I am one of those people who gets easily distracted too. I have 1000 books in my library. This week I am learning about British history, next week about South East Asia, then I am studying Physics, then Chemistry, then I am learning Morse Code, then I am reading lots of UI articles then.... None of these things I actually finish. I just throw myself way to far into everything I do. Lets face it, it is way more fun reading and learning all this stuff then trying to sit down and do any real work. The colored bar graph of my time is working well for me at the moment. I am remarkable focused on the thingst hat I should be doing. Even managing to resist borrowing my usual twenty books from the uni library, all of which I know I will not have time to read!
Sun 15 Aug | TomA | You say you have many different ideas. Everyone's got ideas about all kinds of stuff. What counts is what you do and get done. So pick ONE idea you think is the best/most important for you and do that. Also: do the simplest thing that could possibly work. Break it up into smaller tasks, do one at a time. Listen to your favorite music (I prefer listening to something I already know so it doesn't distract me). Think about the result and how it will be great to have it done.
Sun 15 Aug | www.marktaw.com | LOL Aussie Chick, You really ought to read the Molloy book, because he's basically advocating your method of charting your time. That's why I brought it up in the first place (in that other thread). Too bad it's out of print. I have a lot of books too... a quick estimate would put me at... 500 on the shelves, plus who knows how many more in boxes. I read most of them while commuting to/from school/work. I've learned not to buy more than 1 book at a time because I'll buy two books on the same topic, but become interested in something else by the time I finish the first, so I never read the second. Oh, and here's the obilgatory Joel Link http://www.joelonsoftware.com/articles/fog0000000339.html
Sun 15 Aug | Mongo | One slightly different technique I use is what I call creative procrastination. If I find I can't get started, fow whatever reason, I deflect my procrastination by working on other unrelated tasks that have to get done. For me, this seems to get me into 'production mode', once I'm working on something, it's easier to shift back to the other intended task(s). A side benefit is that if this still fails, as it occasionally does, I've at least got other things done so that when I am in the proper frame of mind I don't have other stuff hanging around waiting to ambush me.
Sun 15 Aug | Mongo | 'fow whatever reason' Sigh. Damn that wascally wabbit!
Sun 15 Aug | JD | Aussie Chick got it right. I find it reading and thinking about various Ideas much more fun than actually working! Even when I read 100 times that ideas doesn't matter, it's the implementation which counts. As I have already mentioned, I have tried techniques listed in Getting Things Done and it worked for me when I started. But for some reason, these days I am not able to really make that technique work for me. Today, I have taken one step in right direction. I have modified 'hosts' file to block sites which I waste too much time upon. Btw, I like the idea, of measuring time and finding pattern where I am wasting my time, interesting. I will definitely try it out. Also, 'creative procrastination' is nice idea which I will try to use. Thanks guys for all the inputs. I knew that this is the best place to seek advice! :) Thanks again! JD
Sun 15 Aug | the artist formerly known as prince | To me this is a sure sign you need a vacation
Sun 15 Aug | www.marktaw.com | I know I'm most productive late at night, after the world has gone to sleep. That's when almost all my work gets done, though I may do bits and pieces during the day as I think of them, the vast majority of my work (and I can work hours at a time this way) is done after midnight. But this schedule won't work for everyone. ;-) My point is, you have to learn your own personal work characteristics and try to exploit them. I don't even try to work earlier in the day (on my own stuff, that is, there's other stuff I have to do. For how I get that done, you need to reference my article on the subject: http://www.marktaw.com/blog/GettingThingsDone.html It won't work with all employers, but if you can manage it, it's truly a beautiful thing.
Sun 15 Aug | flamebait sr. | Give up something. Like, don't surf for a month. Force yourself to do something else. Works quite well.
Sun 15 Aug | Egor | For me to-do lists work best. Blocking sites at the firewall never helped me much because there're always more to waste time one.
Sun 15 Aug | Aussie Chick | >One slightly different technique I use is what I call creative procrastination. > >If I find I can't get started, fow whatever reason, I deflect my procrastination by working on other unrelated tasks that have to get done. That is basically why charting is working for me. I figure I have 5 hours today and I need to get stuff done. If I find myself struggling to say 'work on my project', then I switch to another one of my chartable tasks, one that I do feel like doing ie 'Asian Culture Uni Subject'. I find that at the end of the day I look back and see that regardless of my proscrastination I have still done 5 hours of chartable work. This sense of 'did good' motivates me the next day, ie rather then falling into the slump of 'got nothing done, wasted a day, now I am so far behind....think I will go wathc the Olympic coverage....'
Sun 15 Aug | Aussie Chick | NB Mark I am keeping an eye out for the Molloy book. But then lets be real, it will be added to the pile of all the other books that I 'desperately want to read as soon as I get a chance' I still want it though!!!
Sun 15 Aug | Philo | Jesus, muppet!  Grow up or go to another forum.  We don't  tolerate that crap here.
Sun 15 Aug | Li-fan Chen | muppet, you better start looking for some zombie servers to submit your posts from, because if you keep up your b.s. eventually you'll be banned.
Sun 15 Aug | muppet | no doubt that's what the guy (guys?) wasting his (their?) time impersonating me is (are?) going for.
Sun 15 Aug | muppet | I haven't posted here in at least three weeks. Why are people using my name?!
Sun 15 Aug | Nix | I'm like Aussie. The thing I more like to do is to learn. My solution was to fix the number of hours to do 'productive work'. In my case is 4 hours/day (6 days/week). The rest of the day I'm learning. This is working for the last 5 years. I learned electronic engineering, physics and computer science (and a lot of different stuff). Everything self taughted. Now my company does 'magic' products for industrial applications. Of course, alone this is impossible. My partner (50-50) runs the company things.
wrapping an app as an activeX control | Sun 15 Aug | Martin Beckett
We would like to offer our windows application as an ActiveX control - unfortunately we dont have any ActiveX expertise.* Is there a product out there which would take an existing windows application and convert it into a simple activex control with just a start method which runs the full app in a window. * and to make it even more interesting, its a wxWindows app not MFC/.Net.
Sun 15 Aug | Fred | I don't know of a tool that converts the source code of a standard EXE project into an ActiveX control project, but the two are pretty similar, with just a few caveats when writing an ActiveX control: - The chain of events is Initialize, followed by InitProperties, possibly ReadProperty or WriteProperty, and Terminate - If the control shows forms, they can only be shown as modal - if a form has a menu, it'll be mixed with IE's - XPSP2 seems to make it compulsory to sign all ActiveX controls with Authenticode when shown in a web browser - Make sure all errors are trapped with an error handler, as errors in an ActiveX controls in a web page may end with just a grey square with no indication about what went wrong (missing dependency, etc) - Use the Ambient object (the container of the ActiveX) to get its properties such as background color - Enable binary compatibility to avoid changing the control's CLSID in the web page after every compiling...
Sun 15 Aug | Martin Beckett | Thanks - I was hoping there was a way of patching the .exe repalcing the startup routines with an activeX startup. I hadn't considered how to handle dialog boxes and errors.
Sun 15 Aug | Fred | ... and I mistakenly thought the original EXE was in VB, while obviously, it's in C++ (MFC, wxWidgets.) Considering the complexity, I doubt anyone came up with a tool to turn this kind of project into an ActiveX control automagically. Maybe it's easier to turn it into an ActiveX EXE ('out of process' control), and just write a tiny standard EXE whose sole role would be to drive the new EXE?
Sun 15 Aug | Larry | If you're using VC++ (6.0), use the wizards to quickly create the "hello world" ActiveX. Then add your other files into the project, and tap into the various On... methods and WM_PAINT, etc, to call your appropriate code.
Sun 15 Aug | Chris Tavares | Hoo boy, you're in for a world of hurt. First, a bit of terminology. 'ActiveX control' refers to a COM object that has a user interface that's displayed as a child window (or windowless, but lets not get into that wrinkle right now). So, technically, what you're describing (call the object and get a top level window) is not an ActiveX control. If you want to do what you described, then you CAN build an exe COM server. Then you can have a single COM object which, when created, throws up your UI and runs your application. In general, this type of COM object fundamentally sucks. The programatic interface usually revolves around manipulating the UI, and it's impossible to use without display the user interface, which makes it very hard to use the COM object as a server. Ideally, what you should do is make sure that you've separated your logic and your UI into separate layers. Implement the logic as a COM server (exe or dll, your choice). Then write your UI so that it calls the logic layer via COM. That way you can do your functions either via the existing application, or call into your logic via COM from VB or whatever. If you need special displays, implement those as ActiveX controls.
Working as a SW Developer in Japan? | Sun 15 Aug | George Dawes
Just wondering if there are any readers in Japan who could give me an idea of what its like to work there as a Software Engineer. How easy would it be to get a job, given that I dont speak any Japanese? (Apart from good morning and a few other phrases that are not entirely appropriate to a business environment). Whats the attitude in general towards foreigners? What are the salaries like? Quality of Life? Cost of living? Thanks in advance for any tips.
Sun 15 Aug | no name | I don't know but prepare to wear a tie all day long.
Sun 15 Aug | <sigh/> | Gaijin are not particularly welcome and lack of language will almost certainly be a problem, perhaps not from business perspective, but from social one.  Cost of living in urban areas is outrageous.  That being said, probably a fabulous experience for a couple of years.
Sun 15 Aug | muppet | If you can't get a job in your native country, what makes you think Japan will want you? 
Sun 15 Aug | Bob | Stop projecting your life onto others, muppet.
Sun 15 Aug | Fred | If you don't speak the language and don't have exceptional development skills, I wouldn't recommend you go there. You won't be paid enough to compensate for the low quality of life there (google a bit to get an idea of what your appartment costs in Tokyo; Don't bother with other cities, as any worthy software company would be located in that city anyway), and your being a gaijin and who doesn't speak fluent Japanese (reading doesn't hurt either :-)) will make you feel quite isolated. For an Occidental, about the only positive thing in living in Japan is that you can walk to the ATM while leaving your car with the engine running, the camera you forgot on the train will most likely be waiting for you at the Lost and found, and you can take a walk in Tokyo in the middle of the night with no risk of being mugged (harassment by drunken salarymen is a sure possibily, however). Apart from that...
Sun 15 Aug | Alex | This forum is apparently for expats living in Japan: http://forum.japantoday.com/ I particularly liked this one: http://forum.japantoday.com/You_know_you'_ve_been_in_Japan_too_long_when%25%25%25/m_1051/tm.htm
Sun 15 Aug | muppet | Haven't quite learned how to create a link on a message board yet, have we?
Sun 15 Aug | Alex | haha, it's the apostrophe in the URL that confuses it :)
Sun 15 Aug | Synder | If you are willing to work in a bank or consulting company there are thousands of english only development positions in Japan. Depending on experience, you make 7 - 15 million yen a year. This is plenty to rent a modest 1 bedroom apartment in Tokyo. Rent in Japan is not as bad as this thread is making in out to be. Things are expensive, but not so worse than New York or London. http://www.daijob.com/dj/en/index.html
Sun 15 Aug | muppet | If you guys can't figure out when someone's impersonating me, then I give up.  Everybody's muppet.  How fun.
Sun 15 Aug | redguardtoo | a beautiful and clean country. good for working, traveling but not living (small and expensive house, foods are very expensive).
Anyone familiar with WorldPay? | Sun 15 Aug | JWA
Hi All, Im begining to set up a store section on our website. Thus, Im going through the amazingly convoluted process of setting up a way to accept credit card payments. Ive read all of the previous posts about this here and Im looking through my options. Based on a few hours of googling, WorldPay appears to be one of the better options for an all-in-one merchant account/gateway/fraud protection service. Does/has anyone here used them or know anything about them? Any other tips on this would be appreciated too. Thanks, --Josh
Sun 15 Aug | trollop | Josh, worldpay is Bank of Scotland. On my side of the planet (Oz) they want $A570 setup fee upfront, it may well differ where you are. Have a look at this site providing a comparison chart for a number of payment services you may wish to consider: http://www.regshare.com/ One of my own concerns in selling online worldwide was nett cash in hand here in Aussie dollars - again that may not be important to you. Banks become interesting when you want to offer credit online through your OWN merchant facility. Whether your transaction level will support this initial outlay in money and effort is something for you to decide. We prefer to be told by email about each sale, and receive monthly nett payments without further admin. Conversely everybody, is it worth us considering offering our clients the option to pay by Paypal? We've heard some stories ---
Sun 15 Aug | Mark Hoffman | I remember that the now defunct Wrox Press used them for their subscription fees to ASPToday.com.
Sun 15 Aug | Shareware Lou | Paypal is awkward because it requires manual processing for each sale. I've used Digibuy for a few years, and have had no problems. You can either direct buyers to an order page of your design hosted on their site, and upload a batch of registration codes, then it sends you an email for each sale and gives out the next code in the list. Or, you can collect everything yourself and call their script, then it'll call back to your site when the sale goes through (usually within seconds).
Sun 15 Aug | Philo | 'Conversely everybody, is it worth us considering offering our clients the option to pay by Paypal? We've heard some stories ---' A friend of mine ran an online store using PayPal. He watched traffic analysis, and noticed that a *lot* of people were putting shopping carts together, going to checkout, and then leaving when they hit the PayPal page. When he switched to credit card ordering, his sales tripled. Philo
Sun 15 Aug | www.marktaw.com | 'Paypal is awkward because it requires manual processing for each sale. ' Not true, Paypal can send some information to your server for each transaction, even handle subscriptions, usernames and ID's for you.
Sun 15 Aug | muppet | Paypal, deservedly or no, has a horrible reputation online.  Personally, I've never had any problems using them, but my volume has been low.
Sun 15 Aug | www.marktaw.com | I think paypal is great for lending credibility and safety to what otherwise might be a shady transaction - sending money to someone you don't know (like eBay purchases). You don't hand your credit card over to some creep, nor do you have to get off your butt and get a postal money order. Transactions where you want to build yourself up as a reputable company, well, paypal detracts from that for precisely the same reasons... It's the medium of sending money when you don't trust the other person.
Guide to being an independent Consultant | Sun 15 Aug | Mr.Analogy (ISV owner)
Ive never been an *independent* consultant, though I worked for an engineering coultancy as telecom engineer. This looked pretty useful. Lots of folks ask about this here, so I thought this might be of interest. http://it-proletariat.com/HowToBeAnIC.html
Sun 15 Aug | mackinac | OK. Thanks for posting. It looks interesting. It is a small set of slides, so he doesn't go in to much detail, but at least the author has been doing consulting himself for several years. There are a lot of books on being a consultant, but most of a general nature, not focused on SWE. Right now I am working towards being an independent consultant. I have gotten to the point of being a 1099 contractor. That is not really so independent. The biggest problem I have is that I still think of it as a second choice. I'd rather get a job at a great to work for small software development company where I could do the technical work and let someone else worry about sales. The 'great to work for' part of the description eliminates any company I know about. On the BC radio this morning there was a short piece about more people starting up consultancies due to the tight labor market. Maybe this is a good time to do it.
Sun 15 Aug | Bored Bystander | I'll answer that last response: >> On the BC radio this morning there was a short piece about more people starting up consultancies due to the tight labor market. Maybe this is a good time to do it. This is a terrible time to start a consultancy just for that reason. EVERYONE, including those who are unqualified and are marking time until their next full time job, are trying to 'be consultants'. It's the final option for anyone who can't find work. One data point is that every store or public place I go into (here in Ohio) with a bulletin board for public postings has at least one or two tear off sheets from some guy offering to fix viruses and other PC problems. Rates are dog crap too, $25/hr being asked. I think everyone in the world has seen the 'Technical Self-Employment Is A Fat Paycheck Waiting to Be Pocketed' article (http://homepage.mac.com/monickels/techjob.html). With people around with no business skills living in their parent's basements charging 1/4 commercial rates like idiots, what is the upside, exactly? The first thing a consultant has to do now is to distinguish himself from the 'ground clutter'.
Sun 15 Aug | mackinac | That it-proletariat site also had this encouraging article: http://www.it-proletariat.com/HowImSucceeding-Anonymous.html
Sun 15 Aug | www.ChristopherHawkins.com | 'With people around with no business skills living in their parent's basements charging 1/4 commercial rates like idiots, what is the upside, exactly? The first thing a consultant has to do now is to distinguish himself from the 'ground clutter'. That IS troubling. And I hear a lot of guys bemoaning that fact. But I've decided to try to educate my clients (and potential clients) rather than watch a glut of substandard work flood the market (apologies to Joel for the spammyness): http://www.christopherhawkins.com/08-14-2004.htm True, the competent developers will eventually get called in to clean up the mess that the incompetents made, but the net effect is bad for everyone, clients and providers alike. The initial burn that results from using an incompetent developer will leave clients disinclined to engage in future contract programming projects, even if the rescuer does a marvelous job. Budgets will be broken. And frankly, most competent developers don't find the tak of repairing a severely borked project very appealing. Nobody likes to have to make a silk purse from a sow's ear. I think there is plenty of opportunity out there, even now. But the avenues by which a competent developer can capture and monetize those opportunities have changed radically and almost silently.
Sun 15 Aug | Bored Bystander | Christopher, you are right. Your blog article is great. And that's exactly my thinking too. Here is my observation of most prospects' take of your five excellent bullet points. '1) Demand Experience.' - My experience with this point is mixed. Clients almost never comprehend directly related experience. Many seem to believe that I am making up company names, projects and products. (sigh) The more technical clients will disparage past experience as not being THEIR anointed special cases. The less tech clients will not really understand the relevancy of what I am showing them. '2) Demand References.' - That 'web queen bee' company owner stated an often heard objection to this - she maintains that the candidate will pull the cream of the crop. '3) Demand Value.' - unfortunately I have used your excellent argument, and it gets turned around as: 'you, BB have a vested interest in describing your offering as high value, so we will continue to shop only on price since our needs are small and we need to save money' IE: often you can't convince the decision maker that value is more than just price. '4) Demand Communication Skills.' - I've had the best luck with this aspect, but again, it's not something that many end users are willing to pay for because they may not even know when it is missing. '5) Demand Availability.' - with many clients - simple, it's a full time thing or nothing. I think success in signing new business as a freelancer is mainly the meshing of personalities. Just like full time hiring. If someone is cool to your personality, then they will use any ambiguity in their take of your objective merits to justify not using you and using the weaker candidate. OVERALL though - in a more functional world - clients would do well to observe your points.
Sun 15 Aug | muppet | I win a lot of clients on presentation alone. My skillz are mad, but most potential clients don't even know what they are looking for. I bring a strong personality, a strong presence, and a straight-shooting attitude to client meetings and it works very well. The consultant game is about 35% what you know and 65% how you make the client feel about you.
Sun 15 Aug | Bored Bystander | Finally, you posted something I can agree completely with. :-)
Sun 15 Aug | muppet | Except it wasn't me.  Welcome to Crazy Land.  Apparently I'm such a powerful, envy-producing man, that I've inspired an entire franchise of people who wish they were me.
Sun 15 Aug | Bella | > from some guy offering to fix viruses and other PC problems. Rates are dog crap too, $25/hr being asked. I think $25/hr to install and run a virus checker is a FABULOUS rate. (Esp for a service that requires NO formal education or lisencing) $25/hr for a service with Zero barrier to entry ...An amazing job for a high school kid. Beats working at the car wash for $6/hr
Sun 15 Aug | Romanian developer | Bored, you are not the first person to get burned by doing free work for the client. I did a lot of consulting, and got burned several times. I call such situations 'bad projects' or 'bad clients'. Having experience and knowing how to handle situations and clients will decrease the rate of bad projects, but the rate will never be 0%, unfortunately. Some signs that a project will be a 'bad project': - the project does not have enough specifications, or the requirements are not clear - the client does not have IT knowledge, doesn't trust you, and insists on getting his way in many technical matters where you should decide - the client requests lots of unpaid work - the client doesn't appear to be willing to pay, negotiates your rate a lot, etc. Taking a bad project is damaging for both you and the client. The client will not be pleased, and you will gain a bad reputation. In the past, I have learned to handle some 'bad project' and 'bad client' cases. However nowadays I use a simple algorithm: 1. If my intuition and experience even remotely tells me that a project or a client may be a bad one, I figure out what's bothering me about the project. I write a list of non-technical and technical issues. Then, I talk to the client and ask questions about the items on my list. 2. If the client can't remove my feeling that the the project may be a bad one, I simply refuse the project. When in doubt, I refuse the project. You will tell me that in this economy, you can't refuse a project. Well, in my opinion, in this economy, you can't afford to take a 'bad project' and have a significant risk of not getting paid, of damaging your reputation, of wasting your time and of working a lot for very little money. When I started to apply this algorithm, my profitability as a consultant increased significantly.
Sun 15 Aug | trollop | I found this book in the municipal library: From Serf to Surfer: Becoming a Network Consultant ISBN:0782126618 Author: Matt Strebe Publisher: SYBEX, INC It's pretty good at describing the network support business, less applicable to ISVs, - but I think there are more similarities than differences between the two. Strebe qualifies potential customers as Good, Bad and Ugly: Good: straightshooters, pay regularly, follow procedures Bad: ripoff merchants, nonpayers, pirates, rate shoppers Ugly: Need miracles now and will pay upfront... There's LOTS more.
Anthropomorphizing computers | Sat 14 Aug | muppet
do any of the programmers here do it? Do you curse at your rigs, do they have names, are they male or female? My fileserver/webserver/ftp server/game server is named Princess BananaHammock, may she reign forever in her benevolence and mercy.
Sat 14 Aug | Neo | I called my old Mac "Maggie".
Sat 14 Aug | . | Warrior Princess.
Sat 14 Aug | J. D. Trollinger | I hate this stupid machine I really wish that they'd sell it. It never does what I want Just what I tell it.
Sun 15 Aug | Li-fan Chen | Gee, I don't. I just name them after locations or rooms or departments. I remember back in college when my buddies would name them after solar systems and movie characters though--those were the good days (hard drive the size of a bicycle wheels--yay!).
Sun 15 Aug | . | I used to know one girl who gave pet names to everything. Including her computer. Which kept making endless problems, unexpected crashes, odd behaviors, you name it... She got a second one; named it too; same story. The third one I told her to refer to as "the box" - what would you know, it's been working ever since without trouble. ;)
Sun 15 Aug | Stalin | Anyone remember the computer named 'Chip' from Whiz Kids, circa 1983? Ritchie Adler I believe was the kids name... I used to religiously watch that show while reading the latest copy of 'K' magazine while dreaming of replacing my TRS-80 with one of them fancy Apple IIe's. Ahhh...the days.
Sun 15 Aug | no name | it depends, here are some I use: 'you son of a b..tch' 'idiot' 'muppet'
Sun 15 Aug | Matthew Lock | > Anyone remember the computer named 'Chip' from Whiz > Kids, circa 1983? Ritchie Adler I believe was the kids name... Hey I remember that show! Back when owning a micro-computer was ultra cool.
Sun 15 Aug | AllanL5 | I never 'name' them, but each one has its personality. I often curse the code, though. Especially when I'm trying to burn a CD, and Outlook or IE raise the load of the PC so much the CD 'runs-dry'. (When this happens you must start again, and toss the previous CD -- it's useless). And yes, that old 'Don't Do What I Told You, Do What I MEANT to Tell You' syndrome gets me from time to time.
Sun 15 Aug | Ron | My almighty furious screaming Powermac G5 is called... ... TROGDOR THE BURNiNATOR!
Recruiting requires effort | Sat 14 Aug | Bored Bystander
This just popped into my head: any bona fide business should expect to spend a fair amount of effort to locate and recruit suitable employees or contractors. This process is a built in cost of doing business. And there are no shortcuts. Sic: placing an ad and expecting to find the right candidate is an erroneous shortcut. So is farming out a programming test at only which the most elect/wisest/most perfect candidate should succeed. Just as customers dont immediately form a mind-meld with an ISV and buy your product; just as clients dont line up at 9AM in front of a consultants office door; just as any business owner may find it expeditious to not do business with certain individuals or companies and to do w/o business in order to deal with more compatible customers; so too, finding employees or contractors who mesh with your expectations requires a distinct effort. The ultimate fallacy of the bloated web shop recruitment ad that was dissected to death today is that a correctly worded employment ad can be a locator beacon for just the right candidate who is absolutely perfect. The owner maintained this fictitious justification all the way through. Ive known business owners who thought like this over the years. Even in a weak employment market when they were slobbering like pigs over picking up the perfect person cheaply, they were quite surprised and disappointed that the whole process was much more involved and subject to variability than they wished. Just having money to pay doesnt guarantee anything in particular. This fallacy transcends any correctness of individual points in the ad. It also says, quite blatantly, that whomever placed the ad has no wisdom about human relationships nor business relationships. Its a newbies ad. There, that should keep the sh*t flying. :-)
Sat 14 Aug | muppet | Hardly.  You're wrong.  Wrong wrong wrong.  Sit there in your wrongness and be wrong.  While a properly worded job posting is not a locator beacon for Mr. Ideal Candidate, it IS your first line of contact for candidates, and can be your first line of defense for undesirables.
Sat 14 Aug | Bored Bystander | I'm basking in my wrongness. Getting a nice tan, too.
Sat 14 Aug | Neo | Bored just don't give up on that ad. Were you one of the people they had a bad experience with then? Is that why you feel so compelled to trash them? Very transparent!
Sat 14 Aug | Bored Bystander | Good gosh, Neo. This guy never even revealed the name of his company to me. And he went completely silent after one phone call. Does 'jerked around' mean a thing to you?
Sat 14 Aug | muppet | Neo is an idiot who didn't RTFP and thinks you're talking about the Siobhan want ad. I think he's the Maxx Headroom guy from Siobhan's site, here to defend her honor in a very thin disguise.
Sat 14 Aug | Bored Bystander | Oh, wait, Neo, you mean the ColdFusion ad. Never mind. Answer: hardly. I'm an embedded and Windows developer. As far removed from web stuff as you could imagine. I've been in the computer industry longer than the web princess has probably been alive. I see a certain pattern of thinking and I call it.
Sat 14 Aug | Neo | Bored yah I meant the cf ad. You have raised it over and over and over and over and over and over. Its old. 3 new threads on it? Let it go man. Muppet no I am not Maxx Headroom. Much better looking thant that.
Sat 14 Aug | no name | You're Queen Bee?
Sat 14 Aug | Neo | Oh yah. Get real.
Sat 14 Aug | muppet | Actually, I have found recruiting to be quite easy.  I parcel out my projects into small bits and then post them on the web as "tests" to see if the wannabe programmer is qualified to work for me.  It's worked quite well.
Sat 14 Aug | muppet | aren't you tired of impersonating me already?  I mean, it's flattering and all, but good grief.
Sat 14 Aug | Anon-y-mous Cow-ard | Check the fine print muppet. This other one capitalizes his name, so no Trademark Infringement. Although, all of the things this guys says he does, you probably do too.
Sat 14 Aug | muppet | see, but neither of them are me, so you lose.
Sat 14 Aug | muppet | Now I'm really confused.
Sat 14 Aug | muppet | How many different muppets are there?
Sun 15 Aug | muppet | If one muppet is annoying, imagine how annoying like 5 different muppets would be.  I'm not sure I can fathom it.
Sun 15 Aug | Not a Muppet | I'm not
Sun 15 Aug | Bored Bystander | You dumbasses trashed this thread. Thanks a hell of a lot, idiots.
Sun 15 Aug | muppet | Morons.  STOP IMPERSONATING ME!
Sun 15 Aug | muppet | YES.  PLEASE. 
Sun 15 Aug | Clay Dowling | I do think that it's high time that the impersonator found someplace else to go. While muppet is frequently an opinionated ass, I have to say that I know this because we can smell our own. To the impersonator: You're living up to the name 'muppet' much better than the originator of the name here ever did. Those of you from the British Isles will know which usage of the word I'm referring to.
Sun 15 Aug | Clay Dowling | As to the original issue, I have to say that getting in real talent is a major pain. I've spent plenty of time on both sides of the table, and both are a nuisance. The shop where I just started working seems to have the best solution, although it's slow going. I don't know everything that went into their recruiting process, but I know that they didn't hire me based on a keyword match. The reason is pretty simple: I haven't programmed enough in either their language or their industry long enough to list that on my resume. They also made a point of calling on all of my references, and my offer was actually held up by a day because of a phone receptionists strong salesman filter (it's impossible to get a call through her if she doesn't know you for a legitimate, non-soliciting caller). It took a lot of work on their part, but I've made the mistake before of not doing that, and I know the ugly costs that it brings.
Sun 15 Aug | muppet | What a winner you are, guy.  I know you wish you were me, but you really ought to become known on your own merits.  We can't all be awesome.
Sun 15 Aug | muppet | I'm having a nervous breakdown here.
Sun 15 Aug | muppet | Split personality disorder.
Sun 15 Aug | muppet | Help me, someone, help me.
Sun 15 Aug | muppet | Why are you all impersonating me?!?!
Sun 15 Aug | muppet | Why are YOU impersonating me?  And who the hell are you?  Don't you have anything better to do?
Doing free work - a pitfall of freelancing | Sat 14 Aug | Bored Bystander
The lengthy thread about working for assholes inspires me to finally post this account here. This is the flip side/evil mirror universe version of Siobhans rant about wanting the perfect candidate. A couple of months ago I ran across a request for a freelancer that fit my skills perfectly. The reality was bitter gall and a complete waste of time. Have a look... http://it-proletariat.com/RemoteWorkWithTest.html
Sat 14 Aug | GeekforHire | Wow. What a rotten experience. I don't know that I would have gone as far as you did. The hard part is when someone comes along who has been burned before. They paid someone else upfront, but the work didn't get done. They want to hire me but want to see some work before they pay. Here's my solution. I won't put in a lot of hours without money upfront. But I am willing to work >5 hrs upfront. I pick a part of the job I can do in that time, develop it on my server and show them. If they approve, they pay 75% of that part and then I move it to their server. Then we go on with benchmarks of where I get paid next. So far this has worked for me with a good number of clients.
Sat 14 Aug | Rob | I've found it's always best to specify the rate (or rough total estimate) up front, because often it's the potential customer's first time having custom software made and they just have no frame of cost reference other than shrink-wrapped stuff they see on the shelves When I first started on my own, I don't know how many specs and proposals I put together after a lot of in-depth discussion with a potential customer, only to never hear from them again. Finally I found out from a couple of them they were thinking a couple hundred, when I was thinking $50K... doh!
Sat 14 Aug | Inside Job | Bored, to be honest, I thought you were more experienced than that. I would never even apply to an entity that did not verify its legitimacy in some way first.
Sat 14 Aug | Neo | I agree with Inside. If the company is legit you should be able to talk with them first. Address and phone should be real. Otherwise you may get burnt. I agree about specifying the total upfront too. But also feature creep happens. You have to note if features get added that price might change. Ques: What is acceptable hourly rate in your opinion? I see Indians and Russians saying $15-$20/hr. I charge $65. I get work but not enough. Should I lower the rate? Are people taking the offshore cheapos serious?
Sat 14 Aug | muppet | Obviously people are taking the offshore cheapos VERY seriously.  Also, you should try to work for companies who have graphic artists who look like Maxx Headroom, as often as possible.
Sat 14 Aug | Neo | What's up your butt Muppet?
Sat 14 Aug | Li-fan Chen | Bored Bystander, I actually read this article before, haven't we discussed this before on JOS? You are right though, it ties right into the previous discussion. It's a wild world out there, and as long as the people you work for are just small mom and pops, there's is just too much headache (and for many--too little reward) for the average IT wonk to stomach.
Sat 14 Aug | Nobody's Child | Maybe thats why the good programmers all have full time jobs.
Sat 14 Aug | Bored Bystander | I'll make a few things clearer. On the 'I thought you were more experienced' comment: yeah, I am. I have, however, seen these types of 'challenges' intermittently through the years. So I decided that I would let one run its course. Kind of the same thing as the reporters who have done stories about responding to every SPAM they got in a certain time period just to see who was behind the stuff. About my depth of involvement before flipping the bozo bit: ever hear the analogy about boiling a frog? The same applies here. The work that I did was in response to a 'test challenge'. It was described as not being deliverable code, and I believe that it really wasn't. It just seems too trivial. Initially I saw the challenge as a modest hurdle to be cleared before the prospect would reveal themselves (and open themselves up to spam, tons of offshore shops doing the 'pick meeeee' thing, etc.) IOW, I was doing just as everyone defending Ms. Web Shop was doing in the other thread: putting myself in the prospects's shoes and justifying rude, lacking or rough behavior. After all the client has the money so they absolutely MUST be morally correct at all times, huh? :/ The point at which I flipped the bozo bit was after repeated exchanges and not being told what this guys' line of business was; followed by extinction. Finally, with no responses after making a bona fide attempt to comply with all of their conditions, I decided that the best revenge was to simply post the exchange in its entirely and allow the magic of Google to do its work.
Sat 14 Aug | trollop | The good programmers don't all have full-time jobs. Some have too much self-respect for that, and enjoy mixing business savvy with coding prowess to run an ISV. Part of it is commonsense: Never gamble more than you are prepared to lose. Invoice early. Invoice often. Never go to Nevada in any way, size, shape or form unless you want to get screwed. (Did anyone mention China?)
Sat 14 Aug | Rob | Why not Nevada??
Sat 14 Aug | trollop | Add Bahamas, Lichstenstein, Russia, the Channel Islands and anywhere else where business anonymity is valued above probity. I mentioned Nevada because Bored metioned Nevada in the material linked to in his original posting. Bored has done us all a favour with this cautionary case and I suggest you read it. Yes, you should all go after new opportunities and be prepared to deal hard, but throwing good time or money after bad in unbridled enthusiasm can lead to loss or loss following litigation - suing the bastards only makes lawyers grin. And don't think this is confined to 'business'. Employers may screw or defraud employees as hard as they can, so permanent employment is no defense.
Sat 14 Aug | . | Neo, muppet has picked you as belonging to place trying to hire a Cold Fusion programmer. (See recent thread.) Feel free to read. Your company might learn something. But don't try to treat us as stupid.
Sat 14 Aug | Neo | "belonging to" ? Im going to do one job for them. Not exactly belonging is it?
Sat 14 Aug | Bored Bystander | The scoop on Nevada: http://www.google.com/search?hl=en&ie=UTF-8&q=Nevada+corporation+owners+disclosure&btnG=Google+Search Some people forming corporations find it tempting to base the corp in Nevada because (in theory) Nevada will not tell the IRS who owns the corporation. IE, it could be used as a tax dodge. Also, think about the general abuse potential of a corporation with essentially anonymous ownership. I'm not stating that all corps. based in Nevada are questionable. Just that attributes of an NV corporation are compatible with questionable activities.
Sat 14 Aug | Neo | Nevada huh? Use to be Delaware corps right? Now Nevada. I did a project once for a guy in Vegas. His check bounced. I tried finding him but he was up 'n gone. Figures.
Sun 15 Aug | Stalin | Good post, Bored! I'm always suspect of a client wanting a 'test'. It's not really so much that I think that they are trying to scam me and get free work, but rather that my experience has been most companies that need to 'test' their contractors this way prove to be major pains in the ass. This might sound smug, but if I can't convince a client that I'm their guy with my resume, work experience and a phone call then I really don't want the job. And I sure as hell wouldn't do anything for a company that was completely anonymous. I wouldn't even waste 5 seconds of time for them because 99.99999999999% of the time, it's not going to work out. Why even bother?
Sun 15 Aug | muppet | If the company was bonafide (i.e., verifiable address, phone number, corporation, etc.) and would be willing to sign a contract and let you develop on your own server, would you be willing to devote a few hours (less than 3) without pay upfront?  Stalin?  Anyone?
Sun 15 Aug | . | Less than three hours sounds like a charity job, not work. So there are sort of two questions there. 1. For a job that I considered to be work - for a business that makes money, pays its staff, etc, I would never do work on spec. The business can evaluate different people but, having chosen someone, they must then pay me to spend time on their work. 2. If a friend or non-profit business wanted something done for free, and it didn't take too long, yes I would do that for free.
Sun 15 Aug | Simon Lucy | The thing that puzzles me is the motivation in this. Having reeled in someone that can do a job why burn them? I can understand the '$60 an hour is too high' but don't understand them not coming back with an hourly rate they would pay. I've never got involved in 'solve this problem for free' to get a job but then none have interested me enough to do it for the hell of it, and I guess this one did pique your interest enough to do it. Your motivations I understand and being pissed off I understand, theirs are completely opaque to me.
Sun 15 Aug | Stalin | muppet, I routinely do that now. I'll have a meeting with a client to understand their needs then come back with a proposal of what I am offering and what I will do. I'll easily invest 3-10 hours doing this for no guarantee of work. But my clients aren't spec work. I shy away from that kind of stuff typically. I much prefer to go into an engagement where I can help the client understand what it is they need. This allows me to make myself more valuable to the client, and of course, gets me more work. After all, it's easier to get work out of existing clients than find new ones.
Sun 15 Aug | x | 'I can understand the '$60 an hour is too high' but don't understand them not coming back with an hourly rate they would pay.' I can't. Where is $60/hour too high a rate? Sheboygan, Wisconsin?
Sun 15 Aug | no name | 'Where is $60/hour too high a rate?' It's too high for a $10 an hour retail employee with a dream and a scheme to find some programmer on the internet to make his killer app for him, and make everyone rich.
Sun 15 Aug | kc | Hey, I have family in Sheboygan Wisconsin (well, in-laws) and one of them is a developer who steadily makes $40-50/hour, so $60 isn't too far off.
Sun 15 Aug | Bored Bystander | This 'get work by doing test' methodology partially inspired my other thread (now trashed by imitation Muppets) on recruiting requiring investment of effort. The 'stiff entrance fee' sounded plausible when I thought about it. I think requirements like that are fairly effective with geeks because geeks love a challenge and will plunge in and do a lot of work in an effort to 'prove themselves' while not thinking about the reality of the situation. I think 'Chen' lost interest for some internal reason or change of direction and it was simply easier to stop acknowledging me. Based upon what I've read about his refund policies, products, etc, I wouldn't have expected to be paid easily.
Sun 15 Aug | Bored Bystander | Rate: I peg $60 per hour because this kind of work is my bread and butter, I have a lengthy track record and references, yet I also know that many so called clients are looking on development as a commodity buy. I would go a lot higher but I also know that the offshore shops are begging for work at cheap rates. It's a compromise between what I would 'prefer' to bill and the softness of the market.
Sun 15 Aug | Patrick FitzGerald | There is no other way to view this as 'you got screwed'. In one way or another, we all have been. We should all always listen to those alarm bells rining in the back of our minds. For anyone looking to contract, may I recommend Robert Ringer's classic text 'Winning Through Intimidation'.
Sun 15 Aug | Neo | I dont know how you can just start working based on an hourly rate. Every client needs some idea how long it will take. No one I ever spoke to will just hire you hourly indefinitely unless its onsite contracting position. For project work there has to be a spec and a fixed price. IMHO
Sun 15 Aug | Bored Bystander | Neo, it was described similarly to that of your new contract situation. 'Chen' claimed that he had an ongoing pipeline of Delphi and PHP work that he needed to delegate. So it was described as being an open purchase order. So I pegged a rate that I was comfortable at which to work and which was intended to be competitive.
Sun 15 Aug | Bored Bystander | And anyway, the work I did (all ~3 hours of it) was a TEST to qualify for consideration for further billable work. It was NOT deliverable work for which I ever expected to be paid. I want to make that clear. This was a speculation. What pissed me off was the brush off after I delivered exactly what they asked for in the way of a test.
Sun 15 Aug | no name | > I dont know how you can just start working based on an hourly rate. Every client needs some idea how long it will take. No one I ever spoke to will just hire you hourly indefinitely unless its onsite contracting position. For project work there has to be a spec and a fixed price. Neo, you really do come across as a simpleton with little or no experience. For serious programming, the employer will have their own rough estimation of the time involved, and that time will be well beyond trivial periods. By serious programming, I don't mean some cheesy Flash animation. Since almost all serious programming involves incompletely specified tasks, the final price will be undefined, unless the project is being done by a high charging accounting firm that just charges about ten times the expected real cost, so they have a lot of slack in their pricing.
Sun 15 Aug | Neo | Bored I was actually talking to Stalin who shys away from spec work. I do a lot of web work for small to med size clients. They dont have a clue what it will cost and need a job quote and spec. It works well for me.
Sun 15 Aug | Neo | Anony-mous-y person who doesnt give name you probably dont think web programming is 'serious' enough but thats what I do and how I made my living. I do okay at it most of the time.
Sun 15 Aug | muppet | Neo your head is totally up your ass.
treo 270 and images... | Sat 14 Aug | kaiser cruz
good day to you all.. i was just wondering if there is a way that i can import my jpg and bmp thumbnails from my pc to my treo270.. are there any applications around that can soup up my treo a bit more?
Sat 14 Aug | Ward | Sorry, this is largely off-topic - I don't have a Treo - but I was wondering if you or anyone else reads these threads on a handheld.  i discovered a couple weeks ago that the simple layout of these pages works very well on a Blackberry.
Sun 15 Aug | Evgeny Gesin /Javadesk/ | I use JPilot/PilotLink to transfer data between my Treo270 and Linux PC.
XP SP2 font bug | Sat 14 Aug |  
I installed XP SP2. I noticed a strange behaviour in 2 machines. I have standard antialiasing turned on 1. notepad 2. set font to arial 18, italic 3. enter the world ojojojojoj 4. do you see the big? the same happens in IE if you use a font big enough, italics. can somebody else validates this bug?
Sat 14 Aug |   | big->bug
Sat 14 Aug | Mr. Fancypants | No.
Sat 14 Aug | Greg Hurlman | I see the big ojojojoj, but no bug. Resolved -> no repro
Sat 14 Aug | Gern Blaansten | ojojojojoj  is not a word
Sun 15 Aug | JWA | Or a world :).
Sun 15 Aug | no name | I retested and it doesn't happen always. Eg. after screen resolution change. It only happened for me in 1152x864 resolution. ANyway, I will report to MS, and turn off antialiasing. Grrhh.
Sun 15 Aug | uh | Maybe you have to recompile the kernel of Windows XP.
Sun 15 Aug | no name | maybe you shut the fuck up
Sun 15 Aug | Brad Wilson | Nazi salad cream!
Sun 15 Aug | Gern Blaansten | This thread is over.  Get out!
Speaking of Google IPO | Sat 14 Aug | Gern Blaansten
The earlier post about Google becoming a penny stock is stupid and just plain wrong. But, I do believe that Googles IPO will be a disaster that will make a few insiders rich and everyone else is going to get screwed. Seriously, there are lots of companies out there who are just as profitable as Google, or more so, and their stock price is nowhere near $100. With a starting price of $100+ Google has nowhere to go but down. If Google really believes in their do no evil policy they would price the stock more reasonably.
Sat 14 Aug | Justin Johnson | If they price it that high, and you invest, and you lose money because it drops, how is that Google's fault?
Sat 14 Aug | Fred | BTW, what is Google's current gross, and what dividends can investors expect to earn?
Sat 14 Aug | Mark Hoffman | Screwed? Hey, if anyone is silly enough to jump in and buy Google at any price just because it's Google then they will get what's coming to them. Nothing malicious about it. Lots of stupidity and greed, but nothing malicious.
Sat 14 Aug | Zane | The $100 price means nothing in particular. You need to consider the number of shares issued as well. MSFT is trading at $27 a share which values the company at 290 billion. Google's $100 share price will not be valuing Google at 3x Microsoft. $100 / shares values google around 25 Billion. Yahoo is valued around 37 billion. The prospectus says the google does not pay a dividend. Google retains all earnings and expects to continue to do so in the future. 2003 revenue was 1.4 billion. 2004 1st half revenue was 1.3 billion. 2003 profit was 106 million. 2004 1st half was $143 million. Yahoo made profits of 237 million on 1.6 billion in 2003. https://www.ipo.google.com/prospectus https://www.ipo.google.com/prospectus
Sat 14 Aug | Philo | 'The prospectus says the google does not pay a dividend. Google retains all earnings and expects to continue to do so in the future.' Yeah, we used to say that, too. Philo [Microsoft]
Sat 14 Aug | Fred | >> The prospectus says the google does not pay a dividend. Google retains all earnings and expects to continue to do so in the future. OK, so how is the price of a share decided, if investors don't expect those shares to earn them any dividend? How did they end up with a $108 to $135 price range to begin with?
Sat 14 Aug | Zane | Great question Fred. The pricing seems to be designed to value google very similarly to yahoo. Why 25 million shares at $100 instead of 250 million at $10 ? No idea.
Sat 14 Aug | Koz | Fred, Even when the company doesn't pay dividends, the stock is typically valued based on the earnings. The understanding being that the company will 'eventually' start paying dividends. Case in point, MSFT. Cheers Koz
Sat 14 Aug | Dennis Forbes | 'The understanding being that the company will 'eventually' start paying dividends.' Not necessarily. The stock market is built upon a somewhat accepted, albeit vague and arbitrary, valuation of what a company is worth - you buy a piece of the company, a share, hoping that the company itself will appreciate in value thus leaving you with something worth more. The plan doesn't require them to explicitly pay you at any point. The problem with the market is that 'what a company is worth' is an undefined formula, and it varies over time -- during the .COM hayday the valuation of a technology company was based upon absolute fantasy. Think of this like buying a brick of gold if you're a speculator and you believe that the value of gold will increase - you don't expect that the brick will wash the toilets or pay you rent, but you do expect that the world market will place more value on your brick, allowing you to sell at a profit. Yet what sets the price on a brick of gold in the first place?
Sat 14 Aug | Kyralessa | This is why I stick with I-bonds.
Sun 15 Aug | Stephen Jones | The standard is to consider the value of the company as a multiple of the annual profits. You used to be talking a figure of around ten to twelve times annual profits. When you get to over twenty times then speculative mode has hit. Google appears to be valuing itself at around 130 times its annual profits.
Sun 15 Aug | Aussie bloke | Stephen is correct but that sort of valuation assumes the same earnings into perpetuity. Technology companies typically command higher price/earnings ratios due to their expected growth rates. For example, a stable company which earns $10B profit each year consistently might be valued at $150B during a 'normal' investing era. Making several assumptions about dividends and/or stock price appreciation, an investor would take 15 years to get the value of his share back. However, a company which earned $10B this year, $5B the year before and $2.5B the year before that would be valued at significantly more than $150B, because the estimated earnings over the coming years would be significantly more than they would be for a company with no earnings growth. Earnings projections are generally unreliable however, particularly for technology companies, and there is no way in my opinion that the Google valuation is justified, despite their record of earnings growth. It is priced assuming a perfect future for the company, where everything goes to plan for them and for the industry and economy in general.
Sun 15 Aug | www.marktaw.com | Back before the days of 'day traders' every stock paid a dividend, and it was largely the dividend that determined the value. In the past decade or so the trend is more towards not paying dividends and reinvesting the money (or just plain holding on to it like MSFT). After the tech bubble, companies are moving back towards paying dividends to lure investors back. With a company like Google - tech companies, biotech companies, etc. it really is pure speculation, just like with the bubble what you're paying for is the *promise* of the technology. Despite all of it's innovations, it's possible Google is at the apex of their lifecycle, or maybe they've got lots of growth potential and can take over markets we never expected them to (like email). Whether or not you invest is based on what you believe about the company's future, and more importantly, about people's perception of the company in the future. Stephen's analysis of P/E ratios sounds about right. If you think about stock as ownership in a company, you might want to create the analogy of actually buying a company. If you were a Warren Buffet type and bought whole companies, you'd probably pay 10-12 times earnings for the company. You'd really have to believe in the company's growth potential to buy it for 130 times earnings (how many years would it take to break even?). Or maybe you can sell it down the road to someone else for twice what you paid for it.
Sun 15 Aug | halpgr | Just don't buy it if you think it's not worth $100. To my knowledge, no one is being forced to purchase at that or any price. I don't see what the issue is.
Sun 15 Aug | Dennis Forbes | 'To my knowledge, no one is being forced to purchase at that or any price. I don't see what the issue is.' 1. It's just comments and observations. We are allowed to make those, right? 2. When, err if, the share goes in the crapper, every uninformed fanboy investor will be bitching and complaining about being ripped off, and attempting to sue their broker/the banks/Google.
What makes a great programmer? | Sat 14 Aug | Wess
Im a little confused as to what makes a great programmer.  Joel seems to think that they are "smart and get things done", but that seems a little generic and applies to numerous other fields as well.  What is it that really makes a great programmer?
Sat 14 Aug | muppet | If you have to ask, you're not one.
Sat 14 Aug | andrew | What makes a great programmer? A gross lack of social skills. Oh wait, that's just a common trait, which is not what you asked for. But seriously, you might want to check this thread out: What must the great programmer know? http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=4771
Sat 14 Aug | no name | A good programmer is one that can read, understand and modify another programmers code and not complain about it because he or she knows that their code is of the same legibility when viewed by others. A good programmer is one who forcibly writes code to get the job done.
Sat 14 Aug | no name | That should read: A good programmer is one that can read, understand and modify another programmers code and not complain about it because he or she knows that their code is of the same legibility when viewed by others and even themselves over a period of time.
Sat 14 Aug | Brian R. | Maybe the bad programmers are 'smart and get things done', and the good programmers prefer to vacillate over at the JOS forum. :-DD I really don't know, but I do recall that geek poster where the monitor is connected by a rail to the programmer's head.
Sat 14 Aug | Obviously | 'A gross lack of social skills. ' muppet must be a great programmer.
Sat 14 Aug | Brian R. | When I have seen other programmers really crank away, they believe so much in what they are doing, it's like an altered state, they don't notice food, they lose a normal sense of everyday context about human needs. I guess I lack that killer component because if a nude dancer suddenly walked in, I would not be trying to fix that last bug on my laptop, first?
Sat 14 Aug | Tayssir John Gabbour | http://www.itconversations.com/shows/detail188.html Undoubtedly someone will argue this link; he comes right out and says he's controversial. I really don't care about the issue, but I'm sure this makes some people feel not so out of place.
Sat 14 Aug | arbitrary name | muppet, do you consider yourself a great programmer?
Sat 14 Aug | muppet | Nope, I'm just a pretty good programmer.  When I have a bit more patience and a little more focus, I'll be a great programmer.  I think that finding a good project will go a long way to stimulating those qualities.
Sat 14 Aug | Tom H | Joel is half right. A great programmer gets things done. It really doesn't matter if he/she is smart as long as the product is what the customer wants. Being easy to work with is another attribute I consider important.
Sat 14 Aug | muppet | The "Smart" quality is what helps you to consistently "Get Things Done", especially after the first iteration of a software application.  Anybody can write an app to spec, it takes smarts to write an app to spec which is highly maintainable and extensible.
Sat 14 Aug | Kalani | >he or she knows that their code is of the same legibility >when viewed by others and even themselves over a >period of time. I think that this is bunk. A good programmer will think that a bad programmer's code is horrible to read. Yes, they might also think that their old code is bad (that's a good sign -- it means they've improved), but it doesn't mean that there's no sense in evaluating code this way. As an analogy, consider the difference between analyzing a dynamics problem with the tools of high school algebra versus differential equations. To describe the flow of an incompressible fluid, you might have pages and pages of various functions for special cases that yield something that looks sort of like fluid, versus a very simple Navier-Stokes equation. I think that when people talk about disparities between the quality of codebases, this is the sort of thing they're talking about.
Sat 14 Aug | Herbert Sitz | Kalani -- That brings to mind the idea of simplicity. A great programmer will find a simple, elegant, and generalized way to do things. Lesser programs will flog away at the same problem and solve it with a mass of ugly, messy code that does the job, but not well. Won't be readable, won't be easily maintainable, won't be easily extensible. Martin Fowler in his 'Refactoring' book discusses the idea of 'code smells'. He has a great list of code problems that result in bad smells. A great programmer's code will not 'smell'. A poor programmer's code will stink.
Sat 14 Aug | Kyralessa | '...he or she knows that their code is of the same legibility when viewed by others and even themselves over a period of time.' Bad code is not bad just because it's badly formatted.
Sat 14 Aug | no name | I think without protein + carbohydrate nobody can be a great programmer. At least not for a long time.
Sat 14 Aug | no name | Kalani: The opposite is also true. A bad programmer will think that a good programmers code is poor and unreadable. What you end up with is a viscious cycle where everyone thinks that everyone elses code is bad (they could do something different etc..). So in reality there are no good or bad or great programmers there are only people with opinions on what is good and bad when it comes to coding. Therefore those programmers who can read, understand and modify any code no matter who it's written by are the good ones. They will also recognize that even their own code will be criticized the same. Coding is very intimately connected with the person writing the code therefore I believe my statement holds some weight. Simplicity is simply a generic view of a better way of doing things. In the real world though, it doesn't work that way.
Sat 14 Aug | Totopo loco | The eternal question, but I could say something: 1. A programmer, Software Engineer, must work in peace, not in those offices full of islands. 2. The software is not to be done 'for yesterday', some 'bosses' try to treat people lilke that, just imagine if Einstein would have had a boss telling him all the time that the Theory of Relativity was 'for yesterday'. 3, Even in the same programmers have many misbelieves of what a great programmer would be, the most productive in a company?, maybe yes, maybe not, it's very subjective to say what is good and bad. Well that's all I have to say about that. Regards Marco
Sat 14 Aug | Muppet's Mom | I'd say a great programmer is someone who knows how to figure out the simplest questions in Windows XP. Of course, that leave the Great Muppet out. But hey...most of us already knew that.
Sat 14 Aug | Kalani | Blank, >The opposite is also true. A bad programmer will think >that a good programmers code is poor and unreadable. >What you end up with is a viscious cycle where everyone >thinks that everyone elses code is bad (they could do >something different etc..). So in reality there are no good >or bad or great programmers there are only people with >opinions on what is good and bad when it comes to >coding. I completely disagree with your conclusion. As I understand your argument, it goes something like this: assumption: Good programmers complain about the quality of code produced by bad programmers. assumption: Bad programmers complain about the quality of code produced by good programmers. assumption: There exists no objective metric for code quality. conclusion: There are no good or bad programmers. If you have two programmers who have to write a sorting algorithm, and one produces quicksort while the other produces bubble-sort, and your quality metric only looks at speed with arbitrary datasets, then the first programmer's code is better. What's missing from this discussion is some explanations of systems by which we can rate code produced by programmers. Obviously there's the traditional space/time complexity analysis for algorithms, but we develop other kinds of aesthetic senses too. The drive for simplicity of implementation (or specification of the problem) is just one such example. But when you equate 'bad programmers' with 'good programmers' you just ignore this. A hidden assumption here is that one system of evaluation is as good as another. 'Because I feel like it' is just as good as 'because it's not O(log n).' I disagree with that. I think that some sets of criteria for evaluation are more important than others. PS: Though somebody might say, 'there are no bad programmers, only bad code' (with which I would agree), people generally mean 'programmers who produce more bad code than good code, on the average.'
Sat 14 Aug | no name | >> If you have two programmers who have to write a sorting algorithm, and one produces quicksort while the other produces bubble-sort, and your quality metric only looks at speed with arbitrary datasets, then the first programmer's code is better. ======== I would have to disagree my friend. A programmer does not necessarily write these types of algorithms they simply choose or select one and then code it according to their applications needs. Whether it is a bubblesort or a quicksort is not the question we want to answer here. Why they chose the algorithm they chose would be a better question. The fact would still remain that their code would be subjective in nature according to how they implemented the algorithm.
Sat 14 Aug | Not going to tell my name! | This is great, discussions of code quality and algorithm selections is not the answer to what makes a great programmer... it is about the person who recognizes the fact that programming and development is a craft, like cooking. Anyone can stand att McD and flip burgers, but not anyone is a gourme chef. It is the same thing about programming, anyone can learn syntax, development methods and algoritm selection. The only mark of great programmer is the love and care he puts in the smallest details to make a really great result that he/she produces.
Sat 14 Aug | Rob | 'A bad programmer will think that a good programmers code is poor and unreadable. ' That's not always true! I was a bad (almost terrible) programmer when I first started, and tended to write convoluted 200-300 line functions with lots of temp hold variables. Then I got onto a team with a lot of very good people, and was amazed at how small their functions were and how easy everything was to follow. I think everyone can appreciate small, clean and elegant, which is a key characteristic of a 'good' programmer.
Sat 14 Aug | anon | Depends on the setting but in general, A great programmer is: 1. Someone who can work with their client/PM to establish exactly what needs to be done to create the finished solution. 2. Set benchmarks by which time portions of the work will be available for review by the client/PM and meet those benchmarks. 3. Ask questions if anything comes up that is not clear or requires additional information. 4. Communicate any delays that may occur before the benchmark is met. 5. Quiet his/her own ego long enough to accept constructive criticism. 6. Keep track of hours worked and invoice client (if not employed). 7. Collect on invoices (if not employed).
Sat 14 Aug | Xevious | A Bad programmer is working in a Redmond based building for MS A Great programmer works on Linux Open Source Software from his dark bedroom
Sat 14 Aug | In the future, everything will be free | You might as well ask, "What makes a great artist?"
Sat 14 Aug | muppet | That's easy.  It's poop.
Sat 14 Aug | Herbert Sitz | Muppet -- Nope.  All great artists poop.  But not everyone who poops is a great artist.  ;)
Sun 15 Aug | muppet | Well muppet is unbelievable ain't he?  Oh yeah baby.  Give it to me.  Give it to me baby.
Sun 15 Aug | muppet | He's a superfreak, he's super freaky.
Sun 15 Aug | Herbert Sitz | I sit and I shit. 
Sun 15 Aug | Simon Lucy | If I could just manage #7 above I'd be in clover.
Sun 15 Aug | Colm O'Connor | I can't believe it. A whole topic devoted to what makes a programmer good or bad and the word 'bug' was mentioned just once.
Sun 15 Aug | muppet | The reason 'bug' was only mentioned once is because most here have no idea what it takes to become a great programmer.  There are way too many posts on VB for any significant number of great programmers to spend time here.
Sun 15 Aug | Kalani | One reason that "bug" might have only been mentioned once is that good programmers and bad programmers probably have similar bug counts, but that the bugs that good programmers produce are at a higher level of abstraction than bad programmers.
Sun 15 Aug | muppet | All programmers have bugs.  Good programmers fix them.
Sun 15 Aug | muppet | I eat bugs.
Sun 15 Aug | muppet | I have fleas.
allright, so what happened to | Sat 14 Aug | muppet
"Make Available Offline" in XP Pro?  This feature was built in to Windows 2000, and I used it to great effect.  Now in XP it seems to be absent.  Is it just hidden (like 99.9% of everything in XP) or are we moving backwards?
Sat 14 Aug | no name | 1. Start > Run > Help and Support 2. Search for 'offline folders' 3. Adjust your attitude :)
Sat 14 Aug | muppet | Right, so in other words, it's hidden so as not to confuse the proles by putting it in the context menu by default where it's useful. Gotcha. :: goes through 10 or 15 hoops like shutting off Fast User Switching (???) in order to freaking enable offline files :: hooray for forward progress. If Linux weren't such a mess I'd be on it just to not be on Windows.
Sat 14 Aug | no name | why don't you go work for microsoft and then you have a chance to fix or change windows the way you would like to see. obviously only if you can convince that you're right.
Sat 14 Aug | 9 | I've never seen anyone need so much hand-holding as muppet.
Sat 14 Aug | muppet | 9 - Have you met your mom?
Sat 14 Aug | Bored Bystander | "proles"? :-)
Sat 14 Aug | muppet | BB - Go read 1984.
Sat 14 Aug | no name | muppet, are you from europe or from usa or from somewhere else?
Sat 14 Aug | Bored Bystander | I'm well familiar with the term 'proles'. I helped George write that book, you know. In fact, my namesake site is http://www.it-proletariat.com. And for my next trick...
Sat 14 Aug | Bored Bystander | I just thought the usage of 'proles' was humorous in that context... MS software is the ultimate in 'prolefeed' by that metric.
Sat 14 Aug | no name | > 'proles'? Proletariat. The great unwashed. The lusers.
Sat 14 Aug | Dude. | It's amusing that a know-it-all like Muppet,that has such vast wisdom and experience, can't even figure out how to use the Help feature built into Windows. Even my mother knows how to click 'Help'. But it's simplicity escapes the Great Muppet.
Sat 14 Aug | yet another anon | Make available offline is still there. To use it for a page, add it to your favorites and click the offline checkbox. Use tools->synchronize to update the contents. Isn't this where it's always been?
Sat 14 Aug | Chris Peacock | If it wasn't for Muppet there would be no excitement on this forum...
Sat 14 Aug | bah | If it wasn't for Muppet there would be no exrement on this forum...
Sat 14 Aug | muppet | Dude. - My point (which you seem to have missed) was that in Win2K it was trivially easy to figure out how to make a folder offline (it was in the damned context menu by default) without resorting to the online help. In XP, which is supposed to be $user_friendly++;, you have to go hunting for it and then jump through a number of hoops to get it set up.
Sun 15 Aug | muppet | Stop impersonating me! Who are you people?!
Non-pathetic sw work? | Sat 14 Aug |
After the "VS.NET UI tester girl" thread Im wondering what do you think, what is the most pathetic software work? And how about your work?
Sat 14 Aug | no name | Given that most jobs arise out of a need, I don't believe any work given to someone who needs it or wants it is pathetic.  It must have a purpose however insignificant that purpose is in your eyes.
Sat 14 Aug | muppet | No doubt whatever you do is something I would consider to be pathetic. 
Sat 14 Aug | muppet | aren't we done with the muppet impersonation?
Sat 14 Aug | muppet | Will the real muppet please stand up.  Please stand up.
Sat 14 Aug | muppet | Hero worship.  I can dig it.
Sat 14 Aug | Philo | Sharepoint rules!  Yay for me!
Sun 15 Aug | muppet | Will someone please give me a golden shower and/or a pearl necklace?!
Sun 15 Aug | AllanL5 | The most pathetic software work goes to those who must maintain 'old' legacy equipment, long after its own manufacturers have ceased support for it. We're talking S100 systems using CP/M to support signal switches built in the '80's (designed in the '70's, thus CP/M). We're talking VAX VMS using Fortran 77. It's pathetic because it gets no respect. It gets nothing that you can put on your resume and know the next employer you show it to will be impressed. It's pathetic because by now all the original documentation has been lost or burned, yet support is still required. It's pathetic because once you get into one of these roles, you quickly become irreplaceable -- no one else will take the job, or has the expertise if they did. Yet the job is low status -- there's no place else that will hire you with that expertise, so your current employer doesn't HAVE to give you really good raises, and would be dumb to do so. The only hope in a situation like this is to jump to a new company when the economy is heating up -- to somebody who will give you a chance with a more modern technology. Or, if your original employer takes pity on you, and gives you a 'modern' task 50% of the time, so you have SOMETHING to put on your resume.
This ain't about love just pay me. | Sat 14 Aug | Matt Conrad
There was one thing in particular about the Coldfusion job ad below that I found quite unacceptable. That was the part about doing all the work up front and then Siobahn decides whether or not she thinks its worth paying for. (I didnt read the ad that carefully; thats what I thought it said. If I misread, just play along.) Im quite unwilling to put in say sixty hours of work and have that all swirl down the drain when some unfortunate disagreement pops up in the 11th hour. Also, being in that that position (all the money on the back end) doesnt give you much leverage with the client (especially at the 11th hour). To me, half up front is a reasonable demand for a project of any size. But I think I lost a contract recently because I insisted on that, and my wife was quite surprised that I was going to make that a precondition for this (easy) job. Below we have another person who expects the programmer to take all the risk up front. Am I weird in finding this unacceptable?
Sat 14 Aug | Dennis Atkins | No, you are right on this. It's an issue of risk vs reward. If the IC is assuming ALL the risk, the IC should receive ALL the reward. There is no reason to give Susan a cut at all.
Sat 14 Aug | andrew | If there if anyone out there who thinks getting paid only after the work is done and delivered then I have a job for you. I claim to be hiring one programmer to do XYZ, what I don't tell you is that *everyone* who applies will be accepted. Everyone will be given the same spec and as work progresses I will monitor each accepted applicant. I will slowly use various excuses to drop people. Eventually nearing the end of the project I will cut it down to one and accept that person's work, paying them their entitled rate.
Sat 14 Aug | Zane | riskk needs reward. if ii am gonna love ya, i gotta get paid . if am gonna wait on the corner and hope for the bus to come so i can love ya, i gotta get paid double. ?
Sat 14 Aug | no name | No-one works on spec because it's obviously wide open to abuse. Imagine going into a restaurant and paying only if you felt like it.
Sat 14 Aug | Simon Lucy | Well actually, that's precisely what you can do in a restaurant.
Sat 14 Aug | www.marktaw.com | Not in a restaurant you ever want to go back to.
Sat 14 Aug | Steven | The restaurant could call the police.
Sat 14 Aug | Simon Lucy | Well, no.  If you receive a meal that you don't think worth the money being billed then you can offer what you think its worth.  If you think its worth nothing then leave nothing.
Sat 14 Aug | no name | Simon, I recall a case where a guy was charged and prosecuted for not paying at restaurants. He tried to maintain the food was no good, but word got around and he was picked up by the police. That is, it was a criminal offence, not a civil one. So you're wrong.
Sat 14 Aug | Simon Lucy | No, I'm not wrong. Eating in a restaurant is a contractual arrangement, they agree to provide food, you agree to pay for it. If they fail to provide edible food then you fail to pay for it. There's nothing criminal about it, its a civil matter. If you provide food for consumption and it isn't acceptable it is not the same as walking out of a store with some merchandise with the intent of permanently depriving the owner of it. I can't comment on an individual case in a jurisdiction I don't live in but I can give just one example that happened to me. We were in a restaurant and ordered the food, along with drinks and a bottle of wine. The food was truly inedible, the pasta was so over cooked as to be gluey and stuck together, the duck had been deep fat fried and was black on one side. We complained to the management who took the plates away with barely an acknowledgement. I put money on the table for the wine and drinks and we left. Naturally, we have not been back but then its changed hands several times since anyhow. That's probably the most extreme example I've experienced. On other occasions when its arisen complaints have been made and the management has come up with some kind of offer, money off, a free dessert or liqueurs.
Sat 14 Aug | Simon Lucy | If, on the other hand, you could prove that someone had the intent of not paying before they entered the restaurant then you could make a case of fraud. But it could not be theft.
Sat 14 Aug | Kyralessa | I think Simon is right, so far as taking a bite or two of food and pronouncing it inedible.  I think the arrests come in when you consume the whole thing and then announce that it was inedible.
Sat 14 Aug | Bored Bystander | The ColdFusion ad (I am a Delphi/Win32 developer and I don't give a rat's patootie about ColdFusion itself) reeks of a middleman/bodyshop arrangement where the middle person wants to extract margin/upcharge/commission from contracted work that they have bid competitively for. IOW: It would appear that Siobhan is struggling to present an image to her prospects of a seamless, vertically integrated web site factory with infinite resources at their disposal. When in reality she must contract with individual freelancers in order to delivery parts of their projects. And she likely can't offer a whole lot of money to attract the best people, and she likely doesn't have a well developed network to FIND the best people. Both of which also say a lot. It's exactly the same bullshit that abusive IT 'consulting' firms that are really just temp agencies and payrolling services shovel out. In that context, the attitude of the temp firms toward the people that deliver the actual work is dripping condescension. And an ad like this is just another of the many reasons why almost all middleman contract arrangements in our business are generally bogus, abusive and zero-sum crap.
Sat 14 Aug | Eric Debois | With my main client (A University) I usually bill the entire amount after the job is done. But I know those guys very well, and understand their needs very well. If, they for some reason would refuse to pay... They wouldnt, because they cant risk not having me available to maintain their critical apps.
Sat 14 Aug | Kyralessa | 'It's exactly the same bullshit that abusive IT 'consulting' firms that are really just temp agencies and payrolling services shovel out. In that context, the attitude of the temp firms toward the people that deliver the actual work is dripping condescension.' Not all of these firms are like that, though. I got my current job through a placement firm, and it's the kind of work I want to do and it pays at the top of the expected salary range I quoted them. Ironically, I almost didn't go to meet with them because I'd had such bad experiences with eight or ten other such firms. Before getting this job I'd have agreed that all placement firms are crap; now I think only 90% or so are.
Sat 14 Aug | Stalin | Bored is right on this one. They sound like another meat-grinder client who views software developers and prostitutes in the same light. Let the Indians and Chinese fight over this one. This fat, dumb, lazy American (of Russian descent) wouldn't work for a client like this.
Sat 14 Aug | Clay Dowling | I recently did a couple of months work for a client just like this.  I would have walked away quickly, but the work is pretty scarce in these parts and it's been years since I've had paying work closer than a hour's drive. These guys were generally not competent to run a top shelf web shop, and lately I've actually been making decent pocket money by writing about what they do wrong.
Sat 14 Aug | JohnH20 | I use to be a restaurant manager. Here the way its done: customer eats all meal & complains = customer pays. customer eats 2 bits & complains = we offer to remake or not charge - customer choice.
Sat 14 Aug | muppet | JohnH20 - wait.. where's the part where you cum in their food? Oh right, if they ask for a replacement, right?
Sat 14 Aug | Anon-y-mous Cow-ard | Muppet--Spoken like true white trash. Or whatever color you are.
Sat 14 Aug | muppet | Oh right, like you never worry about that. And I'm green, I'm a muppet, remember?
Sat 14 Aug | muppet | I cum in my own food.
Sun 15 Aug | muppet | And then I eat it.
Sun 15 Aug | muppet | Not ALL muppets are green.  Ms. Piggy is pink.  Burt is .. flesh.  Etcetera, etcetera. 
Sun 15 Aug | muppet | I am muppet.  I masturbate a lot.
Sun 15 Aug | muppet | I am muppet.  What is woman?
Sun 15 Aug | muppet | I have found a way to get my short dick into my own ass.
Sun 15 Aug | Clay Dowling | I'm an asshole.  I write bad things about my clients.
Sun 15 Aug | Matt Conrad | I am such a prick and my name is matt. All I do is bitch night and day. Gremlins are here.
Sun 15 Aug | Luca | My name is Luca. I live on the second floor. I live upstairs from you. I know you've seen me before.
Sun 15 Aug | AllanL5 | Wow, that was excellent. Check out the team: http://www.evolvedsites.com/meettheteam.html# The ColdFusion developer position looks like the kiss of death. 'Jump in and solve the problem' indeed. Once upon a time I had the idea that other people should be honorable and decent and tell the truth ALL the time, and do the work the way I would do the work, and predict perfectly what they wanted, and produce perfectly what they were told. Then I went to work and found out all the myriad ways different people could come to agreements, without realizing they were agreeing on different things. When the differences came to light, the 'evolved' approach was to admit that more communication was needed, try to accomplish that communication, and update the agreements. The 'unevolved' approach was to blame the contractor. Of course, I was not trying to manage a web-development company of 7 people at the time. I might have gotten more 'unevolved' myself had that been the case. It's very nice that Siobhan (Susan) went to all that trouble to detail out all the problems she's had over the last 6 1/2 years getting quality people to contract with. As an addition to Glass's 'Software Failures' it's wonderful. As a job position offer, it's not so good. It says 'Hi, come to work for me, I have this ENORMOUS chip on my shoulder, try REALLY hard not to bump me, because I've dealt with failed contractors before, and YOU have to PROVE yourself to me before I even PAY you.' Not really a message that will appeal to the quality people you want to appeal to. I am very sympathetic with Susan's desire not to go through all those problems again. I just don't think putting out such a job offer will accomplish that. On the other hand, it really is a CLASSIC litany of all that can go wrong. Highly recommended. It's too bad that she deleted ALL of her messages -- but one of the poster's copied her original for posterity. Scroll down to see it.
Sun 15 Aug | Neo | Allan I'm working for them on an initial project right now and I talked to her. She doesnt seem to have a chip on her shoulder at all. There is a cf dev. there full time who I talked to. They need help for overflow work. They pay well. I delivered some work today. They tested it and said its fine. I have no complaints so far. They are straight up people. There are lots of bad freelancers out there. Ive heard this from my other clients.
Sun 15 Aug | Neo | oh yah and communication is very good. Specs were clear. Their available by phone any time. I couldnt blame them a bit for what happened in the past.
Need advise/help on 2 hardware purchases | Sat 14 Aug | Bob
I have two simple questions, however, before asking them I probably should provide some background info. Background My mother is buying an expensive EEG/Biofeedback machine for her business. This machine comes with software that runs on a PC. The company that is selling the EEG machine would also like to sell my mom a laptop (she doesnt own one) and a 17 flat screen color monitor (for dual output). Well, she thought the price of the laptop and monitor was little high and asked me if I could help her save a few bucks on the laptop and monitor purchase. Here are the stats and prices the company quoted her: * Laptop -- $1,995 2.8 GHz MMX, 512 MB RAM, 40 GB hard drive, 24X CD-ROM, 15 TFT XGA Active Matrix Color Screen, external simultaneous (800x600 16K) color output, 8 MB video SGRAM, 2 PC-MCIA 2 Type II, ........ * 17 flat screen color monitor -- $695 --------------------------------------------------------------------------- Question 1: Is it worth the effort to shop around on the web for better prices or do the above prices seem reasonable to you? Question 2: What do I need in order to get 2 monitors (multiple display) working on a laptop? I have never experienced a multi-monitor setup before (2 monitors displaying 2 different types of output ), however, I believe the way it works on a desktop PC is that you have to have two video cards installed on your machine. Thanks ahead of time for any advise provided.
Sat 14 Aug | muppet | both prices seem inflated and I think you'd need a specialized laptop to do dual screens. It sounds like you're saying your laptop has simultaneous output to a second device? Do you mean that it outputs a second desktop or that it outputs the same image to two devices? Also, what's up with the external video only being capable of 800x600? The ideal resolution for that 17' flat panel is probably 1280x1024, anything lower in that case would look blurry. You should ALWAYS shop around.
Sat 14 Aug | Justin Johnson | The laptop you quoted is ridiculously overpriced. For example,