The blog of Matthew A. Smith and Michael Chappell, on topics from A to Z

The Royalist Party?

by Matthew Smith · March 18th, 2008 · 3 Comments

Read this page and you might be a little confused. Apparently the author wishes to bring monarchy to the United States enough to write a web page (in some form of what appears to be Middle English) all about it. Go read and then bring me your thoughts (in the form of comments).

I hope one of their first goals isn’t reverting to Middle English.

» 3 CommentsCategories: General

Fourteen Days

by Matthew Smith · March 17th, 2008 · No Comments

CloverGood heavens, the last post I made was two weeks ago! I suppose I have a little bit of explaining to do.

Over the past two weeks, I have had spring break, done a lot of maintenance on the BMW, DJ’d two parties, gone camping, had a job interview, and just plain grown older. Hopefully that’s a decent excuse for my absence, most of which has been spent covered in grease underneath my car, which now has 100,000 miles on the odometer. Now that some preventative maintenance has been done, and a nice dent made in my wallet, I hope to get another 100,000 miles of of it.

Anyway, this week is just as crazy as the past few weeks. I have a presentation at 9 AM and a research paper due Thursday morning…

Happy St. Patrick’s day!

» No CommentsCategories: General

Dynamic Loading with eval()

by Matthew Smith · March 3rd, 2008 · No Comments

CodeI may not be able to explain how cool this is, but I'm going to try.

Right now I'm working on a replacement for the nasty VBScript I posted a while back that updates the software installed on the computers at work. Sure, the script did it's job but it wasn't pretty to look at and updating it or adding new software is a pain in the arse.

To make my new and improved version, I wanted to redesign my installer/updater code in a nice, modular, object-oriented, easy to update manner. I devised a modular solution where I would write one main script that would perform all the heavy lifting, with the specifics of each application provided by simple scripts that could be added, removed, and updated with ease.

The main script scans a directory looking for all files that end in ".app.js," loads them up, and executes the commands found within. Each .app.js file provides a single class, with the same name as the first part of the file name (so foo.app.js would provide a class called foo). This class in turn provides a set of properties that the main script can use to perform actions (such as checking versions, upgrading software, removing software... you get the idea).

Now the tricky part? You have no idea what the class names are prior to run time. So you can't create new objects using "var bar = new foo()."

I'd learned about the JScript "eval()" statement a while back, which I used extensively for simulating C's "#include" statement. The cool thing about it is that eval() performs JScript execution on a text stream... so to perform dynamic loading with eval(), I simply used concatenation to produce a string like such:

JavaScript:
  1. var callString = "new " + methods.call[index] + "()";

and then evaluated the string:

JavaScript:
  1. var newObject = eval(callString);

And it works like a charm! Now I can run a loop over my array of class names, create new objects, and perform all my other nifty little tasks. It looks simple, but I had to contemplate this for a second before the light bulb flashed on... I'm sure someone out there has already done this, been just as excited as me, and posted about it on their own blog. However, this is the solution I came up with off the top of my head without the assistance of any Google searches, so I'm going to be happy and post about it here before I ever check Google!

» No CommentsCategories: Technology

Spring Break!

by Matthew Smith · March 1st, 2008 · No Comments

Yes, it's now one day into my spring break. What am I doing? Why, staying in Macon and spending all my money on the BMW!! It's time for the 100,000 mile overhaul, so I will be busy in the garage (once my parts arrive). If you're in Macon, be sure to call!

» No CommentsCategories: General

A Life Well Lived: Martha Blalock Hawkins Jolley

by Matthew Smith · February 17th, 2008 · 1 Comment

My GrandmotherShortly after midnight on Saturday (2/16/2008) morning, my grandmother passed away. I will soon write a longer piece on this, but for now I'm just posting her obituary.

Martha Blalock Hawkins Jolley

MACON - After a 2 year battle with Parkinson's disease, Martha Blalock Hawkins Jolley, 76. of Macon, passed away at the home of her daughter and son-in-law, Sally and Terry Theus. Visitation services will be held Monday, February 18, at 2:30 p.m. (EST) in the chapel of Hart's Mortuary in Macon, GA with a Memorial Service immediately following at 4:00 p.m. (EST). A graveside service will be held Tuesday, February 19, 1:30 p.m. (CST) at Hillcrest Cemetery in Boaz, AL.

