Programming
After many years, I've slowly accepted that I am actually a programmer. No, not a particularly gifted programmer - but I do love programming.
For many years, I held that I was just a systems administrator. Of course, being a half-decent sysadmin means you can at least program your way out of a tight spot...
But then, suddenly, you are hooked and find programming is a way of life.
Still, I am far from a talented programmer. But I'll work on it!
As of early 2008, I am a keen Perl, Ruby and Bash programmer. I stay as far away as possible from Javascript. I shudder at the thought of writing Java, recalling earlier traumas. And I'll have to admit to my psycotherapist I have still not recovered from my many years of BASIC.
Several years ago, I came across this short text - I won't hold it as truth anymore (hey, I just felt ashamed at finding it said copy con program.exe where it should have said cat > a.out! [shudder].
- The programmer's national anthem is 'AAAAAAAARRRRGHHHHH!!'.
- Beta. Software undergoes beta testing shortly before it's released. Beta is Latin for still doesn't work.
- I have yet to meet a C compiler that is more friendly and easier to use than eating soup with a knife.
- Hey! It compiles! Ship it!
- "Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing."
- A computer scientist is someone who, when told to "Go to Hell," sees the "go to," rather than the destination, as harmful.
- "#define QUESTION ((bb) || !(bb)) - Shakespeare."
Of course, Shakespear didn't study enough boolean logic - The answer is clearly FF, which -evaluated in a boolean context- yields TRUE. Any questions?
- Real programmers use:
cat > a.out</li>
<li>[gwolf@unix gwolf]$ man woman<BR>No manual entry for woman</li>
<li>Nothing is more permanent than "temporary"</li>
<li>Programming today is a race between software engineers striving to build bigger and better idiot-proof programs and the universe trying to produce bigger and better idiots.<br/>
So far, the universe is winning.<br/>
<em>-Richard Cook</em></li>
</ul>
</cite>
Proposed instructions for enhancing the x86_64 instruction set
The x86_64 instruction set (also known as AMD64 or EMT64, depending on whom you ask) meant a huge leap forward for the x86 architecture - Certainly the biggest one since the i586 (Pentium) was introduced, and probably since the i386 brought us virtual memory and 32 bit address space. Still, there is ample room for improvement.
In order to further simplify programmers' lifes, the following additions are proposed:
- ARG
- Agree to Run Garbage
- BDM
- Branch and Destroy Memory
- CMN
- Convert to Mayan Numerals
- DDS
- Damage Disk and Stop
- EMR
- Emit Microwave Radiation
- ETO
- Emulate Toaster Oven
- FSE
- Fake Serious Error
- GSI
- Garble Subsequent Instructions
- GQS
- Go Quarter Speed
- HEM
- Hide Evidence of Malfunction
- IDD
- Inhale Dust and Die
- IKI
- Ignore Keyboard Input
- IMU
- Irradiate and Mutate User
- JPF
- Jam Paper Feed
- JUM
- Jeer at Users Mistake
- KFP
- Kindle Fire in Printer
- LNM
- Launch Nuclear Missiles
- MAW
- Make Aggravating Whine
- NNI
- Neglect Next Instruction
- OBU
- Overheat and Burn if Unattended
- PNG
- Pass Noxious Gas
- QWF
- Quit Working Forever
- QVC
- Question Valid Command
- RWD
- Read Wrong Device
- SCE
- Simulate Correct Execution
- SDJ
- Send Data to Japan
- TTC
- Tangle Tape and Crash
- UBC
- Use Bad Chip
- VDP
- Violate Design Parameters
- VMB
- Verify and Make Bad
- WAF
- Warn After Fact
- XID
- eXchange Instruction with Data
- YII
- Yield to Irresistible Impulse
- ZAM
- Zero All Memory
- PI
- Punch Invalid
- POPI
- Punch Operator Immediately
- RASC
- Read And Shred Card
- RPM
- Read Programmers Mind
- RSSC
- Reduce Speed, Step Carefully
- RTAB
- Rewind Tape and Break
- RWDSK
- ReWind DiSK
- SPSW
- Scramble Program Status Word
- SRSD
- Seek Record and Scar Disk
- WBT
- Water Binary Tree
- DWIM
- Do What I Mean