last updated:19 Apr 2004 10:17 UK time
|
 |
|
(Comments added for week ending Sun 18 Apr 2004) | View Other Weeks
|
|
| Extreme Anxiety about Flying | Sun 18 Apr | Jacare |
| Im a consultant who basically flys for a living. I live in the Midwest, but routinely fly to consulting engagements all over the country. California to New York, to Florida and all points in between.
But in the last year or so Ive developed an incredible anxiety about flying. More specifically, on the takeoff I go into what can be described as complete and total panic. I cant sit still, cant read, basically I close my eyes and pray. This is peculiar, since Ive flown for the past 10 years or so without this, in fact, I used to LOVE the takeoffs. Once we are airborne, and into smooth air above the clouds, I calm way down and am OK. I dont even mind landings, unless its choppy, then the panic returns. Today we took off and there were 30-40 mph gusting winds here, and we had to take off into them and then do a complete 180 because we were going in the opposite direction. So we were in this chop and a very steep turn, and I was just about crawling out of my skin. I looked around, and the other passengers were sleeping, reading, yawning. I just hoped they did not notice me squirming in my seat.
If its a night flight, Ive taken to hitting the airport bar and spending 20 bucks on drinks before the flight, which helps a lot. If its morning, I really cant drink, so Im fully alert for the whole experience. Im considering going to the doctor to get a few valium for the weekly round trip.
Does anybody else have this anxiety? Do you think it can be related to all this constant terrorism talk? |
| Sun 18 Apr | dir at badblue com | Hmmm, the obvious answer is to visit a professional (therapist, psychologist, etc.) to get a handle on the anxiety. Consumption of alcohol will not be a good solution for the long-term - period.
Hypnosis or self-hypnosis may be worth investigating. Self-hypnosis is -- basically -- the repeated practice of relaxation techniques along with 'programmed' messages to yourself. Once you're in a completely relaxed state, for instance, you might program yourself with 'the odds of an airplane incident are far better for my safety than the drive to the airport...' and other fact-based means of dealing with the situation.
Google for self-hypnosis and talk with a professional to help get a better handle on it. Good luck. |
| Sun 18 Apr | no name | I wonder if you are afraid of dying? You say it only happens when something 'dangerous' happens? |
| Sun 18 Apr | FullNameRequired | heh, Im a bad flyer as well.
I dont hit the total panic you describe, but its merely a question of degree.
What particular interests me is that your symptoms are relatively new...Ive _always_ been a bad flyer, most people I know have _always_ been good flyers.
The change in your level of anxiety is almost certainly due to some particular problem IMO.
too much stress? |
| Sun 18 Apr | Cable | Suck it up and deal with it, you wimp! |
| Sun 18 Apr | anon | I experienced the same thing. When I was younger flying never bothered me. Then one year, I started getting very nervous about takeoffs, landings, and turbulence.
It took me a while to figure out what it was. It coincided with having children. For some reason, having kids gave me a exaggerated fear of my own mortality. |
|
| Need network setup help | Sun 18 Apr | anon |
| Im setting up a home network and Im about to rip out my hair. I admit, I love writing programs but I hate dealing with the machines they run on.
Ive got a desktop PC and a laptop networked through a D-Link DI-514 wireless router (the desktop uses a cat5 connection, not a wireless one.) Both system are ruinning Win XP and I used the network setup wizard with no problems (at least I thought).
Both PCs have internet access. The desktop can see: the laptop on the netwrok but not access it. The laptop can neither see nor access the desktop.
I added the IPs for both to my trusted zone in ZoneAlarm and each was able to ping the other.
One goal I have is to use the laptop to connect to the SQL Server and IIS running on the desktop. So, Ive setup one printer (directly connected to the desktop though USB) and one folder on both the desktop and the laptop for sharing as a trial. Still no luck.
Also, although the desktop sees the laptop, if I click on it in Explorer, I get an error message stating that the desktop does not have permission to connect to the laptop. It said to see the admin, so I gave myself a good hard look it the mirror. That didnt help.
Any clue-ful people out got any ideas? |
| Sun 18 Apr | Philo | Check the connections to make sure you've disabled the Internet Connection Firewall.
Philo |
| Sun 18 Apr | Li-fan Chen | After checking that (thanks Philo!) be sure to check Zone Alarm. At this point you are basically using your DLink box as a stateful NAT/Firewall. So let it do its job by configuring it using the web interface provided. From there configure your Zone Alarm to basically do only Application Firewalling (control outgoing traffic based on application or library) and turn off all the incoming firewalls by creating one trusted network where both of your PCs can reside in (192.168.1.* is probably the net). |
| Sun 18 Apr | anon | Cool. The XP internet connection firewall was enabled on the laptop.
[Ther ZoneAlarm advice was good too, but I had already done the tweaking on it.] |
|
| email (POP/SMTP) via port 80 | Sun 18 Apr | Liam |
| Can email be downloaded via firewall/proxy if only port 80 is open?
As an IT consultant for various companies I sometimes have access to internet (in companies) but only http (port 80).
Is it possible to download email using only this port. I was thinking of a server / proxy type arrangement where I point my email program to a proxy running on my laptop and it then communicate with a internet server (via port 80) that is getting / passing my email to my POP/SMTP server.
Anyone know of services / software available that can do that.
Many thanks
Liam |
| Sun 18 Apr | Philo | If you control the server then this should just be a system setting (provided you have an ip available to point mail.domain at, since this means your webserver won't work)
Alternatively, get a Hotmail account - you can point that at POP accounts to retrieve email. I lived like that for a long time as a contractor.
Philo |
| Sun 18 Apr | www.marktaw.com | And if hotmail is bad for you, install this:
http://www.squirrelmail.org/ |
| Sun 18 Apr | Bored Bystander | I *THINK* Hotmail suspended the ability to act as a POP client a long time ago (like last summer). I know that I switched to Yahoo email in order to do email via the web.
Now, the only reason I check my Hotmail account is to keep my Passport active for my Action Pack subscription. |
|
| Safest way og installing linux | Sun 18 Apr | linux looker |
| greetings,
i have only a C drive. I want to purchase another drive and install linux there. if i go for a USB hard drive, it should not give any problem right |
| Sun 18 Apr | Gordon Hartley | I doubt you'll be able to boot off an external hard disk.
I'd recommend downloading Knoppix. (http://www.knoppix.org). Knoppix is a version of Linux which can run from CD without having to install it to a hard drive.
Also, rather than purchase a new hard drive, you might be better off installing linux onto a virtual machine using virtualpc or vmware.
Then if you've decided you want to install linux, you can decide on what hardware to buy... |
|
| fix and extend buggy unfinished software or.. | Sun 18 Apr | Savage |
| At the beginning of last year I was given unfinished software written by two newbie software developers that had recently left the company. After going through a bug fixing cycle I realised the software was only 20% finished and on top of that was riddled with bugs. I rewrote all of it (not included a new piece of functionality) in 6 weeks. It is now at the clients being evaluated. This worked for me. As I was writing the new software, I looked at the joke code left behind to get clues about functionality etc.
Now my next task is polish and get out the door some software written by a company co-founder in the next two months. If done full-time the software Ive been given looks a months work or so. The company isnt a software development one and so company co-founder here doesnt mean someone who has founded a software company.
The co-founder told me the software works 30% of the time. He tried to show me a demo of it working on Friday but even for one set of input data it only worked if certain input parameters were supplied.
This software is unfinished. It has virtually no comments in the source code. There is no documentation about how the code works.
I am wondering again whether I should rewrite the thing from scratch or go through a cycle of bug fixing and extending.
I find this annoying. It would be faster if I could have been given a written list of pointers rather than software that doesnt work.
The source code Ive been given looks hacky. The co-founder told me he likes writing all loops as
for i = 1 to 100 .... Next i
as while loops can spin forever but for-next loops always terminate. Hence the code he has written will either run for more iterations than needed or silently fail with less iterations. The co-founder believes this technique is defensive programming. The code also uses on error resume next to surround code that would normally blow up. |
| Sun 18 Apr | Tom H | I'd just rewrite it. The FOR loop thing is fairly common, although most people break out of the loop when the terminate condition is met.
And don't fret about working without a spec; the people who went before you didn't have one either. Just leave nicely commented code so the next guy doesn't say the same thing about you... |
| Sun 18 Apr | Mr Curiousity | Determine your objectives, and go for them. The coding style that the cofounder used does not matter, what matters is that you keep getting your paycheck. Keep this in mind.
The place you work at seems to rely on 'C' coders and you aren't going to change that. Adapt or else ... If you do not like such environment, try to find some other jobs where you could work with 'A's - i.e. people who actually know what they are doing. |
| Sun 18 Apr | Kyralessa | Rewrite it from scratch, but keep the founder's code around for reference; I've found that even really crappy code can sometimes help you understand the project's specs. On an Access database redesign I did a couple years ago, the old database wasn't usable, but it was still valuable for reference and it helped me know what questions to ask to clarify the requirements. |
| Sun 18 Apr | Mr. Analogy | Diplomacy is the art
of letting someone else get your way.
Have you asked the customer (company founder/coder) what HIS goal is?
His ego MAY be invested in his code. So his goal may be 'make my code shine'.
However, if he is truly a businessman his goal is likely 'make a program that can make me money'.
If so, you can DIPLOMATICALLY explain to him how you can use his prototype as an EXAMPLE but that it will be much easier to start from scratch so that you can hand craft a solution. Find some benefit to HIM of starting from scratch. A benefit that does not mention 'we want to get rid of your crappy code'.
My $.02 worth as a company founder and amateur (but learning !) coder.
P.S.
If it were me, all I'd care about is having code that:
a. Works
b. Is extensible by me. (i.e., good, clear architecture, clear design/variable names are more important than comments.) I ascribe to the XP view of 'the code is the documentation'.
But that's me. |
| Sun 18 Apr | Dennis Atkins | The 'don't rewrite' rule only applies to finished software. For stuff that has never functioned and in the state you describe, write from scratch is the correct choice. I would not even call it a rewrite since that would imply somethingh was written in the first place which isn't really the case. |
|
| what software to write | Sun 18 Apr | |
| i have plenty of time and i want to write some application but i really do not have any idea what to write. i do not want to copy just something, i do not want a next time tracking tool.
any ideas? |
| Sun 18 Apr | Fothy | Do you want to write something to sell, to give away, for yourself or for others?
If you can't think of anything then whats given you the desire to write something. |
| Sun 18 Apr | no name | http://www.lazyweb.org/ |
| Sun 18 Apr | Fred | A good HTML editor as an ActiveX control. Joel could be your first customer :-) |
| Sun 18 Apr | Eric Debois | HTML editor component that produces XHTML 1.0 strict |
| Sun 18 Apr | no name | i have a desire because i do love programming, and want to solve problems. obviously i want to sell it but that's not the main point. |
| Sun 18 Apr | TomA | > A good HTML editor as an ActiveX control.
Like this one? http://softpae.dsidata.sk/_products/xeditor.exe
Competition is good. I keep forgetting :) |
| Sun 18 Apr | Fred | Cool :-) And @ E99, not too expensive. I'll give it a shot. Thx |
| Sun 18 Apr | Tom H | I'm sure there's something in here you could help with. And you'll be working with experts who will give good advice.
http://sourceforge.net/ |
| Sun 18 Apr | Tom Vu | Make www.swig.org even easier to use. Like read in a directory of C code and automatically create an interface and module. |
| Sun 18 Apr | Li-fan Chen | I have a question about this, there are thousands of custom applications out there being written at this very minute. Why can't there be a Starbucks of custom software? You just go to a local street corner, ask for a database-backed simple software backing to your company's database (or the datastore webservices of your choice). Like I need to do a quick poll of people's feeling about the new product line for this year and any previous years. So I would go to This Softbucks and get a rep who will break it down to two phases (1. Set up experiment, execute 2. Analytics)... and drop down USD$1,500 and come back for a few more sessions down the line.
I mean it's all template ware now days. Sure for some projects you have to take the pain of hooking it up with strange databases or hard to deal with devices like the Pilot but it's seems possible. |
| Sun 18 Apr | Anon-y-mous Cow-ard | Sure! And while we're at it, why don't we just cure world hunger, democratize the Iraqis' and put a man on the planet Mars!
I mean it's all easy once you forget about all forms of reality! |
| Sun 18 Apr | Edward | I'd settle for software for reading name and emails from the top 50 contact management/ERP/CRM packages out there. |
| Sun 18 Apr | Mr. Analogy | 'I mean it's all template ware now days. Sure for some projects you have to take the pain of hooking it up with strange databases or hard to deal with devices like the Pilot but it's seems possible. '
The challenge in programming (especially today) is not the programming, it is accurately defining the problem.
Defining the problem has always been the hard part, but 20 years ago it was eclipsed by the challenge of programming.
And the problem is that the custome often has not thought through the problem, on the solution. That's why every company creates their own CRM software, thier own database software, etc. You've got legions of programmers working on INTERNAL company apps, all solving the same basic problems (billing, tracking inventory, etc.) but with different solutions. |
|
| C-style variable definitions suck | Sun 18 Apr | Egor |
| Isnt "MyValiable : SomeType" a lot more readable than "SomeType MyVarianle"? This unfortunately ubiquitous convention doest stop to irritate me since I learned C 10 years ago. I was told C borrowed it from Fortran (can anyone clarify?), or some other obsolete language. It makes programs harder to read because variable name usually tells you more than name of its type, and people read left to right. Im sick if it being dragged to the next, and next generation of programming languages. First to Java, then C#. Pascal, and SQL just get it right, dont they? |
| Sun 18 Apr | Green Pajamas | I guess it makes parsing harder too. Not so sure about it though.
But at least, I can find one useful application for such a syntax.
int first, second, third, fourth;
Can be better than:
Dim first As Integer
Dim second As Integer
Dim third As Integer
Dim fourth As Integer
And what about this?
MyClass object = new MyClass();
Can certainly be better than:
Dim object As MyClass
object = New MyClass
Or about this syntax in C#:
using(SomeClass object = new SomeClass())
{
};
Can't be done in VB.NET :) You have to do:
Dim object As SomeClass
object = New SomeClass()
' Do Whatever
object.Dispose()
I'm sorry I do not know VB, probably I didn't write the syntax properly. But it's similar to this. |
| Sun 18 Apr | Giovanni Corriga | I prefer no manifest type definitions at all... |
| Sun 18 Apr | Duncan Smart | I'm no VB-er, but:
Dim first As Integer
Dim second As Integer
Dim third As Integer
Dim fourth As Integer
can be shortened to:
Dim first, second, third, fourth As Integer
And:
Dim object As MyClass
object = New MyClass
can we written as
Dim object As New MyClass |
| Sun 18 Apr | Green Pajamas | Not a VB'er either :) |
| Sun 18 Apr | blargle | Dim first, second, third, fourth As Integer
check the variables type for first/second and third. |
| Sun 18 Apr | Sexist | >Dim first, second, third, fourth As Integer
>check the variables type for first/second and third.
That bug was fixed in VB.NET, by the way. In VB.NET, all four variables will be Integers, just as you'd expect.
As for the original poster's claims about 'Name Type' being more readable than 'Type Name' -- that's as ridiculous as another debate about tabs vs spaces. Clearly, the more readable one is whichever you happen to be more familiar with, and any attempts to claim one or the other is inherently more readable is just silly. |
| Sun 18 Apr | Wayne | If there is no word like the 'as' in VB declarations to tell you which one is the Type and which one is the Variable, then it doesn't really matter if Type or Variable comes first because you'll just have to know.
However, do you really think that:
FILE File = null;
is better than:
File as FILE = null;
?
The second syntax clearly conveys that FILE is the type and File is the variable.
The second syntax doesn't exist in any language that I know of, however there's no reason that it couldn't be done it that way. Except that snooty C/C++ people would not use the 'as' keyword out of contempt. |
| Sun 18 Apr | Wayne | Also, we should be making computers talk like us, not the other way around. |
| Sun 18 Apr | Tom | The problem with the inital post is the suggestion Pascal got something right...
I don't think this makes a great deal of difference. It reminds me of arguments about where you put the braces, or whether there's a space after keywords but not after function names, or whether you neatly tab your declarations so the names match up, or whether your tabs equal four spaces or eight. (Just about the only thing you can say for sure is that indenting with spaces is crazy talk.) How carelessly do your eyes whip over the code, and how little do you pay attention as you're reading, that this is a great problem?
It might beg the question, but the C way is most assuredly the better one, because C and its bastard offspring are more popular than other languages. |
| Sun 18 Apr | Tom | Oh, someone posted about VB whilst I was composing my masterpiece -- I ignored VB, which I shouldn't have (bet it's more popular than C, even if you include its successors!) but its verbosity -- "as" :) -- makes the type clear. If you just use punctuation to separate type and name, neither is really better than the other, but the C style wins because of its popularity. |
| Sun 18 Apr | hoser | As if it matters. |
| Sun 18 Apr | hoser | Oh, hey, why don't you do this:
#define as
Then you can say:
File as FILE = null;
and it will be the same as:
FILE File = null;
And since you hate the C syntax, do
#define BEGIN {
#define END }
And you will be all the bomb with your VB/PASCAL friends. |
|
| Do people actually buy software? | Sun 18 Apr | alien |
| I am a computer science student from a developing country. Here, software is supposed to be free and software development is supposed to be cheap. The entire effort goes into completing projects outsourced from the developed countries, especially USA.
I dont like doing contract work and I am more sort of interested in selling commercial software. I know I can sell software to small-to-medium business - i.e. I can target vertical markets.
But, at the start, Ill need to sell software on the Internet so that I can at least purchase *unpirated* software, set up a small development shop and hire developers. So, I was wondering whether software on the Internet really sells? What about the web applications? When I go to some website such as 411asp.net, I can find hardly any reviews for most of the web applications. Do people actually buy web applications for their websites? How much can I earn in a year to start my own development shop locally (and buy *original* development tools, of course)? |
| Sun 18 Apr | Joe Hendricks | Some older, but now famous Internet-based success stories to perhaps investigate how they started:
WinZip, Homesite, ZoneAlarm, mIRC, ACDSee, wsFTP, Omnihttp. |
| Sun 18 Apr | anony coward | So you want to use pirated software to write an app that you can sell? You won't get mad if people steal your software, will you? |
| Sun 18 Apr | alien | Did I ever say that?
Ever heard about Microsoft ISV Empowerment program? Now, that's affordable.
By *unpirated* software, I meant non-Microsoft tools that won't be available through the ISV Empowerment program. Till then I can live with free software or trial versions. Does that make you a bit happier? :) |
| Sun 18 Apr | Mr. Analogy | ', I was wondering whether software on the Internet really sells? '
Do you mean using the Internet as a marketing channel or a technological delivery platform?
(I.e., the latter means an ASP or web app).
One problem with using the internet as your only marketing channel is that your company doesn't have 'wheight' or 'substance'. You could be some kid with a website.
That may not matter if you've got cutting edge software.
HOWEVER, in our case we do not have cutting edge software. We have found that we have to have a paper catalog to give us a sense of 'being a real company'. The internet is a great source of sales leads, but it takes a PHYSICAL deliver for the customer to feel like they're getting something they should pay for.
If it has now physical wheight (just bits in the ether) then it may be seen to have no value by inexperienced (non technical) users. |
|
| Whois for .NAME email addresses | Sun 18 Apr | Green Pajamas |
| .NAME domain names and email addresses are both purchased separately.
Its possible to perform a whois on a .NAME domain name, but what .NAME forwarding email address? |
| Sun 18 Apr | no name | aren't the subdomains for .name also purchased seperately? |
| Sun 18 Apr | Green Pajamas | first.last.name is to be purchased
first@last.name is to be purchased
anything.first.last.name is the part of your domain name.
anything@first.last.name is email on your domain name.
I think you can buy domain.name too.
But the problem is, how do I perform a whois on first@last.name email address. |
|
| emacs books | Sun 18 Apr | C Rose |
| Whats the best book on emacs? Im looking for a book with a good tutorial for beginners coming to emacs from the Windows world, but which is sufficiently complete to include information on customising emacs and using ELisp. Thanks in advance. |
| Sun 18 Apr | Tom Vu | read the tutorial...
Get a tutorial C-h t |
| Sun 18 Apr | Dennis Atkins | I liked the OReilley book. The online (old sense of online) tutorial I did not enjoy. |
| Sun 18 Apr | Egor | Printed manual is sold on Amazon. For a beginner's intro, check out this one:
http://freebooks.by.ru/view/EmacsIn24h/ |
| Sun 18 Apr | C Rose | I have tried the tutorial -- and tried to learn emacs -- several times in the past. The problem with the tutorial, for someone like myself who has been using non-UNIX computers for well over a decade, is that I am used to things being a certain way. Although I see the logic in using alpha keys to navigate the text, I think it's silly when there is a pad of arrow keys on the keyboard. In addition, the tutorial is quite patronising, and seems to have been written sometime in the '70s, when nobody had seen computers.
I'm actually getting somewhere this time, and starting to like emacs. I've got things set (reasonably) sensibly for someone who has used Windows for too long. But I'm trying to take advantage of the situation before I resort to my current favourite editor.
Dennis: Which O'Reilly book -- 'GNU Emacs Pocket Reference' or 'Learning GNU Emacs, 2nd Edition'? |
| Sun 18 Apr | Denins Atkins | C,
Learning. I think I have the 1st ed; sure the 2nd must be even better. I had basic emacs familiarity through using MicroEmacs in the old Minix Unix-like OS. The book got me up to speed with a lot of useful techniques like windows and running shells and doing debugging at a time when I was doing a lot of paid development via a dialup terminal connection at 2400 baud. Emacs saves the day in those sorts of cases. |
| Sun 18 Apr | C Rose | '... debugging at a time when I was doing a lot of paid development via a dialup terminal connection at 2400 baud.'
Ouch. |
| Sun 18 Apr | Egor | C, arrow keys are bound to cursor movement commands in any modern Emacs by default. Also bear in mind that Emacs key binding are designed for the fluent typist. They often seem ridiculous until you realize that you need to move your hands a lot less than you would with, say, CUA key bindings. |
| Sun 18 Apr | Tayssir John Gabbour | The best Emacs-lisp tutorial I've found is in Peter Salus's handbooks.
http://www.amazon.com/exec/obidos/tg/detail/-/1578700116/qid=1082298675/sr=1-6/ref=sr_1_6/104-2063120-5580729?v=glance&s=books
The default shortcut keys are from a different culture, so you might want some package that does Windows 'keybindings'. Or print out an emacs cheat sheet. Here's one of many:
http://www.aduni.org/courses/unix/courseware/handouts/Essential_Emacs.html
The old emacs paper defined terms like 'hook.' Nice to flip through if something assumes terminology.
http://www.gnu.org/software/emacs/emacs-paper.html |
| Sun 18 Apr | C Rose | Thanks to everyone for your suggestions.
What does CUA stand for? I've been trying Google, but without much luck. |
|
| Pointers on event-driven network programming? | Sun 18 Apr | A drifter lost in Philadelphia |
| Im implementing the client side of a client/server network protocol that allows for:
*connected (TCP) and connectionless (UDP) sessions (with state maintained using a session ID and sequence numbers);
* pipelining (sending multiple requests one after the other without waiting for the corresponding responses);
* and for the server to send requests to the client (when using a connected session).
These three features require near-simultaneous reading and writing, which means either a multithreaded model or an event-driven model.
Ive chosen the event-driven model, since its more portable (in Perl, which Im using) and less error prone. Does anyone have any pointers on event-driven network programming? Any opinions/experiences? Recommended books or URLs? |
| Sun 18 Apr | Dwilliams | If you're using perl, check out POE... http://poe.perl.org/
It is basically a framework for writing event-driven network applications. |
| Sun 18 Apr | A drifter lost in Philadelphia | POE, unfortunately, isn't an option :( |
| Sun 18 Apr | Ori Berger | Am not familiar with POE, (and it would help to explain _why_ it isn't an option for you .....) - but if you read Python, there's lots of interesting material down at http://twistedmatrix.com |
| Sun 18 Apr | christopher baus (www.baus.net) | Ori previously convinced me to implement a server that I am working on using a single threaded, event driven, model, and I have to say I'm glad I did it. It takes a slight twist of logic, but in the end I think it is easier than synchronizing a multithreaded server. It turns out to be a trade off between synchronization problems vs handling a large state machine.
You probably want to check out Dan Kegel's site as well. http://www.kegel.com/c10k.html. Dan helped me out a lot as I worked out some of the issues on my C++ server.
You have to decide on level-triggered vs edge-triggered. The model for edge-triggering isn't obvious at first, but all it requires is that you create a small struct to save the state of the socket. Basically on a level triggered server you have to hold the state of being able to read or write.
Select based mechanisms are level-tiggered, slower and more portable, while sys_epoll is selectable between level and edge triggering. The sigio stuff in older linux versions is also edge triggered, but it can get pretty wierd when the signal queue overflows. |
|
| Great shrinkwrap .net stories | Sat 17 Apr | Li-fan Chen |
| Tell us some, do you know of any case studies, blogs, stories, write-ups, how-tos regarding the shrinkwrapping of .net-based shrink-wrap software? I think some of the people reading this forum would enjoy having some great information of this sort or at least something to look up while working on their own .Net-based software.
Not to leave Java people out (or any other language), stories related to .Net-like languages and frameworks are also welcomed.
Delphi/VB6 snobs need not apply. |
| Sat 17 Apr | Li-fan Chen | > Delphi/VB6 snobs need not apply.
If at first you don't suceed (using .Net), keep banging your head against the door looking for a solution!
Delphi/VB6 people have it so easy... |
| Sat 17 Apr | JWA | I've posted a number of times before relating our very positive experience releasing and supporting a shrinkwrap .NET app. Never once any trouble from the framework install (handled silently by our WISE installer), and no longer having to deal with DLL hell has saved us a lot of support time/calls.
We're completely happy with having used .NET, and are using it for our two new product lines comprised of 6-10 new apps.
--Josh |
| Sun 18 Apr | Matthew Lock | Sourcegear Vault would be a success story I think. Eric Sink, Souregear's owner? posts here too. |
| Sun 18 Apr | Green Pajamas | SourceGear's Vault is targetted at Visual Studio .NET developers.
VS.NET installs .NET Framework before trying to do anything else, so it should not have been a problem for Vault - ever. In fact, Vault also requires SQL Server / MSDE - which shouldn't be a problem for a VS.NET developer either. |
| Sun 18 Apr | Joe Hendricks | > Delphi/VB6 snobs need not apply.
Huh ? I am working on a shrink-wrapped marketing planning .Net title right now, using Delphi8 for .Net. |
| Sun 18 Apr | Li-Chen Fan | >>'regarding the shrinkwrapping of .net-based shrink-wrap software? '
ummm... I think you need some sort of shrink-wrapping machine for that.
I'm glad to see that someone recognizes the importance of properly applied shrink-wrap. Shelf-appeal is very important for luring customers into buying a crappy piece of software. |
| Sun 18 Apr | Dan G | I've got a couple of general purpose shrink wrap .NET apps coming out within a month, so I guess we shall see how that goes. |
| Sun 18 Apr | Name withheld out of cowardice | I am developing an app in java but I plan to distribute it and deploy it via Java Webstart.
Shrinkwrapping software is an archaic and barbaric practice. How do you expect software to breathe? |
|
| Downloading files using TAPI instead of HyperT? | Sat 17 Apr | Fred |
| For all your TAPI and serial communications experts out there :-)
Before I spend time checking out TAPI and RAS, is it realistic to expect that I can do with TAPI and RAS32API.DLL all I can do with HyperTerminal manually, namely connect out to a modem, navigate through the usual BBS menus to select one or more files for download (through eg. *.exe), switch to ZModem, and hang up when Im through?
Actually, Id like to add support for RAS to a NSIS installer that currently only supports connections over the Net.
Thank you |
| Sat 17 Apr | Philo | aaaiiieeee!!!!
What's the programming platform?
Serial communications and protocols - that way lies madness...
Philo |
| Sat 17 Apr | Fred | Win32 :-) I know, but we just have quite a few customers who refuse to upgrade to the Net just yet, so it'd make our life much easier if I could just add that tiny part at the beginning on my installer.
Mmmm, wasn't there an ActiveX control made by DataComm that we bought a long time ago? Those of going serial comm with VB, what tools do you use? |
| Sat 17 Apr | Christopher Wells | > is it realistic to expect that I can do with TAPI and RAS32API.DLL all I can do with HyperTerminal manually
No, I don't think so.
RAS is 'dial-up networking': you dial from a RAS client to a RAS server; RAS establishes a SLIP or PPP connection between the two (i.e. Internet Protocol over modem instead of over LAN) ... you can then use the TCP/IP protocol ... so you might then be able to use FTP ... or HTTP ... or see the remote directory as a network drive (SMB or NFS) ... but not 'navigate through the usual BBS menus'.
TAPI lets you control telephony devices in various ways: establish a call ... play a voice file ... transfer a call ... I'm no TAPI expert but I think it's more for voice applications than data transfer ... it can be used with voice-modems, but most of it is more for controlling PBXs and agent call centers.
> Serial communications and protocols - that way lies madness...
I resemble that remark. |
| Sat 17 Apr | Fred | OK, so I'll either play with TAPI if we stick to a BBS, or we set up a Windows host to act as RAS server, and use the RAS32 API. I can tell it's going to be fun :-) Thank you. |
| Sat 17 Apr | mb | if your users have tcip/ip et all installed, just not a live internet connection, then having them connect to your private network might be a reasonalbe way to handle the problem. no 'bbs' required, just whatever an ISP uses hooked up to a private data center.
disclaimer: i haven't done this sort of thing. though i did write most of a BBS in Applesoft Basic. |
| Sat 17 Apr | Philo | Check componentsource.com or vbxtras.com - if you can use an ActiveX control, do it. (I'm sure you're used to making sure it's not just a VB ActiveX...)
Look on the bright side - I spent four weeks dealing with a client that wanted to use dialup and kermit...
Philo |
| Sat 17 Apr | Fred | Come to think of it, I have no idea how many customers have TCP/IP installed, but if they don't have the Net, it's pretty likely they only use NetBeui...
Kermit? Argh :-) |
| Sat 17 Apr | Li-fan Chen | TAPI cannot be used to download file. There are other things for transfering files. RAS, PPP, HyperTerm, old BBS protocols, UUEncoding, whatever. But TAPI is just a high level wrapper for telephony related stuff. When you press
1, TAPI gives you calls to read that sound from the proper time of hardware. (Other standards, like Linux Telephony, Solaris Telephony, and JTAPI do the same thing, in fact in some versions of JTAPI it's a wrapper over TAPI)
2. It lets telephony hardware designers (from the legacy day and today) expose their hardware features. Like voice mail box checking, gatewaying of long distance calls, menuing, special administrative features.
3. It lets you pipe pure IP telephony with legacy proprietary systems. Or IP to IP, etc.
In the telephony world generally they expect a person on that line, not a modem, at the very best it can listen for a few AT commands from the modem, but behind that it passes all negotiation for connections or PPP to a physical modem (internal or external), and once you hit that service you aren't talking TAPI routing or services but PPP services. |
| Sat 17 Apr | Li-fan Chen | To do what you want the modern way, basically you have your clients (the people who has data to share), and your client's customers (who access these data, from here on forth referred to as customers).. to do what you want you should just ask your clients to serve PPP/RAS access points and serve these files using fairly standard IP-compliant services--as Philip Greenspun would say--get with the 90s for god's sake--IT'S ALREADY OVER. Once you get PPP going you can add additional transport services.
You can also do message-based or transport-level encryption and authentication/authorization for example--there are custom tools you can write to accomodate this but there are perfectly good commercialware or freeware like PSCP.exe that will do it. |
| Sat 17 Apr | Fred | So I can only use TAPI to connect and disconnect, possibly send some commands to the BBS server, but I have to find a way to download files with ZModem? Mmm... |
| Sat 17 Apr | Li-fan Chen | That would USD$700 thank you. |
| Sat 17 Apr | Li-fan Chen | No, just forget about TAPI for now (trust us). Concentrate on RAS/PPP. |
| Sat 17 Apr | Fred | Thx for the info. If I don't find anything, I'll make the rounds to install TCP/IP on all the hosts that don't have it yet, and use RAS instead. Thank you all. |
| Sat 17 Apr | Li-fan Chen | To answer your question another way (because apparantly you may not know that much about telephony to even understand some of these explanations--no I am not insulting you--I just don't know how much you know about we are talking about here)
> Before I spend time checking out TAPI and RAS, is it realistic to expect that I can do with TAPI and RAS32API.DLL all I can do with HyperTerminal manually,
When you use HyperTerminal it's making a basic terminal connection. It sends and receives ASCII bytes, and the modem faithfully send them according to the rules of a basic terminal. You can raise the bar of the ASCII to cooler things for extended IBM graphics and ZModem at correct times with the help of a server (BBS software) that can be configured to cooperate with you. But basically it's sending ascii characters back and forth.
RAS and PPP requires your machine to have Internet Connection and Dial Up clients installed. Once you have this installed. Both of them makes the same ASCII connection. And using RAS/PPP the server and client raises the bar to do tcpip compliant service discovery transfers and data transfers. This is basically the new standard. Once RAS/PPP is setup (on the fly) it's up to you what you want to do.. of the things you talked about you just want to transfer files. FTP/SCP (provided by tools like PSCP.exe) all do this. If you want to automate this you have to get three things in order: 1. Set up a server, it serves the files. 2. Set up clients, they establish dial up and then ask for the files. 3. Automate the dial-up by making sure the server knows about your clients and has all the accounts and permissions set up, making sure the clients knows about the dial up and has a script that does basically three things: 3.1. dial up. 3.2. download the file, answering challenges if necessary. 3.3. hang up after file transfer completion.
This has little if not NOTHING to do with TAPI unless your company has a telephony system in place on those pesky dial-in laptops or at your data center and you guys use some custom TAPI application that you guys have programmers for dealing with this--AND for some reason TAPI is PREVENTING you from doing RAS/PPP. Otherwise really, do yourself a favor and forget about TAPI. It's not used for ftp by 99.9999999% of the world. (I don't even thing Internet Conneciton or Dial Up client in Win98/Windows 2000 uses TAPI at all. Someone correct me if I am wrong)
> Namely connect out to a modem, navigate through the usual BBS menus to select one or more files for download (through eg. *.exe), switch to ZModem, and hang up when I'm through?
Basically you just want to transfer files. Get RAS/PPP going. Get files shared (either Windows file share or something cool like SCP), once you have that going you are ducky.
Good luck.
J/K about the $700... |
| Sat 17 Apr | Christopher Wells | > So I can only use TAPI to connect and disconnect, possibly send some commands to the BBS server, but I have to find a way to download files with ZModem?
True, if you want to use the BBS and the BBS doesn't support any IP protocols.
I really don't think TAPI is what you want at all. For a data modem connecting to a BBS you (basically) do 'ATDxxx' to dial, wait for the 'CONNECT' string, ... programming in VB I'd expect to be able to find a (mature) 3rd-party COM component that can do this ... google for 'ZMODEM'. |
| Sat 17 Apr | Li-fan Chen | The problem for sticking with ZModem is that you are forced to do message-level encryption--hey, that's fine for some people, no one is going to chastise you for using GPG/PGP over ZModem, but it's clunky and your users will eventually beg you to get all sorts of other things working. Having proper PPP up going is going to save you a ton of wasted work later on (ZMODEM components and friends are component licensing cost and development licensing cost that you'll have to eat).
The only argument I can see against PPP can only be found in a test: Set up a test lab, send a 5K - 1 meg file. And ask the following question:
1. Which uses more bytes? This matters over CDPD modems, every byte is counted by the meter. And in fact you'll probably be begging for a programmer who knows UDP or SMS compression magic at this point.
2. Which one is more secure? Or more reliable? How well does PPP survive over cell phone? How about ZModem? Or UUencode over plain ASCII with hardware data correction (trying not to laugh here).
3. Are you deploying to 200 sales guys all over the States or to remote 200 health clinics in 3rd world nations? If they gotta save every dime PPP just might get bumped if the reason is good enough. |
| Sat 17 Apr | Fred | Ideally, I'd like to make this call and file transfer from NSIS, which AFAIK doesn't support COM. So it'd have to be a basic DLL such as http://www.wcscnet.com/CdrvLBro.htm.
Thanks everyone for your input :-) |
| Sun 18 Apr | Christopher Wells | > I don't even thing Internet Conneciton or Dial Up client in Win98/Windows 2000 uses TAPI at all. Someone correct me if I am wrong
I think it does, at least at the kernel level, in Win2K: there's a TAPI driver between the RAS driver and the serial port driver: I guess because the RAS driver may also connect via other devices, such as X.25 or whatever.
> The problem for sticking with ZModem is that you are forced to do message-level encryption
If you need privacy, and if you think someone may be tapping your telephone line...
> Ideally, I'd like to make this call and file transfer from NSIS, which AFAIK doesn't support COM.
You said 'Those of going serial comm with VB, what tools do you use?' If you find a COM component, you can write yourself a DLL that uses it. I'm guessing that you'll want a DLL with a single API function like 'get file' that you can call from NSIS ... and a COM component with several API functions like 'dial', 'wait for connection', 'send data', 'receive data', 'start zmodem transfer', ... and a DLL which implements the 'get file' API by using the COM component to dial your BBS and talk with it. |
| Sun 18 Apr | Fred | Yup, sorry about mentionning VB. It's because I was looking at a sample for RAS, hence the confusion with NSIS :-) The program will be written in NSIS, so I'm looking for either a command-line EXE or a non-COM DLL, since NSIS doesn't work with COM.
I went for a trip down memory lane, and found several solutions, ie. little EXE's and COM's from the early 90's. So far, it seems like I can either use the few one-in-all EXE's that can handle the modem part along with ZModem transfer, or use two, one to handle dialing out and hanging up, and a second program to handle the uploading/downloading in Zmodem, all this without bothering with TAPI or RAS.
Another solution I came accross is using a TCP/IP stack for DOS, so that I could use eg. FTP on hosts that currently only have NetBeui (which is likely since they don't use the Internet to begin with.)
Thanks again for the input :-) |
| Sun 18 Apr | Philo | What's NSIS?
Philo |
| Sun 18 Apr | Fred | A good, script-based tool to generated install programs. Originally written by the author of WinAmp.
http://nsis.sourceforge.net |
| Sun 18 Apr | Herbert Sitz | I know next to nothing about serial communications stuff, but I was able to use VB and HyperAccess (the full-featured upgrade from HyperTerminal) to do various things over a modem connection. Most everything was pretty simple; as others have suggested HyperAccess interacts easily with VB via COM objects.
The link for info on HyperAccess is here:
http://www.hilgraeve.com/hyperaccess/
Hilgraeve is actually the author of HyperTerminal that's included with Windows. |
| Sun 18 Apr | Fred | Thank you Herbert. This is a good, enhanced version of HyperTerminal, and can be automated since it includes a COM object. Problem is, I can't access COM objects from an NSIS installer.
For those interested, at this point, I know of a few solutions:
- If connecting to a ZModem-capable BBS, I found a few ZModem modules, which usually don't do any more than this, ie. you must find an other program to handle the dialing/hanging-up part. TXZM is one of the very few that do both
- As for TCP/IP stacks for DOS, I read about Crynwr, Lsppp, WATTCP and Wat32 |
|
| VMWare database acccess | Sat 17 Apr | K |
| I plan to install VMWare on My Dell XP laptop. After that, i plan to install SUSE as guest operating system.
So far so good. But i want to install ORacle or some other Linux database on the Linux OS. I want to communicate with the Oracle database using my Visual Basic/C++ application.
Can someone tell me whether its possible. HAving two operating systems on the same machine (one with VMWAre guest access) and building a client app that runs on windows? |
| Sat 17 Apr | Philo | So you're saying basically you want the virtual server for your application running in a VM?
Absolutely - so long as you set up the network on the Linux VM, the guest and host can talk via IP like they're two separate machines.
BTW, this is an absolutely awesome way to develop - having your own server you can kill at whim. :)
(Make sure to copy the VM file once you've got it running the way you like it)
Philo |
| Sat 17 Apr | K | Philo,
Can you please point out some document which helps me.
I am basically VB person. I dont know much about setting up stuff like IP addresses and Linux machines. |
| Sat 17 Apr | Philo | Is this for a project from work? Or a personal pursuit?
Learning to set up Linux and network configuration is a good goal, but if it's for work your resources are probably better spent getting a sysadmin there to get it set up for you while you just write code.
That said, if you do need to learn Linux, VMWare is the best way to do it, and Google is your best resource. :)
(Hint: 'how to' is the golden phrase for finding walkthroughs in linuxville)
Philo |
| Sat 17 Apr | K | Philo,
Its a personal pursuit for a freeware. But pointers are appreciated. |
| Sat 17 Apr | Wayne | K, first, get VMWare. Install it.
Then, download your Linux distro's ISO images. Burn them to CDs if you don't want to keep them on your harddrive.
Create a new virtual machine, apply the settings to make it boot from the CD (or ISO image). If using a CD, insert it and start the virtual machine. You should see Suse's installer now.
When it gets to the networking part, open a command prompt on your host OS (windows) and enter the command 'ipconfig /all'. If DHCP is enabled (according to the printout of that command) then use DHCP for Linux too. If not, use the printout to enter the details of your network connection in the Linux installer except for the IP Address (you have to find a free IP by pinging).
After the Linux install, all you have to do is install Oracle. |
| Sat 17 Apr | Philo | 'After the Linux install, all you have to do is install Oracle'
Yeah, that's all. Then, to relax you can read War & Peace or learn Chinese. [grin]
Philo |
| Sat 17 Apr | Wayne | hehe, I admit the instructions were over-simplified. (to say the least :-)
K, honestly I think that if you are doing this on your own that you'd better be prepared to invest some 'exploration time' to learn things about the server applications you want to work with. This will only help you.
I think that if you downloaded all of the software that you need and just give it a shot, you'll know more sooner than asking, because detailed instructions don't come from a single source.
I've heard that the Oracle install can be a pain, but I have limited experience with it.
Also, regarding VMWare: I've not been able to find a way to make the Host OS communicate with the Guest OS when a real network cable isn't plugged into the computer. |
| Sat 17 Apr | Philo | You need to install the Microsoft loopback adapter on the host machine (it's a network adapter driver that's already on the list), then set it up for a local IP like 192.168.2.200. Then the machines will talk back and forth just fine. :)
'I've heard that the Oracle install can be a pain, but I have limited experience with it.'
My experience with it isn't limited, and yes, it's a pain. Circa 2001 installing it on Redhat took three consultants four days. (I cannot vouch for the quality of the consultants [grin] )
Philo |
| Sat 17 Apr | nobody | Use mandrake linux, which is very easy to install. |
| Sun 18 Apr | Wayne | Loopback adapter works great! Thank you Philo. |
|
| Is Norton Internet Security the real deal? | Sat 17 Apr | Peter Paranoid |
| Hi guys,
I was about to upgrade to norton Internet Security 2004, until a friend of mine started having problems with it. Ive used the 2003 version without any problems,,but the complaints his been making are quite frightening, esp the uninstallation issue of it.
I was going to ask, has anyone had problems with Nis2004,,or is it just him?. Also, is there a better alternative that someone can recommend, eg Blackice, zone alarm etc. I havnt used the latter before, so i was hoping for some recommendations.
Thanks heaps. |
| Sat 17 Apr | Brad Wilson | I absolutely LOVE ZoneAlarm Pro. I've never used the free version, though, but I expect it's probably quite good as well.
Also, don't forget that Windows XP Service Pack 2 will come will a full-featured ZoneAlarm-like Firewall. You can download XPSP2 RC1 now, all 270 MB of it, and try that out instead. The increase security is probably a good thing, anyway. |
| Sat 17 Apr | Peter Paranoid | Wow, i didnt know service pack 2 was out. I thought it was still in beta. Have u tried it out Brad?. any comments on it?.
Thanks mate |
| Sat 17 Apr | Brad Wilson | Ite's not out. I suggested downloading RC1 (Release Candidate 1). It's been perfectly stable for me. |
| Sat 17 Apr | Stephen Jones | Zone Alarm Free edition is fine.
So is AVG anti-virus free edition. |
| Sat 17 Apr | Fred | And unless I'm mistaken, ZoneAlarm Free won't protect a Windows host used as a router. If you're sharing your Internet connection using a Windows host, either upgrade to ZA Pro, or use Kerio Personal Firewall (2.1.5 recommended, not the newer stuff which is a rewrite and doesn't seem as good), free for personal use and does run on a router. |
| Sat 17 Apr | Li-fan Chen | Nothing drives me nuts more than enterprise services acting like enterprise services on desktop (reboot everything 2 days, everyone with less than admin rights) machines.
So what's a person to do? You gotta have all the instant messagers, you must install all the P2P and Windows Media Player plug-ins, and all those cool sharewares. So you have to 1) run ZoneAlarm and Norton Internet Tax and Windows 2000+ and 2) relogin as Administrator every 2 hours to install updates for everything you have on the computer. (these upgrade pop-ups will drive your family insane).
I wish there's a way we get get all the updates centralized and explained and scheduled in some way so that the regular users aren't bothered, the admins are notified, etc etc. Pay some company $50 a year or one-time to have all these things taken care of when you can't figure whether to click okay on this potential trojan.
Can you imagine a service that sits at your computer with a giant MD5 digest database that does nothing but tell you what the software you are trying to install has known to do? (like install spyware, show nags, show ads, is difficult to manage license wise)
I think I just found a great shareware idea :-) |
| Sat 17 Apr | Chris | Windows update does that Li-Fan, we have Windows SUS server running at our office and all the guys who run as non-admin get all the updates installed automatically. All they do is get a prompt at about lunch time on a wednesday saying 'that updates have been installed' and to reboot soon and so they reboot, go to lunch, come back and it is all updated.
I believe the normal windows update can install updates when running as non-admin too (although I am probably wrong on that?). |
| Sat 17 Apr | Li-fan Chen | Yeah please correct me if I am wrong, there are a lot more network gods out there on JOS than little me. I really don't know if updates will work for everyone, but yes I know about the update servers and they are great for solving this kind of problem. |
| Sat 17 Apr | S | A friend of mine installed Norton Internet Security 2004 on an old laptop (I guess about 3 - 4 years old) running Windows98.
Anyway for some reason my friend had to uninstall the product. I can't remember the reason. I think it was either because the install didn't go to completion or her computer didn't have enough RAM memory to properly run the product.
Anyway after the uninstall her computer was wrecked. Everytime she tried to launch an application it would complain memory was running low. The computer was completely unusable. The memory problems happened before the uninstall and after the installation of Norton Security 2004.
It looks like the uninstall didn't work as the memory gobbling bit of Security 2004 was still hanging around messing everything up.
I have a new laptop with much more memory and WindowsXP. I was thinking of installing Internet Security 2004 in the next couple of months. Before I read the post above I assumed the problems my friend had with Security 2004 were due to her having an old laptop with less physical memory. But now I'm thinking I shouldn't install the product after all.
What do other people think? Most of the previous replies haven't been about whether this product is any good or not. |
| Sun 18 Apr | Peter Paranoid | Thats right S. I'm trying to figure out if this product was a one off incident, or a pattern of distasters. I've had a alot of faith in symantec products over the years. I've read reviews on the product at cnet, pcmag etc.. The websites give excellent reviews for the software, but customer reviews at the same site tell a different story, many of them negative. It makes me wonder if Symantec has bought out the reviewing department of these "respected" websites. |
| Sun 18 Apr | Steve Jones (UK) | I've used it as I wanted a combined Anti-Virus and Anti-Spam solution. All the other features are turned off, as for example, I have a hardware firewall.
It did seem fine for a while, but now I keep getting timeout errors when I try to download my email (Outlook 2003), or newsgroup messages (Outlook Express 6).
I spoke to my ISP about it and they reckoned that these errors are caused by the Norton software. I don't want to disable it and have no A-V protection, but now I have to use the web-based email, which is annoying.
Norton also stopped me from using Newsgator too, which I was looking forward to using.
On balance I wouldn't recommend this product. |
|
| Commercial Software and .NET Framework | Sat 17 Apr | Green Pajamas |
| I emailed a shareware marketing and distribution website and asked them how many of their visitors had .NET Framework installed. Their reply was 25%.
In reality I hardly know anyone whos not a developer and has the .NET Framework installed. So, has anyone already or is thinking to write a commercial software using the .NET Framework? Probably, tools for developers are a better contender? |
| Sat 17 Apr | Craig | 25% would be the most optimistic estimate I think. There are only two common ways someone can get .NET installed on their machine AFAIK. 1. Download it directly and install it. Basically only developers do this. 2. Install software that requires it and supplies it. There is very little of this. So most everyday users wont have it. 10% would be a realistic max I think. |
| Sat 17 Apr | Brad Wilson | This thread has been done to death, I think.
Our public web site caters to non-tech savvy users, and we've found roughly 30% pentration for at least one version of the .NET framework. That 25% number is not at all surprising to me. |
| Sat 17 Apr | Brad Wilson | Here's one of the recent, related threads:
http://discuss.fogcreek.com/newyork/default.asp?cmd=show&ixPost=4529 |
| Sat 17 Apr | Green Pajamas | Thanks,
I only wanted to confirm how good the number was :) |
| Sat 17 Apr | Philo | Uh, Craig - I doubt they're guessing. The framework is reported in web access logs.
Green - what kind of development do you do?
Philo |
| Sat 17 Apr | Green Pajamas | Web applications.
But, I'm also looking forward for Desktop applications.
For example Vault and Go-Go Database are two desktop applications written in the .NET Framework. Vault is actually a web service + Desktop client, but its targetted to VS.NET developers - which have the framework installed anyway.
But, Go-Go Database is targetted to novice computer users. I also found several news readers written in .NET which are not necessarily used by developers only. |
| Sat 17 Apr | Chris | For a web app, especially if it is a 'corporate' one and not for home users, I would say go .Net, nobody has had issues installing the framework in our experience, and the development involved in .Net is so nice that it is definately worth it.
We have deployed .Net to about 300 servers (test and production) in about 80 companies in Australia and so far only one company has had the install fail. And for our desktop application it has been deployed to maybe 5000 desktops (4000 in one company) with not a single error.
And not one of those companies has expressed 'moral' issues, such as 'That is too new for us to use at the moment, we are waiting for version 2', with installing the .Net framework - all IT depts have just realised the software was important to their business and installed it as soon as requested by that business unit. |
| Sat 17 Apr | Chris | Oh yeah, that one company had it fail on only one server, so the failure rate isn't 1:80, it is 1:300 for us so far - perhaps Philo can point to some figures from Microsoft (although I doubt they are willing to make that public). |
| Sat 17 Apr | Mr. Analogy | One other problem with corporate users (who are, increasingly, having only non-admin account) who want to try your .net software.
They can't install the .net framework.
And, btw, is that 25% figure for .net 1.1 or 1.0 ? |
| Sun 18 Apr | crusty admin | ' (who are, increasingly, having only non-admin account)'
About time! |
|
| Monitor size and developer performance | Sat 17 Apr | JSD |
| I have to write a business justification to upgrade our monitors from 17’’ to larger monitors. The idea is to convince the CEO that our team (4 developers working on a data visualization and analysis desktop application) will perform better and will deliver faster if we get decent 19’’ or larger (preferably TFT) monitors.
This might seem a no brainier but the team has just started and someone though that 17’’ was the norm and bought new monitors of that size for everyone :(.
Are there any studies out there that relate larger monitors with better developer performance? Any examples you can tell me about?
I Googled around but I found mostly ergonomics related stuff, which is relevant but I think will not be enough to convince the guy.
JSD |
| Sat 17 Apr | Keynes | Law Of Increasing Returns To Scale
=========================
Developers are unsociable, aloof and restless. They have no lives. They are sexually frustrated. An increase in the scale of monitor dimensions will tend to improve the developer performance*. With a large monitor, the restless developers will see larger porn images, larger busts, large cocks etc. This will make them happier. They will perform better in bed.
----------------------------------------------------------------
Footnotes:
*Performance = Developer Libido. |
| Sat 17 Apr | John Rose | I don't have useful stats for you, but if the person in charge of money-spending at your company doesn't want to 'waste' the current investment they just made in 17' monitors, perhaps they might feel better about adding a 17' monitor to each workstation as opposed to getting rid of the 17' monitors they just paid for?
Just a possible suggestion to perhaps make the purchase more palatable... |
| Sat 17 Apr | Green Pajamas | Larger monitors mean happier developers.
Larger monitors mean higher resolution.
Larger monitors give you more workspace.
Larger monitors mean that you have lesser windows to close, lesser windows to scroll, lesser windows to move around and more windows to be viewed at the same time.
Larger (and FLAT) monitors are ergonomically better for the developers. Less sore eyes mean they can work longer, more effectively and can be more productive overall. |
| Sat 17 Apr | JSD | Thanks for the suggestions.
Adding another monitor to the existing ones is a good option. But I guess that would mean buying special graphics cards (there's a very nice dual head Matrox out there) and that would have to be money justified all the same.
Developer happiness is not very high in their list so I’d rather not use it. Actually, I am making very clear that all of us have huge monitors and several computers at home (which is true). I find very patronizing the prevailing feeling that developers have to be given toys to remain in the job. What I need to demonstrate (preferably backed with numbers) is that the job requires larger monitors.
JSD |
| Sat 17 Apr | John Rose | There have been a billion threads about this before, but you can get a nice dual-monitor card for about $31. Check NewEgg for 'RadeonVE'.
The Matrox cards would have slightly sharper output, but the ATIs are probably 95% as good for, what... 15% of the money? Just FYI. |
| Sat 17 Apr | Tom H | Any manager should know that buying the monitors will increase productivity.
Why? Because the developers say they will be more productive; so if they get the new monitors they will prove they were right by working harder, at least for a while.
I'm sure psychologists have a name for that behavior. Joel might even know the term, since he seems to hire programmers who place a high value on spiffy offices (which of course will make them more productive. Why? because...) |
| Sat 17 Apr | Brad Wilson | FYI, a 17' and 19' LCD have the same native resolution: 1280x1024. The 17' will have approximately 96 DPI, the optimal for Windows; the 19' will have a lower DPI rating, and the pixels will probably look too large (they do to me, anyway, especially when you compare them to laptops that have DPI ratings between 120 and 150!).
You need to step up to 20' to get 1600x1200. An excellent option for a 20' LCD monitor is Dell's FP2001, which can usually be had for ~ $900 each. A 20-21' CRT is going to be significantly less expensive, and may be easier to justify since you don't have an understanding boss. |
| Sat 17 Apr | Stephen Jones | Just time someone on a single 17' for an hour. Count the time spent resizing windows and the time spent switching from one window to another, and remember to add a few seconds for the irritation. Then extrapolate the seconds in an hour to minutes in a day to minutes in a week to hours in a year and multiply by three for the three year depreciation cycle.
Whether you are better off with two monitors than with one large one depends. I would say that for all but graphic artists the answer is yes, since the real hassle is switchng from one window to another (say the help window to the IDE). As you have already got 17' monitors, then you are talking the cost of a 15' TFT and a second video card. |
| Sat 17 Apr | JSD | Stephen, I am going to try that (though I am not very sure how :-) to come up with a number.
After some more research my plan is to convince them to buy 19’’ CRTs plus dual head cards (TFTs will most probably be dismissed as too expensive).
We already have one 19’’ and one spare 17’’
We would need to buy:
3 X 19’’: £150 X 3 = £450
4 X Matrox G550: £80 X 3 = £240
Total : £690
At some £20/hour per developer the company spends about £100/hour for the team.
If each developer wastes 10% of the time switching apps and that value would come down to 5% then that would be a £5 savings per hour for the team. The setup would pay for itself in 690/5 = 138 hours -> roughly 20 days at 7 hours per day.
Even if it takes three times that amount of time the balance is zero after 3 calendar months. The problem is proving that larger monitors do make a difference. Hard data or even a case study would make my case so much stronger. I’ll try and do some measurements myself.
P.S. These numbers are ridiculously low(!) but that’s life in IT these days:)
JSD |
| Sat 17 Apr | Philo | 'Developer happiness is not very high in their list so I’d rather not use it.'
Nice. Nothing like a company that doesn't care about morale. How about:
- If the developers have better machines at home then they'll be out the door at 5pm. If they have better machines at work, they'll stay all night. (gross generalization). And, bizarre as it may seem, for a lot of devs it's not so much what code they're working on as the system. :)
- If the developers have better machines they're less likely to go work somewhere that will give them better machines.
- If you're interviewing a developer, he's more likely to accept the offer if there's a 20' flat panel on every desk.
- If you do contract work and show clients around the office, they're going to be much more convinced of your capabilities if there are two 20' flat panels on every desk.
Regarding numbers - a 17' CRT runs best at
1280x1024= 1,310,720 pixels
1600x1200= 1,920,000 pixels
= 50% more screen real estate, which means things like having two documents open at once, or a document and a code window, or the IDE fully expanded with tool windows open.
(BTW, you can get a decent 21' CRT for US$300, and I run mine at 1800x1440 = 2,592,000 = twice the screen real estate)
Since my big laptop was in the shop I spent four weeks working on my tablet at 1024x768 and I can tell you I was honestly less productive (and miserable)
Philo |
| Sat 17 Apr | Philo | Oh, and if you get those dualhead cards, then the 17' monitors won't go to waste. ;-)
By the way, if management does this, it will be an enormous morale boost - to come back and say 'Hey, we made a mistake by not asking you, so here's our way of making it up' - you can't buy loyalty, but this may rent it for a while.
Philo |
| Sat 17 Apr | JSD | Philo,
Don't misunderstand me, the company is not bad at all, its just a matter of saving as much as possible until sales start in earnest (small company, just starting, not a lot of money lying around...).
Having said that, the screen estate and the two documents side by side angles are good and easy to demonstrate.
I have a 21'' at home and I just tried the 1800X1440 setting and god it hurts! (had to go down to 70Hz to do that). And my code looks like a newspaper column too.
JSD |
| Sat 17 Apr | Christopher Wells | I have a colleague who judges (or 'whack-a-moles') how a company treats its developers by looking at their monitors: if employees have small monitors then he won't accept a job there. |
| Sat 17 Apr | MR | p.s. if cost is an issue and you have a spare PCI slot Windows does multi-monitors just fine with two or more video cards. Before I got my dual card I had an AGP and an el-cheapo PCI card (you're not gaming or doing CAD). Worked great. |
| Sat 17 Apr | Philo | JSD - yeah, I've always been a real estate hog - I ran 15' at 1024x768, 17' at 1280x1024 or 1600x1200, and this beastie at 1800x1440.
I run my 15' laptop at 1600x1200. :)
Philo |
| Sat 17 Apr | Li-fan Chen | If you can't justify a 21', at least shoot for 2 19', if you can't get justify a 19', at least get 2 17'. In the end it's all about the pixel count without the squinting.
I can't imagine the additional radiation will be any good to your health though. |
| Sat 17 Apr | Ham Fisted | On a 17' CRT running at 1600x1200 is pointless. The pixels become smaller than the dot-pitch. You don't actually get more information onto the screen as opposed to going into settings and turning down your font size.
I've a 19% CRT here; it's adjusted so that the pixels line up with the vertical stripes. This worked out to be 1280x1024 with a little black at the edges. I can now run text smaller than I used to, because the edges are sharp and well defined. |
| Sun 18 Apr | Dan Brown | All of my developers have dual 20' LCD monitors with 1600x1200 resolution. I'm starting to look into larger higher-resolution displays, but probably won't do anything about it this year.
The business justifications that I see for the large monitors all revolve around being able to view more information at the same time, both documentation and code. A 20' 1600x1200 display allows reading a full letter-size page, plus having additional space for navigation information. A 20' 1600x1200 display also allows having two readable pages of code side-by-side. Smaller displays won't do for this. Even rotating a display 90 degrees won't do, as you lose the ability to do side-by-side display. Most coding involves making use of existing libraries, so being able to view both your code and the library definition at the same time is extremely helpful.
A large amount of the documentation we use is in Adobe PDF format, and being able to view full pages plus navigation at a same time makes finding information much faster. We've eliminated printing.
For coding, the more you can see on the screen at one time, the better. Many bugs are the result of incompatibilities between pieces of code. Being able to view multiple full pages side-by-side simplifies writing and reviewing code while at the same time viewing the definitions of the functions being used.
As an example, a few days ago I was working on some code that involved two specifications from standards organizations (full-page PDF), code supplied by a chip vendor for reference, and new code I was writing myself. This is easy when you have enough screen real-estate.
Our bug rate went way down when we switched to dual 21' CRT monitors. The 20' LCD screens are certainly more pleasant to work with than CRTs were. |
| Sun 18 Apr | Chris Hanson | Work out how much time you'll spend preparing this business case, and how much time will be spent discussing the issue in absolute hours.
Figure out how much that time will cost the company. The chance is good that time will cost more than getting decent larger LCD displays for every developer. (Possibly even more than high-end LCDs like the Apple Cinema Display HD.)
Write out one paragraph saying this as your business case. |
| Sun 18 Apr | John C. | Here are a couple of Microsoft Research documents with a bit of quantitative data:
http://research.microsoft.com/displayArticle.aspx?id=433
http://research.microsoft.com/vibe/Interact2003Productivityl.pdf (PDF)
Or maybe you could convince the approver to try using a dual-monitor system himself for a few days. Once you start, the benefits become so obvious that it's painful to consider going back. Maybe he'll get the idea... |
| Sun 18 Apr | Peter Monsson | Very good Idea John... I was thinking of suggesting a test case where JSD for one week pin down how much he gets done and then for an other week where one of his collegues is on vacation borrows the monitor (and buys a video card if needed) and stats the stuff he gets done in this week. |
| Sun 18 Apr | mb | you can even go with dual 17' monitors for some people and larger monitors for others--take your existing stock & move it to half the people, and buy the half-number of larger monitors. i much prefer dual 17' over single 21'.
you will have to buy new video cards, as someone mentioned you can get any old single-head card to add to whatever you already have. but do try to match frequency ratings, i have to run one monitor at something like 79.8 kHz and the other at 80 kHz, which leads to a stripe moving through the display as the two monitors aren't quite in sync. |
| Sun 18 Apr | JSD | Wow John! That's exactly what I need!
Naturally the highest gains in productivity happen with 21’’ monitors, so I will present the case for 21’’ first and scale back to 19’’ if the first one is refused. Also the gains can be higher than I expected, going as high as 50% (for cutting and pasting). On average though the increase is on the 9%, which is high enough to repay the monitors very soon.
One thing worries me though; I have a 21’’ next to 15’’ at home that I only use when I need to debug UI stuff. The problem is, as mb pointed out, the differences in frequency (the graphics cards are also different which makes it even worst) – it is an instant eye killer. That’s why I am shying away from proposing one additional card instead of dual cards.
Following the references of the article above (the second link provided by John) I found a study called “Effects of Screen Size, Screen Resolution, and Display Rate on Computer-Based Test Performance” which adds interesting reading:
From the abstract:
“Computer-based tests administered in established commercial testing centers typically have used monitors of uniform size running at a set resolution. Web-based delivery of tests promises to greatly expand access, but at the price of less standardization in equipment. The current study evaluated the effects of variations in screen size, resolution, and presentation delay on verbal and mathematics scores in a sample of 357 college-bound high school juniors. The students were randomly assigned to one of six experimental conditions—three screen display conditions crossed with two presentation rate conditions. The three display conditions were: 17-inch monitor set to a resolution of 1024 x 768, 17-inch monitor set to a resolution of 640 x 480, and a 15-inch monitor set to a resolution of 640 x 480. Items were presented either with no delay or with a five-second delay between questions (to emulate a slow Internet connection). No significant effects on math scores were found. Verbal scores were higher, by about a quarter of a standard deviation (28 points on the SAT scale), with the high-resolution display.”
From the discussion:
“A major difference between the high and low resolution presentations was the substantially greater need to scroll through reading passages in the low resolution condition. Furthermore, scrolling was identified by the majority of the participants as something that interfered with taking the test.”
http://www.ets.org/research/dload/AERA2002-bri2.pdf
The article should also be of interest for anyone designing CBT stuff.
Finally, if all fails, I’ll definitely try to prove it using Peter’s idea and make the case again and again.
Cheers |
| Sun 18 Apr | Philo | FWIW, I have a 21' CRT and a 19' LCD, which I run at different resolutions and frequencies, and I don't have a problem. Two caveats:
1) They're significantly offset, so that generally one is in peripheral vision, instead of them both being in my focus area.
2) My right eye is 20/40, my left eye is 20/400. Every optometrist I've been to says this is very unusual. My experience is that I'm not bothered by 'different views' like some people seem to be (I would often just wear one contact lens if I was in a hurry).
In other words, mixing CRT and LCD may solve the different scan rate issue, or I may be an anomaly.
Hm. I guess this post added no value whatsoever. Sorry. :)
Philo |
|
| Engineers taking responsibility | Fri 16 Apr | mystified |
| http://www.acm.org/ubiquity/views/k_prasad_2.html
Frankly, the place described in this article sounds like a fun place to work. I bet all the religious arguments about programming languages and code - astronaut style design pattern fettishism evaporates when everybody is an owner.
Some of the rules of the virtual enterprise
-- Employees would not be paid regular salaries.
-- After execution of a project the returns would be shared by the employees as follows: 50 percent to the development team, 10 percent to the marketing team and the remaining 40 percent for the management to meet the infrastructure costs including profit. |
| Fri 16 Apr | Philo | What lunacy.
'After execution of a project the returns would be shared by the employees as follows: 50 percent to the development team'
Uh, if you want me to do the rainmaking, do the development, and share the risk of bench time, why the heck shouldn't I just strike out on my own and take 100% of the returns?
Corporate development diversifies the risk and return - in exchange for not getting 100% of the return, I get to share in *all* the wins, and can rely on a steady income.
Heh. It's like a Republican version of a commune.
Philo |
| Fri 16 Apr | MSHack | Yep - I'm with Philo on this one.
Consider they claim they paid no one until the project was delivered. It would seem either they had a lot of wealthy developers or people who liked a large gamble. He then made the disparaging remarks about those unwilling to work for nothing, without any guarantees, and who would share less per person than the management team, while delivering more.
All this, while failing to mention a client, project or industry yet claiming great success. Sorry, but you will not find me at Innovation Communications Systems Ltd or taking their advice. Of course, I am not surprised to see it in Hyderabad, India either. |
| Sat 17 Apr | mystified | What does Hydrabad have to do with anything? |
| Sat 17 Apr | Me and the view out the window | Because India has more of a culture of submissive workers and almightly bosses.
The story has interest, but it reeks of things that haven't been told, and comes across just a bit too cute to be honest. |
| Sat 17 Apr | Sathyaish Chakravarthy | That article is complete claptrap. Ground zero, rules are darwanian. |
| Sat 17 Apr | x | I have a feeling that the 'returns' are like an old Hollywood
studio's 'contract' - the movie makes $billions, but
somehow, the studio lost money and the jilted star didn't
see a dime. |
| Sat 17 Apr | Gaius | Actually this isn't a new idea at all, it looks surprisingly like a straightforward partnership, or else a co-operative. Both ideas have been around since the mid-1800's. Co-operative enterprises (of either flavour) can work quite well, but not if they need access to large amounts of capital (which is why you don't see them in manufacturing industry). |
| Sat 17 Apr | Tom H | Doesn't look like any kind of partnership to me, since "management" still seems to be calling the shots. It appears to me that the engineers are just working on commission rather than salary. |
| Sat 17 Apr | Stephen Jones | Sounds like a straightforward scam. And the ten percent for marketing is laughable. Have these guys never cnecked up on what sales guys charge on a commission only business to sell an unproven product? You're talking about 5% commission in Real Estate, let alone something you have to persuade the client there's a need for. |
| Sat 17 Apr | David Jones | Hmph. It might work as long as the reward is reasonable.
In a typical North American consulting shop (chip design, mind you, not software), you are billed out at roughly 4x salary. This is OK given that you are paid salary even if you are on the bench, and the sales team is doing the marketing.
If you then transition to a model where you get paid only when the project lands and ships, then you ought to expect that said payment will be better than 1/4 of the billing.
A certain consulting shop didn't set that expectation, and a design centre imploded as a result. |
| Sun 18 Apr | no name | I haven't read the article so for now I will agree with what David Jones posted. |
|
| Poll: Listening to music at night | Fri 16 Apr | Sathyaish Chakravarthy |
| I like listening to music full volume at night when I am alone in the office. It feels surreal. Do you like it?
PS: Of course, I mean while also working at the same time. |
| Fri 16 Apr | Aussie Chick | Sathyaish, I am postive most of this posts are going to get deleted.
At any rate. I like the thought of listening to music, and from time to time I will put some one. Trouble is that I keep turning it down, and then down, and then down, until I eventually have it so low there is no sound. That is when I work best.
I would love to be able to groove while working, but just plain can't concentrate. |
| Fri 16 Apr | Sathyaish Chakravarthy | Same here. I can listen to music only when most of the work is done, and all I have pending are some mechanistic chores. That time music works best, and then when all the world around you is dead, it rocks! |
| Fri 16 Apr | Joe Hendricks | I find that only smooth jazz and some classical music(mozart, baroque) is conducive to working while listening... other music genres are great but distract me. |
| Fri 16 Apr | tapiwa | I do it all the time. Burning the midnight oil and listening to Beethoven at full blast (have speakers with subwoofer under desk) is one of the closest things to nirvana I have ever found. |
| Fri 16 Apr | engineer |
I love to listen to Jean Michel Jarre while I'm coding, no lyrics to take heed to. Then again, silent is better. |
| Fri 16 Apr | Aussie Chick | Yes, definetly no lyrics, or if lyrcis then it has to be an unknown song. Otherwise I am to busy singing to work. |
| Sat 17 Apr | Hard-core Developer | Heavy-metal full-blast. Hell yeah! |
| Sat 17 Apr | VPC | Samuel Barber - Adagio For Strings.
For late-night coding I have a special 'playlist' looping
that song indefinitely. Heavenly good tune.
And there is some kind of remix or cover or whatever from
William Orbit. That version is good for driving or making a
pause from work. |
| Sat 17 Apr | VPC | Ah, one more thing.
Third version can be found on soundtrack for S1m0ne with
Al Pacino. |
| Sun 18 Apr | Nix | Acid Techno ! |
| Sun 18 Apr | Scott | I keep a keyboard next to my design workstation and write both music and do development simultaneously. I do most my work late at night when my activity is less likely to be disturbing to others. |
|
| Generic .NET Test Harness | Fri 16 Apr | Steve |
| Before writing my own (as I had done for COM), surely the following has been done using reflection for .NET:
- An application that allows selection of a class and then . . .
- Displays those class properties and allows input into them (even, perhaps, some random input based upon data type) and allows . . .
- Execution of any of the class methods, finally . . .
- Showing some simple outputting of the results . . .
I know this has to already exist out there . . . can someone point me in the correct direction? |
| Fri 16 Apr | Sgt. Sausage | Not point-and-click/intellisense type stuff like you're looking for, but we use NUnit for running our tests:
http://sourceforge.net/projects/nunit/
It works well, is stable, and has seriously cut down on our efforts for testing. |
| Sun 18 Apr | Steve H | stumbled across this project this morning:
http://www.codeproject.com/csharp/oe.asp?df=100&forumid=14583&exp=0&select=420944 |
|
| Microsoft New Hire Booklist | Fri 16 Apr | __ IceMan __ |
| Ive read in several places that new programmers at Microsoft get a set of books on their first day of work. One book is Polyas HOW TO SOLVE IT. Does anyone have the complete list of books? |
| Fri 16 Apr | Geoff | Here's the set I got when I started (8 years ago):
Hope that helps!
Geoff |
| Fri 16 Apr | __ IceMan __ | Geoff : I wrote Programmer not toilet cleaner! :-) |
| Fri 16 Apr | Eric Lippert | That may be the habit on some teams, but certainly is not company wide. This is the first I've heard of it.
Which is not to say that there are not books that pretty much everyone has. Almost everyone has a copy of Writing Secure Code, and most people have a copy of Writing Solid Code somewhere in their office. |
| Fri 16 Apr | Me | Ah ... who could resist this retort .... but apparently nobody reads them.
Microsoft gets a bad rap for insecure and buggy code, yet everything seems to point that they should produce the most secure and least buggy code. I wonder why that is. |
| Fri 16 Apr | Dennis Atkins | The way I heard it is there is a stock room with pencils and floppy disks and stacks of these books and you are welcome to take any books you see and read them or do as you please with them. So they don't give you he books, but there are certain ones like the Polya which are made available to you in a discrete manner. |
| Fri 16 Apr | Dennis Atkins | Me,
Everybody writes some buggy code, let's say 1% for the best. Microsoft writes more code than anyone on the planet, therefore... more bugs. |
| Fri 16 Apr | __ IceMan __ | MS has got some of the best sofware engineers and computer scientists (a lot of formers PARC people are there) |
| Fri 16 Apr | Tayssir John Gabbour | Also they're probably too strong on single-process computing and weak on distributed. Their interview questions all seem to be about boxes of state rather than communicating nodes. So they don't react well to Byzantine processes which send malicious messages.
Looks like they're building tools with the property that writing unsafe code takes skill.
Good multiparadigm tools can also reduce complexity, so their skill isn't eaten up by shoehorning problems into imperative solutions.
My 2 pesos.. |
| Fri 16 Apr | Aussie Chick | I read something once (actually I think it was in 'the road ahead'). Apparently Bill Gates said he if he was interviewing and the interviewee told him they had read 'The Art of Computer Programming' by Donald E Knuth, then he would hire them straight away!
Nice thought.... |
| Sat 17 Apr | Egor | Knuth might be best you could get in the times when Bill was interviewing, but today I wouldn't recommend it to anyone but computer historician. Yes, it does cover more ground than any other book on programming in general, but today there're a lot of better written, and more up-to-date material on any of the topics it touches. |
| Sat 17 Apr | Konrad | Could you give examples? I'd be interested to see which books were more modern/accessible, I always did think I wanted to read Knuth if I had the time, maybe there is a way for me to get a similar experience with less pain! |
| Sat 17 Apr | Stephen Jones | Bill would probably hire the guy to explain the book to him.
Or ha reckioned that somebody that could plough his way through all three volumes would take all the shit you could pile on him. |
| Sat 17 Apr | Ass Hat | 'The Prince', Niccolo Machiavelli
- for philosophy
'Mein Kampf', Adolf Hitler
- for inspiration
and from Gates' personal collection,
'1000 Days Of Sodom', by Marquis De Sade
- for tips on what to do during your off days (not that you are expected to take any) |
| Sat 17 Apr | Egor | Konrad, I think "Algorithms" (Sedgewick), "The Pragmatic Programmer" (Thomas and Hunt), and "Code Complete" (McConnel) teach a lot more about "the art of computer programming" than Knuth's book does. |
| Sat 17 Apr | Chris | New MS programmers aren't given a stack of books upon hire. Also there isn't a pile of free books sitting in the supplies room for people to take. So the library you describe doesn't exist, at least not for the last 7 years or so...
Employees are certainly given all the resources necessary to buy whatever they need and MS has a great library to get anything not easily purchasable (no longer published software etc). |
| Sun 18 Apr | Konrad | Egor: Thanks for that, have code complete, may check out the other ones. |
| Sun 18 Apr | no name | Egor you are a fool!
Comparing the books you mention to Knuth's is like comparing apples to oranges.
Read up people! |
|
| The joy of a good keyboard | Fri 16 Apr | Eric Debois |
| My el cheapo all-plasic keyboard died to day in a bizarre accident involving cous-cous and chicken curry.
On my way home a stoped at a local factory outlet store where they sell mostly crap in all sizes and shapes, but to my surprise, I also found some solid keyboards. They were cheap, have metal bottom plate and really tactile keys.
I bought four of them. They are a joy to use.
I never realised it before actually, but clearly, the keybord is important to the general ergonomy. Not as important as a good chair or screen perhaps, but more so than the mouse I think.
I wont put food into these. |
| Fri 16 Apr | Elephant | 'a bizarre accident involving cous-cous and chicken curry'
Sounds great! I always love bizarre accidents. Usually if told w/ the right amount of seriousness and detail, they are absolutely hysterical. |
| Fri 16 Apr | Old Time Typist | If you have never used an old IBM Selectric electric typewriter, try one. You will find out what a real keyboard is like! |
| Fri 16 Apr | Ethan Herdrick | Eric: Brand and model? |
| Fri 16 Apr | Eric Debois | No brand, no model, just says made in china. Like I said, I was surprised to find them in that store.
And elephant, the bizarre thing about this accident was that I dropped the keyboard into the food and not the other way around.
=D |
| Fri 16 Apr | Joe Hendricks | Keep the ruined keyboard ! All my old ones are stored as emergency food supplies, in case of another national outsourcing disaster. |
| Fri 16 Apr | - former car owner in Queens | And man, those Selectrics were built like friggin' TANKS. I used to imagine that, after a nuclear apocalypse, the landscape would be reduced to piles of smoking rubble punctuated by intact IBM Selectrics here & there.
Ah, for the era of 'good American machines': Zippo lighters, Checker cabs, DC-3s, Cross pens - stuff that just kept working & working & working... |
| Fri 16 Apr | Eric Debois | The annoying thing about the above comment is that it is basicly true. Its not limited to american stuff either.
Something very fishy must have happend to how stuff is engineered and manufactured during the 70's or so.
Actually, come to think of it 'the good stuff' was probably built in the era where eletronic and mechnical engineering had been mastred, but before the introduction of digital/micro scaled electronics? |
| Fri 16 Apr | - former car owner in Queens | I didn't mean to suggest that EVERYTHING from that era was great, or that only the US was/is capable of producing outstanding manufactured goods.
The moniker 'good American machines' came from an article in (IIRC) the short-lived and long-defunct US edition of GEO magazine (man, really showing my age there - circa early '80s) about a few things that exemplified the US industrial base at its best, and had attained the status of cultural icons. The mention of the Selectric brought that article to mind. |
| Fri 16 Apr | ydnubm | For any of you looking for those classic 'click' IBM keyboards:
http://www.pckeyboard.com/
or more precisely:
http://www.pckeyboard.com/customizer.html
I found them shortly after the death of my IBM PS/2 keyboard. They are the real thing.
'Unicomp is a keyboard manufacturer located in the heart of Bluegrass Country, Lexington, Kentucky. Yes, we are a fairly new company; but if you know IBM or if you know Lexmark International, you already know a good bit about us. Unicomp was started in April, 1996 when we purchased keyboard technology from Lexmark International. You may recall that Lexmark manufactured the high quality keyboards for IBM computers and terminals prior to 1996. ' |
| Fri 16 Apr | Kyle | Or google for IBM Model M. |
| Fri 16 Apr | Lou | A lot of the "good stuff" was just because plastics were flimsy back then, so there weren't many materials to use besides sheet metal. That's why Selectrics are so solid (and heavy as hell). |
| Fri 16 Apr | - former car owner in Queens | I also believe a lot more stuff (at least consumer-level stuff) from 20+ years ago was designed to be serviceable, rather than merely replaceable. This is subjective, of course, but it certainly seems to me that the emphasis has shifted from 'build-solidly-and-evolve-design-over-time' to 'build-as-cheaply-and-as-quickly- as-possible- because-you'll-be-replacing-it-soon-anyway'.
Put another way: things were put together with *screws*, so you could disassemble & reassemble as needed, instead of today's nearly-ubiquitous seamless snap-together plastic housings that are difficult or impossible to disassemble even once without breaking.
(iPod battery, anyone?) |
| Fri 16 Apr | Mr Fancypants | Those IBM keyboards are WAY TOO LOUD. So loud I even annoy myself when I'm typing with one.
OVERRATED. |
| Fri 16 Apr | Aussie Chick | I give blood once a fortnight (plasma actually) and I sit as they take my details and click it all into their computer. It has a green tube monitor, and yes those cute squeaky click keyboards.
I find it hilarious, no this is not some nostalgic computer geek, this is a nurse whose department does not have the funds to buy anything better.
Though on another note, a prefect example of the 'if it ain't broke, don't fix it' rule. Those machines just don't die. |
| Sat 17 Apr | JSD | Just for the record:
Generic Beige Keyboard PS2 -> £4.11 (VAT included)
EnduraPro 104 -> $99
(from http://www.pckeyboard.com/pricing.html ) |
| Sat 17 Apr | Cristian Cheran | So nobody is interested in the Logitech or Microsoft market champions keyboards? |
| Sat 17 Apr | Stephen Jones | I think the MS Natural Keyboards are great, and so do a large number of other posters to this forum.
Incidentally, why do optical mice lose precision? It seems to have something to do with gunge collection on the rubber feet, but I am not even getting a days relief by cleaning them now. |
| Sat 17 Apr | Robert Jacobson | I received a generic made-in-China with my ABS desktop a few years ago.
I really like it -- it has a few extra function keys that I like (volume up/volume/mute are very handy) without the have-a-special-function-key-for-everything excess that many consumer keyboards have. The tactile sensation is great, although maybe I've just become habituated to it. It's reaching its end of life, and if I knew where to buy another, I would. |
| Sat 17 Apr | Robert Jacobson | s/b "made-in-China keyboard..." |
| Sun 18 Apr | Chris Nahr | I've never seen an optical mouse lose precision. Could it be that the surface you're using it on is subject to abrasion by mouse and hand movements? If it's getting too smooth the optical sensor might no longer be able to track movements. |
| Sun 18 Apr | Kyralessa | No, it is true that optical mice can have crud collect on the feet; I've had it happen too. But it's easy enough to scrape off; I use the end of a mechanical pencil (with the lead retracted). It's a heck of a lot easier than scraping the crud off the rollers inside a ball mouse (which I'm doing my best to never use again). |
| Sun 18 Apr | Chris Newcombe | I've been using one of these for two weeks:
http://www.fingerworks.com/lp_product.html
It's great. |
|
| Piracy detection | Wed 14 Apr | Dan Savage |
| Im cash strapped. I cant afford Visual Studio .NET. If I used a pirated version to develop a prototype of an application to send to potential clients, what chances do I have of being caught?
Of course if my app succeeded and I acquired costumers I would go legit - being caught at that time would be a deadly move.
But for now, and as were still exiting this depression, what chances do I stand of being caught? |
| Wed 14 Apr | Busted | Hello Dan,
This is Microsoft. You have been caught.
Have a lovely day.
The MS .NET Team |
| Wed 14 Apr | Robert 'Groby' Blum | How about using GCC instead? It's free, after all. Or MinGW. Or Bloodshed.
http://www.mingw.org/
http://www.bloodshed.net/index.html
http://www.delorie.com/djgpp/
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/ide-and-gui.html
There's plenty of free C compilers out there. Or use Python, Ruby, Perl. There's plenty of free other languages besides C, too. Or use Eclipse/Java, if you want something mainstream.
There's no reason to steal if you want to develop software. |
| Wed 14 Apr | Wolf | The only consolation to this it that you controlled the speed and venue at which you were outed. Didn't even need 60 Minutes. |
| Wed 14 Apr | Dan Savage | IT's not just about developing an application. It's a special app written in an MS language. |
| Wed 14 Apr | apw | You want to borrow some money? I'll charge you 3 points. |
| Wed 14 Apr | njkayaker | I want to start a cab company but I don't have money for a car. Is it OK to steal one? |
| Wed 14 Apr | Robert 'Groby' Blum | 'IT's not just about developing an application. It's a special app written in an MS language.'
You don't need a MS language to write a Windows App. You can write it in any language you want.
Oh, you want to do .NET? That's fine, because MS ships the .NET compiler for free. You don't get the fancy IDE, that's all.
Let me repeat that - There is NO need to STEAL to do SW development for Windows. |
| Wed 14 Apr | Mr. Analogy | What about using Sharp Developer ?
Or, how about trying to get an Educational Edition of .net?
You can WRITE your app using that then when you get your first sale, run out and buy the full version and compile it and burn a disk for your customer.
Lastly, there's the Empower program from MS (Google is your friend here) |
| Wed 14 Apr | apw | Theres a 'free' C# IDE, Sharpdevelope that you can use....not sure of the licensing issues with commerical code production but you at least get started with it
http://www.icsharpcode.net/OpenSource/SD/ |
| Wed 14 Apr | Mr. Analogy | Oh and....
I like your new app. Can I use it for free until I decide I can afford it?
Another suggestion:
Buy Virtual PC for $150.
Install a trial of .net.
Every 45 days, revert back to your original Virtual PC O/S and reinstall .net.
Crude but utterly legal.
And, yes, I'd be OK with my customers working this hard to extend thier trial period. |
| Wed 14 Apr | Andrew Cherry | I wonder how long it will be before companies producing this sort of tool start giving away free 'not for profit' versions. Already seen it in the graphics (3d) market...
It's in there interests surely? I know it's the old argument about does it hurt them if it's not a sale they would have made, but... surely the more programmers out there that love VS.NET and then are likely to buy it when they are working for cash...
Not only that, it stops the creation of a 'warez mindset' - if no-one ever stole software because it was free for non-commercial use, I think people would frown a lot more on business users committing 'piracy'... |
| Wed 14 Apr | Andrew Cherry | there = their -- long day. |
| Wed 14 Apr | Kyralessa | What language(s) are you writing the prototype in? |
| Wed 14 Apr | Dan Savage | An old copy of VB6 I got in college.
But the final product would ideally be developed in C# |
| Wed 14 Apr | Kyralessa | What prevents you from doing the prototype in VB6? Will the people you're showing it to care what language it's written in?
If you're serious about making money with this, why not write up a business plan, go to the bank, and get a loan? |
| Wed 14 Apr | Eric Debois | Well, if its C# why not give sharp develop a go? The c# compiler comes free with the .net sdk so you actually only need a text editor beyond that. |
| Wed 14 Apr | mystified | Second the Empower program suggestion... $375 for 5 developer licences of ALL MS dev software (for 1 year) |
| Wed 14 Apr | VS NET | Just develop the software using a trial version of Visual Studio .NET. |
| Wed 14 Apr | Ricardo Antunes da Costa | Or maybe you could buy Visual C# alone. There's no need for the whole Visual Studio package right now. |
| Wed 14 Apr | josheli | sharpdevelop is not stable. |
| Wed 14 Apr | bpd | Am I the only one bothered by such a brazen attitude of would-be thieves? It's incredulous to me that one could be *so* unashamed as to publicly post such an intent – even if they _are_ posting anonymously. And it's not a matter of me being judgemental, Dan clearly states his desire – complete with justification.
Dan, do you really think that even if you don't get caught it won't have any effect? You seem to know your intended actions are wrong, yet you don't appear to have any qualms about it – except as it relates to actually getting caught. I'm sensing a distinct lack of ethics on your part. Perhaps your potential clients would do better to deal with someone more principled. |
| Wed 14 Apr | nobody | Some ppl already mentioned sharpdevelop. I used it and it seems ok.
But if you want more, Borland offers a free personal edition of C#builder here: http://www.borland.com/csharpbuilder/
The download (needs free reg) is here: http://www.borland.com/products/downloads/download_csharpbuilder.html#
Note: C#Builder is for non commercial use only... |
| Wed 14 Apr | Chris Nahr | You can use any shareware text editor to write C# programs. Most of them have syntax definitions for the language by now. The GUI debugger comes with the SDK, and you can download NAnt for free to build your projects. Exactly what is the problem here? |
| Wed 14 Apr | Poor Me | Is it ok to use a pirated version of MS Office? I've looked into StarOffice but it just doesn't have the same brand name power.
I think it is OK. Microsoft is a big company and look at me I am so poor. My computer is almost a year old. Poor little me. I have no choice but to steal. |
| Wed 14 Apr | RP | What amazes me is that every single one of you lambasted the guy and *no one* answered his question.
I think this says a lot about ethics in the real world. You guys really surprised me. |
| Wed 14 Apr | Kyralessa | Of course it says something about ethics. Dan asked how likely it is that he'll get caught. None of us know because none of us release commercial products built using with pirated compilers, so we've never had to worry about getting caught. |
| Wed 14 Apr | Mystery Man | Fine then. To answer your question, info about the compile environment is encoded into the executable, so yes, it can theoretically be traced back to you using a pirated copy. It works the same way for many of MS's applications - products assembled using the MS product have embedded tracking information. |
| Wed 14 Apr | Mr Helpful | You can get a version of Visual Studio.NET restricted to a single language for about $100, I think. It's a lot cheaper than the complete Visual Studio.
So just buy Visual Studio for C#. |
| Wed 14 Apr | JWA | You guys do all realize that you can buy VS.NET with any one of C#, VB.NET, or C++.NET for $89, right? |
| Thu 15 Apr | Kyralessa | Keeping in mind, of course, that the $89 version has some limitations which _might_ make it unsuitable for your prototyping purposes:
http://msdn.microsoft.com/vbasic/howtobuy/choosing.aspx
http://msdn.microsoft.com/vcsharp/howtobuy/choosing.aspx
(etc.) |
| Thu 15 Apr | Just me (Sir to you) | He could join the Empower program for 300$ and about 5$ for hosting for the obligatory product page if he needs the whole Microsoft toolset.
There is lots of free stuff (SDK, Sharp, Borland, ...)
There is the standard editions for 89$
There is Sql Server Developer licence for 49$
Stealing is a choice, not a necessity. As for chances of geting caught: extremely close to 0. |
| Thu 15 Apr | Mr Jack | Your chances of getting caught are virtually nil, and the consequences of getting caught would like be: having to buy the product which you say you'd plan to do anyway.
Many Games companies do not have legal software, and they're trotting along just fine. |
| Thu 15 Apr | Sum Dum Gai | Most companies are not fully compliant with the licenses of all the products they use.
How many applications have you heard of getting the company that made them busted for piracy?
Think about those two things, and your own question is probably answered. |
| Fri 16 Apr | Gordon Hartley | As Robert 'Groby' Blum mentioned (amongst others), - you don't need Visual Studio .Net to write .Net applications.
Download the SDK: http://msdn.microsoft.com/netframework/technologyinfo/howtoget/default.aspx
I get by ok using emacs + nant (+ nunit etc.). |
| Fri 16 Apr | none | i feel bad for you people. |
| Fri 16 Apr | Bob | As do i... |
| Fri 16 Apr | tim | i do As... |
| Fri 16 Apr | Al Queda | moogly boogly |
| Sat 17 Apr | C Rose | Although stealing software is both unethical and illegal, I'd add two things for people to think about.
1) Sometimes piracy can drive the sales of a product. For example, there is evidence to suggest that illegal downloading of music drives music sales, because it allows people to try a broader range of music without cost to them. Of course, the RIAA would disagree with this. It's common for people to come across an illegal copy of a piece of software, find it to be good (or just get used to using it), and then buy it in the future. This is one reason why Microsoft (and others) set such low prices for educational software -- get the kids hooked, then reel them in once they can pay the big bucks. For example, I just paid £35 for a 1-year license of Mathematica (non-educational price (not time-limited) is around £2000).
2) Software licenses (especially those from Microsoft) are not particularly fair in terms of what people expect from a product. For example, according to memory: you can't transfer a license of Office when you transfer 'ownership' of a computer (e.g. you sell it or pass it down to a more junior member of your org.); one person is not allowed to use one license of Office on two computers if they are used non-concurrently (e.g. a desktop and a laptop). People think these are reasonable rights to expect for a product that they paid for, and consistent with everyday items, but the licensing terms are not coherent with this intuition. To just understand the licenses you need to be an expert in IP law. In fact, software licenses are often so complex that, if a typical organisation was audited by the (evil) BSA, they'd be found to be breaking the law.
For users of software, there has to be a practical trade-off between behaving legally (very difficult under complex and obfuscated licenses) and ethically (behaving in a way that is consistent with the spirit of the society).
The best solution would be for software vendors to change their licensing schemes to be fair (e.g. one person can use one license on two computers non-concurrently) and transparent (reduce the legal mumbo jumbo). |
| Sun 18 Apr | Stephen Jones | You can use Office on two computers non-concurrently if you have a full retail version. Of course almost no private individual does, as the full retail value is simply an imaginary figure that MS uses to make people think they have got a bargain when they pay for the OEM or educational version.
Corporate licenses of Office used to allow you to use the principal user of a computer at work to install office on one computer at home, provided the two were not used concurrently. Corporate, and indeed educational licensing, is now so complicated that I have no idea what or where I can install. |
|
| Should programmers carry "their own weight"? | Mon 12 Apr | ImNotWorthIt |
| To all you managers who hire programmers, do you expect that the product produced by the programmer to at least cover his/her yearly salary?
Im in the position of having just completed a software product for my company, and theres just no way were going to recoup the cost (ie. my salary) anytime soon, if ever. Yes, the project did take longer than expected.
Perhaps the better question to ask is: how do you determine whether its worth it to develop a new product, or upgrade the existing version? I think the obvious answer is the simple ROI argument. But is there more to it than that, such as simply trying to keep up with the competition? |
| Mon 12 Apr | AMS | Not knowing the specifics, it sounds to me like this analysis should have been done before undertaking the project. If a company starts a project with no idea whether they will recoup the costs, that is just poor operating practice. Unless maybe you're in some sort of "pure r&d" role. |
| Mon 12 Apr | no name | It's not your problem. That's what managers are for. |
| Mon 12 Apr | TomA | If the product works, you did your job well. It's the marketing people who failed selling it. Unless of course it's so bug-ridden that noone wants it. Or it's a useless product with no value and it's the managers' fault that they started the project. |
| Mon 12 Apr | old_timer | That's the management's responsibility, to estimate in advance the resouces required to develop a product and then the potential income from that effort. One will generally allow a first year loss on an investment if by year 3 you are breaking even and by year 5 you are profitable.
Sometimes a product can be used as a loss leader if that has such vast appeal that it draws in orders for other more profitable business. (give away the razor, sell the blades) Suppose 80% of your business is consulting and not software sales. Wouldn't it be wise to practically give away the software if it pulls in more consulting contracts?
Suppose this software does some sort of analysis of a clients business that tells them they really need to buy your more 'sophisticated' software/hardware product? IBM has made countless billions doing exactly that. |
| Mon 12 Apr | sid6581 | If you are just costing the company money overall, why should they keep you? It makes absolutely no business sense. |
| Mon 12 Apr | Bored Bystander | I agree completely with the remark that this is the manager's job. This is really something that a developer in a FT job should not be concerned with.
However, your stature at a company and your career can turn on the success |