Mrs. Jolley was a member of the Baptist faith, she taught Sunday School and hosted a weekly Radio Bible Hour for Second Baptist Church in Warner Robins during the 1960's and 70's. She was a member of Women's Aglow and hosted a Bible study at the Villas in Macon for several years. Born to Omer L. Blalock and Sally Mae Johnson, she was predeceased by her husband, Robert Hawkins, 5 sisters and one brother.

She is survived by her husband, Rev. Donald Jolley, son Jim (Tammy) Hawkins of Macon, GA, daughters and sons-in-law, Sandra (Judd) Smith of Macon, GA, Sally (Terry) Theus of Macon, GA, 9 grandsons and 2 granddaughters, sisters, Betty Otinger of Boaz, AL, Johnie Lynch of Huntsville, AL, Chessie Mason of Guntersville, AL, numerous nieces and nephews.

Hart's Mortuary and Crematory in charge of arrangements.

The pictures and video that will be displayed at the visitation are the same ones that I worked with on the "family photo project."

» 1 CommentCategories: Journal · Musings

Working on the Gallery

by Matthew Smith · February 14th, 2008 · No Comments

Over the next few days I'll be (finally) working on the gallery to get it in shipshape (if you haven't noticed the complete mess that it has been since summer). You may notice the gallery link is missing. When it reappears, hopefully things will look much nicer!! Stay tuned...

In other news, my brother bought something interesting...

Andrew’s Porsche

» No CommentsCategories: General

That Pesky Facebook Query Thing

by Matthew Smith · February 5th, 2008 · No Comments

Facebook Wiki LogoA few days back, I mentioned that I wanted to query my Facebook social graph in order to pull out a list of my friends' websites. Why? To put the in my blog roll. Anyway, I was doing a little light reading today and came across some interesting posts centering around a topic I've read of before (but somehow forgot to put two and two together): The Open-ness of our social graphs.

Apparently the desire to get some data out of Facebook and into other apps has been around for a while. In fact, Google has created an open graph API to address just such a problem, and there are several other people who have been trying to devise a solution.

Robert Scoble, a rather well known technologist (for lack of another term), recently had his facebook account shut down for attempting to collect and export his social graph to another service. In a later post on his site, an interesting point is made during an interview with Mark Zuckerberg:

They are still thinking about data portability and just how that will work to both protect users as well as to encourage new kinds of applications to be built. He explained to me that the kind of script that I was running is often used by spammers to send tons of messages to users and that’s something they are really working to protect their users against. On the other hand, he understood the kinds of apps that I wanted to have as a user. When Rosedale was sitting with us, I pointed out that I’d love to see when Facebook users are active on Second Life. That would require opening up the social graph to new kinds of data sharing that Facebook isn’t yet allowing. But he didn’t yet have answers as to just what Facebook will allow in the future.

Perhaps my Facebook Query dream will become a reality eventually. Of course there's much more I want to do with Facebook... I think it would be awesome if the "social graph" could be pulled out and tied into other sites (imagine: you are logged into Facebook and you can visit my site, leaving a comment using your Facebook identity. Then it could show up in your feed that you left a comment here, just as if you left one on someone's page... or all sorts of other cool stuff!)

» No CommentsCategories: Technology

Introducing “Programs and Scripts”

by Matthew Smith · January 31st, 2008 · No Comments

CodeLadies and gentlemen, today I would like to direct your attention to the new link in the right side bar entitled "Programs and Scripts." This page will contain handy bits of code developed by myself (or any of my esteemed colleagues) and presented here for your programming gratification!

The inaugural bit of code available here is called "wmiRegistryTools.js" and provides JavaScript methods (only for use in WSH) to interact with the WMI interface. The library is probably only of interest to people involved in network administration because it simplifies scripted registry edits. The cool part is that you can perform these edits on remote computers...

Anyway, keep an eye on the programming pages. I'll be adding scraps and bits of useful code (or not so useful code) over time, and just maybe you'll find something that will help you out or make life easier.

Because it's philosophically correct (and I'm always endorsing open source), all my code is release under the GPL so you are free to use, reuse, and modify it. Of course if you find anything there helpful, I'd love to know (you know, to stoke my ego and such)!

» No CommentsCategories: Technology