last updated:01 Sep 2003 19:01 UK time
Joel On Software Discussion Forum
JOS Statistics - Recent Comments
(Comments added for week ending Sun 31 Aug 2003) | View Other Weeks
Strewth | Sun 31 Aug | An Aussie Chick
I do realise this is completely off topic. But to pick up on an earlier thread. A fellow Aussie commented on never having used the word Strewth in conversation. I agreed, it seemed an outdated stereotype. I had some friends over on Saturday night, and while sitting around playing a game of cards and eating dinner etc, I must have heard the word Strewth ten times.... aparently some people out there like it
Sun 31 Aug | Chris | I still hear 'strewth' sometimes, however of all the Aussie colloquialisms I think 'Fair dinkum' is the one I hear (and use) most. I also like the rhyming slang when I hear it (not that it's used that much anymore), like 'hitting the frog and toad'.
home computers configuration | Sun 31 Aug | Eddy
Q for anyone who has more than 1 PC at home -- what is your configuration? do you use 1 (or more) pc as server? do you use wireless networking to connect those pcs? do you use multiple OS?
Sun 31 Aug | M | Two work computers. Three home computers. One printer shared with a WinXP system for all to use. I use a router/wireless hub and a wireless repeater for the other side of the house. I live in nowheresville, so I have the wireless moderately locked down. Also the firewall in the router is a "can't live without" feature.
Sun 31 Aug | duckling | Our new house has CAT-5 from every room into a first floor wiring cabinet.  A cable modem and netgear MR814 wireless access point hook everything together.  The access point does firewall, NAT and filtering.  My laptop connects via wireless.
Quick, dumb question | Sun 31 Aug | clueless
What does lol mean? Ive seen it on posts everywhere. And - to avoid the indignity of posting a question like this in the future - what google (or other) query would give me the answer?
Sun 31 Aug | comma | Google search 'lol definition' http://www.google.com/search?q=lol%20definition&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8 You did try, right?
Sun 31 Aug | Damian | http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&safe=off&q=what+does+lol+mean :)
Sun 31 Aug | Nick | Try the acronym server: http://www.ucc.ie/cgi-bin/acronym/
Sun 31 Aug | TJ Haeser, The Brazillian dude | I'm gonna need LOL once I enter the WTF. According to http://www.ucc.ie/cgi-bin/uncgi/acronym: LOL: Lots Of Luck WTF: World Taekwondo Federation
Sun 31 Aug | An Aussie Chick | LOL -> Laugh out Loud (along with *l* which means laugh *L* is a bigger laugh) I have never known it to mean 'Lots of Luck'
Sun 31 Aug | An Aussie Chick | Oh. Just read your definition for WTF....your were kidding....duh!
Sympathy for teekid? | Sun 31 Aug | Nick
Reading articles like http://www.sfgate.com/cgi-bin/article.cgi?file=/chronicle/archive/2003/08/31/BU226337.DTL&type=business , Im starting to believe that there are a number of people taking pity on the teekid script kiddie who altered the Blaster virus. Sorry, but I have no sympathy for the guy. I say nail his ass. Is it just me? Am I a heartless bastard? Or do others agree?
Sun 31 Aug | Dude | I have no sympathy for teekid. However, I also have very little sympathy for people affected by the virus. Maybe I'm just not very sympathetic?
Sun 31 Aug | Damian | I don't have any sympathy for him, but I don't think he should be locked up for life either. Rather than jail time I think a more appropriate punishment might be to force him into 2000 hours community service doing PC support for all the clueless computer owners out there that get really screwed by things like this. Or get him teaching Windows 98 to the over 70s.
Sun 31 Aug | An Aussie Chick | I agree, jail will only take an otherwise possible smart kid and make him think he is a hero (my opinion). Getting him to put his skills to a good use may make him realise that there are better way to use talent... At least it would be an attempt a rehabilitation....
Sun 31 Aug | Frederic Faure | But then, each new virus like those do everyone a favor by showing that security should not be an after-thought...
Sun 31 Aug | Mickey Petersen | Modifying a virus doesn't make you smart; it makes you stupid, regardless of your perceived intelligence by your peers. Agreed, though, jail will do him no good - however, a ban from computers for X years would REALLY drive him insane. So that's a more optimal 'punishment'.
Sun 31 Aug | Mickey Petersen | Also, having skimmed the article, I must say that is the worst biased drivel i've ever heard from a so-called "news source". If that guy has a journalist education, then I'd hope someone who severely cripple him for writing such news. tsk.
Sun 31 Aug | FullNameRequired | the kid is not dangerous, why jail him? if he'd mugged a granny then fair enough, stolen something valuable then fine, but all he did was run a program. I just dont see it, if you dont want to be hacked then either (a) Dont user windows or (b) Update windows every time a patch compes out and hope for the best. Punishing this kid is like punishing some poor halfwit who wandered into someones house when they left the door open and ate some of their food..... a _truly_ fitting punishment would be to give him a job at a computer help desk somewhere....let him learn the meaning of the word pain...
Sun 31 Aug | matt | I don't understand-- is writing a virus or worm now illegal? I thought it was only illegal to deploy one.
REALLY "low end" content management systems? | Sun 31 Aug | Bored Bystander
I am working with a non-profit organization in which the people who want to contribute content to the web site probably dont have the technical skill to cope with City Desk and probably dont own PCs that are clean or updated enough to get through an install of a large app like CityDesk without problems. They can run a web browser but stuff like formatting rich text (even in a cloistered environment) will just confuse them. And Ive dumped enough unrewarded time into their web site that Im personally loathe to spend my own money to buy them a contributor edition of CityDesk, even if I knew that they would use it, which I dont. So, what are the alternatives for *really* low end web content management? I do not really know this territory at all (aside from CityDesk) so just saying something like use PostNuke or use Zope doesnt help me at all. (Ive checked these sites out, BTW, and my reaction is WTF? Typical open source culture, if you arent with it from day 0 youre left in the dust.) The best solution would probably be one in which its possible for an end user type to review, edit and add to preformatted news columns while online in a web browser, and to post accompanying images without that many formatting options. If its as complicated as the Slashdot posting format, for instance, they wont use it or will screw something up. I would like some template capability, and Id set the templates up for them, but beyond that theyd be on their own. I host their site on my own Linux root host so I can probably struggle through installing almost anything suggested on it - just got through installing Qmail, so my confidence is pretty high. :-) The territory of this stuff is so vast that I figured Id ask first. Thanks in advance.
Sun 31 Aug | Eric Debois | PHP Neucleus sounds like what you need. http://nucleuscms.org/index.php Or if you want it really simple http://cutephp.com/ Actually, I recomend cute php. Just get a PHP enabled server, drop it in a folder, log in for the first time and it will guide you through the settings.
Sun 31 Aug | Brad Wilson | If they don't get CityDesk, then take away their PC and give them a typewriter and a photocopier instead.
Sun 31 Aug | Ged Byrne | Bored, I'd say the simplest CMS is a Wiki. This has the added benefit of keeping version history so you can easily fix things when they screw up. The main problem is having them learn the formatting standards. This may be a positive thing in that it keeps them from messing about with formatting. If your not familiar with Wiki then check out one of the following and play with the sand box. PHPWiki for PHP or OpenWiki for ASP http://phpwiki.sourceforge.net/ http://openwiki.com/ Tiki-wiki is looking especially promising: http://tikiwiki.org/tiki-view_articles.php
Sun 31 Aug | Almost Anonymous | 'contribute content to the web site probably don't have the technical skill to cope with City Desk' While I've never used Citydesk, I've watched part of the demo and I have to say that's pretty simple. If you users can't cope with that than pretty much any web-based content management system will be out of their reach. But I'll suggest: http://www.webmotif.com/wips as a relatively simple (but not cheap) content management system.
Sun 31 Aug | Warren Henning | If they're so unfamiliar with technology and so unwilling to improve their skills, why do they think they need a web presence at all?
Sun 31 Aug | Frederic Faure | The problem with CMS for non-techies is the formating part.  I don't know if there's any web-based CMS that uses IE's HTML edit box and enforces the use of CSS so that formating is applied by the server instead of each user formating contributions themselves.
Sun 31 Aug | Johnny Bravo | Try Macromedia Contribute.
Sun 31 Aug | Darren Collins | What about one of those blogging apps? Blogger, Radio Userland, etc. They seem pretty simple to use.
Sun 31 Aug | Walter Rumsby | From the sounds of it you could roll your own form-based CMS-like solution. If there is a small set of things your users can add/edit forms could do the trick particularly if you leverage something like the MS text editor component. Another alternative might be to tie the solution into something they are comfortable using. This is clearly going to take more work on your part, but you may feel it's worth the effort. For instance you could write a MS Word macro that exports text entered into Word to the content database/via SOAP/etc.
Sun 31 Aug | Wosniak | 'I am working with a non-profit organization in which the people who want to contribute content to the web site probably don't have the technical skill to cope with City Desk and probably don't own PCs that are 'clean' or updated enough to get through an install of a large app like CityDesk without problems. They can run a web browser but stuff like formatting rich text (even in a cloistered environment) will just confuse them. ' It sounds as they are too stupid to use a pc, why are you bothering? Good thing breathing is an involuntary action.
Automatic background color for input element. | Sun 31 Aug | JD
Hi All, I am using IE 6 on Windows XP. I have one interesting observation. If you have XHTML document and if your input element in form is named anything similar to name or email, following CSS is applied automatically. style=BACKGROUND-COLOR: #ffffa0 Anyone knows why??? I hope its not all that dumb question. :) P.S.: To look for a demo, if you are on IE6, The form to create a new topic/add comment, will display this behaviour. JD http://jdk.phpkid.org
Sun 31 Aug | JWA | Are you by chance using the new Google toolbar? The auto form fill feature highlights any form elements that it thinks it knows how to fill in in a light yellow. The info is taken from your profile that you've entered in the toolbar settings. Your name, address, email, etc. If you click the form fill button it will automatically fill in any of the yellow elements. --Josh
Sun 31 Aug | JD | Josh, You are correct, Google toolbar was the culprit! Thanks a lot for the pointer! JD
IS there a way to clone Windows... | Sun 31 Aug | S.C.
Is there a way to clone Windows to a number of computers without using sysprep? No, in case you are curious, I am not using a pirate copy of Windows XP. We have a campus licence. But instead of installing windows from the CD to 30 PCs, Id set up one and ghost the image to the rest. The problem is ghost wont change the security ID and duplicate SIDs cause problems. The official solution is using sysprep: http://www.ghosttraining.com/ghost_faq.html http://www.microsoft.com/windowsxp/pro/using/itpro/deploying/introduction.asp However, sysprep is pain in the neck. So Id like to know if there are any other better ways to deploy Windows to many machines. Thank you.
Sun 31 Aug | Philippe Back | Here is something : http://www.sysinternals.com/ntw2k/source/newsid.shtml
Sun 31 Aug | Chris | Why is sysprep a pain in the neck? We just did it to Windows XP and all you do is run it and click OK (or whatever the caption on the button is maybe it is 'reseal'?). It shuts the PC down and then when it has shut down you ghost it to the other PCs. The first time all the computers are restarted they will ask for a PC and Domain name. Seems simple enough to me. (The only thing we did though was we left SQL Dev Edition and VS.Net off the image because we weren't sure if those 2 would still function correctly when the machine was renamed after the SYSPREP. Anybody know the answer for this?)
"Send to E-mail" Corrupted | Sun 31 Aug | Chi Lambda
Dear all: I was wondering if you could help me.... My computer is running Windows 98 SE. I had IE 5.5, Outlook Express 5 and Mozilla 1.3 on it for web-browsing and e-mail. All was fine. I recently upgraded IE and Outlook Express to version 6. Everything seemed fine until I tried sending a web-page by e-mail in IE: File | Send | Page/Link By E-mail, which opened the *Mozilla browser* for a few seconds then closed. Under Internet Options | Programs | E-mail I have Outlook Express as the chosen program. Also: - when I do the same thing in Mozilla it *opens* Outlook Express - If I try to send a file from Windows Explorer to the Mail Recipient (Right click | Send to | Mail Recipient) nothing happens anymore I tried repairing Internet Explorer, and reinstalling Mozilla. But nothing works. I even tried IEradicator ( http://www.litepc.com/ieradicator.html ) but to no avail. Any help would be much appreciated.... Thanks.
Sun 31 Aug | Bella | Delete W98.
Interesting... | Sun 31 Aug | John Rosenberg
Im sure many of you saw this link off of slashdot: http://www.pbs.org/cringely/pulpit/pulpit20030828.html Im curious to know, is this something that prevades Microsoft culture or is it isolated in the company? It seems like I keep hearing about the same things over and over again.
Sun 31 Aug | Ross | I think it pervades the companies thinking. Remember that testimony that Bill G went ballistic and said to Ballmer during a meeting discussing one of the early DOJ settlement proposals 'we don't want a level playing field, we can't win on a level playing field.' I believe that is proof that they figure that the ends justify the means at One Microsoft Way, Redmond, WA. Hell even there address reeks of that thinking. Guess what Bill, you can't buy Linux.
Sun 31 Aug | Fiddling with Nero | What's even more stupider [sic] is that Burst's technology is not rocket science. Its merely buffer smoothing which has been in use for a long time over networks with high jitter. Microsoft could have developed their own solution from the start, and had Burst claimed infringement, dealt with it through normal patent negotiation. You would think that with Microsoft's investments in digital media, they would have their own solutions worked out. But anyway, this is certainly no surprise. Redmond is grooming a siege mentality as they watch their empire crumble. Heads ville roll.
Sun 31 Aug | Mickey Petersen | Ross, How ever did you dream up the thought of buying Linux? Just what article were YOU reading?
Sun 31 Aug | Jim Rankin | This is one of those cases where their actions were not just Evil, but incredibly Stupid. They really thought no one would notice 35 weeks of missing messages? They did similar things in the anti-trust case. No matter how big the judgement against them might be, MS will have more than earned it.
Sun 31 Aug | somebody | Wow, a link from Slashdot to a story by Cringely -- it must be true!
Sun 31 Aug | Someone Else | Yes if slashdot linked to it, it must be a lie. Get your head out of Bill's ass. I especially liked how Microsoft is using tobacco company tactics of cc'ing an attorney so they can invoke attorney client privelage. Someday Microsoft will be seen for the Enron it really is.
Check this out... | Sun 31 Aug | TJ Haeser, The Brazillian dude
...for a laugh: http://artists.mp3s.com/artists/37/three_dead_trolls_in_a_bag.html Funny stuff.
Sun 31 Aug | Chi Lambda | Oh, yes! Welcome to the Internet Helpdesk is a classic and my favorite: http://www.deadtroll.com/index2.html?/video/helldeskcable.html
Sun 31 Aug | S.C. | I had some similar experience. I was showing to a secretary how to import a list of emails from excel to outlook, step-by-step. St some step, I told her not to click cancel. Then I told her again. And while I was telling her the third time, her hand was like unvoluntary and she clicked the button. I still find it unexplainable.
Sun 31 Aug | matt | Haven't you seen the kids in the hall? 'Never put salt in your eye... Never put salt in your eye.... Put salt in your eye.'
how to delete linux loader? | Sat 30 Aug | Sonny
Hi everyone, I have problem unistalling linux loader from my laptop. Here are the chronology: 1. create linux partition and installed mandrake 9.1 2. play around for a while - and I got new pc so I plan to use that PC as Linux desktop, and my laptop as XP only 3. delete linux partition using partition magic and use it to merge with my d: drive everything is OK except when booting linux loader is still there so I have to choose Windows whenever I reboot. Linux option of course cannot be used anymore because I have deleted the partition. How to delete the linux loader therefore when I reboot I go directly to WinXP? Thanks
Sat 30 Aug | Brad Wilson | Boot the XP CD, go into the recovery console, and look for the commands that fix the MBR and boot sector (I think they're "fixmbr" and "fixboot", but it's been a while since I've had to use them).
Sun 31 Aug | Li-fan Chen | Yeah, if you happen to have an old copy of MSDOS 6.0+ or PCDOS 6.0+ you might try 'fdisk /mbr' Next time you might also want to consider using the Linux procedure of saving the bytes of your hard drive that contains the MBR.. write it to a floppy.. and restore the original (using an emergency Linux CD) after you get rid of the test linux partition.
Sun 31 Aug | A Software Build Guy | Brad it is Fixmbr from the MS Knowledge base: FIXMBR fixmbr device name Use this command to repair the master boot record (MBR) of the boot partition. In the command syntax, device name is an optional device name that specifies the device that needs a new MBR. Use this command if a virus has damaged the MBR and Windows cannot start. WARNING: This command can damage your partition tables if a virus is present or a hardware problem exists. Using this command can result in inaccessible partitions. Microsoft recommends that you run antivirus software before you use this command. You can obtain the device name from the output of the map command. If you do not specify a device name, the MBR of the boot device is repaired, for example: fixmbr \device\harddisk2 If FIXMBR detects an invalid or non-standard partition table signature, FIXMBR prompts you for permission before rewriting the MBR. FIXMBR is supported only on x86-based computers. more of this informative informatation is at: http://support.microsoft.com/default.aspx?scid=kb;EN-US;314058
tech support | Sat 30 Aug | mccy
Hi everyone.  I have an interview for a technical support position at a large company next week.  I would appreciate any advice/interview tips from anyone who has experience as a tech support  rep or interviewing them.  Thanks and have a great labor day.
Sun 31 Aug | Martin Schultz | What do you want to know?
Sun 31 Aug | Just kidding | Tell them WIndows sucks and Linux rules.
Sun 31 Aug | mccy | Well I'd like to know anything related to a tech support interview, thanks.
Sun 31 Aug | Damian | Can you fix my computer ?
Sun 31 Aug | Jen | what is your background experience?
Customer Reviews at Amazon | Sat 30 Aug | JD
I am currently looking for some programming titles. Obviously I went to Amazon to see the reviews by different users. Now what I found for some book is that site says that there are N number of reviews but actually there is no text for any of the reviews. Check http://www.amazon.com/exec/obidos/tg/detail/-/067232542X/ref=cm_cr_dp_2_1/104-3796588-6531137?v=glance&s=books&vi=customer-reviews to see what I am talking about. Any idea whats wrong here? Also, how much one can trust Amazon customer reviews? What are the other places where I can find honest book reviews? and finally any suggestions for good titles on ASP.NET ? Regards, JD http://jdk.phpkid.org
Sat 30 Aug | Tayssir John Gabbour | Looks like nothing more than an Obidos bug to me. Reviews are less trustworthy than excerpts that they usually have. If a book doesn't have excerpts on Amazon or somewhere on the net, that's a strike against it. As for the reviews, they're more an insight into the reviewer than the book. Most of the best books I have are 4-star or less. But there is a good use for reviews; if you can click on a reviewer's name, you might find reviews for other books you hadn't heard of. I've found a lot of incredible books this way, such as See Mips Run, Programming Language Pragmatics, etc.
Sat 30 Aug | Brad Wilson | 'How much one can trust Amazon customer reviews?' People who write reviews on Amazon are motivated either by intense happiness or intense anger, generally. So you can't really trust them. People who find something mediocre but suitable are hardly ever going to review it. 'What are the other places where I can find honest book reviews?' Friends and co-workers you trust. 'And finally any suggestions for good titles on ASP.NET ?' Covering what subjects in specific? I've read quite a few...
Sat 30 Aug | Philo | In reviews at Amazon or any other place (Usenet!), I look for only one thing: consistent, specific, articulated problems. For example, if a book has three stars but ten comments that say 'all his examples use bound controls - there's no in-depth discussion of how to use an unbound control' then if that's something of importance to me, I'll skip it. Read the same thing often enough and you've just gotta believe it. :-) Philo
Sat 30 Aug | JD | Thanks for comments guys, it's gonna be helpful! Brad, I am looking for ASP.NET book for programmer who has good web programming experience (I have around 4 years of Web programming experience but it's all PHP/Perl) and who wants to know how ASP.NET is structured and how one can get to speed with it. Any suggestions from you will be really helpful. :) JD http://jdk.phpkid.org
Sat 30 Aug | T. Norman | Looks like a bug in their system. I remember this happening with another book, but when I looked up that book again a day or two later the reviews became visible. I find the reviews to be very helpful, but only if you look for specific descriptions of the issues, good and bad. Don't pay attention to plain old 'It sucks' or 'It's great' messages.
Sun 31 Aug | Guy Incognito | I liked Jeff Prosise's 'Programming Microsoft.NET'. It's mostly about ASP.NET but it also covers the basics of ADO.NET, Remoting, XML, Threading, Windows Forms, etc. It's about 700 pages plus. If your looking for a shorter book, I liked Fritz Onion's 'Essential ASP.NET'. It doesn't have as many examples as Prosise's book, but it does delve deeper into the internals of ASP.NET then Prosise's book does. It's about 350 pages. If I remember correctly, it doesn't have much coverage of ADO.NET or other framework topics. I get most of my books from www.bookpool.com, where I usually save more than Amazon.
Sun 31 Aug | Brad Wilson | One comment on bookpool: they have a single warehouse in Massachusetts. Unlike Amazon, which can sometimes choose a shipping location based on where you live, you always get shipping from one location with bookpool. If you live on the west coast, a UPS Ground shipment can be a week.
Syntax highlighter? | Sat 30 Aug | Philo
Does anyone know of a good program that can take a text file and syntax highlight it, then export the syntax highlighted file in HTML? The text editors Ive looked at so far (and Ultraedit, my personal favorite) do good jobs of highlighting, but theres no way to get the highlighting out of the editor (for use in another program) (Im trying to put syntax highlighted C# & SQL in Help & Manual...) thanks! Philo
Sat 30 Aug | FireMode | SciTE (from www.scintilla.org) is an opensource text editor with syntax highlighting. When you select some code in SciTE, you can copy it as RTF (with all the colors and the beautiful formatting) and move it next to an RTF > HTML converter (I use WinWord for that).
Sat 30 Aug | Damian | SciTe will also save as HTML. It's pretty bloated HTML but it works well.
Sat 30 Aug | Philo | SWEET! That is *exactly* what I need - thanks! Philo
Sat 30 Aug | Brett Kapilik | Try CodeSense: http://www.ticz.com/homes/users/nlewis/ It is based on CodeMax. My company has just finished integrating it into our newest product and it works fantastic. It is a Windows DLL and includes source code and is FREE. It is also very easy to add new features to.
Sat 30 Aug | Wayne Venables | My favourite editor... www.codegenie.com Supports both RTF and HTML export of highlighted files.
Sat 30 Aug | Philo | http://www.code-genie.com/ Looks interesting, but I think scite is doing what I need. But of interest at the codegenie site: 'Source code: Code-Genie is an open-source program, so you can get its source code, too. Its price is 3800 Euro. For this price you get the source code that compiles to the latest version of the program present on this site.' Hrm. Is it open-source if you have to buy the source? Philo
Sat 30 Aug | Joy | If the source's license is GPL, after you buy the source, you have almost the exact same rights as the authors, so you can start giving away the software yourself.
Sat 30 Aug | Roel Schroeven | You might also want to take a look at Code2HTML ( http://www.palfrader.org/code2html/examples.html ), a perl script that exports syntax highlighted HTML for a whole range of languages.
Sat 30 Aug | Gareth McCaughan | It certainly isn't 'open source' according to the OSI's 'Open Source Definition', which you can find at http://www.opensource.org/docs/definition_plain.php . Unfortunately (maybe), the term 'open source' isn't a trademark or anything, and no one can stop a company saying 'This product is open-source: you can get the source code by paying us $1M, and then you aren't allowed to show it to anyone else' even though that's utterly incompatible with what the people who cooked the term up *want* it to mean.
Sat 30 Aug | Brad Wilson | You most definitely CAN withhold the source from non-paying persons if you want, even under the GPL. What you can't do is prevent them from giving it away after they have it. Classic example: Lindows. Based on Linux, but you can't get the binaries or accompanying source w/o paying for the product. Once you do, there's nothing stopping you from redistributing the GPL'd portions of the source code.
Sat 30 Aug | i like i | jedit ( http://www.jedit.org ) has a plugin that takes any open document and exports it to colourised html. I use that for all my code snippets in documentation etc. GPL of course, and a nice editor too.
Sat 30 Aug | Ori Berger | [ http://freshmeat.net ] is a good place to look for these things, as is [ http://sourceforge.net ]
Sun 31 Aug | Daver | A utility that will do this from the command line is enscript.
Software Naming and Pricing | Sat 30 Aug | Bill Rayer
Dear Forum Joels decision to discontinue the home edition version of Citydesk has prompted some questions. These questions have been in my mind for some time, as I try to get Lingo finished ( http://www.lingolanguage.com ). --- (1) Product Naming --- Its usual to have 2 or 3 separate versions of shrink wrap software (economists recognize this as maximizing the area under the demand curve). What is the best terminology? eg: Standard Pack / Professional Pack / Enterprise Pack? Standard Edition / Professional Edition / Enterprise Edition? Home Edition / Professional Edition / Enterprise Edition? (as in XP)? Bronze Edition / Silver Edition / Gold Edition? (as in True Basic)? Personal Edition / Commercial Edition ? What I thought for Lingo was, because there is no Enterprise edition (its a stand-alone programming package) I would have a Standard Pack for personal use, and a Professional Pack for commercial use. There would also be a Trial Pack, which is a free download. Another important criteria is I want the names to be clear to beginner developers. --- (2) Product Pricing --- Assume that Lingo is a developer environment, of similar usage and scope to Eiffel or VB3. The package includes a 50 page manual, CD and packaging in a DVD case, and the software includes an IDE, compiler and online help. The aim of my pricing is to maximize volume *not* revenue (I believe volume leads to revenue, but thats a separate discussion). Should the pricing of the Standard edition be similar to (eg) XP Home edition and VB.NET standard Pack (approx £70, or US$100). Or should the price be similar to top-end games (approx £30 or US$45)? Or cheaper still? I remember Turbo Pascal v3 which was priced £49 (?) and took the market by storm. But if its too cheap, this degrades the perceived quality and volumes fall. What is the too-cheap point? The Lingo Professional edition will include extra tools for simple databases, zipping the output files for distribution, and a few other things. VB.NET pro and the other Microsoft Professional edition software is in the £300 to £400 region (from memory). I think this is way too much. What should I aim for? 3 times the price of the Standard edition? All ideas are welcome!
Sat 30 Aug | Chris | Hi Bill, How much interest have you had from prospective customers in the 'Lingo Language' product? (Is it in the Enterprise, Consultants, Small Business or Home Users/Students?) I don't mean to be rude, but everytime you post about it here I think to myself where is its place in the market place when there is already (Access/VB/Delphi/VFP/.Net/Java/etc). What exactly differentiates your product from the rest? Where does it fit in between (Access/VB/.Net)? And sorry for not answering your question directly, but maybe by answering my questions on where it fits you might be able to get a better decision on the naming convention you should use?
Sat 30 Aug | Bill Rayer | Hi Chris Most interest comes from two places. Firstly, what I would term 'computer literate non-programmers'. These are people who are skilled in their own fields but know little or nothing about programming. The idea behind Lingo is that it's a VHLL and makes it as easy as possible for them to write non-trivial code. These people are strongly deterred by the complexity of modern developer environments (VB.NET etc). Secondly, a much smaller market consists of experienced programmers who want to understand new languages and techniques. Most programmers are too busy / uninterested or whatever to look into new languages. The best feedback I've had are from programmers who are interested in language design. There are two important non-markets (groups which I originally thought would be markets but aren't). The first non-market is businesses doing commercial development. These are usually constrained by existing code / technologies and anything different (regardless of how much an improvement it is) is irrelevant. The second non-market is other programmers. They're specialists in their own areas, are not interested in language design, and focus on what they know and use daily. Most readers of JOS fall into this category. Please note I'm not critical of this second category *at all*. All it means is that JOS would be a bad forum for marketing a new language (marketing isn't allowed here anyway). However the second category is a very useful source of critical feedback. This is why I ask questions on JOS and get useful answers! To answer your questions: The place in the market is the first and second groups (computer literate non-pgmrs (90%), programmers with interest in languages (10%)). Product differentiation is by ease of use and high level syntax compared to existing languages.
Sat 30 Aug | myname | You know that Macromedia's Director has a scripting language called Lingo?
Sat 30 Aug | Brad Wilson | Yes, he does. We've been down that path already. :)
Sat 30 Aug | Linguist | And yet I never get tired of that subject. Lingo is a trademark of Macromedia. They have consistently represented it as a trademark and they to this day state that it is a trademark. Recently I got a cease and desist letter myself and had the opportunity to discuss the trademark issue with our IP attorney. The basic idea is that Macromedia has a 'common law trademark' and it's every bit as valid as a registered trademark. It is also for the same sort of product and that is important. If I want to start 'Lingo Pizza Parlor', macromedia has no claim. But Lingo language, they do have a claim. The new Lingo will certainly be challenged and certainly lose. Whether our stubborn friend has to pay damages will depend on whether Macromedia can show that he continued on after being notified it was Macromedia's trademark. Since these discussion forums are net available and folks from Macromedia have publically stated they are following these threads, I can safely predict the outcome as far as damages goes. It will be shown as a willful and deliberate violation and he will be held maximumly accountable.
Sun 31 Aug | Norrick | Uh-oh. Sounds like Bill needs a new product name, quick! How about calling it: Slang? Jargon? Colloquialism?
Sun 31 Aug | Philo | Lingeaux Philo
Sun 31 Aug | Eric Lippert | I am certainly interested in the design of languages for the computer literate non-programmers. I've taken a quick glance at your web site and was struck by a few questions. I was wondering if you could tell us a little bit about why you chose 1) to require forward declarations of functions and variables 2) to eliminate global variables 3) to implement an imperative object-oriented/procedural language 4) to emphasize pure functions Do these features serve your target market? I'd also be interested to hear your opinions on the relative merits of declarative vs. imperative languages for this market. Thanks! Eric
Sun 31 Aug | Bill Rayer | 'We've been down that path already. :) ' - thanks mate! myname - if you're interested see http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=58012 Cheers Bill
Sun 31 Aug | Bill Rayer | ---Phileaux--- Thanks for the suggestion :) ---Linguist--- Thanks for your comments. I have held and used Lingo as a registered trademark from 1992. Macromedia has not registered Lingo as a trademark. These legal issues were discussed in depth on http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=58012 ---Eric--- Thanks for your questions. 1) Only functions exported from a module require their headers to be declared first. The headers go in the module interface and the implementations go in the private part of the module. This is to separate the interface from the implementation. Constants and types exported from a module are also forward declared in the module interface for the same reason. In theory, clients of a module only need look at the interface to nderstand what the module does. Pre and post conditions play an important part, since they specify what the functions do and are enforced by the compiler. 2) To make programs more reliable and more easily maintained. 3) I wanted Lingo to be as accessible as possible (ie to be potentially useful to as many people as possible), I wanted VHLL features and I wanted performance similar to other compiled languages. Imperative and procedural languages fit in well with a beginner programmer's internal model of how a program works (ie this line runs, then the next line runs, then we jump here etc). This style of language also satisfies the performance requirement. Lingo also has event driven code for handling GUI objects - again this matches the internal model. Eg you load a dialog, so the Load code runs. You click a button and the Click code runs. I think a language has to support procedural and event driven code, if it is to be easily used. The object orientation in Lingo comes about because strictly speaking a module is an abstract data type. Modules are encapsulated (as in 1 above), pre and post conditions are the 'axioms', and Lingo supports polymorphism. I wanted the object oriented elements to work in a natural way and not be apparent to the programmer, since OOP is not a beginner's concept. 4) Again to make programs more reliable. If you have pure functions, no globals and no aliasing, functions work independently of the context in which they are called. This makes it easier to build reusable code libraries. 'I'd also be interested to hear your opinions on the relative merits of declarative vs. imperative languages for this market.' ... IMHO the combination of imperative and event driven code is much easier for an intelligent non-programmer to learn than a declarative language. This combination also gives better performance since it can be compiled to machine code. These two factors are behind the success of Basic, which is the #1 language for this market (at least, until Microsoft have obsoleted VB6). Cheers Bill
Sun 31 Aug | Ged Byrne | Bill, I do think that the requirement of a forward declaration is one of the languages biggest weaknesses. I think the Java approach, of having the visibility of a method specified in the code is much better. Automatically generated documentation like Javadoc is much more convenient than module headers. Changing this would make Lingo feel so much more modern: more like Java and C# and less like older languages like Delphi. I think this small change would make a big difference to Lingo's first impression.
Sun 31 Aug | Philo | One of the basic requirements of running a successful business is wisdom. A wise man chooses his battles. Lingo is going to have an uphill climb - I know you know that. You have an evangelical belief in your creation that will aid you well in making that climb. However, is it smart to start an avalanche before you start the climb? Let's say I created an OS that was as user-friendly as Windows and as powerful and secure as Linux. Since it's the best solution for those on tight budgets, I decide to call it 'Niggardly.' Hey, it's a good word, and very descriptive. There's nothing objectionable about it whatsoever. Only an idiot would pursue that course without recognizing that 90% of any product pitch would consist of my having to explain the word to the prospective buyers. I'd have to carry a dictionary around to defend myself. Should I invite that trouble from the beginning when there are so many other issues to address? Bill, every single time you pitch the product, you're going to be in Macromedia's shadow. You're going to be competing in Google, and your first corporate investment will be a retainer to a lawyer for the day you get sued. You WILL be sued. You may or may not win, but you're going to be in court for at least three months, possibly a year or more. That's time you're not working on your baby. BTW, there are new implications from the Federal Dilution Trademark Law where a 'famous mark' can be protected from infringment in *any* market. McDonald's can now go after 'McDonald's Carwash'. Is MM's 'Lingo' a famous mark? The term 'famous' hasn't been legally defined yet, but you'll notice every time you mention it, people bring up MM, so it must have *some* noteriety. Philo
anybody still uses VC 6 ? | Sat 30 Aug | Michael Moser
Most of my customers (those that do unmanaged code only) still use VC6. the main reasons seems to be we still have this code base to dont bother porting. How many shops that dont bother about .NET have switched to post VC6 compilers ? Why didnt marketing at Microsrt stress the better code optimization features for the newer products ?
Sat 30 Aug | John C | We've switched to VC7 for our main development trunk and aren't using .net in it. There's no doubt the compiled software is faster and more standards compliance is nice, although the compile and link times are twice as long than in VC6!
Sat 30 Aug | FireMode | We're still using VC6 for to compile a very popular software. Our code is entirely written in C and uses standard Win32 API calls. We're even planning to switch to another compiler that can use MSVCRT (We hate using another C Runtime). Any suggestions?
Sat 30 Aug | dmooney | VC7 doesn't support MSVCRT when doing unmanaged code?
Sat 30 Aug | Roel Schroeven | You can use Borland C++Builder to build C applications linking to MSCVRT, I believe. Or you can use Dev-C++: http://www.bloodshed.net/devcpp.html
Sat 30 Aug |   | I like Codewarrior.  Been meaning to check out the Intel compiler.  Anybody use it?
Sat 30 Aug | John C | > VC7 doesn't support MSVCRT when doing unmanaged code? Apart from the nice GUI and the more compliant compiler, as far as I'm aware everything you could do in VC6 you can do in VC7 in an unmanaged sense. I like to think of .net as an add-on to VC7 that you don't have to use, rather than being an implicit part of it.
Sat 30 Aug | Ori Berger | MinGW [ http://www.mingw.org ] is a port of GCC to Windows + MSVCRT. It's the backend used by Dev-C++, and it works well (although rather slow when compiling C++ code with lots of template instantiations). There's also Watcom's compiler, recently open sourced [ http://openwatcom.org ] and Digital Mars C/C++ [ http://digitalmars.com ], which in earlier life was called Datalight C, Zorland C, Zortech C++ and Symantec C++. And there's of course the Borland compiler. If you only need C, then you might like Jacob Navia's lcc-win32, or Fabrice Bellard's tcc, both compile rather good code at amazingly fast speeds. KAI, which had a wonderful C/C++ -> C compiler was bought by Intel and the product discontinued AFAIK; There's still comeau C++ as a C++ -> C translator if you need it. Intel's own compiler is supposed to be very good. And VC6 is still a great choice if you don't need the .NET stuff.
Sat 30 Aug | A Software Build Guy | Intel's Compiler is not on the list as a replacement? Check it out. I looked at an earlier version of it for a project and it would work with both as a drop in replacement for VC++ command line and will allow you to use Visual Studio Editor as well. http://www.intel.com/software/products/compilers/cwin/
Sun 31 Aug | dmooney | John C, That's what I thought too, which is why I was confused by Firemode's comment. Firemode, care to respond?
A company selling your software and giving a cut | Fri 29 Aug | DontWantToBeStiffed
If anybody has had experience giving their software product to a larger company to sell in return for sales and maybe a product management type permanent role, what percentage did you get, and what were the cirumstances? Say the product would be fairly central to their business, gave them an edge, and was pretty flexible so it would give them opportunities outside their current sector. Any other thoughts on this area?
Fri 29 Aug | Mitch & Murray (from downtown) | If you are talking about a typical reseller, they usually negotiate for a 40% discount. That means, if you are selling your app/util/component/library gizmo for $100, your reseller will want to sell it for you and pay you $60 for each unit sold. Outfits like ComponentSource and Programmer's Paradise typically work this way. If you are smart and have a product in demand, you can do _way_ better than the 40% discount. Also note that outfits like ComponentSource and Programmer's Paradise will charge you various _significant_ fees to carry your product in their catalog, whether it be purely online or printed and mailed. If you use someone like DigiBuy and sell directly from your web site you'll pay around a 13% or so 'commission' or reseller discount. If you ditch those guys and get your own merchant account, you'll pay around 3%, but you are wide open to the online fraud angle, which is non-trivial, even for sophisticated developer's tools. More than 2% chargebacks to your merchant account and you walk the plank. Anyone here using ComponentSource as a reseller? Just curious .... Any other type of deal is pretty much whatever you can negotiate, with the above typical arrangements as a guideline.
Sat 30 Aug | DontWantToBeStiffed | Thanks for the reply M&M. I was talking about where a company with a sales force and an already established set of services, sold your product as part of their services, as it improved their services. It would be the sort of software that sales guys would come to your company and powerpoint you, typically sold for $30k - $200k. They would handle all aspects of the business, leads, sales, using the product, negotiation, but they want you to carry on developing and improving the product. So on the one hand there could be quite a few sales and I wouldn't have to do anything, on the other hand it's a good path to generate cash for them off my work. How much would people typically expect? 1%? 2%? 5%? 10%? Don't know whether I've given enough information.
Sat 30 Aug | . | It depends on how much extra work is involved for the sales people, how the price of your product compares with the other stuff they're selling, and how much they're likely to sell. If your product is just a small add-on to a bigger system that they would be pitching for anyway, a commission between 10 and 30 percent would be OK. If your product makes their system more attractive to their customers, then the lower commission would be appropriate. If they go to customers specifically to present your product, commissions between 30 and 60 percent might be fair. Also take account of whether this money would be just small change for them, or whether their income depends on it. Are they likely to sell one system a year, or five each day?
Sat 30 Aug | rickchapmam | ++++I was talking about where a company with a sales force and an already established set of services, sold your product as part of their services, as it improved their services. It would be the sort of software that sales guys would come to your company and powerpoint you, typically sold for $30k - $200k. They would handle all aspects of the business, leads, sales, using the product, negotiation, but they want you to carry on developing and improving the product.+++ This is typically called an :affiliate label relationship' and royalties range between 10% to 20%, on average. I have a section in The Product Marketing Handbook for Software which describes this relationship and some typical parameters. The 4th edition will have some more information on this class of relationship and what you can expect from it. I assume, from your description, that they also handle all marketing costs? Advertising, DM, packaging (if appropriate), etc? rick
Sat 30 Aug | DontWantToBeStiffed | Rick and '.' thanks very much for your comments, they are pretty valuable to me. The company to begin with would primarily be selling their business services (not software) and my product would be part of their services, with the aim to leave it there. Later on it will be sold just without its accompanying software, possibly through relationships with other companies. It's not part of a bigger system. To begin with they would be likely to sell 1 or so a month for 6-12 months, moving up to (1-20) copies a month. They would handle all marketing, advertising, networking, sales, etc although I would be instrumental to begin with in organising how the product would be supported and how people would be trained to use it as an employee of theirs. I've been given an initial offer of < 4% and I'm trying to work out whether really I'm not getting a good deal here - the product sales would have to run into millions before I made a significant amount, however maybe this is par for the course? I'm also like a typical techie not particularly a winner at negotiating, so I don't know whether they'd start playing hardball and what previously has been a pretty good relationship moving up to the deal. Any more additional advice very gratefully received. Rick Chapman, do you have more information on this product marketing handbook, any links?
Sat 30 Aug | Programmer Bob | You should start by calculating how much it would cost them to create an identical product themselves from scratch, including hiring the appropriate domain expert at $180 an hour (or whatever). Also a rule of thumb is to use a real cost of 2x - 3x the direct hourly labor cost (e.g. of programmers) which covers benefits, overhead and management. Then divide that cost by how much revenue you expect them to make off of it, and that will be the percentage above which they'll say it's cheaper for them to just make it themselves. Then go lower enough to make it a bargain for them. And show them your calculations, especially if it's something like 25 percent and they're still talking 3 percent. There's no way they could explain something that low if you have the numbers right there. Also you can add things like their X percent or $100K a year (say), whichever's greater; tie their ownership to your employment (at a nice salary) and if you are let go ownership reverts back to you; or you work as a consultant and their X percent royalty is fine but you do all further modifications at a minimum of $150 an hour; etc. But read a good book or two on negotiating and closing deals if you haven't really done it in the past, because it's not just proposing and counterproposing numbers, there's the whole human side that drives it (rationally or irrationally) that you need to be aware of.
Sat 30 Aug | rickchapmam | +++Rick Chapman, do you have more information on this product marketing handbook, any links? +++ www.aegis-resources.com 4% is way below industry norms and I'm unclear how you can make money from such a deal. rick
Sat 30 Aug | DontWantToBeStiffed | Programmer Bob, Rick Chapman - thank you very much for your helpful comments. I've been looking at the offer and thinking hmm, ok so on 1 million $ sales, I get >$30k before tax, which really doesn't seem fair for the effort employed on both sides, and doesn't really do it for me. PB: I obviously need to really go over plausible figures with a fine-tooth comb and see what's really fair and what isn't. You are right that if I have a few plausible scenarios of how things would work out the commensurate reward, benchmarked against what it would cost them to spec, develop and test, it would definitely help my position. Rick Chapman: thanks for the link, I've had a look, I should probably buy the book though it appears (on initial examination anyway) to be largely based upon marketing software from inside a company rather than from one individual to an organisation though there's bound to many parallels. I'm also reassured by your saying that 4% is well below industry norms. If I can find a few sources giving such industry norms my position would be a lot more defensible, don't suppose you have any to hand? (Sorry I keep asking you for links! =). You are right - if I take into account my current financial position the deal doesn't work out to be greatly profitable unless the company makes it *huge*. I worked out that if the company grew to have relatively huge references (comparable to a few multinationals), then I still wouldn't be in the money, and if it had product sales equivalent to intuit's turbotax (a completely unrelated product to a different market btw, but something that nobody can say isn't popular), then I can't even buy the house I would want, it doesn't seem right. Thanks again for your helpful comments.
Sat 30 Aug | DontWantToBeStiffed | references = revenue, apologies.
Sat 30 Aug | Mitch & Murray (from downtown) | 4% means they want a 96% reseller discount.  That is absolutely ridiculous.
Sun 31 Aug | rickchapmam | +++to be largely based upon marketing software from inside a company rather than from one individual to an organisation though there's bound to many parallels.+++ You said you wanted info and the book has it. I would recommend waiting till the 4th edition to purchase, however. All software marketing takes place 'inside' a company regardless of the company size. The decision to outsource your marketing IS a marketing and sales decision, and the reality is you will always have interests/issues with the outsource as to how your product is marketed/sold. I maintain a directory of resources for software companies at www.softwaremarketsolution.com; it will help you locate further information on this topic. Best of luck! rick
Wrapping an existing C API in ActiveX | Fri 29 Aug | Adam Preble
Hello all, One of my companys outputs is an API with an interface in C. This is an extensive API with just over 400 functions. We are increasingly having customers express interest in an ActiveX control for use in VB or (I am told) Macromedia Director, and wed like to make this happen. We know very, very little about ActiveX/COM/etc., and this project is involving a lot of learning, as you might imagine. My question is this: What is the most appropriate way to expose this as an ActiveX control? From my point of view, the actual details of the API functionality are unimportant; we just want to expose 400 functions to the user using the same call parameters as the C API, etc. This way documentation can be re-used, and we dont get involved with supporting/updating the interface. (the .ocx would be generated by a script from the .H files) I have been looking at the IDL file quite a bit and the module block looks like what wed like, but somehow I doubt that would make for an actual ActiveX object. (the API has no user interface, so it would be an invisible component) I also investigated creating a coclass, but ran into problems because of the mandatory HRESULT return type. I suppose theres .Net, which we have even less knowledge of, but from what Ive seen a COM object with a bunch of functions attached would satisfy our needs easily. Any insight would be greatly appreciated. Adam
Fri 29 Aug | Alex | I think your main problem will be in making any data types you have into data types safe for passing around through COM interfaces. Strings should be BSTRs, arrays are different,etc etc. You can't just pass pointers around. That all depends on how complicated your API is. However, I think doing this in C is going to be a nightmare. All the COM stuff I've done was in C++ using ATL, and that was still rather non-trivial and required a few books to get me in the mindset, and I even had some raw COM experience from taking a class that used Don Box's COM book. I think the best thing to do is get a COM book and start from there.
Fri 29 Aug | mb | this isn't particularly difficult, but you will need to write glue to adapt to the different model. (and you'll need to understand that model.) if you want a real activex object, you'll have to write a layer to interface the two, and here's why: datatypes. you should use the standard ones (VARIANT is a good place to start, it's sort of a superset of the types) refcounting. if you only have simple data types (e.g. this is a math API which maniplates numbers), you're OK. but if you have multiple objects, you should make it object oriented. so avoid magic handles, etc. even if you use magic handles, you'll have to manage refcounting. standard return types. you really should use hresult for almost everything, unless your methods never return errors. automation. most people call activex controls through IDispatch. this is what makes it easy to use in vb or whereever. you'll either need to write this yourself (PITA) or let a tool manage this. one place to start is let visual studio build the control for you. it's been a while, it might use ATL or MFC maybe VB or whatever. or there's probably some other toolkits around. an activex control with no UI really needs to implement very few interfaces. (i don't remember what... maybe just iobjectwithsite?) the activex layer will probably be very simple glue, assuming no object refcount issues.
Fri 29 Aug | Rick | I'd just keep it simple and have the COM (Active X) object sit in-between instead of wrap. Then you only have to maintain your C DLL or libs as always and won't have that clunky C++ thing sitting in there, unless COM and C++ is the way you're going to go with it anyway. Also you probably only need to make a simple COM object which you can still call from VB (or any other automation app); ActiveX is more intended for embedding in a GUI (e.g. if you were making a control for a dialog box) so has a lot of extra interfaces. But you can make a full ActiveX if you want, it'll just make some extra boilerplate code in the shell. So personally I'd start in Visual Studio with the ATL wizard and a new ATL COM project, insert a simple COM object with all the defaults and create an interface mimicking all your function names (and as others have pointed out this will probably be your biggest problem if you pass lots of data back and forth because not all types can be passed through COM like it can in C). Then the wizard will create the shell DLL and class with all of the function names stubbed out; from there it's 'just' a matter of linking in your .c library and calling the corresponding function for each corresponding method in the ATL shell class. But translating the data will be the toughest, in general you can only easily pass long, double, float, and bool or pointers to them (no int, or char *, or array or void or function pointers). For char * you need to convert to and from BSTRs which there are easy macros for (OLE2A and A2OLE), but for arrays you would need to create SafeArrays if you want to be able to pass back and forth to VB, which can be a little of a pain but is doable. But if you're just passing simple data types, once you get past the learning curve (of maybe a couple months if you want to understand COM, less if you just want to do enough to make it work) it's probably less than a week or so to wire it all together.
Fri 29 Aug | Mister Fancypants | 1) There's no difference between int and long under Win32, so you can 'pass ints'.. you just call them longs. 2) You can actually get away with a lot of COM subversion in many cases by passing around long pointers that are then cast into the right datatype inside the wrapper. Of course, doing this is generally a bad idea because if the object is run out of process, or (of course) remotely, you're screwed. But it can be a useful way to get things to 'just work' as a starting point for porting.
Fri 29 Aug | Chris Tavares | Modules in IDL aren't COM - they're something VB specifically added, and nobody uses them for anything. So that won't work. You're going to have to bite the bullet and do some interface work, unfortunately. You need to have HRESULT return values, and (if you want to be callable from VB) use what are called automation compatible types. Basically, limit yourself to what can be stuffed in a variant. It's annoying, and it's another layer to maintain, but it really is the best way for your clients. While you're at it, you might want to go a step further and do a little refactoring in your API. I suspect that among your 400 flat functions you've probably got several conceptual 'objects' - sets of functions that work together. Start grouping them into actual COM objects. Your customers will thank you.
Fri 29 Aug | Chris Tavares | Oh, and one more thing: if you need to do this in C/C++ and you don't have any in-house COM programming expertise, don't try to do it yourself. Get some training. Hire a contractor. Get a mentor in house. COM is really hard to wrap your head around the first time, and having a teacher really, really helps. -Chris (who does teach COM/ATL classes, but don't let that throw you)
Sat 30 Aug | lr | I did this for a company once before. I ended up having the COM object import the dll and just serve as an intermediary between the library & the external app. I went this way because the client didn't want me to see their internal code. That way they just gave me the dll and the docs and I went to work. Oh, and the docs will have to be different because you will have to pass around different data types. There's lot of other issues that need to be taken into account, such as the use of global variables, what kind and how many external apps will use the new ActiveX control, etc...
Sat 30 Aug | Ori Berger | Adam: You might be able to save yourself a lot of work using Doxygen [ http://www.doxygen.org ] or Swig [ http://www.swig.org ]. Doxygen collects all documentation/definitions from C and C++ source, but can output, in addition to the HTML / RTF / Latex documentation, an XML file that describes all the functions in your code; You can then translate this XML file to wrappers of your choice (alternatively, it will build a Perl datastructure for you that you can use instead of the XML). SWIG stands for Simplified Wrapper Interface Generator. It reads C and C++ code, and generates wrappers for a variety of languages (C#, Java, Python, Scheme, Perl, ...). It doesn't, as far as I know, have a COM backend, but one shouldn't be too hard. SWIG is very smart, and it can, e.g. have conversion rules that depend on set of parameters and possibly their names, so that if two parameters 'char *body, int len' appear in a parameter list of a function, it can pass them as one C# string parameter instead. Both of these are 'part two' of the solution - once you know how to do COM, they'll let you do it efficiently to 400 functions, instead of having to manually wrap each. However, you still have to go through 'part one' - understanding what you really have to do. You should try getting help from someone experienced (really experienced; not one of the clueless experts whose experience is more or less attending a Don Box seminar once). COM is basically logical and understandable, but there are many places where the devil is in the details, mostly IIRC with respect to threads and exception handling.
Sun 31 Aug | Matthew | Adam, I would recommend using VB 6 for this. If you choose to go this route, I would sign up for the VISBAS-L list at: http://peach.ease.lsoft.com/scripts/wa.exe?A0=visbas-l#SUB People on this list are very likely to be helpful - Tracy (male) on the list is very good at mapping C to equivalent VB API declarations. Seeya
50 Indian Software firms with CMM5 | Fri 29 Aug | programmerhatingprocess
Just happened to visit the below link. It lists 50 Indian firms with CMM level 5 http://www.sei.cmu.edu/activities/cmm/high-maturity/HighMatOrgs.pdf
Fri 29 Aug | John Rosenberg | I'm more interested in knowing how many of those firms can pass The Joel Test.
Fri 29 Aug | doobius | and an "F" in streetwise requirements interpretation.
Fri 29 Aug | Daniel Shchyokin | CMM 5 I believe means they use the same process for and PM system for every project. So?
Sat 30 Aug | Duex | The Joel Test - like the IT world cares about the Joel Test!!!
Sat 30 Aug | Michael Moser | i think its time to open a new forum specially dedicated to outsourcing and the Indian software industry.
Sat 30 Aug | no name | CMM is something for big companies and academics at SEI. Sounds great to business guys. There's not really much else to add, really. It doesn't have much to do with good software, unless the company has very poor capabilities to start with, which of course a lot of them do. There's probably a good opportunity somewhere for highly priced CMM management software, like $100,000 a throw.
Sat 30 Aug | JD | I wonder what really is getting accomplished by CMM5. I am currently working for BIG Indian IT company who is certified for CMM5 an now aiming for CMMi. I have worked on CMM5 projects and what I have? We have boring DP (Defect Prevention) meeting where nothing valuable gets added. We have all sorts of matrics to follow. COQ (Cost Of Quality)should be x%, DIR (Defect Injection Rate) should be y% and all sort of bullshit. I really wonder what CMM5 really adds to quality of deliverables! JD http://jdk.phpkid.org
Sat 30 Aug | Philo | 'I wonder what really is getting accomplished by CMM5.' a) Cost increases by a factor of 100% b) Billing rates increase by a factor of 200%+ c) When things (still) go badly wrong, it's easier to figure out who to point the finger at. Philo
Sat 30 Aug | Karl Max | Please justify that comment, Philo. And please tell us whether CMM Level 5 really helps companies write better software.
Sat 30 Aug | Philo | Sorry, it was an off-the-cuff comment regarding the idea that for many companies, CMM (ISO, etc, etc) is just cargo cult engineering. Philo
Sat 30 Aug | JD | Philo, I don't know whether cost increases or not, but certainly billing rates go up! In fact, when everyone in my company was FORCED to attend CMMi session, there was one IMP. point mentioned by tutor was that, we need to be at CMMi because of marketing reasons! I can relate CMM to Joel Test. Joel Test says that you ought to have Source control tool. CMM says that your project is at level 2 if you do configuration managment. I guess CMM is just FANCY word which tries to tell you in all so complicated way how software project should work. But I guess it COMPLETELY fails at that! JD http://jdk.phpkid.org
Sat 30 Aug | no name | Philo has nailed it. CMM is not about software quality; it's about big companies justifying their multi million dollar fees.
Sun 31 Aug | nancy | No wonder more and more firms are outsourcing to India... seems like 70's invasion by automakers from Japan with good quality is repeating again in software, this time from India.. when can american software companies learn about quality rather than trying to make a qucik buck with buggy software...
Sun 31 Aug | Philo | Does anyone know if CMM5 firms have a strong track record of *always* delivering higher quality software on time and on budget? How does that budget compare to non-CMM5 development? Philo
Sun 31 Aug | no name | CMM is not actually about delivering high quality software, or doing so on time and within budget. It's about big companies knowing what's happening in their development processes, so they can control it. Obviously, they would normally try to control it to produce good software, but they won't necessarily succeed. CMM theoretically lets them know what's going on so they can fix it. In a way, CMM is a pointer to the problems that most large companies have in developing software.
Sun 31 Aug | Stephen Jones | As has been pointed out CMM allows a big company t know what is going on and also guarantees that certain processes will be followed, which is useful if you are sending out a job that requires lots of people to sing off the same hymn sheet. Imagine you are building a house in a place 5,000 kilometers away (not an idle example as I'm doing exactly that). You would want very clear processes in place so that you know your instructions are being followed by all the sub-contractors. Sure, it would cost you a fair bit more than just letting them get on with it, but you prefer to play safe because you are making considerable cost savings anyway.
Sun 31 Aug | Philo | Oh wait a second - McDonald's is CMM5 compliant, right? LOL! What a great comeback - 'this company is CMM5 compliant!' 'Do you really know what that means? Let me point out that McDonald's is CMM5 compliant - would you really rather have them cater your wedding?' [okay it may be a bit of FUD, but I think Joel's 'Chefs vs. McDonald's' article is pretty on-the-spot here] Philo
Sun 31 Aug | Leonardo Herrera | I had a close encounter with CMM 3 once, when doing some outsourced work for a company in search of their certification. It was a sad sight. I, personally, prefer to adhere to The Joel Test. It's simpler and really effective. Add some XP practices a gusto, and you have a really good process.
80$ per/hr access programmer - 2 year contract | Fri 29 Aug | Rob
just heard from a friend working at an utility hes on such a contract.Is it possible in this market?
Fri 29 Aug | Mister Fancypants | Some CEOs pull in $140 million a year. Anything is possible, particularly if you know the right people...even in this economy.
Fri 29 Aug | no name | That can't be true.  I've been listening to the news reports and I'm pretty sure the entire nation is in danger of starving and/or losing their homes
Fri 29 Aug | rz | that is pretty close to one of the contracts i'm working on.
Fri 29 Aug | Mickey Petersen | Maybe not for everyone, but maybe he's really good at what he does and, in contrast to a "normal" access programmers, he works twice as fast?
Fri 29 Aug | Sgt. Sausage | Our "access guys" are currently billing at just that -- $80.00. It's a bit high for our area but they do quality work and our clients are willing to pay. Some of them got burned by the $20.00 an hour nephew of the CEO's brother-in-law who "knows Access", and are now darned glad to pay 4 times what they used to. FYI, going rates for this type of work in my area are $45 to $65, but we bill what we can get away with, what our market will bear, and we'll stay at $80.00 until market conditions either force us to lower it, or (*please!*) allow us to raise it.
Fri 29 Aug | Sam Livingston-Gray | Sgt. S - which area are you in? FWIW, I was at an Access user group meeting last week in Portland, OR, and we did a little anonymous poll. The mean billing rate for consultants in the room was ~$71, with a mean experience level of about 6.5 years. So $80 doesn't seem unreasonable, but the 2-year part sounds pretty sweet.
Fri 29 Aug | Noname | The real question is ... if they're willing to pay $80 per hour, why settle on mere Access?
Fri 29 Aug | Clay Dowling | Managers like Access, because it's something small they can understand. It also has the benefit of being the wrong solution for the job. If the app is important enough to justify paying that kind of money, surely it's important enough to cough up for a real application instead of a set of macros.
Fri 29 Aug | Norrick | Clay, it's been a long time since Access only offered macros. For most applications Access' VBA is sufficient. The lock file is a pain in the ass, but that's another story. Bck on-topic, 80/hr doesn't seem out of line for an Access programer who is building a large app. Also, most of the 'Access' jobs I've had have used Access as the client and the actual data repository turned out to be SQL Server or Oracle - dealing with either of those systems requires a slightly more broad skillset, and a commensurately higher bill rate. For reference, my bill rate has varied from $65 to $99 an hour over the past few years, many of those projects involving Access. So $80 is appropriate if the developers are good. Of course, since moving out to the agricultural capital of CA my rates have been cut almost in half, but that too is a rant for another day...
Sat 30 Aug | Stephen Jones | ---'If the app is important enough to justify paying that kind of money, surely it's important enough to cough up for a real application instead of a set of macros. '---- I don't know how many times we hear this ignorant drivel. There are two entirely separate parts to Access. The first is the IDE. The second is the Jet database engine. The fact that Access by default uses the Jet engine (which incidentally is the database engine for Exchange Server) doesn't mean that an Access developer is developing solely for Jet. Access works as a front end for any database (it is the second most common tool for Oracle development after Oracle Developer) and is especially tuned to write access projects for use with SQL server (the MSDE engine is otherwise known as SQL desktop server and is a crippled version of the full SQL server, so any Access developer doing an outside job should be using that instead of the jet engine, best left for single user stuff). As Albert has often pointed out Access VBA is considerably quicker to develop database applications with than straightforward VB, and VBA is to all intents and purposes the same language as VB6. If your idea of a 'real application' is one that delivers the same functionality but must be written in a language that takes four times as long, and costs eight times as much before cost overrun, all to bolster your ego and make you believe you are a real programmer, then don't moan if you get unemployed or your job goes to India!
Sat 30 Aug | Bella | Many firms don't know the difference b/w Access and C++.  (Programmer == Programmer)  And it's all supply/demand.  Many people ditched their Access skills in favor of bigger and better things.  So those who stayed behind, can cash in on the niche.  Unless, of course, it's not a niche, and everyone knows Access.  But I doubt that's true.  As in any language, there's people who've coded complex stuff with Access, and there are "Access in 21 days" people
Sat 30 Aug | Dave | Of the Windows development frameworks I've worked with (VC++/MFC, VB, Access, FoxPro, C#/Windows Forms), Microsoft Access is the only one that let me create the user interface I wanted quickly and easily. There are certainly many work-arounds that were necessary, but all other environments have user interface support that leaves a lot to be desired--and requires a lot of custom coding to get exactly what you want. Simple example: Why the hell doesn't the Windows Form combo box support a) auto-complete, b) multiple columns, and c) an event that tells you when the user types an entry that's not in the list. Why don't Windows Form controls have a cancelable equivalent of Access' BeforeUpdate event! I'd put the designers of the Access control library against ANYONE, especially now that I've had extensive experience with the latest and so-called greatest Windows Forms controls. I wish the Access team members switched over to the Windows Forms team when they were designing the class library. Here's a case study: our flagship application, which sells for US$6,000 a seat, was written entirely in Microsoft Access 97. Although now, after 6 years of aggressive development, we are re-writing the application in C#/Windows Forms, the end-user really doesn't care what it's written in, as long as it works and gets the job done. (And by the way, there is one macro--the one that calls Main() to get the application started.) Sidebar: Yes, I know, never re-write your product! But for us to serve our client base and continue to add more features and functionality, we need to get to a framework that supports a little bit more than Access. We evaluated upgrading to a newer version of Access, but we decided to bite the bullet, continue to move the existing product forward, and have another team re-build the app in .NET. If anyone's curious, here's a product page with a few screen shots: http://www.bid2win.com/product/benefits.htm There is absolutely no reason to poo-poo Access for developing ANY database-centric application. We've stretched Access to the limit and it's held up very nicely, thank you very much!
Sat 30 Aug | Bored Bystander | The premise of this thread - that certain tech skills are mundane, so they 'shouldn't' pay much - is an illustration of the big difference between technology skills on one hand, and business and marketing skills on the other. You have to turn it completely around - what's the value to the customer? Did the customer get something hard to understand, not meeting all their needs, but REALLY FAST? Or did they get every single thing they asked for covered, but it's delivered in a language that isn't necessarily L33t? Many experienced programmers think of compiled languages with baroque APIs as being closer to God and more capable of delivering enduring results than scripted languages with visual IDEs. I've been in this trap too. At the heart it's just geek elitism that says that the harder something is, the more valuable it is. And I've seen that lasting, enduring, 'beautiful' C++ get trashed, maintained into cruft, and thrown out just as fast as stuff written in the 'lower quality' languages. Yeah, you wouldn't write a game or an embedded application or a piece of real time code in Access. But if you tried to use C++ to develop a thick client database application you'd totally gag on the ability to respond to the client's changing needs. Also, many geeks tend to say 'gee, Access/VB is easy so it shouldn't be that much in demand, and C++ is really hard so it should be sought after.' 95% of the work out there in the marketplace is mundane application development, database screens and forms, and not anything that can take real advantage of C++. C++ and similar tools aren't just wasted, they're not even the right tool for end user based development. Product development - the stuff that can take full advantage of tools like C++ - is relatively rare. And not even high paying in most cases, because it contains that geek flattery that it's difficult, so candidates are lined up. I've worked around ex-EEs who would sandbag for months writing their pwecious widdle assembler routines while Rome burned...
Sat 30 Aug | JD | Couldn't agree more with Bored. I used to get paid around 45$ / hour for PHP work just few months back. This when you can get lot of people who will code for you at 10$ / hour. But the person selected me not only because I could code in PHP, but because he had trust in me, I was able to offer invaluable suggestions, on-time delivery of code, understanding his requirements CORRECTLY etc etc. So if you are doing the RIGHT thing, you can get paid handsomely! :) JD http://jdk.phpkid.org
Sat 30 Aug | Philo | Dave - if you've been doing Access reports for a few years and you're moving to C#, do yourself and your company a favor - buy ActiveReports now. It's the closest 3rd party approximation to Access reporting you can get. Philo
Sat 30 Aug | Albert D. Kallal | Bella gets the prize here: >>Many people ditched their Access skills in favor of bigger and better things. This is exactly the case. When a project gets larger, and requires more then one developer, then the design of the application will tend be different. More OO will be used, and even a 3 tier approach to the application will likely occur. Other issues such as source code control will also tend to gravitate large projects out of ms-access. These large projects also have larger budgets, and that also tends to pull out the really good developers from using ms-access. These larger projects also tend to be more interesting projects, and when you are developing shrink-wrap type software, then again languages like c++ become more appropriate. Ditto for large distrbutiion, and large sales of a software package. However, somewhere along the way somehow ms-access gets no respect! Ms-access is a fine development system. For most small business applications, ms-access is a far better choice then is VB (which is a better choice then c++). In fact, ms-access has a considerably steeper learning curve then does VB anyway (ms-access forms have about double the events and properties of VB forms). And, really, the programming language in ms-access is VB anyway. I on a regular basis create and use class objects in ms-access. It is not full OO, but for most applications the ability to create class objects seems good enough. For free lance developers under contract, the pay rate for ms-access is not much different then what most developers can get. (there is also more work in ms-access). You have to bring good development skills and good database skills (sql) to the table. Those business are paying for solutions (not c++ or ms-access). In fact, I don’t know of any developers who consult to a bunch of companies doing free lance work, and use c++. For a good steady job, c++ is going to be a better skill because that company is likely creating products for re-sale. You are not likely going to be doing business consulting, and using c++. When you do business consulting, and offer solutions to business, then ms-access is certainly right in the game. Albert D. Kallal (Microsoft Access MVP) Edmonton, Alberta Canada kallal@msn.com http://www.attcanada.net/~kallal.msn
Sat 30 Aug | Dave | Philo - Thanks for the tip. We ended up doing our reports in the current app in Crystal Reports, so the reports could stay 'external' to allow customization by client company IT staff. We haven't tackled the reporting end of things yet in the C# version, however, so I'll definitely take a look. I really don't like Crystal Reports, (can you say poor usability?) so I'd like to evaluate other options. Thanks!
Sat 30 Aug | Dave | Of course, I need to keep in mind all of those clients who have run out and purchased and learned Crystal Reports to customize the reports in our app. There's that dang business end of things popping up again, helping to drive technology decisions!
Sat 30 Aug | Philo | Compare your version of Crystal with what you need for .Net. If they're different enough and it means buying a new license, then it's like a new product *anyway*, right? Philo
Sun 31 Aug | Bella | Great post by Bored Bystander. 
Sun 31 Aug | Hans | Let me know when they are ready to replace the app with one programmed in a real language with a real development tool.
Good .NET book suggestions? | Fri 29 Aug | B-Cide
My project has just decided to officially adopt .NET as its next generation primary architecture and offered to invest in whatever training materials we need. Does anyone here have any good .NET book suggestions? We currently are ASP / VBScript / JavaScript / IIS developers, with Oracle database experience. Our primary requirements are hosting for Web Services and an open architecture for third-party developers to contribute applications and other types of easily installed libraries / modules. We will have a significant focus on security.
Fri 29 Aug | Jason Watts | Expert One-on-One Visual Basic .NET Business Objects by Rockford Lhotka The holy grail of n-tier architecture books (IMHO) for VB.NET
Fri 29 Aug | Mike McNertney | I found _Applied Microsoft .NET Framework Programming_ by Jeffrey Richter to be an excellent all around introduction to .NET.  It is done with C#.  I'd start with something like that and then move on to more domain specific books.
Sun 31 Aug | Jen | Understanding web services.
A Kinder, Gentler Time to Learn CS | Fri 29 Aug | Bob
I did my CS undergrad work in the early to mid-eighties. It was truly a kinder, gentler time to learn computer science. Today, Im back at school to finish off a CS Masters degree, and I cant swing a dead cat without hitting some zealot in the Windows/*nix war. Back then, we used whatever computer was available - replete with as many free punch cards as our hearts desired. Today, choosing an OS and a language to produce an assignment is a political choice, and one fraught with peril. Make certain to know up front which side your advisor is on! This isnt fun anymore. Maybe it was just my youthful exuberance, but it was so much more exciting learning CS with having to avoid the mines set out by the religious warriors. (1) Is this feud draining the fun out of CS for anyone else? (2) Do other professions have analogous feuds? (3) Will this feud ever end?
Fri 29 Aug | Clay Dowling | Might be time to seriously consider a different advisor. Changing is a major pain in the posterior, but it can be done (if nothing else, there are other schools....) The same war exists in the real world though. You'll develop your app using the platform your client/employer uses, or you won't develop it at all.
Fri 29 Aug | Rick | You didn't use punch cards in the early 80's! When I went to college we had to set each binary digit of each opcode one at a time with eight gigantic knife switches. Then we'd pull a lever like a giant slot machine and there would be a brrrrrrrrrrrrrzap sound, and we'd move on to the next opcode.
Fri 29 Aug | Rick | Hmmmmm, I might have just dreamed that...I also seem to remember using XWindows (this was mid/late 80's).
Fri 29 Aug | Phillip J. Eby | Maybe the zealots would act more peacefully towards you if you didn't go around swinging dead cats at them.  I know I wouldn't be very kind or gentle if you hit me with one.  Just a thought.  :)
Fri 29 Aug | flamebait sr. | We were lucky to have an operating system on our computer when I was your age, sonny.  We had to crank our computers by HAND, replace tubes every 5 minutes, and write to reel-to-reel tape by waving a magnet over the tape.
Fri 29 Aug | Burninator | Bob, my boy, ignore these johnnies. If you want to do *serious* computing, you need a Babbage Analytical Engine. Don't trifle with the new fangled machine-made ones only suitable for the delicate amongst us; only cast iron will do for the true gentleman computer scientist. Leave the shiny fripperies such as tape drives to the ungentlemanly types who mix soda water with their whiskey and wear brown shoes mid-week in town.
Fri 29 Aug | Tayss | When I was a lad in ancient Greece, we simply used our imaginations instead of silicon.  None of this empiricism to get in the way.  And actually it wasn't half-bad.
Fri 29 Aug | flamebait sr. | Forget those mechanical computers. The future is in water computing. Plus, the SQRT(x) function is always easy and fast. ;)
Fri 29 Aug | GML | On a side note, the expression is 'swing a cat', and has nothing to do with felines. The original expression comes from old sailing ship days. When a sailor disobeyed orders, he was often flogged w/ a cat'o nine tails. All hands were ordered on deck to witness the meting of the punishment, and the deck got so crowded that you couldn't swing a cat (o' nine tails, that is). Just your afternoon trivial BS.
Fri 29 Aug | The Pedant, Brent P. Newhall | Getting back on track.... Yes, this has sucked the fun out of CS for me. I get so tired of it. (Full disclosure: I regularly use Windows, Mac, and Linux, as well as several obscure OSs.) I find it's very hard to talk to CS people when they get into these holy wars. A good example of this occurred to me recently: at a coffee shop recently, I was typing away on my iBook when a young man came over and looked over my shoulder. He asked if I liked OS X; I replied yes, I loved it. He asked, 'What about RedHat 8?' I said that Linux just wasn't the sort of thing I liked to run. He said, 'Ah,' rather disappointed, and turned and left. :blink: As if that's the only thing we had in common to talk about. I later struck up a conversation with him and we had a good talk about Linux and operating systems in general. But because we used different operating systems, his initial reaction seemed to be that we were on different sides of the Berlin Wall. And it's not just operating systems, of course; programming languages can be just as rife with snipers and heavy arms. Other professions do have analogous feuds; in tech writing, it's tools like RoboHelp, as seen in Philo's recent thread here. I doubt that the feud will ever end, as people love passion.
Fri 29 Aug | pdq | When I was in school in the mid/late 80's it was VMS vs Unix on Vaxes. Let's say that somehow Windows disappears you'll soon have people debating which Unix is the right one. It's just human nature, or at least geek nature.
Fri 29 Aug | Johnny Bravo | Brent, be thankful. He might have alienated you with even more babble about how evil Bill Gates actually is, whether you liked Matrix Reloaded, and if Episode 3 will finally deliver some cool space fights.
Fri 29 Aug | Mickey Petersen | I'd be more worried if he didn't care at all WHAT he used or if anything at all!
Fri 29 Aug | Sgt. Sausage | ==>When I was in school in the mid/late 80's it was VMS vs Unix on Vaxes. 90-94 for me. The battle in our uni was VMS -vs- Ultrix (but same difference anyway). I imagine they're fighting the same battles.
Fri 29 Aug | Hardware Guy | We get nostalgic about the strangest things. I was waiting in line at the bakery a while back while the clerk told a customer what a wonderful time World War II was--the comraderie, the sense of common purpose. Wanting to have my danish served and not flung at me, I kept my mouth shut, and didn't point out that 300,000 Americans died in that war, and that any one of them would rather have lived in a time when they could stand in line at the bakery without getting shot at. In 30 years, people will be waxing nostalgic (and what's the best wax to use on a nostalgic?) about what a wonderful time this was to learn computer science/get involved in politics/invest in the stock market, etc. As Carly Simon sang, *these* are the good old days.
Fri 29 Aug | tick tock | Everything was great until 'Microsoft' became a household word. Then all the greedy people came.
Fri 29 Aug | flamebait sr. | You also forgot people's nostalga for the 50s. Which, as somebody who was not a child of the 50s, is a pretty ugly time. You had wonderful things like people who were different in any way being stuffed in the closet, red scares, Senator McCarthy, our scientists (Teller vs. Oppenheimer) denouncing each other in pretty much the same fashion as german scientists did in WWII and quite a few russian scientists worked. Oh yeah, and there's our 'internment camps' for the Japanese in WWII. I once saw a book that was a bunch of old Weekly Readers that were passed out to kids. And damn, you are talking about some real good brainwashing there.
Sat 30 Aug | Hardware Guy | Flamebait Sr: I know it's off-topic, but if you have a chance, go to: http://www.archive.org/movies/prelinger.php It's a collection of ephemeral films, including some of the 'educational' movies shown to American school kids in the 50's and 60's. Absolutely fascinating stuff, and a surefire cure for nostalgia.
Sat 30 Aug | Albert D. Kallal | It would be interesting to experience the University culture again. Without question things have changed since I was there. (early 80's....the IBM pc had just got going). The punched card machines where just being removed and hauled away when I got there. (in fact, we *could* use them, and often when short of crt terminals, a few of us would actually use punched cards to submit batch jobs (our code was on the mainframe, but we just used punched cards to logon, and exec some files). Most students did not know how to use those punched card machines, and thus they were always available. I also could work from home, as I was one the VERY FEW students with a modem (appleII + with a Hades 300 baud). However, as for those “wars”, I think a few other posters said it very well. Why bother with those wars? It is not like you are walking around with a sign on your head? You can choose to make this is issue, or not! I would just not bother with it. I remember for many years in school a had a bit of a penchant to disagree with some teachers. The really smart students figured out long a ago that you are to figure out what the teacher wants...and give that teacher what they want. You are not there to waste your time arguing with people. Albert D. Kallal Edmonton, Alberta Canada kallal@msn.com http://www.attcanada.net/~kallal.msn
Sat 30 Aug | Brad Wilson | '(appleII + with a Hades 300 baud)' I agree, 300 baud was Hell! :-p
Sat 30 Aug | anonymous | 1) I've encountered it whenever talking face-to-face with some academics, but there's always politics in college.  Theoretical people vs. applied, etc.  One big problem is when companies aggravate tensions between academics and administrators, by flashing money at the administrators.  So the profs had to justify turning down all that cash.  IIRC, Edsger Dijkstra once ranted about corporate attempts to dumb down UTexas' CS curriculum.
Sat 30 Aug | ms guy | As a developer who works for Microsoft I'm in the thick of it, whether I want to be or not. Even at very inappropriate times such as weddings and other family gatherings I get confronted by anti-MS folks. I agree that this feud is annoying, and perhaps driving people out of CS, but the good news is that it's usually possible to avoid if you want to. When I am confronted it's usually easy to find common ground and start chipping at the wall. My approach: 1) Don't start off insulting their platform of choice unless you really want to get into a debate. 2) I tell them the truth: That I'm interested in and passionate about (a) advancing the state of the art of technology, and (b) bringing those advances to consumers at an affordable price. 3) I talk a little about what I'm working on, and how that makes me one of the 'good guys'. (This works for everybody at MS because the mythical 'break the competition' job doesn't exist.) This doesn't work online (nothing does) but it usually does in real life. Based on my experience, if you don't like the feud follow #1 and then redirect the conversation toward what you or they are interested in other than OS/language/editor of choice.
Sat 30 Aug | ms guy | One more thing - Speaking of the feud, one good aspect is that it shows people are still remarkably passionate about what they do and the tools they use. This can be taken overboard, but it isn't entirely a bad thing. I see two main approaches in these types of debates: the first is the 'this is cool!' crowd, the second is the 'suchandsuch sucks!' crowd. If you surround yourself with the former you'll almost never have to worry about the feuds draining the fun out of CS. Accept the latter for what they are and just smile, nod, and move on.
Sun 31 Aug | Jim Rankin | ' I remember for many years in school a had a bit of a penchant to disagree with some teachers. The really smart students figured out long a ago that you are to figure out what the teacher wants...and give that teacher what they want.' If you're only there to give the teacher what he wants to hear, there's probably no point in going to a university (besides the slip of paper). In at least a few occasions, arguing with the professors resulted in much more interesting classes. And I never found it to harm my grades, as long as you gave serious thought to what you were saying.
how to make photo album | Fri 29 Aug | Jul
Hi, I tried to find software that can help me to make web pages with my photo from this year holidays for my friends. I found a great number of them. Have anyone used some or can you please recommend one. Thanks.
Fri 29 Aug | Horst | I am using ReaGallery Pro from: http://www.reasoft.com/products/reagallery/ Great tool! It works great for me and I like the excellent support from Rea company. In the past I've also used David Ekholm's JAlbum, you can try it too. Hope it helps!
Fri 29 Aug | Philo | I've been using ThumbsPlus for over five years http://www.cerious.com/ Philo
Fri 29 Aug | GenX'er | Any open source free ones around?
Fri 29 Aug | Yanwoo | Yes there is.
Fri 29 Aug | GenX'er | Link please?
Fri 29 Aug | Philo | http://www.google.com/ HTH, Philo
Fri 29 Aug | GenX'er | Thanks for being so specific!!!!! You make your point.... :-)
Fri 29 Aug | Roel Schroeven | http://bbgallery.sourceforge.net/ http://curator.sourceforge.net/ http://webmagick.sourceforge.net/ I don't know if all of them run on Windows, though. All of them operate without a GUI, but that doesn't detract from their usefulness.
Fri 29 Aug | Li-fan Chen | Most of the free ones break into two groups: 1. PHP, using a ported version of GD/ImageMagick to Unix or Windows, they usually batch creates (or on the fly) thumbnails and catalogs. And will serve 640/800/1024 resizing once you zoom in. 2. ASP, usually bundled with a free image processing component (because quality commercial ones are usually hundreds of dollars).. does same thing basically.
Fri 29 Aug | Li-fan Chen | Alright, some spoon feeding.. here's the one I use: PHP version: http://sourceforge.net/projects/phpix/
Fri 29 Aug | Dave Torok | Here's the one I use. Java 1.3, with image preview and template-based generation (using FreeMarker if you grab the latest sources from CVS). I contributed some code but the original author seems to have disappeared. Unfortunately no homepage, docs, or support. I might at some point clean up the project and add features, but it's low priority... http://sourceforge.net/projects/apg/ -=$>Dave<$=-
Fri 29 Aug | User of JAlbum | http://www.datadosen.se/jalbum/
Fri 29 Aug | Li-fan Chen | ASP: aspiv, you can get it at SourceForge.net
Fri 29 Aug | Andrew Murray | Heh, buy an Apple and use iPhoto.
Fri 29 Aug | Alex | I usually whip up a perl script and use ImageMagick to create the thumbnail and make it single step in a shell script. Expect about 45 minutes the first time and 5-10 minutes everytime you change the layout.
Fri 29 Aug | Robert Jacobson | Adobe Photoshop Album has received good reviews: http://www.adobe.com/products/photoshopalbum/main.html
Fri 29 Aug | w.h. | I just whipped up my own using Python, XSLT, XML, and the Python Imaging Library in a few hours.  For the primary reason that I wanted to goof with stuff I have yet to goof with.
Sun 31 Aug | Matthew | This topic was discussed (search the archives) about 2 - 4 weeks ago. I tried most of the alternatives mentioned, and found that: http://www.datadosen.se/jalbum/ Was the best I encountered - for free, anyway. ;-) Seeya
agreement to not work for competitors | Thu 28 Aug | anon
I have signed a work agreement with a non-american company, that I will not be able to work for any competitors for 1 year after I leave. Previousely I was working outside the states, and am now back in the states.I want to apply for a competitor, as they are making the same kind of products I was working on, and have some expertise in this area. If I do send my resume, and they contact my previous employer, whats going to happen?
Thu 28 Aug | Mark Hoffman | Before all the self-proclaimed Legal Beagles offer their advice up, take this advice: Leave here, and go contact an attorney. The laws differ from state and state and people's personal experience, although interesting, isn't really going to be useful. Go shell out a few hundred bucks and get a qualified attorney to advice you.
Thu 28 Aug | Philo | As a Virginia-proclaimed legal beagle, I agree 100% - you need to talk to an attorney. Do NOT take the advice of the company you are applying to - they have a conflict of interest and couldn't care less if you get sued. Find a lawyer. Philo
Thu 28 Aug | Michael Kohne | Umm... If you signed a non-compete, why do you think it's OK to try to go to work for a competitor? Just because the company you signed with is in another country and may not be able to easily sue you? You signed the agreement, so unless there is something in the agreement that is illegal, I don't see why you think ignoring it is OK. I think there is an ethics issue here - you signed up for a 1 year non-compete. Whether you should have or not is irrelevant, you did. Now you should stick to it. And yes, if you intend to try to break your non-compete, you should get a lawyer. You're going to need one. You also need to be careful about your future employer - if intellectual properly is an issue in your field, they might be somewhat nervous about hiring a guy who has no ethical problem breaking contracts.
Thu 28 Aug | rz | as far as i know, non-compete agreements within software in the USA are generally regarded as unenforceable. 
Thu 28 Aug | David Jones | Michael, Although I would generally agree that one should abide by their agreements, what ought to happen if 'anon' was laid off? If I quit, then it's entirely reasonable for the non-compete to apply. But, if I get laid off through no fault of my own, then should it still apply? I got burned by this in the past. It's something that you need to look at before signing one of these things: make sure that either it does not apply to a lay-off, or that you can get 'gardening leave' if this happens. And if 'anon' was indeed laid off, then yes, he ought to get a lawyer.
Thu 28 Aug | rz | david jones, how did you get burned? in my experience, these clauses are just boilerplate text in everyone's contract. it is actually targeted more towards senior manager types. when i lived in california I had to sign these agreements for every company i worked at, and I always ignored the agreement when i left. in software, anyone can be construed as a competitor, so I don't believe the clauses are enforceable.
Thu 28 Aug | Mister Fancypants | I'm with rz. I haven't yet worked for a company that didn't require me to sign a non-compete. Since the non-competes are unenforcable in California (where I am) especially when you aren't very senior, I just sign them and never worry about them again. I've never jumped ship from a company to a direct competitor, so it is a little different than what the original post was asking about, but I have no qualms with ignoring such agreements if they are so vague as to include any possible software company doing anything similar to a former company.
Thu 28 Aug | Philip Dickerson | The following is all opinion, not legal advice. Most employees sign 'non-compete' employee agreements under perceived duress/coercion - it happens when the employee is hired by a company and they feel that the employment offer will be rescinded if they don't sign the agreement. Such agreements generally conflict with the employee's 'right to work' and can be considered as 'constraint of [the employee's] trade' and therefore in violation of anti-trust laws. In the US, the enforcability of non-compete agreements varies by state, with California being the most in favor of the employee's right to work. However, even California allows non-compete agreements to be enforced in some cases (involving trade secrets or extraordinary training, for example). Even if the agreement is not enforceable, a former employer can still take you to court and cost you a lot of money in legal fees even if the employer eventually loses the case. A search on Google - for example http://www.google.com/search?q=%22non-compete%22+employee+agreement+enforcement will provide a lot more reading on the subject.
Thu 28 Aug | Wig | anon, non-compete agreements are often void because they try to grab too much for the employer, and courts don't consider that to be fair. For example, the agreements will be voided if the area they try to restrict is too broad in subject area, geographic area or duration, and also if you have not been provided with appropriate consideration ( payment ) in return for that restriction. If your agreement is in another country, it could well be that the restriction shouldn't and doesn't hold in America. Twelve months also sounds excessive, especially if you weren't senior. Contrary to the assertions above, consulting a lawyer is not necessarily a great solution at all. Many of them don't understand these issues well, or don't understand them as they impact on individual professionals (since they're more accustomed to seeing it from the employer's point of view.)
Thu 28 Aug | flamebait sr. | And the strength of the no-compete also depends on how much they paid whoever drafted said agreement. And, as an added bonus, even if they don't have a legal leg to stand upon, they still have the option of suing you anyways until they wear you out.
Thu 28 Aug | Herbert Sitz | 'Contrary to the assertions above, consulting a lawyer is not necessarily a great solution at all. Many of them don't understand these issues well, or don't understand them as they impact on individual professionals (since they're more accustomed to seeing it from the employer's point of view.) ' I'm sorry, but this sort of statement simply indicates how poorly suited this sort of forum is for getting accurate advice on legal questions. Re: 'Many of them don't understand these issues well' -- Lots of lawyers have plenty of experience with noncompete agreements. Noncompete agreements are common. The law relevant to noncompete agreements isn't specific to software development at all; the same issues will generally apply to any sort of noncompete. And a decent lawyer will have a good feel for whether one is non-enforceable or not. Re: '. . . since they're more accustomed to seeing it from the employer's point of view' : If a lawyer can see it from the employer's point of view, then he can see it from the employee's point of view; they're simply flip sides of a coin. Anyway, there are two sides to any dispute; what makes you think that the employer side is the only one that lawyers have experience in? Re: '. . . will be voided if . . . you have not been provided with appropriate consideration ( payment ) in return for that restriction.' : this statement is basically just inaccurate. Yes, noncompetes are generally tested to see whether they are 'reasonable' (according to whatever 'reasonable' has been fleshed out to be in previous cases in that jurisdiction). But the amount of 'consideration' is irrelevant. There must be some consideration in order to have a valid contract. But it could be 50 cents. To the original poster: Forget about getting advice on the internet and find a good small-business lawyer. The lawyer doesn't even have to be versed in software issues for this one. My two cents as a former lawyer: 1-year is generally not an unreasonable amount of time for a noncompete in any jurisdiction (unless your employment agreement with original employer was for some absurdly short amount of time, like 2 weeks), and even though there might be an argument that some company you want to work for now is not really a 'competitor', if even you acknowledge that it is a competitor then you're not in good shape. By your own admission you seem to want to wriggle out of something you agreed to. Check with a lawyer on the out-of-country work thing as well, there may well be a wrinkle there that goes in your favor (like a practical inability of the foreign company to enforce the agreement). Even if you've got some wriggle room legally, though, the noncompete could well cause a prospective employer to look past you for someone without potential contractual problems.
Thu 28 Aug | Wig | To the original poster - if you do check with a lawyer, let us know how his advice compares with the overview you've obtained here. Herbert, as you would know, contracts can be and are struck down if they are considered unfair. As one person above observed, this includes the situation where the employee was not given adeqaute time to consider the contract, or in some other way was pressured into signing it. Most recruitment contracts, for example, have clauses that are pure fiction, and will be overturned if they're tested in court. Flamebait, the thing is that, for most companies, it's not worth expending expensive legal resources on every little incident. As well, companies face the risk of a public relations backlash if they go off half-cocked on these issues.
Thu 28 Aug | rz | not to flame herbert, but the first time i encountered a non compete clause, and wanted to jump ship, I went to a lawyer, and what he said was basically what Herbert said, which can be summarized as: 'Your noncompete could be an issue, or maybe it isn't an issue. You might be sued, or might not be sued. In either case, I don't really know, but I am a lawyer nonetheless.' only the difference between getting advice online, and from the lawyer, is that the lawyer's advice cost $673 USD. Basically if you take this issue to a lawyer, the lawyer will either say 'your noncompete means nothing' or they will say 'your noncompete does mean something' but most likely they will say 'your noncompete may mean something, or it may not mean anything.' the only difference between the advice you will get from random internet people and a lawyer, is that the lawyer will bill you for the advice. My advice is, unless you are stealing proprietary IP from your current employer, your noncompete means nothing at all, and the fact that it is a noncompete signed in a different country means that it means even less.
Thu 28 Aug | T. Norman | >'If a lawyer can see it from the employer's point of view, then he can see it from the employee's point of view; they're simply flip sides of a coin.' Yeh right. If a software manager can see something from the employer's point of view, they can see it from the developer's point of view also, right? Nonsense. It's not merely flip sides of a coin; it's more like two sides of the Great Wall of China. You don't want a lifetime prosecutor who has little or no experience doing defense to represent you when you are on trial. Neither do you want the lawyer who just finished spent 20 years working for BigCorp to lead a class-action suit on behalf of consumers. If you're looking for a lawyer, find one who spends much or most of their time representing the employEE.
Thu 28 Aug | Herbert Sitz | 'Herbert, as you would know, contracts can be and are struck down if they are considered unfair. ' Virtually never. There is what is called the 'doctrine of unconscionability', in which a contract can be voided if it's found to be unconscionable. But the legal standard for unconscionability is extremely high. Mere unfairness will not do it. If you can find a case outside of the cases lawyers learn in law school where a contract has been voided for unconscionability, I'll eat my hat. Almost the same thing can be said for the doctrine of duress and coercion. Yes, if these are present a contract can be void or unenforceable. But the legal standards for duress and coercion that are extremely difficult to satisfy. It's not just when the man-on-the-street feels one side was under pressure to sign the contract. And T. Norman -- I'll stand by my statement that the two sides are two sides of a coin, and that lawyers can do both equally well. Remember law is adversarial: if you don't know how the other side is looking at things then you sure aren't going to do a very good job planning your own case; you have to able to predict what the other side's best argument or plan of attack is going to be. If you do a good job of representing employers, you know exactly how to do a good job representing employees. Sorry if you think it's nonsense. It's not. If you were to tell a seasoned criminal prosecutor that they'd make a poor defense attorney because they could only see things from the prosecutor's point of view, they'd laugh. Many of the best criminal defense attorneys got their start as prosecutors. (Most don't go from doing defense to prosecutorial work because prosecutors are govt positions and don't pay as well.) You said, ' If a software manager can see something from the employer's point of view, they can see it from the developer's point of view also, right? Nonsense.' Well, I think a software manager could see it from the developer's point of view if they had any interest in doing that. But because of company politics -- and because the parties get emotionally involved -- they apparently usually don't. Like I said, the legal system is set up so that lawyers have to be able to pretty good at seeing things from everybody's point of view. If they don't they're not going to do a good job. There are no politics involved that work against them doing this, and lawyers learn and practice starting in law school to do as much as they can to keep their emotions separate from their arguments, precisely because they need to be able to do everything t