If the BIOS supports it, I'd suggest an SSD. I've seen gadgets that take SD cards (one would even accommodate two, and present them as a RAID-1 set!) and emulate a 2.5" disk drive. Might be a little expensive if this is just a hate-to-see-it-go-to-waste type of project, but would certainly help to make a slower system (especially with limited RAM) more usable.
Dude, a.reg file *is* a script. There's no difference between double-clicking on FIXSOUND.REG and double-clicking on sndfix.sh.
My big complaint with the registry is that it's too convoluted. Config files are typically either in the user's home directory, the program's working directory or its installation directory. Registry entries could be buried under something like HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4DE36972-E325-CE11-CBFC-86753094BABE} -- how the hell am I supposed to remember that? (Assuming I could even find that in the first place!)
Is there anything from Andersons/Accenture that has arrived on time, on budget and actually worked as desired?
Sure -- their invoices!
Surely since dotnet is heavily inspired by java was developed long enough after that to learn from any shortcomings it must be a reasonable platform.
Well....for suitable values of "reasonable", I guess. I've found that any development tool from MS tends to fall over if you don't toe the line. Example:.NET has a class that represents a database table, which holds a collection of rows, each of which holds (you guessed it) a collection of columns. You can create a couple of these and use them to do joins and stuff without having to go to the database. Sounds cool, but you have to populate them from the database, which isn't mentioned anywhere. So when you create a couple and populate one from a database query and the other from an XML file and try to join on them, they don't work. And of course they don't work by giving you an empty result, instead of throwing an error. So you waste hours going through the docs, trying to figure out what you're doing wrong, endlessly stepping through in the debugger verifying that the data's in there, and it should be selecting, and on and on and on. MS seems to provide things for a specific purpose, instead of general-purpose things. I sometimes feel like they reserve programming creativity for themselves, and want everyone else to be hard-working drones within the environment they create.
If your system is running a triple digit load average than something is broken somewhere and needs to be fixed BADLY.
Heh, the last time my system[0] was running a triple-digit load average, it was because someone HAD fixed something badly. I fixed it properly and the load average dropped to...well, double digits, anyway. -- [0] OpenSolaris, coincidentally.
Ever tried cobbling together an emergency replacement JSP engine inside 3 hours?
What happened, your old one throw a rod?
On a related note, I recently determined that I could stuff an entire development system (VMware image with all tools, source, and test data) onto a USB stick. Given our ability to develop using only OSS tools and environments, we can include one of these sticks as part of our release media. That way, if an installation or upgrade goes pear-shaped because of some client quirkiness (like "Oh, BTW we have a new corporate policy: all applications must log all error and audit messages to the Windows Event Viewer [sic] -- NO EXCEPTIONS"), the installation team can code and test a fix on-site, or connect to Subversion and get a fix/patch/enhancement we developed back at the ranch.
Don't know if something like that would have helped in your particular situation ("Oh, BTW we switched all the production servers from Solaris to Windows Server 2003, but that won't affect your code because Java runs the same on both, right?"), but I've been in spots before where it would have...
Download Netbeans or Eclipse (I prefer Netbeans, but I use Eclipse at the office, and I don't have a problem recommending either one). Make sure you get a version that includes either Glassfish (Netbeans) or Tomcat (Eclipse), so you can run some servlets.
Start going through the book. You'll learn the Java syntax and conventions in the first part, then learn about web development. Since you've got web development experience, you can probably skip a lot of the intro (web apps use the HTTP request/response cycle, are stateless unless you stick stuff in the session, etc.) and dig into some JSPs.
Once you can get data from the browser to the server, pick up JDBC and stick it in the database. If you've used ODBC with VB, then you'll have no trouble picking up JDBC.
Pick up a Spring book (I'll recommend Spring in Action) and learn about dependency injection. It's a pretty simple concept, but you'll be amazed what you can do with it.
That should give you enough to get started and maybe even get your first Java gig. Hibernate's good to learn, too, but on most of the projects I've been on, you don't use it in day-to-day development (that is, you don't have to reconfigure or redeploy anything, unless your data model changes). With Spring, just about everything you write will require that you modify a context file or two, so you need to know what's going on.
To pre-empt the "what about those that work from home" argument: they should pay for business class if they're doing business.
Heh. And you should pay for "standard geek pursuits" if you're doing standard geek pursuits? I work from home occasionally, and my traffic is limited to polling the Exchange server every 30 seconds or so, sporadic IM traffic, and Subversion commits and updates. Oh, and looking up info on the web, but then I do that anyway. I'd estimate my total daily bandwidth usage at well under a gig when I'm working.
Japan is where a lot of the video game industry is, so it could be fun looking for a programming job there.
Predicated on the assumption that game programming is fun? Using a level editor to configure content is fun, having to learn a GPU architecture in four hours so you can offload some texture rendering because your C++ code can't cut it is not.
But, the market for PCs in Japan is shrinking (their cell phones are amazing and replace most uses of a PC) so there's probably not much future in "regular" software over there.
Right, because PCs are mostly used for texting, web surfing, and e-mail, and all "regular" software is for PCs. I guess over in Japan they never use computers to take orders over the web, keep track of inventory, route shipments to customers, generate invoices, route and rate phone traffic, control traffic signals, design new products, generate PDF files from CLOBs stored in a database, compare molecular structures for similarities, predict product demand based on sales history, analyze customer purchases to target advertising campaigns, or compositing images for publication. You really should get out of the basement more often and see what "regular" software does. There are a lot more cool programmers who write automatic GUI and report generators than there are writing Phong shaders and "AI" code. AAMOF, I'm currently using a rules engine and fuzzy logic to implement a business rules evaluator, which is a lot more "AI" than my two game-developing friends have ever used.
what does a user have to gain by lying during a tech support call? The chance to avoid re-installing their OS (and all of their applications, and hope they have recent backups of their data, their saved e-mail/chat logs/cookies/et cetera). I haven't called tech support for a few years, but I know for awhile that was the "final solution" to persistent problems. "If a reboot doesn't fix it, a reinstall probably will" seemed to be the mantra of the day.
I modeled a Type 1A at home by taking an old 74LS00 IC and hooking power and ground up to a neon light power supply. I yelled "Don't cross the streams!" and flipped the switch. Glowing fragments flew in all directions, proving the inversion of the event horizon and validating my work in the field of glowing-particle physics.
There seems to be some quantum effect component also, because right after the simulation, my landlady appeared and went supernova too!
561A...introduced the ceramic strip construction techniques Hmmm, I was under the impression that all of the early Tek scopes used ceramic strip construction (the 310 used PCBs, but Tek returned to ceramic strips for the A revision). The 561 is a pretty early scope, though, so it wouldn't surprise me if it was indeed the first.
But the features I mentioned -- properly compensated input, gain-selectable input amp, modest bandwidth -- were hardly new, unless I'm mistaken Those features weren't new, but scopes that properly implemented them were rare. Tek was far and away the premier scope maker for many years. Their contemporaries (Dumont, et. al.) provided scopes that gave a picture of what was happening in a circuit, but Tek scopes were actual instruments that could be used to obtain measurements. It really wasn't until HP started making test equipment that Tek really had any competition.
I believe there were a variety of faster plugins available if you needed bandwidth. Yeah, one of the best features — if you need something specialized, there's probably a plug-in for it. I've got a Type O that has two (tube!) op amps with their input and feedback impedances selectable from either the front panel or an external source. You can implement integrators or differentiators and display the results. That's what the manual says, anyway, I've never had a need to use it.
Now *that* is a feature you won't find on any modern scope, no matter the price. I love the manuals. Even something as complicated as the 547 has complete schematics in the back. I think I've learned more "real world" engineering by reviewing those circuits than I have from books. Of course, I don't have any formal engineering training, so I have more to learn than a real EE...
The 1960s vintage Tektronix tube scope I have does what I describe above, and most of that wasn't even state of the art at the time. You obviously don't have a proper 1960s vintage Tektronix tube scope. I've got a 310A that's pretty low on the performance range, but my 547 was definitely black-lab-grade at the time. Available for under $50 at your more esoteric garage sales (I paid $25 for mine, with a half-dozen or so plug-ins).
- Modern computer science instruction ignores some great authors. My favorite is Brian Kernighan.
Brian Kernighan, Jon Bentley, Dave Parnas -- lots of good stuff from the days before programmers just tried to apply some cookie-cutter patterns to problems. I think Dave Parnas' work in particular is shamefully neglected. He was the first to write about information hiding, one of the leading reasons for the creation of object-oriented programming languages. He was also one of the first to propose modular programming, and described module interdependence in terms of coupling and cohesion (and if you don't know how to identify "coincidental cohesion", you probably spend a lot more time in the debugger than other people).
There is some part in our brain (I believe it's called the Nucleus Superfluous) that makes regular stimuli more enjoyable Yeah, that's what it is! I just bought this shaker of a new flavor enhancer called "Gries de Serp" (I think it's French) which is scientifically proven to stimulate the...whatever that was in the brain. It's a powder that's so fine, it's actually invisible, and it blends instantly with whatever food you sprinkle it on. But once you eat it, it makes everything taste better. I know I sprinkled it on a burger I got at a local diner, and when I bit into it I could have sworn I was eating at Ruby Tuesday's — it was just that good.
I'd post the URL, but eece-e-yurro.eu (see, it must be French!) seems to be down right now...
ISTR that back in the 70s the RCAF developed a processor using formal methods that had guaranteed responses to all inputs. Does anybody know what kind of processor Boeing uses for their FCS? Or is it a multi-processor system that is implemented with various architectures?
the drive still works, but only reading the outside half of a disc. So CD isos get burned to DVDs and I can read all of 'em Actually, it's reading the inside half of the disks. CDs and DVDs play from the inside out. But hey, as long as it works, right?
But, the whole reason to GO to a University, is to get the skills/education to make more money when finished, than you would have if you had not gone. You're confusing a university with a trade school. If all you want is training in a specific line of work, then get a two-year degree and pick up some industry certifications and fall to. A two-year degree with an MCSD will get you in the door in a lot of places.
However, your career path will likely be capped at "senior developer" — you'll never get the "software/systems architect" role (and the really big zorkmids) w/o a full CS degree. Or if you do, it'll be five years or so later than you would have if you'd had a degree to start with, because employers won't assume you can do the job (or worse, will assume you can't do it) and you'll have to prove that you can.
The IBM engineers wanted to, and eventually they did (the CS-9000 lab computer). But not before the bean counters forced them to design the original PC (which was based on an old 8085 design, so it could use the cheaper 8-bit memory/IO/clock chips).
ISTR that one of the deciding factors was that IBM could manufacture their own 8086/8088s, having gained the rights to the design in a patent swap with Intel.
Ah, but Google does use commodity hardware. They don't care if a box dies, because they have enough redundant capacity. They're also playing a slightly different game: nobody from the Federal Information Commissions is going to come down and audit them to verify that federal searching regulations were followed for every single query (or a statistically significant sample). The NYSE has a slightly higher standard for their operations, so they need some kind of guarantee from a reliable company. If you're randomly dropping transactions under heavy load, Federal investigators don't want to hear that your remediation plan is basically "we post a question to comp.os.linux and hope that somebody can help us".
The NYSE purchased a packaged solution from HP Which makes the phrase "commodity hardware" in the summary somewhat disingenius. Commodity hardware is whatever is commonly available "off the shelf", and certainly wouldn't have a guaranteed-six-sigma-uptime support contract available. Hell, with commodity hardware, you're lucky to get anything more than a 1-year warranty on most stuff. And that's a ship-it-to-our-Far-East-support-center-and-we'll-fix-or-replace-it-within-thirty-days 1-year warranty.
Best to stick with something like "standard x86 hardware" or "common commercial x86 platform".
It never surprised me to see a random blue screen with Windows NT boxes but a blue screen on a 2000 or 2003 server was always a surprise. Yeah, BSODs were kind of an event when we ran NT. Everybody was used to getting them once or twice a week when we ran 95 or 98, but when we switched to NT the frequency dropped to maybe one or two a quarter. When somebody got a blue screen under NT, it was cause for everybody to come over and look and make a crack about how that wouldn't have happened if only we were allowed to run (Linux / VMS / HP-UX / SunOS / DOS 6).
As to the reference about these drives being used for government databases, certainly they would be reformatted when added to a RAID, wouldn't they? Even if preformatted for non-RAID use I don't suppose it would be possible to use them in a RAID without formatting first and what database would ever be on a non-RAID device? Heh, I'm sure there are more than a couple of huge Access databases floating around in various govt departments. And monster spreadsheets full of interesting logistical tidbits. It's not hard to imagine somebody at an embassy somewhere developing something to keep track of local contacts/agents/people of interest. Then the person who wrote it gets shipped to a new embassy and takes their code with them. Soon, word gets around, and most of the embassies have a copy of it for their own purposes. Not hard to imagine at all, really.
in his case, I'd suggest buying a bigger drive.
If the BIOS supports it, I'd suggest an SSD. I've seen gadgets that take SD cards (one would even accommodate two, and present them as a RAID-1 set!) and emulate a 2.5" disk drive. Might be a little expensive if this is just a hate-to-see-it-go-to-waste type of project, but would certainly help to make a slower system (especially with limited RAM) more usable.
the repeatability you get from a script is nice.
Dude, a .reg file *is* a script. There's no difference between double-clicking on FIXSOUND.REG and double-clicking on sndfix.sh.
My big complaint with the registry is that it's too convoluted. Config files are typically either in the user's home directory, the program's working directory or its installation directory. Registry entries could be buried under something like HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4DE36972-E325-CE11-CBFC-86753094BABE} -- how the hell am I supposed to remember that? (Assuming I could even find that in the first place!)
Is there anything from Andersons/Accenture that has arrived on time, on budget and actually worked as desired?
Sure -- their invoices!
Surely since dotnet is heavily inspired by java was developed long enough after that to learn from any shortcomings it must be a reasonable platform.
Well....for suitable values of "reasonable", I guess. I've found that any development tool from MS tends to fall over if you don't toe the line. Example: .NET has a class that represents a database table, which holds a collection of rows, each of which holds (you guessed it) a collection of columns. You can create a couple of these and use them to do joins and stuff without having to go to the database. Sounds cool, but you have to populate them from the database, which isn't mentioned anywhere. So when you create a couple and populate one from a database query and the other from an XML file and try to join on them, they don't work. And of course they don't work by giving you an empty result, instead of throwing an error. So you waste hours going through the docs, trying to figure out what you're doing wrong, endlessly stepping through in the debugger verifying that the data's in there, and it should be selecting, and on and on and on. MS seems to provide things for a specific purpose, instead of general-purpose things. I sometimes feel like they reserve programming creativity for themselves, and want everyone else to be hard-working drones within the environment they create.
And don't call me Shirley!
If your system is running a triple digit load average than something is broken somewhere and needs to be fixed BADLY.
Heh, the last time my system[0] was running a triple-digit load average, it was because someone HAD fixed something badly. I fixed it properly and the load average dropped to...well, double digits, anyway.
--
[0] OpenSolaris, coincidentally.
Ever tried cobbling together an emergency replacement JSP engine inside 3 hours?
What happened, your old one throw a rod?
On a related note, I recently determined that I could stuff an entire development system (VMware image with all tools, source, and test data) onto a USB stick. Given our ability to develop using only OSS tools and environments, we can include one of these sticks as part of our release media. That way, if an installation or upgrade goes pear-shaped because of some client quirkiness (like "Oh, BTW we have a new corporate policy: all applications must log all error and audit messages to the Windows Event Viewer [sic] -- NO EXCEPTIONS"), the installation team can code and test a fix on-site, or connect to Subversion and get a fix/patch/enhancement we developed back at the ranch.
Don't know if something like that would have helped in your particular situation ("Oh, BTW we switched all the production servers from Solaris to Windows Server 2003, but that won't affect your code because Java runs the same on both, right?"), but I've been in spots before where it would have...
That should give you enough to get started and maybe even get your first Java gig. Hibernate's good to learn, too, but on most of the projects I've been on, you don't use it in day-to-day development (that is, you don't have to reconfigure or redeploy anything, unless your data model changes). With Spring, just about everything you write will require that you modify a context file or two, so you need to know what's going on.
To pre-empt the "what about those that work from home" argument: they should pay for business class if they're doing business.
Heh. And you should pay for "standard geek pursuits" if you're doing standard geek pursuits? I work from home occasionally, and my traffic is limited to polling the Exchange server every 30 seconds or so, sporadic IM traffic, and Subversion commits and updates. Oh, and looking up info on the web, but then I do that anyway. I'd estimate my total daily bandwidth usage at well under a gig when I'm working.
Japan is where a lot of the video game industry is, so it could be fun looking for a programming job there.
Predicated on the assumption that game programming is fun? Using a level editor to configure content is fun, having to learn a GPU architecture in four hours so you can offload some texture rendering because your C++ code can't cut it is not.
But, the market for PCs in Japan is shrinking (their cell phones are amazing and replace most uses of a PC) so there's probably not much future in "regular" software over there.
Right, because PCs are mostly used for texting, web surfing, and e-mail, and all "regular" software is for PCs. I guess over in Japan they never use computers to take orders over the web, keep track of inventory, route shipments to customers, generate invoices, route and rate phone traffic, control traffic signals, design new products, generate PDF files from CLOBs stored in a database, compare molecular structures for similarities, predict product demand based on sales history, analyze customer purchases to target advertising campaigns, or compositing images for publication. You really should get out of the basement more often and see what "regular" software does. There are a lot more cool programmers who write automatic GUI and report generators than there are writing Phong shaders and "AI" code. AAMOF, I'm currently using a rules engine and fuzzy logic to implement a business rules evaluator, which is a lot more "AI" than my two game-developing friends have ever used.
I modeled a Type 1A at home by taking an old 74LS00 IC and hooking power and ground up to a neon light power supply. I yelled "Don't cross the streams!" and flipped the switch. Glowing fragments flew in all directions, proving the inversion of the event horizon and validating my work in the field of glowing-particle physics.
There seems to be some quantum effect component also, because right after the simulation, my landlady appeared and went supernova too!
At least we wouldn't have to put up a faux pipe run to house the cables running from the elevator lift motor to the PDP-10 like last time...
What?! Yeah, like you've got a 250A 3-phase outlet in your bedroom.
- - Modern computer science instruction ignores some great authors. My favorite is Brian Kernighan.
Brian Kernighan, Jon Bentley, Dave Parnas -- lots of good stuff from the days before programmers just tried to apply some cookie-cutter patterns to problems. I think Dave Parnas' work in particular is shamefully neglected. He was the first to write about information hiding, one of the leading reasons for the creation of object-oriented programming languages. He was also one of the first to propose modular programming, and described module interdependence in terms of coupling and cohesion (and if you don't know how to identify "coincidental cohesion", you probably spend a lot more time in the debugger than other people).I'd post the URL, but eece-e-yurro.eu (see, it must be French!) seems to be down right now...
ISTR that back in the 70s the RCAF developed a processor using formal methods that had guaranteed responses to all inputs. Does anybody know what kind of processor Boeing uses for their FCS? Or is it a multi-processor system that is implemented with various architectures?
However, your career path will likely be capped at "senior developer" — you'll never get the "software/systems architect" role (and the really big zorkmids) w/o a full CS degree. Or if you do, it'll be five years or so later than you would have if you'd had a degree to start with, because employers won't assume you can do the job (or worse, will assume you can't do it) and you'll have to prove that you can.
The IBM engineers wanted to, and eventually they did (the CS-9000 lab computer). But not before the bean counters forced them to design the original PC (which was based on an old 8085 design, so it could use the cheaper 8-bit memory/IO/clock chips).
ISTR that one of the deciding factors was that IBM could manufacture their own 8086/8088s, having gained the rights to the design in a patent swap with Intel.
Ah, but Google does use commodity hardware. They don't care if a box dies, because they have enough redundant capacity. They're also playing a slightly different game: nobody from the Federal Information Commissions is going to come down and audit them to verify that federal searching regulations were followed for every single query (or a statistically significant sample). The NYSE has a slightly higher standard for their operations, so they need some kind of guarantee from a reliable company. If you're randomly dropping transactions under heavy load, Federal investigators don't want to hear that your remediation plan is basically "we post a question to comp.os.linux and hope that somebody can help us".
Best to stick with something like "standard x86 hardware" or "common commercial x86 platform".