last updated:06 Aug 2003 14:12 UK time
Joel On Software Discussion Forum
JOS Statistics - Recent Comments
(Comments added for week ending Sun 20 Jul 2003) | View Other Weeks
Sources for vendor-agnostic white papers? | Sun 20 Jul | Bored Bystander
In line with my previous post on educating the wayward client on internet security basics, I would like to try to find some sort of white papers or similar content on this subject that are purely educational and are not intended as part of a vendors sales pitch. The major sources of white papers on the net seem to be www.itpapers.com (a zdnet thing that contains vendor specific content) and www.bitpipe.com (similar but containing mainly webinars.) I need some concise written report(s) on this topic. Even something like a competent undergrad level paper would be OK. I could prepare something myself but as I probably cant bill the time easily its better to just pay a little for it if needed. And, Im sure similar needs will occur in the future. Resources, please. Anyone? Thanks.
Sun 20 Jul | Stephen Jones | http://www.sans.org/rr/ There could be questions over copyright, but I think you would be able to contact the author if there are problems about simply printing it out.
Sun 20 Jul | Stephen Jones | http://www.dell.com/us/en/esg/topics/power_ps4q02-lowery.htm?mc=%M&DGVCode=BA will give a basic overview.
Sun 20 Jul | Bored Bystander | ABSOLUTELY PERFECT! You da man! I checked it out and there are definitely some things there that can break this impasse.
Good solution to J2ee's messy front end? | Sun 20 Jul | Vince
Ive been switching back and forth at my company doing ASPX and j2ee programming. (we write small sites in ASPX and put em on hosted solutions, and our custom applications/BIG websites are j2ee). Now java is a fine language, only marginally weaker then C#, but what it seems to lack is a good front end solution. We have a beautifully designed system all the way up until our JSPs, where we have all kinds of code strewn throughout them. Its disgusting. Is there anything comparable to ASPXs webforms? Weve tried using i18n tag libraries (blech), but thats about it. Has anyone found a good solution? What are some of the ways you guys do it?
Sun 20 Jul | Rhys Keepence | You need an MVC framework. Personally I would go with www.springframework.org . Other more established frameworks are Struts (messy) and WebWork (hang out for version 2).
Alternate jobs for programmers | Sun 20 Jul | Roose
Who here has known a programmer who moved into something else? What did they do? I am basically looking for something that will allow me to feel like I havent wasted a bunch of time programming. : ) In other words, what career path can you take that doesnt involve actually writing code, but maybe having programmed before is beneficial. I am getting sick of feeling like a code monkey, just pounding out drivel. I know that is not what its like everywhere, but a lot of places are like that, and in general I feel a career as a programmer wouldnt be very rewarding for me. I know I could tell you more about my background, but Im just curious to see what other people have done. It doesnt have to translate into advice for me. Examples: user interface designer, technical writer, academic-type job, useless manager : )
Sun 20 Jul | Swamp Justice | I get that feeling sometimes too. I enjoy designing and building software, but I am often frustrated by the amount of time wasted with stupid problems with reinventing the wheel (according to the new spec), Windows bugs, and C++ memory leaks/corruption. Do I really want to be dealing with these same problems 10 years from now? This probably makes me sound like a bad programmer, but I'm really not THAT bad! :-) I could imagine transitioning from software engineer to program management, where you design the software features and specs. Your technical background would be useful, but you wouldn't have to deal with the bang-your-head debugging sessions and 12-hour work days..? :-)
Sun 20 Jul | Bored Bystander | It's usually best to follow the money. Greater stability, more money (naturally), and greater respect follow. In general, software development intersects 'the money' in one of two ways: if you're developing a product, then your employer depends upon your product as a revenue source. If you're in corporate IS, then your work supports the production of revenue and cost savings. So: >> user interface designer Most companies, and this includes many SW product companies, don't respect a role like this and expect the programmer to do it all. They'll say things like 'well, that's part of your job!' >>technical writer Too far distanced from the money. No respected by programmers nor management in the least (unfortunately). >> academic-type job Ditto. >> useless manager Grow hooves for feet. Seriously, act the part that the company is ALL and is morally supreme, and your fellow man means nothing. Management means being a card carrying member of the 'inner party', and the programmers who are the Winston Smiths of the 'outer party' are those that you dominate...
Sun 20 Jul | Immature programmer | Well this topic touches a nerve ... I'm a programmer and have been wrestling with the career path question myself. An an acquaintance suggested sales and marketing (he was a programmer and has an academic background in CS, but is now a sales executive in the high-tech sector). I've been thinking about returning to school for an MBA while looking for a more avenue into sales out of the corner of my eye ...
Sun 20 Jul | Swamp Justice | yes, being a dev manager could be fruitful. Having a technical background is often not necessary, but it may be a helpful differentiator. And management would never allow wily engineers to manage themselves, so where ever there are engineers, dev managers were sure to follow. :-)
Sun 20 Jul | Chris Tavares | A friend of mine was one of those 'will do vaguely technical stuff for cash' types, not really a programmer but could fake it. A few months ago he started down the route to become an actuary.
Beginning Programmer - What Should I Learn? | Sun 20 Jul | Mike Harris
Im a rising college senior, and I was hoping to get some opinions on where I should concentrate my learning, in terms of programming. I want to balance two concerns: 1. Maximize my programming ability 2. Maximize my professional desirability Im very proficient for a college student, which means that i can run circles around my classmates while still (I assume) being vastly inferior to a good professional programmer. I know Java and C++ well, but Ive have no experience whatsoever in GUI programming. I was thinking about picking up Visual Basic, something I have no experience with. Lets hear some opinions on whether thats a good place to start. If so, would you go VB or VB.NET? What other books would you recommend picking up? Right now, Id like to concentrate on learning concrete skills (i.e. VB) as opposed to general programming/workplace/productivity stuff (Peopleware). Summary: Where should I concentrate my energy? What books should I pick up? Bring on the comments
Sun 20 Jul | anon | 'I'm very proficient for a college student, which means that i can run circles around my classmates while still (I assume) being vastly inferior to a good professional programmer.' This statement is BS. See all the threads about 'best programmer' on this board. If you think you're going to get into the industry and learn some 'magic trick', you're not. There are no magic tricks. This seems to be a misconception among college students. They think to themselves, 'What do the pros know that I don't.' The answer is, 'Nothing.'. Programming is simple. Easy one might say. There is no magic to programming. Unless you plan on working for a game/software company then I would brush up on business aspects such as accounting, the ecomony, process control etc etc, so that you know something about the manufacturing and service sectors.
Sun 20 Jul | Ori Berger | Maximizing your professional desirability requires you to decide where you want to go. If you want to work in financial services, learning the ins and outs of J2EE is probably a good idea. Some business sectors find .NET desirable. If you plan to take on the gaming industry, image generation, physics, DirectX and OpenGL will probably be a good way to go. Maximizing your programming ability is a totally different game. I'd propose picking a subject you're interested in, and then learning it from many angles. For example .... If you pick compilation, study parser generators (lex, yacc, D, ...) and how they work. Study 'manual' techniques like recursive descent, tree rewriting. Study representation formats - 3AC, 4AC, SSA, Stack machines, Register machines. Study implementations, like lcc, tcc, gcc. Look at concepts like specialized compiling. Be able to write a reasonable compiler without any helper tool. And then move on .... Then pick another subject, lather, rinse, repeat. It's important to know how to solve a problem in many ways. If you consider 'a language to program in' a problem then C# and Java are not at all different ways; C++ vs. Java/C# are slightly different ways. Lisp, C, K/J/APL, Haskell, Prolog, Assembly, Joy are _very_ different ways. Learn how to think critically and how to evaluate others' claims. Most App server vendors make claims about scalability and reliability that are outright false, yet 95% of their customers can't tell that's the case. Don't be part of that 95% [Note: This does NOT make you more professionally desirable in today's world. You have been warned]
Sun 20 Jul | The Real PC | [Programming is simple. Easy one might say. There is no magic to programming.] That's like saying writing is simple, there's no magic to it. You could say there's no magic to anything, if you want.
Sun 20 Jul | Mike Swieton | The only advice I'd give to any beginning programmer is this: learn a language that makes a distinction between pass by reference and pass by value. I am not necessarily saying C/C++ (though that's what it was for me). I suggest this because I see a lot of students who's major deficiency is a lack of understanding of what is really being passed around. I don't think it's a difficult concept, but I think Java hides it (not that java isn't valuable, but I believe it is not a good starting language). Other than that, try things. Don't do something to become 'marketable'. You won't enjoy it. I wrote a CD catalogger so I had a CD catalogger, but in the process I learned SQL and some basic data modeling techniques. I didn't do it to learn SQL. Enjoy yourself. Get a girlfriend ;) I could do with knowing one fewer language and spending the time instead on other things 8-}
Sun 20 Jul | Tom Vu | read up on time management techniques. You will be surprised how much time people waste while they supposedly work, and that you can automate alot of what people do. Also, get into an industry that you enjoy where you are not a programmer but someone who can program.
Sun 20 Jul | www.marktaw.com | > They think to themselves, 'What do the pros know that I don't.' The answer is, 'Nothing.'. < I disagree with this. A professional often knows a LOT more than a movitated student, even if that 'lot' isn't technical knowledge, but an understanding of how to deal with people, or the knowledge that they know 'enough' to do their job, but can always learn something new. A student or beginner is often still exploring new territory, while a pro will have well worn paths they use and can more quickly assimilate new concepts, and add them to their repitoire. And often there are a lot of subtleties that someone with some experience gets that a student won't get. This is true in any job. None of the things I'm saying are specific to programmers. If you can pick up new languages, new syntaxes, then probably your human skills are what you should be working on. Handling poor bosses & coworkers, giving presentations, proper phone manners, good dress & grooming habits. Oh yeah, and get a girlfriend. =b~ The kind that will force you to take saturdays off, and make you glad you did. And don't neglect your existing friends when you get her. It's important that as you enter the work world, you have some consistency in your life so that the end of a job isn't the end of the world.
Sun 20 Jul | anon | There's a misunderstanding of what I'm trying to say. I'm talking only about writing code. I'm not talking about dealing with people or analyzing a problem etc etc. I'm not talking about efficiency. See what I'm saying? You'll probably only understand me if you've been in school and have been wondering what the magic behind programming is. You sat in class and wondered why the guy in the front of the room is explaining 'if' statements when you've been writing 'if' statements for years without even thinking about it. You're about ready to fall asleep but you stay awake just in case you miss the 'magic'. Then you find out that there is no magic behind those 'if' statements and the prof writes them the same way you do.
Sun 20 Jul | Andrew Reid | The only way to get better at programming is to write programs. Do a side project or two to teach yourself stuff. Some ideas: * Download Tomcat & MySQL and write a simple database-backed dynamic website in Java (eg a clone of this forum). If you've not got much Unix experience, then install Linux & do all the development in that. * Write a clone of Frogger using C++, DirectX & Win32. * Take something you've done already & rewrite it in Python.
Wireless Network | Sun 20 Jul | S.C.
My boss told me to install a wireless network in our office. Two issues popped up in my mind: security and the health. The latter concerns me a bit more for the moment. I would like to know if any of you are using a wireless network for hours every day? Do you think exposure to radio wave for long hours affect your health? Some even say radio wave affects the users sex life and lowers the rate of pregnancy. I like programming and dont mind doing it for life but my girlfriends happiness is definitely non-negotiable.
Sun 20 Jul | RocketJeff | Maybe that's why the birth rate is dropping in industrialized counties - they have more radio staions then undeveloped countries! You're surrounded by radio waves all day - what makes you think that this will be a significant increase? Where's the research you've seen that says wireless devices are a health problem? I'm guessing it's a troll, but you never can tell...
Sun 20 Jul | Brad Wilson (dotnetguy.techieswithcats.com) | There is still much debate about whether a cell phone put straight against your head can cause issues. As for a device that's transmitting with much less power, much farther away? Seriously doubt it. Rocket's right. You're constantly being bombarded by high frequency energy. You should be more worried about your cordless phone than your wireless network!
Sun 20 Jul | StickyWicket | The wireless phone companies got together in the late 80s/early 90s to investigate the health impact of wireless technology. Their motivation was business related of course. There were some high profile lawsuits against the industry (notably against Motorola) and they wanted to cover their respective derrieres. So, they funded an 'independent' (har de har har) group to investigate for 5 years. Of course, the lawsuits never made headway and by the mid 90s, only a few people were around to listen to their verdict. Their conclusion? They needed more money and a few more years. I followed them for 2 more years and discovered that this group was quietly disbanded. Because public furor died down, they had no interest in maintaining an activity that could only make them look bad. My 2 cents is that there is ALWAYS a concern when energy is bombarding your body. While it's true that distance and energy are huge factors, I would still feel safer (albeit more tethered) without wireless anything. Sample article on the subject: http://www.rfsafe.com/articles/australian_032399.htm
Sun 20 Jul | StickyWicket | Of course, the risks of wireless are less than other forms of radiation: http://courses.cs.vt.edu/~cs3604/lib/Therac_25/Therac_1.htm
Sun 20 Jul | Sam Livingston-Gray | It's my understanding that the intensity of a given radio signal drops off exponentially the further you are from the source. So putting a laptop with a 200mW card on your actual lap might have reprodcutive implications, but keeping it on your desk a few feet away (and using an external keyboard and mouse) is basically fine. Heard this from one of the primary people behind http://www.personaltelco.net -- you could check their mailing list for more info. I've been using an iBook with wireless card (several hours a day on my lap) for a few months now, and haven't noticed any effects, but then we're not starting our family this year...
Sun 20 Jul | www.marktaw.com | I basically concur. I heard about a lawsuit on the local liberal radio station about a guy suing the cell phone companies after his wife developed a tumor that seemed to radiate out from where the antennae was on her cell phone. A few 'facts' I gleaned were: 1. cell phones put out more radiation than microwave ovens are allowed to. 2. it definately decreases by distance - use a hands-free device if you're going to use a cell phone. As an audio guy, I'm well aware of the impact of distance on energy levels - put your ears next to a headphone or speaker and it might deafen you, from just a few feet away it's a comfortable volume. You're constantly being bombarded by this type of radiation in small amounts... in NYC alone there are dozens of free hook up nodes, and you never know when you're walking through one just walking down the street. The big concern is the laptop itself, not the base unit. If you're concerned about this, get a wireless drop port, the kind that you hook an ethernet cable up to and situate it a few feet away from where you want to sit... It will probably need AC power as well, but at least it won't be so close you have to worry about the radiation. Now let's talk about the chlorine in the water, the radiation we're getting from our unshielded AC hookups, the radiation from our CRT's, UV exposure and cancer, industrial waste from GE in NY's water and how it gets into the fish, asbestos poisoning in the NYC subways, how pollution from NYC blows out of the city and settles in suburban areas, automobile fumes as we commute to and rom work, irradiation of our foods, milk that doesn't spoil, and countless other miserable things that are happening to us every day without our knowing about it.
Anyone here a modem guru? | Sun 20 Jul | Philo
Ive written software to manage a modem (standard USR internal type) - its using an MSCOMM-style component to handle answering calls, authenticate users, receive files, etc. It works fine on my system, dialling in from my laptop, but on the production system it answers, connects, and my traces indicate its sending the Username: string, but nothing shows up on the client session. Then it looks like it gets unstuck when the connections dropped, almost like the string is sitting in a buffer somewhere. (Ive dialled down the UART settings to 1 each...) Does this sound familiar to anyone? Im completely stumped... Philo
Sun 20 Jul | Christopher Wells | I doubt the data is stuck between the modems: more likely to be stuck inside the device driver, received by the device driver but not retrieved into the application (or stuck in the receiving modem because the receiving modem has been flow-controlled by the receiving UART, though this is improbable on Win32 where the device driver and not you controls the UART flow control, assuming that the modem and the UART are set for hardware and not software flow control ). You say 'MSCOMM-style' ... using the actual MSCOMM component from .NET is described in http://news.com.com/2100-1029-990612.html?tag=fd_top ... if your problem is that the OnComm event isn't being fired, can you 'poll' to see whether InBufferCount>0 even if the event hasn't been fired? If you're using the http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvssamp/html/vbcs_usingthecomportinvbnet.asp 'sample', beware that I've found MS sample code to be much buggier than their O/S code. I'm trying to guess how MSCOMM is implemented ... maybe it would help to close-and-then-reopen the port as part of your init sequence, after you install your OnComm event handler? I personally never used MSCOMM, I used the Win32 API instead; my first thought was the SetCommTimeouts() API, and my next was that you should call ClearCommError() before each call to ReadFile(). I don't know how much modem init stuff is done for you. When I opened a COM port with a real modem, the first thing I would do is send 'AT\n' command and expect an OK response from the modem. Then you have to send commands like 'ATA' to persuade the modem to answer the incoming call ... and I expect to receive some kind of 'CONNECT' string before I begin to receive user session data ... in other words I have already established two-way communication with the modem before getting into end-to-end session data transfer.
Sun 20 Jul | Brad Wilson (dotnetguy.techieswithcats.com) | Boy, it sure sounds like flow control issues to me.
Sun 20 Jul | Philo | I don't *think* it's flow control - prior to connecting I send several commands to the modem and get an OK to each. Since the code had a habit of leaving the modem off-hook when I stopped it, I added an ATH0 to my initialization - the modem stops responding after *that* command. Now I'm thinking there's something about the modem that throws it out of command mode whenever the hook state changes - does that make sense? Philo
Sun 20 Jul | Dilettante | I had a similar issue using mscomm. Xon/xoff alone worked ok with a laptop modem but with an external modem it needed the handshaking to be both x/on/xoff AND hardware.
Sun 20 Jul | Philo | ...or it could be a bad modem. Dammit. Philo
Digital Camera | Sun 20 Jul | Mac
I dont know if its coincidence or not, but I find a lot of hackers are also very good amateur photographer (well that includes Joel and Phil Greenspan :) I am also very interested in this art but Im just starting. What kind of digital camera do you guys recommend and what are the most important features in a camera that you think will be important for starters? For me, the semi-manual / full manual controls are important as in digital you can do a lot of experiments without getting broke buying and processing films, which brings to the second point - the total cost of ownership (flash storage and batteries). Also, if the camera is too bulky (like those high end SLRs) you end up not carry it with you most of the time and youll practice less and miss a lot of chances for great shots. Actually Im considering to buy the Canon A70 - it uses the ubiquitous type I flash (you can have 256mb for under $40) and AA batteries (3 sets of rechargable only costs $40 and youll not run out of juice for a whole day with camera on and ready for shots). However I dont like the fact that canon is still using USB1.1 (even the highend G5 and SLRs) and I prefer to have 4+ Mpixels. Also Im not sure if the semi-manual control of the A70 is good enough for practicing the craft. Thoughts? PS. Joel, what camera you used for all these lovely pictures in the site? All I can tell is that it supports stitching mode :-) Comments?
Sun 20 Jul | Philip Dickerson | My wife and I have both been taking photos (mostly scenery and travel photos, as well as the typical family and kids photos over the years) for decades (and we're both programmers). We switched to digital several years ago (early adopters), and we currently have both an SLR (using a Type II compact flash card, allowing for an IBM Microdrive), and a compact point-and-shoot (using the small SD/MMC card) digital camera. I have a separate USB-connected card reader permanently attached to the PC, and don't use the USB port in the cameras for transferring pictures. If I was buying digital cameras now, my preference would be one each of the following 2 cameras: SLR: Canon EOS-10D 6.3MP Digital SLR Camera ($US1500, body only) [plus a lens like a 28-300mm zoom] http://www.amazon.com/exec/obidos/tg/detail/-/B00008OT2G Compact: Minolta Dimage Xt 3.2MP Digital Camera w/ 3x Optical Zoom ($US400) http://www.amazon.com/exec/obidos/tg/detail/-/B00008PVXA
Sun 20 Jul | Dennis Forbes | I got a Canon S50 and love it (my former daily use camera was a Minolta 5xi with a bunch of lenses). If I had one complaint, it's that for really good quality pictures it operates as ISO 50. Couple that with the fact that it has an f2.8 lens (unzoomed. f4.9 zoomed) and you have the makings for a camera that needs a flash in all but the brightest situations (and flash pictures almost universally stink. A flash for anything other than fill flash situations is only making the best of a bad situation). That is the cost of having a highly portable camera (which was the impetus for the purchase. I found that I took my film 5xi very few places as it was just too heavyweight. It also conveyed a 'I'm a wannabe photographer!' vibe that I just wasn't comfortable with). If I were more willing to carry something bulkier (I'm not. I love the S50), I'd get the G5 which is basically the same camera with a better lens and swivel LCD. http://www.dcresource.com/reviews/canon/powershot_g5-review/ http://www.dcresource.com/reviews/canon/powershot_s50-review/index.shtml
Sun 20 Jul | www.marktaw.com | http://www.short-media.com/forum/showthread.php?threadid=698 Get a techie community together. Give them a forum where you can upload pictures. Ask them to upload pictures taken with their digital cameras. A picture is worth a thousand words.
Sun 20 Jul | John Topley (www.johntopley.com) | I'm delighted with my Canon PowerShot A40.
Sun 20 Jul | Bored Bystander | I got a Minolta S414 for my birthday and I really like it. It's a 4.1 megapixel camera with 4x optical zoom that is priced very aggressively (Costco - $379 in May, probably less now.) The features I shopped for were: high image quality; a range of manual adjustments available; cheap, standardized and available flash memory (this meant Compactflash); and cheap, standardized and available batteries, *not* proprietary rechargeable batteries - this means AA's and this disqualifies (for me) some of the Canon compact and high end full size models. A few tips. Don't bother with an AC adapter for the camera. Get a (cheap!!) compactflash reader for your PC or laptop. The separate card readers are generally much faster than downloading directly from the camera. Keep the camera LCD off most of the time and your batteries will last through hours of camera standby time. One thing to keep in mind - digital photography can now addordably be done at the level of mid range amateur photography, but you will not wind up with archival/professional quality results unless you get a pro ($$$) digital SLR. Maybe not even then. Recently I was reviewing my archive of several thousand 35mm B&W, color and slide stills I took from the early 70s to the mid 1980s. I have scanned some of them with a slide scanner (Minolta Dimage). Some slides I took in the early 1980s of the Grand Canyon, taken with a 'crappy' little department store Canon rangefinder that we probably paid $70ish for in the 70s, are SO crisp and sharp that I am going to make some 11x14 posters from them for my office and the image detail *will* stand up. I doubt that digital photography will be at that level of cost effective quality for years. And one other thing. A digital camera is not exactly a 'universal' device. It absolutely sucks to try to use one for candid photos or photos requiring quick reaction. All models have some inherent delay of 1/4 second between shutter press and shutter release, or more. And, many models don't let the picture get taken if they cannot get an autofocus lock, so you can lose many photo opportunities that way too when you squeeze the shutter release and the camera does 'nothing'. All in all, digitals are my choice for casual snapshots.
Sun 20 Jul | www.marktaw.com | I've heard that the only thing keeping many 1 hour photo development places in business is disposable cameras. NOBODY is taking analog photos anymore... I happen to prefer analog photos... the physicalness of the act of taking a photo and developing it yourself... but that's just me. C|Net has some good resources for buying digital cameras... B&H in NY ( www.bhphotovideo.com ) typically has good prices, and has a very knowledgable staff. A friend of mine bought a digtal camera as recently as a year ago... he's in India now or I'd ask him for the name of the website he found that had camera ratings & prices.
Sun 20 Jul | Some sam | http://photo.net
Sun 20 Jul | Matthew | Mac, Actually I'm considering to buy the Canon A70 - it uses the ubiquitous type I flash (you can have 256mb for under $40) and AA batteries (3 sets of rechargable only costs $40 and you'll not run out of juice for a whole day with camera on and ready for shots). However I don't like the fact that canon is still using USB1.1 (even the highend G5 and SLRs) and I prefer to have 4+ Mpixels. Also I'm not sure if the semi-manual control of the A70 is good enough for practicing the craft. The Canon A70, S45 / 50 or G3 / G5 seem the obvious choices. The A70 is the cheapest, and has the option of adaptor lenses (which the S45 / S50 do not) - which is why I would go for it. But if you want 4MP, then the S45 / S50, G3 / G5 are obviously better bets... The use of USB 1.1 is not a big issue - I would suggest buying a separate USB card-reader which would solve that issue. Re: the semi manual control - my understanding is that the only difference between the A70 and say the S45 is that the S45 has a custom option which (essentially) allows you to store two separate fully manual settings at all times (MANUAL plus CUSTOM). The A70, on the other hand, only has one (MANUAL). So, I think A70 allows the same level of manual control, just that it only has support for storing one set of fully manual settings at a time (if that makes sense?). Thanks
XLST Performance | Sun 20 Jul | RB
In a recent post, somone stated that you wouldnt use XSLT if you were interested in performance. My experience runs contrary to that. Most tranformations that I produce only take 10-30ms, so even chaining a number together would still be fast. This is using the MS XML parser. Some basic tests with Java parsers show the same transformations to take 3-5 times longer, but thats still only 150ms at worst. Were about to move a major web app to have a totally xml-xlst front-end. Does anyone have any specific experience with XSLT being too slow? Perhaps it doesnt scale??
Sun 20 Jul | Ged Byrne | As a VB shop we found XLST performance a god send. I'm sure that, compared to C or even Perl, XLST isn't the fastest option out there. However, VB really is incredibly slow at this type of thing, so being able to transform using XSLT gave us a real performance boost.
Sun 20 Jul | RB | Cool, thanks. I'm probably just a little paranoid because it was my call to move to an XML-XSLT front-end.
Sun 20 Jul | Johnny Bravo | There's an increasing number of XSLTC software, also. The 'C' stands for 'compiled', which means the stylesheet is transformed into an intermediate representation which gives you an additional performance gain when the same stylesheet is applied several times on your documents. In combination with Java, you might want to check out http://xml.apache.org/xalan-j/xsltc_usage.html
Sun 20 Jul | Tom Vu | Does anyone have any specific experience with XSLT being too slow? It's the parser you use that matters. Anyway, cache the end result so you don't have to rerun it on every page load
Sun 20 Jul | Alexander Chalucov (www.alexlechuck.com) | XSLT is not slow by itself. XML is slow (compared to binary). Here is a comparison of XSLT which converts XML into web page, and ASP (VBScript) page doing the same: http://www.alexlechuck.com/_html/programming_sss_xsltbenchmark_1.html As you can see there is practically no difference. As for the performance of XSLT in Java applications: recently I remember reading a comparison between different operations in binary C and CLR. One of them was XML processing (do not remember what kind of, exactly). It was 5 times slower than using MSXML. There are entire frameworks based on XSLT, like cocoon: http://cocoon.apache.org/2.1/ List of sites using cocoon: http://cocoon.apache.org/link/livesites.html
too many files! | Sun 20 Jul | Dennis Atkins
Folks, I got too many files! 240 gigabytes worth! What the heck is all this stuff? You guys must have the same problem, right? What on earth do you do? Observations: In the old days I could keep stuff backed up. Just save everything on a CD or two. How the heck am I supposed to back up all this? You guys got DVD writers or what? These home movies are real trouble! Do you keep different sorts of files in different folders for ease in finding backed up stuff? Man thats a lot of trouble! I think Ive given up organizing things. Almost every folder is called junk, cr*p or stuff. I just search for stuff by keyword. Thats how it is right? Or do people still try to keep all this junk organized somehow... Right now Im just backing up proejct files and email and the rest Ive sort of given up on. Someday the hard drive will be no more and Ill lose all these files. Thats what its come down to right? Its now impossible to backup! Or is there something everyones doing I dont know about?
Sun 20 Jul | Guy Incognito | I don't know about you, but I download my porn, watch it once and then delete it.
Sun 20 Jul | Mike Swieton | i back things up on CDs. *LOTS* of CDs. As for home movies, I can't really say I have a suggestion. My usual strategy is to use the fact that there's only a few hundred megs of things of any real importance. Some code, some documents. EVerything of import is *text*. As for keeping track of stuff, database it. I have my stuff catalogged so I can find out where any particular file resides quickly. If you really have 240 gigs of things you consider important, I don't know of any cheap solution.
Sun 20 Jul | Stephen Jones | If you've got 240GB of documents, then you're snap happy, 'cos even the mythical monkeys with typewriters can't produce it. So if you've got a load of home movies, then use a CD/RW or DVD writer. Before you would have kept them on tape. What's the sweat? Being able to keep them on hard drive is an added convenience. I would say that now's the time to buy a DVD writer for backup. I used to fit all my stuff on a CD but now, no way. Use Second Copy to make the back up profiile for the files and folders that will change, and put the others on CD or DVD (preferably both and twice).
Sun 20 Jul | Matthew Lock | Check out Spacemonger http://www.werkema.com/software/spacemonger.html It graphically displays your diskusage so you can see at a glance what's taking up all the space. I had a few gigs of temp files and junk on my disk.
Sun 20 Jul | Stephen Jones | And check out system restier if you have XP. It takes up 12% of the partition by default.
Sun 20 Jul | Prakash S | http://www.jimmygrewal.com/2003/07/02.html#a92
Sun 20 Jul | Brad Wilson (dotnetguy.techieswithcats.com) | 'In the old days I could keep stuff backed up. Just save everything on a CD or two. How the heck am I supposed to back up all this?' It's quite simple. Until you're willing to drop the cash for a monster tape drive and a safe-deposit box, and institute a very regular Backup and Remove Off-Site plan, you won't keep it meaningfully backed up. I back up the most important stuff only. The data drive is a RAID mirror. That covers me for the most likely problem: drive failure. If someone comes in and steals the PC, or the house burns down, then I lose stuff. *shrug* I'm sure I'll have more to worry about than how hard it was to re-download a bunch of stuff.
Sun 20 Jul | Philip Dickerson | 240 gigabytes??? I can't imagine using nearly that much space (yet). I have about 30 gigabytes of digital camera photos (several years' worth) plus a few gigabytes of code projects, documents, web site stuff, edited photos, email, etc. I have a RAID (mirrored) system (C:) disk (for protection against disk failures) and I have a second drive (that is, a third physical drive) and I keep up-to-date copies of most of the files (not the applications) on that drive. I have an Onstream 30GB tape drive (only cost about $200) and I do monthly full backups plus daily incremental backups to tape. I create date-based directories for the original photo files and when I take enough new photos to fill up a CD, I make 2 CD copies of that collection of directories and photos, and start a new directory. When I edit photo images, I copy the selected image(s) to a different directory (so the CDs, once created, never become out-of-date). I don't have any offsite backups although once in a while I consider keeping a set of tapes or CDs in a locked cabinet at work. Another possibility for 'backups' is the Martian Wireless NetDrive - see http://www.martian.com If you don't know what's occupying a large part of your 240GB usage, there are utilities to help sort it out and/or find temp files and clean them up. As Stephen mentions, System Restore can take a large amount of disk space for system snapshots - you can reduce the amount as a setting in System Restore. You can also clean out your browser cache and reduce the space it is allowed to use. If you have stopped organizing your files and may have multiple copies of the same files or multiple stages of an edit in progress, then you probably just have to take some time and go through and delete the junk and re-organize it.
Sun 20 Jul | Andy | http://www.werkema.com/software/spacemonger.html Just wanted to pass on this excellent piece of freeware. If you're trying to clear disk space, this is the tool to help you do it fast, instead of wasting all your time sorting through your 30k files, or even 3 meg files which don't really make a difference on today's 100 gig hard drives.
Sun 20 Jul | www.marktaw.com | Spacemonger ROCKS. I use it all the time. I propose a 2 stage backup process. 1. Set up a network with a 2nd computer - copy / backup new important files to that computer on a regular basis - weekly, daily whatever you're comfortable with. Find a program to semi-automate this. 2. Create a mirror / incremental backup of that drive to CD-R on a weekly / monthly basis, again whatever you're comfortable with. I follow a similar process and I've been happy with it. Make sure you clearly label everything. Labelling is an artform. I don't know that DVD is quite where you want it yet, but if you have no other choice, then DVD might be the way to go. There are competing formats right now, and I don't think the marketplace has settled on one. Also writable DVD media is expensive for the Grade A stuff. 'One backup is almost like having no backup.' - I don't know who.
Sun 20 Jul | www.marktaw.com | Oh yeah... as with the previous posters, nearly everything of importance I have is text and takes up practically no space... I haven't made the plunge into digital video and don't plan on it any time in the future. When my mother sends me that webcam, I may get some streaming video of my nephew to send to her that I may consider precious and keepable, but I'll probably stick them in a folder & burn them whenever it approaches 650mb. My suggestion to you would be to burn each video to a CD immediately upon transferring it to the computer. If you can the unedited & edited version belong on the same disc. Partition your drives so that you have a 'junk' drive and a 'keepers' drive. (drive letters J & K?) Make the 'keepers' drive about the size of a CD-RW and when your computer tells you it's full, burn it to CD-RW. Stick a label on it and archive it. If you're really anal, make a database with what's on what CD and start numbering them.
Sun 20 Jul | Dan Maas | DVD works, but my preferred solution is external FireWire disks. I now back up all of my projects on two 200GB FireWire disks. I hook them up, do the backup with rsync, then unplug them and take them home. A great poor man's off-site backup...
Can a bad speller be a good coder? | Sun 20 Jul | Richard Kuo
My gut says no, but Im interested to hear what other people think.
Sun 20 Jul | RocketJeff | Why do you think they can't? I'm a mediocre speller, always have been. I've also been programming professionally for 15 years. Spelling has very little to do with programming - programming is all about symbols. Sometimes the symbols are words, but those are easy enough to get right.
Sun 20 Jul | Dennis Atkins | I used to be a good speller and would laugh at people who couldn't get 'their', 'they're' and 'there' right. And now I do that myself all the time. I like to think my coding skills have improved during this time. It can also be a difference in worlds for people. When I write code or documentation I'm pretty meticulous. When I'm not coding and get into these crazy forums though I turn off the meticulous part of my mind and my spelink is atroshus and I just don't care about it as long as it can be understood. I'm not writing proposals, I'm shooting the breeze. They are different things. It's the same as a guy who talks and dresses differently at a football game than he does when giving a presentation to a client.
Sun 20 Jul | Mike Swieton | I think it's more important to be a consistant speller than a good speller. My roomate is a bad and inconsistant speller, and he has bugs arise in his programs because he mis-spells things inconsistantly. It is a pain for him. But I think that makes him a more frustrated programmer, and with a few more compiler errors. But, the significant bugs are hardly ever things the compiler will catch anyway ;) I think it would be harder to be an excellent and productive programmer and a bad speller, but never say impossible ;)
Sun 20 Jul | Stephen Jones | Spelling and programming are different. You can be careless with both, but they not linked significantly. Most errors are typos anyway. And Word does a marvellous job of correcting typos.
Sun 20 Jul | JD | Spelling has ABSOLUTELY nothing to do with programming. I am from India and for us English is second langauge and several of my friends, though not best at Spelling, they are amazing at Coding! Regards, JD
Sun 20 Jul | Johnny Bravo | The thing with spelling, or - even worse - the visual apperance of one's handwriting is quite often used by HR people to justify why they won't employ some person, making it sound like it were a proven scientific fact that both show a correlation with one mind's capabilities/ability for logical thinking/goal-orientation etc.pp.
Sun 20 Jul | Richard Kuo | Well, what is language but a set of rules and syntax that you've been following your whole life? Doesn't it sort of make sense that if someone is poor at spelling and grammar that it probably correlates highly with being a poor coder? I have thought about spelling/grammar not correlating directly with logical thinking and ability. But here's another way to look at it. When someone is reading a piece of their own code and they don't have the inclination or ability to spot and remove simple things like typos and sloppy formatting or grammar, it's a bit of a stretch to think that they can graduate to the next level and find more insidious logical errors.
Sun 20 Jul | MadMan | Johny Bravo, those HR pukes should read the Skeptic's Dictionary entry for handwriting analysis. http://www.skepdic.com/graphol.html Morons! While my own handwriting wasn't great to start with, it has really become worse over the years as I've typed far more than I've written by hand. If someone judged me by my handwriting, I'd give them the finger and walk off. (I'm also from India, but am often called a 'language nazi' ;)
Sun 20 Jul | xyz | Richard, it's very rare, but I've worked with a few.
Sun 20 Jul | Beka Pantone | I know a programmer of phenomenal skills, who happens to have serious issues with spelling. I admire his work, but it annoys me to no end having to hit the docs constantly to look up misspelled function names. What's bad for communication is bad for software development.
Sun 20 Jul | Julian | >>>> I think it's more important to be a consistant speller than a good speller. After reading this post, I wondered whether its author spells 'consistant' consistently. (I don't mean to give anyone a hard time. Most people, myself included, make lots of minor mistakes.)
Sun 20 Jul | ... | Me, a bad speller? Unpossible! I always did good in english.
Sun 20 Jul | Brad Wilson (dotnetguy.techieswithcats.com) | 'Richard, it's very rare, but I've worked with a few.' And this is pretty important. Remember that the hiring process is not designed to give all the great candidates a job. It's designed to screen out the bad hires. A bad hire is much much worse than failing to hire the right person. If it's, say, 1 in 1,000 developers with bad spells that ends up being a killer developer, then they suppose you just have to let that 1 go, instead of worrying about the possibility of hiring one of the other 999. Any screen that's that effective is getting rid of the bad hires HAS to be used.
OS Quark.. Scribus? | Sat 19 Jul | Darryl
Joel mentioned there were no Open Source alternatives to Quark. I recently heard about Scibus and downloaded it and set it up, looks pretty good. http://web2.altmuehlnet.de/fschmid/
Sat 19 Jul | Brad Wilson (dotnetguy.techieswithcats.com) | Does it have perfect fidelity importing and exporting Quark files?
Sat 19 Jul | Li-fan Chen | It would take the OSS community quite a bit of man power to replicate the commercial success of Quark. Not saying it's impossible to write something helpful, but you are talking about a multi billion dollar yearly industry here.
Sat 19 Jul | Good Grief! | Let's see... Version 1.0 - sure sign of maturity Documentation - typical open source fare Obligatory screenshots in ugly Linux gui - http://home.comcast.net/~scribusdocs/scriscreen.html served up from a home user isp account. That certainly is impressive. And as is typical of plain open source websites they have the html and css images at the bottom that tells your their code is 100% compliant with some standard. That is more important than having a good product you know. Looks like this is ready to topple Quark
Sun 20 Jul | Philo | The issue isn't competing with Quark - the issue is providing Quarklike capabilities to people on Linux. Philo
Sun 20 Jul | Stephen Jones | The point about Quark is that it is the most accurate for printing. Plenty of programs provide Quark like capabilities. Quark is also one of the most user-unfriendly applications around. A Quark replacement is not that useful; you're talking about a very specialiized client base. What Linux really lacks is a good Open Source vector drawing program.
How do you store cables? | Sat 19 Jul | Philo
Ive got dozens of wires & cables - patch cables, USB, serial, phone wire, KVM, etc, etc, etc. My current method is to roll them, cable tie them, and throw them in a pile on a shelf. Anyone got any better suggestions? cause this method isnt working. (Next up: Identifying power adapters...) Philo
Sat 19 Jul | Joel Spolsky | ziplock bags. One each.
Sat 19 Jul | ... | Socks arranged by type and color? Just trying to form a mental picture.
Sat 19 Jul | Matthew Lock | The natural state of cables is to be tangled to each other. I have resigned myself to this fact and just throw them all in a box. Sure it takes longer to untangle a cable, but it takes a second to add a new cable to the box - just throw it in.
Sat 19 Jul | Andy | If you have a closet, just put up a bunch of hooks there, like $3 a piece at a hardware store, each one can hold 10-20 cables at least. Throw the cables over the hooks -- they won't be tangled, they'll be out of sight, they won't take up too much space, and will be relatively easy to find and easy to put back. For the ones you use a lot, just stick a hook on a regular wall. I do this for audio cables -- if you think you have a lot of computer cables, wait until you have a home studio for audio recording.
Sat 19 Jul | Matthew Lock | Andy that's quite a good idea, might give it a go.
Sun 20 Jul | Troy King | Joel is 100% right. Ziploc bags, the kind with the little pull zipper, one cable rolled up in each. They do not tangle, they're easy to dig through in a box and hunt for the one you need That's how I keep my couple hundred miscellaneous cables for computers, power supplies, recording, music equipment, etc.
Sun 20 Jul | Stephen Jones | Can I have a link for the ziplock bags. First I've heard of them.
Sun 20 Jul | Andy | About the hooks again, make sure to get the 'C'-shaped ones, so you have 2 hooks in 1. Makes cables easier to find. If you have a whole bunch and enough space, you can get a rack for like $10 with 5 or 6 C-shaped hooks. That probably won't fit in a closet though, so if you care about looks then you might not want to put it out in the room. I too am intrigued by these 'zip-locks' you speak of.
Sun 20 Jul | Simon Lucy | Ahhh perhaps you had to be a wargamer in the UK to know ziploc bags at an early enough age for them to be natural repositories of stuff. http://www.ziploc.com/ziploc_easyzipperstoragebags.htm I've only ever found unlabelled ziploc type bags in the UK not branded bags and then from mail order stationery type people.
Sun 20 Jul | Matt Foley | >Can I have a link for the ziplock bags. First I've >heard of them. Stephen, Panada Aziziyah has them as does Farm 5 in Doha.
Sun 20 Jul | www.marktaw.com | Ziploc bags, not zip lock or ziplock. This is why you're not getting any useful results in Google. A wooden dowel around 1-2' thick by one to two feet long, mounted on the wall, angled ever so sleightly up. Maybe a few shorter ones around six inches long if you have a lot of cables, or as someone else mentioned, large C hooks. All this depends on the space you have to store them, how frequently you use them, and whether or not you're willin to mutilate your walls. Get a thin suede string, like a thick shoe string, and tie it to one end... You should be able to get this stuff on a spool in a crafting supply store. Tie the strip to one end of the cable. You now have a permenant way to tie the cable together to prevent it from tangling, and a permenant way to store them. Finding the right cable should be a snap, and so should storing them. For long term storage, Joel's idea seems like the best. My post assumes something approaching every day use.
Sun 20 Jul | www.marktaw.com | Wow that suede strip thing was full of repeats and such... hopefully you get the idea.. an approx. 6' long piece of suede strip tied to one end of the cable. Then when you wrap the cable (which is an art in-and-of itself, ask any good audio engineer, you don't loop long runs of cable around your hand and elbow) you use the strip to tie up the whole cable run to itself, as if it were the zip tie or twist tie that originally came around the cable when you bought it from the store.
Sun 20 Jul | Sam Livingston-Gray | Mark, I'm still having trouble visualizing this. You've got a dowel that's one to two FEET long, and you're using it to store a single cable? Got a digicam? (=
Sun 20 Jul | www.marktaw.com | No, i have the dowel sticking out of the wall holding a number of cables. Since each cable is a self-contained loop, you just toss it onto the rod.. like playing horseshoes.
Sun 20 Jul | Stephen Jones | Thanks Matt; I'll have a look when I get back from vacation.
REALBasic opinions | Sat 19 Jul | Nate Silva
A couple years ago Joel wrote that REALBasic was tantalizingly close to being the next great development tool. http://www.joelonsoftware.com/articles/fog0000000051.html I tried it a couple years ago and all the Windows apps it generated would GPF. It has improved massively since then. Ive been evaluating it for a Windows-based shrinkwrap project. There are currently no plans to sell a Mac version of our app. I would, however, enjoy developing it on my PowerBook, which is my computer of choice. And Id like the opportunity to offer a Mac version in the future (if we decide its worth the support costs). Have people here used REALBasic lately, and whats been your experience?
Sun 20 Jul | FullNameRequired | Hi Nate, I use it an increasingly large amount, working on a mac and compiling for macintosh and windows. what do you need to know?
Sun 20 Jul | Frederic Faure | Is there a Windows version of RB, or do we need to run the compiler on a Mac?
Sun 20 Jul | FullNameRequired | There is a windows version that has come out just recently. I actually do not know much about how good it is as I have never used it. I believe it _also_ compiles for both mac and windows, so you can target both platforms from either platform. This also makes debugging on windows a lot easier, since it first came out debugging for windows has required compiling and running on the windows side, using the veritable msgbox or write to file type debugging approaches. So I am expecting to make heavy use of the windows IDE for debugging purposes once I get around to upgrading to the latest & greatest. There has also been a converter app for a while that converts VB code across to RB code I believe, once again I dont really know how good it is as I have never used it myself.
Sun 20 Jul | Nate Silva | Frederic, there are Windows and Mac IDEs and they are functionally identical, as far as I can tell. Both can generate applications for both platforms, but the IDE must be purchased separately for each platform. FullNameRequired, I guess I'm just looking for peoples' overall experience. Is it something people actually use? Does it scale to medium- or large-size projects? Have you found any serious limitations, for example, OS features that aren't supported? I probably could throw out a very long list of questions!
Sun 20 Jul | FullNameRequired | 'Is it something people actually use?' as I said, Im using it for an increasing range of projects. Initially (at around rb version 2.1) I started using it for some pretty basic inhouse utilities for some of my clients, this worked pretty well and gave me some confidence in it. Currently Im using it on 2 medium size projects, both business/database type applications and assorted smaller projects. Overall it works pretty well. Its not as polished as its immediate competitor, VB, but given the age difference between the two this is not a big surprise :) The latest version of RB is 5.2, this is the first release after a major rewrite of the compiler and to be frank it shows, Im currently still using 4.5.3. I fully expect 5.5 to be a better release all around and I have decided to wait until then before upgrading again (up until now Ive upgraded for every new release and always found it well worthwhile.) It has plugins for most of the major databases around, I use valentina and mysql depending on my needs but there are many other database plugins that come with RB and also some 3rd party ones available. 'Does it scale to medium- or large-size projects?' broadly speaking yes, Ive been very impressed with how well and reliably the compiled apps work. Its ideal for applications that will have a pretty standard look for each platform. One bigger project I have done has required some pretty complex custom gui stuff and I ran into frustrations there, just with getting the look exactly as I wanted it. OTOH any application that requires a standard windows application look, or a standard macintosh application look is pretty easy to do gui-wise. 'Have you found any serious limitations, for example, OS features that aren't supported?' depends on your definition of serious :) Where RB fails to provide access to the OS features you have two possible methods of attaining access. Declares or plugins, plugins are written in c or c++ and can be called from the rb application, effectively they add the features you need. Overall RB has given me access to most (say 95%)of what Ive needed, and where it has occasionally fallen down Ive been able to write my own c++ code to make up the gaps. Are you able to give me an idea of exactly what you are intending/hoping to do with it?
Certified Software Development Professional | Sat 19 Jul | Chris
The topic of certification of software developers has come up here before as a way to professionalize the SD profession. IEEE has created a certification for Software Development. What do people think of this certification? Has anyone here or that you know completed it? It appears to reference a lot of books that are highly regarded such as The Pragmatic Programmer and Code Complete. The main problem I see with it is it appears to adhere to some very rigid SD principles and methodologies while the industry is moving in the Agile development direction. Heres the link: http://www.computer.org/certification/
Sat 19 Jul | anon | I disagree with some of the example questions that ask about a specific standard. The questions, 'According to ISO/IEC Standard XXXXX or IEEE Standard XXXXXX what are... etc etc', must be written by people who study these standards daily and know them inside and out. Software development simply isn't like that. How many software developers do you know that know the IEEE standard for software development? I bet if you went out and asked 10 different developers what IEEE was they would say that they do not know. Now ask an electrical engineer the same thing and he/she would probably be able to give you an answer. Chances are that the EE is the one developing the software for the instrument they made or at least they are on the team that develops the software. Software development shouldn't be rigid. It simply isn't a rigid process. There are general steps you follow, voila... SDLC, and this is what most developers know and follow. To take a test that asks about specific standards, which were created by people with too much time on their hands, is ridiculous. There is absolutely no need for this. Did you pass your systems devleopment class? Yes. Ok then.
Sat 19 Jul | Dennis Atkins | Ah my dear anon, you stole my response out from underneath me. Here's the sample question: >1. ISO/IEC 12207:1995 describes which of the following: >I. A standard software life cycle process >II. A framework for software life cycle processes >III. A process for defining and improving software life cycle processes >IV. A process for the acquisition of systems and software products The correct answer is I don't give a flying rat's ass. If someone I was interviewing knew the answer to this question, I would toss their resume in disgust. What a bunch of freaking wankers at the ieee to create such a worthless and idiotic certification. Those suckers paying $450 for the ahem privledge of answering these dumbass questions that don't have jackrabbit to do with real life development will get what they deserve.
Sat 19 Jul | Dennis Atkins | Let me clarify a bit -- I could go through their study guide with my 13 year old niece and get her to where she could pass that cert with flying colors. And no, she doens't know squat about programming, development or architecture. These aren't questions that measure whether you know anything at all about development to call yourelf a professional, nor do the questions predict whether or not you can do anything at all. They simply test if you've memorized the study guide. The reason why I'd toss the resume is that anyone taking this cert must be so desperate that they think memorizing a bunch of multiple choice responses will compensate for their lack of ability. But it doesn't. I bet this certification will go over like a wet dream in the asian and arab countries where memorization of multiple choice responses are the way their unbelievably lame-ass education systems are run. That's my prediction -- you'll see plenty of folks from the 'listen, memorize and obey' countries sporting their freshly minted certifications.
Sat 19 Jul | Chris | I agree that question is particularly bad and it happens to be the first one on their list of examples. Some of the other questions are ok and are general enough that they don't get into language or platform details. Other than the details of particular questions, do people think this type of certification (general software development principles instead of vendor specific certs) is usefull?
Sat 19 Jul | Philo | I'd be much happier if it was a Certified Software Project Manager exam. IMHO that's where the focus needs to be - your project could be staffed with all certified software gurus and it's still gonna be a train wreck if the project manager doesn't know how design should work or what 'refactor' means. Philo
Sat 19 Jul | Tom Vu | I bet this certification will go over like a wet dream in the asian and arab countries where memorization of multiple choice responses are the way their unbelievably lame-ass education systems are run. I don't know about arab or asian countries education, but I know rote memorization is the standard in US public schools.
Sat 19 Jul | Dennis Atkins | I agree with both of you on those points. -- This does prove one thing - it certifies that the ieee doesn't know anything about effective software development. Check out the people who have passed so far -- surprised that so many of them live in cities where NASA has development centers, or where design of high end military systems is done? These processes are important for NASA and the Defense Department to certify their people in. Fortunately, the employees can pass these test while high on their crack. Unfortunately, the test doesn't check whether the developer knows that there is a difference between metric and imperial measurements when building a mars probe, or on what side to grind the mirror of a billion dollar space telescope. You think the guys who designed the O-ring on the space shuttle columbia or that signed off on an enormous frozen chunk of styrofoam hitting the wing at 1800 mph weren't following these processes? They were! They did everything correctly! THey followed the process with due diligence! No one can be blamed for the deaths of the users or the loss of hte space probes! It's not our fault. This certification is a money making scam, it's a way of avoiding personal responsibility in hiring ('But they were certified') and development ('I followed the process') decisions, and it's also a political statement about which flawor of the day is best. Check this out: 23. The best approach for the interchange of a large amount of structured data on the Web is to use: [a] eXtensible Markup Language (XML) [b] Hyperlink Markup Language (HTML) [c] Component Object Model (COM) [d] Java and Java-based technologies Well? What's the answer? Here's what I would respond: 'First, you misspelled hypertext. Second, I want precise definitions of 'interchange', 'large amount', 'data' and 'structured'. Third, who is the meathead who decided these are the only choices and what is his justification for that. Fourth, where is the study empirically proving that one of these is the 'best' solution.' Check it out: Gotcha #1: the data is 140 gigabytes of image data arranged in folders. One side of the connection has a dialup connection. Answer: put it on a tape and overnight it. Gotcha #2: the data is 1 gigabyte of image data arranged in folders and both sides of the connection have a T3 line. Answer: ftp it. Gotcha #3: the data is 100 terabytes of data stored in 8 gigabyte 'movies' and is being sold one file at a time to 75 million people with dial up lines for $15 each. Answer: store on DVDs and charge for shipping. Gotcha #4: the data is 12 megabytes of classified data on the new Penetrator Cyclonic Missle. Answer: put encrypted data tape in a locked titanium suitcase, handcuffed to a trusted courier who is trained in the deadly arts.
Sat 19 Jul | Dennis Atkins | As if Tom Vu!
Sat 19 Jul | Prakash S | Dennis: they probably look at questions by individuals and pay them a certain amount if it is selected for the exam, ..then again it being IEEE - they look at questions sent in by people who have double PhD's:-) Philo: How about the PMI Certification?
Sat 19 Jul | A Software Build Guy | http://www.pmi.org/info/PDC_CertificationsOverview.asp PMI's Project Management Certification.
Sat 19 Jul | . | Wow. Those are incredibly stupid questions. I know the IEEE had a lot of problems trying to get the certification process running simply because their first efforts at developing the body of knowledge were prepared by people with nothing better to do. It comprised irrelevant garbage pulled from old text books, and so on. They had to revise the whole thing, trying to get experienced software developers to contribute. I'm not sure they succeeded. Some of the contributors are just technical writers for example. Nothing against technical writers, but they shouldn't be setting guidelines for software development. The ACM is formally opposed to the process because they think it doesn't work. Having seen the IEEE questions, I'm with the ACM. http://www.acm.org/serving/se_policy/selep_main.html To the original poster, the only reason some form of 'certification' would be useful is if it could be used to protect the investments that software engineers make in their careers; i.e. to exclude the easy entry that undermines wages and jobs. That's the main reason for 'certifications' in other fields, whatever the ostensible reasons about protecting the public.
Sun 20 Jul | Dennis Atkins | Thanks dot, I agree with the acm on this too, and that article increased my opinion of the acm tremendously - those are cats who have actually developed. Prakash made a good point that some of the questions seem to be taken out of old textbooks that advocated practices that have never really panned out for many people. One thing that bothered me was that if that's the best the ieee computer society (should note here at least once that it is a different membership than the ieee proper) could come up with to certify a developer, they must not get to many people in their roster who have experience with real world development. A score on that test is just not going to be strongly correlated with development ability or competance.
Sun 20 Jul | Dennis Atkins | Oh! it was dot who mentioned the textbooks and Prakash who suggested it was PhDs selecting them, both good points.
Sun 20 Jul | Zahid | I'd be much happier if it was a Certified Software Project Manager exam. IMHO that's where the focus needs to be - your project could be staffed with all certified software gurus and it's still gonna be a train wreck if the project manager doesn't know how design should work or what 'refactor' means. - Philo How about the PMI Certification? - Prakash S PMI's PMP ('Project Management Professional') certification would be the right answer to Philo's question if it (a) were specific to software development and (b) had anything to do with the real world. With regard to (a), I think PMI used to have some sort of industry-specific add-on to the PMP called the CAQ ('Certificate of Added Qualification'), but they no longer do. Trust me, you'll never see the word 'refactor' on that test. And with regard to (b), trust me on this -- I've had to forget what little I know about project management in order to study up for the test I'm taking next Saturday. Blech.
Sun 20 Jul | za | Okay, now I've had a chance to review the links to computer.org and ACM ... like previous posters, I agree with ACM's stand. How can you license someone when there's no commonly accepted way to describe what they do and how they do it? But I think it's important to note that the two pages are not necessarily contradictory ... the IEEE site proposes to certify software engineers, not to license them, where the ACM position paper speaks out against licensing. In fact, the ACM page specifically endorses certification. They may, however, have a concern about the broad scope of the IEEE certification.
Sun 20 Jul | anon | Zahid, Can you tell me how did you prepare for this exam? books? training classes? resources? And which one are you taking PMP or CAPM? For a person with 3 years of PM experience which one is better? Thanks
Sun 20 Jul | Zahid | Can you tell me how did you prepare for this exam? books? training classes? resources? And which one are you taking PMP or CAPM? For a person with 3 years of PM experience which one is better? - Anon I've been using study materials from Rita Mulcahy Corporation ( http://www.rmcproject.com/ ). They consist of a book called PMP Exam Prep, flash cards called Hot Topics, and test simulation software called FastTrack. I believe that, altogether, these cost my firm about $400. The book is excellent and I would call it a must-have. I'm less excited about the other items, particularly FastTrack, which has a few 'issues' that make it harder to use. Other sample tests are apparently available from companies called ESI and Bosson. In addition to the RMC book, definitely get a hardcopy of PMBOK from PMI. I'm taking the PMP exam, primarily because a lot of California state government agencies are requiring it for high-level roles. I'd say that, if you meet the qualifications (and it sounds like you do), I'd take that exam. I haven't seen many projects that require a CAPM, so I don't know how much value that has. The PMP qualifications, if you have a bachelor's degree, are: 4500 hours of PM experience within the last six years, and 35 classroom hours of PM training. (Both 'experience' and 'training' are broadly defined.) If you don't have a bachelor's, you need 7500 hours of PM experience within the last eight years, and the 35 hours of PM training. Anyway, see http://www.pmi.org for more info, or drop me an email for more info.
Lingo, Trademarks and Macromedia | Sat 19 Jul | Bill Rayer
Dear Forum I would like everyones view on whether to continue calling my new computer language Lingo. The facts are: 1. Macromedia (US-based) have a product called Director with a scripting language called Lingo, which has been available for 13 years and maybe longer. Theyve registered Director as a trademark in the USA. They have not registered Lingo in the USA, nor have they a pending application (in spite of what it says on their website). This would give them common-law rights over Lingo in relation to their goods. 2. I registered Lingo as a trademark in Australia in 1992 (#591171) and in the USA in 1995 (#1905439). Both registrations are current. Under trademark law, trademarks give you protection over the name when used *for the goods and services specified in the trademark*. In my case, the goods were software compilers and interpreters. Under trademark law, ownership of a trade mark gives you protection against actions by other parties claiming that you are using their trade names. Their recourse is to have the mark canceled or amended. 3. Trademarks are not easily obtained, and when applying for Lingo, I discussed at length the similar marks with the patent attorney. The conclusion at the time was, if theres no intersection between my goods and Macromedias goods, their common-law rights and my trademark could co-exist. Conflict would arise only if theres a likelihood of confusion in the minds of people who would use the goods. 4. In the UK where I currently live, theres an extra complication because another company (Linn micro) have a current trademark registration for Lingo. Their mark (which has never been contested as far as I know) would conflict with Macromedias common law usage and with my usage. The Linn micro Lingo is the one I linked to from my site. 5. Note that although patents are easily invalidated by prior usage, the same does *not* apply to trademarks. In short, a trademark gives you a legally defensible right to a name *for the goods and services on the application*. The prior usage checks occur during registration. Another way of acquiring rights to a name is through trade - these are common law rights. Until now, my feelings were not to worry about the other Lingos. I dont plan suing anyone, and my registrations give me a fairly secure defence against any action. But another concern I didnt think about was the effect on potential users. I would prefer Lingo to be assessed on its merits, rather than getting into a meta-discussion on aspects of trade mark law. So far, all questions about the Lingo trademark have originated from users of Macromedia products. My question is: should I continue with Lingo secure with my registered trademarks, or should I discard the legal advice, money and artwork Ive done so far and think of a new name?
Sat 19 Jul | Eric Debois | I dont think you are in any danger leagally. But I would still recommend you think of a new name. On the web, searching is the bees knees. Beeing easily 'searchable' is important. The likelyhood of your site comming up among the top 20 sites for a search on lingo is pretty slim I think. You may want to consider elaborating the name so to speak. You keep the lingo part but add something to it to make it uniqe. WinLingo? LingoLang? WinGo! Idunno :D
Sat 19 Jul | | I nominate 'Bling-BLingo'.
Sat 19 Jul | RocketJeff | I agree with Eric. There's bound to be a lot of confusion with your language and Macromedia's - and they have the history and users with them. One of the first stops when naming a new product should be a web search. See if anyone else is using the name or a similar one. It _doesn't_ matter if they have a trademark or not, it just makes good business sense to not confuse potential customers. How many returned sales do you think you're going to get from people who think that you've implemented Macromedia's Lingo in your own product? How much of your time do you want to take up with having to explain to people the difference between your product and Macromedia's? Heck, I don't use Macromedia's products but I still knew that their language was called Lingo.
Sat 19 Jul | anon | There's a linear programming and optimization package called Lindo that has an associated modeling language called, yep you guessed it, 'Lingo.' http://www.lindo.com/lgofeatures8f.html Looks like a pretty crowded market to me.
Sat 19 Jul | Philo | [This is not legal advice] IMHO, between you and Macromedia, you'll lose. Macromedia's 'Lingo' was in use and a common-law trademark when you registered your federal trademark. MM can sue to invalidate the registration, and will most likely win. Did you *pay* the patent attorney for that advice? 'if there's no intersection between my goods and Macromedia's goods, their common-law rights and my trademark could co-exist' well duh - but he should've indicated to you that there would most likely be an intersection. Your attempt to distinct your language from Macromedia's won't work - they are FAR too close. Look at the reactions here - many people thought you were talking about Macromedia's language. My $.02: get a new name. FWIW, on an aesthetic level, I always thought 'Lingo' made it sound 'cute'. I personally believe a name can seriously hurt you, and 'Lingo' goes right up there with 'Bloomba' Philo
Sat 19 Jul | Eric W. Sink | I'm not a lawyer, I don't give legal advice. The details you present will not matter. Macromedia is big, and you're not. Do you want to spend your time and money fighting them to keep a name? Or would you rather spend those resources making your software better?
Sat 19 Jul | Johnny Bravo | In Germany there's a private academy called MacroMedia (note the 2 upper 'M's). They provide courses in new media technologies, but do not pay royalties to Macromedia for using that name. So why not give it a try and call Macromedia?
Sat 19 Jul | Johnny Bravo | ... asking them straight on if you can use that name? Perhaps in a combination, different visual apperance (linGo) etc.
Sat 19 Jul | Philo | Seriously, I wouldn't bother. I think he wants to distance himself and make a unique mark - that's not gonna happen if the first thought most people have is 'oh, Macromedia's thing' Philo
Sun 20 Jul | runtime | Even if you could use the name without any legal risk, why would you want to cause any name confusion? Two programming languages and they are both called Lingo? Macromedia's Lingo will drown out yours in Google's database. Personally, I would rather have a unique name. Full disclosure: I am a Macromedia employee! :-)
Sun 20 Jul | S.C. | You can perhaps support the MM script language and call your language BiLingo. (Just kidding. )
Sun 20 Jul | Dennis Atkins | Your language looks pretty clever to me, quite cunning. Why not call it CunningLingoist?
Sun 20 Jul | Stephen Jones | I'd change. LingoBasic? Blingo? Don't bother about being sued. You're the one with the trumps in this case, particularly as Macromedia doesn't sell Liingo as a product. But I would bother about confusion.
Sun 20 Jul | Ged Byrne | I do think Lingo is carrying to much baggage. Btw. I downloaded Lingo and installed (XP Pro) and It won't start. I'm getting 'Improprly Configured'
Starting Up? | Sat 19 Jul | Picky Picky
In the phrase Windows Is Starting Up..., isnt Up a useless adverb. You wouldnt say Windows Is Starting Down..., would you? Im an advocate of Windows Is Starting.... Software Engineers arent the most adept at English. Then again, neither am I.
Sat 19 Jul | Mechanic | You start up your engine and then you shut it down. It's been this way for decades. You can also start your engine, but you can't shut it.
Sat 19 Jul | Brad Wilson (dotnetguy.techieswithcats.com) | The phrases are different, really. 'Start up' vs. 'shut down', and 'start' vs. 'stop'.
Sat 19 Jul | anon | 'Start up' is a good noun. 'Wait till startup.' But 'start' is not. 'Wait till start.'
Sat 19 Jul | Sam Livingston-Gray | Besides, they have to tie it in to their awful 'Start Me Up' campaign of a while back. Honestly, I don't think this is nearly as annoying as the fact that Windows 2000 has not one, not two, but *three entire screens* devoted to informing you of the astonishing fact that Windows is, in fact, starting up.
Sat 19 Jul | Sam Livingston-Gray | ...It's almost like they had a bunch of 4-year-olds doing usability testing: 'Are we there yet? Are we there yet?'
Sat 19 Jul | Oren Miller | If you advocate 'Windows is Starting', do you also advocate 'Windows is Shutting' ???
Sat 19 Jul | Oren Miller | Actually, I think there are more glaring issues than this one to tackle. Why do you shut down an engine to get it to stop running, but you shut up a person to get them to stop talking. I think that is far more bizzare. But then if these issues were so troublesome we would have all migrated to Esperanto by now.
Sat 19 Jul | | I believe you would say 'Windows Is Closing' or 'Window Is Shutting Down your Computer' because in that context the word 'Down' is not a useless adverb.
Sat 19 Jul | ai.. yiyiyiyi.. | 'You start up your engine and then you shut it down. It's been this way for decades. You can also start your engine, but you can't shut it.' I believe, You 'Turn your engine off'. The word 'shut' means to close not to 'turn off', i think.
Sat 19 Jul | anon | 'You start up your engine and then you shut it down. It's been this way for decades. You can also start your engine, but you can't shut it.' 'Start up your engine', up is a useless adverb.
Sat 19 Jul | Sam Livingston-Gray | And then there's the grammatical awkwardness of saying 'Windows is' anything. 'Look! These several windows is doing something!'
Sat 19 Jul | Big B | I think they chose 'starting up' because of the ambiguity of the word 'start.' Someone who doesn't know that Windows needs to be 'started' before you can use your computer may interpret the sentence 'Windows is starting' as 'Windows is becoming unstable.' 'Start up' does not have an unfortunate second meaning. Apparently there are people at Microsoft who get paid for thinking about these things.
Sat 19 Jul | www.marktaw.com | Good point, Big. Also, 'Starting Up' is conversational and friendly, not to mention familiar. For the average user, it's much better than 'Matriculating Splines' don't you think? Even though I happen to like the Maxis phrase better.
Sat 19 Jul | Dennis Atkins | Please folks let's use some common sense here. ..You don't shut windows. You shutter them! How else do you keep the storms out? 'Windows are Now Shuttering Closed' See, that's the correct solution!
Sat 19 Jul | www.marktaw.com | Hmmm... If Windows Was Developed... ... At Woodstock 'Windows is having a bad trip and has become unstable, please talk it down.' ... By The Doors 'You are now opening the Windows of Perception' ... By Yoda 'Windows Starting Up Is'
Sat 19 Jul | ... | by MarkTaw: Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah j/k :-0
Sat 19 Jul | ... | Can I take that back... WAY to harsh! Sorry
Sat 19 Jul | www.marktaw.com | ... - ha ha ha. too late. =P now you have to live with it. lol.
Sat 19 Jul | Mickey Petersen | 'The Windows are broken' bhwhaaha. I kill myself.
Sat 19 Jul | Richard Kuo | FYI, you can 'stop' your engine too.
Sat 19 Jul | Matthew Lock | I studied linguistics once and there's a very complicated grammar associated with using up and down after a verb. Something to do with reversible and non-rerversible actions. It's funny how much the meaning changes when you swap up for down. Consider 'get up' verses 'get down'!
Sun 20 Jul | Zahid | It's funny how much the meaning changes when you swap up for down. Consider 'get up' verses 'get down'! - Matthew Lock I don't think we have to cover this ground again, when innumerable disco groups have been there already.
Sun 20 Jul | Devil's Advocate | Personally, I think 'Windows is shuttering' would be the best. As for the 'get up'/'get down' controversy, I can only refer you here: http://www.theonion.com/onion3539/national_funk_congress.html
Sun 20 Jul | www.marktaw.com | How about the Cartesian 'Windows is' and 'Windows isn't.'
Sun 20 Jul | Sam Livingston-Gray | Matthew and Zahid- Not only have disco groups covered this, but The Onion has taken a stab at it as well: http://www.theonion.com/onion3539/national_funk_congress.html
XSLT & EDI shouldn't be left alone together | Sat 19 Jul | Philo
Using XSLT to process EDI *seems* like a good idea, but Ive gotta tell you - there are so many nooks and crannies that it really should be done by a procedural language. Just a friendly warning. :-) Philo
Sat 19 Jul | Matthew Lock | Thanks for the tip. I have noticed that 90% of the time XSLT is used a templating solution would have got the job done and been much simpler.
Sat 19 Jul | Tom Vu | I have noticed that 95% of the time EDI transaction partners do not follow the EDI specs (855,997,853,...)
Sat 19 Jul | Oren Miller | I've switched from using XSLT to using rexml for most of my transforms: http://www.germane-software.com/software/rexml/ It's way more powerful since you have access to a real scripting language and easier to use for most tasks.
Sat 19 Jul | c++_conventioner | Using XSLT for anything is generally not a great idea...what a flaming kludge...
Sat 19 Jul | Philo | Tom - indeed, that's what makes EDI so hard (IMHO). On my first EDI job I thought 'how hard can it be - I've got an established spec to work from.' Then I learned... However, we're also finding that it's often easier (and definitely always wiser) to beat up the trading partner to follow the spec. While there are some cases of 'can't get there from here' it seems often that nobody has bothered telling them... Philo
Sat 19 Jul | Alexander Chalucov (www.alexlechuck.com) | XSLT is good only when all the data you want to process are in the same document. If you need any external data in order to process a document (for instance database lookups) you could use extension functions (as it is done in BizTalk, for instance) but then it gets ugly. Also, XSLT is good when the essence of the transformation can be decided based on direct matching of tags, like:
product information:
When you have to take decision based on sub-element conditions (i.e. if the fourth symbol of the SKU is 5, then show the product on green background), you have to resort to more procedural logic, functions, etc. In most cases when HTML/WML has to be produced from XML data, XSLT is sufficient. However, if you need to process documents and apply some business logic to them, chances are something will hit the fan. If it's not a secret, could you give a specific example of where XSLT wass not convenint for your needs, and how did you go around it's limitations?
Sat 19 Jul | Philo | Two come immediately to mind: 1) Let's say you have a record with ten fields: IT1*1*2*3*4*5*6*7*8*9^ If any fields are missing, since this is delimited, you need the delimiters in there: IT1****4***7*8*9^ That's easy enough to do. *But* there can't be any trailing delimiters. This is wrong: IT1*1*2*3*4*****^ It should be this: IT1*1*2*3*4^ I ended up running a regex on the resulting document to kill trailing delimiters. 2) Fixed-length data. I found padding functions for left-justified and right-justified data: 1 2 3 4 5 6 6 12 23 8 324 9 But I'm trying to figure out how to handle putting placeholders in if there's no data. Now that I'm thinking of it I think I can do an if/then - if there's data, put it in, otherwise put in a blank string. I also put a TON of work into creating the XML appropriately with this use in mind. I cannot imagine trying to pull this off with an XML Schema I had no control over. Philo
Sat 19 Jul | Alexander Chalucov (www.alexlechuck.com) | Philo,You gave the example of the EDI files. Do you try to convert them into XML and then apply XSLT? Could you clarify the whole process and the role of XSLT in this process?
Sat 19 Jul | Philo | Sorry - that's what I'm doing. We have a VAN that processes EDI into XML. I take the XML and put it in a database. I also generate XML for outbound transactions. My latest task is generating EDI from the XML for some business system imports. XML->text, so I figured XSLT was the way to go. Philo
Sat 19 Jul | Alexander Chalucov (www.alexlechuck.com) | I have used XSLT in a few scenarios involving data conversion: 1. XML (produced for me my MS Commerce Server)->XSLT->Fixed record length text file 2. XML->XSLT->Web page, Email text-only, HTML Email, another XML format to be sent over SOAP, EDI message (different templates was applied to produce each output format) Never had any problems, but I must confess that the conversions were relatively straightforward. Regarding your specific problems: 1. Outputting IT1*1*2*3*4^ instead of IT1*1*2*3*4*****^ If you have your element like that: 1 2 3 .... N You can create the following template (I will not check syntax, so it might be wrong, but should be enough to explain the idea): 2. Using xsl:if, and may be xsl:for should help you create empty space for the missing elements. Regarding the following: > I also put a TON of work into creating the XML > appropriately with this use in mind. I cannot imagine > trying to pull this off with an XML Schema I had no > control over. Of course your transformation would have to be more complex if you have no control over the schema. However, if 1) all the data are present in your XML (so you don't have to perform any kind of lookups) and 2) the factors on which you have to base the branching (as far as this term applies to non-procedural code) of your logic are presented as separate elements. Your transformations should be relatively simple. In the case when you cannot control the schema, chaining a few transformations might simplify the XSLT code a lot.
Sat 19 Jul | Philo | 'If you have your element like that: 1 2 3 .... N' It's not that simple - it's a matter of pulling a bunch of discrete data elements together into a record, so no specific element 'knows' if it's the last. I guess I could test in each element if the rest of the elements exist, but that seems kludgy... Philo
Sat 19 Jul | Alexander Chalucov (www.alexlechuck.com) | I see the problem. In this case you can consider chaining XSLT transformations. Of course it assumes you don't really care about performance. But if you do, you wouldn't use XSLT in particular and XML in general in the first place, right? Let's think about the following - let's not use XSLT, keep the XML and use a procedural language (c, java, whatever) to generate the EDI. Do you think XPath by itself is of any use?
Sun 20 Jul | Philo | Oh I *love* XPath. And XSLT is growing on me - I can definitely see the use for it. I'm also making it work for my transforms (XML->EDI), but only with preprocessing and postprocessing. The requirement for pre and post processing is why I made the initial post - XSLT alone simply can't handle it. Philo
Sun 20 Jul | Alexander Chalucov (www.alexlechuck.com) | Philo, If you cannot use only XSLT for the transformations, but have to pre-process and post-process, how do you justify the use of XSLT at all? I can see several disadvantages of using XSLT instead of a procedural language in data transformation: - Steep learning curve for those who have to support or enhance the software. XSLT is not only a new syntax, but is also a non-procedural language (per se) and learning it is not very easy. - No way to debug the transformation with your code - One more level of complexity in the program. If you consider the above, plus the fact that you need pre-processing and post-procesing, is the use of XSLT justified? How much time would you have to spend if you don't use XSLT? Would the code be simpler or more complex? Would it be easier to understand/debug/change? Would it be less code or more? I hope you understand that I am not trying to discourage you from using XSLT or say that your decision to use it is wrong, I'm just trying to see the big picture. Also, XSLT has always been a very interesting technology for me, and I'm curious to see real examples of using XSLT and the benefits/disadvantages it has.
American company -transfer? | Sat 19 Jul | Sergei
I have been working with a Russian company, on some leading edge algorithms, software, which basically mirrors the functionality of another american company which is growing fast in this same area. However I really do feel that I am a good fit for this companies position.This expertise has been developed while working for this russian company.(all of these ideas generated by myself). My wife is in the US doing her PHD, and I wish to join her. Should I use this as a selling point to one of the founders of this U.S based startup? If I give the name of my present company, should it be wise?
Sat 19 Jul | Philo | Does your wife plan to stay in the US after she completes her PhD? The American company will be looking for a long-term investment, so if she plans to return to Russia upon graduation, you have to think how to approach them. If, on the other hand, she'd like to stay if possible, then I think you're an excellent choice for the American company. As for mentioning your current employer - the only real downside would be risking your current job should word get back to them that you're looking to emigrate. Philo
Sat 19 Jul |       | 'The American company will be looking for a long-term investment' Where is this mythical company that thinks long term? Even if they hired you for a few years, that just means less time you could spend on their competitor's business.
Sat 19 Jul | Prakash S | i think you should wait and see where you wife gets a job after completing her PhD, then make your move... best..
Sat 19 Jul | ... | Yes, you should mention both your current company and the fact that your wife already lives in the USA. good luck!
Sat 19 Jul | coresi | Sergei, go for it. The company will have to sponsor you for a H1B visa which many companies are reluctant to do these days though. Use your best selling points, and if you have niche skills these might prove important if you target the right companies. I never noticed the long-term HR investment Philo speaks about. The PhD probably will take around 5 years anyway. I am not completely sure but if you just want to join your wife there might be some other non-working visas available. Good luck!
Sat 19 Jul | Xenophobe | As someone who assessed resumes up here in Canada for a mid-sized firm, the one thing that amazed me is that we got literally tens of thousands of resumes from immigrants from Russian, the Middle East, etc. Every one of them yielded credentials in their home country out the yahoo, and claimed to have worked on Earth shattering applications and technologies. On paper they were amazing candidates who should have no problem. Yet approximately 90% of the time that we interviewed them, it was clear that they were totally and absolutely clueless. I'm not talking just about cluelessness in the technologies that they indicated, but that they just didn't seem to be up to par to the credentials that they claimed (I mean you expect a phd holder to be somewhat intelligent). Of the remaining 10% (who showed some competency, yet many of them we hired purely because of the credentials) and we hired some of them, and the result was in most cases a disaster: Again just absolute cluelessness, coupled with a attitude of personal helplessness: I don't know if it's a factor of the style of government that people live under, but these were the people who would hit a road block and throw up their hands and claim it's impossible, etc. Very odd. Anyways, I see three possibilities: -A lot of immigrants horribly inflate their resumes because they figure that few people will be calling Somewhere University in Somewheristan, or that company where they did 'cutting edge, super duper development'. It seemed that everyone from the middle east had amassed every educational credential. -The standards are just much, much lower to accomplish these credentials. Am I anti-immigrant? Not at all. We hired a couple that were brilliant and become core elements of the company. My point is moreso that either the standards are so low, or the inflation is so high, that it is very difficult hiring from the immigrant pool because of all of the noise. That is all.
Sat 19 Jul | Mr Curiousity | If going to the US is what you want, it is certainly worth a shot to try to get a job in the US. I am also originally from that part of the world. If your wife has J-1 visa you could probably get J-2 for now and no H1B is needed. If she has F-1, you do need H1B. Regardless of whether your wife and you would like to stay in the US or not, there is no reason to tell this to the US company. Tell them exactly what they want to hear. Circumstances frequently change anyway, so technically there is nothing wrong with that ... Structure your communication with the US company in terms of how they could benefit from employing you (unique perspective, stellar skills, etc). But in these times you'll have to be really good to be imported to the US since the unemployment is high. Regardless, discuss visa arrangements down the line such as sponsorship for a green card (GC). Even if you do not plan to stay in the US forever, it is still convenient to have GC just to work here. Overall, go for it. If there is no job offer, you'd still learn a few interesting things.
Sat 19 Jul | Mr Curiousity | 'Yet approximately 90% of the time that we interviewed them, it was clear that they were totally and absolutely clueless. I'm not talking just about cluelessness in the technologies that they indicated, but that they just didn't seem to be up to par to the credentials that they claimed' Pardon my ignorance, but is not there a large pool of clueless candidates regardless of where they came from? Your only problem was that when you parsed their resumes you used North American standards of cluelessness whereas you should have used Russian standards for that. These take time to develop, you should have seeked an advice from somebody russian born ...
Sat 19 Jul | coresi | Xenophobe: so how come that a large percentage of Canadian IT employees are landed immigrants from some sort of XSTAN? I don’t know the exact statistics and I doubt that the Canadian government provides one, but most of my IT colleagues in Canada were first or second generation immigrants. Is that because you have no clues? So please spare us the xenophobia…
Sat 19 Jul | Xenophobe | ' so how come that a large percentage of Canadian IT employees are landed immigrants from some sort of XSTAN' Because they're GENIUSES in those countries! I only wish we had their amazing super intelligence! Actually, mortard, it's because Canada has a very low birthrate, like most Western countries (unlike the baby factories in the Middle East/Asia), so we have very few 'natives' entering new fields like IT. I'll take it as well that you live in the GTA area where several hundred thousand immigrants yearly settle, so it's hardly surprizing that they have a large impact in IT. However you amazingly totally missed my point: There is clearly, without any doubt, massive bullshit that goes on in immigrants credentials and resumes (to the point that Western resume exaggerations truly are nothing more than white lies).
Sun 20 Jul | Stephen Jones | I suspect that xenophobe is right on this one, though why he chose to bring it up here I don't know. We hired a sysadmin because he gave the right replies at the interview. He just said he didn't really know to almost every question. We were so overjoyed at his honesty we took him on. In fact he was lying; half of the things he claimed to know nothing of he knew a fair bit about, but he's been advised about what we expected. On the other hand the number of people who have jobs despite mind boggling incompentence is unbelievable. It's almost as if they grab five people and hope one of them will work.
Sun 20 Jul | Sergei | Stephen, can you give a few examples of the incompetence you have seen in the workplace? just curious
Sun 20 Jul | Stephen Jones | An assistant sysadmin that sets up people's email but doesn't test the profiles, so in fact it doesn't work. A guy who said we ought to install wifi so we could SMS the students mobile phones (in a country with no WAP or GPRS). A guy who spent six months transfering an Access database of student accommodation to an Oracle one that does exactly the same thing. Two consultants and two staff that spent nine months of the main database project and failed to implement one single change requested and needed. A CIO who sents the web site out for approval on 200 sheets of paper, and refuses to let us see it on a computer. A sysadmin (the good one) who sends an email telling everybody to delete sflnbk.exe and then the manager formally complains about me when I email everybody to tell them it's a hoax. And the guy from Microsoft who gave the sysadmins a course on Exchange 5.5 and told them the reason we couldn't send attachments out of the domain was because we needed to upgrade to Exchange 2000. I used to be sending all attachments separately from my private dial up account, until some months later the sysadmin had a look a tab in settings called Advanced!
Educate reluctant client about internet? | Sat 19 Jul | Bored Bystander
Here is the situation. This is a tough one. (You elitists who work with Dr. Dobbs and .Net Magazine readers who actually understand technology are spoiled pukes. :-) Ok, kidding. ) My client, whom I have worked with for several years, is a vertical market software product development shop. Currently I am retained by the client to develop an online service bureau for their own customers. The service consists of online submission of financial data by their customers to my clients site, offline batch processing, and distribution back to the client of the results from this processing. Think of a service similar to credit report or online tax submission processing, except over the internet. Here is one major problem I forsee: the owner is also the chief programmer, and he absolutely does not trust the internet in many ways. Think of a stereotyped Amish person let loose on Times Square or West Hollywood ... thinking that iniquity will come out and bend him over. :-) Yet we *have* to implement a solution that requires internet connectivity, and online help desk other functions. IE, that hypothetical Amish person has to set up his farmers market stall right in front of the XXX Wet Hooter XXX Revue... Here is how they do business involving the internet: they basically dont. Examples: - They generally treat anything having to do with the internet like its electronic ebola virus growth medium. This thinking comes from the owner per above. - There are a couple of DSL connected computers in their offices. They do not connect them to the internal LAN. Instead, employees walk to the internet workstation, work, and any data gets loaded onto a zip disk or equivalent. The disk is then taken to a dedicated PC in the corner, run against something like Norton AV, and only *then*, once certified clean is it allowed to be inserted into a disk drive that is connected to their network. - They have no resident network person. (they outsource this.) - The owner has admitted to me that he does not understand the internet or viruses. In the past hes stated concern that someone would sniff a dial up internet connection at random for their sensitive data. He believes that if a network workstation were connected for 5 seconds to an internet connection, that workstation would have to be scrubbed for viruses. And so forth. - Firewalls, NAT, filtering applications... I explain precautions they could and should take, and the owner is usually in an ADD type rush and wont listen. Any explanation drills down into areas that he is totally clueless about and the explanation meanders into tangents that never tie up in any real understanding. He seems to not want to understand internet stuff and vehemently resists the learning process. - The owner throws up anecdotes from business acquaintances who complain about viruses shutting down their networks. I try to laboriously explain that these companies probably use tools like Outlook that are misconfigured that run the macro viruses, and they probably dont use firewalls and network applications that could filter and virus check suspicious attachments. Plus they probably have idiot employees going clicky-clicky on every EXE or PIF in an email. - The owner is shall we say, the type of person who designed all of the original code used in the business himself. So if he does not have mastery of a technical area, he rejects it overall. Major control freak. I have the feeling that when were done, I will have designed a system in which data transfer consists of copying internet data onto zip disks, walking it to the internal server, scrubbing it for virii, and likewise copying response data onto removable media and copying it back up to the internet. Sneakernet to support an online service. PS: this company is extremely profitable. And the owner is amenable to logic, at least in a money negotiation situation. Were not talking about a downtrodden hack shop. PPS: this is really a psychological and persuasion issue. NOT a situation where someone can just suggest a package and expect buy-in. PPPS: no, Im not going to tell the client youre an idiot and walk. Thanks, all.
Sat 19 Jul | Matthew Lock | Remember the old phrase 'you can lead a horse to water but you can't make it drink.' You might never be able to convince this guy that sneakernet is the wrong way to go. Are you being payed hourly? If so I wouldn't worry too much about developing a more complex application based around sneakernet!
Sat 19 Jul | One who has been burned | The guy is not completely wrong you know. Not right either, but connecting the entire shop to the big ass world is not exactly the safest thing you could do.
Sat 19 Jul | Li-fan Chen | You had it easy. I have worked with clients that keep rejecting offer after offer of firewall arrangements for application servers on the client's site. All B2B consultants live with this. At least their clients can shell out the thousands for the blind to spend weeks leading the blind. It isn't that your client simply isn't willing to spend the cold hard cash for security (he has the money), maybe he isn't sure if he is comfortable with your advices (maybe I am wrong, what's your credential in the security arena?) Looks like you have to bring in a good consultant who can put him at ease. If you build B2B sites or any kind of Internet resources that connects to internal resources, you should seriously consider bringing the big guns.
Sat 19 Jul | one programmer's opinion | You did a good job of describing your current client (i.e. doesn't trust the Internet), but you didn't mention if you have already discussed 'your solution' with this person. I don't remember reading that your client explicitly told you to come up with a sneakernet solution. Even so, it certainly sounds like this may be a project constraint you are going to have to live with. As others already mentioned, connecting the DSL computers in their offices with their internal LAN might not be the best thing to do. Remember you don't have live with your solution, but your client does. Sounds to me like you need to sit down with your client and whomever takes care of the network and brainstorm an acceptable solution.
Sat 19 Jul | Jeremy | Other than online interfaces being trendy, why is mailing disks around a bad idea? Is it really necessary for the data to be transferred immediately or can it wait a day? It can sometimes be cheaper than bandwidth and network administration costs. Even Microsoft does it sometimes. http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=43 'Who would ever, in this time of the greatest interconnectivity in human history, go back to shipping bytes around via snail mail as a preferred means of data transfer? (Really, just what type of throughput does the USPS offer?) Jim Gray would do it, that's who. And we're not just talking about Zip disks, no sir; we're talking about shipping entire hard drives, or even complete computer systems, packed full of disks.'
Sat 19 Jul | Christo Fogelberg | Tangential to the discussion, but along the lines of Jeremy's comment: 'Never underestimate the bandwidth of a station wagon stuffed full of tapes flying down the freeway at 80mph.' (Attribution unknown)
Sat 19 Jul | Eric Debois | The internetbanks around here send out a cert on disk that you install. After that its regular https. (thats 128 bit encryption, right?)
Sat 19 Jul | Stephen Jones | I think the real problem is that the guy outsources the admin of his network. So he hasn't anybody there to explain things, and he's worried about the time and cost of putting things right. Maybe you could try and do a Powerpoint demonstration with the firewall, web server and database server all depicted like a sneakernet so he can see the analogy.
Sat 19 Jul | Marc | I agree with Stephen. But I would add that you should speak to the outsourced admin. If the two of you come together on this, he might be more inclined to listen. It might be worth it to the admin because he could then up-sell him more services down the road.
Sat 19 Jul | Bored Bystander | Stephen, Marc - My hat off to you guys. Good ideas. Thanks.
Sat 19 Jul | Mr Curiousity | 'PS: this company is extremely profitable. And the owner is amenable to logic, at least in a 'money' negotiation situation. We're not talking about a downtrodden hack shop.' So it seems like the owner does not think that there is anything wrong with the picture since the money keeps coming in. It is hard to overthrow mistaken beliefs if the person holding them is successful. Even if the guy were to make a bigger use of Internet, things would not probably be much different to him money wise. Thus there is no reason to get out of the comfort zone. That is how the likes of old Xerox and IBM became so rotten. All the internal BS was well financed by their highly successful old products and everybody thought they were doing all the right things. 'PPS: this is really a psychological and persuasion issue. NOT a situation where someone can just suggest a 'package' and expect buy-in.' OK. I am gonna give it away here. There is an excellent book on persuation called 'Persuasion Engineering' by Richard Bandler. It describes some of the most effective tools that can be used to persuade someone. The book is more sales oriented but this is exactly the situation that you got.
Sat 19 Jul | Simon Lucy | Here is how I'd probably sell a solution to the man in question. 1. He is absolutely right, having a direct connection with the internet is dangerous. 2. In the absence of any other system the sneaker.net approach is the safest and sanest. So what you're doing is right. 3. We can get the advantages of sneaker.net without the disadvantage of not being directly connected. 4. Here's how, on the DSL we set the router up so that only the router can be seen from outside, nothing can be addressed inside (ok its NAT, its probably already setup). On the router we install a further firewall component (or on a server in a DMZ but that's details). 5. We only install a mail client which we know is resilient to mail viruses. (Ok I'd choose Calypso or Courier but there are alternatives). 6. We install the same anti-virus on all the workstations and it keeps up todate itself (Yes we have to leave the machines on). 7. The network is now the equivalent of sneaker.net we can get stuff from the net, send stuff up the net and no one outside can get to our machines. 8. Once its in no one need care about it, your current network man can maintain it.
Sun 20 Jul | Guy Incognito | Fake your own death...
Table data comparison script on SQL Server 2k | Fri 18 Jul | JD
Hi All, I would like to seek your advice for a technical problem which I am attempting to solve. Scenario: Lets say we have two tables. Table-A Table-B Table-A is the source table while Table-B is the target table. Using ETL, we are copying data from Table-A to Table-B. Say Table-A have columns named Column1 Column2 Column3 Then Table-B might have columns like ColumnA-1 ColumnA-2 ColumnA-3 ColumnB-Extra1 ColumnB-Extra2 What I mean is, Table B will have columns which DIRECTLY maps to column in Table-A but it might have different names + Table B have some additional columns. Now lets come to what I want to achieve: I want to compare data in Table-A and Table-B using Excel macro, stored procedure or any other possible way. Currently I could think of following: I will have one worksheet which will list name of tables Table-A and Table-B and mappings between their columns. Something like Table-A | Table-B Column1 | ColumnA-1 Column2 | ColumnA-2 Column3 | ColumnA-3 Now using an excel macro, I will read this information, form a select query and fetch data from Table-A as well as Table-B and compare them. To compare, I will basically convert all the values to ‘string’ type and see if they are exactly equal. The above mentioned idea appears quite reasonable to me, but I wonder whether there are any other ‘BETTER’ ways or any things which I might be missing? Other relevant information: I am on SQL Server 2000. I want to write a generic functionality because I want to compare 80 source tables with 80 target tables. I know how to use Excel macro. Stored Proc/Functions in SQL Server. I wondered whether we can utilize Access in some way. [Can I hear something from Albert??? :)] Your suggestions/ideas/thoughts are really appreciated! Regards, JD
Fri 18 Jul | Li-fan Chen | You might also might to keep it in a database to eliminate Excel. tblSchema where TableSetID, TableName1, TableName2, TableFieldName1, TableFieldName2 select * from tblSchema order by TableSetID do a cursor building a comparison query using all the field mappings per tableset.
Fri 18 Jul | Li-fan Chen | You don't really need Excel unless you are trying to build a comparison success/failure report and chart it.
Fri 18 Jul | JD | Hi Li----, Thanks for your response. I am sorry but I really don't understand your tblSchema response. Could you explain it in bit detail for me? Also, I would like to reiterate that I don't want to compare only ONE table, I want to write a generalized procedure which can take two tables, their column names and compare EACH ROW. As an output, it should only list down, the rows where data in two tables are not matching. Btw, I guess there might be some ready made tool which can accomplish similar thing. Any suggestions? Regards, JD
Fri