O'Reilly is such an amazing company

, | Tweet this

This just blows my mind. To date, I've never read an O'Reilly book I thought was a waste of time. I've never had anyone ever tell me they think O'Reilly was a sucky publisher and that their books were terrible. I've never heard anything negative about them at all--as near as I can tell, everyone thinks they're great. On top of that, Tim O'Reilly is a pretty cool guy. That's pretty unusual.

Then they do really intensely cool stuff like adopting the Founders' Copyright. Granted, it's for old books and most people don't find value in those older texts, but what a cool thing to do and those books _do_ have value. There's a lot of wisdom in those old texts--nothing to laugh about. If people read more of them, there would be a lot fewer web-programming noobs running around with not a clue in their collective noggins.

I have simple dreams

, | Tweet this

For instance, one dream is to make 500K and then go teach science or math in high school somewhere. Maybe New Hampshire or Vermont. I'd bet school systems could really use someone like me to hang out and get all the pieces working. The 500K part is there because that'd put me at a point in my life where I'm more wizened and less rambunctious (sp?) than I am now. It'd also make it easier on the school system money-wise if I didn't really need it. But that's a future-term dream.

My near-term dream is to take a nap with a pretty girl in a frolicing field of lilacs or daisies or something nice like that.

My near-near-term dream is to figure out how to get this piece of code working without doing the brute force method. There must be a quick corner-cutting easy way to fake this without doing a brute force method and still get the same quality results. I need to be the ball... Nu-nu-nu-nu-nu-nu-nu....

Lyntin 3.3 Released

, | Tweet this

Download it now!

  • added #antisubstitute command
  • added action priorities
  • fixed #read and #write so they're inverses of each other
  • changed handling of IAC GA and IAC TELOPT_EOR
  • changes to documentation and help system
  • fixes to Lyntin so we handle errant mud echo requests better
  • added a debugmode (#config debugmod) for making macro writing easier
  • cleanup to plugin importing at startup

Read the ChangeLog for gruesome details.

This will be the last release before 4.0 which is scheduled around October 2003. There's some heavy things that are in the plans to be redone between now and then. Read the roadmap for more details and watch this site for news.

Thanks to the folks who helped make this a clean release--their help in the last few weeks discovering and diagnosing bugs has been great!

Anyhow...

, | Tweet this

It's all true. Even the lies.

Needs More Entries!

, | Tweet this

Wari has been noticing some scaling issues with entries. Of course, I don't notice anything like that since I only have like 73 entries (as of the time of this writing). So I hereby commence my effort to create oodles of useless chatter in order to better test out PyBlosxom. I will call this Project Content. All such chatter will go into the content category.

I highly suggest using the categories on the right side thing there to help in discerning the silly filler from the real content. You know. Important things like Lyntin status (3.3--working on 4.0).

The title of this entry comes from this funny story in college. This dude was in the DEClab with us and we're all quietly typing away working on whatever it is we were working on. Then he stands up all of a sudden and slams his hand on the desk (WHACK!) and says in this thick Eastern Bloc accent, "NEEEDS MORRRE MEMOREEE!"

It doesn't look so funny written down but my friend Chris does this imitation of it that's got to be criminal. Hilarity ensues.

CRUMPETS in TRUMPETS!

, | Tweet this

What does it mean? Silly it seems?
But it's true from a certain point of view!

Slashdot and TV

, | Tweet this

There were two things I did in the last 6 months that have significantly changed my life for the better:

  1. I stopped watching TV
  2. I stopped reading Slashdot

In regards to TV, almost everyone I know watches too much TV. And it's not as if they're watching good TV--they're watching things like American Idol. What possible value does that show have other than pure unintelligent entertainment? (Sociologists are excluded from this question.) People tell me they feel like they're being bombarded by advertising. If you get rid of your TV and find a browser that allows you to disable pop-up ads--over half of the advertising in the world melts away. Save yourselves!

I'm another anti-Slashdot person. Best of luck to the admin who try their best in building a moderation system that allows me to read comments without having to interact with the ignorant (yet exceptionally vocal) masses. The only value I think Slashdot has at this point is as a venue for political activism and education. Most of us have no clue what's going on in the wiley world of legislation and it's nice to have a couple of one-stop-shops to catch up on the list of things I can't do any more.

Read more books! Get outside! Fight the powers that are crushing you like bugs! Exercise! Brush your teeth! In these ways, you have the habits for a healthier and happier life.

Registry Plugin

, | Tweet this

This plugin handles registry kinds of things. I use it (now) for the Lyntin code registry. It's soooo much easier to deal with than the one I wrote in PHP.

Code here.

pyinclude plugin (showing off variables-with-arguments)

, | Tweet this

I checked in some changes I made last night which affect how variables get expanded and what kinds of things we can do with metadata variables. Now, we can expand the following variable things:

$foo This is a regular variable with nothing fancy that we could handle before.
$foo::bar This is variable bar in the scoping foo. Variables can now be grouped in categories. Categories can be functionally oriented (utils, calendar, date, file, communication, ...) or plugin oriented (pycalendar, pyarchives, ...) or whatever.
$foo::bar("arg1", "arg2", "arg3") This is variable bar in the scoping foo... but it's actually a function call passing in three arguments all of type string. The arguments are evaluated as Python code, can be of any type, and any quantity. We only pass in the arguments if the value of the variable (in this case $foo::bar) is a function. This allows plugins to take in configuration information from other places other than config.py. For instance, this is really useful for a fileinclude kind of plugin where you might want to include different files at different points in your templates.... More about that later.

So now the following examples are all valid variables:

  • $foo
  • $foo::bar
  • $foo::bar(1, 2, 3)
  • $foo::bar::bar2({"arg1": 1, "arg2": 2})
  • $foo("arg1", 1, {"foo": "bar"})
  • ...

In typical fashion (and at Wari's behest), I wrote a quick plugin which uses this. It allows you to include files in your head and foot templates. I use this to include my .project file so people can see it on my web-site as well as finger me on my server and I only have to update it in one place.

Code is here.

4/7/2003 summary

, | Tweet this

It's threatening to snow outside. Normally this sort of thing doesn't occur so it's a bit bizarre. Not to mention the fact that it'd be nice if it was nice outside. On the flip side, since I'm at work all day and the only windows in my cube are the ones on my monitor, I'm not wholly sure I care.

I read a terrible article on Freshmeat about Open Source software. The dude says he's a software engineer and that he was "enlightened in 1997 by Free Software" (capital letters and verbiage are his) which is silliness. If he was "enlightened" and really understood the motivations of the hundreds of thousands of faceless developers out there silently (from a media perspective) working on open source software, he'd never have written this article. He'd have known about the synergy that occurs between projects who have some similar goals as they learn from each other--both mistakes and successes. He'd have known that most of us are decent developers looking to learn more about development--that many projects are done to learn--that the production is far far far more important for the developer in question than the product. He'd have known that most developers are not magic makers--that most of us specialize in a few aspects of software development and that a TEAM of people is responsible for a solid product that has solid design, solid goals, solid functionality, solid unit testing, solid documentation, and solid support. He'd have known that as a project matures and evolves as a function of its user base and its usage, it hits a point where the code becomes unwieldy and it needs refactoring. Sometimes it needs to be rewritten. This is good. He'd have known that there are a bunch of http software projects--with different missions and different characteristics. He'd have known the same about SMTP MTAs, database servers, and various other server components. He'd have known a lot of things. He's enlightened for incredibly loose usages of the word enlightened.