Amusing Cat Tricks
Amusing Cat Tricks
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.
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.
- Owen
- Member
- Posts: 1700
- Joined: Fri Jun 13, 2008 3:21 pm
- Location: Cambridge, United Kingdom
- Contact:
Re: Amusing Cat Tricks
JZ and JE are actually the same opcode
Re: Amusing Cat Tricks
Are you kidding me?Owen wrote:JZ and JE are actually the same opcode
...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.
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Amusing Cat Tricks
Maybe you activated some unknown mechanism when you typed "cat somefile.S" in a shell
-
- Member
- Posts: 50
- Joined: Sun Sep 20, 2009 4:03 pm
Re: Amusing Cat Tricks
Thats what i wanted to hearLithorien 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.
Re: Amusing Cat Tricks
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.
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.
Every good solution is obvious once you've found it.
Re: Amusing Cat Tricks
...the sign of a true geekAlso 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.
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
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.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.
Thank you for sharing that - I never knew it before.
Re: Amusing Cat Tricks
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!DednDave wrote:...the sign of a true geekAlso 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.
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
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.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.
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.
Every good solution is obvious once you've found it.
Re: Amusing Cat Tricks
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...Solar wrote: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.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.
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.
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
C can execute any opcode..Lithorien wrote: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!DednDave wrote:...the sign of a true geekAlso 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.
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
Code: Select all
uint8_t *ops={0x90,0xC3}
void (*func)();
int main()
func=ops;
func(); //executes NOP, RET
}
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: Amusing Cat Tricks
Mm, nice implicit cast there.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 }
Re: Amusing Cat Tricks
Thanks!earlz wrote:Also, this is a really good reference http://www.ousob.com/ng/iapx86/