The Error of Techno-centricity

June 22nd, 2007 by sjan

While we (as a society) are seemingly making progress in getting over especially European biased Ethno-centric views, it seems that there is an area where we are still falling behind in understanding our own past. The popular image of people in ancient ages as unwashed, ignorant masses ruled by superstition have, for the most part, as much validity as the same image as it has been applied in past years to non-European peoples.Just because a people lived in a time before the invention of technology X we seem to feel that anything monumental they accomplished was done through the use of thousands of slaves employed in brute-force labor.

So it may come to many as a surprise that something as massive as Stonehenge could have been built with a much smaller number of individuals than previously thought, and that stones as large 22,000 have been moved, and raised, by one man using nothing more than rope, stones, wood and, of course, physics.

So, is it our ill-conceived idea that the ancients didn’t have rope, stones and wood, or that they somehow were incapable of observing the physics of the world in which they lived? It sometimes seems as though there is an idea that before Newton physics didn’t even exist, or no one had the intelligence to figure out the influence of gravity. Not having a name or a formal set of mathematical figures for a thing is not the same as totally not understanding its influence. Do you have to do (or even understand) all the calculus involved in figuring out the trajectory of a thrown ball in order to catch it? Not even. But you do understand that the ball is going to travel in a continuous path (an arc, actually) and not do something ridiculous like suddenly take a sharp turn.

So take a look at and see what may have been the answer to how things like Stonehenge and the pyramids are possible for people, even in small groups, with just a little understanding of the world around them.

Happy New Year

January 2nd, 2007 by sjan

It is now 2007, soon to be the year of the pig (Feb 18), 1428 (as of Jan 19) in the Islamic calendar, 5768 (Apr 6) of the Hebrew calendar, and 1414 of the Hindu calendar (Apr 8 ).

Ok, so it’s really all just a bunch of arbitrarily assigned numbers used for keeping track of what day it is, how old we are, and when it is time to pay our water bill or taxes. Really, with the increase in international trade and the spread of the idea of a truly global economy, it seems to me that we should adopt a new calendar for official functions while leaving the old calendars alone for marking festivals and such.

My lowly proposal: a calendar based solely on a solar year of 365.2425 days, beginning at the start of the Unix “epoch” (1/1/1970) and continuing as follows:

A 7-day week seen as starting on Monday and ending on Sunday (c’mon – that’s how we do business, right?)

13 months of 28 days (4 weeks) – yes I know that’s only 364 days – keep reading:

A hollow-day (yes, as in empty) which falls between the end of one year and the start of the next – no need to make it a national holiday – since it is kind of a non-day and would not even fall within a normal week – just call it Hollowday.

A leap-day calculated as per the Gregorian – as an extra Hollowday.

Since this calendar does not take into consideration the moon phases and run the alternating 29-30 day cycle for months with all the contortionistic math required to make it work, this is not a lunisolar calendar, but is solar in the sense that the seasonal changes will always fall very close to the same day (no “seasonal creep”).

As far as naming the months go I leave that as an excercise for someone else, I am satisfied to simply refer to them as roman numerals. It would also mean you could write a date as Month-Week-Day like VIII-2-3 and know that it is referring to the second Wednesday in the eighth month. The long decimal form, of course, would be YYYY-MM-DD

I will name name the calendar though, and I think it should be a simple name – and keeping with the UTC model of time zones (where GMT = Z) I will call it the Z calendar.

Edit: I just realized – if we adopt this calendar right now we’ll be right on track – since the 2nd day of any month in the Z Calendar is a Tuesday!

I miss the oldies . . ..

February 3rd, 2006 by sjan

I find that when it comes to multiplayer online games that I miss the oldies. Remember the heady days of the BBS when you dialed in to a local server and played games like TradeWars?

Sure, there are a lot of MUDs and MMORPGs out there, but I find that they just aren’t the same. It makes me think that maybe I should work on a TradeWar-ish game – maybe do it in turbogears. It would be good practice.

