Tuesday, November 25, 2008

JavaScript

Dumb Example 1:


string1:
string2:


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: , ,

Saturday, November 15, 2008

Empowerment

I use computers all the time. I often find myself struggling to learn the fundamentals of a new programming language (last year I picked up a working knowledge of Java, and at the moment, I am beginning the same process with Python). The internet has made this progressively easier, because there is a dizzying array of information and tutorial material available, much of it free, or nearly so.

Both Java and Python are free. I can get anything I need to write programs in these languages for free. This alone is remarkable, but the power that these languages have, especially their friendliness and built in support for web programming, makes the head smacking that goes along with learning anything complicated well worth the dents in my forehead.

I am not a professional programmer by any means- I am a chemist (and fiercely proud of it!) If I want to learn something new in chemistry, I have the background and experience to pick up the greater fraction of what I need to know from reading. The last 15 to 20 percent, however, is best learned by talking to another chemist skilled in the technique or area, and even better, watching them set up a reaction or do a measurement. If you have a huge Karmic bank account, and they will watch you do it, and offer critique, then you are as close to heaven as you can get and not have wings.

I don't have easy access to professional programmers, even though I work in the same building with a bunch. They are busy, and we do not necessarily cross paths. I can't readily ask them things without disturbing their work, and watching someone program is boring and largely unhelpful. And probably pretty creepy for the person being watched.

I discovered a very cool website called ShowMeDo that contains all sorts of tutorial screencasts about various programming topics. They are done very well, as far as I have seen. Much of the material can be accessed free of charge, but for a modest subscription ($60/yr) you can get access to much more, as well as having your feedback considered in new rounds of content creation.

A tool like this is invaluable- $60 is very reasonable, less than the average I would pay for a programming book at the local bookseller or on Amazon. Certainly, the books are more comprehensive, and as I learn what I am doing, just like with Chemistry, I can look up most of what I need to know. But "Monkey See, Monkey Do" is still the most powerful way I know to learn things in a hurry.

Wednesday, November 12, 2008

Googling

One of the things that strikes me is how much more computers have become than I ever imagined. I had no doubt that they would be powerful and useful and interconnected. What I did not anticipate, at all, was how much would be possible effectively free of charge.

My son and I use Google Calendar to keep track of his homework assignments. I use it to keep a calendar of my own, one that will email and text me if I set a reminder. I can text items to my calendar, and within reason, the calendar application will parse what I send it and insert the new item into my schedule.

I have a blog now that I am working on as a message passing system. I email or text messages to SMS Data Collection. I have some Google spread sheets set up to retrieve and parse this data. So far, if you bother to go to the SMS Data blog, you will see nothing of interest. I am doing all of the data sending by hand, largely just to work out the details of how to retrieve and chop up the data. Even after I get things going, there won't be much to see, and a lot of it may be quite cryptic. I am just using it as an intermediary.

There are a couple of things I plan to do. First, I have an idea for keeping track of a vehicle on a road trip. This device here will get GPS data and text it to the blog. A Google Documents spreadsheet will periodically go and get the data and parse it into pieces that will tell location, speed, and so on. This will feed a map that people that are invited will be able to look at, showing our location and anything else I decide to . I imagine using it as a way to keep my Dad updated on progress when we drive home, and as a way to post pictures and routes when we go to Canada or out West.

Various programs that take data for me, using LabVIEW or other software, can also email stuff. All of this can be processed using free, readily available web software and turned into something anyone with access to the Web could potentially use.

The fact that so much of what is available is opening up to being programmed by people who are not necessarily professional programmers is particularly exciting. The ability to use the power that exists in technology has resided in a subset of people that doesn't necessarily overlap with the subset of people who might do really interesting and creative things with the technology and data. The leveling of this, so that one need not be an acolyte of the computing profession, is a very good thing.

At this point, it is still esoteric enough that I spend far too much time trying to do things that ought to be simple. But things are improving, and the barriers to entry are far lower than they were just a few years ago. I imagine that there is some level of sophistication, when computers are finally programmable by anyone who can describe in a fairly logical fashion what it is that they want done. Everything that we have seen up to this point is prelude to the creative explosion that will occur on that day.