|
|
About
Christian Simms's Software R&D, Generative Programming and other R&D.
Subscribe
Subscribe to a syndicated feed of my weblog,
brought to you by the wonders of RSS.
Links
These are a few of my favorite links.
Oligopoly Watch
Google News
The Register
Slashdot
F***edCompany
Drudge Report
The Economist
|
|
|
Fri, 2 Jul 2004
Interesting Async Programming Paradigm
Here's a good paper describing the approach that
the Twisted networking framework uses when structuring asynchronous
client programs. The paper mentions the influence of Smalltalk, one of my favorite languages. If you want
to play with SmallTalk, go to Squeak and play with it!
You can also learn about an alternative to MVC programming, because that's what Squeak has. The MVC successor
is called Morphic programming. It's hard to describe, but it's basically direct manipulation development.
What you're working with under your mouse *is* the object that you're developing. I believe
that Apple's Interface Buildercopied this model.
I say copy because Morphic programming comes from the people who originally developed SmallTalk, and Apple
grabbed the ideas we're used to like overlapped windows, mouse, IDEs, from the original SmallTalk developers.
[]
permanent link
Build Automation
I've had great success in the past setting up automated build systems for Java projects.
The one I've personally used several times is CruiseControl.
It takes a while to configure it, but once it's running it's pretty stable. It seems like each major release
they make they redo the internal architecture. You can set it up to monitor activity in your source control system,
and when commits happen, it can then kick off a new build (after waiting for a specified quiet period of say 60
seconds). This build process can include:
- checking out the latest code
- doing a clean build
- starting the app server
- running unit tests
- shutting down the app server
- updating the build statistics page
- sending an email about success / failure of build and tests
I found an interesting real-time build monitoring system called
CIA Open Source Notification System.
It's an open source GPL software application (based on Python, Twisted, among others).
Besides being a software project, it also has a live demo where it monitors about 200 open source systems.
Their demo site (or is it an open source ASP?) shows live web pages showing
overall activity on a per project basis.
You can drill down on each project to see
statistics of build / bug tracking activity for each project.
Each project can define rulesets to control routing of raw events into its knowledge scheme.
They also provide RSS feeds of the aggregated data. They have IRC bots, I think to monitor projects.
A competitor to CruiseControl is the BuildBot, which
is written in Python and uses the Twisted network framework.
Here's a sample page. I don't find the presentation
intuitive. But one major feature it has over CruiseControl is that it supports distributing the build
over multiple machines in a network to test multiple platforms.
My buddy Mike has a technology-related weblog as well.
[]
permanent link
|
|