|
|
|
Monday, August 23, 2010, posted by @ 9:55 AM
Lady Gaga Sings About Java Programming
Thanks for Seth Friedman, who sent me a link to this gem. Words fail me.
BTW, the lyrics are not fully safe for work. You have been warned. Oh and also BTW, I really like Ms. Gaga's music :-)
Quote of the day:
"And now, I'm just trying to change the world, one sequin at a time." Lady Gaga
Monday, August 9, 2010, posted by @ 4:56 AM
Young Scientist Journeys
My dear friend Tony Grady (who was, among many other things, one of my roommates at the Air Force Academy) wrote me recently, pointing me to a book to which he contributed along with other alumni from the International School of Bangkok. Young Scientist Journeys was published to motivate young students to pursue a career in science.
Quote of the day:
Numerous are the academic chairs, but rare are wise and noble teachers. Numerous and large are the lecture halls, but far from numerous the young people who genuinely thirst for truth and justice. Numerous are the wares that nature produces by the dozen, but her choice products are few. Albert Einstein
Wednesday, July 28, 2010, posted by @ 1:58 AM
The Facebook Effect
Mark Zuckerberg and David Kirkpatrick spoke at the Computer History Museum, and you'll find their dialog here.
Quote of the day:
The way of the world is meeting people through other people. Robert Kerrigan
Tuesday, July 20, 2010, posted by @ 12:24 AM
MacPaint Source Code Released
The Computer History Museum, located in Mountain View, California, is not only a museum of hardware but also a museum of software. As reported by Arik Hesseldahl of Bloomberg today, with the permission of Apple Computer, the Museum has made available the original source code of MacPaint as well as the underlying QuickDraw graphics library.
MacPaint was written by Bill Atkinson, a member of the original Macintosh development team. Originally called MacSketch, he based it on his earlier LisaSketch (also called SketchPad) for the Apple Lisa computer. Bill started work on the Macintosh version in early 1983. He also created QuickDraw (then called LisaGraf) for the Lisa. Andy Herzfeld, another key member of the team, considers QuickDraw "the single most significant component of the original Macintosh technology" in its ability to "push pixels around in the frame buffer at blinding speeds to create the celebrated user interface."
MacPaint was released with the Macintosh in January, 1984. The application was written in Apple Pascal and was packaged in a single file of only 5,822 SLOC, together with an additional 3,583 lines of assembly code for the underlying Motorola 68k microprocessor, used to implement routines needing high performance as well as certain interfaces to the operating system. QuickDraw was the Macintosh library for creating bit-mapped graphics and was used by MacPaint and other applications, and consisted of a total of 17,11 lines of 68 assembly code packaged in 36 files.
Quote of the day:
Design is not just what it looks like and feels like. Design is how it works. Steve Jobs
Thursday, July 15, 2010, posted by @ 1:17 PM
Pattern-Based Engineering
Lee Ackerman and Celso Conzales have recently published Patterns-Based Engineering: Successfully Delivering Solutions via Patterns. I had the opportunity to read their manuscript while in progress, and very much enjoyed what they had to say and how they said it.
You can follow more of their work here.
Quote of the day:
Research is just like sex. Sometimes something useful comes from it, but that is not why we do it. Richard Feynman
Thursday, June 24, 2010, posted by @ 10:35 AM
Plato
Back in 1976, I had the opportunity to use Plato. Given that I was at the Air Force Academy, AirFlight was a favorite, but I also remember flirting in chat rooms (Talkomatic) and using instant messaging (Term-Talk). And that was thirty-plus years ago.
The Computer History Museum recently held a retrospective on Plato and the videos of that entire conference are now available here. While you are there, do check out the rest of the videos on the Computer History Museum YouTube channel. There are currently a legion of artifacts, with everything from historic computer films from the 1950 and 1960 decades, to museum lectures and panels, exhibit films, and co-production pieces.
Quote of the day:
I arise in the morning torn between a desire to save the world and to savor the world. That makes it hard to plan the day. E. B. White
Thursday, May 20, 2010, posted by @ 12:35 AM
Complexity and Architecture
If you are a fan of jazz and a fan of programming, you might enjoy the music of the convergently named group Rinse the Algorithm.
Quote of the day:
As complexity starts becoming more and more important, architecture is always going to dominate material. Alan Kay
Monday, May 17, 2010, posted by @ 1:47 AM
Barbie: Computer Engineer
Barbie Millicent Roberts, the best-selling doll of all time, has launched her latest career as a computer engineer.
Quote of the day:
I want one. Tony Stark
Monday, May 10, 2010, posted by @ 4:07 PM
System Resonance And The Stock Market
I once drove a really nice car that unfortunately would develop the shakes whenever it reached 60 mph. A little above that speed or even a little below, and the ride would be smooth. I recall another car that would let loose an annoying rattle behind the dashboard at particular fan settings. In each case, these cars were otherwise quite lovely to drive. It was only when certain, fairly narrow, conditions were met that they would act strangely. There was nothing really wrong with either car; both exhibited systemic problems that would manifest themselves when each system resonated in undesirable ways.
Actually, this kind of resonance is not uncommon with complex systems. Hit a series of waves in just the right way and you'll break the back of even the most carefully engineered ship; encounter a particular combination of winds and you'll topple the tallest building. You can design for and test against most such conditions, but the state space of any complex system is such that you can't afford to design and test against all possible conditions. So, common practice is to over engineer the system, be certain that you operate it within its intended design envelope, and when things that you could not design or test for happen, patch the system so that it won't happen again. Hopefully, no one dies in the process.
Now, I'm not a financial expert, but my take is that last week's stock market jitters were a manifestation of this kind of complex system resonance. The new SEC rules that have been put into place are thus a (reasonable) systemic patch, for they attempt to break the dynamic coupling among computer trading on different exchanges, a coupling that could not have been anticipated nor tested for. I say "could not have been anticipated" because you can't a priori predict where and when these kinds of resonances will take place; "nor tested" because the highest fidelity simulation of the market is the market itself, and any lesser simulation would likely never exhibit such behavior at all. At worst, a systemic resonance such as this will tear a system apart. Having a human in the loop or having explicit governors vastly changes the dynamics because, from a control systems perspective, you have a very different frequency dynamic going on, one that will either dampen or neutralize the resonance.
What's the lesson here? Software-intensive system are not immune to such systemic problems. Indeed, as we build more systems of systems, it's increasingly likely that we will see more of these kinds of strange, intermittent behaviors. Problem is, each individual system may be operating perfectly, but it's the combination of such systems under particular operating conditions that produces resonance. When that resonance happens, there will be much finger pointing, but that won't solve anything, because it is a systemic problem. Furthermore, we really lack the analytic tools to test for much less reason about such problems in software-intensive systems. So, the lessons from systems engineering apply to software-intensive systems as well: over engineer them, operate them within particular design envelopes; patch the system when it resonates. I should add that having loosely couples systems helps a great deal too, because you give the system room to move, so to speak.
Quote of the day:
It turns out that an eerie type of chaos can lurk just behind a facade of order---and yet, deep inside the chaos lurks an even eerier type of order. Douglas Hofstadter
Monday, April 19, 2010, posted by @ 11:51 AM
Many Bills
IBM has just released Many Bills, a Web-based mechanism for exploring congressional legislation.
Quote of the day:
All the legislation in the world will not abolish kissing. Elinor Glyn
Wednesday, April 7, 2010, posted by @ 10:51 PM
The Rise and Fall of Waterfall
Here's a delightful video about the rise and fall of the waterfall process.
I had the pleasure of working with Win Royce some years ago (and I have the pleasure of working with his son, Walker). Pay close attention to the scene around 4:15, in which it is made clear what Win was really trying to say (but which was oft ignored).
Quote of the day:
If debugging is the process of removing bugs, then programming must be the process of putting them in. Anoymous
Friday, March 19, 2010, posted by @ 11:49 AM
ibm.com
Today marks the 24th anniversary of the ibm.com domain, registered on March 19th, 1986. IBM's was not the first .com: that belongs to symbolics.com, which was registered on March 15th, 1985 (although that domain is largely a placeholder).
Quote of the day:
The Internet is the world's largest library. It's just that all the books are on the floor. John Allen Paulos
The Internet is just a world passing around notes in a classroom. John Stewart
The Internet isn't free. It just has an economy that makes no sense to capitalism. Brad Shapcott
A journey of a thousand sites begins with a single click. Anonymous
Wednesday, March 17, 2010, posted by @ 10:01 AM
Intermittent Behavior, Revisited
My dear friend Joe Marasco observed a nuance regarding Cummings' article which I'd failed to note.
Cummings speaks of testing as if it were an inexhaustible facility. Well, one can always test and test and test, but as Joe points out, there is always a cost: "The problem with that is that no economic venture can afford to test forever. First, the costs are prohibitive, and, second, the product never gets to market! The real question is this: where is the appropriate economic trade-off point?"
Well said. Joe goes on to observe that "If we want to guarantee that no life will ever be lost to a software defect, we are just kidding ourselves. It has happened many times whether we know it or not, and it will continue to happen. We do need to minimize obvious blunders, but with increasing complexity comes increased risk. Trying to eliminate that risk, through either brute force or elegance, is a costly proposition." I'd add that it might even be an intractable problem, if one considers the size of the state space of most every interesting system of systems. No system of sufficient complexity can be fully tested; no system of sufficient complexity can be proven to be "correct." If really want to get deep about it, my intuition suggests that this is an instance of Godel's incompleteness Theorem: there are some propositions (i.e the operational behavior of a complex software-intensive system) that cannot be proven true or false using the rules and axioms (i.e. the mathematical model of computation) of that system itself.
I have discovered a truly marvelous proof for this, but the margin is too narrow to contain it.
Quote of the day:
Boris Podolsky: James! How's the rat business? James Moreland: Well, actually it's mostly students I'm experimenting on now. Kurt Godel: My God, the mazes must be enormous. Anoymous
Sunday, March 14, 2010, posted by @ 4:57 PM
Intermittent Behavior
David Cummings, one of the developers associated with the Mars Pathfinder project, writes this story regarding the difficulty of reproducing intermittent systems failure.
Software-intensive system are just plain wicked, and - as Fred Brook notes - all such systems have an essential complexity to them that is inescapable. Add to the mix the nature of such discrete systems in their interaction with a very continuous world, then add to that the problems inherent with concurrent systems of systems - race, dead lock, live lock starvation, and the like - and you end up with something that challenges contemporary development, testing, and deployment practices. I'm not casting any disparaging thoughts to Toyoto in particular, but as David properly notes, even reproducing intermittent faults so that the root cause may be found is wickedly hard.
Quote of the day:
We have a picture for how complexity arises, because if the universe is computationally capable, maybe we shouldn't be so surprised that things are so entirely out of control. Seth Lloyd
Tuesday, February 9, 2010, posted by @ 2:23 PM
IBM Machinima
Last week I conducted a session on IBM's Machinima with Ariella Furman, which you'll find here, here, and here.
Quote of the day:
Sometimes your whole life boils down to one, insane move. Jake Sully
Tuesday, January 5, 2010, posted by @ 12:08 AM
Boyle's Law For Virtual Worlds
Boyle's Law describes the inverse relationship between pressure and volume in a closed system. Density - being mass per unit of volume - has a role to play here as well, for given a constant temperature and a given mass, if you increase the volume of the closed space you reduce the pressure and therefore the density.
I hold regular office hours at Thornebridge in Second Life and have done so for about a year. You'll find me there conducting business, lecturing and occasionally meeting customers. I've noticed that the number of residents in world at any one time has been growing steadily - no matter what time of day, it's usually in the high 60,000s - but at the same time the amount of land has been increasing. Ergo, you may find it less dense and therefore more sparse, as noted here (and yet, as the article goes on to point out, the Second Life economy is growing).
Quote of the day:
Could it be that in the future they will say, 'A real relationship! Urgh, how horrible.' The messiness and squalor of the real world, and the real-time element, might be offset by the more sanitised, two-dimensional reality of Second Life. Baroness Susan Greenfield
Monday, January 4, 2010, posted by @ 11:16 AM
Why Architecture Matters
Paul Goldberger, architecture critic for The New Yorker has just published his latest book, Why Architecture Matters. While Paul's work focuses on civil architecture, his remarks do resonate with the world of software architecture. He notes that "Architecture begins to matter when it brings delight and sadness and perplexity and awe along with a roof over our heads." David Minthorn offers a review of Paul's book, and while one might accuse Paul of being an architecture astronaut, he does care about the fragile balance between pragmatics and esthetics, wherein he talks about "the hospital that is a 'cold, forbidding environment' for patients and staff; the school designed 'more for the ease of the custodial staff' than the students and teachers; airports with 'endless concourses' designed for moving airplanes rather than people; and strip malls planned 'solely to make it easier to drive cars in and out.'"
Quote of the day:
Utilitas, firmitas, venustas. Marcus Vitruvius Pollio
Sunday, January 3, 2010, posted by @ 4:22 PM
End of the Noughties
The fifties, the sixties, the seventies, the eighties, the ninties....I've always struggled with what one properly names a zeroth decade, but with all that's transpired around the world, I suppose that noughties is good enough. So, goodbye to first decade of the 2000s and welcome to the next.
Quote of the day:
We must be willing to get rid of the life we've planned, so as to have the life that is waiting for us. The old skin has to be shed before the new one can come. Joseph Campbell
|
|
|
|