Saturday, February 19, 2011

Other bloggery, and stuff

I have another blog that details some of my machining and electronics projects. I plan to keep this one as a kind of place to philosophize and pontificate, but I hope people find the other interesting as well.

Wednesday, December 01, 2010

Writing, Here and There

Clearly, I have been less than serious about this blog for quite a while. It is not that I have ceased writing, but rather, I have been writing different things, different places.

For example, I have a series about energy usage at the website. I'm trying to help people make sense of the details of alternative energy proposals. One in the series can be found here.

At the same time, I am going to pick up where I left off here, and I'll link to some writing I am doing about my adventures in my garage machine shop.

Labels: ,

Wednesday, February 24, 2010

Happy Blogiversary

I've been doing a half-assed blog for five years now. You can see the initial post here. I haven't kept up because other things, like Facebook, occupy most of my non-technical computer time.

Saturday, June 20, 2009


I have been fiddling with Twitter for months now, and frankly just could not find anything engaging about it at all. I kind of liked the simple API that it has, but at the same time, the idea that Twitter is just, well, dumb, was reinforced by techies doing things like setting up their toilet to tweet when it was flushed. There is a portion of this that I admire; I think that more and more of the things in our environment could be set up to communicate to make life easier and better. Doing an 'art project' of this sort helps expose the problems and possibilities of existing communication standards. But this is sufficiently tasteless that it decreased my interest in the technology for a while. I didn't care to tell anyone when I was going somewhere, and couldn't imagine caring what anyone else was doing trivial enough to be encoded in just 140 characters, and I sure as hell don't need to know when someone is on the crapper unless we have to share one.

Facebook has been a lot of fun, so it isn't that I am a social networking curmudgeon ("Hey you damned kids, get your Web 2.0 off my lawn!") and although the status line is roughly analogous to tweets, Facebook has a lot of other things going for it. I'll leave my musings on FB for another post, because it has something interesting going on too that I want to think aloud about.

Anyway, with the recent unrest in Iran following the apparent re-election of Mahmoud Ahmadinejad, I kept hearing that the Iranian people protesting the election, which they said was fixed, were communicating via Twitter. I was not sure what to make of this, so I looked in, and it dawned on me over the course of a few hours (of following with rapt attention, tweets that contained links to cellphone video and news stories) that this was something of great importance. Twitter may not have been intended to be this kind of tool, but many things find their best use only after having been around a while.

What emerged was that this technology provides a quick and easy way for people to let the world know what is going on. One might expect that the mullahs would just pull the plug on all of the communication and internet resources that allowed this. But this is where the politics gets interesting.

To some extent, all of the things that Ahmadinejad and the mullahs have been doing with respect to nuclear enrichment have relied on having a digital infrastructure in place. They cannot just shut it off without screwing themselves. So they shutdown or block servers that carry digital traffic outside the country.

Twitter matters because people on the outside can help, by setting up software to provide misdirection, anonymity, and proxies so that bloggers and tweeters in Iran can bypass the routes that have been restricted by the mullahs.

Twitter matters because 24 hours ago, I had never heard of Tor, and had only the vaguest idea of how to set up proxies (my 12 year old already knew, but that is another story). Now I have several things set up to try and help.

A friend of mine and I had a spirited debate over whether Twitter was helping. He seemed to think, from what I can tell, that the fact that 90% of those tweeting support couldn't find Iran on a map, and didn't know anything about Iranian politics, meant that they should just shut up and get out of the way. But the point is that people are watching, even if they do not know what they are seeing. They can certainly understand a bystanding young woman being shot on the street by the government.

I don't have a dog in the Iranian election fight, and it might well be six of one, half dozen of the other when it comes to who won. I don't know enough to speak about what is going on.

But I do support peaceful assembly, and free speech, and I don't think these sentiments are just products of American cultural imperialism. There is a Universal Declaration of Human Rights, and peaceful assembly and free speech are in it. So I want to help, and will, in a tiny way, knowing that my servers are not going to change the world. But enough drops fill buckets.

Monday, May 25, 2009

Religious Wars

