Posted by rick
Thu, 13 Jul 2006 01:07:00 GMT
Kent Sibilev posted a cool article, Tutorial on ruby-debug ,which shows off his new Ruby+C hybrid debugger suitable for use with large applications, such as Rails apps, where the debug.rb debugger was just too slow to be useful.
This brings most of the slickness of the breakpointer (just drop a line in your code and wait for the prompt to appear) to the power of the debugger (pop up and down stack frames with ease, step, breakpoint, watchpoint, whatever). Just gem install the thing and hack++.
Looks like the only thing is missing is the DRuby hooks to let the new debugger work with FastCGI (etc.) when there’s no console waiting, and I’m guessing someone will get to that before my lazy butt gets around to scratching that particular itch.
Very cool.
Tags input, rails, ruby | no comments
Posted by rick
Mon, 10 Jul 2006 04:05:00 GMT
I was reading an article from But Uncle Bob called Tests are a language, which should resonate with the Behavior Driven Development crew (hi Dave!) (heck, there’s even mention of a Python port of rSpec in the comments), when I noticed a link out to Inform7, a tool for writing interactive fiction using a language which is basically English to define the program. Quite impressive.
Tags bdd, input, rspec | no comments
Posted by rick
Thu, 06 Jul 2006 15:16:00 GMT
This turned up in the fortune from our Continuous Integration build today, and I thought it was particularly amusing:
The majority of pacifists either belong to obscure religious sects or are simply humanitarians who object to taking life and prefer not to follow their thoughts beyond that point. But there is a minority of intellectual pacifists, whose real though unacknowledged motive appears to be hatred of western democracy and admiration for totalitarianism. Pacifist propaganda usually boils down to saying that one side is as bad as the other, but if one looks closely at the writing of the younger intellectual pacifists, one finds that they do not by any means express impartial disapproval but are directed almost entirely against Britain and the United States …
—George Orwell, Orwell’s Notes on Nationalism (May 1945)
Tags input | 1 comment
Posted by rick
Mon, 05 Jun 2006 03:27:00 GMT
I mentioned earlier that I’ve been reading Christopher Alexander’s The
Timeless Way of
Building
(TWoB hereafter). I finally finished it this morning after N months of
reading on it. On the one hand I’m just like that: I’ll have 5+ (or 10+)
books lying around open and partly read for months at a time, meaning that
nothing really gets read quickly. On the other hand, I think TWoB deserves a
slow and considered reading, and that’s how I approached the book.
TWoB is, on the surface, a book about architecture. It even says so in the
title. It’s author is a well-known architect (still living, even, as far as I
know). With its two sequels (A Pattern Language and The Oregon Experiment ) it has, however, caused quite a stir in another field—that of
software development. TWoB was published in 1979, after 14 years of effort,
so we’re now over 40 years from its inception.
In 1995 the so-called “Gang of Four” (GoF) text Design Patterns: Elements of
Reusable Object-Oriented
Software
was published. Inspired by Alexander’s work on pattern languages for building,
the authors (and their collaborators) brought “patterns” and pattern languages to computer software.
Since that time the adoption of patterns in the software community as both
paradigm and panacea has been rapid and widespread. A simple search for
pattern-titled books on software in any decent library, or on web stores such
as Amazon will produce a dizzying array of results. There are design patterns,
analysis patterns, configuration patterns, integration patterns, deployment
patterns, you name it. There are publishers who appear to believe that no book
should be printed for consumption by software developers (and their management
cousins) unless the word “patterns” appears on both cover and spine. There are
job applicants going to interviews who know the 23 patterns in GoF by heart,
speak them like some sort of creole dialect, and couldn’t code their way out of
a soggy paper sack.
As a long-time software developer (ok, I never used a punch card, but I’ve been
around long enough to know the following…) I can readily say that ours is an
industry beset by marketers, marketroids, buzzwords, acronyms, predatory
vendors, incompetence and an infinite amount of hype. As an industry our tools
are mostly broken, our projects mostly failures, our memories systemically too
short, and our confidence mostly beyond our abilities. Not only do we almost
never have a solid gauge on how competent we (ourselves) are at what we do, it
seems that everyone outside our profession is even worse at judging our
competence. Not only are many programmers better suited (for the benefit of
both those near to them and those working in our field at large) at doing lawn
work or, better yet, washing dishes at restaurants where the health department
doesn’t inspect very often; but mind-bogglingly destructive practices are
promoted as “best” practices on the backs of the opinions of vocal
better-off-washing-dishes incompetents and unscrupulous vendors willing to sell
any buzzword or acryonym so long as the slogan is heard wide and the coffers
are filled deep.
Into this dire ecosystem some decade ago was launched a good-intentioned
campaign to bring Alexander’s brilliant insights (and after combing through
just one of his many texts, I believe Mr. Alexander has earned the descriptive
“genius”) into the industry of software development. Having read a number of
discussions of how influenced the GoF were by Alexander’s pattern languages,
and how good their intentions, I truly believe they believed they were doing
the industry a great service. I think they may have even done so. If you
catch a contradictory tone here (or a hesitance) though, it’s because I don’t
believe we have seen that service yet bear fruit. Worse, I have my doubts it ever will.
While reading TWoB I was repeatedly struck by how powerful the authors
concepts were, how clearly they were related, how inevitably the Good followed
from his observations and suggestions. I was drawn back repeatedly to the
realization that there were so many parallels between software and
architecture. I was truly compelled by his invocation of Taoist principles,
his explanation of the Quality Without a Name, and that quality’s
inevitability: as a consequence of breathing life into a building, a community,
a town.
Alexander exposed systematically the problems resulting from our modern methods
of industrial, methodical, mechanical construction of not just our buildings
but our lifestyles. He digs deep into the living way to build, to live, that
all of us instantly recognize when we see it. He drew in the foundations of
Eastern philiosophies. He shows a way back, through a simplifying and
life-giving formalism (the pattern language) to the practice of building and
living in a manner that is whole and alive, The Way that is timeless, which
infuses our surroundings with the Quality Without a Name, which ultimately
releases us from the need for the pattern language itself and returns us to the
natural way of living and building which balances the forces around us and
simplifies life and happiness.
Looking from his viewpoint back into the past decade of pattern-inspired
software development I see that “pattern” has become just a replacement word
for the (abysmal and soul-sucking) marketroid buzzword “best practice”. A
pattern is something you’ve done at least twice, or something that someone
smarter (or richer, or more cutting-edge) says you ought to be using instead of
solving problems on your own. “Just show me the patterns I need to know”, says the lazy developer, “and don’t make me learn all that other nonsense.”
Even the inspired writing on patterns for software has hit at such a narrow
scope and has left behind the core, the foundation, of what makes Alexander’s
work so compelling, so powerful. Alexander’s patterns were a way of
summarizing and exposing living techniques for those who could recognize them,
but who had been robbed of their innate knowledge of those techniques by the
distracting and numbing systems of modernity. In a tiny way the patterns were
a shorthand, but more importantly they are a temporary crutch to be used to
escape the paradoxes and failures of modern systems (which produce buildings,
communities, and lives without the Quality Without a Name) and to return to our
basic living understanding of how to make living places that are perfectly
adapted to their environment and the problems they face.
What was brought over was stripped completely of Alexander’s core, stripped of
purpose, and converted to a set of tiny rules showing common techniques for
handling tiny problems. Where Alexander’s patterns cover concepts from the
scale of individual windows up through the process of constructing a living
neighborhood, covering also patterns of repair; software patterns, where they
are helpful at all, are mired at the level of the window pane.
Even these are contentious. The simple and common “Singleton” pattern from the
GoF book is the subject of much chest-thumping and vitriol these days. If
such a simple pattern cannot even be agreed to be “good” or “alive” or to
encourage the Quality Without a Name I wonder what software “patterns” could.
At one point in TWoB Alexander writes:
In short, a building laid out by a pattern language process, and which comes to
life because of it, will die again, quite certainly, when it is built, unless
the process of construction is the same—unless, that is, the same spirit
which generated rooms that are just right, entrances where they should be,
light coming from the right directions . . . is carried on into the details,
and also shapes the columns, and the beams, the window frames, the doors, the
vaults, the colors and the ornament as well.
And what strikes me is that Alexander’s pattern language is so far reaching
that only the tiniest part of it deals with those details of construction
(windows and columns and doors, etc.), otherwise dealing with all the powerful
layers above these. These other tiny patterns are indeed important, but so as
well is this other final once-omitted piece: the patterns of the process of
building. In software we have, with a few tiny exceptions (I would include
Martin Fowler’s Analysis Patterns book in this area, which addresses a
slightly higher-level set of patterns that sometimes feel as if they could
generate the Quality Without a Name in a software system) only patterns about
nails and window pains and door knobs. We have nothing about building down
from the higher levels, always ensuring we first make something living. We
have nothing, really, about the process of construction, or the process of
repair, that fits with Alexander’s core drive, that produces systems and
interactions that are alive.
We have continued in the business of making dead systems, while deluding ourselves into thinking we have learned something that could make a thing that is living.
At the risk of having Amazon sue me for grabbing one of their reviews (go ahead
and sue me), here’s one of the many reviews of the GoF book:
My only critique of the book is that it is very heavy on examples. It is all
relevant and if you have the time to read and digest it all you will be a
better programmer. However, there are more consice books that do a better job
of distilling the important concepts of design patterns and books that provide
better modern approachs. This is the type of book that you have to read in
school becuase it is a classic. I would equate to classic literature like Homer
or War and Peace. They are important in a scholarly sense if you wants a deep
historic understanding of the topic. However, you can understand and use design
patterns without reading other books and you will save a lot of time.
Another good analogy is the way calculus is taught in school. First they teach
you in-depth complicated way. They take you through all the steps the inventor
went through to come up with it. Then they show you the short cuts that are
used in common practice. You have a better understanding of the topic because
you know the hard way but you would be foolish not use the short cuts.
So you can read this book and get an indepth understanding or you can skip this
step and go straight the a consice book that shows you how patterns are used
practically today.
(source)
In one sense a perfectly reasonable review, if you’re sitting out in cubicle
land looking for a book that will get your head above water with whatever the
important thing is you Must Know to stay afloat in a hyper-competitive
industry. Replace the subject matter (design patterns) with any other modern
buzzword or “best practice”, say XML, JSP, CSS, Unit Testing, Continuous
Integration, Behavior-Driven Development, JMX, Ruby on Rails, etc., etc., etc.;
and you could publish that review 500 times and have people give it 4- and
5-star ratings. Buy that book, or become unemployable.
Pretty dismal, sure, but them’s the breaks. Only, after reading the primary
source, it’s truly depressing. 90%+ of TWoB was pure Eastern philosophy.
The book was primarily about how languages of patterns exist already in the
world, have existed since the beginning of society. They are visible in the
oldest and newest buildings and towns that are “living”, not “dead”. Alexander
had been looking for The Way to build something alive, and spent 14 years
writing this first volume to help communicate it. It’s powerful. The book is
essentially about the Tao and a way we can practically shrug off the blinding
layers of automated and modernized living and building to get back to the Tao.
The only thing that carries over to software development though is the smallest
and weakest part of the “crutch”. The Tao is left behind. The Way is not here.
It is clear in reading TWoB that a pattern language which is not driven by
the need to make something that is alive, that is the best that it can be, will
be incapable of making anything at all that is alive. Even missing a single
important step will result in the realization of a living design which is
itself dead.
It is obvious to me now that, despite it’s seeming inevitable proliferation,
that the software “patterns” movement is stillborn. In its best moments it
uncovers a few nodes in the lower reaches of the graph of a useful pattern
language, which appears doomed to never reach the important upper reaches where
it could ever result in a living system. Otherwise, this “movement” is mostly
a vehicle for buzzword proliferation, a hook onto which tireless unscrupulous
vendors hawk the next beta release of snake oil, a veil behind which hides
laziness and confusion masquerading as work and knowledge.
If I seem a bit jaded or cynical, perhaps I am. But it’s really aggravating to
see all the sound and fury dedicated to “improving” the horrid state of
software development and realize that the vast bulk of it really does signify
nothing. Patterns are worthless if they are adopted without any of the
important fundamentals that could ever make them “work”. Calling what passes
for patterns in software “patterns” is actually insulting to Alexander, and
tangentially, to anyone who has ever built something which has the Quality
Without a Name.
This is not an attempt to insult the Gang of Four and their comrades who
wished, and worked, to bring Alexander’s insights across the border into our
field. On the one hand, perhaps what they were trying to do is impossible. On
the other, they surely knew they were beset on all sides by wolves: the wolf
of incompetence, the wolf of capitalism, the wolf of undisciplined
practitioners, the wolf of Good Enough, . . . the pack goes on.
There has never been a software system built which comes near to having that
Quality. In the direction we’re headed I can’t see that any such system will
ever be built.
Is it possible to build software that is “alive”, that has the Quality Without
a Name?
I can’t be sure, clearly. I’ve been thinking about this for months, the
duration of the time spent reading TWoB, and may well think about it for 14
years as Alexander did, and perhaps the full 41 years it took to get us from
that book’s inception to know. And I probably will still not have an answer by
then.
Regardless, it will take more than replacing “best practice” with “pattern”.
We don’t have, as a species, the history in software that we have with
building. Software is in some fundamental ways different from building:
software is all design, the building must be part of the design process (sorry
waterfall proponents, but this much has become clear in the past decade);
software is malleable, like clay rather than stone, and we know that, for some
real value of Good that Good software stays this way; that we know so much less
about software; that software is complex like mathematics, in ways that
physical things like buildings cannot be; that software doesn’t wear out, but
that software can run only so long as the world supports the way it runs; that
people don’t sit inside software and read a book; that people don’t look at
software (at least not yet) and have clear feelings about it; that software is
more destructively dominated by fashion than even architecture; that tools
which are themselves destructive to building whole and living systems are often
championed as The One True Way to build a system. Let me stop before I start
enumerating the languages and tools which have done so much to so many for so
long, sucking the very hope of life out of systems and developers alike.
Where industrial techniques are the enemy of living architecture,
software development is, at this point in time, only willing to think of
industrial techniques. From where I sit this forecloses the possibility of The
Quality Without a Name from software. Without this, why bother with “patterns”
at all?
The only thing positive I suppose I can say at this point is that any attempt
to build living systems in software is most likely to come from a small group
who work long years on building systems in a way that mirrors the way we build
living homes and communities. Perhaps someone will gain insights like
Alexander’s and still have the time to share them with us. Perhaps some of us
will have the sense to listen.
Tags input, output, read, recently | 2 comments
Posted by rick
Sat, 03 Jun 2006 23:19:00 GMT
Worth your time to read this, which makes coherent so much that seems complicated and confusing about the battle over copyrights.
[...]
We emphasize and affirm the tendency that it is getting harder to distinguish between local transfers of data and “file sharing” between different systems, for example in wireless environments. Digital technology is built on copying bits, and internet is built on file-sharing.
Copying is always already there. The only thing copyright can do is to impose a moral differentiation between so-called normal workings and immoral.
For the copyright industry, it is of extreme importance to keep people uninformed of the real workings of networked computers. They want to make an artificial distinction between “downloading” and “streaming”, as equivalents to record distribution and radio broadcasting.
But – and we should keep insisting that – the only difference between “streaming” and “downloading” lies in the software configuration on the receiving end. However, copyright law will never be able to acknowledge that. It has to rely on fictions, on a kind of cognitive mapping, where notions valid for traditional one-way mass media are forcefully applied to the internet. We call it Mental Rights Management (and it is the very precondition for DRM).
It is essential for the copyright industry to keep the majority of computer users trapped in the belief that the ”window” of their web browser is exactly a window, through which they can look at information located elsewhere, under someone else’s control. Then our job is to clarify that everything you see on your screen or hear through your speakers, is already under your control.
Zeros and ones have no taste, smell or color – be they parts of pirated material or not. Therefore it is impossible to construct a computer that cannot reproduce and manipulate these zeros and ones – as such a machine would no longer be a computer, but something as grotesque as a digital simulation of the machines of the last century. [...]
Tags input | no comments
Posted by rick
Mon, 29 May 2006 23:59:00 GMT
An interesting article from Stratfor’s George Friedman about the coming break point in Iraq, appropriately entitled Break Point.
Tags input | no comments
Posted by rick
Tue, 23 May 2006 23:32:00 GMT
As seen on Boing Boing, Help make a RTFM on global warming, says:
“Alex Steffen of WorldChanging says: “Given that An Inconvenient Truth opens this week, and that it appears that the president just acknowledged that climate change is real, and that there’s been an uptick of “climate skeptics” leaving disruptive, if not downright trolling comments on environmental and science blogs recently, we thought it would be useful to come up with a way of signaling that the debate is really over on these subjects, and its time to move on.”
So WorldChanging has started a discussion about developing “a page which can become shorthand in blog comment threads and online discussions for ‘we’ve already gone over this,’ a sort of RTFM message for climate change science.”
So, I’m all for education, and all for trying to find some clarity in the “debate” (or at least the shouting past one another that sometimes passes for a debate) around “Climate Change”/”Global Warming”, what have you.
What I’m not for is ignoring the fact that there is a chasm of opinion between those who take the position(s) that there is a detrimental climate change underway which is historic, dangerous, man-made, can be attributed to the excesses of Western civilization, and can somehow be changed through activism and/or policy; and those who take issue with any or all of those points (who are also often lumped together with those who have sold their souls to Exxon and lobby for dirty two-dollar bills from corporate masters).
The “let’s close the non-existent debate” tack, while mildly amusing (and definitely chic), only undermines its point. There is a strong and wide variation in facts and interpretation on climate change and plugging ears does little to move things forward.
Pastafarianism—that’s funny. It works on so many levels, precisely because the recent “Intelligent Design” “argument” is least of all “Intelligent”. We’re to the point where even bishops are acknowledging that Intelligent Design as a theory provides little useful or constructive. Striking at the base of ID absurdity has ultimately done more to harm that “movement” than all the reasoned arguments to which ID proponents refuse to listen.
On the other hand, those who would motivate action by calling down the doom that is Global Warming rest on a long string of tenuous claims purporting to point an arrow straight to desired policy goals:
- The planet is getting warmer.
- Is it? Perhaps. Depends on whom you ask, what you mean by “warming”, and what answer you want to hear. I’d probably (personally) be willing to grant this one, but there are climatologists who differ, maybe rightly, maybe wrongly.
- This warming is unprecedented.
- Even more suspect. There is stronger evidence that the planet has been warmer, that the planet has warmed faster, and that it was warmed more significantly (i.e., difference of degrees between cold trough and hot peak).
- This warming is manmade.
- Perhaps. Perhaps in part? Perhaps not significantly at all. Muddying questions: What caused the Ice Ages and what caused the drastic warming afterwards? What about evidence correlating warming to external factors, esp. sun activity? What about the fact that glaciers have been in retreat for 700+ years in Alaska (I’ve seen the evidence in person with my own eyes, so it’s hard for me to shake)? Why is data constantly being revised on this question? Which batch of research are you using? etc.
- If we do not “do something” X, Y, and Z catastrophic thing will happen.
- First off, how do we know that, sans action, the described trends would continue? How do we know the nature of the trends at all? What particular batch of research, what particular models, and what particular fit to the trend are we using: do we presume from ice cores, under a particular computational model, that the trend is a quadratic rise in temperature which will continue forwards? Second, the planet has weathered certainly more severe climate changes in the past, over much shorter and longer spans—what makes us believe the impact of a climate change is actually negative. I mean, are we worried primarily about beachfront property, or are we worried about the freakin’ Planet? Go read the archives of alt.destroy.the.earth sometime and see just how hard it is to really do anything serious to the planet. There is a wide range of evidence suggesting that warming, apart from the disruptive effect it may have on the insurance industry and the stability of the societies of this virus-with-shoes we call humanity, that warming is actually beneficial for the diversity of species and actually increases the habitable ranges of many flora and fauna. What I’m saying is that I’m not even sure anyone knows whether a warming planet would be “bad” for anyone other than Allstate and the yuppies in the Hamptons who could use a salad turd now and then anyway.
- But, given all that, if we just {ratify Kyoto, drive a corn car, Drive those fuckers out of the White House, Elect Al Gore, go see this movie, read this book, Get ANGRY, recycle, revert to Pleistocene-era technologies and population levels, etc.} then the climate will start making a comeback and everything will be Alright.
The conclusion I always come to is that there are a bunch of corporate lobbyists, shill groups, and general right-wing reactionaries on one side distorting the case against climate change; and there are a bunch of idealistic, ideological, dogmatic, left-wing reactionaries distorting the case regarding Global Warming.
Ultimately it’s the same continual over-hyped shit: the “Left” hates the “Right” and vice versa. Corporations are dumping PCBs in the Hudson, and generally fucking up the planet., but probably not raising the temperature, whether or not that would be good or bad. The activist army can’t grasp economics or global scale facts, and will tar with any brush so long as the paint sticks.
Overall, most people have the facts wrong, and there’s many things more dangerous than half-informed self-righteous prigs (no matter what their agenda)—but few things more annoying.
(...and, yes, I’m aware that the last bit applies to me too. ;-)
Tags global, input, warming | 1 comment
Posted by rick
Tue, 16 May 2006 00:48:00 GMT
Our CEO was profiled on the front page of the Tennessean’s business page this morning. It’s quite a long article, and in the last 1/3rd of it he talks quite a bit about the software project I’m managing. He doesn’t mention it, but it’s (to our knowledge) the largest Ruby on Rails project on the planet, and one of the higher profile ‘we switched from Java’ cases you can find as well.
So, um… W00t!
Tags input, rails | no comments
Posted by rick
Mon, 08 May 2006 16:02:00 GMT
Best comment ever.
(scroll down to comment #3, in response, of course, to comment #2)
Kebab King from Jackson Heights said 89 days later:
Greetings, Sreenu!!!
I am, too, very much having an interest in these rails happenings and the ebay! I am quite politely in the development of many several of “ebay frameworks” (but not ebay hahaha) and the rails are “work very sufficiently” for my needs. I think you are doing the Right Thing and even though you are “very stupid” right now, with hope and much Prayer to teh god you can develop one very similar ebay framework as I do. I wish you best lucks and may the fat loins of your wife bear many “strong boy”!!
Tags input | 1 comment
Posted by rick
Fri, 05 May 2006 12:31:00 GMT
I'm not sure which is more priceless -- the implication that artists' volunteer labor is akin to that of "illegal immigrants", the apparent going rate for hourly "illegal" work, or just the whole freakin' email to all members message.
Check it out: [Plowhaus-members] another weekend of work
(The Plowhaus is a local co-op gallery that I've actually shown work at -- it's a good idea with some good projects, but also characterized by ongoing strife and ego conflicts, this being but the latest example.)
Tags input, plowhaus | 1 comment
Posted by rick
Mon, 24 Apr 2006 02:28:00 GMT
We had a pretty rock-ass quintuple birthday party at our place on Saturday night. Tom Selleck, Tom Cruise, Blondie, the ghostbusters, and, of course, The Hulk showed up!
(thanks to Jimmy for the photo and the Stay-Puf appearance!)
Tags input | no comments
Posted by rick
Mon, 17 Apr 2006 22:15:00 GMT
Almost completely apropos of nothing: an interesting collection of tidbits about Che Guevara from the early NSARCHIVE collection.
In case you’re all worked up now to show your socialist fervor and get some spending on, perhaps you’ll visit Che Mart? (thanks to Michael for that link.)
Tags input | no comments
Posted by rick
Wed, 12 Apr 2006 18:29:00 GMT
There’s a saying about how people hire that goes, “A’s hire A’s and B’s hire C’s.”
Turns out the saying is incomplete—the full saying is, “A’s hire A’s and B’s hire C’s and C’s hire at random.”
I’m pretty sure there’s a corollary about firing that goes something like “A’s don’t fire, but B’s fire A’s, and C’s fire at random”.
There’s something about Parkinson’s Law that makes me wonder about these rules of thumb, but they seem to be pretty accurate out in the workplace.
Tags input, thought | 1 comment
Posted by rick
Wed, 05 Apr 2006 02:34:00 GMT
Check this out: this group hands out disposal cameras to migrants in northern Mexico and to Minutemen here in the U.S.
Tags input | no comments
Posted by rick
Wed, 29 Mar 2006 21:30:00 GMT
Here’s an uplifting little read: Why you too should cancel cable. I think the last time I had cable was when I lived in New York which would’ve been around 1998 (“we”, my wife and I, have never had cable the entire time we’ve lived together). I actually auctioned off my television at work on May 6th, 1998 after having what alcoholics would call a “moment of clarity”...
Having been convinced some time ago that there is nothing but
propaganda present in today’s television broadcasts (other than the
NCAA college basketball tournament which is long past) I have finally
decided that it is pointless for me to own a television—hence I
am offering mine for sale.
The television is a Magnavox, cable ready 21” set (I believe that’s
correct, maybe it’s slightly bigger). Picture is perfect. Sound is
somewhat fuzzy. No remote control (this was destroyed in a television
disillusionment episode, sorry). I purchased it at The Wiz 2 years
ago for around $300.
I estimate that the set is worth $100 (or more) to someone who is
interested in watching television. I will conduct the sale as
follows:
1 – The sale is offered to the person presenting the best offer to me via
e-mail (received) prior to midnight (EDT) tonight. Earlier offers receive
precedence over later offers of the same size. I reserve the right not
to sell if no reasonable offers are received.
2 – Assuming there is such an offer I will bring the set to the Setauket office
tomorrow morning. At that time the potential buyer may inspect the set, and
either accept or decline the sale.
If the sale is declined then the person with the next best offer will
be contacted. This will continue until the set is sold or there are
no more offers.
Happy shopping,
Rick
It was sold to a co-worker who wanted to neutralize the impact of the mother-in-law who had moved in “temporarily” some non-trivial amount of time prior.
These days we have 3 televisions in the house, all piled on top of each other, one of which is a 13” set I had as a kid, which I connected to my Commodore {VIC-20, 16, 128} computers over the years. The other two televisions are color 70’s vintage and were given to us for free by someone who was about to trash them. In the past few years this is all I can recall watching on them:
- a bouncing message on the screen of a Commodore VIC-20 (ran for a few days straight)
- over-the-air broadcasts of lots of UK basketball games and NCAA tournament games, occasional miscellaneous college hoops
- a couple of World Series games when the Red Sox won it
- channel {2,4,5} radar maps showing tornadoes swooping into the local area
- the presidential debates and a couple of State of the Union addresses (you have to watch them to play Presidential Debate Bingo and the State of the Union Drinking Game)—for these we’d tune all 3 televisions to different broadcast channels to see just how biased and moronic the coverage from the major networks is in real time. (Answer: thoroughly)
- some DVDs
Occasionally we’ll have a television-addicted visitor come and stay for a while and crank up the Idiot Box, but otherwise it’s pretty much just an appliance that show hoops and weather occasionally.
Tags input, television | 1 comment
Posted by rick
Sun, 05 Mar 2006 01:04:00 GMT
A fun look at various programming languages from inside the walls at Amazon. Go there.
Tags input | no comments
Posted by rick
Sat, 04 Mar 2006 01:37:00 GMT
This guy has one of the better collections of rants I’ve read in a while, over at that aaronsw info(-how-is-this-supposed-to-make-money-again?)gami thingie.
Tags input | no comments
Posted by rick
Sat, 25 Feb 2006 17:43:00 GMT
Here is an interesting presentation from OSCON2005 by Jim Weirich entitled Dependency Injection:
Vitally Important or
Totally Irrelevant?
Tags input, ruby | no comments
Posted by rick
Wed, 22 Feb 2006 00:44:00 GMT
We found some old pictures that had lain hidden for years and took them in to be developed. Oh, we got some surprises when they came back!
Here’s a gem of a shot from my 30th birthday party. This was at someone else’s house down around here. Hot pink stratocaster for some reason not pictured here.
Rock & ROLL!!!
Tags birthday, input, rick, rock, roll | no comments
Posted by rick
Mon, 20 Feb 2006 22:45:00 GMT
This is just priceless:
Harold Hurtt has suggested that surveillance cameras be placed “in apartment complexes, downtown streets, shopping malls and even private homes”, according to this story in the Seattle Post Intelligencer. In response, I hereby found…. The Hurtt Prize
The Hurtt Prize is a $1060 (and growing) reward for the first person who can provide definitive videotaped evidence of Houston police chief Harold Hurtt committing a crime, any crime. This evidence will posted here and forward to the Huston Police Department along with a demand that action be taken.
Tags input | 1 comment
Posted by rick
Thu, 16 Feb 2006 05:05:00 GMT
A post to the aosd-discuss list, re: [aosd-discuss] AOP myths and realities article published.
Tags aspect, input, java, thoughts | no comments
Posted by rick
Wed, 15 Feb 2006 22:56:00 GMT
Just got a call and it looks like I’ve got a free ticket to tonight’s Vandy vs. Florida game. Awesome!
UPDATE: we went, and it was a great ballgame. There’s a recap post on the hoopsmap site.
Tags hoops, input | no comments
Posted by rick
Wed, 15 Feb 2006 22:52:00 GMT
I’d rather hunt with Cheney than ride with Kennedy. From the Chase Me Ladies weblog that Sean turned me on to.
Tags input | no comments
Posted by rick
Wed, 15 Feb 2006 19:44:00 GMT
The BBC is carrying an article, UK holds Microsoft security talks, which prompted some thoughts from me about so-called “Trusted Computing”.
So:
- A person’s PC holds data they cannot get to.
- Would they be held accountable in court for that data store,
presuming it held information about accessing, say, child pornography
(whether correct or incorrect?)
- A person’s PC holds an encryption key they cannot manage:
- What if this key is compromised, duplicated, etc., for purposes of
fraud? Like biometric keys, unless done properly (and you trust
Microsoft and friends to pull this off?) key forgery, fraud,
duplication can cause serious problems for the rightful holder of the
credentials.
- What if the motherboard on a “Trusted” machine is toasted from a
spilled soda—sounds as if the inconveniences of iTunes/Windows
Media DRM become consequences to much more than just movie and song
data…
- A person is not allowed to install programs that aren’t authorized to
run on their system. This would initially be those which might violate
a copyright, but would, in various political environments (probably
starting with China or other repressive states), expand to match the
whims of controlling entities. The slippery slope is steep here, and
the chasm probably has big pointy spikes at the bottom.
- Companies (the OS vendor, copyright holders, who else in the future?)
determine what may run and what may be stored on a person’s PC. This
would quickly expand to governments and any other entities who could
lobby, buy, or extort the privilege of being a “Trusted” third party.
Imagine, instead of having to dam up the flow of information at highly
porous Chinese borders, if the flow could be controlled, in parallel,
at its source.
- If a hardware problem arises (seemingly the most likely case where
data on the system is changed while the system is offline, which the
article makes much mention of) any amount of stored data, apparently,
will be unrecoverable—over and above the data which would normally
have been affected by the hardware problem.
- Governments are working to make the PC into a Clipper Chip—only
this time not only would the government have access, but the OS vendor
and who-knows-how-many other entities would have access to the data on
the system.
- A general purpose PC is more powerful than a Clipper Chip—rather
than just being able to restrict and backdoor data reading, the new PC
platforms could readily backdoor functionality as well. If the
government, OS vendor, or copyright holder (or …?) wishes for the PC
owner not to be able to run certain software, open certain files (which
he or she may have created from nothing, e.g., home movies, snapshots,
open source software, etc.) or requires that certain software always be
run (spyware, logs of content uploaded and downloaded, etc.) then these
sorts of “innovations” are also possible, probably trivially enabled.
In this new technological paradigm we have a situation where the person
who has the least control and gains the least utility from the PC is the
nominal owner. Everyone else has more control over the machine, the
software, and the data than the person who purchased the system (or
built it from components).
Of course, to ring in the new paradigm in good Orwellian fashion, The
Oxford Dictionary of Newspeak <-> Old English gets a few updated
definitions:
- “Trust”: mistrust, skepticism, suspicion.
- “Trusted”: (1) mistrusting, skeptical, suspicious; (2) controlling,
enforcing, preventing; (3) policed.
- “Owner”: (1) customer, lessee, suspect; (2) one who is monitored,
suspected criminal.
- “Hardware failure”: illicit tampering with systems (1) to secure
illegal access to copyrighted data, (2) to attempt to attain control of
a computer system, (3) to engage in sedition.
It has been facile for government and industry to point to “piracy”,
“file sharing”, and “dwindling industry profits” to justify
engineering “protections” into our systems, markets, and laws (DMCA,
various attempts at CBDTPA type bills, Broadcast Flag legislation, WIPO
agreements, trade treaties, etc.). But, Google could buy Hollywood with
a stock swap, Microsoft could buy them with cash on hand, and the record
labels are truly chump change—without looking I’m going to bet that
the backhoe rental industry is bigger, and if not, throw in the engine
brush industry, and #2 pencil production.
When the tiny tail is wagging the humongous dog this strongly it’s worth
looking a little more closely at the dog.
“Trusted Computing” and the legal framework around it certainly helps
the Content Industry, but, really, who cares? Setting a standard for
controlling computing hardware (which is the PC, as well as anything
with a digital adder or a serial port, cat-5 or cat-3 jack, an infrared
port, etc.) means lots of things to lots of entities who really really
get off on Control, and, worse, are currently feeling just a bit
threatened:
- Microsoft – Vista has no new positive features to speak of,
Microsoft’s dominance is being threatened by open source software,
Google, and web applications on all fronts. “Trusted Computing” means
that Microsoft shores up the vendor of choice position, can exclude
open source software completely (whether by “misconfiguration” or by a
bold fiat) from its platform.
- Intel – threatened by AMD as well as video card and game station
processor builders and integrators, “Trusted Computing” provides Intel
with the blessing of the deus ex machina.
- Government – gentlemen don’t read each others’ mail, but governments
do. ANY scheme to get more control over the public and weasel more
information out of them is going to find a set of sympathetic ears in a
legislature, much less an administration. Add a cut of the profits in
whatever fashion can keep the “ethics” hawks off the politicians’ backs
and you’ve got a hog trough with a waiting line.
- Hardware vendors – the entire planet won’t go “Trusted Computing” (as
not everyone is batshit crazy), which means that where there was one
product line there are now two. W00t!
- Non-OS Software vendors – Open source software is starting to take a
serious toll on the viability of a lot of software lines. Mandating a
platform which excludes open source software as “untrusted” shifts the
ecosystem drastically.
The biggest loser in all of this is the public, the “consumer”, the
untrusted source of dollars to keep the machine running. The gamble
comes down to “are people so addicted to the Microsoft/Intel way of life
that we can pull this off without running them off?” The Trusted
Computing folks are betting the odds are on their side.
UPDATE: This article, HBO stops working with Media Center, seems particularly apropos. The future is already here in some form, eh?
Tags copyright, drm, input, microsoft | no comments
Posted by rick
Mon, 13 Feb 2006 17:14:00 GMT
Check this nonsense out… A bit ago there was some noise being made about how Grants.gov was an IE-only website.
What’s Grants.gov? (from the WaPo)
The new “Grants.gov” system, under development at a cost of tens of billions
of dollars, aims to replace paper applications with electronic forms. It is
being phased in at the National Institutes of Health, Department of Housing
and Urban Development and other federal agencies. All 26 grant-giving
agencies are supposed to have their application processes fully online by
2007.
But the system only works for Windows users. This is a pain in the ass for Mac users, and it seems that a non-trivial number of scientists are Mac users (having been close to a number of labs in a number of states over the years it seems like SGI users would also have a bone to pick, but there’s probably at least one Mac in most of those SGI labs as well).
I figure, no big whoop: it’s just the typical incompetent Microsoft fanboy contractors doing something stupid to make the site not work outside of IE. Often this is something as moronic as having JavaScript which checks the browser’s User-Agent string and complaining if it doesn’t report a version of IE. Such nonsense it typically relatively easy to fix once people complain.
Or, as is often these days, a .NET shop doing the development vomits out a site which relies on ActiveX controls to do sorting of tables, etc., and which is never going to work on non-Microsoft browsers. That’s a real headache, but there’s usually some reasonable way to slash and burn until it’s relatively platform agnostic.
The word on the street is that they’ll be taking the time to support Mac users (for example), so I was thinking it must be something straightforward. As much as it sucks for billions of our tax dollars to be wasted on botched IT spending, it’s nothing new for government systems, and it sounds like things would converge on something moderately usable which harkens back to the 1996-era web. Pretty good for a government website overall.
Then I read a follow-up email to Dave Farber’s IP list, including this choice revelation:
As an IT Employee at a research institution who just finished working
to get my local Mac users up and running on the Pure Edge platform, I
can say, the process of getting it working was annoying – but it is
possible – grants.gov has made a Citrix server available for public use
for the application, has provided links to the Citrix web to allow people
to download the client, and has provided a Citrix profile which will
allow pretty much anyone to access the grants.gov citrix server.
To my knowledge, correct me if I’m wrong, Citrix provides a technology that lets clients use a non-browser software program to bring up Windows applications in a “remote desktop” fashion. Meaning that you’ve got a Windows server (or one of an acre of such) out there somewhere behind Grants.gov that’s running an application, you run Citrix, you connect to that desktop, and you do point-and-click Windows desktop operations to get your work done.
So, not only is this not a “web application”, this paradigm is very difficult to scale to handle any sort of significant load, doesn’t work with browser technology, and, in short ignores the last decade and a half of progress in the field of software development. And it’s being fielded today as a taxpayer funded gateway for all new grant processing?
I’m flabbergasted at the immeasurable incompetence it would take to field such a “solution”, and the chutzpah it must take to pretend this is a good use of tax dollars and some sort of step forward for the process of research funding.
I can’t imagine how one can justify spending money for Microsoft Windows servers on the back end, Microsoft licenses, Citrix licenses, support headache costs, etc., to deploy a system that doesn’t utilize the web, isn’t browser agnostic, and doesn’t interface with the community it’s intended to serve. The project I’m managing is deploying a huge system that’s platform agnostic, database agnostic, fully leverages the web, and which can be deployed with zero licensing costs (it can also be deployed on Oracle if you choose to pay for that). Our budget is a vanishing fraction of that for Grants.gov (but still well into the non-chump-change realm) and we still take our mission to fit the user community’s needs with the utmost seriousness.
If what I’m reading is true, Grants.gov is a product of rampant and pervasive incompetence.
Oh well, perhaps I should eat lunch now. Things always look better after lunch. :-)
Tags input | no comments
Posted by rick
Mon, 13 Feb 2006 04:39:00 GMT
Well, there’s some real potential in this: Firebug is a slick extension for improving the
javascript and AJAX debugging experience in Firefox. So when is IE going to promote this sort of developer ecosystem? Heh.
Tags input | no comments
Posted by rick
Mon, 13 Feb 2006 03:21:00 GMT
An ancient article is making the rounds again, discussing the similarities between the thinking of computer scientists and Libertarians. Choice quote:
When I observe how most people approach politics, it reminds me of the way my
hypothetical student approached his program. A person notices that some people
are making $1 and $2 an hour and are having difficulty managing financially on
such a sum. This seems bad and they want to fix it. But they have no model of
interaction that would allow them to reason about what might cause such a
result. So they decide to pass a minimum wage law so the problem will go away.
And it does (apparently). There aren’t any poor people making $1 and $2 an
hour anymore. But there are suddenly lots of unemployed people who have to
live off welfare (a new problem). Does the person make the connection and
realize that they caused this problem? Not without a model of interaction. So
instead they say we have to fix the unemployment problem. And then we have to
fix the new problems generated by the fix to the unemployment problem. And
then we have to fix the new problems generated by the new fixes. And so on.
If you suggest that eliminating minimum wage laws and the government
interference that made those people so poor in the first place would be a
better solution, they look at you incredulously and say you must be crazy.
This is just like the situation with my TA and the student who had added 2
lines of code to make the numbers print out correctly (“Are you crazy? Why
would I delete those lines of code when the numbers would then print out
incorrectly?” Because the problem is elsewhere, and that’s the problem you
should be addressing, but that’s difficult to explain to someone who doesn’t
have a model of how his program works).
Of course, at the end we wind up with the obvious problems of social integration:
I mentioned the importance of logic to CS IQ. I believe it is equally
important to libertarian philosophy. From my observation, libertarians tend
to think that all political questions can be answered with an almost
mathematical certitude. There is no such thing as “a friendly disagreement”
in mathematics. If two mathematicians disagree, then one is mistaken.
Similarly, if two libertarians disagree, each asserts that the other is either
operating from a false assumption or has a flaw in his logic. I think
nonlibertarians are really turned off by this, particularly because it comes
across as obnoxious and egotistical. But libertarians seem to thrive on it.
The community has a kind of intellectual-warrior ethos.
Logic is important, but the ability to work and play well with others is equally as important.
Tags input | no comments
Posted by rick
Fri, 10 Feb 2006 22:15:00 GMT
Aslak Hellesoy (DamageControl author, Thoughtworker, etc.) just announced a new library for doing GraphViz-style graphing in a browser canvas tag using JavaScript. I’m liking this.
Tags input | no comments
Posted by rick
Wed, 08 Feb 2006 22:58:00 GMT
Check this craziness out: Pinup girl wants back into U.S. That story’s got everything—rappers, the INS, trucking companies, and a pro-wrestling-style she-said/she-said feud.
Tags input
Posted by rick
Wed, 08 Feb 2006 13:46:00 GMT
Fisheye appears to be a pretty cool tool for visualizing progress in a source code repository. It claims to work with Subversion on Linux, so it’s a potential good fit for us. I’ll give it a spin first chance I get.
UPDATE: Well, it still looks like a nice product, but it’s got three major strikes against it for me:
- To download it you have to register, with email address (and they do the circa-1998 “favor” of setting all the “would you like our spam newsletter?” checkboxes to on by default)
- They use a license manager and you’ll want to get a Trial License to get the thing up and running
- It’s Java
Now, I have no beef with people writing proprietary software and making a living at it. I’m just not likely to use their software, and I’m absolutely certain not to introduce their software into our company, especially if it’s just a tool to get a look at subversion lines of code. I mean, trac works very well for us for 98% of the things we want out of tools to sit on top of subversion. The other 2% we could, frankly, write in a Ruby or Perl script in a short afternoon. I was just hoping someone had already done the work and open sourced it. Guess this isn’t that.
The last bit, about it being Java… There are a lot of people who live in the Java World, who run Java this, run Java that, use Java tools, write Java, run Java, have Java installed on every machine, etc. This is just like there are people who live in the .Net World. This is just like there are people who live in the LAMP World—which is probably a fairly close approximation to where we live, and it’s certainly where I live.
To live in one World and run an application from another World incurs a really high switching cost: you have to install the basic runtime stuff, get the servers set up properly, switch over to thinking in the idioms of that world, just to get one thing to run. Granted, some transitions are easy: if you’re running Java on Linux, it’s much easier for you to run some LAMP software than if you’re on Windows, e.g. Being where we are, in the LAMP world, without any significant Java infrastructure these days there’s a pretty high bar to putting the Java bloat back on the server that we just got rid of a few months ago. Especially for an app that doesn’t give us a big payoff and has a couple of other strikes against it.
Tags input | no comments
Posted by rick
Tue, 07 Feb 2006 15:39:00 GMT
There are some slick AJAX exmples continuing to turn up online. These caught my eye today:
Tags input
|
banned vocabulary
multitask(|ing|er) (n.t.)
|