Page 1 of 1
Amusing Cat Tricks
Posted: Wed Feb 17, 2010 3:48 pm
by Lithorien
Sometimes, I swear that my cat is a better programmer than I am.
I was working on some code for my OS in assembly, and was doing a comparison. What I was supposed to do was jump if the comparison was equal in a series of interrupt handlers, but my brain kept typing "jz" over and over. Each time I did, my cat reached up from my lap and batted at my hand.
Anyone else have moments of amusing pet tricks when they're programming (or just in general)?
Edit: Also as an interesting note, assembly programming is
really fun. I never thought I'd say that, but after working with it, I can't help but enjoy it.
Re: Amusing Cat Tricks
Posted: Wed Feb 17, 2010 6:30 pm
by Owen
JZ and JE are actually the same opcode
Re: Amusing Cat Tricks
Posted: Wed Feb 17, 2010 8:20 pm
by Lithorien
Owen wrote:JZ and JE are actually the same opcode
Are you kidding me?
...No. No, you're not. Clearly I need to read more.
But thank you for telling me - it's good to have someone point out that your assumptions are flawed and to check them (AND I found a neat little reference on what triggers every kind of conditional jump - bonus!) so you make less mistakes.
Re: Amusing Cat Tricks
Posted: Thu Feb 18, 2010 1:11 am
by xenos
Maybe you activated some unknown mechanism when you typed "cat somefile.S" in a shell
Re: Amusing Cat Tricks
Posted: Thu Feb 18, 2010 1:15 am
by bitshifter
Lithorien wrote:Also as an interesting note, assembly programming is
really fun. I never thought I'd say that, but after working with it, I can't help but enjoy it.
Thats what i wanted to hear
Re: Amusing Cat Tricks
Posted: Thu Feb 18, 2010 2:20 am
by Solar
It didn't happen to myself, and it does not involve a cat, but it was a well-known legend in the Amiga community...
Back in the 80'ies, when engineering genius Jay Miner designed the chips and board layouts for the very first Amiga, he showed each design to his dog, Mitchie. When Mitchie didn't like it, Jay reworked it. (At least, that is how Dave Needle tells it, who shared an office with Jay Miner.)
Whether that's really true or not, it's a fact that, when all the engineers gave their signatures to be put on the inside of every Amiga 1000 case, a paw print of Mitchie the dog was among them.
Re: Amusing Cat Tricks
Posted: Thu Feb 18, 2010 3:11 am
by DednDave
Also as an interesting note, assembly programming is really fun. I never thought I'd say that, but after working with it, I can't help but enjoy it.
...the sign of a true geek
i would like to play with a machine that has 24 cores, just so i can diddle the affinity bits
i would have to say that i am a geek, too
Re: Amusing Cat Tricks
Posted: Thu Feb 18, 2010 5:40 am
by Lithorien
Solar wrote:It didn't happen to myself, and it does not involve a cat, but it was a well-known legend in the Amiga community...
Back in the 80'ies, when engineering genius Jay Miner designed the chips and board layouts for the very first Amiga, he showed each design to his dog, Mitchie. When Mitchie didn't like it, Jay reworked it. (At least, that is how Dave Needle tells it, who shared an office with Jay Miner.)
Whether that's really true or not, it's a fact that, when all the engineers gave their signatures to be put on the inside of every Amiga 1000 case, a paw print of Mitchie the dog was among them.
That is actually obscenely cute, if not just downright saccharine. Although I can't really fault Mr. Miner for that - sometimes you need to have a fresh pair of eyes look at your work, even if they're canine. And letting the dog put his paw print with all the engineers - well, sometimes all that holds a project together are the small morale boosters.
Thank you for sharing that - I never knew it before.
Re: Amusing Cat Tricks
Posted: Thu Feb 18, 2010 5:46 am
by Lithorien
DednDave wrote:Also as an interesting note, assembly programming is really fun. I never thought I'd say that, but after working with it, I can't help but enjoy it.
...the sign of a true geek
i would like to play with a machine that has 24 cores, just so i can diddle the affinity bits
i would have to say that i am a geek, too
I doubt it's the sign of a true geek.
I just love how much minute control over the machine you get that you really can't get in any other language. I can do
anything with assembly, which is even more than C can say!
Re: Amusing Cat Tricks
Posted: Thu Feb 18, 2010 6:44 am
by Solar
Lithorien wrote:And letting the dog put his paw print with all the engineers - well, sometimes all that holds a project together are the small morale boosters.
In the pre-Commodore times (1982-1985), Miner led Amiga Inc. with a style I could only wish companies would emulate today. He believed in the talent of every man he hired, and excused virtually every quirk they might have.
One walked the office in fluffy slippers (D. Needle). One (D. Luck) missed his first interview because he overdid it at a company party at Hewlett Packard the day before - but was re-invited and, ultimately, hired, because he was the right man. He also tended to enter the compile command, followed by a "beep" command, and took a quick nap on a pillow he brought for the purpose, until the "beep" came up. (Hence his nickname "Jo Pillow".) One (C. Sassenrath) was hired as OS engineer, and was basically told he could do it any way he liked, as long as he got it working, so he wrote a preemptive multitasking OS...
What Miner got in return was a close-knit team with high morale and loyality. They worked long hours, slept under their desks to save the time the trip home would take, and "showered" in the hand washbasin, using paper towels to get dry. That project was their baby, and everybody cared for it as best he could.
If you think you have to supervise your employees closely, you've hired the wrong team, or you're working on the wrong project.
Re: Amusing Cat Tricks
Posted: Thu Feb 18, 2010 7:01 am
by Lithorien
Solar wrote:Lithorien wrote:And letting the dog put his paw print with all the engineers - well, sometimes all that holds a project together are the small morale boosters.
In the pre-Commodore times (1982-1985), Miner led Amiga Inc. with a style I could only wish companies would emulate today. He believed in the talent of every man he hired, and excused virtually every quirk they might have.
One walked the office in fluffy slippers (D. Needle). One (D. Luck) missed his first interview because he overdid it at a company party at Hewlett Packard the day before - but was re-invited and, ultimately, hired, because he was the right man. He also tended to enter the compile command, followed by a "beep" command, and took a quick nap on a pillow he brought for the purpose, until the "beep" came up. (Hence his nickname "Jo Pillow".) One (C. Sassenrath) was hired as OS engineer, and was basically told he could do it any way he liked, as long as he got it working, so he wrote a preemptive multitasking OS...
What Miner got in return was a close-knit team with high morale and loyality. They worked long hours, slept under their desks to save the time the trip home would take, and "showered" in the hand washbasin, using paper towels to get dry. That project was their baby, and everybody cared for it as best he could.
If you think you have to supervise your employees closely, you've hired the wrong team, or you're working on the wrong project.
What's interesting to me about that is how many managers nowadays, in many fields, have forgotten that simple fact. More and more, the wrong people are hired for the job because management is afraid to say "no" when they should. Which leads to companies that can't excuse their programmers' quirks because they can't trust them in the first place. This, of course, creates a cycle of lack of trust, which means the programmers don't have a vested interest in their work, which leads to more bugs and less effort to make a polished product...
Honestly, I wish I could experience working for companies like that. But it's turned into a "once bitten, twice shy," situation - I worked for a company that contracted to the US Navy (we wrote analysis software) which was run in pretty much the opposite fashon from what you described. Tight controls, strict hours, the bosses checked over every check-in and 'corrected' your code as you checked it in (read: turned it all into one uniform bug pile because they didn't understand what you were doing / had written their own versions of something you implemented). Hell, they dumped a fast and relatively efficient C++ version of their product (before I joined) to write a craptacular, buggy, slow Java version - 10x the memory footprint, 1/50th the speed. So I don't work as a software engineer anymore, even though I love it... I work as a cook. At least in
that job you expect your managers/chef not to trust you and to treat you like an idiot...
Re: Amusing Cat Tricks
Posted: Sun Feb 21, 2010 12:14 am
by earlz
Lithorien wrote:DednDave wrote:Also as an interesting note, assembly programming is really fun. I never thought I'd say that, but after working with it, I can't help but enjoy it.
...the sign of a true geek
i would like to play with a machine that has 24 cores, just so i can diddle the affinity bits
i would have to say that i am a geek, too
I doubt it's the sign of a true geek.
I just love how much minute control over the machine you get that you really can't get in any other language. I can do
anything with assembly, which is even more than C can say!
C can execute any opcode..
Code: Select all
uint8_t *ops={0x90,0xC3}
void (*func)();
int main()
func=ops;
func(); //executes NOP, RET
}
Also, this is a really good reference
http://www.ousob.com/ng/iapx86/
Re: Amusing Cat Tricks
Posted: Sun Feb 21, 2010 12:20 am
by pcmattman
earlz wrote:C can execute any opcode..
Code: Select all
uint8_t *ops={0x90,0xC3}
void (*func)();
int main()
func=ops;
func(); //executes NOP, RET
}
Mm, nice implicit cast there.
Re: Amusing Cat Tricks
Posted: Sun Feb 21, 2010 10:51 am
by Lithorien
Thanks!