I work at a place that is 100% Windows OS driven. Despite Microsoft's release of Vista, we are solidly XP Professional.

When I chose a computer for home, I picked an iMac. With the advent of Apple's OS X, with its core based on the unix-like Darwin (nee' Mach) operating system, I was attracted to the chance to use a *NIX box and take advantage of the multitude of software available. It is a bit harder slog, if one opts to download and compile source code for thing, but it is a very good, and very educational, way to work. And the native OS X look and feel is very good. I won't say better than XP, although I prefer it. I will remain unchurched in the OS religious wars.

Still, there are things available on XP that I like. I have had a lot of fun, and learned a great deal, using Microsoft's Express Editions of their compilers for C++ and C#. It is not impossible to do the same sort of programming on the Mac, and I am learning some of this, too. But MS has a pretty extensive evangelization effort for their compilers, and there is a large body of work that I wanted to take advantage of, so I had been doing some development on my XP laptop.

However, I recently discovered something called VirtualBox, a Sun Microsystems product that allows one to run other operating systems (called 'guests') under an existing operating system (called the 'host'), like *nix or OS X. I got a copy of Ubuntu linux and began running it, and was impressed by the performance, so I decided to get a copy of XP and load it as well. Having seen it work with Linux, I was not too surprised to see XP boot without a hitch.

VirtualBox comes with software called "guest additions", which allow certain guest operating systems tighter integration with the host, and with the underlying hardware. In the case of XP, this allows some access to serial and USB ports, and allows more screen resolution. Apparently it makes things faster, but I installed them immediately, so I didn't see.

Despite running beautifully on my Mac, all the pointedly irritating things about XP persist. Connecting to a network printer was far harder than it should have been. I set up the damned network here, and my Mac and my wife's PC (where the printer is located) are not 6 feet from one another. I fiddled with it for half an hour, but it did eventually work.

From a philosophical point of view, there is something awesome about virtualization, running an OS on another OS. As hardware become ever more powerful, we can make any hardware look like any other hardware to software. I am not doing this idea justice by sitting here, slack-jawed, but at the moment, that is all I can do.


About 60% of what I do every day at work now involves me writing software. Of that, the largest part is LabVIEW, but this has begun to expand into C++ and C# as well. There is a tremendous amount of overhead involved in writing software, but the payoff is that once the programming is finished, if it is well-written, it is possible to get data at a rate unimaginable in the absence of the automation the software provides.

That describes pretty well why I put up with writing software- automation of data collection makes it worth the headache. Only, as I do it more and more, it becomes much less of a headache, and something altogether different. It has become a means of thinking about the world. The algorithmic mindset, I find, complements the scientific. I have heard it said that programming should not be an experimental science. Well, in the hands of an experimental scientist (at least this one), it most certainly is.

I cannot imagine programming to do something like accounting or database management or business systems, though I am quite happy to use the fruit of such labor. It would not be something I could stomach, I suspect.

But getting things to do stuff...this is intoxicating, and I like it a lot.

In the process of doing experiments, I have learned a little about programming microcontrollers. I can't pretend that programming a microcontroller to run a dishwasher sounds like crazy fun, but it doesn't sound bad, either.

The key is that the combination of software that allows one to control things, coupled with chemical and other scientific knowledge, allows the creation of systems of fairly awesome power. I am keen to try to learn more, and hopefully post some of my non-professional experiences here. "The man" owns my professional experiences. Not that I am complaining. I'm pretty happy to be in the employ of "the man" in times as tough as these.

Monday, March 09, 2009

Once again, into the breech...

I think I've neglected my blog long enough. I have had so few readers that I had no real issue with setting it aside a while, but now I am thinking of how best to use it. I am not fully decided, but I want to focus on chemistry and science in general.

For now, I'll just post my intentions. I can't quite break away from other commitments just yet. But I'll be back.

Tuesday, November 25, 2008


Dumb Example 1:


combined string1 + ' ' + string2:


This is my first foray into public javascript programming. Now, the above example is pretty silly. But until recently, I had not been able to use javascript in Blogger pages. Stay tuned, things will become more interesting.

Labels: , ,