Something I always felt was lacking in TradeWars, however, was the limited “classes” (to use the RPG terminology) available. You were either a trading ship captain or a Pirate captain or a little of each. What about letting players take other roles: Police, Military, Mercenary and so on. I’m sure I could come up with more. And what about instead of just controlling one ship (and getting larger and larger ships and eventually bases and then worlds) you could go from one ship to controlling a battallion, a fleet, an armada, your own space navy? Hmm, maybe need to throw in a little Risk into the mix as well to allow large-scale actions.

Now I just need to determine the structure, and the rules, and then I can start on the development requirements. Coming soon in 2010! (Or something like that.)

The best tools for the job – part 3

January 19th, 2006 by sjan


I work in a couple languages and develop everything from full-blown applications to web applications to scripts for server maintenance. These are my top picks for whatever language I am working in at the moment.

I have been using (for several years) and am partial to NetBeans [Linux – BSD – Windows – OSX]. This Java IDE has progressed into a full-featured environment including the following integrated pieces:

  • Tomcat server
  • local Pointbase database
  • Javadoc Index search
  • Internationalization
  • refactoring engine
  • JUnit testing

I haven’t really tested Eclipse [Linux – BSD – OSX – Windows] more than to install it and run it for a short while. Truthfully, I just didn’t feel like overcoming the learning curve, since I already know how to do what I want to do in NetBeans.

Bash Scripting:
Of course it is always best to do Bash scripting in a bash shell, preferably in XEmacs [Linux – BSD – OSX – Windows] or Nano [Linux – BSD – OSX – Windows (DOS)].When I can, that is exactly what I do. Often, however, I am forced at work to develop Bash scripts for servers from my desktop (Windows) PC. For this I have found evolvEd [Windows] to be the tool of choice. It provides syntax highlighting and code completion hints which help a great deal when you are unable to paste a line of code into a terminal window and see how it runs. Of course, I can test those scripts (at least partially) in Cygwin [Windows] which I make sure to install on every Windows box I am expected to work with, but those tests are limited in that calls to other programs don’t work if those programs aren’t installed in Cygwin.

Python is fairly new to me still, for anything beyond server scripts, and large text file parsing, which is what got me started in Python. (Python can do a line-by-line parse of a 280MB text file, determining the interesting non-empty lines by the characters in the 12th – 20th position and writing them out to a series of 1200 line files in a matter of a couple minutes – as opposed to the constant hung process I was getting with a Bash script to do the same thing.) Being new to Python I have really only worked with IDLE [Linux – BSD – Windows – OSX] which is included with the current distribution of Python. There may be better things out there – perhaps jEdit [Linux – BSD – Windows – OSX] or something else, but I am still too new in the game to make that decision, even for myself.

The best tools for the job – part 2

January 18th, 2006 by sjan

Music Creation and Editing

When it comes to music creation/editing software and tools there are rabid fans of just about anything you can find. These tools are by no means the only thing available, and there might even be some that don’t do the job as well as others. These (as all the picks in this series) are just the ones I happen to like.

For sequencing (MIDI) work I like Anvil Studio [Windows]. I have been using it for several years now, (since around ’99 or ’00 or so) and it works great for composing music. I generally create a complete melodic piece, and then split it into ‘chunks’ which I can use in my loop composition package. I then work out the harmonic tracks based on the whole, figure out the thematic elements and work that into a set of harmony ‘chunks’ which are (mostly) interchangeable throughout the melody line.

Using MIDI pieces directly in a loop composition package is generally not such a good idea. You’re generally stuck with whatever MIDI interpreter is built into the package. Which is why I then take my ‘chunks’ and convert them to wav files using TiMidity++ [Windows – Linux – BSD – OSX]. Since TiMidity++ uses Gravis Ultrasound compatible patch files and/or SoundFonts (essentially sample libraries) to convert to wave, you get the benefits of a sampling board, and you can turn your MIDI files into well-voiced wavs.

