Obsolete Technical Skills
Ponca City, We Love You writes "Robert Scoble had an interesting post on his blog a few days ago on obsolete technical skills — 'things we used to know that no longer are very useful to us.' Scoble's initial list included dialing a rotary phone, using carbon paper to make copies, and changing the gas mixture on your car's carburetor. The list has now been expanded into a wiki with a much larger list of these obsolete skills that includes resolving IRQ conflicts on a mother board, assembly language programming, and stacking a quarter on an arcade game to indicate you have next. We're invited to contribute more."
I guess they're forgetting about things like optimized device drivers, true performance-oriented embedded systems architectures, microcode segments, and anything to do with hardware development.
If you have to write bootloaders and a very small number of other programs or routines. For most purposes, yes, it's rather counterproductive.
"Your mouse has been moved. Windows 95 must be restarted for the change to take effect."
This is a list that states what the author doesn't do any more, but it's quite arrogant to assume he speaks for everyone.
I'm neither a console programmer nor a demoscener, but isn't assembly very much alive and kicking in these two fields?
If you haven't made a developer cry, you've wasted a day.
Everything which is written in Java uses C.
Everything which is written in C uses Assembler.
Everything which is written in Assembler uses machine code.
And so on.
http://michaelsmith.id.au
Writing a interrupt driving task switcher for uCos-II, completely impossible in even C.
Bart.
P.S. developing on Rabbit microcontrollers sucks for large applications. Dynamic-C is a toy, and the Softools compiler is buggy as hell.
I would say understanding and using the manual octal grouped switches on the front of a PDP11/35 is high on the list. Using the halt/run switch is a lost art.
http://en.wikipedia.org/wiki/Image:Pdp-11-40.jpg
Running a shmoo curve on magnetic core memory is an obsolete skill.
http://ieeexplore.ieee.org/iel5/20/22897/01066073.pdf?arnumber=1066073
The truth shall set you free!
Hm.. I'm a DJ. This is sort of daily business for me. Granted, nowadays we have a lot of other options, but its still alive and kicking. Vinyl just feels great, as you have the music sort of "in your hands". (and yes, I'm using Vinyl Tracks, CD Tracks over CD Players, Mp3 over Vinyl with Traktor Scratch, Mp3 over CD with Traktor Scratch, Traktor over Midi using a Faderfox DJ2, etc.. and all combinations of it...). Actually, I'd love to have vinyl control for much more work than just for DJ'ing. Imagine a Turntable between the video editing PC. Using the turntable, you could very rapid move trough the whole video, search a certain place, scratch trough to watch animations, find specific frames, etc. Would be quite usable (and sort of gets used in VJing.. but I'd love to use it for generic video cutting).
I had a compiler on CP/M which generated assembly and sent the output to an assembler. I don't think GCC works that way. It probably generates machine code directly. Maybe it has a symbolic "assembly" layer inside.
Actually most compilers work this way.As long as there are guitar players in the world you'll have work.
The machines I use every day don't even have floppy drives. The article points out that this is a niche skill, not one that's widely useful. For what it's worth, I write a lot of assembly language code but it's all for Atmel AVRs.
At several points I've taken assembly classes, and I've come away from them feeling like I learned some incredibly valuable information about how computers "actually" work, at their most fundamental level. The odd thing is, though, that I can't remember anything specific about assembly. Nothing. I know it informed some of my thinking about other things, and I probably have answers to questions I wouldn't otherwise have known, but I couldn't tell you what or why. That being said, I also recommend it for anyone who works with computers, for some reason.
Here's a programmable pen, couldn't find a bicycle lamp, so here's a NetBSD Toaster instead, for 4096 levels of burned bread and a web server.
"If we knew what it was we were doing, it would not be called research, would it?" - Albert Einstein
Have a good look around the car and you might notice the mono-motronic ecu, the catalytic converter, the fuel pump for the injection system. Take the air filter housing off and you'll spot the injector aswell...
Or figuring out what the C++ (or any other) compiler does. When you're concerned about performance, you may need to be sure that your template/virtual function/whatever is properly optimized. Use the gcc option to output assembly code, and study it.
factor 966971: 966971
In fact, the gcc or g++ commands are 'drivers' that first call a preprocessor, then a compiler, then an assembler and finally a linker (all of them separate executables).
Back in my young day the dread OC7 Abnormal ending of a cobol PROGRAM MEANT A LOT OF FERRETING AROUND hEXADECIMAL CODE
Days thankfully gone
But boy, I miss COBOL
Games almost always use assembler for vector and matrix math functions, because speed is critical and explicitly using SSE is more reliable than hoping that your compiler can figure out how to turn a long list of multiplies and adds into the appropriate SSE instructions.
However the most common use of lots of assembler is compilers. Not just traditional source->executable compilers, but JIT recompilers are in every emulator that wants a sensible amount of speed.
Nope, you can put it in a 1.44 disk but you're not forced to.
Small and fast OSes aren't exactly a niche for floppy-obsessed old timers. Think about handhelds, cellphones etc.
Current cellphones OSes for example are way slower than those produced 7-8 years ago because they're putting in tons of features, but you can't have both a fast processor and a decent battery charge duration because battery technology doesn't progress comparably fast, so even the portables market would benefit from using a bit more asm or C and less Java and similar obscenities.
Carbon paper is still used to transfer designs to objects other than paper, or oversize paper that wouldn't fit in a copier/printer. Admittedly, it's use is nowhere near its once ubiquitous amount, but crafters, luthiers, carpenters and other tradespeople still use it.
Sorry, those became way obsolete with Dos 6.22s ability (iirc) to have multiple configurations to chose from.
Anyone remember countless runs of memmaker to squeeze the last byte of RAM out of a config ?
the trouble is while one bad descision is barely perceptable a load of bad descisions stacked together make the difference between an app that is fast and responsive even on old hardware and a peice of horrible bloatware.
and sometimes programmers make really horrible descisions like trying to delete elements from the middle of an array and move up everything after it. Sometimes programmers read large blocks of data into strings and try to use string manipulation on them etc. Theese bad descisions are imperceptible on the small datasets the dev typcially tests with but far more substatial when the data in question grows to hundreds of megabytes.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
Very computer-centric, and more particularly, very 1970-1985-computer-centric.
How about: making wooden wheels, for cars or carts?
Drilling holes in stone with a hammer and a stardrill?
Repacking plumbing/steam gasket seals?
Installing/maintaining lead/oakum plumbing?
Relashing valve pushrods or regrinding valve seats with a file?
Filing threads?
Making nails with a hammer and a header?
Making wrought iron?
Making aluminum without electricity?
Forming lumber with a froe, an adze, and a two-man saw?
Tanning leather?
And some of the items, I just flat-out disagree with: making a fire by striking two pieces of flint together? That *doesn't work*. You strike a piece of steel against flint, which throws sparks because the steel is cut by the flint and showers off bits of hot steel. Flint doesn't burn.
Nostalgia's not what it used to be.
Are you sure its all obsolete?
Basic:
Basic programming building blocks- variables, statements, control of execution flow with if/then/else and goto
DOS:
directory structures, command line navigation, computer architecture (and how bad design time decisions can lead to decades worth of headaches)
Turbo Pascal:
Not too familiar w/ Pascal anymore, but if IIRC, you should have learned how to use functions, namespaces, and the modular programming model.
Microsoft C Programming:
Event driven programming models, resource handles, GUI development issues- how to expose just enough complexity to make things useful without cluttering the screen, and the C aspect... you learned the syntax underpinning just about every other major language since and the basics of using structures, pointers, handling memory, the list could go on for pages.
Gopher/Telnet:
How plain text internet protocols generally work- and if anything you learned some cool tricks to do a raw telnet session on port 25 and spoof email from the boss.
Pine:
Email concepts/netiquette. Was Pine really so hard to learn anyway?
Windows 95 registry:
Eh probably the least portable skill here- you at least learned to be comfortable with digging into a blackbox OS and looking under its skirt. The registry is still in use in XP, not so sure about vista, so this is a skill you will get at least 15 years of use out of.
Bea Tuxedo:
not too familiar w/ this product, but if I remember correctly, its all about virtualization, which is now one of the hottest new technologies in the sysadmin/IT world.
Sounds like you learned a hell of a lot. Sure none of these are all that employable *today* but couple that background with a weekend spent with a Java book and I would employ you with a 6 figure salary in a second over some newly minted sun certified ITT Tech grad.
I used print screen and an image editor...
Nerd rage is the funniest rage.
^[:wq!
Speaking for the UK:
Erm... You might have been technically correct fifty years ago when everybody still did Latin but not any longer. It's standard practice in every company I've ever worked, for the last 20-odd years and probably a lot longer than that. CV = personal details + list of qualifications + (summarised) work history + references + (possibly) brief statements about important project you've done in the past (unless you're under 18 when it seems you're taught to list "interests" like "watching TV"... I've actually seen it on a CV). You usually cram it all onto 1 or maybe 2 A4 pages. Possibly a personal statement (1 page of A4) if requested stating briefly why you'd be good at the job, clarify anything listed on the CV. Cover letter to wrap it all up (two lines and some decent letter-writing layout).
In the UK, no job agency would distinguish between CV and resume, unless they only deal with very pretentious clients, but I've never heard of anyone distinguishing over such a minor detail even in the City. Job adverts include the line "Send CV to:". Never any mention of anything else, except possibly "CV and Personal Statement". We don't even CALL it, or any part of it, a resume. We might have done once (I don't know the etymology, but it sounds French) but we haven't for years.
And, working in schools, I can tell you that this is EXACTLY how children are taught to apply for jobs and have been for about the last two decades (I was, when I was at school/university). And it's exactly how every adult job application I've ever seen has arrived. You send a CV which incorporates all your qualifications and work experience, wrapped in a two-line cover letter (Dear Sir/Madam, My CV, Thanks). If asked, you provide a "personal statement" which is an A4 diatribe about your work life and what you can bring to a company.
Maybe you're just nit-picking on the origins of the word but in the UK, you have a CV that tells you EVERYTHING you need on one page. You normally head it "Curriculum Vitae" (which lets you instantly discard those who can't be bothered to look up "Vitae").