A design should be written on the smallest napkin possible, but not smaller.
That's as insightful as it is funny.
Programmers should resist the urge to pull out a computerized tool when modeling. If it doesn't fit on a napkin, it's probably not abstracted enough to be useful to those who need it. If you need to "zoom in" on one of the boxes on the napkin, pull out another napkin.
Do you need to archive it on a computer, perhaps on an internal Wiki? Scan it. Does it need to be prettier than a scanned napkin? Ask why. Those who want it prettied up are usually those who wouldn't know what to do with it in any format.
Don't overlook the enormous mnemonic value of a napkin. That stain on the side where Jim spilled his drink immediately brings back memories of the meeeting, including all the things that were said but aren't written on the napkin.
For those who find napkins hard to draw on, use small sheets of paper instead. Just don't reach for that drawing tool! You'll end up spending all of your time figuring out how to make that font bigger and how to keep the lines from crossing inappropriately rather than just getting on with it and drawing the model.
I set my browser home page to my bookmark page on my wiki server. It's somewhat combersome to add links to it, but I can use from any browser, and best of all, I can edit it from any browser.
Back when floppies were floppy, and when there were single-sided floppies (cheaper) and double-sided floppies (more expensive), frugal hackers would buy single-sided floppy and cut a notch in the plastic case so they could use the other side. And lo and behold, it would usually work.
Of course, most manufacturers only made double-sided floppies, but when testing them, some would have one side that wasn't good. Those would be packaged with one hole cut in the plastic case: single sided. If there weren't enough one-sided disks to make single-sided floppies, some of the floppies that were good on two sides would go into the single-sided cases. That's why programmers could play data roulette by punching holes in the cases of single-sided floppies to make them into double-sided floppies. And that's why the above so-called flame bait is actually insightful.
why was there such a rush to deorbit the Iridium satellite constellation?
They are fairly large birds, large enough that pieces of them may reach the surface, so they much prefer to deorbit them under control than wait for them to fail and reenter wherever they will.
Also, I recall hearing (but cannot confirm) that there is now an international treaty that puts some requirements on satellite operators to try to reduce the amount of space debris. One of the Motorolla guys on the Irridium project told me that each bird has a command-loss timer that, eventually, causes it to deorbit autonomously if nobody has talked to it for a long time. This is all hearsay; it'd be nice to hear from someone who actually knows something.
These guys make sound deadening boxes for AV people.
Re:Heisenbugs...
on
Debugging
·
· Score: 4, Insightful
Heisenbugs are almost always caused by buffer overflows.
They are also almost always caused by race conditions, the most insidious of which is thread-safe code that turns out only to be safe on a uniprocessor system.
And don't forget the phase of the moon, or for the truly unlucky, intermittently glitchy hardware.
I use mostly interpreted languages in my daily work, and have for years now. I love the fast edit/test cycle, but that's not the biggest reason. The biggest reason is that most of them, at least the ones I use, are dynamically typed. It's wonderful being free from the yoke of static type checking. My code talks a more about the problem it's solving and less about how it's solving the problem.
I'm not sure if I'd like dynamic typing if I weren't doing lots of test-first programming, but with strong unit test coverage my tests are doing much more to ensure the reliability of my code than static type checking can possibly do. Static type checking is a weak substitute for real tests, but if you're not doing testing, it's the best test you've got.
Don't forget the wonders of lexical closures, something offered by any self respecting interpreted language. That's another feature that makes code more expressive and less yackity-yackity.
Software verification is essentially mathematically proving the software....
I've been hearing how great formal verification is since I started this gig. Three decades later, it's still not what Yourdon and his buddies thought it would be. When the first computer scientists were budded from mathematics departments, their mathematical discipline allowed them to do wonderful things, some of which we're still catching up with. But it also gave them some disturbing habits, the worst of which is the insistence that formal verification is the best way to write code, and anyone not doing so must be a fool.
Formal verification is a powerful tool, but as you say, it is expensive and applies to only a limited set of problems. If it were so cheap and so widely applicable, we'd be using it everywhere.
We've poured decades of funding into formal verification, but the useful tools keep coming from other avenues of research. I think it's time to stop beating the formal verification drum.
More than anything, you need the human qualities: humility, forgiveness, optimism, caring. Being good at the technical side: scheduling, risk management, and so on, is a necessary but not sufficient condition for being a good leader. The human side is the other condition.
Another DeMarco book: The Deadline. It appears to be a book about managing a factory. It's not. It very much applies to software.
Don't forget Peopleware, again by DeMarco (really, read everything DeMarco writes). This one is very much about software, and is right on.
Back to the human side of being a leader, be sure to read Managing from the Heart. I hope you aren't put off by the title; it explains better than I can how being humane is good for you, good for your employees, and it's even good business.
We live in a society where we demand control over what we smell: We pick air fresheners for our home and car with scents we like. We use deoderants to make sure that if we smell, it's a smell we picked. We put on purfumes and calognes that we picked. And when we smell something we don't like, we'd sure like to change it or get away from it.
So why would someone allow someone else to pick what they're smelling? I don't think they would.
The only use for this thing that I can think of is a potpourri web site that would would let people download custom smells. Then the user would be picking the scent. But it's so much cheaper to just go to Wally World and buy an air freshener. This is destined to be a product the Sharper Image catalog, something that you buy when you have too much money to spend and need a silly gift for that person who already has all the useful things.
At least as it's packaged in Debian, memtest86 has a binary image you can just add to your lilo.conf so you can pick it when you boot. Neither a floppy nor a CD is needed.
Yes, minimalists love wikis. I'll describe a Wiki for those who haven't seen one: A wiki is a web site where you can modify the pages (usually cgi driven). In its purest form, a wiki is a collection of web page anyone can read or modify, but most wiki software now allows you to restrict access in various ways. Most wikis also version control their pages, so you can undo mistakes made by you, or if it's a world-writable wiki, undo mistakes made by others.
A wiki is somewhat easy to modify (typing your changes into a CGI text box is OK but not the greatest), very easy to search, and pretty easy to link pages together. It's biggest advantage is that you can read and edit it from from anywhere you have a browser. I use a wiki to store notes and links -- I don't keep bookmarks on my browser anymore, so now it doesn't matter which browser I'm using or what computer I'm on. I just set my browser home page to my wiki page that has all my links on it.
If you don't want to run your own, there are wiki sites that will lend you space to do your own thing in (Here's one public wiki, but there are others.
[Olympus Mons has] nearly 3 times as high as the Everest summit... less gravity to escape, less fuel to burn.
The gravity at Olympus Mons is higher than average. Check out this gravity map of Mars. All of the black spots (the spots with the highest gravity) are volcanoes; the leftmost black spot on the left hemisphere is Olympus Mons.
Gravity decreases as you get farther away from the surface, but when you're at the surface, it is the mass of the stuff under your feet that matters.
It notably does not use fossil fuels in the process.
It most certainly does use fossil fuels.
Ethanol takes energy to make. Lots of energy, possibly more
than it contains. That energy comes from fossil fuels. Ethanol
is not an energy source; it is a different way to store energy, and
not a particularly efficient one.
Using Ethanol as a fuel is mostly a way to funnel money to Corn
Belt farmers.
These guys do inexpensive automated scans for a living. They run all the tools you know and love (nessus, nmap, etc.), and can be set to scan on a schedule, or you can do one-offs.
This is a plug (they're friends), but check it out: It seems to be what you're looking for.
Do Ethiopians even have their own food or is it all shipped in in bags from UN aid organizations?
I had the same thought until I actually ate at an Ethopian restaurant.
There's a wonderful Ethopian restaurant in Tempe, AZ, that's turned into one of my favorite places to eat. It's called Cafe Lalibela (review). Many of the dishes are a thick stew which you eat with the aid of a large, spongy flat bread. The dishes are wonderfully spiced (but not usually hot). They serve a spice tea that my sweetheart has to have whenever we go there. It's darned good food, the service is friendly, and the prices suit college folk. I'd recommend giving Ethopian food a try.
Wasn't it said of Al Capone - "Patriotism is the last resort of the scoundrel".
No cookie for you: "Patriotism is the last refuge of a scoundrel" -- Samuel Johnson. It's not known who he was referring to, but it couldn't have been Al Capone; Capone was not born until 115 years after Johnson's death.
What evoluationary principle would that be? That badgers are made of ping-pong balls falling down a ramp?
The similarity (I have to squint to see it; perhaps I'm lacking imagination) only illustrates that the brain sees patterns wherever it can. It's why people see Elvis in the fridge and hear their coffeepot talking to them.
By all means, explain what compression artifact in the JPEG algorithm, or natural process occuring on Mars, accounts for the top two images (in the left column, not the Viking contexts) at this page, containing raw images from the Mars Global Surveyor dataset.
To tell you the truth, they look like very interesting sand dunes to me, so I don't feel a need to explain them. Those for whom the images look organic should keep in mind that the human brain is specially built to recognize organic things. It's far more likely that your brain is taking an organic interest in an inorganic thing than it is that there is actually a large organic thing in a place that, as far as we can tell, should not be able to support it. Keep in mind also that the Earth, the friendliest place we know to large organisms, supports none as large as the suspicious looking sand dunes in those images.
Given that we know that brains like to see organic things where they don't exist, and that Mars is not a friendly place for large organic things, and that organisms that large don't exist even on Earth, I think it is up to you to explain why those are organisms. Extraordiary claims require extraordinary proof.
Yes, NASA TV could have done better, but I admit that I enjoyed the campy, amateur-hour flavor.
I thought the commentators did a great job, but I found myself wanting more of a raw feed with a lot less explanation. When someone on the flight control loop reports that they've aquired a signal, I don't need someone to repeat that they've aquired a signal. I don't think that Joe Armchair needs it either.
I also found myself wishing they'd be quiet when something was happening. There was incredible drama in the room; some of the commentary got in the way of the story. When someone in the loop says something, the explainer should hush up so we can hear.
Still, great program. I sent the cats flying for cover with my hooting when I heard that they had a safe landing.
Stop giggling at the title... you know what I mean.
The first sentence implies that this is a cure; the second that this is a preventative measure. The second sentence is right. It can prevent hearing loss, but won't recover already lost hearing.
If it were me, I'd take the pill and wear hearing protection. The pill seems like a great idea for those who simply can't have ear plugs.
I understand that war doesn't stop for a soldier to insert ear plugs, but do soldiers use hearing protection at the firing range?
Words, related by concepts hidden Only author knows their meaning: A shiny toaster, cherry tree, IBM 360, PIC, my little sister's doll house. Perhaps too stupid, me. But perhaps words beyond comprehension, certainly beyond communication.
That's as insightful as it is funny.
Programmers should resist the urge to pull out a computerized tool when modeling. If it doesn't fit on a napkin, it's probably not abstracted enough to be useful to those who need it. If you need to "zoom in" on one of the boxes on the napkin, pull out another napkin.
Do you need to archive it on a computer, perhaps on an internal Wiki? Scan it. Does it need to be prettier than a scanned napkin? Ask why. Those who want it prettied up are usually those who wouldn't know what to do with it in any format.
Don't overlook the enormous mnemonic value of a napkin. That stain on the side where Jim spilled his drink immediately brings back memories of the meeeting, including all the things that were said but aren't written on the napkin.
For those who find napkins hard to draw on, use small sheets of paper instead. Just don't reach for that drawing tool! You'll end up spending all of your time figuring out how to make that font bigger and how to keep the lines from crossing inappropriately rather than just getting on with it and drawing the model.
I set my browser home page to my bookmark page on my wiki server. It's somewhat combersome to add links to it, but I can use from any browser, and best of all, I can edit it from any browser.
Flamebait? Someone's grumpy this morning.
Back when floppies were floppy, and when there were single-sided floppies (cheaper) and double-sided floppies (more expensive), frugal hackers would buy single-sided floppy and cut a notch in the plastic case so they could use the other side. And lo and behold, it would usually work.
Of course, most manufacturers only made double-sided floppies, but when testing them, some would have one side that wasn't good. Those would be packaged with one hole cut in the plastic case: single sided. If there weren't enough one-sided disks to make single-sided floppies, some of the floppies that were good on two sides would go into the single-sided cases. That's why programmers could play data roulette by punching holes in the cases of single-sided floppies to make them into double-sided floppies. And that's why the above so-called flame bait is actually insightful.
why was there such a rush to deorbit the Iridium satellite constellation?
They are fairly large birds, large enough that pieces of them may reach the surface, so they much prefer to deorbit them under control than wait for them to fail and reenter wherever they will.
Also, I recall hearing (but cannot confirm) that there is now an international treaty that puts some requirements on satellite operators to try to reduce the amount of space debris. One of the Motorolla guys on the Irridium project told me that each bird has a command-loss timer that, eventually, causes it to deorbit autonomously if nobody has talked to it for a long time. This is all hearsay; it'd be nice to hear from someone who actually knows something.
This was sorta covered back in A Practical Approach to Shushing your PC, especially in the many replies.
These guys make sound deadening boxes for AV people.
Heisenbugs are almost always caused by buffer overflows.
They are also almost always caused by race conditions, the most insidious of which is thread-safe code that turns out only to be safe on a uniprocessor system.
And don't forget the phase of the moon, or for the truly unlucky, intermittently glitchy hardware.
I use mostly interpreted languages in my daily work, and have for years now. I love the fast edit/test cycle, but that's not the biggest reason. The biggest reason is that most of them, at least the ones I use, are dynamically typed. It's wonderful being free from the yoke of static type checking. My code talks a more about the problem it's solving and less about how it's solving the problem.
I'm not sure if I'd like dynamic typing if I weren't doing lots of test-first programming, but with strong unit test coverage my tests are doing much more to ensure the reliability of my code than static type checking can possibly do. Static type checking is a weak substitute for real tests, but if you're not doing testing, it's the best test you've got.
Don't forget the wonders of lexical closures, something offered by any self respecting interpreted language. That's another feature that makes code more expressive and less yackity-yackity.
Software verification is essentially mathematically proving the software....
I've been hearing how great formal verification is since I started this gig. Three decades later, it's still not what Yourdon and his buddies thought it would be. When the first computer scientists were budded from mathematics departments, their mathematical discipline allowed them to do wonderful things, some of which we're still catching up with. But it also gave them some disturbing habits, the worst of which is the insistence that formal verification is the best way to write code, and anyone not doing so must be a fool.
Formal verification is a powerful tool, but as you say, it is expensive and applies to only a limited set of problems. If it were so cheap and so widely applicable, we'd be using it everywhere.
We've poured decades of funding into formal verification, but the useful tools keep coming from other avenues of research. I think it's time to stop beating the formal verification drum.
More than anything, you need the human qualities: humility, forgiveness, optimism, caring. Being good at the technical side: scheduling, risk management, and so on, is a necessary but not sufficient condition for being a good leader. The human side is the other condition.
Books about the technical side:
Here's a book about scheduling: Slack by DeMarco.
Another DeMarco book: The Deadline. It appears to be a book about managing a factory. It's not. It very much applies to software.
Don't forget Peopleware, again by DeMarco (really, read everything DeMarco writes). This one is very much about software, and is right on.
Back to the human side of being a leader, be sure to read Managing from the Heart. I hope you aren't put off by the title; it explains better than I can how being humane is good for you, good for your employees, and it's even good business.
We live in a society where we demand control over what we smell: We pick air fresheners for our home and car with scents we like. We use deoderants to make sure that if we smell, it's a smell we picked. We put on purfumes and calognes that we picked. And when we smell something we don't like, we'd sure like to change it or get away from it.
So why would someone allow someone else to pick what they're smelling? I don't think they would.
The only use for this thing that I can think of is a potpourri web site that would would let people download custom smells. Then the user would be picking the scent. But it's so much cheaper to just go to Wally World and buy an air freshener. This is destined to be a product the Sharper Image catalog, something that you buy when you have too much money to spend and need a silly gift for that person who already has all the useful things.
At least as it's packaged in Debian, memtest86 has a binary image you can just add to your lilo.conf so you can pick it when you boot. Neither a floppy nor a CD is needed.
Yes, minimalists love wikis. I'll describe a Wiki for those who haven't seen one: A wiki is a web site where you can modify the pages (usually cgi driven). In its purest form, a wiki is a collection of web page anyone can read or modify, but most wiki software now allows you to restrict access in various ways. Most wikis also version control their pages, so you can undo mistakes made by you, or if it's a world-writable wiki, undo mistakes made by others.
Ward Cunningham wrote the canonical wiki, but there are many others now.
A wiki is somewhat easy to modify (typing your changes into a CGI text box is OK but not the greatest), very easy to search, and pretty easy to link pages together. It's biggest advantage is that you can read and edit it from from anywhere you have a browser. I use a wiki to store notes and links -- I don't keep bookmarks on my browser anymore, so now it doesn't matter which browser I'm using or what computer I'm on. I just set my browser home page to my wiki page that has all my links on it.
If you don't want to run your own, there are wiki sites that will lend you space to do your own thing in (Here's one public wiki, but there are others.
Please elaborate on this concept.
Closure (programming)
Is the real problem that we're killing too many of the fishes we didn't intend to catch? Or is it that we're catching too many fish?
[Olympus Mons has] nearly 3 times as high as the Everest summit... less gravity to escape, less fuel to burn.
The gravity at Olympus Mons is higher than average. Check out this gravity map of Mars. All of the black spots (the spots with the highest gravity) are volcanoes; the leftmost black spot on the left hemisphere is Olympus Mons.Gravity decreases as you get farther away from the surface, but when you're at the surface, it is the mass of the stuff under your feet that matters.
It notably does not use fossil fuels in the process.
It most certainly does use fossil fuels.
Ethanol takes energy to make. Lots of energy, possibly more than it contains. That energy comes from fossil fuels. Ethanol is not an energy source; it is a different way to store energy, and not a particularly efficient one.
Using Ethanol as a fuel is mostly a way to funnel money to Corn Belt farmers.
These guys do inexpensive automated scans for a living. They run all the tools you know and love (nessus, nmap, etc.), and can be set to scan on a schedule, or you can do one-offs.
This is a plug (they're friends), but check it out: It seems to be what you're looking for.
Do Ethiopians even have their own food or is it all shipped in in bags from UN aid organizations?
I had the same thought until I actually ate at an Ethopian restaurant.
There's a wonderful Ethopian restaurant in Tempe, AZ, that's turned into one of my favorite places to eat. It's called Cafe Lalibela (review). Many of the dishes are a thick stew which you eat with the aid of a large, spongy flat bread. The dishes are wonderfully spiced (but not usually hot). They serve a spice tea that my sweetheart has to have whenever we go there. It's darned good food, the service is friendly, and the prices suit college folk. I'd recommend giving Ethopian food a try.
Wasn't it said of Al Capone - "Patriotism is the last resort of the scoundrel".
No cookie for you: "Patriotism is the last refuge of a scoundrel" -- Samuel Johnson. It's not known who he was referring to, but it couldn't have been Al Capone; Capone was not born until 115 years after Johnson's death.
What evoluationary principle would that be? That badgers are made of ping-pong balls falling down a ramp?
The similarity (I have to squint to see it; perhaps I'm lacking imagination) only illustrates that the brain sees patterns wherever it can. It's why people see Elvis in the fridge and hear their coffeepot talking to them.
By all means, explain what compression artifact in the JPEG algorithm, or natural process occuring on Mars, accounts for the top two images (in the left column, not the Viking contexts) at this page, containing raw images from the Mars Global Surveyor dataset.
To tell you the truth, they look like very interesting sand dunes to me, so I don't feel a need to explain them. Those for whom the images look organic should keep in mind that the human brain is specially built to recognize organic things. It's far more likely that your brain is taking an organic interest in an inorganic thing than it is that there is actually a large organic thing in a place that, as far as we can tell, should not be able to support it. Keep in mind also that the Earth, the friendliest place we know to large organisms, supports none as large as the suspicious looking sand dunes in those images.
Given that we know that brains like to see organic things where they don't exist, and that Mars is not a friendly place for large organic things, and that organisms that large don't exist even on Earth, I think it is up to you to explain why those are organisms. Extraordiary claims require extraordinary proof.
Yes, NASA TV could have done better, but I admit that I enjoyed the campy, amateur-hour flavor.
I thought the commentators did a great job, but I found myself wanting more of a raw feed with a lot less explanation. When someone on the flight control loop reports that they've aquired a signal, I don't need someone to repeat that they've aquired a signal. I don't think that Joe Armchair needs it either.
I also found myself wishing they'd be quiet when something was happening. There was incredible drama in the room; some of the commentary got in the way of the story. When someone in the loop says something, the explainer should hush up so we can hear.
Still, great program. I sent the cats flying for cover with my hooting when I heard that they had a safe landing.
Oh, I do hope someone mods that up. I've got coffee dripping from my nose now.
Stop giggling at the title... you know what I mean.
The first sentence implies that this is a cure; the second that this is a preventative measure. The second sentence is right. It can prevent hearing loss, but won't recover already lost hearing.
If it were me, I'd take the pill and wear hearing protection. The pill seems like a great idea for those who simply can't have ear plugs.
I understand that war doesn't stop for a soldier to insert ear plugs, but do soldiers use hearing protection at the firing range?
Words, related by concepts hidden
Only author knows their meaning:
A shiny toaster, cherry tree,
IBM 360, PIC, my little sister's doll house.
Perhaps too stupid, me.
But perhaps words beyond comprehension,
certainly beyond communication.