Of course, well-voiced wavs still aren’t completely ready to pull into a loop composition. They need to be edited, manipulated, sometimes warmed and riched, sometimes fuzzed and occasionally pitch-shifted or time-stretched (when the piece starts to deviate radically from what I started with – which happens more often than you may think). Plus there are those direct recorded samples (usually done with something like the built-in Windows sound-recorder) of things like hand drums, didgeridoo, or some weird sound that I thought would be cool. All of these need to be edited before importing and for that I currently use WavePad [Windows]. I used to use Syntrillium CoolEdit (which has now become Adobe Audition) but I couldn’t keep up with the ever rising license costs. So far, WavePad has been able to do everything I need it to do, so I’m not feeling too bad about it. I have also tried Audacity which I love under Linux, but feel the interface of WavePad suits better.

Once I have all my chunks and loops, it’s time to assemble them. For this I use eJay Music Director Gold [Windows]. I have tried other packages (like Acid and FruityLoops) but so far have been pleased with what I can do in Music Director. I may try other packages again some time in the future – but for now I am sticking with what works!

The best tools for the job

January 17th, 2006 by sjan

I am often asked by my Linux-using friends why I am using Windows, while my my Windows-centric friends wonder why I am using Linux or BSD and my Mac-user friends ask why I’m not using Mac at all. The answer to the last is easiest – I don’t have a Mac.

As to the other questions, it depends on what I am doing at the moment. I don’t think that Windows is inherently better or worse than Linux or BSD, nor do I think that all software that costs money is evil. I think it all comes down to asking the question: “What is the best tool for the job I am doing?”

With that in mind, here is the first installment in the list of my picks:

Web Development (HTML/PHP/JavaScript): Adobe HomeSite (previously Macromedia HomeSite, previously Allaire HomeSite). [Windows]

I have been using HomeSite for several years now, and despite the changes in company ownership, it continues to be the best tool available for general web development.

In the realm of rapid development, HomeSite has a built-in ftp client, and you can also set it to use a server running locally to see PHP pages and Perl CGI in action. For that I prefer Xampp from ApacheFriends, because of its ease of installation on Windows and the fact that it makes creating a local Apache/PHP/MySQL setup a snap.

The down side to HomeSite is that it doesn’t understand Python/PSP, and changing the tab settings to use spaces instead of tabs seems to be broken in the latest version. I thought it used to do that, but I may be mistaken.

The only tool that comes close is Bluefish [Linux] which seems to be improving in great strides. When I need to whack out a quick web document while in Linux that is the tool for which I reach.

Although Bluefish understands Python it still doesn’t quite work the way I would like it to when highlighting and parsing PSPs. Maybe, when I have the time I can write a plug-in for HomeSite to do just that.

Tomorrow: Music Editing/Creation Tools

I’m still here

January 16th, 2006 by sjan

Just to let the myriad of my readers know (all both of them!) that I am still here. I just decided to take a weekend.

I figured that since I had a three-day weekend I would avoid working on anything other than the house for a couple days. That was actually very nice.

Now, however, I find out that not checking my email accounts several times a day, in fact letting them go for more than two whole days, I am facing an incredible amount of catch-up I have to do. The old saw that “Hard work pays off later, procrastination pays off right now” comes with an unspoken caveat: while procrastination might pay off right now, the check still needs to be handled later!

Procrastination vs. Brain Breaks

January 10th, 2006 by sjan

Why is it that when things really get busy you find yourself thinking about everything but the task at hand? You have to wonder, are there still vestiges of teenage procrastination (the “I-can-get-it-done-any-time” syndrome) lingering about.

Perhaps the real reason is that after working long hours on a project, any project, the brain just needs to rest. Perhaps, just like those long sets at the gym that leave your muscles feeling bloodless and dead, long bouts of intellectual strain leave you brain-tired.


I happen to think that may be closer to the truth. I have put in many long hours trying to get this site up and functional, and it has already been through several iterations, software-wise, to get to the point it is now (about 50%, functionally speaking.)

There are lots of other things I want to implement here, but am finding it hard at the moment to sit and concentrate on coding. So, I guess this is as good a time as any to throw some content up in the writings section, and to test the readmore functionality while I am at it.

Once I have this up and have taken a brain break, (I think a stupid movie may be in order), I will have to get back on what I am doing.