Archive for the ‘swdev’ Category

Open data, standard formats

Thursday, June 29th, 2006

Simon Phipps has an excellent post on open data formats. Looking for a connection between a lot of new desktop tools, he notes:

all of these tools have worked out that lock-in is the new lock-out

And later:

injecting the network into society removes the commercial benefits previously achieved by closed behaviour […]. Truly open formats are creating the new market, and those who attempt to subvert the trend with pseudo-openness will fail.

While my sensitivity is not nearly as evolved as Mark Pilgrim’s outrage, Apple’s mostly closed data models are a doggedly nagging annoyance in my otherwise pleasant Dive Into Mac one year ago. I know where I want to go, and over time I’ll migrate my digital life into apps and formats that make me feel like the stuff is actually mine. It would be just ideal if Apple would move in this direction faster than I do, because I am so not in a place where I want to spend time doing what Fowler did here.

But how many people understand or care about open data? Far from enough to nudge Apple in a different direction I suspect.

(via t.bray)

Podcasts and epiphanies

Tuesday, March 21st, 2006

Okay, I’ve been bitten by the podcast bug. Listening, not creating. Now I’m trawling through old stuff I missed because I was still reading blogs. IT Conversations is proving valuable.

Here’s one I heard this weekend from Kent Beck on developer testing (recorded November 2004!). TDD and refactoring are the two big software development epiphanies for me in the last 4-5 years, and Beck literally wrote the book on TDD.

In this podcast Beck highlights the accountability aspect of TDD, and it resonated big time for me. I was also encouraged by his comments on his own difficulties writing tests being due to “not being a good enough designer. Yet.” I think that stance/insight would help more developers move into TDD.

This is reflections on, not an introduction to, TDD — for that, I don’t know a better treatment than his short, participatory text. I think it’s hard to really get it until you intentionally write that stupid little hardcoded implementation that you’re going to change in a minute … just after you write the next test.

Big idea, small price

Friday, November 18th, 2005

I’d seen mention of the $100 laptop project but never thought much past the lowered economic barrier part; reading this Wired interview with Negroponte, it’s much more interesting than that.

From this BB post, I found this Clive Thompson entry; the pencil and the mathland analogies are important ones.

The open-source aspect is very interesting too: OSS is already a pretty low-barrier world, what happens when you remove the hardware part? Not only will OSS be used (assuming this takes off) by millions of kids, any of them with any technical inclination will be carrying around their own OSS “mathland” with them. Among other things, Negroponte suggests this will push OSS desktop mainstream.

(via boingboing)

Personal wiki and multiple desktops

Monday, July 4th, 2005

I’ve found PersonalWiki a good way to keep a lot of information that was previously distributed in text files, outlook, jabber histories, etc. It’s a single, low-friction, hypertext place, with lots of good search capabilities, and my implementation is based on a free and open solution with a great support community (MoinMoin).

Now that I’ve got MultipleDesktops working smoothly for simple things using Subversion, the obvious question is can I use it to keep my PersonalWiki synchronized across machines as well?

Yes, and I’m rather happy with the result; see this experience paper for details (a wiki page at MoinMoin itself).

Subversion desktop synchronizing

Wednesday, June 22nd, 2005

I mentioned in an earlier post about groove and synchronization that I was more interested in using subversion to synchronize my work on multiple computers — an idea I first saw in this Martin Fowler post.

Adding a mac to our home has finally forced the issue, and I’ve now got a subversion repository on the mac for synch’ing my stuff across different machines. I’ve not pushed the Multiple Desktops idea very far yet — I hope to report back on that later — but I took some subversion setup notes in case you’re trying to do something similar.

(more…)

What’s your social model?

Wednesday, March 30th, 2005

Martin Fowler is very interested in his employer ThoughtWorks’s social, and consequently business, model (emphasis is mine):

Our belief is that an organization with the right social model can jump business models. This is increasingly important because business models don’t last as long now since everything is changing so much faster.

