You are 100% accountable for your source
"It is just amazing how the mainstream software development industry is
behind the times in comparison to other more advanced disciplines; the
below fragment by Mary Poppendieck summarizes what I am writing about."
Caught this through the feed of MSDN blogs and it hits a good point.
Specifically, every line counts and every line is one more line of
source you need to keep correct in relation to every change made
anywhere else in the code. Now, this has some other points to consider,
such as private constructs being a little less dependant on other code,
but on the whole it is a pretty true and simple statement. Keep your
source code lean, and don't add what you don't need, because every line
you write is another line you need to worry about when you make any
change anywhere. Of course, this i
I just found
Donovan Prestons year-long-so-far project that really takes everything
Nevow has been reaching for to another level. JotLive has always been a
pretty cool thing, but I honestly found it more gimmicky than anything
else, and couldn't see myself finding it all that useful. Pavel,
however, is jaw-dropping.
Go and watch the webcast, as it is really the best way to see what this
is capable of. I would love to play with this sometime soon, and maybe
try my hand at creating some object types to play with in Pavel. I'm
already formulating ideas to pitch to Donovan, including container types
(which I imagine might be anticipated already) and possibly configurable
handlers for incoming objects passed through portals within certain
containers. Just think of the usefullness of a "Reviews Pending" space
that had a portal
There is a recently discovered issue with Nevow's Athena LivePages.
LiveFragment nesting fails if the nesting gets too deep, due to repeated
cloning of the contexts, including the full chain of parents back to the
root of the document. This was hitting the call depth limits in some
tests idnar was working on. I found this to be a little worrysome, as my
designs for the current project included some relatively deep nesting of
LiveFragments; at least, as deep as the tests that found the error.
Eventually, contexts are to be removed from nevow entirely, as I
understand it, but this is far down the road. A temporary solution was
needed, besides just not using so much nesting. I decided that instead
of redesigning the system I was building, I would fix the bug, and I
have. I posted Trac Ticket #602 along with a patch that fixes it.
Recursion is a very useful software construct, but sometimes it can bite
you in the end when you don't even expect it to.
In part of my current project, I've tried to make things very spiffy
and use that nice AJAX stuff we all hear so much about. I do this
through the wonderful Nevow, which makes much of the work a breeze.
Some of the things I wanted to do, however, it isn't there on yet, so
I had some more work on. Here is a story.
Nevow has a concept of a LiveFragment, which is a piece of a dynamic
webpage that can be placed into a LivePage and attached to a counter
of the pool are able to call methods between one-another, to
facilitate anything you want that can be done in either language. All
of this works through the transport system of the LivePage to
communicate back and forth. Some recent changes allow easier
post-render initialization of new LiveFragments, but it isn't perfect
This is how is basically works, and some of this may change soon, as
Nevow is a work in progress.
A friend of mine has expressed an interest in learning to program, to
dive into the dream of creating the next great video game. I've decided
to tutor him, and teach him some things, as we make a small game for his
first jump into code. I've made a decision to go about this differently
I'm teaching him using Twisted.
Twisted is an asycronous programming framework, and while it works great
for games, some would question my use of it on a newbie. I actually
think that the fresh mind might absorb the concepts easier than an
otherwise tainted programmer's mind. We'll see, I suppose.
I've decided to start a second blog, where I will post only about
programming-related topics, and I will leave my
other blog for any of my non-programming posts. I
think this will help me in the long run. Too often, when I want to post
something, I wonder if its too geeky or too non-geeky, so obviously
there is an issue there.
So, I'm trying to make a career move. I'm tired of programming being a
hobby; I want it to be a career. Right now, I don't even have a career.
I only have a job. This choice comes at an interesting time with a
reason that both gives me more reason for this Big Move, and more to
worry over about doing so. My wife is pregnant, and our first child is
due in May. When Caelan is born, I want to be here with my wife and my
son! Of course, that means I will be worrying about supporting a child,
now. Although I can make more money doing this, the stability of it is
So this is a little more subjective than most posts I want to make here,
but it still fits better than on either of my other blogs. Do I have too
many blogs? That will have to do, until I get around to utilizing more
proper and tag-supporting blog software. Anyway...
The internet is a amazing. The myriad of information is just
fascinating, and would be overwhelming, if it were possible for any one
person to truely grasp just how much data there really is out there. Not
only can we not possibly grasp it, but there is no way to really utilize
it. We make baby steps, every day, to obtaining more and more of that
information. Or, rather, we make steps in obtaining more specialized and
exact pieces over a wider selection of that information. The ammount of
information we can take in has pretty much maxed, I think. All we can do
now, is utilize that limit by being more intelligently selective of what
is available for us to take in.
The Needle is someth
Other places online
- Developer by love, Tester by trade for Red Hat
- Vegan atheist commie feminist for a maybe-doomed world
- Partner and Parent
- Some times writer and artist
- Enjoyer of TV and games