| last updated:19 Aug 2002 11:59 UK time |
![]() |
| JOS Statistics - Recent Comments (Comments added for week ending Sun 30 Jun 2002) | View Other Weeks |
| Start a company | Sun 30 Jun | Warren B. |
| Hello, Joel say that you need to read Growing a Business by Paul Hawken if you start a company. I like it but do you have an another suggestion. Regards Warren |
| Sun 30 Jun | those who know me have no need of my name | Small Business for Dummies. Eric Tyson. Don't laugh. |
| Sun 30 Jun | TonyE | And talk to lots of people who have done it before, ignore advice from people that haven't. |
| Sun 30 Jun | those who know me have no need of my name | Whether you agree with it or not, you should also pick up a copy of The E-Myth Revisted. I think it kind of goes against the grain of Growing a Business, but I haven't read the latter so I'm not for sure. |
| Sun 30 Jun | Tim Sullivan | I second the E-Myth. Great book. |
| Sun 30 Jun | Tom Vu | Paralysis through Analysis Don't get caught up in reading all these books and howtos and seminars. They are all good but you have to pull the trigger and just do it. Start small and try to make money. You do not have to be Proctor and Gambel from the start. |
| Sun 30 Jun | Mr. Obvious | Tom Vu! Loved your infomercials. Wish I was rich and famous like you.... |
| Java Book | Sun 30 Jun | Object beginner |
| Hi, If I want to start to programme in Java which book should I read ? Thinking in Java ?. And what do you thing about Object-Oriented Software Construction OF BERTRAND MEYER is it a good book for a beginner about object programming ? Thanks !! |
| Sun 30 Jun | Prakash S | Thinking in Java is a good book and a free download from Eckel's website: http://www.mindview.net/Books/TIJ/ You might also want to take a look at Deitel & Deitel's 'How to program in Java' , Here is the link for that: http://www.amazon.com/exec/obidos/ASIN/0130341517/qid=1025431581/sr=2-1/ref=sr_2_1/103-3169017-9801425 |
| Sun 30 Jun | Patrick Ansari | Personally, I wouldnt recommend Deitel & Deitel's How to Program Java. It is too overwhelming for a beginner in my opinion and it has no real substance. Their examples are not particularly good. Just my opinion - a lot of people love this book ;p Instead: Buy a language-neutral book on objec-oriented programming principles THEN download Thinking in Java by Bruce Eckel. If you like it, buy it. You should also get Java in a Nutshell by David Flanagan (O'Reilly) 4th Edition once you've mastered the basics. It's a reference that you don't want to miss once you've had it for a couple of days. Sun's Java Tutorial web site is also an excellent resource. So are the Sun endorsed books (Core Java 2...). Hope this was helpful. |
| Sun 30 Jun | Patrick Ansari | By the way, check out http://safari.oreilly.com . This site is very cool and could save you a lot of money. I signed up the other day and I'm very happy with it. It's a subscription-based service which allows you to view O'Reilly and other books online. O'Reilly books are imho the best available. They have a massive collection of Java books on Safari! |
| Sun 30 Jun | random java drone | Once you've hit your stride, these will be most useful. Javadocs: http://java.sun.com/j2se/1.4/docs/api/ Java Class Libraries ref: http://java.sun.com/docs/books/chanlee/ The latter is probably the best dead-tree java books I've met, with copious examples, but so few people have them. I never look at them anymore, but they were beyond useful when I was starting out. |
| Sun 30 Jun | Nat Ersoz | I like 'Pure Java2'. Its a 'Sams' book, and like most Sams books straight forward and non-nonsense. |
| Sun 30 Jun | crazed_canuck | As a beginner, I really liked both the Wrox Press books 'Beginning Java Objects' by Jacquie Barker and then onto 'Beginning Java 2' by Ivor Horton. I also have the Dietel book and and a few others but those are the two I found most helpful. There is also a companion web site where the actual authors show up to answer questions occasionally. hope that helps. |
| Mozilla might be committing suicide. | Sat 29 Jun | Ramón |
| Mozilla does not support Internet Explorer javascript extensions such as document.all, window.event and some others. The result is that many pages do not work with Mozilla. At present, Internet Explorer accounts for about 91 % of web access. Therefore, most web developers test their pages with Internet Explorer only. Therefore, the web pages they develop often contain Javascript code that does not work with Mozilla. My experience in Spain is painful. Mozilla is locked out almost all commercial web servers. For instance, www.abbyss-computer.com blocks mozilla by the usage of document.all; www.ebankinter.com (one of largest banks in Spain) uses a regular expression not supported by Mozilla; www.auto-res.net requires HTMLElement.outerHTML ; www.iberia.com (the leading Spanish airlines) requires either document.all or Netscape 4.x document.layers I wrote a patch that partially fixes those problems, and allows me to work with the sites that I need. I also posted a request for enhancement through the Mozilla bug tracking system ( http://bugzilla.mozilla.org/show_bug.cgi?id=154589 ) Unfortunately, it has very few chances of being accepted. Some opposition is well founded (some pages check for the existence of document.all for using more extensions, and therefore my patch is not enough. However, this problem can be solved. Most of the opposition is purely religous. Bob Clary, manager of the Tech Evangelism (whose job is to evangelize web developers to make pages that work with Mozilla) thinks that implementing these extensions would do harm the web at large (see comment #30 in the link above). It seems that they cannot accept that they have no influence on what is used on the web. What do you think? Note: if you want to add a comment in the bug tracking page http://bugzilla.mozilla.org/show_bug.cgi?id=154589 you need to be registered in the bugzilla tracking system, at http://bugzilla.mozilla.org/createaccount.cgi |
| Sat 29 Jun | Another Coward | 'Mozilla might be committing suicide'? You're assuming it was ever alive and relevant to begin with. If you believe that Mozilla has 'no influence on what is used on the web', then why bother caring about Mozilla at all? But if you believe that Mozilla can make a difference, then why not respect the decisions of the engineers who deliberetly chose not to implement this feature? Personally, I agree with you that Mozilla will never support Microsoft extensions, and until it does, it will never be useful -- but that topic has already been hashed to death. No need to go in to it again. |
| Sat 29 Jun | Ramón | > 'Mozilla might be committing suicide'? You're assuming it was > ever alive and relevant to begin with. A large number of users (Linux, most Unix systems and partially Apple) are in fact excluded from the Web. In addition, although the number of users of Mozilla is low now this could change. And I think that it is beneficial to have an independent web browser that blocks the addition of even more extensions, in the same way Apache blocks the addition of propietary extensions to the HTTP protocol. |
| Sat 29 Jun | Prakash S | Mozilla Who? :-) |
| Sat 29 Jun | Helen Collins | If you want a variety of browsers to check your sites on, head on over to http://browsers.evolt.org where you'll find every browser ever released, available for downloading. |
| Sat 29 Jun | Simon Lucy | One of the problems, one of the many problems, with talking about Mozilla is that it isn't a parallel product to IE or even Opera. Microsoft extensions aren't javascript extensions, they are variations on the DOM (Document Object Model). mozilla.org chose to only follow standards and not proprietary or novel adaptations, that included prior Netscape extensions. For the most part issues with servers come down to badly written browser sniffing. As you say yourself you have some workarounds that do something for you, could you have achieved the same in IE? |
| Sat 29 Jun | Alex Moffat | You're assuming that Mozilla development is motivated like IE development is, to take over the web. Perhaps this is not the case and what they want is to produce a standards complient browser without Microsoft extensions. If so they have succeeded. I don't think you should project your desires onto them. If Mozilla is dead, or irrelevant etc. as some posters seem to think then why does that matter to those posters? Much of the original open source stuff, i.e. perl, wasn't developed with the idea of getting market share or dethroning some existing system, if it later became very successful, e.g. perl, linux, apache then that's a side benefit. |
| Sat 29 Jun | Ramón | Replay to Alex Moffat: I have a high respect for the intentions of the Mozilla developers of promoting standards. But I cannot understand how a browser that cannot be used for everyday life can help promote standards. It might be an interesting collection of bytes, where one can learn some lessons of software architecture. The current situation is web authors see that 90 % of hits come from Internet Explorer => they develop content for Microsoft browser => users see that Mozilla/Netscape 6 does not work for their daily tasks => they stay with Internet Explorer => the loop starts again. By contrast, if Mozilla supported Internet Explorer DOM extensions (yes, I said Javascript to simplify, since I patched Mozilla source code I should know that it is DOM, right?) many users could test it. With the adequate promotion by AOL, it could achieve a respectable share, say 10 %. Now web authors would avoid being incompatible with it. Therefore the best strategy for promoting standards is to be compatible with Internet Explorer. |
| Sat 29 Jun | Ori Berger | Three remarks: Being fully compatible with IE is just as suicidal for Mozilla as being incompatible with it - trying to play catch with Microsoft does not usually work. The compatiblity issue ISN'T what's going to determine whether Mozilla is accepted or not - it's the clueless-install base. Most users don't actually know if they're using IE or Netscape - they use whatever browser was installed when they bought their machine (which is, at present, IE). If they had bought a machine preinstalled with Moz, that's what they'd be using. It's the early adopters that eventually determine what becomes preinstalled[1], and they DO like mozilla, for many good reasons (such as tabbed browsing, sane permission system, etc.) - some of them especially BECAUSE they want a standards compliant browser. Second, I live in Israel, where 99% of the sites are written and tested solely with IE in mind; Yet, I use Mozilla and rarely have to launch IE. Apparently, the Israeli community whether it is aware or not stays close enough to the standards that most sites work - and that's how it should be. I also visit a lot of American and British sites, and in the last 6 months in which I'm using Mozilla almost exclusively, I've never had IE handle a site better than Moz. Third, don't downplay AOL's ability to make Moz popular. Nothing is assured, and they aren't rushing there, but they have the will and they have the means; It seems that recently, of all possibilities, WalMart (!) might be giving a big push in that direction. But it'll take a year or so before we'll be able to tell. [1] Well, early adopters, and Microsoft licensing terms, which are part of the still-running antitrust case. |
| Sat 29 Jun | Sam Wong | >But I cannot understand how a browser that cannot be used for everyday life can help promote standards. Maybe a browser having less than 10% share of users can hardly help promoting standards. But at least they are promoting. If they implements the MS 'extensions', they will have to follow every lead by MS. And that's just the opposite of promoting standards. |
| Sat 29 Jun | Joe | Well I went to the http://www.iberia.com website and did not have any trouble getting flight schedules. I also went to www.abyss-computer.com with Opera Netscape and Konqueror. None of those would work with the site. My solution; go to another computer site. I have also used Konqureor / Mozilla to order books online and computer accessories with no problem. Hey, as for the posters who down Mozilla as being irrelevant, I could care less. All that counts is that Mozilla works with the Linux compatible sites. That is where the action is. The source code and rpms are there. The Windows religious zealots have the notion that we should have to pay for overpriced buggy crap. That is exactly what it is. Microsoft is just as bad as IBM was, back in the late 80's. I am not going to put up with that. Besides my Linux box comes with Cad, two nice spreadsheets (that import Excel BTW), a symbolic algebra programme, two MatLab clones, a curve fitting package, a set of scientific C routines, assorted mp3 players, RealPlayer, a SQL data base, a finite element programme, molecular viewers for pdb and mdl formats, vector drawing programmes, a LaTeX editor and lots of nice games. Not to mention that I have Perl, ADA95, Python, JAVA, FORTRAN, C++, Smalltalk and TCL/TK. So - heh - what if http://www.abyss-computer.com/ is inaccessible. There are thousands of apps to take the place of what they may offer. You developer guys make a tragic mistake: that the end users want mindless click and point simplicity. That was a safe assumption in 1987 but not now a days. |
| Sat 29 Jun | Will Glass-Husain | From a web application development perspective... It's a tragedy that IE, Netscape 5, Netscape 6, Opera, and now Mozilla have different DOM's. The fact that 10% of our users have a non-compatible DOM with IE leads to endless extra development and testing hours for I and my coworkers. (at least for JavaScript heavy sites like ours). Combined with minor incompatibilities in HTML interpretation regarding tables and fonts this leads to significantly extra cost and a slower time to get sites online. Incidentally, I believe that many sites do not have high standards for cross-browser javascript compatibility (due to the time it takes to get it right). I see minor problems with bad fonts and javascript errors all the time on other sites and the occasional major failure. (Using both IE and Netscape). While experienced computer users may disregard (even not notice) the occasional flaw this can be quite disconcerting to regular users. And in response to the previous writer who complained about buggy Microsoft code... get over it! I switched to IE years ago after Netscape crashed time and again (and found it, not perfect but a very stable platform). Discuss the real issues, don't post mindless rhetoric! |
| Sat 29 Jun | Joe | Hey Will: It was not mindless rhetoric. It's only mindless rhetoric to you guys who feed at the Microsoft trough.You keep your high priced virus delivery system, OK. The issue here is why certain websites are not accessable with Mozilla. My response is I don't care. I want to have a choice as to what I use for computing. If that choice enables me to have more valuable software at the expense of browser compatibility then so be it. What am I gonna see at those Microsoft sites? More adverts and fluff? Maybe the open standards are better. The fact that they are subject to public scrutiny might make for better security. |
| Sun 30 Jun | Ryan | We either need to revolt against MS and use competitors products, or embrace them and use only there stuff. They are slowly taking over the internet. We either need to admit defeat and give it to them or use someone else's products. This you need IE shit is getting on my nerves. My fondest wish is that AOL actually switches. Then a whole bunch of sites will be broken, and with 34 million customers gone the site owners might be persuaded to fix them. Without AOL switching it is up to the 5% of people that use browsers other than IE to try to bitch enough to get the sites to change. CLUE (it ain't gonna happen, unless AOL switches.) |
| Sun 30 Jun | Simon Lucy | Ah, where once threads of discussion always ended up at 'you're a Nazi', 'no, you are', such were the heady innocent days of the past. |
| Sun 30 Jun | Sam Wong | >And in response to the previous writer who complained about buggy Microsoft code... get over it! I switched to IE years ago after Netscape crashed time and again (and found it, not perfect but a very stable platform). Discuss the real issues, don't post mindless rhetoric! I have a question: is there any systematical and objective comparison of the stability of IE and Netscape or other browsers, on different OS? |
| Software Errors Cost Billions | Fri 28 Jun | David Blume |
| (In a recent Reuters article...) In other news: Vehicles Kill Thousands, and Water Drowns Hundreds, and Worlds Children Cost Billions Not to mention gems like, software users contribute about half the problem, where the stat could easily be, 95% or 10% depending on how you define software error and problem. And, Currently, over half of all errors are not found until ... during post-sale software use. Cripes! When do these auditors start counting bugs? In pre-alpha, alpha, Beta? Not at release, because then the stat should be, all. Over half?! Ive released much software, and I have roughly 20 post release bugfixes, out of hundreds and hundreds of prerelease bugs. USDoCs NIST, indeed. What pure tripe. New headline: NIST Wastes Money. Ahhh. Fun rant. Have a nice weekend, all! |
| Sun 30 Jun | David Blume | I didn't include the link to the original article, because it was pretty easy to find. But here it is, in case anyone thought I was making it up: http://story.news.yahoo.com/news?tmpl=story&u=/nm/20020628/tc_nm/tech_software_dc_1 |
| Sun 30 Jun | random java drone | This is the NIST paper: www.nist.gov/director/prog-ofc/report02-3.pdf |
| What's the big deal? | Wed 26 Jun | OzzieGT |
| At most of the job websites I visit, it seems that everyone seeks advice on how to be a manager. What gives? I dont see the reason for it...why do so many people technical background want to move away from that into management? Is this something that changes as you get older? Im only 23, and I am about go get a MS in HCI, but after working for a year and a half, I really dont have any long term desire to be a manager...am I missing the big picture? Are there no decent upper-level jobs that are technical? |
| Wed 26 Jun | anonymous | In some companies the only career path available is to go into management. Other companies have done a good job of providing an alternative career path for individuals that have no desire to go into management, but such companies are rare. |
| Wed 26 Jun | Bella | Also, SOME people may opt for a mgmt positions b/c they tend to pay better, unless you're hourly. As you get older, your financial burdens tend to increase (if you let them, mind you) But there's more to it....I think....Often, as people get older, SOME are unable to maintain their skills. SOME lives require attention that detracts from those all nighter coding sessions they did in their 20's.... SOME older workers often are unable and/or unwilling, to put in the time...both in and out of the office...SOME coast for years on outdated unmarketable skills ....When they are obsolete, and facing a dead end, or layoff, SOME may turn to management as an alternative to learning the latest and greatest. If they've languished long enough, the leap is just too much... Also, management skills can be 'faked'. (Disclaimer: I think a good technical manager is the make or break of any serious project) Management skills have a much longer half life than programming skills. I feel it requires much less skills maintenance outside the office....I may be wrong, I've always avoided managing like the plague... Lastly, I don't buy into the myth that people are 'forced' into management. I've never seen it. If anything, I've sen smart guys who would make great managers, but they weren't tall, blonde, or fat enough to be taken seriously as a manager. If you want to stay a coder, so be it. Just carry your weight. If you're good, you will be implicitly exercising your mgmt skills, like it or not. |
| Wed 26 Jun | anonymous | In addition I would say yes, your attitude does change once you get older. I've only been doing this for about 7 years now, but I'm feeling severe burn-out. The only thing that keeps me here is that I know I couldn't make this type of money in another career without some serious retraining. Right now I'm too lazy to get retraining, so I figure I'll wait for a layoff. Its bound to happen sooner or later. I don't want to go into management either - they have a harder time finding jobs than we do, and I don't have the stomach to play corporate politics. What the hell's wrong with me? I used to program during the day and then go home at night and program some more. I just don't have the energy for it anymore. Maybe I'm getting too old (+30). Maybe I've developed too many other, more interesting, hobbies. I feel like I'm on track to becoming a world class maintenance programmer - I don't have the energy or desire to learn new skills at home and I don't have time during work. Not only that, but I don't want to learn any new skills. I've been using C just fine all these years, thank you very much. Now I know how those old dbase programmers must have felt. |
| Wed 26 Jun | Leonardo Herrera | I think 'money' it's a strong motivator to get into management. |
| Wed 26 Jun | Management Material | I transitioned into a technical management position about three years ago. Although the money was slightly better, the main reason I chose to take that path was to take on bigger and more diverse problems. I had been coding professionally for about ten years when I made the switch, and it was seeming very repetitive. In my current position, I still apply the problem solving skills I gained as a developer. I'm still breaking down big problems into smaller problems. I'm still defining effective interfaces to modules (teams). I'm still trying to do time and resource optimizations. I'm still puzzling out efficient ways to move information from places where it's produced to places where it's consumed. The big difference is really the kinds of tools I can bring to bear on the problems I'm tasked with solving, technology being just one of them. A nice side effect is that I've learned some stuff from more mature disciplines that I have be able to effectively work into the development team that I am responsible for. As an aside, the part of my job that typically brings me the most stress are those areas where I have to do 'people management.' For a long analysis of why this is, just consult any of a number of recent threads in this forum ;) |
| Wed 26 Jun | Skeptical Inquirer | I'm skeptical of this 'common knowledge' that developers lose their edge and don't keep up with the latest technologies and so 'have' to go into management. First, I have NEVER met a developer who was 'once competant' but 'just couldn't keep up. Doctors and teachers also have continuing education requirements & they manage to keep up. Why are developers unable to keep up, unlike the rest of the professional world? I keep hearing about these supposed hordes of COBOL developers that are looking for work in COBOL since they can't understand C or VB or HTML -- it's completely beyond their abilities, it seems. Where exactly ARE these theoretical unemployed? COBOL was such a lame language that it seems to me that if you could write anything serious in that old mule, C or BASIC would be a piece of cake and sweet relief after years of frustration. I've met some people who USED to do COBOL and are now doing other stuff. They didn't have a problem with this! These guys are typically smart enough to write huge database applications from scratch in COBOL, assembling a business app using the resources available nowadays is something they could to in their sleep blindfolded with their hands tied behind their backs. Again, are there really tons of developers who just are 'unable' to comprehend the supposed vast complexity and subtlety of basic and html that the young hotshots have mastered? |
| Wed 26 Jun | TK | I could only take grunt programming (I mean that in a good way) for 4 years, and managing programers for 5 more. The career path in most companies like mine was and still is through management. Few firms have a technical career path. If you are good at managing people and projects, you can have many more career choices. If you master the schmoozing/political skills, all the better for your earning potential. If as you progress in responsibilty, you can maintain your techncal roots, you might get the opportunity to create or manage a productive and 'happy' IT department or company. Most of us agree that these are all too rare. You might be able to make it so in your company. |
| Thu 27 Jun | mackinac | >>>I'm only 23, and I am about go get a MS in HCI, but after working for a year and a half, I really don't have any long term desire to be a manager...am I missing the big picture? Are there no decent upper-level jobs that are technical?<<< You've been working for 1.5 years out of a career lifetime of 40+ years. You probably are missing the big picture. Both the software development industry and your interests are going to evolve over the next few decades. I have been doing development for years. But I am basically a techno-nerd type with none of those social skills managers need. I'll stick with development, but others may decide that after a few years they just aren't interested anymore. Are there any decent high-level technical jobs? Well, maybe a few dozen, but not enough to go around. As far as most employers are concerned software developers are just expensive typists. In that environment what would a 'high-level technical job' be? |
| Thu 27 Jun | Jared Levy | At the two companies that I've worked at, the managers had much more difficult jobs that the programmers. It's a lot easier to write clean functioning code than to competently lead a team of programmers of varying ability while dealing with upper management, other teams, and customers. The managers receive more money and status, but have to deal with more challenges and stress. I'd rather remain a grunt for a while and only be responsible for my own tasks. |
| Thu 27 Jun | Patrik | 'The managers receive more money and status, but have to deal with more challenges and stress.' I have been in projects where this is untrue. Because of management cluelessness they have agreed to changes that are huge, and promised them to be delivered on totally unrealistic schedules. Now I am the one with the challange and stress I did not ask for, while management plays golf. |
| Thu 27 Jun | OzzieGT | Thanks for the replies...but it brings up some more questions. First off, is management really the only way to go if you want to make that kind of money? I know that expenses increase quite a bit as we get older, but is it really necessary to go into management to meet those needs? Second, I understand that being a 'grunt programmer' would get boring. I don't have a desire to be a 'grunt programmer' who doesn't get to solve larger issues. I would like to keep my hands in technical things whlie at the same time solving larger problems. People management doesn't bother me either because I'm a pretty patient guy and I think I can handle people. The only thing that I really don't want to deal with is politics. From what my managers tell me, I am very technically competenent and I have the potential to become a good technical lead/manager. They already have me in a lead-type position, and they say they have (had) plans to move me up the ladder pretty quickly. So I agree that my desires will change with time, but I don't really know if I would ever want to get caught up in all the corporate politics that managers deal with. From what I've read here the problem seems to be what mackinac said: software developers are just expensive typists...perhaps one day the structure will change and people will realize that good programmers are also good problem solvers? I guess that's why I am really interested in doing R&D than anything else; it lets me utilize my brain to the utmost without having to deal with all the other stuff to go with it. |
| Thu 27 Jun | Hugh Wells | OzzieGT, if you prefer development, stay with it. There are lots of companies with career streams for developers and engineers, and this will increase. A nice way to guarantee this type of work is to do a PhD, but that's not essential. The idea that 'managers' sit at the top of a hierarchical tree is old-fashioned. I know many situations where developers are paid more than their managers. Also, management really consists of two different roles - administration, and strategy setting. It's possible for senior engineers to have a hand in the strategy setting, while letting general-manager types handle the administration type stuff. The senior engineers then continue to do the work they love, and which may have built the company. At the project level, I actually think development projects are a bit like movies and similar projects, which have dual managers, one for business, and one for the product. In movies, the producer handles the business, while the director makes the movie. In software projects, the project manager often has a producer-like role, while an architect has a director-like role. The fat that these roles are dual and complementary is not well recognised yet, but will be, I predict. |
| Thu 27 Jun | Ian Stallings | My personal pursuit to enter the management ranks comes from my frustration in the past with projects or companies that tanked because of bad management decisions. Not to say they were idiots, but signs of trouble where ignored and it eventually led to bad products, slipped schedules, and budget problems. This is not always true, some managers are excellent and can make a project go very smoothly with both the developers, clients, and their superiors happy. I want to be one of the later. Hopefully, I can bring what I've learned in the development trenches and apply it successfully to management. Although it's a split in the road where you choose one direction or the other, the end goal is actually the same - to create applications on time, within budget, that meet the customer's needs. This drives more work, more innovation, more ca$h. And it goes on and on. But I don't intend to stop coding anytime soon. I still go home and crank out personal apps and love it. Maybe one day I will loathe it, who knows. |
| Thu 27 Jun | Katie Lucas | Personally, I want to be a manager for a number of reasons: one is that it's the only way I'll get a pay raise, because junior developers don't get pay raises. It's the only way I'll get to have actual input on a project because when junior programmers (even junior programmers who've been junior programmers for 8 years) say things like 'that's not a good tool to use' a management opinion gets to overrule it, and somehow it's never management's fault when the project then fails, and thirdly, it's the bloody way I'm ever going to get an office. As a junior programmer, I spend my whole day with a headache from the mobile bloody phones bloody well ringing in the bear-pit of an environment everyone thinks is a good place to put think-workers. Meanwhile I'm watching managers get handed cars, expense accounts, phones, flexible hours... Frankly, given the number of times management have royally rogered projects I've worked on and I get laid off and they don't, it's fairly damn obvious I shouldn't be this side of the fence. I might actually be able to do some good when I get there, but since the perks don't seem dependent on that, things should be peachy either way. Why do I want to be a manager? Because companies consistently treat developers so badly and management so well... |
| Thu 27 Jun | wasProgrammer_nowManager | I'm close to Ian's experience. I became a manager because I couldn't keep my mouth shut when I saw mistakes happening that I had a better solution to (or at least thought I did). Then team1 and team2 were screwing up the product because they were too busy doing their own thing and not communicating. The only solution I saw was to become the boss of team1 and team2 so I'd have a position to get them to work together. Yeah, my skills are faded, though I've always kept a small (token?) amount of programming assignments for myself. Being a middle manager can be frustrating, going back to being a programmer seems more difficult that heading up the chain further. And it can be really good to help pull a group of teams together and get something made, even if I didn't craft it with my own hands. |
| Fri 28 Jun | Bella | Katie, You've coded for a while, correct? I recall you being experienced. Have you tried consulting? It pays a lot more than most run of the mill mgmt positions. That's your goal, right? And you still get to code. And you don't need to care about others' incompetence as much. The worse the project is run, the more you work, and the more $$$ you make. Makers it easier to deal with sometimes. Sad, and best avoided if possible, but the reality. That said, I've always been explicit in my intent to MINIMIZE my hours, as I always bring a good faith honest attitude towards my clients. Keep in mind, when managers get laid off, they are often SCREWED bigtime. Half a mgrs value may be his business knowledge, which usually isnt transferrable elsewhere. |
| Fri 28 Jun | Bella | I must admit, I am quite taken aback when I see programmers who a) claim to be talented and b) complain about pay rates. I dont know what planet some of these people have been on, but we've just experienced as big a boom as ANY profession ever has. Yes, the market has slowed, but how on earth were these people not making money hand over fist for the past 5 years, IF that was their goal? Any decent programmer with a couple years experience had contract offers being thrown at him daily. There was 10x more money to be made than hours in the day. And if you subcontracted work and took a reasonable cut, like the body shops do, you could have cleared 7 figures the last few years, IF that's your style. |
| Fri 28 Jun | Just me (Sir to you) | Bella, if that was their style they would probably be in sales or marketing, not in development ;-). |
| Sun 30 Jun | Katie Lucas | Consulting. Ahahahahahaha. The consulting industry in the UK has vanished. Pretty much overnight. Agencies are closing their consulting branches and rates seem to have passed permanent salaries on the way down as people fight for the scraps of work there is. In the end, it'll hurt the customers because they're destroying their ability to get hold of skilled staff REALLY FAST. But currently they're so busy focussing on firing everyone in sight in order to prop up share prices, they don't care about the long term damage done to their own companies, never mind a company landscape. I don't know quite how consulting works in the US, but in the UK consultancies take two forms. One is the large house. They are typically attached to large accountancies and operate in much the same way. Wonder how the auditors missed the holes in the Enron books? I can guess. The IT staff that come from those places are fresh out of university, have been taught the buzzwords and can't build software to save someone else's life. They're cheap to pay, but can be rented out at high rates. I'm told the same technique is applied to the auditing market. Reap what ye shall sow. The other way is the independent contractor. These are the people hired by non-technical managers from lists provided by non-technical staff agency workers from CVs they've run keyword matches against. And then the hiring company pickes by the lowest bidder. The ways to work in this market are to work very cheaply or to lie very well. Technical ability is something only discovered by the next contractor who arrives to carry on the work. Typically, contractors of this ilk form the extra manpower that managers pour onto their troubled projects... Companies are loath to hire contract staff in the current market because they cost money they've convinced themselves they don't have, the agencies annoy the crap out of them by costing vast amounts of money and not actually providing any value-add and anyway, it doesn't matter how many staff they hire the walking-dead projects still always end up dead-dead... I'm actually developing a deep hatred of the IT industry. There are so stormingly few people who actually want to be any good at it. As far as I can tell, you do better running a project into the ground but being good at buzzwords than you do making something work by being a good developer. Developers just are not valued. At all. The only reason we get paid as much is that projects need us and we're rare. But we're valued in the same way as the inspirational posters on the wall or the cubical walls. Because without them the project doesn't look proper enough. We're like fashion accessories for managers who can't tell if what we're doing is right or not. And worse DON'T CARE. If our actual output was worth paying for, it would be worth paying for us to have offices... |
| New Virtual Machine Anyone (Pt2) ? | Fri 21 Jun | James Ladd |
| Before this post falls off the page and out of your minds, please check the original post (further down the page). Id be interested in hearing from anyone. Regs, |
| Tue 25 Jun | MarkTAW | Book Review: Virtual Machine Design and Implementation in C/C++ http://books.slashdot.org/books/02/06/25/1223234.shtml?tid=156 Thought you might find that interesting. The Z-Machine is the virtual machine made by the Infocom guys so that Zork & other text adventure games would work on any computer. You could code the game in their proprietary language, compile, and run it on a C64, Atari, Apple ][ and whatever else was around at that time. There are Z-Machine interpreters for just about every platform that exists. Since the language & compiler were proprietary, nobody could create text games until Graham T Nelson created Inform - a compiler for infocom style games. http://www.inform-fiction.org/ Fun to play with when you want to hack code just for the fun of it. |
| Tue 25 Jun | MarkTAW | * nobody except the folks at Infocom, and anyone who had a heck of a lot of time on their hands to create a whole text adventure engine for scratch. |
| Tue 25 Jun | James Ladd | Thanks for the link. Ill definately get that book. Especially as it talks about a register based machine, which is what I am doing. Though im using assembler and not C/C++. Regs, |
| Wed 26 Jun | Joe AA. | Now I am really confused. Virtual machines are for portability... and you are writing it in assembler - which is not portable? |
| Wed 26 Jun | Steve Wheeler | 'Now I am really confused. Virtual machines are for portability... and you are writing it in assembler - which is not portable?' Don't confuse portability of the virtual machine itself with the portability of an implementation of a virtual machine. Not all virtual machines are intended to provide portability as their first goal, either. I work with virtual machines that run on small processors (128 bytes RAM/2k code, 192 bytes RAM/4k code, 368 bytes RAM/8k code). The virtual machines allow us (http://www.vestatech.com/) to run our version of Basic on boards incorporating these processors. These machines are implemented in assembly for reasons of performance, in terms of both speed and capability. I don't think we'd have as capable a virtual machine if they'd been coded in C. True, it's a different arena than you were probably thinking of, but that's the point ... portability *is* a major benefit of virtual machines, but it's not the only one, and it may not even be the major one in all cases. |
| Wed 26 Jun | Joe AA. | I guess I can say a definite maybe to that Steve. In one of the earlier posts it mentions a VM to run on C64, Atari, Apple... which in that context means 6502/6510 machines - same CPU but possibly different memory mapping. |
| Wed 26 Jun | James Ladd | Good comments steve. The implementation of the VM is assembler, so the VM itself is not directly portable. However, HL languages implemented ontop of the VM will be when the VM is implemented on another platform. The goal of the VM is speed and the ability to support a wide range of languages ontop of it. When it comes to a new platform, the VM will be re-implemented in assembler for that platform. Again, any code written for the VM on one platform will run un-changed on the other platform. The VM is the abstraction. Im also thinking of making the VM a 32bit machine where the smallest datum is 32bits. Yes, there would be a waste when storing a byte, but there are also other advantages for the VM is not handling multiple datums of different sizes. You could (as a compiler writer) pack a 32bit value with byte values and use instructions of the machine to manipulate just a portion of the 32bit value. I see this as akin to a flat memory model. Regs, |
| Wed 26 Jun | James Ladd | Does anyone have an opinion on what instruction set the VM should be based on and why ? Please give details / justification for your opinion. Regs, |
| Thu 27 Jun | Ged Byrne | Perhaps Forth coudl provide a workable prototype: http://www.taygeta.com/forth/dpans.html |
| Fri 28 Jun | Ori Berger | register machine, four address code notation (meaning the most common instruction format has the semantics of 'reg1 <- reg2 op reg3') or whatever variant that better fits your setting. Why? it's at least as quickly executable as stack based machines (such as Forth); It's just as easy to generate code for if you have an infinite number of regs (a bit more complex if you have a finite number, but not too complex if it's more than 4). But reasoning about register code, optimizing it and/or translating it between different representations with efficient output is significantly easier for register machines. Try to find Ron Cytron's thesis about 'SSA' or Michael Brandeis 'GSA' representation - they give an amazing insight into just how much more flexible register machines are (they don't use a classic four-address-code machine though - they replace branches with something that allows better reasoning still). |
| Sun 30 Jun | Ramón | This paper about the design of the Inferno virtual machine can offer interesting ideas. http://www.vitanuova.com/inferno/papers/hotchips.html |
| Sun 30 Jun | James Ladd | All good comments, thanks. Keep em comming ! Regs, |
| Sun 30 Jun | James Ladd | A register machine with a four address combo looks pretty kewl. So does the info on Inferno. Thanks people. Please keep the suggestions coming. Regs, |
| Prototype Sandbox | Fri 28 Jun | David Blume |
| I made a prototype sandbox for my 1 1/2 year old daughter. But since Im a programmer, not a carpenter, the sandbox is the computers keyboard. http://home.earthlink.net/~daliblume/Download/Maddie.html The intent is that if this is the only application running (such that Alt-Tab does nothing), the QUITWORD and Ctrl-Alt-Del are the only ways out of the sandbox. First: Youre all welcome to the program, although you wont want it unless you have a kid just the right age. Stricted disclaimers in place, of course. Second: If I miss my intent for the sandbox, or you have other criticisms, please let me know. I expect to release version 1.0 in a week or two. |
| Fri 28 Jun | Chris Rickwood | Cool. My boy LOVES pounding on the keyboard. One thing I might add are sounds. It will complicate the programming, but would be a cool feature. You would of course want to be able to disable that feature as well :) |
| Fri 28 Jun | Andrew Brown | Great! I meant to write something similar, but I usually code for AtheOS in my free time. My boy will love it. |
| Fri 28 Jun | Leonardo Herrera | Yup, I like it too. (Yes, _I_ like to pound at the keyboard, it's a great stress reliever) Some accesibility features should be turned off, though (narrator and magnify, on my windows 2000 machine, popped out when I was in pounding frenzy) Cheers! |
| Fri 28 Jun | David Blume | Thanks, Leonardo. That's why developers don't QA their own software. We tend to exercise the software in very narrow ways. Maddie doesn't catch WindowsKey+AnotherKey presses. Looks like the SetWindowsHookEx(WH_CBT) trick doesn't stop that, it only stops independent Windows key presses. Also feel free to email me other bug reports if you don't want to clutter Joel's forum with this. |
| Sat 29 Jun | Evgeny Goldin | Really nice, thank you ! Is there any chance you could post the sources as well ? |
| One Smoking Job | Wed 26 Jun | Simon Lucy |
| http://thesliver.livejournal.com I know this probably reads very strangely, with all the names reduced to initials and the background of the project kept dark and indistinct, but in a life of quite bizarre experiences this is high up on the list. |
| Wed 26 Jun | Ged Byrne | I wish my life was as interesting as yours :) |
| Wed 26 Jun | Mike Swieton | Damn thats weird. Almost reads like Kafka... Odd. Never heard of the management trying to play people quite that much... Shitty place to work. Though being under budget is quite impressive 8-} |
| Wed 26 Jun | Simon Lucy | Well its not hard to be underbudget only 6 weeks into real development, 3 months total. As for it being interesting.... I must have been cursed by a Chinaman. As its panning out, they are backing off in lots of ways, theough they still have my personal company property from when they cleared the office the day after. It looks like they'll have to pay for a technology transfer, since no one is going to work with them. And we want our money :-) |
| Wed 26 Jun | Prakash S | And what is that you do again? :-) |
| Wed 26 Jun | Simon Lucy | ummm stuff this particular stuff was Architect and Lead Developer on an ecommerce app and server thingy |
| Wed 26 Jun | X. J. Scott | Simon, Was it the one dealing with music as you mentioned on your log? And if not, tell us about the one that was... |
| Thu 27 Jun | Simon Lucy | Yes it was/is the music one and I can't go into many details although I could probably say that I think it included a better model for DRM than is currently around. Oh I just did say that :-). |
| Thu 27 Jun | X. J. Scott | > a better model for DRM Ai yi yi. I wonder if this has anything to do with a certain metal used in catalytic converters. |
| Sat 29 Jun | Simon Lucy | No, absolutely nothing to do with Palladium |
| Microsoft Palladium | Wed 26 Jun | Ged Byrne |
| http://www.msnbc.com/news/770511.asp?0bl=-0 Microsoft have revealed their plans for the next generaton trustworthy PC. Amoung other thing, it can only run certified binaries. The idea of certification has been discussed a fair bit lately, and it looks like Microsoft are going for it. So, is this a new era of reliable computing, or has Microsoft gone bonkers? Theres an interesting discussion of its affect on GPL here: http://www.theregister.co.uk/content/4/25891.html |
| Wed 26 Jun | Leonardo Herrera | If Microsoft can afford to give these things for free, sure, it's going to catch, Without mentioning that there is no such thing like 'inviolable'. |
| Wed 26 Jun | Matt H. | who the heck uses 'Panacea' in article like this? |
| Wed 26 Jun | Just me (Sir to you) | Microsoft proposes something and the Register does not like it? I'm shocked ;-) Seriously though, if (I'll repeat that - IF) you think that there is a right for a content producer to limit what you can do with a copy of the content that you (rent - lease - purchase - whatever), and you are faced with a world that has (a) the technology to effortlessly abuse your rights and (b) has demonstrated a total lack of voluntary compliance, what are you supposed to do? Creating a technology that allows you to distribute your content in a way that tries to eliminate (a) seems logical. Is it sad that there is a need for this? Yes. Is there a need for this? Yes. Will you be forced into this system exclusively? No. Seems like an excellent opportunity to me for the GPL crowd to start working on GPL'ed content. Stop whining and start grinding. |
| Wed 26 Jun | Chris Woodard | Microsoft seems to be unable to win a straight-up technology fight, so they have to resort to changing the rules of the game. Sounds like an admission of defeat to me. |
| Wed 26 Jun | Chris Woodard | 'Just Me' says: 'Seriously though, if (I'll repeat that - IF) you think that there is a right for a content producer to limit what you can do with a copy of the content that you (rent - lease - purchase - whatever), and you are faced with a world that has (a) the technology to effortlessly abuse your rights and (b) has demonstrated a total lack of voluntary compliance, what are you supposed to do? Creating a technology that allows you to distribute your content in a way that tries to eliminate (a) seems logical.' and I have to reply that I'd change the form I distributed my content in. I'd figure out a way to encode said content into an unplayable encrypted form with decoding instructions interspersed with the data at fractal intervals. (The encoding would be done with the public key from a PKI pair.) Then I'd build a hardware player with its own OS and built-in decoding VM that contains the private key in ROM, and assign the public/private keys through an online music service after suitable payment. I'd have to throw enough goodies into the hardware player to make it attractive, or I'd build them and sell them at a loss to capture market share. And I could do all that without the stupid draconian hysterical self-protection that Microsoft's executives have to resort to in order to hobble the better, cheaper, more nimble competition. |
| Wed 26 Jun | Simon Lucy | Using a secure machine as the trojan to deliver publisher controlled content is an interesting approach. However, its a model that depends on ubiquity, which is the fault of all these panaceas. When publishers finally realise that what consumers want is exactly the same rights over digitally delivered content as they have over every other distribution medium, probably for the same cost/same quality; then publishers will actually start to regain consumers trust. Mind, the combination of Microsoft and secure in the same sentence strikes me generally as an oxymoron. |
| Wed 26 Jun | Matt Conrad | If Microsoft couldn't convince people to use Passport, how do they think they're going to get this to work? Makes me wonder if all the buzz about 'security is our top concern' was just lead-in for this unlovely proposal. |
| Wed 26 Jun | Prakash S | Great articles both of them. My money is on Microsoft though....wait a sec, didn't I just pay a s***load of $$$ for the OS and Office. |
| Wed 26 Jun | Frederik Slijkerman | This sentence puzzled me though: 'So far, the United States doesn’t seem to have a problem, but less tolerant nations might insist on a “back door” that would allow it to wiretap and search people’s data.' I thought especially the US government is keen on wiretapping and searching? Isn't it just a few years ago that they released the ridiculous export restrictions on 128-bit encryption? I wouldn't exactly use the term 'tolerant' for the US government. Not to mention the Digital Copyright Act. |
| Wed 26 Jun | Joe AA. | “I firmly believe we will be shipping with bugs,” says Paul England. I think this says it all. |
| Wed 26 Jun | Doug Withau | Simon hit on the key flaw in this plan. You have to boil the ocean. Until big majorities have the chip in their PC, they cannot force everyone to put up with binaries that will not work without it. If the binaries will work without the special hardware, you are not going to sell much special hardware. What really bothers me is that when I see an announcement like this, I wonder what is the real motive. This new MS strategy is like a troll post. It begs to be flamed. What is the more subtle strategy they are trying to slip past us? And, when did I get so cynical? |
| Wed 26 Jun | Sam Wong | >Simon hit on the key flaw in this plan. You have to boil the ocean. Until big majorities have the chip in their PC, they cannot force everyone to put up with binaries that will not work without it. >If the binaries will work without the special hardware, you are not going to sell much special hardware. I ain't MS, but the following is what I guess that's gonna happen. 1. MS makes deals with AMD and Intel. Since this is a win-winsituation(for them) they'll agree. 2. AMD and Intel starts replacing 'normal' chips with new 'secured' chips gradually. 3. MS Windows X, launched in 2008, can run on both normal and new chips. (But on normal chips, some minor functions will be lacking. ) 4. Sooner or later, the majority of users have the secured chip installed in their machines (with/without knowing exactly what's the heck is that). Chip manufacturers stop making normal chips completely. 5. MS Windows Y, launched in 2012, can only run on new chips. And it's pay-back time: chip manufacturers, MS will start charging whatever they want. Voila. |
| Thu 27 Jun | Prakash S | SAM: it will be as early as 2006. |
| Thu 27 Jun | Albert D. Kallal | Well, if everyone complains about MS has no security then this would be logical response. It would be the HEIGHT of hypocrisy for people to complain about this! It is interesting that this future vision is being taken by ms. However, it is very understandable. Computers have changed the world, and bringing digital rights management down the consumer level might just be what is needed. How many of you people actually lock your door when you go out? I suppose if you don't have a door, and you don't believe in locks then the above vision does not make any sense. Do any of you people actually lock the doors on your car? It certainly makes sense to me. In addition, distribution and protection of my software, or even my writings can be protected as much as I wish this way. The music industry might think this is good for them, but they better think about this. If I do manage to get some digital music out of *their* DRM system into my DRM, then they might lose. (I could share music, and they would never know). We have locks on cars, we probably need some on computers. 30 years ago, this was moot point. Now, something dearly is needed as computers become so intertwined into our lives. I am actually surprised that much of the proposed security was not proposed by congress. I know of several companies that have tried to setup and run their own web servers. In all cases it has been a disaster! This is due to the sites being constantly hacked, and messed with. This is sad, as I really did think that every single business today could, and would and *should* be running a nice little web server. Software such as quicken etc could then pump customer data to the web site, and customer service would improve. There is a zillion nice LITTLE things that a small web server could do for each and every business I know. How about a version of word that auto publishes material to web site for you with one click. Right now, all of these small business have been forced to move their web sites to a ISP not because they wanted to, but for simple issues of security. What a mess. I wish every business could simple run a nice little web site with great ease (well...they kind of can..if they use CityDesk!). We need to be able to expose our computers to web with great ease..but security is stopping this. Hum, could the last bastion of computer crackers be Linux and open source? We need somthing..... Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Thu 27 Jun | I've Heard of That | Albert, By 'share music' you mean 'steal music', right? |
| Thu 27 Jun | Sammy | One thought. MSFT is often afraid of Linux, other companies, random teenagers, etc. How would Microsoft react if confronted with another Microsoft? I think they would be FUCKING SCARED and untrusting. They'd want to kill it. And maybe that strategy is worth considering. ;-) |
| Thu 27 Jun | Ged Byrne | ------------------------------------------------------------------ By 'share music' you mean 'steal music', right? ------------------------------------------- I've Heard of That Take a look at MP3.com. A personal favourite of mine is Higgins: http://click.mp3.com/c/f_990/u_artists.mp3s.com/artists/19/higgins.html All very legal. |
| Thu 27 Jun | X. J. Scott | This FAQ page has some interesting info on the implications of Palladium: http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html |
| Thu 27 Jun | Doug Withau | Albert wrote: “I am actually surprised that much of the proposed security was not proposed by congress.” Legislating technology does not work. The result is far behind the state of the art or ridiculous. California still does not have zero emission cars, even though they passed a law. Legislating chips into every PC and consumer device will give one company or group the power to control content. That is a bad thing. Consumers can buy software that works better and is more secure. Let Darwinism in the market place solve this problem. This is just Microsoft’s attempt to grab that market. Personally, I think it will fail. The idea that the government should pass a law forcing this plan to succeed is wrong, wrong, wrong. Yes, I do lock my doors. I also have the ability to leave them unlocked, make new keys and give keys to my friends and family. Do you see the difference? I like it much more when I am in control than having Microsoft, the US government or anyone else in control of my personal property. Yes, I am that radical to consider the PC and software I paid Yankee dollars for to be my personal property. You can setup and run your own web server. If you can read this discussion group and follow the ideas, you can learn to setup a small, secure web server. |
| Fri 28 Jun | Nick Hebb | At the end of each year, Cringely is pretty honest about which of his predictions came to fruition and which ones fell flat. I think in a couple of years, he'll be telling us I told you so again re his take on the Palladium ... http://www.pbs.org/cringely/pulpit/pulpit20020627.html |
| Fri 28 Jun | Just me (Sir to you) | From that article: 'First, make the old [Internet] unworkable by placing millions of exploitable TCP/IP stacks out on the Net, ready-to-use by any teenage sociopath. ' Is there any data to back this up? I have not seen more problems with the Microsoft stack than any of the others. Micrsoft has not been less or more sluggish than any other vendor/organisation to correct for problems once they surfaced. I know I should know better than to participate in any tread on any forum that references Microsoft, since for a certain very vocal crowd it seems like the moment the MS word is mentioned it is OK to trow all rationality out the window, but on certain days, I just can't help myself. |
| Fri 28 Jun | Sammy | Sir, he's referring to the old Steve Gibson critique. http://www.pbs.org/cringely/pulpit/pulpit20010802.html http://www.pbs.org/cringely/pulpit/pulpit20010816.html http://grc.com/dos/xpsummary.htm http://grcsucks.com/grcdos.htm The magic of a bookmarking system. |
| Fri 28 Jun | Just me (Sir to you) | Sammy, Indeed I think you are right, it must be the old Gibson stuff. For a moment I thought there was a reference to real bugs or quality issues in the MS TCP/IP stack. In stand corrected. http://online.securityfocus.com/columnists/14 http://online.securityfocus.com/columnists/7 |
| Fri 28 Jun | Beka Pantone | Nothing really interesting in this post... This Palladium talk sounds an awful lot like an evolutionary step on the protection scheme they built into the XBox. The XBox has a pretty strong mechanism for content protection, however... like all protection mechanisms it's been broken, and the procedure published. It was pretty complex IIRC. This makes Microsoft quite predictable, they test-drive their technologies in other markets (quite logically). |
| Fri 28 Jun | Albert D. Kallal | Doug wrote: Albert wrote: “I am actually surprised that much of the proposed security was not proposed by congress.” Legislating technology does not work. In fact, I did not hint, or intend to hint that the government should, or should not legislate this. I was only stating that I was SURPRISED that some legislation has not been proposed. (not that they *should* do this...). We have too much legislation as it is! The analogy of the locked car is not bad. However, I would venture to say that if cars DID NOT have a ignition key...then congress probably would force the auto makers to do this (too many kids would be taking cars from the local mall, and going for a ride). In fact, there was some talk of forcing manufactures to use digital keys on new cars (GM does this for the “high” theft cars now anyway...so do many others). In addition, the government did legislate that you must have insurance to drive a car. Just like the un-secure web site. I certainly could hope that people learn how to drive a car (and thus we would not need car insurance). I could also certainly hope that setting up a secure web server would be as easy as installing word. However, it is not case. The fact that some one CAN LEARN how to setup a secure web server is exactly my point. If a web server was VERY SECURE from the start, then those tons of small business I talked about would (and could!) still now be running web servers. It is extremely difficult to setup a secure web server if you don’t know all the ins and outs. I am simply saying that a huge business opportunity was missed by Microsoft in that IIS is easy to setup, but not easy to secure. MS should have locked down IIS from the start. Have you even seen the defaults that load on win2000 server edition? I mean NNP (newsgroup server installs, and runs by default?....gee how many people are running a news server?). Again, my point here is that a very natural and secure computing environment has MANY benefits. It is not just a web server we are talking about here! I should be able to expose MY COMPUTER to the web, and not even have to worry any problems. My public folders should contain articles, and even stuff like my resume for all to see and grab. Anything I want to expose to the web, or the net...I should simply be able to do this by sharing a few folders. I can’t do this right now due to the existing security model that computers have. Would you feel ok about having your personal computer exposed to the web (files...and all?). Heck, I would not even run a web server on my personal pc for this very reason. This is not just windows problem here. In general most computer people would be uncomfortable exposing their computer to the web. As mentioned, the list of benefits here is huge. All kinds of software could be exposed from computer to computer. My example of invoicing via quicken could even be extended to have inter-act funds transfer. This list if things I would like to do is real long...but not even close to attempting right now due to security concerns. We are missing out a huge bunch of benefits that we could reap from secure computers. Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Sat 29 Jun | Simon Lucy | It was part of the first US Gov attempt to allow them to be able to decrypt all data to incorporate it in every single machine. That got killed simply because no one accepted the premise and there are too many fax machines already out there. This will be similar. If both Intel and AMD only produce 'secured' processors all that will happen is that some other IC manufacturer will generate non-'secured' processors. There may be a slight hiatus in processor development but it would only be slight and temporary. Fairly soon afterwards both Intel and AMD would revert to non locked in architectures. |
| Performance Appraisals | Wed 26 Jun | Matt H. |
| Adiran Wrote: { I suspect (a good appraisal) is quite rare. Ive also had appraisals where I got the feeling that the person giving the appraisal didnt really take it seriously. There was no thought given to my appraisal before we sat down to do it, I didnt have time to prepare anything, etc. } I think its a culture thing. In many software companies (or IT Departments), the value of the appraisal is never really sold. So, its just one more thing to pencil-whip or else we cant get merit increases. Anything that is done just to do it isnt going to have real value - witness XML, MBO, TQM, Six Sigma, ISO 9000, or even, as we have so recently discussed, MBA degrees for people who just want to make money. :-) Yet I think we would agree that real opportunities to have feedback do have value - just as XML could have some value if used right, TQM can be useful if used right, etc, etc. The question is do I need a performance appraisal to do it? because without the appraisal, so few managers would actually keep accurate notes and provide feedback? Well, Id submit that a mandated performance appraisal isnt really any better, because its just going to get pencil-whipped anyway. :-) comments? regards, |
| Wed 26 Jun | Joe AA. | Again I assert that performance appraisals are for the non-performers |
| Thu 27 Jun | Helen Collins | Read this, Matt: http://home.att.net/~nickols/scrap_it.htm |
| Thu 27 Jun | Nat Ersoz | Helen, The article makes so much sense, and I wholeheartedly agree with Joe AA when he says 'appraisals are only applicable to employees who do not care' (or something like that stated elsewhere). Obviously, it makes sense to hire only employees that care. That would be the first line tactic. However, assuming some underacheivers make it through the door, what is the corrective action? Do you give them the same increase that a competent employee gets? |
| Fri 28 Jun | Joe AA. | Nat... I believe that salary management should be done on an individual basis. A competent employee is one that meets the standard, an underachiever does not. I could have stars, competents and underachievers at various different job levels. It would not be correct to treat the differences in performance and contribution as no difference in salary actions. I didn't say 'fair', I said correct. IMHO, any salary action has to be earned - not an entitlement, not a right, and not something awarded to an underachiever at the expense of taking it from the star. The competents were awarded at middle of the road, and better increases were provided to my stars. Those were easy. The underachievers were more difficult. Some were trying their best, had growth and potential. Others didn't try at all but believed they were 'deserving'. Sometimes I gave none... where none was appropriate. Sometimes I wished I could give negative increases. |
| Fri 28 Jun | Nat Ersoz | Joe, OK, so how do you rate an employee for increase if you don't have a review? |
| Fri 28 Jun | A. Coward | It might be enlightening to hear how others have had worthless reviews. My most entertaining was from a company where no one was allowed to recieve the highest rating. The same company required the supervisor to put something negative in the review. My boss could not think of anything bad to write about me, so he wrote that I sometimes used intimidation to persuade others. (This came about from a discussion I had with a fool where I told him to think through his machine control logic, and he would find he had a safety problem. He did.) My best friend under this boss liked to joke with others. He was told that 'he toyed with others'. To not receive the highest rating when I deserved it, and to have a trumped up negative item in the review was insulting. |
| Sat 29 Jun | Helen Collins | Guys, Fred also wrote a follow-up article to that. http://home.att.net/~nickols/now_what.htm titled 'Now What? What to Do After Scrapping Your Company's Performance Appraisal System' |
| IT Degrees (Again) | Mon 24 Jun | Matt H. |
| (I took a three-day holiday) ... Earlier, X.J. Scott Wrote: >The way you mentioned it sounded like this is a common >thing. The classes posted look like for an AA degree, or >a sham BS from a Coleman College like place. Is this >correct? Or is this a degree now offered by actualy >universities (say it aint so) & if so, could you post some >examples? Im talking about a specific flavor of degree: Its not straight CS (which has to be acreditted) and its not straight BBA (which also has to be acreddited) but its somewhere in-between. Part of the theory being: Every company with 400+ employees needs a network guy/PC Tech, an accountant, and a Accounting/PC Supervisor, but not all of them need a coder. So the degrees tend to be either old business (COBOL), IT Infrastructure (Networking), A bit of CS, or an attempt at all three. Examples: Michigan State Universitys Degree in Management Information Science (MIS) Grand Valley State Universitys Degree in Information Systems http://www.csis.gvsu.edu/Academics/ismajor.shtml Salisbury Unversitys MIS Degree http://www.salisbury.edu/schools/Perdue/InfoSys/curricula.asp To be fair, Salisbury and U of M have a lot of accounting and business stuff - I think they are designed so that the graduate go off and do systems analysis - setting up things like the technology backbone, automating the accounting and payroll systems, etc, for a bank or other non-technology company. (See above about 400+ people companies.) Except, of course, this sets them up for a management position right out of college ... and nobody wants to hire a manager with 0 experience. So they go out and they become coders ... often in C/C++/Java Environments. (Unless they are lucky and get to work in a COBOL Shop.) So youve got this guy with one semester of C++ who is working as a coder, and just doesnt get that the bubble sort is inefficient, and people like Bevin end up thinking that a degree is a waste of time. :-) just my $0.02. Most hard-core CS Programs (esp U of M, Carnegie-Mellon, MIT, etc.) are very very very good. Its the compromises that ... compromise. Comments? regards, |
| Mon 24 Jun | Mikayla | MIS degrees have a place. I've known a couple people who should have had one - their ideal early jobs involve installing, configuring, and repairing hardware/software, dealing with networking, and so on. Eventually they may want formal training and the piece of paper (to go into management, or into larger-scale system design as you mentioned). Unfortunately, neither of those guys has an MIS degree - one has no degree, the other has a CS degree it took him 5 1/2 years to get based on his complete inability to do calculus level math. Both of them, interestingly enough, reject the MIS degree because it isn't sufficiently 'h4rdc0re.' If the MIS degree is intending to appeal to these guys (which I think it is, or should be) it needs to become more technical. Of course, until managers stop hiring recent MIS grads to write code, there's not much motivation on the college's end to move it away from 'CS lite.' |
| Mon 24 Jun | Matt H. | I think the MIS-type degrees are best as graduate degree's like Hood College or Harvard's MS in IT Mgt. There, you can take your very specialized experience as a Coder, or Accountant, or Network Tech, and 'Generalize it up' to the next level - at a point where you have the age and exeperience to truely do the Manager in MIS role. I don't have a problem with a Network Technician's Degree, but I would think you could do it as a AAS and end up with an MCSE. (I would want a couplea UNIX courses, of course. :-) just my $0.02. Other thoughts? |
| Mon 24 Jun | Joe AA. | '... and 'Generalize it up' to the next level - at a point where you have the age and exeperience to truely do the Manager in MIS role' Knowing whose butt to kiss. My $0.01... and I probably should wait for change. |
| Mon 24 Jun | Ian Stallings | It's funny, the tension that starts to show between management types and programming types when degrees become the conversation topic. I myself do not have a degree, something I'm not proud of, but worth mentioning. I've been working as a developer for 7 years (newbie) and this fall I plan to go to college and finally get a degree. When I first started investigating my options, trying to decide what degree I would pursue, I tended to lean toward the more scientific ones such as CS, EE, Math, etc, thinking that it would enlighten me and compliment my experience well. But as I looked closer I realized I could get an IT degree, focusing on more business aspects of software development, and then pick up the programming/mathmatics classes I need to expand on what I already know. I think by initially choosing the more scientific ones I was stroking my geek ego. I have a keen interest in the business side of software because succeeding in this industry depends on much much more than just creating elegant code. It takes the know how to finance, schedule, create, market, and distribute it. And those problems are just as complex and interesting as any coding problem. But in the end it is just an education and it must be applied to be useful. |
| Mon 24 Jun | Matt H. | If you've been coding for 7 years, and you're good at it, I think the scientific BS degree might be redundant. Obviously, you allready know how to solve problems and solve them well. At this point, I agree, you might want to think a bit about the business stuff. Have you heard this one? { In the middle ages, the bishop went out to visit a work site, and he saw three men chipping stone. He asked them what they were doing: The first replied 'An Honest day's work for an Honest Day's Pay.' The second replied 'I am doing the best stone-cutting in the country!' The third put down his chisel, lifted his eyes a bit toward heaven, and said ' ... I am building a Cathedral.' } Once we become advanced it our careers, if we focus on the technical, we can be become very very very good at what we do. The only danger is to become so good at waht we are doing today that we lose track of what we are doing it for ... illustrated by the second man in the story above. Good luck! |
| Mon 24 Jun | Joe AA. | Matt... if you are going to tell a story, you really should tell the whole story... roughly from memory... the rest of the story: 'The bishop was so highly impressed with the third man, he had an excellent sermon on this very subject. Later on, he revisited the construction site. The third man was no longer there. He asked the first two men as to what happened to him, and he was told that the management let him go. The bishop couldn't believe a thing like this could happen, and eventually asked why such a person was let go. 'Simple' said the first man. 'He thought we were building a cathedral... this is supposed to be a barn!'' |
| Mon 24 Jun | Matt H. | uh ... no. I got the story from 'The Practice Management' by Drucker. I _believe_ it is reproduced in either the Mythical Man Month (Brooks) or PeopleWare (DeMarco/Lister.) Is that last part like, a joke or something? |
| Mon 24 Jun | Matt H. | It's from Chapter 11, titled 'Management by Objectives and Self-Control', of 'The Practice of Management' by Peter Drucker. (3rd Paragraph or so.) So, are you trolling or am I missing something? |
| Mon 24 Jun | Joe AA. | No, I ain't no troll. I am not surprise that someone like Drucker, still trying to make a living out of MBO would leave the story unfinished. It suits his purpose much better than the full story. I haven't read the book but I can imagine the context. Was it Peopleware? Could have been... or Brook's book. I can't really remember where I read the full story - I've never seen it without the true punchline. My first thought was Weinberg as I usually find myself remembering his stories. Is it a joke? Come on Matt, you are an intelligent person. What do you think would happen if you wrote your 'MBOs' along the line of building a cathedral if you really were involved in building a barn! |
| Mon 24 Jun | Matt H. | That's the thing. I don't think anyone ever did any stonecutting to build a barn. And the Brooks version doesn't have the barn stuff in it either. Drucker wrote his book in 1954; the 'original' version is older? |
| Mon 24 Jun | Matt H. | I searched on Yahoo again. 'I'm building a cathedral' - 191 hits 'Build a Cathedral'+Barn - 12 hits. None of the 12 panned out. hmm .... Sounds like your version of the story if a joke someone made up to show one of the (admitted) weaknesses in MBO, not the other way around .... |
| Mon 24 Jun | X. J. Scott | Matt, Thanks, I appreciate your thoughtful reply and discussion. This has been kind of an eye-opener for me and gives me more of an understanding of some of the other debates that I see and have wondered at. When you listed the typical requirements, I was alarmed to think it was some sort of inadequate CS-lite degree, but I see now that it's actually a nice degree for certain purposes, just not development. A network administrator, a software marketer or middle manager, and others would benefit from such a degree. But it's evident that it would not be anything near adequate training for a developer. The problem apparently is that, although that curriculum was clearly not designed to produce developers, people are taking it as some sort of easy and fun engineering degree and then getting hired to do development by people who (I guess) don't realize what that degree is really about. So we have managers and workers thinking they are qualifed to do proper development since they have credentials, without anyone realizing that its completely the wrong credential. Many of the debates we see regarding certification and the value of a degree stem from this situation it would seem. Am I getting the general idea here right? If this is indeed part of the problem, it might make sense to educate employers and degree holders what the intent of the degree is so that we don't have people getting confused and unhappy all around. Thanks again, |
| Tue 25 Jun | those who know me have no need of my name | When I was in school for CS, we always referred to the MIS degree as the 'BS in Microsoft Office'. I've found that most people that have gone through CS education are well aware of the difference. I have more respect for the MIS degree now, though. |
| Tue 25 Jun | OzzieGT | noname, I had the same feeling from my peers when I went to Georgia Tech. I think this is mainly because Georgia Tech offered no such degree, but it was offered by the local state/community college. However, it was called CIS (Computer Information Systems) and not MIS. Ozzie |
| Tue 25 Jun | Just me (Sir to you) | At least in the European context there is also some internal rivalry involved inside the universities. CS type degrees are offered by the CS department, while MIS type degrees are generally offered by the economics\management departments. The MIS offerings often sprang from a desire of the latter to cash in on the popularity of CS in the 80s and 90s. The CS part of the MIS curriculum is often not designed nor taught by people with a CS background, but by the poor sod that pulled the shortest match or had the lamest excuse on why he/she should not have to do it. The 'real' CS departments did not want to get involved since they saw this as a direct competition for their own 'Applied CS' offerings. |
| Tue 25 Jun | Bevin Valentine | You know, what I find funniest about all of these threads (I'm sorry - been away for a little while so I missed out on the continuation of the other thread) is the concept that someone trained at an educational institution in math, science or IT is going to be any better than anyone else at problem solving. Me? I was a voice major (*giggle* Now I'm really showing my true colors - a developer who is not only female but used to be about as far away from the computer science world as far away gets). How did I end up here? I grew up with computers - starting with a Trash-80 when I was 5 years old (took it's instructions from a cassette tape - I remember when we installed the BRAND NEW 5 1/4' drive) - that's how I ended up here. I started coding in Basic at 5 years old and I can't get away from computers and code no matter what field I'm in *laughing* Anyhow, my point (and I do believe I had one) is that no one degree 'holds' the definitive problem-solving skills that you need in order to code well. In fact, I think an ideal degree would be a Logic degree with a heavy dose of Common Sense, Business Acumen and Real Life skill. If I see that in a college, I'll go for that, but until I do, I'll be content learning about the world on my own, and applying my knowledge to do whatever I find interesting (which at the moment happens to be coding...might be advertising or sales tomorrow...might be nuclear physics...who knows!) |
| Tue 25 Jun | Just me (Sir to you) | Dear Bevin, I fully respect your position on 'finding your own way'. I've done a few 'odd' things myself before I settled on getting a CS degree, and I do believe that the other stuff actually was as important in shaping myself professionaly as the 'topical' degree. However, getting degrees and certificates is only partly about educating yourself. The other part is about 'credibility' and 'provability'. This might not be how things 'should' be, but in real life this is just the way things are. Most of the time people do not make the effort to find out about your uniqueness. Question: Does your boss just say he's special, or does he also drop in his B.A., M.A., Ph.D. and M.B.A. when trying to attract new customers? |
| Tue 25 Jun | those who know me have no need of my name | Sure Bevin, the average guy on the street may be a better problem solver than someone with a degree. But its also a lot harder to teach the average guy on the street stochastic calculus and finance on-the-job. Sure, my grandma might be able to diagnose me better than my doc, but there's something that draws me towards the doc. Granted, dear old dad can do amazing things with duct tape & bailing wire, but I still prefer to pay the licensed HVAC guy to show up at my house. But its more than just technical training. I went through a good bit of philosophy electives in my day, and you could always tell a pop-philosopher on-the-street from someone who had learnt from professors. Now, if your reading group happens to include a couple of professors then sure, you could learn philosophy on your own. But you would have to join them when they had decided to 'start over' and didn't mind a newbie asking them inane questions for the next 4 years. Better problem solvers? Maybe not by innate ability, but by training & practicing, yes. |
| Tue 25 Jun | Hugh Wells | Anyone trying to impress me would do well to hide his or her MBA, if that's what they've got. |
| Tue 25 Jun | OzzieGT | Bevin I agree. A degree doesn't make someone a problem solver...that requires intelligence and isn't something that you 'learn', but it can make someone who is a good problem solver a better one. |
| Tue 25 Jun | those who know me have no need of my name | Hugh, what's wrong with an MBA? |
| Tue 25 Jun | Bevin Valentine | Maybe I come from a different world than most because I'd rather not let a doctor try to figure things out (they often don't). I can cite numerous instances where I had to convince doctors and vets to do an actual test because I knew what was wrong and they doubted me (I love hearing 'oh - you really *are* right'). I read Merck manuals and medical journals if I want to figure out what is wrong with me. Same as a doctor would, if they could actually apply themselves toward the job with the same gusto that they do medical school. Degrees don't impress me, abilities do. I know the credulity and 'provability' thing is a problem. However, am I helping anyone (besides myself - of course) if I just kowtow to it? And maybe that's my grand delusion - that I'll ever change things or pave the way for anyone else like me - but heck - can't hurt to have a dream *wink* My boss? My boss has a ceramics degree *laughing* Many people I know do rely on their degree to Prove they are smart and can do the job. I guess I'd just rather see skills - real ones - because just about any monkey can figure out the methods behind getting through college and do that. The people I know who leave college without degrees are usually the ones that have quit or partied too hard - I haven't really seen too many people fail because they couldn't 'get it'. Yes, some people do get through better than others. I'm not sure how much it shows - maybe just that you know how to manipulate the system? Maybe it's kind of like the politician thing - when I was young I used to think you wanted a politician with good values in office - now I've grown to realize that you want someone who is a really good negotiator - and really good negotiators don't always have great morals. Calculus? I can do calculus. I don't need a degree to do so. Heck, I did biomechanics studies with no degree and built a force plate. I learned it on my own. Went out - decided what I wanted to learn, and found the resources myself. Why do I need someone specific to guide me? Add to my list of desires in a degree the knowledge of how to truly do research and how to apply knowledge across multiple disciplines - to see the linkages within everything - what would you call that 'an emphasis in Relations'? Please understand (once again) I'm not saying degrees are totally worthless. I'm saying that they aren't all they are cracked up to be when you are looking for someone to employ. I'll take skills. aptitude and a desire to learn any day over a degree. |
| Tue 25 Jun | Hugh Wells | I've found they're often clueless on important technology business issues, to a serious extent. This is exacerbated by the fact that holders are often accorded an unwarranted degree of responsibility or respect for their judgements. I attach much more important to specialists than to MBA's. I have seen some really really dumb conclusions and reports from highly paid MBAs. Like recommending the abolition of the sole unit making money, as a minor example. |
| Tue 25 Jun | those who know me have no need of my name | I haven't had a lot of experience with MBAs myself. What would you think if the MBA person had a CS degree and several years of experience as a coder? |
| Tue 25 Jun | Hugh Wells | I would ask why they saw a need to do the MBA. In my world view, people who do MBAs are not the most successful people of their fields. |
| Tue 25 Jun | Prakash S | Finally, it is money in the bank that counts!!! :-) |
| Tue 25 Jun | Matt H. | For the record, there are some 'Good Will Hunting' types who just don't need college. There are a lot of 'Dumb and Dumber' types that won't be helped by college, yet can learn to survive and know they will make extra $$$ if they go to college. (Plus they can party for four years.) Somewhere in the middle is the group that really benefits from it. Each of us may be in a different group, and trying to argue for/against each group doesn't make too much sense. We're different; let's leave it at that. :-) College can be like anything else, you can get out what you put in - and you get the goal you seek. I wanted to get world class people to teach me cool stuff - and I learned a good bit. But, honestly, I am in a slim majority, if that ... |
| Tue 25 Jun | those who know me have no need of my name | 'Why do I need someone specific to guide me?' The same reason I would take a guide on a trip through the Andes: They are more efficient and I get more out of it. They've already been on the path, they know what to watch out for, they know the shortcuts, they know why your 'brilliant' idea would surely lead to instant death, they are able to cultivate what you thought was a lesser idea into a better route, you get to travel with other adventurous people, what would've taken me a dozen trips to learn on my own my guide was able to teach me in just one.... YMMV. |
| Tue 25 Jun | Bevin Valentine | I'm not saying not to consult with anyone along the way - but it's very easy to get in touch with people who actually do what you want to do to get help. For instance, do you want to get help hiking the Andes by someone who has just learned about it? Or by someone who isn't necessarily trained, but has done it a bunch? I'll take guy or gal #2 any day. But hiking the Andes isn't exactly the same as computer programming, is it? (Of course, unless you are on mission-critical programming projects - in which case it might be very similar). You would have testing procedures (ideally) in place to keep you from making that mistake that makes you fall off the cliff. I'm also not saying I want to be operated on by a surgeon who hasn't had any training. All I'm saying is that it's not all it's cracked up to be and I really wish people would understand that. A degree isn't necessarily a measure of competence. It can help, but the proof is in the pudding, so to speak. |
| Tue 25 Jun | Just me (Sir to you) | 'All I'm saying is that it's not all it's cracked up to be and I really wish people would understand that. A degree isn't necessarily a measure of competence. It can help, but the proof is in the pudding, so to speak. ' I haven't seen many people disagree with that in any of the recent threads on this subject. It is just that unfortunately we sometimes lack the time and energy to proof all of those puddings, and in an ideal world, a degree or certificate granting institute would have done part of the proofing for us. Alas, as so many of the admittedly anecdotal evidence seems to suggest, there seems to be a world of difference between what the institutes would like to pretend a degree or certificate stands for, and reality. |
| Tue 25 Jun | those who know me have no need of my name | I agree, JustMe. Bevin- I would rather have guide #3: The one who studied anthropology at a university then spent the next decade roaming the Andes. |
| Tue 25 Jun | Nat Ersoz | I've been on boths sides of this degree thing. I earned a bunch of credits toward my MSEE back in the early 90's. Going to school over a TV set (literally), mailing in homework, taking remote tests. There just were not enough hours in the day however, and work began taking more and more time with more interesting work to be done. I wound up dropping out a bit over 1/2 way through. What's the point? Well, the degree had an emphasis in solid state physics. I loved the material though I hated the tests (so much stress). It had almost zero direct applicability to what I do now or what I did then. But you know what? I wish I had stayed in for the duration. Not because it would help me professionally (I'd probably be doing what I'm doing right now), but because the learning was worth every cent of the $500/credit hour. The beauty and elegance physcal sciences, and above all math is well worth the effort. Well, couldn't I have learnt all that by picking up some math and physics books and reading them? No, not by my experience - in reality I only learn when I 'have to'. Otherwise I waste my precious time writing diatribes on weblogs. I have a copy of Papoulis's 'Probability, Random Variables and Stochasitc Processes' on the shelf, right here. EE606 - I never did complete the course. My loss. Mere mortals do not learn this in their 'spare time'. |
| Tue 25 Jun | Joe AA. | Degrees are symbols. Symbols are used to signify some difference where no physical difference exists. That's why priests and bishops dress funny, street policemen wear uniforms, etc. Often times people get confused over symbols, mistaking the symbol for the thing that it is supposed to represent. Do you believe a priest is a moral person because he wears funny clothes? In this way, degrees are mistaken to represent a person of intelligence, a person of ability, a person of competence. Education should not be mistaken for intelligence - regurgitation of knowledge only demonstrates memorization has occurred. Skills should not be mistaken for ability. A person of skills is limited by the skill they know - a person of ability is not limited by the skills they don't know. Problem-solving is not taught. It is learned, and maybe it takes a certain natural wiring in the brain in those that 'get it' - I don't know. Problem-solving cannot be taught because no one knows exactly how we do it - how we suddenly make that grand leap across the 'Gulf of Human Intellect' to create a solution where none existed before. It's like that cartoon of a complex math formula, sometimes a flowchart, and in the middle is a cloud that says 'then a miracle occurs'. What is taught, is the fallacy that finding a solution is nothing more than a matchup of the list of 'approved existing solutions' with a list of 'known problems'. This fallacy is encouraged by our industry's insistance to call software products 'solutions'. In the real world, solutions do not exist independently of problems - they must be made for the specifics of the problem - created by the intelligence mind of a person of ability. This fact scares most managers to death. They would rather ignore it and hide behind the safety of symbols - like degrees and fallacies of how problems are really solved. A person of ability doesn't 'fit in', and doesn't care to. Sometimes we are called 'mavericks', sometimes worse. You're a maverick also Bevin... and I mean that as a compliment - as a point of pride. It's not the easy way, but it sure beats being just another member of the herd, and a heck of a lot more fun. |
| Tue 25 Jun | Bevin Valentine | Awww shucks Joe, thanks. I used to call myself a renegade developer, but Maverick is sounding pretty darned good too :O) Someone (I always forget who, when I'm in the process of replying - I should open two windows but I've got my display set to one monitor due to a weird bug in some software I'm beta testing...never mind *laughing*) mentioned that they wouldn't learn the things they would learn in class in their spare time... That's my precise problem with education today. Education as it's structured in our society doesn't teach people the value of doing that investigation themselves. People like to sit around and be told how to do that stuff as if some sort of strange osmosis was going to occur. If you want to learn something go! Do it! You can! Find the books, find the people who are experts in that field. Most TRUE experts are more than willing to help you because they are confident they know what they are talking about (unlike those who posture and strut and are unwilling to explain the whys of things - they are usually totally insecure and mostly bluffing). I never lost my childhood curiousity about life - perhaps that's why college can be good, because it's been drilled into most people that the only reason to learn is a 'darned good one'. I learn because it's delightful - as a child does. I'm sorry to take up much forum space babbling on about this - but I happen to believe that it's very very important. babble mode off - I'll shut up for now I promise :-) |
| Tue 25 Jun | Matt H. | { Problem-solving cannot be taught because no one knows exactly how we do it - how we suddenly make that grand leap across the 'Gulf of Human Intellect' to create a solution where none existed before. } Sadly, I have to, well, grudgingly, agree. :-) Looking it that way, the best things my Math/Physics courses did for me was to throw me at a problem set again and again with a few very specific rules for manipulating that problem set. The only reason that I had any motivation to solve the problems was to get the cheese at the end - my degree - and the pressure of knowing that my family/friends expected me to succeed, and my own pride, etc, etc. I _could_ have just 'Done It' as bevin suggests above, getting a job out of HS and writing 3 years of code. Then, by the time I graduated college, I might have the same skills. BUT ... 1) I'm lazy. College gave me direction. 2) Me being me, I would have become an expert in CS, know a thing or two about Math/Probability, know a thing or two about military science/history, and otherwise be dumb. There's no way I would have learned the liberal arts stuff: Phsycology, Sociology, Communications, Symbolic Logic, etc, etc, etc. 3) The whole unversity ideal of knowledge sharing was just cool. I picked up some theology in college, read Ayn Rand, More than a Carpenter, lots more, not because I was taking that class, but my friends were interested, and it was interesting. In other words, if I had got a job after high school where I coded in a nice university town, and found a coffee shop to hang out and bounce ideas, I could probably get the same benefit as I did with my degree. Of course, I'd _still_ want to take a course or two at night. When I finish my MSCIS, I'm probably going to take some courses in electrical wiring or auto shop. Not for credit, just because that's a good way for me to learn. overall, I've got an open mind, and I think we agree enough that I should just let it go ... :-) |
| Tue 25 Jun | Bill Carlson | In most 'professional' fields, a degree usually preceeds some sort of multi-year apprenticeship or residency. There is often the requirement of continuing education throughout one's career. Do incompetant people slip through this maze? Absolutely. Is the process a 'good thing'? Often it is. Would such an infrastructure, even if not legally required, help in software development? Who knows? The net result could be to help average to dumb companies, by weeding out the bottom 20% that usually end up at these places. The exceptional companies would be hurt, as bright, competant people would be spending redundant time, energy, and money trying to 'prove' they meet a standard that their work shows they obviously exceed. That's the fundamental rub with software development. An average and a great HVAC guy may only differ 40% in value. Even the best dermatologist probably spends most of his time saying 'here's the zit cream'. One could argue that most developers do data backed web sites or applications, but you're not typing the exact same lines of code over and over. There is a place for the 'average' developer. The problem with degrees is that they don't guarantee enough. Perhaps the system needs to go further and expect an apprenticeship of sorts. Or, better yet, some sort of advanced, subjective testing criteria. Current tests examine knowledge of program syntax and specific technologies. Perhaps essay tests that would go along the lines of 'Here is a business problem. How would you go about solving it'. A bad answer would have a ream of spaggetti code. A good answer would be 'I would talk to sales and marketing about market expectations'. I would find out the relative size of the databases involved. Here is a flowchart of a conceptual design. I expect to have performance issues here and here. These will need attention. It makes sense to divide the project into the following modules. Someone will need to investigate load testing tools. I would expect brief, nightly downtime. etc. etc.'. Maybe there's a market for some sort of third party testing like this. It would be difficult to regrugitate this type of knowledge. The best developers have this knowledge and ability, but it doesn't project well on a resume or test. What does everyone think of this idea? |
| Tue 25 Jun | Joe AA. | Tests upon test upon test. Sure, if third-party testing doesn't do it, then we could have 4th-party testing. It's no more of the same thing played out the same under a different name. Certification. Only those third-parties would benefit. The employer has the right... and the obligation to hire the best person he can find for the job. It is his responsibility. Good employers don't shirk that responsibility through an appeal to a arbitrary but considered wiser 'authority'. The ultimate test... is on the job. |
| Tue 25 Jun | Troy King | Hugh, re the MBAs, I know a very good programmer, in fact, one of the best I've ever known (and he also happens to have a CS degree) that is now signed on to get his MBA. He's doing it because he wants to understand not only the technical side (which he does) but also the business side so he can be a better manager. Your closed-minded 'throw out the MBAs' would be ignoring this guy, who anyone would be lucky to have on their team. |
| Tue 25 Jun | Bill Carlson | I agree with Joe AA. and believe he misunderstood what I was saying. The issue here isn't mandated certification, it's about how to gain knowledge about a person in an area where you are not an expert. There are plenty of instances where a division is formed or a new project taken on, and the person responsible does not have the technical knowedge to even begin to hire the needed personel. This situation is reality. I wouldn't know how to hire a good sales person. Our salesperson wouldn't know how to hire a good developer (nor should he). Without knowing the personality traits and aptitudes to look for, a degree and experience are a necessary surrogate. My idea was to give the non-technical hiring person another tool to work with. Without development experience, it will never be possible for these people to hire in an optimum fashion, but that doesn't mean they shouldn't have additional tools to work with. |
| Tue 25 Jun | Hugh Wells | Bill, FYI, sales people are NEVER hired on the basis of a degree. That's very much an aptitude and results driven field. |
| Tue 25 Jun | Hugh Wells | Actually, my attitude towards the value of MBA's is not 'closed-mind.' It's open, based on experience working with them. The closed-mind approach accepts the rah-rah that says an MBA is a terrific degree and MBA's are all brilliant managers. |
| Tue 25 Jun | Bill Carlson | Hugh, I agree. My point is not 'pro-degree' (I don't have one myself). I was trying to illustrate the need for better tools to allow people to hire 'cross-specialty'. I'm a professional developer and wouldn't know how to hire a great sales person. A support manager isn't going to know what questions to ask of a prospective developer. Unfortunately, business needs often require this kind of hiring. In the absence of objective measurement, a degree subsitutes. Is it a good measure? Absolutely not, but it's quantifyable. Just for the sake of stereotyping, you have three classes of developers: 1. Useless. Can't do anything at all. Developer only by title. 2. Competant. Not going to embarass. 3. Brilliant. I don't like certifications, but it would be nice if there was a way for your typical non-technical MBA to make sure they're getting 2 or 3, not 1. Rather than blast what I'm saying, maybe some suggestions could be offered? This is a real problem in IT, and no good solutions appear to be available. Recruiters are supposed to be the answer here, but if you don't know what acronyms to match to, how can they help? You can always call IBM, who advertises to these people endlessly on TV, but who wants to drop $250K to get some data massaged? Do you see the problem I'm trying to address? |
| Tue 25 Jun | Hugh Wells | Yeh, sure. It's a good point. I'm not against it. My original post was actually against the statement that self-taught people were less capable than university taught people, which is just not the case. (I'm university taught myself, but most of the useful stuff I know has been picked up under my own steam.) |
| Tue 25 Jun | those who know me have no need of my name | Hugh, let me see if I've got this straight... You've had some bad experiences with MBAs, therefore the degree is worthless. Is that it? No one claims that the MBA makes a person into a leader. What the degree does do is give a person the requisite knowledge of accounting, quantitative analysis, finance, economics, marketing, organizational behavior, etc., to be more effective decision makers. That, and its pretty much considered a rite of passage if you want an upper level management job in a medium to large company. |
| Tue 25 Jun | those who know me have no need of my name | And another thing - 'sales people are NEVER hired on the basis of a degree' All the pharmaceutical sales jobs I've seen required a bachelor's degree before they would even interview you. |
| Wed 26 Jun | Hugh Wells | Do an analysis some time of the involvement of MBA's in failed dot coms ( actually, we could define this further - dumb ideas that smart people could see would not work ) and things like Enron and, I guess, World.com. |
| Wed 26 Jun | those who know me have no need of my name | What of it Hugh? What the hell is that suppossed to prove? |
| Wed 26 Jun | those who know me have no need of my name | Bernie Ebbers was trained to be a high school basketball coach for christ's sake! |
| Thu 27 Jun | OzzieGT | Hugh by saying to 'look at MBAs in failed dot-coms' you are creating a self-fulfilling prophecy. You are saying to look at MBAs, but only the MBAs of failed dot-coms...so you inherently saying to look at only the MBAs that failed...then you are using this analysis to say that ALL MBAs are stupid...it's a very flawed argument. A much more interesting analysis would say how many failed dot-coms had MBAs and how many didn't, and the do the same analysis on successful corporations....although I still don't know if that would do much. |
| Thu 27 Jun | those who know me have no need of my name | Don't just limit it to dotbombs... roughly 1/3 of the Fortune 1000 CEOs have MBAs. Then factor in all of the CxO people that MBAs. What does it prove? Not a damn thing, really. It may mean that the degree will be required more & more in the future - MBAs do like to hire other MBAs. However, an MBA won't gaurantee success, and its not required to have an MBA to achieve success. You know what else? In the top schools, only about 1/4 of the class is made up of undergrad business majors. The rest comes from engineering, sciences, and liberal arts. Engineering usually has about 1/3 of the seats, but at schools such as mit its around 1/2. What does that mean? Again, not a lot. Admission is competitive though, so I would say these people are pretty smart. I doubt business school turns otherwise bright people into dumbasses, as Hugh seems to be implying. |
| Thu 27 Jun | Hugh Wells | Oz, 'analysis' means assessing something in context. When I recommended that 'those who ...' do an analysis, there's nothing in that recommendation that says he should consider only the role of dot com clowns. Those who..., I contend that most MBA students are not the best in their fields, whether they're engineers or lawyers, so I'm not sure I would agree they're bright. Sorry. My experiences have been with the so-called best from the so-called best universities. My views are not based just on my experiences, but also on those of others. I also think there's increasing evidence of rampant avarice and arrogant disregard for ethics among MBA's. Enron was known to be an MBA haven. I think 'business school' and perhaps MBA's were different in the era leading up to about the mid 1980's. |
| Thu 27 Jun | those who know me have no need of my name | arghh! I've got to quite spending so much time on this board. I need a new project! Seriously Hugh -- What is your point? Is it that MBAs are only pursued by idiots? And that once there, they are turned into even bigger idiots? You are a fine troll. |
| Fri 28 Jun | those who know me have no need of my name | Hugh - I wonder what would happen if YOU went to bschool? Maybe you could set some of those profs straight about how things really are? Think about it, you could be a shining star. |
| Fri 28 Jun | Hugh Wells | Re the novel concept of sorting out the teachers at MBA schools, I'm not sure whether you're being facetious, but my observations have been on MBA graduates, not the teachers and researchers. I think, in any case, there have already been some reforms following the dot com crash and subsequent caution of investors towards empty ideas. As well, the string of corporate frauds will result in other reforms by people with a lot more influence than me. |
| Fri 28 Jun | those who know me have no need of my name | So what's the deal Hugh? The teachers are good but the schools just get crappy students? |
| Fri 28 Jun | Hugh Wells | Those ..., you're not an MBA are you? My views are clear and have been stated several times. I have not commented on the teachers or schools; that is another subject. |
| Sat 29 Jun | those who know me have no need of my name | No Hugh, I don't have an MBA, although I've thought about getting a CPA. You state that the majority of MBAs are incompetent, but you offer no proof other than a few anecdotal incidents. You state that you have been around MBAs and they made stupid decisions. My guess is that you are either incompetent, or you can't communicate effectively in the language of business. Why so harsh? Well, surely you raised objections when that group of MBAs shut down the sole profitable business unit? And if you did, you were overruled, otherwise the unit wouldn't have been shut down. Well, shutting down that unit might make sense in certain situations. Can you guess in which ones? What if that unit makes money, but the financial forecasts indicate that it won't next year or any year thereafter? Maybe it makes money now, but the forecasts indicate the ROI would be far greater in another area. Well, now would be a good time to do a retransition, don't you think? I'm not saying these are the reasons, but its a plausible scenario. Maybe you just didn't understand the reasons? I don't have a lot of experience with MBAs, but the ones I've had have been stellar. These weren't even people that went to the top schools. In your world, that would mean that all people that go to unranked schools are brilliant mangagers. Can you understand what I'm getting at here? There are numerous, well documented shortcomings of an MBA (see http://www.business2.com/mba for one). Your arguments, however, are specious. Unless you have evidence, not anecdotes, take your trolling elsewhere. |
| H1B Storm Clouds | Thu 27 Jun | Larry From Queens |
| For Your Reading Pleasure: http://www.eweek.com/article2/0,3959,274443,00.asp Never bury your head in the sand with predators about |
| Fri 28 Jun | David Clayworth | Forgive me for stating the obvious, but it seems from this article and the website it links to (www.sunclassaction.com) that the main allegation here is that companies are treating H1B works and US Citizens equally when laying them off. How is this descrimination? |
| Fri 28 Jun | anon | From the link: 'Backers of H1-B increases 'think the best thing they can do is to shut up about this and look for an opportunity next year to sneak it through,' said Rep. Tom Tancredo, R-Colo...' |
| Fri 28 Jun | Marty Eichelman | 'Santiglia's claims are fueled by the perception that he lost his job while, he said, some H1-B visa holders—brought into this country ostensibly because there were no domestic workers to perform their jobs—retained theirs.' David, to clarify, the claims against Sun are that U.S. IT workers were laid off while H1-B visa holders retained their jobs. |
| Fri 28 Jun | Oliver C. | Maybe people should stop using AT&T.... The following seems completely out of hand [The resolution also challenges the employ of H1-B visa holders by telecommunications companies attempting to break strikes (as allegedly happened at AT&T Corp. this spring when the company brought in hundreds of Indian workers for training as network technicians as part of a strike contingency plan).] |
| Fri 28 Jun | Leonardo Herrera | I thought that your country had rules against this kind of practices... Isn't supposed that they can't hire people while their workers are on strike? |
| Fri 28 Jun | Leonardo Herrera | Oh, and I don't think I like the wording in www.sunclassaction.com -- the words 'American Citizen' written with capitals just doesn't seems right. |
| Fri 28 Jun | David Clayworth | Hmmm. It still seems to me that if I sack foreign workers first, for no reason other than they are foreign, I'm guilty of discrimination. |
| Fri 28 Jun | Joe AA. | I don't remember any laws preventing a 'scab' to work while the rest of the workery is on strike. The striking workers might be a little violent about it. |
| Fri 28 Jun | cheapo | 1. Are there any stats to back up the claim that H1B workers get paid less than local workers? 2. From my own experiences at Intuit, Microsoft and two other companies, the H1B workers are always among the cream of the crop. |
| Fri 28 Jun | Ed the Millwright | >I thought that your country had rules against this kind of practices... Isn't supposed that they can't hire people while their workers are on strike? Leonardo my friend, No, sadly, workers in the US have few rights compared to most other modern 'democratic' countries. Are you italian? What are the laws like over there regarding these sorts of situations? |
| Fri 28 Jun | Oliver C. | More updates from PCWeek: http://www.eweek.com/article2/0,3959,302317,00.asp |
| Fri 28 Jun | Hugh Wells | David, the issue is not that h1b's are 'foreigners' but that they have been specially imported at the whim of large employers. They are not migrants or American citizens. In fact, minority groups in American are among the biggest losers from the h1b program. The effect of importing large numbers of special guest workers is to depress wages and leave Americans unemployed. So it's not a battle against 'foreigners,' it's a battle against greedy CEO's on multi-million salaries. cheapo, most examinations of the h1b program point to them being mostly just average people, and sometimes with exagerated qualifications. There are cases of straightout fraud. For an excellent discussion of the whole subject, read Prof Norman Matloff's site at UC Davis. A site called Zazona has a database of salaries obtained using actual salary data obtained from large employers using freedom of information legislation. The data is clear - h1bs are paid at significantly lower rates. |
| Bill Gates@Work | Thu 27 Jun | Prakash S |
| http://www.fortune.com/indexw.jhtml?channel=artcol.jhtml&doc_id=208505 Great article. |
| Thu 27 Jun | Yoey | The link to the following article (although from a few years ago) is much more in-depth: http://www.time.com/time/gates/cover0.html |
| Thu 27 Jun | Oliver C. | Reminds me of a washed up former heavy weight fighter trying to make a 'come back' at 50. ;-). Young lads, the keyword of the day is 'Inflection Point'. The revolution in software development long ago fled the confines of Microsoft's campus. Bill G. is fighting a battle he will never win. Cheaper[free], Better, Open for all to see[inclusive]. Press here to reboot!!! |
| Thu 27 Jun | Ged Byrne | Its always a pleasure to read a balanced, insightful piece of jouranalism. It seems the only thing Bill has to fear is kryptonite. |
| Thu 27 Jun | Prakash S | Yoey: thanks, it is a good one. Ged: maybe the feds too:-) |
| Thu 27 Jun | Acowymous Nonerd | I noticed this one: At its simplest, Longhorn can be thought of as the next generation of Windows. But it is no mere upgrade. Bill and his teams are starting with a clean sheet of paper, rethinking what a computer operating system actually is, from the way documents and other data are stored and shared to the way people interact with the machine. Uh-oh. Throwing away the code! I thought they didn't do that at MSFT! |
| Thu 27 Jun | Nat Ersoz | Funny, Windows ME was code named 'Millenium' (as I recall) back when I worked there. It was supposed to have a revolutionary new UI. Turned out to be the ground for class action lemon law suits. What a POS. |
| Thu 27 Jun | programmer | When I got to the passage about soccer moms needing an easy way to update web sites, I thought -- Aha! Microsoft is going to buy CityDesk! I wonder if that's Joel's strategy? |
| Thu 27 Jun | Ed the Millwright | I like the part where Old Bill says the plan is to toss out EVERYTHING and start over from scratch. I guess that means that just as your biggest .NET projects are hitting the market and you're starting to recap your investment, Old Bill will announce that .NET is obsolete and everybody needs to get aboard the new bandwagon -- that is if they haven't just gone bankrupt. |
| Fri 28 Jun | randy | Its lovely to see that all of the folks who espouse everything non-Microsoft have all flocked to this thread. The problem is, you can't beat a horizontal player on one-off basis by attacking their vertical markets. Until someone gets serious about developing an alternative OS to Windows and manages to deliver serious support for commercial developers to go with it, this debate will rage on and Bill will still be winning. =) Are there are better options from a technical pespective? Always. Can other players deliver solutions the way MS can, with both the resources for marketing and supporting for the products. No way, not today. |
| Fri 28 Jun | pavel | Randy, If you're talking about free/open source, then notice open source programmers don't think that way. Microsoft and open source programmers are playing different games. That's why either of them will seem inefficient by the other's standards. The fear that free software 'zealots' have is that MSFT will control standards that affect everyone. Their rabid criticism is the spread of fully-justified distrust of MSFT. It would exist against any entity whose strategy is to control standards, especially the most visible. It is the same impulse as your condemnation of free software geeks. You distrust their loose reasoning. But not all have loose reasoning, just like MSFT is actually very good in some ways. |
| Fri 28 Jun | Alberto | I would imagine that Bill Gates knows more about open source than any of its most eager zealots. He does'nt live in a vacuum. The future of open source is as much dependant upon him as anybody else - imagine 2 years from now an open source Windows. What effect would that have on the open source market? |
| Fri 28 Jun | Oliver C. | It would mean the immediate/swift end to Microsoft! [The future of open source is as much dependant upon him as anybody else - imagine 2 years from now an open source Windows. What effect would that have on the open source market? ] |
| Fri 28 Jun | Sammy | I wonder if Jack Welch is despised in the same way by those who hate what GE has become. (Suck sigma?) I've learned a lot from him, not just about business, but always one remembers that they may be reading mythology. Jack did create more shareholder value than anyone, increasing GE's market cap by half a trillion $ by smashing it, rebuilding it, giving it a religion and a government system. But where are the blanks that the mind fills in? How much of it is luck, and how much is the ability to be consistently lucky? Jack Welch@Work: http://www.businessweek.com/1998/23/b3581001.htm |
| typedef is evil, and other truisms | Thu 27 Jun | Nat Ersoz |
| From LinuxJournal, kernel modules style: =========== typedef Is Evil typedef should not be used in naming any of your structures. Most main kernel structures have no typedef. Using a typedef only hides the real type of a variable. There are records of some kernel code using typedefs nested up to four layers deep, preventing the programmer from easily telling what type of variable they are actually using... Never define a typedef to signify a pointer to a structure, as in the following example: typedef struct foo { int bar; int baz; } foo_t, *pfoo_t; ========== So true. What else is evil? typedef unsigned long DWORD; Oh the insanity! A word, prior to MSFT new math, was a machine type, in 286 land 16 bits, in RISC land 32 bits. Now we have code littered with meaningless DWORD. Pittiful. char *lpszMyString; Hungarian crap. Pathetic! long pointer to string, zero terminated. Arent all ANSI C lib calls based on null terminated strings? (redundant), long is obsolete, and its not a pointer to string, its a pointer to char. Just plain wrong an lame. #define IN #define OUT Lame, lamer, lamest: int func( IN int x, OUT void*y ); x is non mutable to the caller, so IN should leave you scratching your head - huh? OUT?? Well if it were not to be modified, then use const, otherwise its assumed it will be modified. Disgusting. I could go on... but that felt good... |
| Thu 27 Jun | James Ladd | hehehe. |
| Thu 27 Jun | Jutta Jordans | I totally agree with the notion that the typedef for structs is unneccessary and confusing. What is the use anyway. I also back up the point made about DWORD. But I think saying typedefs are evil is a little harsh. When you start using the STL (or other template based classes), you will seen embrace typedefs as very convinient and useful (and not confusing at all, provided you choose good names for your types). Or do you really want to type something like
std::vector |
| Thu 27 Jun | Big B | I for one am not going to stop using typedefs because some linux kernel hacker thinks they're evil. A typedef provides an abstraction which is helpful when you don't need to know the underlying type. In addition, it provides a level of type safety higher than the binary one. Jutta makes good points too. Some of you may not be old enough to remember that once upon a time in the C programming language, using typedef on a struct declaration was a way to avoid having to use the struct keyword every time you wanted to reference the struct. It's one of those programming habits that just got stuck. I don't care if you decide to typedef a pointer to a struct or not, but whatever you decide on, including it in the coding standard is a good idea for consistency. |
| Thu 27 Jun | Mike Swieton | I dislike declaring things as evil/wrong/bad/dangerous. Its usually used in a situation where 'XXX is very very easy to misuse' and not 'XXX is impossible to use correctly'. On the typedef note, the intention is to rename it to be easier to know/write, such as the STL case noted above, or where the programmer does not NEED to know the type, and so it can be changed, such as for time_t and size_t. Another good example is the const_cast in C++. Easy to misuse, but it CAN be used quite well to maintain const-correctness in C++ code. There are no absolutes. Well, really few anyway. If we allow things to be declared anathema because of specific instances, we will outlaw everything 8-} |
| Thu 27 Jun | Joe AA. | I have an anon quote I like: 'We see the writing on the wall, and all we do is criticize the formation of the letters'. This is one of those kinds of arguments. |
| Thu 27 Jun | Ged Byrne | JoeAA, Nice quote. Any idea where its from? |
| Thu 27 Jun | X. J. Scott | >#define IN >#define OUT >int func( IN int x, OUT void*y ); Hey that's cool. I'm gonna start doing that -- aids in the documentation. Thanks Nat. typedefs? They're great; use 'em all the time on structs. Though I never typedef to hide a pointer, never typedef to rename a simple type and never typedef through multiple levels. Yeah, I agree those are lame. Typedefs greatly improve readibility when using function pointers. Long live the typedef, rah rah, etc. |
| Thu 27 Jun | D. fischer | I don't know anything about 'main kernel structures', but as a scientifc programmer (writing simulations for research), typedefs are great. As was said, they help abstract and simplify program logic. A simple example is the creation of a Vector structure, to easily allow the manipulation and passing of 3D position values. This is simpler than manually creating and managing ,multiple x, y, z variables, and passing them individually. As always, use the right tool for the right job. |
| Thu 27 Jun | Nat Ersoz | typedef is 'evil' is certainly extreme - obviously someone is making a statement. So I shouldn't have called it a 'truism', I should have called it a rant. Much better. Favorite RANTS.
Nevertheless, typedef struct xxx {...} XXX, *PXXX; -- *PXXX that is pure evil. DWORD - not pure evil, just disgusting.
IN and OUT, garbage. Use const, it serves a purpose and its what you mean. No more, no less - that's always best.
Also, I don't always agree with kernel style points. Some of my favorites:
. prefer C++ // comments over C style /* */
. prefer vertical inline braces over K&R.
. my favorite typedef (from |
| Thu 27 Jun | Adam | I should insert the obligatory VB or Java comment here...but I won't. Truth is I miss programming in C++. At least a little.Then Again, I liked Ada. I think in the typedef for use in the STL, it may almost be better to subclass than to typedef. I've never tried it, buyt it seems like it would promote code documentation, and be more consistant with the C++ style of things. I wouldn't typedef other classes, why STL? |
| Fri 28 Jun | Chris Tavares | The point of the DWORD is portability. Yes, it's a lousy name - DWORD is too machine specific. But consider another important Windows typedef: typedef PVOID HANDLE; Is this typedef really all this evil? We don't CARE what a handle is - we just want to use it. With DWORD, the whole point is that MS can change the size of a DWORD as the OS migrates - I believe it DID change going Win32->Win64 for example. As for the 'don't typedef structs' thing - well, a typedef by itself doesn't really offer much except the chance to avoid the struct keyword. It doesn't bother me - I program in C++ anyway. |
| Fri 28 Jun | Jutta Jordans | >typedef PVOID HANDLE; the HANDLE is ok, it is something, that assumes a certain usage (this variable is used as a handle to something). I hate the PVOID, though. What's the use of that? Why on earth not stick to void*? Surely this is not a compatibility issue. (same for INT, UINT, SHORT etc.) When there is a type that is native fot the language, why not just use it, for god's sake. Otherwise you might head into trouble. I remember using UINT with some library (I do not recall which one) and ending up in a total mess because they had defined it as unsigned short (not very intuitive, eh?) The only sensible meaning for UINT would be an unsigned int. So just use that (take a ten finger typing course or use auto completion if you are too lazy). Even better is Windows type BOOL which is defined as an int in one place (windef.h) und as long in another (wtypes.h). For the current 32bit Windows this ends up as the same thing, but still it sucks. If I have a type called BOOL, bOOl, BoOl or the like, I expect it to be a bool and nothing else. *grmml*, *hmpf*, *hugh*, ranting is fun...lalalal... Sorry, |
| Fri 28 Jun | Nat Ersoz | HANDLE, fine - although one of Scott Myers' effective C++ 'isms is to not return pointers to internal data structures. PVOID: portability beleive it or not: #ifndef Win16 typedef far void* PVOID; #else typedef far void* PVOID; #endif or something inane like that. Regardless of the rationale, its still lame. As for Win64, they invented a new one QWORD: 4 16 bit 'words' - enver mind that a 'word' is now completely obfuscated by this point. If you want an int, and you are truly agnostic as to its length, then what is wrong with 'int'? If you are not agnostic about its length, then the typedef should include the length in its name: uint32_t for example. |
| Fri 28 Jun | Joe AA. | Ged... I found the quote buried in the middle of the notes section on a schematic of a guitar amplifier. Most of the notes like this say things like: 'All resistors 1/2 watt 5% except as noted'. I think the engineer/draftsman was not having a good day. I laughed, especially when I noticed that someone had signed off that the schematic was 'approved'. |
| REALbasic article questions | Wed 12 Jun | Ruffin Bailey |
| Ive been a Mac user for over a decade, but finally (two days ago) bothered trying REALbasic at home and quickly found out it blows Java out of the water when targetting the Mac. Read Joels article on REALbasic (http://www.joelonsoftware.com/articles/fog0000000051.html) and it seems to go like this: REALbasic is so close to having Visual Basics syntax and has none of the strange GUI behavious that turn people off when they use Java. If RB had a strict VB setting, I could use my legacy VB code to do 90% of the porting to the Mac. If I could port my VC++ code just as easily as a REALbasic plugin in CodeWarrior, all Id have to do is move a few controls around and Im done! Well, I get paid to do Visual Basic and have been for years, so I see where Joels coming from. At the same time, his article left me with a few questions: * Does C++ give that much of an advantge behind the scenes because it doesnt garbage collect? Why not use Java for your xplat heavy lifting code? * What about COM makes it that much better than opening a pipe between the GUI and the engine? * How tough would it be now to write an RB to VB.NET converter? Ive been wondering about that for a while (what, two days? :^D). If you ask me, a REALbasic (which compiles for Mac OS X, OS 9, *and* Windows 98-XP) GUI lain over a headless Java (or ANSI C) app seems to be the best way to go to get good xplat applications written. Sounds like that article (admittedly a little dated) is a little biased towards (surprisingly enough) people with a right sizable COM compliant legacy codebase. ;^) |
| Fri 28 Jun | apw | 'Please name 1 usable generally avialable Java Application' * Together Control Center * * Argo UML * memory pigs though.... |
| Criticallly Missing Word Features | Sun 23 Jun | Shlomi Fish |
| One of the theme of Good Software Takes Ten Years is that there is nothing left to add in mature applications. However, the following features are badly missing in Word: 1. A WordPerfect-like reveal codes feature. And no the view formatting feature is not reveal-codes. 2. A better macroing capability with a better correlation with the document model. VBA for Word sucks big time. 3. Logical Styles a la LaTeX or DocBook. 4. Export and Import filters to UNIXish formats like LaTeX, DocBook, or troff. (or perl POD... ;-)) 5. Naturally, all those bugs, styles that spring up from the head of Zeus, and general minutes wondering what have you done to deserve it only to re-write it from scratch, should be fixed in one way or another. 6. Multiple-Language Integration - are language packs enough? Regards, Shlomi Fish |
| Mon 24 Jun | Shlomi Fish | In response to what Albert said: 1. Reveal Codes shows you a fixed size logical display of the document where you can see where each style you defined start and end. Thus if for example you see '[bold][/bold]' you can point the cursor on the first [bold] press delete and this empty style will not bother you anymore. I am familiar with the Master Document feature, but it is clearly not the same thing. 2. VB in word: generating documents with Word VB is quite straightforward, granted. But how about manipulating them? Changing all bolds in 3 particular paragraphs to underline? Moving Images around? Manipulating a tree of the document? 3. Maybe you misunderstand the meaning of Logical Styles. Let's say I define a logical style by the name of 'shlomif1'. I use it in various places in the text. Now, I don't like how it looks like, so I change the way it looks in one place, and voila: the entire document changes with it. In LaTeX, you can do almost anything by defining macros. I once wrote a macro to put a rectangle around the text in question. 4. Save to HTML is now enough, because both LaTeX and DocBook are more flexible than HTML, and LaTeX is entirely not compatible. 5. I have used Word since version 6.0, and it still causes me so many unexpected problems. I positively hate it. I've seen people who claim to be Word experts who spent dozens of minutes or even hours, tackling one mis-looking style. --- But, hell, what do I care? I'll use LaTeX and DocBook to my heart content and only use Word and its WYSIWYG friends for simple things in which I'd like to see what I write right in front of my eyes. And BTW, I still find WordPerfect 6.0 to be a much superior text processor than Word XP is now. Sad, but true. |
| Mon 24 Jun | Erik van Linstee | > 1. Reveal Codes shows you a fixed size logical display of the > document where you can see where each style you defined start Of course you don't really need THIS. What you need instead is a Word that does not leave empty styles. And that does not mess up styles or codes in other ways. In other words, if you could format or unformat your document as you please, without Word messing things up, you don't need reveal codes. |
| Mon 24 Jun | Frederik Slijkerman | 'Maybe you misunderstand the meaning of Logical Styles. Let's say I define a logical style by the name of 'shlomif1'. I use it in various places in the text. Now, I don't like how it looks like, so I change the way it looks in one place, and voila: the entire document changes with it.' Err... this has been in Word since day 1, I believe. Where did you think the leftmost drop-down box on the toolbar was for (left to the font selection)? |
| Mon 24 Jun | Robert Moir | '4. Save to HTML is now enough, because both LaTeX and DocBook are more flexible than HTML, and LaTeX is entirely not compatible.' So your complaint here is that Word doesn't fix LaTeX's problems for it? Don't LaTeX and DocBook support RTF? You know, that standard for interoperability between text processors. Word does. The formatting mess ups in Word do drive me mad, I'll agree with you there. As someone else noted, you don't really need to see the codes, you need Word to stop doing stupid things with them. |
| Mon 24 Jun | Ged Byrne | --------------------------------------------------------------------------- this is the problem with products like star-office. They might read a word doc, but when try and integrate the product into today’s work place...it fails -------------------------------------------------------- Albert D. Kallal In all fairness, Star-Office's objects are programmable from both C++ and Java. In some ways more so. It uses the factory pattern repeatedly, which isn't as accessible as VBA's object model, but can be used for more advanced uses. |
| Mon 24 Jun | Contrary Mary | <<#1. . A WordPerfect-like 'reveal codes' feature I not aware of what you mean here. Do you mean to reveal codes like that for bold, and underline? That stuff really goes back to the dos “text” days, and when we did not have a GUI. I don’t think that applies to modern systems anymore. You can tools-options->View-tab, and click on view all. In addition you can go from the main menu view->Master Document. This shows just about everything I can think of. Turning on both of those will show all non printing characters, and all the tabs, returns etc. Anything more, I can not imagine what the fuss, or feature missing here is? >> Grr. This shows the difference in understanding between programmers and users. Now I like Word and its many powerful features lacking in Wordperfect, but losing Reveal Codes was hard. In Word, you really can't precisely proof the formatting of a document. Show All doesn't give the paragraph level formatting. Or if the tab settings change. Or even if the styles change. User1 can change the formatting of some text, but not change the style. Then, when User2 goes to change style formatting, the document goes ugly. Or User3 has pasted in text from somewhere, bringing along a new set of tab settings. With Reveal Codes, you can just look at the code level and clean stuff up. With Word, I learned the hard way that the only way to deal with documents from anyone else was to copy the whole thing as unformatted text into a new blank document and reformat them. (These were manuals which were then pdfed or sent to a printing service. If you want to find any weirdness in Word formatting - pdf the sucker. All hell rained down on me if they weren't purdy.) Now, the ability of Word to have a document that is crappily formatted still look good is an amazing thing. But the only way to trust formatting is to do it yourself. PS Does anyone know how how to paste as unformatted text but retain footnotes? |
| Tue 25 Jun | Tony E | There is an interesting paper relating to style and word processing here: http://www.ifi.uio.no/~paalso/artikler/styles/new-version/pap.html |
| Tue 25 Jun | Albert D. Kallal | Great points made here! It is interesting how some see, and view the reveal codes feature as a bonus, and some of us see it as a throwback to the old days. Regardless, some good points were made as to why, and what a “reveal codes” feature is for. I actually still believe that the feature was carried forward from the old days to allow people to continue to work in a particular way. However, it seems that being able to see the “bold” code, etc is a added bonus for proof reading etc (and removing un-wanted formatting codes). Hence, I certainly can see why one could still appreciate this feature. The dumping down of software is starting to worry me. These advanced features are being removed from all kinds of products. This is because the average user might need more features...but not *ADVANCED* features. Hence, due to the “mass market”, software is being dumber down. This hurts the advanced users in many cases. There was a time when ms-word got a huge jump on WordPerfect. When ms introduced OLE, I remember a few WordPerfect people seeing how easy (and cool) is was to drop in a spread sheet right into the document. These people where INSTANLTY hooked on Word. They really thought that some of this new stuff was incredible. Looking at the situation today, WordPerfect now has most of the features of Word added. Thus, combined with many of the traditional WordPerfect features...it seems that indeed that WordPerfect holds it own. WordPerfect also has earlier roots then does Word, and the presence of certain features shows this. (the features are not important enough to add to ms-word, but they are there!). Perhaps the WordPerfect people are more dedicated to continues improving the product. They *are* are word processing company. MS is a software company that happens to have a word processor! As a industry matures...then those “roots” and long term product experience tends to rear its beautiful head. In other words, as the traditional and well run book companies learn how to market books via the web...then amazon.com might be in trouble. They both will learn how to run a web site...but those books companies have been doing the book side MUCH longer then the web stiff. This might give them an advantage, as all other things become equal. This same logic might apply to word vs word perfect. Hence, WordPerfect has longer roots then does Word. As for Star Office, and programmability...hum. Does Star Office expose it self as a com object in windows? (and presumably cobra in Linux/Unix?). Some one commented that it can be used via C++. Anyone have some quick comments, or links to the programmability of star Office? Albert D. Kallal Edmonton, Alberta Canada kallal@msn.com |
| Tue 25 Jun | Joe AA. | Of all the wonderful word features, missing or contained, I would first want it to work. A reveal codes feature to fool it into working, or allowing me to debug why it ain't working seems to be a little cart before the horse. I have spent many a frustrating hour with word, trying to force it to do what I want. Most of my documents are fairly simple paragraphs, maybe two fonts, maybe a bold or underline here and there. Normally I can get this to work fairly well, but there are sometimes that darned cursor will not go where I want it. But by far the worst, are those (for lack of a better description) templated forms - you know, sent through email, you fill them out and email them back. All sorts of whizzbang features used - the cursor and formatting all has a mind of it's own. Features are nice, some of them are even 'kute'... but it doesn't 'work'. When a product needs an animated paperclip... something very basic is wrong. |
| Tue 25 Jun | Nick Hebb | 1. & 5. The only reason you (or I) miss Reveal Codes is because of 5. Personally, I think that 95% of the problems with Word have to do with the AutoFormat features, which automatically apply formats, styles, bulleted/numbered lists, etc. When editing a document created by someone else, it's usually best to go in and click them all off (select Tools->AutoCorrect to change the settings). 2. Word XP has added the Scripting Editor. The entire document is presented in XML and can be manipulated using the DOM. To be honest, it looks pretty daunting, and I can't think of any scripting that I've needed to do that I couldn't do with VBA. 3. Word does have styles that you can change and apply globally. They've been an endless source of headaches for me. The feature usually seems to work when I don't want it to, and not work when I do. The main problem is that spending an hour (or day?) learning Word styles is filed in my 'things I won't RTFM about' folder. The feature I would really like is a 'replace style X with style Y' feature, with item-by-item accept/reject capability. 4. Um. Well, do you think that if MS added the LaTex, DocBook, troff ... import / export features that they'd win the hearts and minds of the /. crowd? Me neither. 6. No opinion. Added by me: 7. Picture and / or object placement and control. I just can't seem to get them to behave consistently. I've seen many documents where users have resorted to creating a textbox and pasting the picture inside of it. 8. The MS help file format. It's the equivalent of spaghetti code riddled with GOTO's. Each topic typically has links to examples, related topics, etc. You can click your way to the hinterlands, then have to back up and click your way down to the next subject. Leave nodal navigation to software, not software manuals. I would rather see a chapter format that explained the software usage in a logical sequence. 9. Word and PowerPoint. Why are these different products? I wouldn't think it would take that much to add landscape presentation templates to Word and a feature to present them as a slideshow. |
| Tue 25 Jun | D. fischer | 'The feature I would really like is a 'replace style X with style Y' feature, with item-by-item accept/reject capability.' This may be possible with the Find & Replace feature. You can specify styles on the search text, and possibly the replace. I've not tried it, so I can't say for sure. |
| Tue 25 Jun | Nick Hebb | <<'The feature I would really like is a 'replace style X with style Y' feature, with item-by-item accept/reject capability.' This may be possible with the Find & Replace feature. You can specify styles on the search text, and possibly the replace. >> Cool. 1 less headache with Word. 99 to go. |
| Wed 26 Jun | Just me (Sir to you) | '4. Um. Well, do you think that if MS added the LaTex, DocBook, troff ... import / export features that they'd win the hearts and minds of the /. crowd? Me neither.' It would make life easier for those of us that have to operate in environments that are infested with that crowd though ;-). |
| Wed 26 Jun | William Frantz | Contrary Mary - Monday, June 24, 2002 > Now, the ability of Word to have a document > that is crappily formatted still look good is an > amazing thing. Hahahaha.... true, true. Word gives you enough rope to hang yourself and every heretic in the holy wars. When correcting the formatting of someone else's document, I frequently strip out all the formatting and just start over. To actually use Word styles properly calls for forethought, special training, and a general shift in mental paradigm. There are those that put hard line breaks in the middle of paragraphs and try to align words by carefully adding extra spaces. They are simply beyond hope. There are those that understand basic word processing but only know that WYSIWYG. They slap around bold styles and large fonts until it looks good. All their paragraphs end with two carriage returns. Then there are those that really understand that Word is a formatting tool and use it properly. They mark up their document with logical styles and then work the formatting globally. These are rare users indeed! When I am helping somebody use Word for the first time, I always tell them, 'just type.' Put the words on the screen. Don't worry about how they are laid out or how they appear. Then I sit down and mark up their content. After that, I can quickly apply formatting to make it look however they want. It's like HTML and CSS. |
| Wed 26 Jun | William Frantz | > Does anyone know how how to paste as unformatted > text but retain footnotes? Don't cut and paste. Try this: Edit->Select All, Format->Style 'Normal' [Apply], then Format->Style 'Default Paragraph Font' [Apply]. Presto, plain text. After stripping all the formatting like that, I'll usually keep doing 'search for ^p^p' and 'replace with ^p' until I get zero replacements. If it's really bad I'll replace all 'space space' with 'space'. You may also need to remove tabs. Finally I'll go to the style organizer and delete everything there. Then I import my own styles and start over. Oh, I usually have to fill in the document properties too since they are universally ignored. Those fields are the best way to fill in header and footer information. [I'm on a roll now...] You might also want to adjust the properties of the embedded images. Word selects 'float over text' by default which is almost always wrong (for me). You have better control of wide figures if you disable that option. |
| Thu 27 Jun | D. fischer | What William said :) I just finished writing my Ph.D. thesis using Word 97, and I've got all sorts of useful, customized styles. Despite Word quirks and bugs, they've made my life easier. But I must say that Word (at least 97 and prior) is not really built for writing books. It does about 80% of the job done well, but that last 20% takes some skill, finesses, kludges, and luck. |
| Software Engineers are Professionals | Mon 17 Jun | X. J. Scott |
| I keep seeing this mentioned in this and other forums that Software Engineering is not a Profession because the government doesnt regulate it or because of this or that reason. I imagine poor neurotic Engineers wringing their hands at these periodic proclamations Oh Dear! Oh My! I am not a Professional then! First of all, a degree is a certificate and anyone with an engineering or CS degree is certainly certified. Some certificates are more prestigious than others of course. But what does that matter? Certification has little to do with being a professional. Professional pro. - 1. A person following a profession. Profession n. - An occupation or vocation requiring training in the liberal arts or the sciences and advanced study in a specialized field. So -- HTML coders? NOT professionals. VLSI designers? Professionals. Javascript monkeys? Probably not professionals. DSP algorithm designers? Professionals. OOA/D/P and Patterns gurus? Professionals. So, most of us are professionals. Advanced study is certainly needed for most engineering work. And yes, some can be self-taught, can train themselves from a book or such, but that doesnt change the fact that there was advanced training involved. So lets hear no more of these silly attacks on our professionalism, whether used for puerile name-calling, or to ride on some political certification agenda that has nothing to do with professionalism and everything to do with the politics of power. Certification in particular is no guarantee of competance at all -- look at the mess of the profession of teaching. There are some good teachers among the ranks of the certified, but most of them in the United States are egregiously incompetant, otherwise the high rates of language and math illiteracy we see would not be possible. |
| Mon 24 Jun | those who know me have no need of my name | Teachers don't get to run the class as they see fit, so don't blame illiteracy on them. Also, certification is used to establish a bare minimum of competence - not greatness. |
| Mon 24 Jun | Bella | Like it or not, the masses below the bare minimum are exactly what will drive your IT salary lower. Just watch. |
| Mon 24 Jun | those who know me have no need of my name | Bella- I think what will actually drive my salary lower is the massive influx of TALENTED people. You know, all those kids that used to major in chemistry or engineering that opted for CS instead. Also note that my previous post offerred no opinion on the value of certification. |
| Thu 27 Jun | X. J. Scott | Johnny, That is a -great- story about the toaster. noname, I had many competant teachers myself, many not so competant -- and a few outstanding for which I am grateful. The point about the high school graduate illiteracy is that it is such an extreme example -- you have a student who makes it through close contact with 7 primary teachers and then 36 secondary level teachers, none of whom notice that he is illiterate. If even one of them did notice it, the student would have been forwarded to a reading specialist for special assistence. There is simply no excuse for any student graduating illiterate. Everyone can learn to read and it should not be so difficult for a teacher to notice when a student can not read. That 43 teachers didn't notice is a sign of either negligence or incompetance although we can probably excuse the 6 PE teachers I suppose since reading's not part of PE, so 37 teachers. I don't see that any real school policy, no matter how draconian or foolish would interfere with any teacher noticing that a student could not read over a 13 year period. |
| Thu 27 Jun | those who know me have no need of my name | I agree XJ. My statement sounds pretty lame now that I read it again. Those teachers that let that kind of thing happen should lose their certification. I wonder how much of it is incompetence versus just not caring. |
| Thu 27 Jun | Joe AA. | My two cents... it's about caring about the wrong thing, that is, the egos and prestige of the teachers and administration before them that did nothing about the problem. It takes courage to stand up to crap and many prefer to go along to get along. Pitiful. |
| Technical Writing | Mon 24 Jun | Technical Writer wannabe |
| I am a software engineer that would like to improve my technical writing ability. English is not my first language Is there any resources or links to websites that might help me improve my writing. |
| Mon 24 Jun | Dougie Fresh | If you are willing to pay for the training, I've found the 'InfoMapping' methods to be very helpful at improving my technical writing abilities. Here's a link: http://www.infomap.com |
| Tue 25 Jun | Tony E | http://freelancewrite.about.com/cs/technicalwriting/ |
| Tue 25 Jun | Cheese Optional | Going from SW Engineer to Tech Writer is like going from doctor to nurse. |
| Tue 25 Jun | Jutta Jordans | >Going from SW Engineer to Tech Writer is like going from doctor to nurse. oh, come on Cheesie, he did not say he wanted to become a technical writer as only and fulltime profession, he just said he wanted to improve his technical writing abilities Do you have a feeling of getting your hands dirty or something when you actually sit down and write a few lines of documentation from time to time? Now that I think of it, that could be the reason why some of my colleagues are so reluctant to comment their code... :-) Technical writing skills are neccessary to write good code documentation, good specifications and good design documents, so it is something that every SW engineer can profit from (and his colleagues and other people who have to live with his code even more). Techie wannabe, I would assume that you can improve your technical writing skills by reading a lot, that is the cheapest, easiest and most entertaining way I can think of. And you will learn some other things on the way as well, depending on what you choose as your reading matter. Have fun, |
| Tue 25 Jun | Christian Knapmeyer | quote: 'Going from SW Engineer to Tech Writer is like going from doctor to nurse' Totally disagree. This attitude might be one of the reasons why there is so much incomplete and poorly written software documentation, and why there are so few voluntary documentation writers in the Open Source community. Writing abilities are always useful, even if you don't do it as your full time job. |
| Tue 25 Jun | Dougie Fresh | For me, writing the documentation is very helpful in thinking about the problem and in better understanding my solution. If I can't describe it clearly in English, I'm probably not describing it very clearly in code, either. It's also a great way to develop an understanding of someone else's work. |
| Tue 25 Jun | Simon Lucy | quote: 'Going from SW Engineer to Tech Writer is like going from doctor to nurse' I'll be sure to pass on this opinion to Brian Kernighan and Dennis Ritchie (my personal gods). Technical writing is not a poor man's relative to doing technical stuff. It takes experience and skill to successfully convey the feel and detail of technical process in a non-technical, engaging and informative way. Technical writing for a non-technical audience should be a requirement for anybody that wishes to be a technical anything as a trade or profession. That isn't just programmers, or IT but medicine, architecture, whatever the discipline is. Because at some point you're going to have to explain and justify what you do to people that aren't technical or in your direct field. If you're Einstein its pointless knowing relativity unless you can explain it to someone else, and preferably to the guy who runs the tram you sit on every day contemplating the tram coming in the other direction. |
| Tue 25 Jun | Just me (Sir to you) | I do not agree that technical people should be able to very eloquently explain everything to the layman. It's hard enough finding people who are good at the technical stuff, let alone finding the white elephant that on top of technical wizardry is also an ace documentalist or educator. Many other professions accept the concept of a specialist mediator or translator. |
| Tue 25 Jun | Tease the Cheese | 'There are other books that I reread that are relevant in computing. Books on how to write, write English in my particular case, like ``The Elements of Style'' by Strunk and White. I go back and I reread that every few years as well, because I think the ability to communicate is probably just as important for most people as the ability to sit down and write code. The ability to convey what it is that you're doing is very important. ' - Brian Kernighan |
| Tue 25 Jun | MadMan | IMO, one of the best books ever written (and IMNSHO, better than 'Elements of Style') is 'On writing well' by William Zinnser. I recommend it highly. All my journalist friends have been impressed by it, and all lawyers should definitely read it. ;) If you're interested, it's at: http://tinyurl.com/h7d |
| Tue 25 Jun | David Clayworth | While I admit that only hiring coders with technical writing ability would restrict your choice, I believe that for any coder, improving their technical writing skills will improve their productivity. After all, a design spec needs to be readable or its no use. And the skills are not substantially different writing for other programmers compared with non-programmers. |
| Tue 25 Jun | Just me (Sir to you) | ' ... the skills are not substantially different writing for other programmers compared with non-programmers. ' I tend to disagree. In daily life I am witness to countless discussions between techies. Often these people come from very different areas and or not familiar with the specifics of the other persons project. Yet still, they share a common language, call it a shared world ontology, and they seem to be able to express problems and solutions to each other perfectly adequate. When I see these same people trying to explain something to a non-tech, only one in ten seems remotely capable of communicating more or less effectively. This to me indicates there must be a significant difference. Now, should we fire the other nine? |
| Tue 25 Jun | Joe AA. | Firing is probably a good solution. If the techies cannot communicate to the non-techies, then how can the techies understand the requirements / objectives from the non-techies? |
| Tue 25 Jun | Steve Wheeler | Joe A.A. said - 'Firing is probably a good solution. If the techies cannot communicate to the non-techies, then how can the techies understand the requirements / objectives from the non-techies?' Programming is *all* communication. You have to communicate with customers to learn requirements. You have to communicate with your coworkers to coordinate efforts. You have to communicate (via code) with the machine. You have to communicate to the end users via documentation, and any programmers who may take over your software with comments and related documentation. Not to mention that at some point, unless you were born with the knowledge of how to use C++ and Emacs (or whatever tools you use), you had to learn how to use them from someone else's documentation. Too many programmers have the idea that they don't need to document in any manner beyond their immediate needs. In my experience, much of it stems from arrogance based on one of two misconceptions: 1. The idea that their code is such a paragon of clarity and ease of use that no documentation is required, and/or 2. The idea that they're smarter than others, and it's up to these others to put out the effort of understanding in order to be worthy of using or modifying the software. I'd agree that firing is quite possibly the best thing to do with programmers who can't or won't produce usable documentation (from the employer's point of view, anyway). I just feel that the programmers in question aren't likely to draw the appropriate lesson from the situation. Rather than 'Documentation is important, and I'd better learn to do it well,' I suspect a too-large percentage would think, 'That was a lame place to work, and they didn't appreciate me properly!' |
| Tue 25 Jun | Anonymous Coward | Joe A.A. == Bella Anyone else see it? |
| Tue 25 Jun | Technical Writer wannabe | The only reason I want to improve my technical writing is to be able to pusblish papers. I wrote many papers but never published any and I want to change that. |
| Tue 25 Jun | Sans Fromage | TechWriter Wannabe: If you do write papers in even a vaguely readable way, your readers will love you for it. Far too many academic papers attempt to demonstrate the writer's brilliance with impenetrable prose. Both Strunk and White and Zinsser are good for learning how to write well and clearly. However, each publication has its own style. Many academic pubs require that papers be written in the passive voice and suchlike. This is very different from the advice given in the books mentioned above. A good plan is to read the publication you wish to be published in. Try to write your paper like the best, most readable one in that publication and you'll be on your way. The only way to learn to write well is to keep doing it. There is a limit to how much your writing will improve if you only read about writing. 'If you can't explain something simply, you don't understand it well enough.' Albert Einstein |
| Wed 26 Jun | Hans-Georg Ulrich | I found this helpful, written by a native German speaker: http://www.icsharpcode.net/TechNotes/TechnicalWriting20020325.pdf I also like 'BUGS in Writing: A Guide to Debugging Your Prose (2nd Edition)' by lyn dupre http://www.amazon.com/exec/obidos/ASIN/020137921X/qid=1025078684/sr=1-1/ref=sr_1_1/104-2155076-5046367 HansGUlrich |
| Wed 26 Jun | pfft | 'I found this helpful, written by a native German speaker: http://www.icsharpcode.net/TechNotes/TechnicalWriting20020325.pdf' that is a p*ss-take, right? i mean 'may be understood as easily as possibly' in a document on writing good documents? |
| Wed 26 Jun | Eric Debois | Working part time as a teacher, I have found that learning to explain things to newbies really improved my own understanding. ASP (for example) went from being something I 'knew' to a second nature, really fast. |
| Wed 26 Jun | Just me (Sir to you) | If I have two uber-techies that can communicate well to non-techies, why can't they act as the front-end to my other 8 techies that lack the skill but have many other useful skills. If we interact with 'users' or 'customers', we do not set up a meeting with the full development team. If we write the user manual, we do not give each developer a chapter to write. Sure, having a full team of super all-rounders that are top of the range in every imaginable discipline might be utopia, but: - Where do I find these people in the first place? - Would hiring a full team of them be cost-effective? Would it harm a tech to learn better 'non-tech' communication skills? No one said or implied this. I am personally convinced it would probably have a positive effect on many of their other skills as well. However, the lack of this skill does not automatically disqualify them from being a valuable contribution to a development team. |
| Wed 26 Jun | Simon Lucy | I think the ability to convey technical information to a non-technical audience should be part of a rounded individual. I wouldn't fire someone because they couldn't communicate with non-technical people, but I would if they couldn't communicate with me. But if they did find it difficult to communicate what they were doing to different audiences then I would encourage them and give them the opportunity to gain those skills, that ability. And no, I'm not talking about wrenching someone deep in some debug session and having them explain the handling of widgets across application boundaries to the CEO. Wrench me from some deep contemplation and I'm likely to be as non-verbal as anyone else. |
| Wed 26 Jun | Joe AA. | You might ask why would a techie be unable to communicate with a non-techie. The largest 'barrier' I have seen is not a lousy grasp of the language, but the insistance of the techie to expect the non-techie to 'communicate' in his/her terms - in other words... tell me how to code, do my job for me. In this instance, it is a techie performance issue that needs to be treated as such. Using an interpreter to help a low experience techie may be appropriate, but if the techie is high experience, it would be unacceptable and assigning an interpreter is just a coverup of the problem. |
| Wed 26 Jun | Contrary Mary | I think the techie/non-techie communication issue comes down to developing/having the ability to accurately describe a thing in several different ways. I first realized the importance of this when my grandfather went deaf(ish). You couldn't just repeat the same thing louder and expect him to understand. You had to keep trying different words until you hit on one that he could comprehend. 'I went to the movies... to see a film... caught a picture...' 'Oh. A movie.' I think the same thing happens with techies. Some people only develop their thinking to the technical level. So when they explain something, all they can do is repeat their own thought processes. Others can abstract things a bit more, using different frameworks until they find one that their audience can grasp. But I wouldn't neccessarily demand that skill of everyone on a team. |
| Wed 26 Jun | Not A Lawyer | I have known at least a few talented developers who were not able to communicate with a nontechnical audience. It really seems like baking this a main cause of firing someone for this is a case of cutting off the nose to spite the face. If you want to fire someone for this in the US, make sure that 'explaining things clearly in nontechnical language to nondevelopers' is listed as a primary responsibility in the job description and the developer's signature is on that requirement. I know that if I was fired for such cause I'd have the companies ass on a shishkebob by the end of the week. |
| Strategy Letter V vs. Spring in Cambridge | Sun 23 Jun | Mo |
| I think my attempt at an eyecatching subject has failed miserably, but heres my point anway: Joel points out the big win IBM is making by becoming an IT Consulting Company. However, he already said that, A consultant working on a project makes ten or twenty percent profit. If you license software, each marginal unit you sell is 100% profit. Thats why software companies have valuations that are something like 25 times richer than consulting companies. (http://www.joelonsoftware.com/articles/fog0000000021.html) Is this the only option IBM has to capitalize on Open Source? Why else would they make such a move? Joel - Thanks for a great site. If youre looking to open an office in Boston drop me an e-mail! ;-) |
| Mon 24 Jun | anonymous | Not everything IBM does is open source (WebSphere for example). By becoming a premier consulting company IBM essentially gets paid to put salespeople in your organization to suggest that you buy WebSphere, IBM Servers, IBM Mainframes, etc. Not that they won't use SUN, HP, Microsoft, etc. if you want them to, but all things being equal, they will use IBM products. Not every move is explained by complements. There are many reasons to do something, and being a consulting company is a great way for IBM to build a channel for its other products, even if the margins are not great. |
| Mon 24 Jun | Joe AA. | 'and being a consulting company is a great way for IBM to build a channel for its other products, even if the margins are not great. ' IBM consulting strategy walks a fine line. They want to screw up enough to give the hiring company a feeling that they would be lost without IBM in all of the complexity of what they are trying to achieve, but not enough to show this strategy of incompetence. I have worked with them on many projects. There is a limit, but they have a wide range where the more they screw up the more money they can milk. And they do. |
| Mon 24 Jun | Stuart Fox | The services business isn't always an easy business to be in - this post from Larry Augustin lays it out quite nicely. http://www.crynwr.com/cgi-bin/ezmlm-cgi?mss:6424:200110:lfepcehbhmloljpjmlon |
| Mon 24 Jun | anonymous | Interesting, but IBM is neither a services pure play nor a product pure play, but somewhere in between. Any comapany with products needs a channel. Microsoft's channel is Windows for all products except Windows (and OEM's for Windows). IBM uses it's services arm as a channel. It doesn't really need to make that much money as long as it doesn't lose too much. Remember, you pay IBM to put its salespeople in your company. This results in more sales of IBM products (the point of the channel). IBM sells enterprise software that costs $100'sK. The gross margins are huge, but the potential customer base is small (compared to Word, Excel), so IBM's channel needs to: (a) have access to enterprises that might use the software (b) touch C level executives (CEO, CIO, etc) who have the buying power That's why IBM benefits from a services business more than EDS does even if the profitability of those parts of the business is the same. |
| Mon 24 Jun | Daniel Shchyokin | RE: http://www.crynwr.com/cgi-bin/ezmlm-cgi?mss:6424:200110:lfepcehbhmloljpjmlon Uhm hello!!!! This article is makes sense only if you assume EDS' consulting is done by elves at night instead of paid engineers. Think about it: Couln't it also be that EDS' margins are so low because they DON't do research & development, i.e. every consulting project starts with a blank slate, and no proprietary code is ever reused!!!! Think about DELL, what is more likely- that DELL wastes money on R&D because they are stupid, or does the 1-2 percent R&D that they do create the automation they need to kick compaq's and HP's ass, by REDUCING OPERATING COSTS, which is one of the potential benefits of R&D (The other being competative priducts, and innovative products with no competitors) In both EDS/DELLs case R&D should reduc operating costs by more than the R&D itslef costs (otherwise what i sthe point of technology). There are two catches though 1. Over automation, some operations (assmbling pc boxes) are much harder and more expensive to automate than others (creating a image database for installing software on your pc boxes) so for dell more than 2 percent R&D would waste money. Like any other business expense, dont pay more for automation than it is worth 2. The second is accounting (this is not at all my are) but maybe EDS does a ton of R&D and simply does not want to show it on the books |
| Tue 25 Jun | Simon Lucy | Actual R&D is usually capitalised and so appears on the Balance Sheet and not on the P&L which is where Operating Expenses live. You can capitalise the entirety of R&D including the staffing and establishment costs. There's usually significant tax advantages and grants available under most regimes. There used to be an equation about the proportion of R&D Spend to Net Worth, for a strictly technology company (ie one that doesn't really involve itself in service revenue or significant product trees), that proportion can be quite high. Twenty percent I think would be a healthy norm for a company such as Dell or HP. A company like Microsoft, however, which is fundamentally not a technology company but a marketing company, I'd expect the ratio to be much smaller. The reason I said 'used to be' is that the sane model of defining a healthy technology company went out of the window about 8 or so years ago and the five year silicon valley cycle replaced it (three years at a humungous loss, 1 year at approaching profit, sell in the 5th year, or IPO which is the same thing, on the basis of future profits). After all the shakeouts, we might approach a more sane view in the future. |
| Tue 25 Jun | Just me (Sir to you) | 'Twenty percent I think would be a healthy norm for a company such as Dell or HP. A company like Microsoft, however, which is fundamentally not a technology company but a marketing company ...' Interesting. Could you elaborate on this? Personally I thought the opposite would be true. Dell, mainly a pure distribution play would seem to me to be fundamentaly operations & marketing, wheras Microsoft seem to depend on perpetual innovation, and thus need a substantial R&D effort. Since R&D is rather scale invariant, I am all the more surprised by what to me seems an extraordinary R&D percentage for such a large company. |
| Wed 26 Jun | Simon Lucy | Microsoft's R&D largely comes out to be product development. They purchase or make use of R&D happening elsewhere, but again its almost always product related. You could say that the NT development was R&D but that core R&D was done elsewhere originally, DEC. Perhaps the one original development Microsoft have made was in using the double exception, shut down the processor to move from protected mode to real, but that now is all superceded. Compaq/HP might be a better model of a technology company than Dell. HP spends considerable amounts in medical equipment research areas, Compaq should be spending considerable amounts in R&D in motherboard designs, ASICs, novel bus management, etc, etc. Even Dell should now be spending around 20% of their net worth just to ensure that they have further to go, cheaper to produce. This not to say that a software company can't be a technology company, of course they can. I happen to think mine is in a very small way. When, though, the software company depends on churning their existing products in dot releases or changing their revenue model from licences sold to a subscriptions or fixed term leasing I think you can say that they certainly aren't a technology company. |
| Wed 26 Jun | Simon Lucy | Just as a further clarification, the average proportion of Business R&D to National Net Worth is around 2% for the G8. Individual businesses tend to show between 1-3% R&D spend on their balance sheet. I'd still maintain that a technology company should have a much higher proportion spent showing on the balance sheet. The vast majority of businesses though show no R&D at all they are middle tier or retail businesses. |
| How do web sites go so fast? | Thu 20 Jun | Feeling a bit shy |
| Im a fairly senior level guy who builds web-based ecommerce applications for a very large company. However, the sites I build are not as fast as yahoo or google and Im wondering how they do it. Im also persuing a masters degree so I thought this would be a good idea for a paper. For example, Ive built a reporting tool that fills a function similar to yahoo. Its similar in look and feel but its different in that we dont have as much common data to share. Our apps will show which products have shipped *for you*, which invoices are coming due *for you*, etc. Yahoo has a slight advantage in that they can show non-personal stuff like a stock quote. (Of couse which stocks to display is still personal). My tool takes 5-10 seconds to do its thing. Mostly because of the db queries. Yahoos seems almost instant. Another example is google. If my customers asked me to pick out 100 records from a billion Id say the tool would time out. Google does it in 0.015 seconds. Does anybody know what the overall software architecture is like for some of these amazing sites? Can you provide some urls? Id like to compare them and write a paper for school. |
| Mon 24 Jun | Les Chandra | Some things I have learned the hard way: * Oracle is fast at getting a record from a table based on a indexed key. --- index foreign keys, especially if they are in constraints * It is slow at aggregate functions (GROUP BY) --- can often be faster to do it outside in the DB in procedural code * It is slow at nested joins (WHERE ... IN (SELECT ... FROM)) --- un-nest these to a flat join * It is incredibly slow at anything to do with text manipulations (SUBSTR, concatenation etc). --- just don't do it. Do it in procedural code outside your DB These can trip up people (like myself) who have upsized from the desktop, where things like string manipulation are standard programming techniques. Lots of luck |
| Tue 25 Jun | Patrik | 'Maybe the answer is as simple as, 'They optimized their data for queries while I'm stuck hitting an Oracle 11i schema directly.' You probably already know this but, Check to see that your SQL-queries do not use function calls in its WHERE-clauses, which is a very efficient way of getting full table scans. Example: Consider a table that has an index like this: CREATE INDEX FOO_X1 ON FOO(SOMETHING); SELECT SOMETHING FROM FOO F, BAR B WHERE F.ID=B.ID AND SUBSTR(F.SOMETHING,1,10)=B.SOMETHING_ELSE; The SUBSTR will disable index use, and result in a full-table-scan. You might want to check into the possibility of using materialized views. If you have complicated joins this will allow for a more simple query once the materialized view is created. I dont know how often the data changes, and it may not be a good solution, since refreshing the materialized views can be costly. http://www.oracle.com/oramag/oracle/99-Sep/index.html?59bob.html Hope it helps. |
| Wed 26 Jun | Jason McCullough | Vaguely related to this: If you're doing a lot of 'summarizing,' you might want to look into something like Redbrick. http://www-3.ibm.com/software/data/informix/redbrick/ I used it back before IBM bought it, and it's disturbing exactly how fast it can create reports based on aggregate data; we're talking an order of magnitude or faster than any b-tree system I could come up with. They use some sort of bitmap indexing scheme instead of b-trees; the whole thing is kind of the analysis compliment to a transaction system. I believe SQL Server (I can hear the laughter now) and Oracle do have something like this now, but it's not quite as fast. |
| Common UI design/methodology for deleting records | Mon 24 Jun | Marty Potokar |
| I am presently working on a database program that makes extensive use of the Grid component for finding, filtering, and grouping records as no editing is done inside the Grid. As the program allows for editing and adding new records from a RecordViewDialog that is accessed directly from the Grid, my question is: Is it better/common practice to allow the user to delete a record from the view containing the Grid or the RecordViewDialog? Thank you ahead of time. |
| Mon 24 Jun | anon | You can always offer both. Deleting from the grid would be useful if users can select multiple (or all) records to do a mass deletion. Think about how most email programs work. You have a grid view that allows you to delete a message (or messages) by highlighting them and clicking an icon on the toolbar. You can also double click on a particular message and have it appear in a new window, which also has a delete icon. |
| Mon 24 Jun | Albert D. Kallal | I also vote on being able to highlight several records and hit the delete key. As mentioned, email (OE) works that way, and so do files in a 'list' view in the explore also work that way. In addition, in ms-access you don't have a grid, but you use continues forms in that place. Again, this allows multi-record selection and deletion (with zero lines of code I might add). Since a good many products work this way...I think it is a good approach. I prefer a continues form since you can then also allow a button with a text caption to be repeated. I find is the *best* approach, as each row in the grid thus has a delete button (the learning curve for users is zero). To bad you don't have repeating buttons in the grid, but this approach is the most user friendly that I have found. Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Mon 24 Jun | Ged Byrne | Marty, It all depends on what your circumstances. What are the implications of a record being deleted? Should it be allowed for all users, and perhaps be restricted to the user. Perhaps the easiest option is to add the delete facilitie, and then control it with permissions to the back end database. |
| Mon 24 Jun | Ged Byrne | Really mast ptoof wead |
| Mon 24 Jun | Bella | I hate using the mouse. Please allow the user to press 'delete' on the keyboard, then press 'Y' to confirm. Always have a confirm dialog for destructive actions. |
| Mon 24 Jun | Alex Moffat | The problem with 'always confirm' is that people get so used to automatically pressing the OK button that it loses it impact very rapidly. People will hit delete followed by enter to confirm without thinking after a while. The alternative of course is to offer undo. And yes, this is much more difficult to do, so is it possible to justify the extra work by pointing to some ease of use return? Maybe no for your app, but maybe yes for some other. |
| Mon 24 Jun | Joe AA. | I would rather see the UNDO option. A confirmation dialog seems to me just a way that the developer can place the blame on the user. |
| Mon 24 Jun | Mike Swieton | Choice == good Why not give a multi-level undo (maybe with a history window/dialog somewhere), and allow the user to disable confirmation? |
| Tue 25 Jun | Simon Lucy | When the connected data is in a database and may be part of a whole set of rows and tables you need to take into account the knock on effects of cascaded deletes. If your form and grid is working on a cursor of the data (which it should be), then any regular commits should happen after the whole form is confirmed by the user, so you have roll back/undo through the life of the form. Preferably you should also have roll back on the database itself outside of any form or application, so that a DBA can restore the data to a known point. Deletions in this case aren't such a problem because normally deletions themselves persist until after a rebuild of the table/database. There are always hidden gotchas though, if someone has deleted one set of data and created a new set of data to logically replace it, restoring the deleted set and maintaining the new data is frequently tricky, and frequently what the organisation wants. You also have to be wary of databases that are structured to reuse deleted records (or rather their space), for new records. Personally I hate that kind of parsimony disk storage is cheaper than air, just use it. |
| Tue 25 Jun | Bevin Valentine | I like Simon's suggestions...Personally I love undo functions wherever I go - and if you can track history that would be fantastic. In fact, that would be exactly what I'd be looking for in a DB because I want Version control...so anything you can do to get closer to it would be just about the grooviest thing ever. I'm not fond of alert boxes, but they have saved my butt from time to time with an errant click (I use a graphics tablet as my mouse, so periodically I tap when I just meant to move). Triple redundancy in the delete key, right-mouse click method and a button on the toolbar/interface would be good as well - I hate it when any one of those is taken away because i use all of them depending on what else is in my hands at the moment. Good question :-) Thanks! |
| GUI sketch... flame away my design! | Sun 23 Jun | Ido Yehieli |
| ok, here it is: http://plasma-gate.weizmann.ac.il/~ido/GUI2.gif now i have some explaining to do... the icons on the bottom left of the screen function like that: the trash can is, well - a trash can... no need to explain that new idea i hope. the skull and cross bones are the same as xkill under UNIX. the hand pointing to the right is for ejecting removable media - just drag&drop the removable medias icon on it and it will be ejected. the paper clip icon is for always on top: drag&drop it on the windows that you want to keep on top. the first 3 icons to the left are shortcuts: 1. a file browser 2. a terminal 3. the tool box - something like LinuxConf. the next 4 are for the virtual desktop, and all the rest (3 in our case) are for active programs (like windows [9x/NT4/2K/XP]s application bar) the radar: just drag the blue rectangle to change position (instead of using scroll bars) shortcuts menu (not shown in the picture): just right click on the desktop to see it (like in NeXT) mile high menu bar: just like MacOS, no need to do any explaining here... title bar icons: the X to the left is for closeing the window (surprisingly enough), the _ is for minimizing, the square is for maximizing and the two squares inside one another is for fitting the window size to the content. right click the help menu in the top left of the screen to enable ballon help. so, what do you think? Ido Yehieli |
| Mon 24 Jun | Ido Yehieli | [quote]1) windows without titlebars -- how is the user supposed to deal with these? For example, if you're supposed to hide the Magellan tree window by by clicking on the toolbar or right-clicking, is that too many levels of indirection? [/quote] i assume you mean that the title bars of the windows that are not active have no 'close', minimize, etc. bottons on them? well, it's just to differentiate between active an inactive windows. once a window becomes active, it gets all of his icons back... [quote] 2) text + icons. You've chosen to use icons over text. But there is the tradeoff that the toolbar symbols may not make sense to the user. So there likely should be localized text under the icons, or the text appears when user puts the mouse over the icon. This can be turned off if the user doesn't want distraction.[/quote] I've choose the second option, and when you enable ballon help by right clicking 'help' on the menu bar, you'll get just that. [quote]I dont see what the advantage of the radar view over a well designed scroll bar would be for regulary formatted textual data (like a file listing). Such views are great for CAD programs, Image editors and RTS games, but with shrunken text you don't have any more reference to where you are beyond what a scroll bar would provide. [/quote] well then - are you saying that in some cases it's better then the scroll bars and in others it's just as good? no problem here... :-) [quote]Also, would there be a radar for each windows that needs one, or one that is shared amongst all windows? That could become either cluttered or confusing.[/quote] it's shared amongst all windows. once a window becomes active, that window 'gets' the radar. i don't think it'll be more confusing then the omny present menu bar(MacOS), and that one isn't very confusing, is it? i can see how it'll take new users a bit of getting used to, but the advantages far exceed the disadvantage(s?) IMO. [quote] I would probably put the paper-clip on the window titlebar, it being a property of the window and all.[/quote] good idea. the next version might do just that, but i still need to think about it. [quote]Anoher thing. I noticed you have a launch icon for the file manager and another one for the running instance. How about removing the close icon from the title bar of the first running instance of the file manager and only representing that instance using the launch icon? In other words, always have at least one (uncloseable) file manager window always accessable from the same location in the interface (and by being in the lower left, taking advantage of Fitts' Law again). I think NeXT did the no-close-button thing. [/quote] and then drag the running app's icon to the xkill or trash to close it? [spock]intersting... [/spock] [/quote] [quote]Anyway, I believe letting the user to choose between scrollbars and the radar is necessary. After all, all of us are so used to scrollbars. [/quote] i've been ohhing and ahhing about letting the user decide, but i'm not sure if it's won't give the user a bit to much choise... I'll need to think about that. i'll come back and give some mor answers soon. |
| Mon 24 Jun | Sammy (Criticizing is very easy, and fun) | Could you tell us your Goals with your gui? In terms of the problems you want to solve and your solutions? The Radar looks like it solves the problem of the thin rectangular scrollbar. Normally it is solved partly by mousewheel (and by full-screen windows making it Mile-Wide). Maybe another solution is having an expanding scrollbar when you mouseover it? That would keep the well-known scrollbar Metaphor while making it actually usable. If you stay loyal to the radar, there should be some obvious sign that it's bonded with a window. Maybe they should have a physical connection, or touching one window will make the other blink. For always-on-top... Is this a commonly needed utility? Consider making it a titlebar option, in a menu? On windows and osx... The program shortcut bar is visually distinct from the app bar. OSX just does it with a small divider that has no other meaning. Consider this? |
| Mon 24 Jun | Christian Knapmeyer | I'd just like to comment your icons and the way the user is supposed to use them. Without your explanation, I wouldn't have grasped their meanings - except for the trashcan, which is common on desktops today. First, the icons are inconsistent in their usage: Some of them require that the user drags the icon to the object he wants to work with: The 'xkill' icon and the 'paperclip' icon. The others want it just the other way round: Drag the object to the icon. (the trashcan and the remove media icon) This is not obvious, there's no clue what to do for the user. Second: The symbols have either a distracting or no meaning at all (at least for my taste). I know that designing 'good' icons is far from easy. But I wouldn't like a skull residing on my desktop. I'm not a pirate, you know. ;-) Also, as someone else already pointed out, why should I need to have 'xkill' always one click away - aren't there more peaceful ways to exit applications which let them at least do their cleanup work? Then the pointing hand icon has not much to do with ejecting a removable media. And this is another function that I don't need to have in such a prominent position. I don't eject my CDs and DVDs that often, and I usually use the drive's knob for that, because I have to reach to the drive anyway to take the CD out. Then, the paperclip means 'clipboard' to me. To 'pin' a window to the foreground, I'd use a 'pin' symbol. Please note: No flames intended. Just my impressions and humble opinions. |
| Mon 24 Jun | Paul Richter | I like the idea of drag-droppable titlebar mini-icons, pioneered on BeOS, I believe, and sneakily implemented on MS IE (but AFAIK no other Windows app). With IE, you can right-drag the mini icon in the title bar and drop it to the desktop or any directory to create a shortcut for it. That icon represents the document displayed in the window. Or more accurately in the case of IE, the URL which is the source of the document I believe that's all you can do on IE, but to expand this idea, you could drag the mini-icon to the trash to delete the document. In the case of a text editor, it would delete the file. For a file manager, the window represents a directory, and displays the contents of that directory. So dragging the mini-icon to the trash would delete that entire directory. In addition to the mini-icon for the document, there could be another mini-icon for the process. You could then drag this to the trash to kill the process (instead of using xkill, which was obviously designed before the idea of drag-and-drop). Granted, this would overload the meaning of the trash icon in a questionable way. Dragging the process mini-icon to a terminal would print out the path to the program name, the same way you can drag a file/folder to a command prompt in Windows. To identify the mini-icons, the document would be placed with a folded-corner frame and process would be... hmm, I 'm not sure. But just to be cool, the process icon frame would change background color from green to red to indicate CPU usage. With drag-droppable titlebar mini-icons, all four of those tiles (top-level, eject, kill, trash) could work consistently as drop targets. |
| Mon 24 Jun | Ido Yehieli | [quote] Then, the paperclip means 'clipboard' to me. To 'pin' a window to the foreground, I'd use a 'pin' symbol. [/quote] alas, the pin icon does have a meaning in Linux... it basicly means that the same window appears in all virtual desktops. i would have used it if it wasn't so. [quote] Also, as someone else already pointed out, why should I need to have 'xkill' always one click away? Then the pointing hand icon has not much to do with ejecting a removable media. And this is another function that I don't need to have in such a prominent position. [/quote] ok then... should i just 'hide' these in the Windows 2k/XP style? and show them only if mouse 'hovers' over an expander icon? (an expander icon is just that little arrow we've grown so used to) [quote]First, the icons are inconsistent in their usage: Some of them require that the user drags the icon to the object he wants to work with: The 'xkill' icon and the 'paperclip' icon. The others want it just the other way round: Drag the object to the icon. (the trashcan and the remove media icon) This is not obvious, there's no clue what to do for the user. [/quote] let me try and repair that: i'll let all four icons act in both ways. 1. you can: drag the trash icon (when dragged it'll be just the green trash can, without the gray background) and drop it on the file you want to put in it, AND: you can drag the file and drop it in the bin for the same functionality. 2. you can: drag the cross bones & skull icons on a window/ app icon to kill it, AND drag the active app's icon (not the shortcut icon) to the skull& cross bones to do the same thing. 3. you can: drag the hand icon and drop it on the drive icon you want to eject, AND: you can drag the drive icon and drop it on the hand for the same functionality. 4. you can: drag the clip icon and drop it on the app's icon/ window you want to put 'on top', AND: you can drag the app's icon and drop it on the clip for the same functionality. [quote] Without your explanation, I wouldn't have grasped their meanings - except for the trashcan, which is common on desktops today. [/quote] that's why enabling ballon help is so easy - just right click 'help' on the menu bar, and then when your mouse hovers over something it shows you an explaination. [quote]On windows and osx... The program shortcut bar is visually distinct from the app bar. OSX just does it with a small divider that has no other meaning. Consider this? [/quote] sure, if you think it's necessary. [quote]If you stay loyal to the radar, there should be some obvious sign that it's bonded with a window. Maybe they should have a physical connection, or touching one window will make the other blink. [/quote] the blinking idea is a good one. thanks, |
| Mon 24 Jun | Ido Yehieli | @Paul Richter: can you please post a screen shot showing the mini icons? i really have no idea what your talking about... |
| Mon 24 Jun | Paul Richter | Ido, It's the 16x16 icon in the far left of every window title bar. (On your GUI as well as Mac OS, it's where you'd find the close button.) Left-clicking on it brings up the window menu, right-clicking lets you drag and drop. Remember, on Windows this works ONLY with Internet Explorer, no other application. I now realize that the functions of a process mini-icon can be assumed by the taskbar icon (what you call the 'app's icon'). But I like the process mini-icon because it's right there in the window, while the taskbar icon is somewhere else, and the user has to associate it with the icon image. In windows, the taskbar has a mini-icon identical to that in the window titlebar, but it still makes more sense to drag drop from the window than from some other icon/button representing the window. Regarding the radar, how about a zooming rect emanating from the radar window, when you focus on it, out to the target window? (And then blinking the target.) |
| Mon 24 Jun | Ido Yehieli | ok, i'm back (i've just finished debuging a peice of really nasty code... and now not only have all the bugs been ironed out, it looks real tight and small aswell!) [quote] It's the 16x16 icon in the far left of every window title bar. (On your GUI as well as Mac OS, it's where you'd find the close button.) Left-clicking on it brings up the window menu, right-clicking lets you drag and drop. Remember, on Windows this works ONLY with Internet Explorer, no other application. [/quote] hey, that's not a bad idea! how come i didn't think of that?... [quote] it still makes more sense to drag drop from the window than from some other icon/button representing the window. [/quote] that's a good point. [quote] Regarding the radar, how about a zooming rect emanating from the radar window, when you focus on it, out to the target window? (And then blinking the target.) [/quote] hmmm... i'll need to think about that one. |
| Tue 25 Jun | Simon Lucy | If you want to actually build this as a working desktop then you could use something like Object Desktop and Window Blinds. http://www.stardock.com |
| Tue 25 Jun | Ido Yehieli | thanks Simon, but it's for an OS project of mine. though i might build the alpha/beta version in the form of a linux window manager. |
| Joel is wrong about performance appraisals | Sun 23 Jun | Ralph |
| So says this dude: http://wmf.editthispage.com/discuss/msgReader$3514?mode=day -- QUOTE -- BTW, Joels paper is mostly wrong regarding the review process at Microsoft. He first confuses incentive/motivation, quoting Herzberg, and then fails to mention that Kaplans, The Balanced Scorecard is another HBR classic. While Herzbergs article talks about motivating people, it does *not* talk about evaluating people. Joels admonition to always give everyone a glowing review is stupid... -- END QUOTE -- |
| Mon 24 Jun | Robert Moir | The guy writing this article appears to have failed to understand Joel's writing. Or maybe I misunderstood Joel's writing. Quote: 'And all of Joe's talk about different people contributing different things (like the guy who made everyone happy, or whatever) sounds like 'But we ALL are special!' whining to me.' Obviously this guy is failing to understand how some people in a team can act as catalysts for other members of the team. (And I don't think that Joel was suggesting that this as a sole contribution would be enough). |
| Mon 24 Jun | Joe AA. | I wish he had posted some sort of Joel article reference. Performance appraisals are for the non-productive anyway. If productive people cared for the empty opinion of others they wouldn't be productive in the first place. Setting of a performance object is essentially useless in many environments - the 'requirements' and 'direction' can change so quickly - even over a three month time frame, that previous promises to achieve something can't even apply in the new situation. |
| Mon 24 Jun | Matt H. | the 'requirements' and 'direction' can change so quickly - even over a three month time frame, that previous promises to achieve something can't even apply in the new situation. -- Would you agree that a company run in this manner has a very real lack of vision? (IE No vision at all or a vision that is never realized?) Of course a very small company might have to play the shifting goals game, due to cashflow/financing issues, but I think even they would wish they had the luxury of not doing so. My conclusion: Sure, Sept. 11th changes things, but goals are goals are goals. Unless they aren't - in which case you're in trouble. (See 'The Practice of Management' by Drucker for my $0.02 on Managing by Objectives) ... |
| Mon 24 Jun | Joe AA. | A company that understands that it has to constantly adjust to realize it's vision is the only one that will. Vision doesn't help you avoid an Enron, nor 'deregulation' as a couple of examples from the electric utility industry. To eliminate necessary change is usually a whiny front-line desire of those that don't realize that such an objective is really not in their best interests. MBO is an interesting study in failure, and the general inability of people to learn from it. |
| Mon 24 Jun | Matt H. | 'MBO is an interesting study in failure' okay, buddy, there's a big in-your-face kinda statement. You can to start a thread and defend your statement, or just post it here? I'm willing to listen, but I'd like to here why. (Plz don't just come back and say that MBO is locked and can't address change. I heard that the first time. I'd like to hear _how_ that is measurably bad, and _how bad_ it is objectively.) looking forward to it, |
| Mon 24 Jun | Nat Ersoz | >> Performance appraisals are for the non-productive anyway. If productive people cared for the empty opinion of others they wouldn't be productive in the first place. Joe AA nails it. IT is very difficult to asses the productivity and worth of say a Program Manager, a device driver writer, and UI designer and/or implementer, etc. And yet, it beomes necessary to have some system in place whereby you can coach underperformers. Interesting thread... |
| Mon 24 Jun | Ged Byrne | Sure, the setting of goals has its place. However, if done wrong it can be soooo demoralising. A smart manager knows his people. He knows their strengths and their weaknesses. He knows when they are going the extra mile and when they are slacking. The smart manager knows his team's dynamics - its what his paid for. The stupid manager tries to measure his team members like they're inanimate objects. Subordinate X is superior to Subordinate Y because he wrote more lines of code in the specified period... If team dynamics and human interaction were this simple, then managers would have no right earning such high salaries. Smart managers are worth every penny. The number crunching manager could be replaced by a Commodore PET with significant improvements. Heres a scenario: Bill and Ben work on a call centre. When the queue gets busy Bill just cuts of the calls off on after another until they are all gone. Bills call response time is excellent. His satisfaction rate is high (he never answers calls under pressure). Ben answers all calls properly, even when the going is rough. His response times are inferior. On top of this, this majority of a random sample where dissatified. The reason given was that they had to redial several times before being served. Bill is promoted, Ben become disillusioned. (Based on a true story) |
| Mon 24 Jun | Joe AA. | MattH... why would I want to argue with you about MBO? The only ones that don't want you to know it's been a historical failure (and do your own research) are the people that are still selling it to you under the snakeoil of the month club. Not trying to read your mind, but I would expect your response to any failure point would be much the same as the snakeoil salesmen: but you didn't implement it correctly. That's always the excuse for snakeoil failure and the primary means of detecting snakeoil. |
| Mon 24 Jun | Matt H. | >'snakeoil of the month club' .... This is great. No reasoning, and now I'm stupid for not agreeing with you. What is this, proof by repeated assertion? I typed in the phrase 'Problems with Management by Objectives' into Yahoo.com, got 1 hit. (If you're interested: http://www.infed.org/rank/managing_projects/managing_workers.htm ) Typed in 'problems with the waterfall model', got 41 hits. Now, MBO has been around since 1954, and is still taught in most MBA cirricula. The waterfall model has been around twenty years less, and is taught and esposed less. I know that _SOME_ of the extra (x5 or maybe x10) hits are because the web is a CS-centric media and The Waterfall Model is a CS-Centric topic. (Similar results on searchs for (Waterfall Model I hate it) and ('Management by Objectives' I hate it)) But 41x hits? That tells me the waterfall model, while used, is much more strongly questions. AND YET EVEN IT is still taught and used in > 50% of companies. Got a better link? thanks, |
| Mon 24 Jun | Joe AA. | No, no links. Tom DeMarco (in places besides Peopleware, like 'Why does software cost so much') has probably been most vocal pointing out the falacies of MBO. But since you primarily seem a Drucker fan, I can understand why you still buy into it. Don't get me wrong. Management is a difficult business to do correctly. But MBO is snakeoil and only helps the salesmen sell it to their victims. For example, and I don't remember the source of this story either, and the way I heard/read/remember it, the sitting was Russia... so don't any of you Russians out there take offense. There was this factory in Russia that produced nails. Things were going along fine. Then the western concept of MBO was introduced to improve things. The factory was given the object of producing some amount of tonnage of nails. The factory responded by producing only railroad spikes. The Powers That Be soon saw what was happening, and revised the object to state that the factory had to produce some number/count of nails. The factory responded by producing tacks for picture frames. The scene changes. You now see a Russian carpenter holding in one hand a small tack, and in the other an equally useless railroad spike. The grand fallacy of MBO is easy to see. It places you, the manager, in a position to focus on the wrong thing. If you miss your objective then what are you really focusing on? A failure. The worst manager is the one that focuses on failure. Like driving a car, you will go exactly where you focus. But the worst, worst manager is the one that believes avoiding the appearance of failure - like by meeting MBOs - is the exact same thing as success. These are the clueless ones. |
| Mon 24 Jun | Robert Moir | 'But the worst, worst manager is the one that believes avoiding the appearance of failure - like by meeting MBOs - is the exact same thing as success. These are the clueless ones. ' A fairly good implementation of clueless would be, for example, claiming that MBO is always flawed and in fact, hey, its 'snake oil' because its not suitable all the time and may have been poorly implemented in some cases. Everything is flawed if its implemented by someone who doesn't understand it properly. |
| Tue 25 Jun | Ged Byrne | I've worked at a few companies, and I've never seen MBO implemented correctly (I gave one example earlier.) If a software system is incorrectly implemented, it falls over. It obvious that it hasn't been implemented right, and steps have to be taken to fix it. Unfortunately, the same cannot be said for HR methodoligies. Almost every large companies have one installed, but for the majority it crashed back in the 70s. If a methodology can consistantly damage a company over years and years without it being noticed, I see this as a major flaw. |
| Tue 25 Jun | Matt H. | 'Everything is flawed if its implemented by someone who doesn't understand it properly.' Good point. One of the key factors is the MBO is that the goals have to actually be aligned with the goals (& success) of the business. Another is that they have to be written by the executing manager and approved by his superior. That being the case, I think the nail/spike story is, well ... a story. I heard a similar one in business school about glass. (The company in russia had to produce glass, and was given a tonnage of output, so they produced huge raw blocks that were good for nothing, instead of mirrors.) I have to agree that MBO would work much better in a more static industry (Office Furniture, Utilities, etc.) than in a newer or more dynamic one. Still, at it's heart, all MBO is is setting correct goals and measuring yourself against those goals. I'm not a Drucker Fan more ... I just happened to have read his book most recently. Someday I'm going to order Slack and 'Why does software cost so much', but I've got a pile of Baby books to read first .... :-) regards, |
| Tue 25 Jun | Hardware Guy | Hey, Ralph - We're still waiting for the reference to the (alleged) article that kicked off this thread. |
| Tue 25 Jun | MadMan | I think Ralph was referring to the article 'Incentive pay considered harmful'. It's at http://www.joelonsoftware.com/articles/fog0000000070.html Having been forced to conduct several painful performance appraisals as a manager (painful both for me and my subordinates), I pray that they be abolished in every bloody company. BTW, I found this interesting site: http://www.abolishappraisals.com/ Incidentally, among W. Edwards Deming's 14 admonitions is this one (#12b): '12b. Remove barriers that rob people in management and in engineering of their right to pride of workmanship. This means, inter alia, abolishment of the annual or merit rating and of management by objective. ' (Read the rest at: http://www.khosla.com/softwaremgmt/deming.htm ) Here are some books by Deming: http://shorl.com/famohaprajoki |
| Tue 25 Jun | Joe AA. | Deming is not as 'popular' as the snakeoil salesmen. The quest for the silver-bullet must be a strong force indeed. And I still stand by my previous assertion - snakeoil is easily detected by it's failure excuse: you didn't implement it correctly. I've always liked Deming for demonstrating the popular way is not the only way. Instead of 'manipulation of people through their vices (e.g. greed)' as practiced by MBO - he encouraged internal motivation by the individual with basis in their virtues (e.g. love of their work, pride in their workmanship). And I really like the 'obstacle' of meeting specifications - one of the biggest excuses used in our industry to pretend success. |
| Tue 25 Jun | Nat Ersoz | Maybe one of these. http://www.joelonsoftware.com/articles/fog0000000070.html http://www.joelonsoftware.com/articles/fog0000000038.html http://www.joelonsoftware.com/articles/fog0000000039.html http://www.joelonsoftware.com/articles/fog0000000040.html |
| Tue 25 Jun | Adrian Gilby | ' Having been forced to conduct several painful performance appraisals as a manager (painful both for me and my subordinates), I pray that they be abolished in every bloody company. ' Madman, could you explain why they were so painful? I don't see anything wrong with them _if the employee and the manager both buy in to the concept_. At a company I used to work for, we had 'appraisals' every 6 months. It was a serious discussion of how I was doing, where they thought I could improve, where I thought I could improve, what I thought of my managers, where I saw my career within the company going, etc. The key point is that my manager took it seriously. He didn't just fill out the forms and then file them away, it was clear that he'd thought about the appraisal, had solicited comments from people who had worked with me on projects, was serious about discussing my objectives and worries, etc. I suspect this is quite rare. I've also had appraisals where I got the feeling that the person giving the appraisal didn't really take it seriously. There was no thought given to my appraisal before we sat down to do it, I didn't have time to prepare anything, etc. So why do some companies do it well and others badly? Clearly just setting up a process for appraisals isn't enough. Incidentally, have we figured out whether the original poster was discussing appraisals, or incentive pay? My 'good appraisals' company never said that appraisals were linked to bonuses. Obviously, you knew that you'd be more likely to get a bonus if all your project leaders said you were a great worker... But the appraisal wasn't 'about' the pay/bonus. Adrian |
| The Pragmatic Programmer | Fri 21 Jun | Warren B. |
| Hi, I have read The Pragmatic Programmer: From Journeyman to Master book. I think it will help me. But I have a question. Is someone using nearly all tips from the book? Regards W.B |
| Mon 24 Jun | Warren B. | Hi, One main tip is do a lot automatic. As : 66. Find Bugs Once Once a human tester finds a bug, it should be the last time a human tester finds that bug. Automatic tests should check for it from then on. Is someone have a all automatic solution ? From 1 file create front end code, ... , and database code and table. ? Regards W.B |
| Mon 24 Jun | Ged Byrne | A full list of the tips are at: http://www.pragmaticprogrammer.com/ppbook/extracts/rule_list.html My favourites are : Don't Use Wizard Code You Don't Understand Wizards can generate reams of code. Make sure you understand all of it before you incorporate it into your project. Don't Program by Coincidence Rely only on reliable things. Beware of accidental complexity, and don't confuse a happy coincidence with a purposeful plan. |
| Tue 25 Jun | Colin | I've worked at a place where they implemented a lot of that stuff. Of course some of it's mutually exclusive so not all of it. But a suprisingly large amount. They weren't perfect, but looking back, better than most. My favourite tip is to automate things. Everything possible in fact. It removes a lot of the tedium that can exist in the job. Even if creating a script takes as long as it would do to do by hand, it's a load more fun to do. It also invariably saves time at some unknown point in the future, and is a lot more robust. You may discover that all that boring repeated code you were going to write was wrong - you then just change the script to write the correct code and it's no time before it's all fixed. A lot easier than fixing with a load of manual edits. |
| The importance of good documentation people | Thu 20 Jun | Brent P. Newhall |
| A post by w.h. in the Salary Issue thread got me thinking about my feelings with regards to documentation in the technical field. Im a technical writer part-time and a programmer part-time. I feel like Rodney Dangerfield when wearing my technical writing hat, and Im confused about why technical writing is in the position its in. Lets start with a few propositions. 1. Every technical product needs good documentation for its users. 2. Good documentation is hard to write. 3. Programmers dont like to write documentation, and even when they do, they often dont know how to write documentation thats comprehensible by a non-programmer. Moreover, many programmers these days are non-native English speakers who (through no fault of their own) dont have the considerable command of the English language needed to write good documentation. (Im sure that some non-native English speakers can write good documentation; Im just saying that many cannot.) Okay, assuming that the above is generally true, I dont understand the following behavior, which Ive observed everywhere Ive worked: 1. Technical writers are among the first to be eliminated from a project, and there are typically very few technical writers in a given organiziation. 2. Programmers are often assigned to write the documentation for their own work, especially when the companys laying off workers. This seems like madness. So, why dont technical writers have more respect, or at least a larger presence in technical organizations? |
| Tue 25 Jun | Hugh Wells | Brent, I think good writers are as important as good software engineers. For what it's worth, I think the important thing is to be confident in your role and your worth, because then people usually treat you that way. |
| Coding and Mathmatics | Thu 20 Jun | Matt H. |
| Ive noticed that a lot of people on this board are opposed to education because it doesnt really teach you to solve problems. I earned a BS in Mathmatics (with a concentration in CS). Literally, all I _DID_ was solve problems. I learned to take a certain input set, and apply a rigourous series of transformations to it to produce an output. (In other words, I learned to write a function.) Then I learned proofs (Number Theory; Math 420) where you break a problem down into a desired states, and then apply transformations to get to those states. (In other words, I learned to write a program.) I think my education was _GREAT_. I have to agree about actual IT degrees ... nowadays, many of them consist of: (1) 9 Business Credits: Accounting I, II, and Mgt (2) 9 Networking Credits: LAN, WAN, and Interneet (3) 9 Programming Credits: Intro to CS, VB, and Java (4) 3 OS Credits: Winders. (UNIX if youre lucky) (5) 3 Database Credits (If youre lucky) (6) 3 Sys Admin Credits (If youre lucky) (7) The 300 and 400 level courses are all things like Information Systems Policy Capstone Course or Systems Analysis ... The End Result is a Jack-of-All trades who is a master of none. Many professors go low and slow for 100 and sometimes 200 level courses, because many of the students arent majoring in the area and only taking the courses for elective credit. So the courses provide a brief, short overview of topic X. Your IS major might know a bit about accounting ... mostly worthless to a coder on non-financial systems. He might know a bit about networking - not enough to be a sys admin, though. And, as someone else pointed out, he might have a head-knowledge of specific programming languages, but he probably doesnt understand algorithms, oops, or big-o notation. Instead of writing sort routines, he just knows how to call object.sort(); As joel http://www.joelonsoftware.com/articles/fog0000000319.html pointed out - to code well, you gota _GET_IT_. And that is why, for coders, I have come to agree that the IT degrees at some schools are so compromised they are an intellectual cop-out. BUT THAT DOES NOT MEAN THAT HIGHER EDUCATION, IN GENERAL, IS BAD. comments? |
| Mon 24 Jun | Sammy | People with mathematical leanings are often very good at programming. But it's not obvious how to separate those from who simply have the degree. Try to get a sense of those who are adept at mathematical topics without being aware of it. |
| Mon 24 Jun | Joe AA. | I certainly have to agree that programming requires some aptitude. I wouldn't go as far to say that aptitude is automatically associated with mathematics. One of the best newbie programmers I ever had was a frustrated ex-teacher with a PHD in Greek and Latin. |
| Mon 24 Jun | PC | There are a lot of subjects besides mathematics that would give you experience in solving problems. I think linguistics, for example, could be as relevant to programming as mathematics. And experience with any kind of scientific research is helpful. I suspect the connection between math and CS is mostly tradition, since mathematicians were the first to use computers. Now of course computers are used for many other things. A background in the humanities might not be very useful to a programmer. But any subject where logic is important, such as philosophy or the natural and social sciences, might be just as good as math. |
| Tue 25 Jun | Nat Ersoz | hmmm... Social Sciences in the world of computers... I don't know. When I start asking my computer 'and how did you feel about that?', I think I will have outlived my usefulness. |
| Tue 25 Jun | Ged Byrne | I think the average Mathmatics graduate would be superior to the average CS student for one important reason. Computer Science is seen as the qualification to get to make money. Lots of people take CS wether they are suited or not regardless of their suitability. I've been in a classroom where the mechanics or a linked list are painfully described, and yet the majority of the class still cannot get it. By the end of the course they still struggle to compile 'Hello World.' They have no aptitude for the subject, and yet they dilligently gain their degree, and then hide behind methodoligies for the rest of their career. On the whole, people who study mathematics do so because they like it. Mathematics is not seen as a cash cow subject. If they find the going tough, they drop out. The pace of a Mathematics class is in stark contrast to the CS. The student is bombarded with advanced subjects, and yet they keep up (or drop out). For this reason, I would expect a Mathmatics graduate to have a better aptitude. Of course, you'd be a fool to make a decision on that alone. |
| Tue 25 Jun | Just me (Sir to you) | Dear boys and girls, let me serve you this tiny blast frfom the past. Back in the days when JustMe was getting his CS degree, there was't the grand separation between Maths and CS that exists today. CS students were just lumped in with the Maths students, and got a few hours of CS instead of some advanced Maths subject. The whole difference was less than 20% of the courses. Now there was this particular boy, let's call him JustHim, that was realy a Maths Wiz. He sailed through all the subjects exept for ... programming 101. For one reason or another, he just didn't 'get' it, and flunked this course majorly. We all thought this quite strange since compared to the other stuff we had to digest the Programming 101 was peanuts. Even the greatest bozos managed to pass programming 101, so what was up. We spent quite some time trying to help JustHim, but somehow, we couldn'tmake him see the light. He switched towards pure Maths and sailed through college with top grades, but never tried computing again. To this day I still find this extremely weird. I have met lots of people who couldn't 'get' programming, and in fact tend to believe that its just one of those things that is difficult to learn. You either 'have' it, and then it's all natural and easy to you, or you don't 'have' it, and then it almost impossible to get the hang of. However, before meeting JustHim I always had assumed that the people who 'got' Maths would also 'get' programming. Guess I was wrong. |
| Tue 25 Jun | Ged Byrne | Sir, Interesting. One of my assumptions is also overturned. Perhaps JustHim would have had success with a declarative language, like Lisp? If only we could make a study. |
| Tue 25 Jun | PC | Math and programming use different parts of the brain, in general, so a person can find one easy and the other hard. Programming seems natural to me because I'm good at language and verbal reasoning. Math is not easy for me, unless in the context of a computer program. The social sciences don't involve asking people how they feel. The are like the natural sciences and involve logic and statistics and the scientific method. And the social sciences that are now called cognitive sciences are even more relevant to computer programming. |
| Tue 25 Jun | Ged Byrne | Did I say declarative - I meant functional. |
| mozilla key bindings | Thu 20 Jun | duh |
| hey joel, it is somewhat easy to (brutally) rebind the mozilla default shortcut for jumping to the adress bar (ctrl-l) to the internet explorer way of alt-d.
- close all mozilla instances
- locate mozillas program dir
- extract comm.jar found in chrome/ using: jar xf comm.jar
- edit content/navigator/navigatorOverlay.xul
- locate the |
| Tue 25 Jun | duh | this is a quite esoteric thing. no average user i ever met knows that there is a shortcut to jump into the address bar. most of the programmers i know, don't even know it. but i'm quite keyboard obsessed and so at least i know it. joel seems to know it too. i'm bugged when i have to relearn a shortcut that has really got an at-least-tence-per-hour habit. what's nice about mozilla's solution: - it is possible to customize everything, even w/o programming - it is possible for theme writers to easily deliver a fully IE emulating theme - theme installation is done with 4 clicks - an IE theme could be delivered with custom installations or future revisions i think it is an esoteric problem - so i think an esoteric soluation is quite appropriate. btw, cluttering up messy preferences dialogs is _not_ a solution. |
| age discrimination->labor shortage->need more h1b? | Tue 18 Jun | young programmer |
| http://heather.cs.ucdavis.edu/itaa.real.html I hope that I can manage to stay on top of the bizarre hot skills youth-oriented hiring game described above. It does seem silly that organizations are unwilling to take experienced programmers with good fundamentals, at least when they have an existing team that can train the newcomer in the particular tools and methodologies they practice. At the same time, its easy to come up with hundreds of anecdotes from weak older programmers who think they are qualified, but are not. Still, it sounds like in many cases they are not even given a chance to demonstrate competence. Youd think that some less foolish company could simply target these neglected older programmers and make out with better talent for less money, and stomp all over their 20-year-old-hiring competition. |
| Mon 24 Jun | OzzieGT | Well, the people I know who are 'self taught' have no concept of code modularization, the reason behind object oriented design, efficient coding through advanced logic structures, and other such 'theory-based' concepts. Depends on your viewpoint I guess. |
| Mon 24 Jun | Joe AA. | OzzieGT... your bad paradigms are showing, obviously derived through proper conditioning in school. Our business has always been, since day one, practice before theory. Some of us had to learn/create most of what makes up the 'state of the art' at any point in time through our history. We were DOING the practice long before you had a buzzword to take in school, long before some academic attached a 'theory' to it. |
| Mon 24 Jun | Hugh Wells | OzzieGT, you clearly have limited industry experience. There are many brilliant software engineers who acquired their expertise through their own endeavours, and to a superior degree than most CS grads will ever learn. |
| Tue 25 Jun | OzzieGT | I'll admit I don't have a lot of industry experience. And I will admit the place I work doesn't necessarily hire the best people. I'm actually leaving work for grad school in a month. However, believe it or not, some theory that we learn in school can be applied to the real world. It sounds like my education is being blasted by someone who hasn't experienced it. Yes the concepts have always been there but to teach them to others quickly and efficiently you have to 'attach a theory to it' to quantify it. I can agree with Bevin that a degree doesn't guarantee that someone is a good programmer (I knew my fair share of bad programmers in college). We have a summer intern who is in his 3rd year of CS at some school up north and you can just tell he doesn't 'get' programming. He learned C++ in school but it seems he's just learned the syntax and nothing else. He's having a hard time learning VBA. Some schools offer 'CS' degrees where I'm not quite sure what the 'CS' stands for. I also agree with Hugh that some of the best software folks don't have formal educations. But they are the cream of the crop; it seems that the avg person would be better of starting with a formal education than trying to self-teach. Lots of people learn how to put out code to 'do stuff'; some of them (perhaps this includes you, Joe and Hugh) actually learn what is involved in writing good software. At least this is what I've seen so far. On the other side, my college education was by no means complete without work exerience to show what is applicable and what isn't. It will definitely give me another angle from which to look at things when I'm getting my MS. |
| Variant languages versus strongly-typed languages | Sun 16 Jun | Chris Woodard |
| Joel sayeth Today, when you have a strongly typed language, a good type library (IDL, WSDL, Java reflection) documenting your classes, and an IDE that knows how to show you that type library as you code (i.e. Intellisense), its even easier to use types than variants, so the trend is away from variant-bound scripting languages (VBScript, PHP, perl) towards typed code (C#, JSP). but on apachetoday.com (http://apachetoday.com/story/2002-06-04-001-06-PR-DT-PH.html), it says Zend Technologies Ltd., the creators of PHP 4, and the Zend Engine, on which all PHP sites are run, today announced that as of April 2002, PHP, the open-source software phenomenon, has surpassed Microsofts ASP as the most popular server-side Web scripting technology on the Internet. and on Zends web site, According to a Netcraft survey published in April 2002, PHP is now being used by over 24% of the sites on the Internet. Of the 37.6 million web sites reported worldwide (http://www.netcraft.com/Survey/index-200204.html), PHP is running on over 9 million sites and continues to grow at an explosive rate. Over the past two years PHP has averaged a 6.5% monthly growth rate. and so I wonder about Joels information. Or am I missing something? |
| Tue 25 Jun | Albert D. Kallal | Actually, Joe, it is very much like I said. ......The argument goes both ways. If the Vb program was *more* loosely typed, then you might very not see an error of invalid type! The Same goes for the number of parameters...when they are all optional...then you may never see a message with invalid number of parameters. More lose data typing can reduce errors, and can also introduce errors. I suspect the advantage of one approach over the other probably depends on the type of software one is working with. Less structure in code tends to equal more flexibility. In addition, when those structures can be modified without regards to existing structures, again flexibility increases. Years ago a good portion of pc based software actually had the data structures hard-coded into the application. In other words, the structure of the record was defined in code. Dim name as string(25) Dim Address as string(25) Dim Billamount as Currenty(8) Today, we have abstracted the data strictures OUT of the code. That means that the data stricture in code now must be a totally flexible and dynamic structure. (such as a ADO recordset). We could debate as to the fact that the “type” is a recordset, but that is really moot. The point here is now that each record is NOT strongly typed. The structure is totally Variant. In fact, we can go and change our data structure (our type) via the database design tools, and not even have to change our code (hence, we can change structures *outside* of the code). Hence, you can see where I am going with loosely typed data, or strongly typed data. This also applies to any type of data structure that I can define in code. (for example, we need better tools to save a class object (and values) to disk, and to retrieve it). Same goes for “collections” in VB. Hence, right now the trend is certainly towards “structures” that are more flexible, and are less typed via the code. XML does give some structure to data, but it is all text and stuff like currency and numbers actually gets *converted* (cast) to the correct data type *only* when needed. This is text...and no data type is here! As mentioned...I also suspect that the use and increase of loosely data typed objects probably depends on what one is trying to accomplish. It seems the trend is certainly moving towards loose typed systems. I suspect the net is partly responsible for this trend. If I am writing some assembler code for a processor, then I think some good fixed strictures, and caution on the kind of data words I feed to the registers better be typed correctly! Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| A five year Microsoft veteran could be making $500 | Sun 23 Jun | Prakash S |
| http://www.joelonsoftware.com/articles/fog0000000074.html Still belive this is happening for a person joining nowdays, Joel? |
| Mon 24 Jun | Nat Ersoz | PRETTY FLAT? That would be putting it mildly. An MSFT employee hired in over the last 4 years would find their options completely under water (glub glub). Even with the repricing at 66 in the summer of 2000, MSFT employees are drowning in a sea of near worthless options. Now looky, you heard it hear, on Joel on Software: NASDAQ 1000. Yup, that's right 1000 - perhaps lower. Head for the hills. |
| Mon 24 Jun | Bella | NAZ 1000 is optimistic. It'll go much lower., |
| Mon 24 Jun | Nat Ersoz | Dow support *might* be at 8650. If it doesn't hold there, we don't have support anywhere. The problem with the NASDAQ is that there is no technical support, even near 1000 and there never was any fundamental support in the form of a P/E. So, Bella is right, 1000 is optomistic. |
| Design By Contract | Fri 21 Jun | Keep_Your_Rules_To_Yourself |
| I felt bad because my last few posts were a little off topic. I thought perhaps starting a discussion about Design By Contract (DBC) might simultaneously satisfy my apparent need to talk about contracts and stay on topic. Just wondering why I dont hear more about the use of DBC from the XP proponents out there? Is it being used, but not often mentioned? Are most folks doing XP-style development unfamiliar with it? Has it been tried and failed to live up to its promise? Is it simply too formal for XP? As I understand it, one of XPs basic tenets is Test first; test often. Ive frequently heard it recommended that writing unit tests and then running them periodically is the correct way of doing this. It seems to me that DBC would be a powerful tool for designing, implementing, and facilitating the required unit tests. Unit tests seem to have two important pieces. The first part is the data pump. Its responsibility is to hammer a modules interface with well-chosen test data. The second component is responsible for checking the integrity of the module being tested in response to the actions of the data pump. I think DBC would shine in the role of this second component. Here are a few reasons: * It has a proven history and a sound theory behind it. * It binds the semantics of the test directly into the module. * Environments that support it can cause the tests to be run while the module is executing in a fully integrated system. * The theory automatically incorporates consistency constraints arising from object oriented type systems. This is very potent stuff. Is anyone integrating it into an XP-style development effort? Does anyone have any results or experience to share? |
| Mon 24 Jun | Ian Stallings | I have never used design by contract but I have used unit testing/xp and I thought I would share a link I dug up: http://c2.com/cgi/wiki?UnitTestsDefined There are many other mentions of DBC on that wiki, and it seems that most xp advocates see it as a compliment to unit testing. |
| Mon 24 Jun | Mark Smith, http://www.virtualmethods.com | My view is that DBC complements (that word again!) XP's testing-oriented approach perfectly. I'm (supposed to be) writing an implementation at the moment, and I'm doing a lot of stuff using a DBC framework in C#. Eg public void AddToList(Thing thisThing) { DBC.require (mList.Find(thisThing) == false); mList.Add(thisThing); DBC.ensure (mList.Find(thisThing) == true); } This isn't really 'by contract', since the contract is being met by code rather than some form of declarative approach like the Eiffel mob have. but better than nothing. I'm lookink forward to wish John Lam ( http://www.IUnknown.com ) doing something more with his CLR implementation of aspects, so I could do [Attribute DBC.require (thisThing != null)]; [Attribute DBC.require (mList.Find(thisThing) == false)]; [Attribute DBC.ensure (mList.Find(thisThing) == true)]; public void AddToList(Thing thisThing) { mList.Add(thisThing); } If thats not ruthless testing, I don't know what is! |
| Writing technical documentation | Fri 21 Jun | Yaniv |
| I have been reading this discuss forum for a while. Its been a great source of information for me. Thank you all. I just finished developing a enterprise portal single handedly for a company to which I am working as a sub-contractor. This was my first contracting project. Now I have to write the technical documentation(not end-user guide, but the documentation for the use of in-house developers) for it. Can you people suggest me some good links, which provide some basic guidelines for writing technical documentation for web applications? Thanks for all your help. |
| Mon 24 Jun | Richard | Joe AA: '... The problem that the documentation was expected to solve, was the quest for 'instant knowledge and expertise' that could be obtained by the person without any effort on his part. There is no solution to a problem with this requirement. ...' Couldn't agree more. Documentation processes that I have been witness to have been pretty useless, even the ones where a lot of determined effort took place from all parties. Where docs are necesaary I just keep it really simple. Joels guide on technical writing is good here, but you need some kind of buy-in from the rest of your team. Many managers and developers see the presence of documentation as some kind of healthy-glow about their company. Documentation provides no purpose unless it is read. If it is not read, or if it is inaccurate/ out of date it can be worse than if there was no documentation at all. Keep the docs simple, an install guideis necessary, as is a FAQ (you will have to put in your own questions though). As technical documentation goes, some document that correlates on screen detail with the source files that deal with it. Consider that all you are giving is an up to speed guide for their inhouse guys. You have got source comments, and thatsa what they will use to maintian it. |
| Strategy Letter V: Sun not dumb | Thu 20 Jun | William Frantz |
| Joel, Suns support for Java WORA is not so surprising when you realize that they have retained sole rights to manufacture native Java hardware. It is my understanding that, while anybody can make a Java Virtual Machine, only Sun can legally make a Java Machine. That is, a processor that runs Java bytecode natively. Since a VM will always be slower than a M, Sun will always have a proprietary advantage in the Java world. This becomes particularly important in the small embedded space. For example, if I want to make a cell phone with J2ME and I want to make it as cheaply as possible, then Im going to be very inclined to simply buy Java-on-a-chip rather than port a JVM to some other processor. Sun wins big in that scenario. |
| Mon 24 Jun | Just me (Sir to you) | 'I am surprised that Sun has not done more to create Java hardware. ' Wel, you do want to lure your enemies out into nice open waters before you let them know that they are ruled by your submarines don't you ;-). |
| Usability of the Joel on Software forum | Thu 20 Jun | Just me (Sir to you) |
| If you are reading this its obvious you are a forum user, so you might have an opinion about the following: As you well know, Joel has this thing for usability. One could also reasonably imagine that he cares about the public visiting this site. This very forum is a centerpiece to the community that frequents this site, and probably even generates most of the content ;-). Now forum software comes in all shapes, sizes and flavors. Was Joels choice for a rather minimalist approach a conscious one, or did this just happen to be the offer of the month when this thing got started? My guess is the former. I tend to like this interface more than most. That being said ... heres one thing I would not mind added: - E-mail interaction: A webboard is great if you are a casual visitor. Its like an archive on display, but for actual participation, theres nothing like email. An e-mail client automates the polling process, and you get notified when there are new messages posted. For contributing, you just hit reply and you have got your message checked for spelling errors while you type (especially handy for us non-native speakers). Is it just me? Doesnt everyone think interaction with a webboard through email would be far more usable for the active community member, while the casual visitor still has that nice browser interface? Yet when you look around for webboard packages, none of them have this support. Should I maybe look for listserv software with a nice web front-end? I havent found it yet. For hosted solutions, MSN seems to support this, but apart from the ugly interface, I do not think you can integrate it in your own site. So, whats up? Am I just a creature with a strange habit, or do you agree and is there an opportunity for a creative developer to make a few bucks on this? |
| Mon 24 Jun | Joe AA. | I open topics and reply with 'new window'. That way I can review the topic I am replying to... saves my memory cells (yes, both of them!). Joel's 'usability' doesn't want us to see the topic during our reply, but there is more than one way to skin a cat. |
| Salary Issue | Thu 20 Jun | Curious |
| I was wondering whats the general opinion about salary raise. Im working for a software company in India. We used to get fabulous increments till now. Hoewever this year it has been pathetic. This is despite the fact that the company has made a better than expected profit. The management says that the increments are determined by general market conditions and not by profits. However the big shots in the company get a percentage on the profit as part of their compensation. Is this the general trend or is there something fishy going on ? |
| Mon 24 Jun | Sammy | If I said to a lady friend that I was scoping out some Other Girl, and will go to her if we don't marry... I think I might wake up one day with parts missing. If you're a really good worker who gives a great deal to the company, and you make it clear you're leaving, you might be lucky enough to have a manager who just won't let you leave. This happened to GE's Jack Welch, and it probably happens to others in the real world too. Just make it clear that you're fed up. Not that you're going elsewhere for more pay, but just that this company is doing you wrong. I did something similar, and it appealed to their sense of needing to be competent at their life's work. |
| Mon 24 Jun | Sammy | Oh yeah, this assumes that you're complaining about salary because the rest of work sucks, or you're grossly underpaid. Simply not getting the raises you got before... that's a fuzzy subject, and I don't know the situation enough to say what's fair. |
| Mon 24 Jun | Joe AA. | You mean that people aren't just entitled to a raise for just showing up at work over the last year? That doesn't seem fair!!! (this is a joke BTW) |
| Joel goes Dutch! = Commoditizing. | Wed 19 Jun | Prakash S |
| This is the perfect example of commoditizing. Joel sets up website, writes good articles, lot of guys visit the website, word of mouth, e-mail, promotion, joel sells software, becomes millionaire( along with Micheal, et all). Joel, send me an e-mail when you go for an IPO:-) |
| Mon 24 Jun | Bernard Vander Beken | Think 'CityDesk in non-English versions'. http://www.fogcreek.com/CityDesk/fog0000000039.html |
| Why Software Is So Bad | Tue 18 Jun | apw |
| http://www.technologyreview.com/articles/mann0702.asp?p=0 Poor management or lack of engineering dicipline? |
| Mon 24 Jun | Gary | Software can be bad in two ways: its stability and its UI. For example, I do most of my programming in Microsoft Access with Access VBA. (Whether or not you think it is a 'real programming' language is for some other debate). The point I want to make is this: VBA has (1) rules, (2) quirks and (3) missing features. To wit: We have to deal with the annoyance that recordsets that are not explicitly closed will crash Access even though they are out of scope. To even use a File Open dialog box, I must use APIs. When I read that not being careful about the values you pass in API function parameters could cause Windows to crash, I began laughing. That's crazy! The function should protect itself from garbage. Programmers like to program. They want to 'get this project going' by churning out reams of (what ends up as) poorly written, hard to read code. Creating table relation diagrams don't look as though you are doing anything. Managers must screen shots. As for user interface design, it's a relatively new field, but what strikes me as odd as the many programmers have unrealistic expectations from users to remember things. Think about the American soldiers that were killed in Afghanistan when they called a missile strike on themselves. In fact, it appears a soldier programmed the coordinates to strike in the GPS unit, then changed the batteries, not realizing the GPS unit resets itself to its own coordinates when the batteries are removed. If anything, the GPS unit should: (1) remember the user's last settings, or (2) set itself to NULL, or (3) confirm that you want to drop bombs on yourself. When people are shooting at you, don't expect the user to remember things a computer could. This mistake is clearly the fault of the designers and programmers of the GPS unit. It shocks me that no one at the design meeting thought, 'Hmm, if a soldier can call a strike on any valid coordinates, what happens if he inputs his own location?...' What do you end up with? Programs that crash alot and corrupt data, people get killed and VCRs flash 12:00 all over the world. My bet is that Access and alot of other products are programmed by caffeinated twenty-year olds will little regard future maintenance. Trying to get my colleagues to adhere to just a coding style and to use a consistent naming convention is like herding house cats. Also, if I could any one thing it would be to ban all goto type instructions in all procedural type languages. My conclusion: Software is bad because it takes years to be able to program in a particular language well and not enough thought goes into design. Everything's done in a hurry and it shows. |
| This chef has no clothes | Mon 10 Jun | Paul Vincent Craven |
| In the Naked Chef: http://www.joelonsoftware.com/articles/fog0000000024.html Joel talks about methodologies and such. Joel makes a good argument, and I agree that methodologies are dangerous. But I also worry that too many programmers work in the Naked Chef fashion. Programs that are released to the public, or that interact with the internet in any fashion, are not the programs to have put together in the Naked Chef fashion. A little code here, a little code there, and suddenly Im better off finding a new job than try to take responsibility for what I just wrote. Maintainability and security cant be done Naked Chef style. I think doing things ad-hoc worked great the first few decades of the computer revolution. It works great for small in-house projects. But I think the time has come to start turning our profession into an engineering one. Unfortunately this involves writing out boring things like specification documents, which Joel recommends: http://www.joelonsoftware.com/articles/NothingIsSimple.html ...and setting up schedules, doing reviews, better QA, etc. Luckily the Naked Chef doesnt have to maintain his meal after it has been put together, or spend a year creating it. It doesnt take an engineer to make a bridge to cross a ditch. However many programs are now starting to resemble the Golden Gate Bridge in terms of the time, effort, and money involved. As software programs actually start to have lifetimes measured in decades, I think project managers are going to start looking at engineers to do development, and programmers will simply be the laborers doing the welding on the bridge. Likewise, methodologies dont work. Each bridge is different. Each development project is different. There is no one way that can work for each project. There is a class of people that prefer coding over doing requirement specifications, functional specifications, detailed code reviews, metrics, attending any kind of meeting, etc. Look at your bookshelf. Do you have only technical books on it? Or do you have books on managing projects? I think the tech-only people will soon be limited to being skilled laborers. What do you think? |
| Mon 24 Jun | William Frantz | Users don't know what they want. Users only know what they DON'T want AFTER they've seen what you've given them. For this reason, I am a firm believer in rapid prototyping using models and simulations to help minimize the risk as early as possible. I don't think this is any different from any other type of design field. I wouldn't build a bridge for somebody without letting them see a little model of it first. 'But this bridge can handle 100 cars an hour. What do you mean I can't pack the cars that tightly? You never told me that when we started.' |
| Daily Builds are your friend... but using what ? | Wed 14 Nov | Matt Trinder |
| I would be interested to hear what tools / packages / kludges people are using to perform automated software builds. We are looking to automate our build process - approx 30 C++ dlls, 90 VB dlls with a complex set of relationships between them so we need to be able to specify the order that things are built in, and also perform tasks such as dll registration during the build process TIA |
| Mon 24 Jun | davebo | Anyone tried using ANT to build VB? |