What are we doing here?

Friday, March 25th, 2005

Fowler’s CodeAsDocumentation entry starts:

One of the common elements of agile methods is that they raise programming to a central role in software development - one much greater than the software engineering community usually does.

The overall entry is concerned with documentation, and it rings as true as most everything else I’ve read from him over the years. But what caught my attention this time is the quote above: it’s a simple and obvious statement, but it compels me to post anyway.

It seems to me that so much falls out of the primacy given (or not) to coding and the code itself, and I’m tempted to plunge into an essay on the political, historical and philosophical aspects of all this. But this is a blog entry, I’m not supposed to spend the time here.

Fowler links Jack Reeves’s essays; they’re just superb, not only for treatment of the subject, but also as a kind of memoir of trying to stimulate a debate.

Smalltalk is mostly Smalltalk

Friday, March 11th, 2005

Jabbering with someone about “turtles all the way down,” I came across Avi Bryant’s blog entry on language implementations. Acknowledging someone else’s comment that Ruby and Python are at approximately the same level, he asserts that Smalltalk is a level up, because it’s mostly written in Smalltalk.

“Who cares?” I started, but once he went into discussion of tools, I got it. My Smalltalk work is (unfortunately) limited to about 20 months in 1997-98, but it was a singular experience. Among other things, it was the first time I could surf the implementation of my own environment, learning about things like thread schedulers, and finding bugs in the CORBA implementation (David Bell, I miss those days).

Avi appears to work at cincom which I’ve just learned is where ParcPlace-Digitalk Smalltalk ended up. I imagine him (based on 10 minutes surfing his blog; I’m feeling reckless today) to be a wistful Smalltalk guru, and he’s probably right to be: Smalltalk strangely never made it the way it maybe should have. A quick surf for the old products I used (VisualWorks, ENVY, DST, GemStone) is a bumpy ride over a lot of web rubble.

[ed. 2005.03.29: Avi is neither chez cincom nor wistful]

Avi closes:

But really what I’m talking about is a philosophical difference, not a technical one: to Smalltalkers, it’s essential that as much of a system as possible be implemented in Smalltalk, whereas this simply isn’t a priority for the scripting language community, and it’s the priorities rather than the individual implementations that draw me to Smalltalk.

There are currently three comments on that post: Ruby in Ruby is coming, Python in Python is coming, and the current, C-heavy implementations of these languages are already dead slow according to a set of OO benchmarks showing 70X compared to Smalltalk–itself only 3X the benchmark leader C#.NET.

Kapor on software development

Thursday, February 24th, 2005

David Strom at Tom’s Hardware interviewed Mitch Kapor; a few quotes:

Re: usability and sophisticated installs:

Eventually, the uses of metadata (emerging from today’s rapidly evolving baby steps of XML, RDF, tags, microformats and the like) will become sufficiently sophisticated. [Software] programs will be constructed [to have] automated dialogs and high-level configuration wizards for advanced users, which will tame the beast. This is a vision and dream, not imminent reality, but I am impressed with recent developments. The year 2005 might be the year of metadata.

Re: Microsoft and proprietary software development:

The biggest weakness is that [Microsoft does not] have a business model that is well-suited for the coming era. […]
I think ultimately such [proprietary] moves will fail, as the collective power of openness and the superiority of open source economics is too great. See the paper Coase’s Penguin by Yochai Benkler.

Re: the rise of the browser:

I expect that the trend of UI improvements for the browser is going to continue to accelerate to the point of parity with desktop UI for many classes of application. It will simplify application development a lot, and this is a good thing.

Dependency inversion and dynamic constants

Friday, February 11th, 2005

From Dave Thomas’ blog, an excellent short entry illustrating what containers like Spring do with dependency, and how to improve on the problem of too much magic with “dynamic constants”.

Barebones examples are in ruby and needle.