Thursday, November 06, 2008

Evince in Ubuntu Does OCR

Wow! I did it without thinking then suddenly realized I had selected and copied text from a scanned document PDF, that I was viewing, and pasted the text into an email message!

The document viewer is Evince. You'd never know that's its name without looking, but it's the program you run if you open a PDF file on Ubuntu. It does OCR of text on the fly if you cut and paste it. I had no idea!

I wonder if the Adobe Acrobat viewer does the same thing? I'll have to check.

As usual, the OCR wasn't perfect. It interpreted a decimal point as a comma, or maybe it was just converting to European…

Saturday, October 25, 2008

Underground Lab To Probe Ratio of Matter To Antimatter

Okay, first of all, upon reading this headline, I can't help but think this is a BAD idea!  If you are going to start mixing matter and antimatter, I think underground is not the best place to do it.  I'd much rather see this research conducted at, oh... say, the orbit of Jupiter!   ...preferrably on the opposite side of the Sun from Jupiter!

Of course the reality is that this is an underground liquid xenon neutrino observatory.   Interesting.

Jay Walker's Library

From Wayne.  Words fail me.

Thursday, October 23, 2008

Sunday, October 19, 2008

Thunderbird Video

Since the Thunderbirds are in town this weekend (no, I didn't get to go see them), I went looking for videos on-line.  Here are some pretty nice ones.


Google Testing Blog

If you are interested in programming and testing (and you should be interested in the latter if you are interested in the former!), then check out the Google Testing Blog.  There's useful, public information there!

Thursday, October 16, 2008

Quote of the Day

The purpose of programming is to turn caffeine into error messages.

Saturday, October 11, 2008

Canyon Defense

Okay, this is pretty fun, actually.  Canyon Defense.

African Meteor

Jerry Pournelle's Mail has a report on the African bolide at least to date.

Thursday, October 02, 2008

Scratch Programming for Kids!


The question is often debated these days: We no longer have computers with good old BASIC, which many folks learned programming from. What's available now for kids to learn programming?

This is a pretty interesting solution, and it's targeted for ages 8 and up. Scratch from MIT.

Programs are built with little tiles (like Lego Blocks) and include features like sound, visual graphics effects, animation.

I've imagined something like this and they seem to have pulled it off extremely well! It's pretty fun, too!

Oh, and if you were familiar with Logo in the 70s, this is very reminiscent.

IT Crowd on IFC

I discovered that the cable channel IFC is showing the original IT Crowd!!

Wednesday, September 24, 2008

The G1 Phone


T-Mobile announced the G1 yesterday.

I've linked to lots of comments in my More Shared Reader (which always appears in the links to the right here).

I like having a QWERTY keyboard.  That's the main reason I have a Blackberry now instead of an iPhone (since I had the choice).

The openness of Android is an important key.  The expectation is that lots of amazing software will be written by people all over, applications and extentions to the OS itself.

However, it did have the feel of an iPhone want-to-be sort of like Windows was like a Mac-OS want-to-be in years gone by.  What's missing is something that shows how the G1 exceeds the capabilities of the iPhone.

Of course there's room in the world for more than one kind of hand-held device, and having at least two big ones is a good thing.

Photo from Endgadget.

Tuesday, September 09, 2008

Spore!

Brad told me about Spore. Wow!

Friday, September 05, 2008

Quote of the day

Pressing On. Press “On” Twice = “Off”


—Ron Jeffries from XProgramming.com

Wednesday, September 03, 2008

Chrome


Well, the Chrome browser is finally here. I haven't been able to use it at work since I don't have a Windows machine there, so I'm finally trying it out at home. So far, it's okay.

My favorite feature is the use of separate processes for tabs. No more seemingly eternal pauses, with my browser completely frozen!, while Adobe Acrobat loads because I accidentally clicked a link to a PDF file! One tab might lock up but the others will hum along nicely.

Here's an interesting post regarding the relationship of Chrome to Google and how it does and doesn't “phones home.”

Am I a convert? It's hard to say. I really like Firefox 3! Especially on the Mac. There's definitely a long pause after clicking on Firefox 3 when it starts up, and Chrome doesn't have that. It seems faster during normal use, but I haven't checked that objectively.

Cnet has checked the speed, at least of the V8 Javascript engine.

The Wired article.

The neat comic book. It's not a fast read but the presentation is nice and clever and the techical content is quite good. This is part of the announcement.




Friday, August 29, 2008

21st Century Moments

Most of my life, I dreamed of what it would be like living in the 21st century. Lots of things didn't happen. I don't live on the Moon, Mars or a space station. There's not a city-sized space station. Cities don't have lots of domes. There are no flying cars. You don't see robots everywhere, at least anthropomorphic robots.

Some things did come true in weird ways. Satellite dishes do dot the city-scape, though they are tiny. We all have communicators and computers are pretty smart. We do talk to computers and they talk back, but usually just on the phone.

Laser and other energy weapons supposedly exist, but only in the military and they haven't seen widespread use…yet.

The world is surprisingly normal in many ways. Still, I often wonder what I'd think if my self from 40 years ago could be transported here to the present.

The out-of-the-park, surprise twist in the development of human technology, during my life's span, is the information age and the Internet. In the science fiction stories of my youth, computers and communication were minor elements against the main motif of the space age. The reality, of course, is that it's the other way around! I didn't expect to be living in the information age and I'm sure that my 40-year-ago self wouldn't even understand the web or the Internet, at least initially.

Still, every now and then, I experience an unmistakeable “21st century moment.”
  • A campus police officer glides past me on a Segway.
  • Everytime I read something (which is nearly everything) on-line, including books, news articles (which would have been in papers or magazines).
  • When I use my Blackberry.
  • When I experience wall-sized video displays at work, which are usually created with projectors.
  • When I use my cell phone to call a family member in a different part of the house.
  • When I play chess against the Chessmaster program on my cell phone.
  • Driving past digital LED billboards.
  • Watching HD TV, including programs recorded on the DVR.
  • Every time I look at one of our laptops.
There are more of course. I'll post them from time to time.

Saturday, August 23, 2008

The Spanair Crash

As reported in The Australian, regarding the problem with the MD-82's aborting it's first takeoff attempt before they finally tried again and crashed.

One day after the crash, Spanair gave new information about the initial attempt to take off. Spokesman Javier Mendoza said an air-intake gauge under the cockpit had detected overheating while the jet was taxiing, causing the plane to turn back.

Technicians corrected the problem by essentially turning the gauge off.


Well, there you go. They solved that problem.


Friday, August 22, 2008

RIP Bell Labs?

A news article in Nature reports that “…after a string of staff departures, physicists claim that the once iconic Bell Laboratories has finally pulled out of basic science.”

This is sad.

In rebuttle, “…officials at Alcatel-Lucent, Bell's parent company, say that reports of the lab's death are greatly exaggerated. Fundamental science remains, but it has moved away from physics, says Gee Rittenhouse, vice-president of research at Bell Labs. ‘We've shifted the fundamental research over to include mathematics, computer science, networking and wireless,’ he says.”

Saturday, August 09, 2008

Smalltalk Notes

Okay, I learned how to keep notes. You open a Workspace (not a Morphic Workspace). You can then type right into it and it becomes part of the GUI environment. You can also execute code in it.

Quote of the Day

There are 10 kinds of people in the world, those who understand binary numbers and those who don't!

—seen in a signature, unattributed

Two Robots and a Roach

Okay, WALL·E, was incredibly great! The movie industry has now caught up with and exceeded my imagination! The computer animation was exquisite. The story was wonderful. The references to space and particulary to 2001 were very entertaining. I'm sure it was filled with references that I didn't catch. It's a movie that I would expect to watch many times over.

An unexpected bonus is that our neighborhood has upgraded some (or all) cinemas to DLP so this was the first time I've seen a digital movie at the cinema. That made it even more amazing. If it's possible to see this movie in DLP, don't watch it any other way!

WALL·E himself reminded me a lot of the Mars rover in that excellent animation that was done a few years ago. There were some of the neat little focusing tricks that caught my eye in that film. I guess they will quickly become another cliche, if they haven't already. Now that I think of it, they used them all the time in Battlestar Galactica (the new TV series).

The endless technology motif was just fun. It was very well done and enjoyable to watch.

I loved the references to 2001: A Space Odyssey. My only minor disappointment was that I hoped they would tie into the memory bank scene in 2001, one of my favorites. Alas, it wasn't there unless it was so subtle I missed it.

One criticism and the only major astronomical error was that they included a spinning, spiral galaxy—seeing one spin of course would be an impossibility. If it takes light 100,000 years to cross the diameter of a typical grand spiral, they are guaranteed to always appear solidly frozen in human time frames. And remember, even clouds and minute hands appear stationary to us, and they actually move pretty fast! If we aren't going to see an hour hand move we certainly wouldn't see the motion of a 250-million-year hand (which is the galactic orbital period of the sun).

After the movie itself was over, I then experienced my jaw dropping (all the way down to the sticky floor) during the credits. Absolutely fantastic! And even the opening Magic Castle Disney logo is now exquisitely beautiful.

Thursday, August 07, 2008

Using Restructured Text

Okay I mentioned restructured text earlier. Now I've actually used it, but initially it wasn't installed on my Ubuntu system.

This fixed that problem.

sudo apt-get install python-docutils

Then I was able to use rst2html to convert documents to HTML.

More Smalltalk

Is Smalltalk the answer to Life, the Universe and Everything? It might be.

I learned how to write iterators that implement the do: method and unit testing with SUnit is going well. I can now do full TDD (test-driven development) in Smalltalk!

I do notice pauses sometimes and I wonder if that's Squeak's garbage collector kicking in.

Here are things I don't know how to do, or have a concern about:
  • Keep notes, like a notebook, in the workspace. Maybe Transcript will work like this, I thought I did that before, but that may not be the best way. I should go through a tutorial on Squeak.
  • The name space for classes isn't hierarchical (I think) like, say in Python (or Perl or Java). That's slightly annoying since you can't easily compartmentalize your class names but they are more “global.”
  • The workspace can become polluted with junk if you continually create objects (for testing and such) and don't delete them. Sort of like a Windows XP system. I think the solution is to (carefully) save all of your code into a library of some kind, make a new image and reload everything. (Again, sort of like Windows XP).
What's next:

  1. Learning Monticello! That's the package management system like Bazaar.
  2. Sharpen up on the syntax. I'm still confused about about when to use () vs. []. Well, maybe I'm not. I think the former is for grouping expressions and the latter is for statement blocks. However, if everything is an object and method (it is), then an expression sure seems like it's a statement block to me! Oh well, maybe I don't understand it.

Tuesday, August 05, 2008

Wall-E, Batman and Iron Man

Okay, two people who's opinions I follow have said Wall-E is one of the best movies (ever?) and the best Pixar/Disney movie yet, so I guess I'll go see it.

I went and saw (Batman) The Dark Knight last week. Though it was well done, on first viewing I found that I didn't enjoy it that much. It also seemed very long to me. When I thought the movie was at the end, it seemed to go on for another whole movie.

When I was a kid I was a huge Batman fan. He was my number one comic book hero for some time. Of course there was major bat-mania with the TV show coming out. The last time I read a Batman comic book was probably around 1970, so that's where my familiarity with the written mythology ends.

I wasn't crazy about the first movie in this new series when I saw it at the theater, too, but I came to like it more on subsequent viewing. Maybe I'll like this one more, too, after seeing it again.

I will say that the way they incorporated the characters I was familiar with was pretty clever. Also, the guy playing the Joker probably deserves the praise I've heard for his acting in that role. The underlying themes in the story were also admirable and somewhat clever, so I have to give them a bit of credit for that. I thought the cell-phone thing was way too hokey and pretty cheap for a plot element. I also found it unbelievable that the Joker was that hard for anyone to catch and that the underground criminals didn't simply get rid of him.

In contrast to all of that, I saw Iron Man earlier in the summer and found that to be a completely enjoyable movie. It was one of the best “comic book” movies I've ever seen, maybe the best. I could watch it over and over, I'm sure.

Monday, August 04, 2008

Squeak Again

Surprisingly, Perl-guy Randall Schwartz has become very excited about Smalltalk and is a Squeak user. I've been interested in Squeak from time to time. Now I'm all spun up over Squeak again!

Here's an interesting video of a talk (there's also audio here) by Schwartz.

I've been learning about SUnit, Squeak's unit testing framework.

Saturday, August 02, 2008

Squeak Development Tutorial

This is a fantastic development tutorial, A Development Example for Squeak 3.9, by Stephan B. Wessels. It's highly illustrated (almost to a fault) and quite complete.

Early History of Smalltalk

This is an article that documents The Early History of Smalltalk by Alan C. Kay.

Saturday, July 26, 2008

Google Indexes One Trillion Web Pages

Google announces that their index has passed the one trillion mark.

Tuesday, July 15, 2008

Python Success Story

This is an interesting Python success story in Pythonology about the Wing IDE.

Monday, July 14, 2008

Firefox 3 Continued

So far, so good. It doesn't seem to have the memory leakage I was seeing with Firefox 2 on Windows XP. I've gone on and upgraded to Firefox 3 at work as well, on my desktop and on my Macbook Pro laptop.

For the Ubuntu systems I'll probably just want for upgrading to the current versions of Ubuntu so that all of the libraries are in place, etc.

On the Mac laptops, I'll ask the familiy owners about adding it to them. The Macs should probably come next.

Saturday, July 05, 2008

Firefox 3!

Okay, I've taken the plunge and upgraded to Firefox 3, at least on one machine—my Windows XP workstation at home.

I thought I'd give it a spin among promises of better performance. So far, most importantly, I haven't experienced anything not working.

I had to re-install the Google Toolbar which was simple and not a surprise.

I read through all of the features, release notes, etc. Nothing among the features is particularly exciting to me. It seems like there's some overlap between Firefox functionality and Google Toolbar functionality. I hope that doesn't cause any conflicts or confusion.

So far I haven't experienced any problems. It seems faster, but that's very subjective. I didn't think to check my memory usage before upgrading but, quickly firing up Task Manager, memory usage doesn't look recognizably higher than normal.

I'll see how things go. If all is well, I'll start to upgrade on other systems. I suppose the MacBook Pro would be next.

Thursday, July 03, 2008

Amazon EC2 Spam Problems

From this blog posting and this article on Slashdot, it looks like Amazon is having trouble with spammers creating machine instances on the EC2 and blasting out spam.

I think the approach of dealing with accounts is the solution. Amazon either needs to block email ports on an account basis (instead of by IP address or machine instance), or they need to limit, disable or otherwise slow down those accounts and their instances.

Friday, June 20, 2008

Summer Solstice at 23:59 UTC!

Happy Summer Solstice! It occurs today 20 June 2008 at 23:59 UTC = 19:59 EDT, almost exactly at 0:00!

Friday, June 13, 2008

Streetview for Metro Atlanta

How Google Maps has Streetview covering much of Metro Atlanta! For better or worse, they haven't quite made it to our house yet.

Monday, May 26, 2008

Phineas and Ferb

The funniest cartoon (joining Sponge Bob, The Fairly Odd Parents) is now Phineas and Ferb.

Saturday, May 24, 2008

Missing Greeks

So here's a question that plagues me: What happened to Catherine Alpha Jones through Catherine Epsilon Jones?

Stargate Is Moving Again

I've been experiementing with Google Sites and decided to try implementing a Sites-based version of Stargate. Now the new Stargate is well on it's way to being done. I have to say, it's not bad and I may just move to Sites as the “official site” for Stargate.

I like the ability to update the site from a web browser from any location. This is in contrast the the current method where I log into a server where my source files are located, edit the source, regenerate the page or pages, then upload them to various web servers.

There are also some nice “free” features like the Site Map and Recent changes. The ability to add a blog made Site News trivially easy to implement. An additional advantage is that pages are organized into a hieararchy. And, of course, site searching is built in.

I really lucked out on the fact that there is a Theme that is a nice match for my previous color scheme so it almost looks like an intentional next step in site evolution. I miss the light yellow color though, which was taken from the core of the M100 galaxy in the picture I use as a logo.

I was worried about how to implement my Email Me form, but this also turned out to be a quick solution with Google Docs Spreadsheet and a Form (which is integrated right into Sites). Further, it's possible to have the spreadsheet to notify you by email when it changes so, voila!, an email form!

I have to reluctantly admit that the changes in the new layout, somewhat forced by the Sites style, is probably more usable.

The biggest downside is that I'm manually having to copy over and edit the data. I can semi automate it and by copying HTML and directly editing HTML on the sites pages, it does go faster for some lists and such. Most of the work involves editing out the CSS references from my HTML snippets.

The next question is: What do I do with the old site? Should I set it to redirect to the new Sites location? (Probably). I'll put up a this-site-has-moved message with the new URL then later maybe just code a redirect.

Google Grand Opening in Lenoir, NC

Google had their grand opening event for their data center in Lenoir, NC.

News article
TV Video (requires Windows Media)

More Sender-Stored Email

I was thinking about sender-stored email again. It occured to me how you could throw away SMTP and implement a whole new protocol pretty easily. The idea is partly inspired by OpenID.

It's also inspired by the fact that, instead of an email address, I've been using a URL for a number of years. If you want to send me email (and I don't know you) you go to that URL and fill out a form.

User A at Site S wants to send email to user B at Site T.

Previously, A@S would send email to B@T. It would go to an outbound email server at Site S, then be relayed to the exchange server for site T, then perhaps relayed through multiple servers inside T's location, until finally it was delivered to an inbox on an email server. At some later point, Users B would read their email and retrieve the message from the inbox.

In the new scheme, user B doesn't have an email address per se. They simply have a URL. It can be some arbitrary URL or such as http://b.email.myplace.com, or some generic email site like http://b.email.com, or a corp address maybe like, http://x.corp.com/eng/b.

Now, when A sends email to B, A's client simply POSTs a message to the URL using HTTP. The message contains these fields:

  • From - The sender's name and possibly return URL
  • (optional) To Name - Who the message it to.
  • Subject
  • Message URL - The URL of the message we are sending
This brief information goes into T's ``inbox.'' This is the only information required to be stored on the recipient's site. This inbox can be a simple table of data.

To read the message from A, user B accesses the URL in the message. This allows retrieving the email message with all of its headers. I've listed them before but here are some of the immediate advantages.

  • The recipient immediately knows who the message is coming from (because they get it from the source site). Based on the URL, if they decide it's spam, they can choose not to read it.
  • The message doesn't travel over the network until the last minute, when it's read. It efficiently travels directly to the recipient and completely under the recipient's control.
  • The message is stored once by the sender A.
  • However, the recipient does have the option of keeping their own copy if they want to.
  • Any attachments are naturally additional URLs to retrieve them. The recipient can verify if the attachments are from the same site or not.
  • Encryption is easy: (HTTPS).
  • Authentication of the recipient is easy (B has to sign into A's site).
  • This uses existing protocols and infrastructure. Most work is done by web servers.
And there's this big advantage.

There's no message store-and-forward or routing. The recipient's address is a URL and the sender connects to it directly.

The only new software required here is two pieces. There is the software that is posted to and that displays a list of messages. There is also software on the sending end that allows the sender to compose an email message. Then when they send it, the message is put up on the web server (for retrieval by the recipient) and that address is then sent.

Of course, it's possible to write email clients that do all of this behind the scene and make the email-reading experience completely indistinguishable from what currently happens.

Now look at what Site T needs in order for it's occupants to recieve email. In the current implementation of email, the site needs massive amounts of storage to handle all of the messages that arrive on an hourly basis. Messages are stored seperately (sometimes) for each recipient.

With the new scheme, Site T could simply give each user a browser and would only need to store a table of received messages.

This idea could easily be phased in along side existing email and with a bit of coding, it could be done transparently to the user. The cost savings and efficiency gains would be huge.

References: My previous Email Ideas posting and

Tuesday, April 29, 2008

Restructured Text

I'm not sure how I missed restructured text. This seems to be Python's answer to POD (Perl's Plain Old Documentation).

After five minutes of looking at it, it looks basically okay. The emphasis seems to be more on being readable in it's text (input) format. In other words, a marked up document is readable even before you render it as HTML, PostScript, etc. That's somewhat in opposition to POD and most Wiki markup (they are very similar to each other) where the emphasis is on easy typing.

I prefer the latter, but maybe with Emacs macros and such the former will be okay. I'm going to try it out.

I bet it doesn't have built-in support for the man page format the way that POD does. We'll see.

Tuesday, April 15, 2008

Google Innovation in Harvard Business Review

Susan A shared this interesting article in the Harvard Business Review (April 2008): Reverse Engineering Google's Innovation Machine by Bala Iyer and Thomas H. Davenport.

Fascinating.

Saturday, April 12, 2008

Interesting China/Asias Article

This article in the Daily Mail is an interesting analysis of China's place in the world.

Wednesday, April 09, 2008

Carl's Table

Fascinating! Check out this desk and chair.

Sunday, April 06, 2008

Xubuntu!

If you have a partition that's less than 3-GB and you want to install a recent Linux, the answer is Xubuntu! I installed the Gutsy version of Xubuntu and it's using 1.7-GB so far.

Monday, March 03, 2008

Compiling on Ubuntu

If you are running Ubuntu, try to compile a C program, and discover that stdio.h is missing, then you need to execute this command.

apt-get install build-essential

Saturday, March 01, 2008

DTrace on Mac OS X

I recently discovered that Mac OS X Leopard includes support for DTrace tracing.

However, some searching uncovered this post which notes that DTrace is limited to not being able to trace some applications.

Monday, February 25, 2008

Star Wars by a Three-Year-Old

If you've had kids, particularly if your first is a daughter, then this will seem very familiar.

Explanation of Star Wars by a Three-Year-Old.

Monday, February 11, 2008

Impressive Warehouse Fire

I could see this fire as soon as I left our house this morning, over 40 miles away. Wow!

(Oh, click on the link under the picture that says Photos, that takes you to a photo album).

Wednesday, February 06, 2008

Primary Delegates Map

Here's a nice interactive map a the Washington Post of primary delegates and who has won them so far.

Here are some more.

  • Time (but it's out of date at the moment)
  • Newsweek (Caution, though they display delegate counts up top, their bar-chart seems to be counting votes and not delegates. ???)
  • NY Times (also not up to date yet)

Tuesday, February 05, 2008

Bazaar

Okay, a guy I work with, Jon, told me about Bazaar (bzr), which is a version control system. I've been trying it out for several weeks, using at work regularly, and just playing with it at home. I've really come to like it a lot except for one shortcoming noted below.

The web site does a good job of listing the features but here are the ones that I like.

  • Commands are similar to CVS.
  • You don't need a central repository.
  • It's completely written in Python and supports plug-ins.
  • It's very easy to use.
My first version control system was RCS and then around early in this century I migrated to CVS, which was descended from RCS. This will be my third. (Well, not technically. I have used and do use others).

One big paradigm shift involves how version numbers are assigned. In CVS, each file has it's own series of version numbers. For example file1 might be at version 1.4 and file2 might be at 1.20. The only idea of a global version is achieved with tags.

With bzr, even if you only commit changes from file2, if that's version 25, then version 25 represents the state of all files in the project at that point. This has a few implications.
  1. If you list the log of changes for, e.g., file2, you might see it was updated in versions 25, 23, 22, 10, and 7.
  2. You can list the global log of changes which shows comments and which files were changed for ever version number.
  3. It's trivially easy to commit changes since you don't have to list files, but can just do a commit which catches everything. This is more convenient than I ever imagined.
This idea of a global version number rather than a local version number for each file is the way most version control systems work so this represents a paradigm shift for me (hey, a change in thinking!) but I've quickly come to like it.

Bazaar has one shortcoming that is very annoying—it doesn't support RCS keywords. In RCS, you can place text like $Revision$, $Author$, and $Date$ in your file and they will be updated with the current values. I've depended on this over the years and miss it a lot when it's missing. I think files should have their identifying information when printed without having to refer to the on-line version control system.

It's pretty easy to write a little program that edits in this information, say just before committing changes, and indeed I've already written most of it. It could even be made a plugin for Bazaar so I may do that.

In the end, Bazaar is highly recommended for keeping versions of any important files (not just program code).

Wednesday, January 30, 2008

Reversing Memory Loss?

This is a fascinating article from The Independent about doctors electrically stimulating a 50-year-old man's brain caused old memories to flood back in vivid detail.

The accidental breakthrough came during an experiment originally intended to suppress the obese man's appetite, using the increasingly successful technique of deep-brain stimulation. Electrodes were pushed into the man's brain and stimulated with an electric current. Instead of losing appetite, the patient instead had an intense experience of déjà vu. He recalled, in intricate detail, a scene from 30 years earlier. More tests showed his ability to learn was dramatically improved when the current was switched on and his brain stimulated.

Also,

Professor Lozano said: "This is the first time that anyone has had electrodes implanted in the brain which have been shown to improve memory. We are driving the activity of the brain by increasing its sensitivity – turning up the volume of the memory circuits. Any event that involves the memory circuits is more likely to be stored and retained."
What they don't say in the article is that, as the electrical current was increased, the man forgot the alphabet and asked the scientists, “Can you tell me what kind of cow I am?” At higher currents he simply began yelling “Turn it off! Turn it off!”

Hoary Pogonotrophy

I'm engaged in hoary pogonotrophy.

Monday, January 21, 2008

What Have You Changed Your Mind About? Why?

This is a fascinating question that was discussed in these articles.

Those sites are in increasing order of origin, I believe.

The gist I got is that asking a person this question leads to interesting and important insight at least about the “scientific” aspects of their background. Note that this means scientific in a general sense of thinking and learning, more so than as, say, a professional scientist.

Now I just need to answer the question myself. I'm not sure I have an answer yet. I'll see what I can come up with and report back here.

Two Shared Items Pages from Google Reader

Arg. Okay, I'm now reading, and thus posting, from two different Google Reader accounts. This means I now have two Shared Items pages. Both links are to the right: Shared Google Reader and More Shared Reader. It may be worth looking at both of them.

Maybe someday I'll reorganize my Google life to allow reading and posting from one of them. I might be close to that now.

Friday, January 18, 2008

Build a Computer from the Ground Up

This looks like a really neat book! It teaches you how a computer works while building one (using emulators) starting with logic gates and ending with software. Recommendations are high.

The Elements of Computing Systems: Building a Modern Computer from First Principles
by Noam Nisan and Shimon Schocken, The MIT Press, 2005.

At Amazon.

Monday, January 14, 2008

Tuesday, January 08, 2008

Laser HDTV

Laser TVs are something we've imagined and anticipated for some time. Now, here's an HDTV version. Maybe there were standard laser TVs in the past that I've just missed.

If this is what I think it is, a TV raster image created with scanned lasers, then I think it has important implications for applications. I was going to suggest what some of those implications were but the more I thought about it just now, the more I realized maybe it's not as straightforward as I thought. More thinking required. 8-/

Monday, January 07, 2008

Human Tetris!

From the It Doesn't Take Much to Entertain Me department: Human Tetris on Youtube.

Friday, January 04, 2008

Thursday, January 03, 2008

Python Videos by Jeff Rush

I've only watched this first video, but I found it to be an outstanding first look and code walk through of a simple Python script. It's from a series of videos by Jeff Rush which seem to be quite well done. Check it out and note how powerful a simple Python program can be. The presentation is very well done.

He does use a couple of advanced features:
  • Compiled regular expressions
  • A list comprehension
I'm curious to know if you found they made the example more difficult to follow, or if they were easy to understand.

Monday, December 31, 2007

Posting from New Account

I'm testing posting from another Google account.

Your U.N.C.L.E. on DVD!!!!!


Outstanding news!! Time Life now has the first season of The Man from U.N.C.L.E. (1964--65) on DVD!

The first season includes the Project Strigas Affair, which featured guest stars William Shatner and Leonard Nimoy!

Friday, December 14, 2007

SimpleDB

Noted in Michael's Google Chat status: SimpleDB.

Very interesting.

Tuesday, December 04, 2007

Spam Trap

Fascinating! From Slashdot, an article on a new type of spam detection in
Abaca's new filtering techology that bases detection on a computed reputation of recipients rather than email content or the sender.

Monday, December 03, 2007

Python Differences

Okay, here's a list of things that are different in Python that one may as well get used to. I think that most of these weren't immediately obvious to me, rather, I had to pick up on them after a bit of time.

Everything is by reference

All variable assignments are by reference, i.e., they copy the address and never copy the values. If a and b are arrays, a = b, does not copy the array as in Perl. Now a is a reference to the same array as b. Of course for scalar values, this does copy the value so to state things more precisely (i.e., correctly): Every variable is a scalar which is a simple scalar value or a reference to anything more complex than a scalar.

When you do want to make copies of something like an array, you need to import copy and use that module.

Learn the way of the %

Gone are the days of simple print statements and simple comma separated lists in print statements. Python brings us back to the days of printf for everything.

The format is something like '%, %s!' % ('Hello', 'World') or 'The answer is: %d' % x. Okay, granted no printf-like function is required, but % is an infix operator. (That in itself is an interesting departure for a language that uses functions and methods for a lot of operations). I didn't realize this at first, but simply plan to use this feature all the time! That means any time you deal with building strings. However, you can use the + to concatenate strings.

This is a side-effect of Python not having an indicator on variables such as $var in Perl. You can't simply say print "Hello $place!" in Python, because there's no $ to say that place is a variable, so you have to say print 'Hello %s!' % place. If you try print 'Hello ', place, '!' it won't be quite what you expect because Python adds an annoying space for every comma in a print statement.

Does this meet Python's goal of being “clean?” Hmm...

The main point here is that I had to make the shift from thinking % was a way to do things to realizing it is the way.

Quoting

The first thing you realize is that, because there are no variables like $var, there's no real difference between single and double quotes. The typical reason for using one is that you want to have literal instances of the other inside. For example, "Now here's a string." or 'Add the word "please" to your request.'

Then, later you realize that symbols like \n really are interpreted in both types of quotes and, in fact, you have to use the raw indication by prepending a letter r, r'print this \n literally.', to not interpret special symbols.

Everything has to be initialized

I can't complain about this one, but there's no automatic initialization of anything. The Pyton dict is the equivalent of a Perl hash. In Python, you can't access an element of a dict unless it's been initialized, even if to the value None (which is Python's equivalent to NULL or undef). This means that, in what should be a relatively simple loop, you always have to test for existence and add a clause to initialize if necessary.

Similarly, you can't use a simple variable before initialzing it.

The end result is that Python always forces you to be rather serious about programming and doesn't allow the same ability to dash of a useful expression the way Perl does. It's a philosophical difference that I can't argue about either way, however I do miss the latter sometimes. Well, okay, one doesn't really miss the latter, one simply switches back to Perl.

Saturday, December 01, 2007

Colleges Outsourcing Email to Gmail, MS

This Slashdot article on college oursourcing to Gmail and MS Live hits the topic spot on and covers it well. It's a highly-recommended read!

I have a couple of comments.

Worrying about privacy in the realm of email is nuts. People just don't get what email is. It's probably already crossed the Internet in the clear! For real ways to address these issues see my discussion of alternative email ideas.

Too late! I've already forgotten the second comment.

Blackberry Curve

Okay I have a Blackberry Curve 8320 and I'm now fully on the bandwagon. Blast it all…

P.S. I use the downloaded Gmail client for email.

Tuesday, November 13, 2007

Andy Rubin Interview

Here's a ZDnet interview with Andy Rubin. The answers tend to be short and press-release-like, but it does cover much of the Android announcement at that level.

Monday, November 12, 2007

More Android!


As promised, the Android SDK has been announced. Check out the site and watch the videos there.

Now you can write the next, great app for our phones!

Friday, November 09, 2007

UNIX Dictionary

Alas, /usr/dict/words is no longer generally available on UNIX (or at least Linux) systems! However, I found this copy on-line FWIW.

/usr/dict/words

Electric Arc Videos

Here are some cool electric arc videos. The second in this first series is one of my favorites. When an actual arc forms, it's a column of plasma. Since plasma is (very) hot gas it generally rises which eventually breaks the column, i.e., the arc.

Arc Videos

This is what started me on the path of arc videos. Someone sent a video of these tesla coils playing the Super Mario theme music. This isn't the one I saw but these are the same coils, I think.

Super Mario Tesla Coils

Wednesday, November 07, 2007

I Saw Comet 17P/Holmes!


So tonight I got out of the car and was looking at the stars. It was pretty clear. As I was gazing at Perseus I remembered that the comet, 17P/Holmes, which has recently become significantly bright, was maybe in that area.

There it was!

I went inside and got the 7x50 binoculars which still conveniently had their tripod mount, so I grabbed the camera tripod, too.

The comet is quite bright and quite round. It's the nicest comet I've seen in quite a while! Go out and take a look if you haven't seen it.

(Surprise! Wikipedia has the best coverage of the comet that I've found so far. They have exceeded Sky and Telescope. I don't know why S&T doesn't have their traditional finder chart and published ephemerides. Ah well. S&T does have an interactive sky chart but now you haves to register to use it.)

Wikipedia
Spaceweather (Amazing!) also this main page.
Ephemeris from Harvard CFA
A Blog

Denver

Tuesday, November 06, 2007

Android: The Phone

TA DA!

These sources are pretty much reliable.
Here are interesting reporting and various opionions. They may or may not be on target.

Sunday, November 04, 2007

Massive Pile Up on CA Highway

There was a massive accident pile-up on a California Highway reported via AP and Breitbart…
FRESNO, Calif. (AP) - More than 100 cars and trucks crashed on a fog-shrouded freeway Saturday, killing at least two people and injuring dozens more, the California Highway Patrol said.

Also, witnesses said…
“There was probably 2-foot visibility in the fog when I got here. It was really bad,” said Mike Bowman, a spokesman for the California Department of Forestry and Fire Protection. “It looked like chaos. Cars were backed up on top of each other.”

Okay, here's the punchline near the end of the story. Ready?
The freeway's northbound lanes were shut down indefinitely as investigators worked to determine the cause of the crash. Traffic backed up for miles south of the wreckage.

Monday, October 29, 2007

HD Parm Command

Someone at work forwarded this useful hdparm command.


hdparm -aAcCgiIMmn

Thursday, October 25, 2007

Python: Copy a Tuple to a List

Okay, here's how to copy a tuple to a a list, i.e., to an array.



>>> [x, y, z] = t
>>> a = []
>>> a[:] = t
>>> a
[1, 2, 3]

ONLamp.com -- An Introduction to Erlang

One of my colleagues at work did a tech talk on Erlang recently which is an interesting language. Here's a nice introduction at On Lamp.

ONLamp.com -- An Introduction to Erlang

Wednesday, October 24, 2007

Extreme Programming (XP) Wiki


There is a nice set of wiki pages on Extreme Programming at the original Ward Cunningham Wiki at c2.com.

The normal, extremely well done!, Extreme Programming home is here.

Monday, October 22, 2007

Cool Pumpkin Carvings

Here's a site with some very cool pumpkin carvings!

Happy Halloween!

Field Trip to WAGA

Also here's a cool set of pictures from a field trip to WAGA Channel 5.

Bank America Tower in Atlanta

Here's a page with nice pictures of and from the top of the Bank America tower! Apparently the Atlanta Radio Club has some equipment up there.

Sunday, October 21, 2007

Object Relational Mapping, NeXT and Apple

This article in Wikipedia, Object-relational mapping - Wikipedia, the free encyclopedia, makes interesting references to the history of NeXT objectoriented programming, Web Objects, and Apple.

It says NeXT's Enterprise Objects Framework “provides the technology behind the company's e-commerce Web site, the .Mac services and the iTunes Music Store. Apple provides EOF in two implementations: the Objective-C implementation that comes with the Apple Developers Tools and the Pure Java implementation that comes in WebObjects 5.2. Inspired by EOF is the open source Apache Cayenne. Cayenne has similar goals to EOF and aims to meet the JPA standard.”

Thursday, October 18, 2007

Python Properties

Okay, Python does provide a mechanism for get- and set- methods for an instance variable: The property() function. You can find it documented in the Library Reference. Granted, I haven't really used this yet, but it exists.

There are two approaches. These examples are copied directly from the above Library Reference by Guido van Rossum, edited by Fred L. Drake, Jr.


class C(object):
def __init__(self): self.__x = None
def getx(self): return self._x
def setx(self, value): self._x = value
def delx(self): del self._x
x = property(getx, setx, delx, "I'm the 'x' property.")


Then, there is the so-called decorator, which is quite convenient.


class Parrot(object):
def __init__(self):
self._voltage = 100000

@property
def voltage(self):
"""Get the current voltage."""
return self._voltage


I believe that this functionality doesn't work for “classic” classes. That means you have to declare your class as a subclass of object, as shown above.

There's also a mechanism for creating a property class for implementing get and set methods for a variable, but I'll have to go back and look it up.

Part of the problem is that the property() function is buried in the Reference Library but isn't part of the Tutorial under the object discussion.

Okay, there's a pretty decent discussion in the Release Notes for Python 2.2.3. It even covers the subclassing of property to make the get and set functionality work for class attributes.

Ubuntu 7.10 Gutsy Gibbon


Ubuntu 7.10 Gutsy Gibbon is released today.

Here are some links.



Here's a list of some of the features for Ubuntu Server.

  • More Ubuntu focus on the server platform
  • AppArmor
  • Tickless idle mode
  • Easier mass deployment
  • Landscape system management
For the desktop:

  • Better printer support
  • Streamlined integration of Firefox extensions
  • Compiz 3-D included!
  • Write to NTFS!
The image is from Cnet news.com.

Refracting Light the Wrong Way


Wow! Layered material that refracts light the wrong way is featured in this National Science Foundation press release.

Wednesday, October 17, 2007

Selectricity Voting

Selectricity is an interesting voting site that lets you set up elections and allow voting via email, cell phone, etc.

Friday, October 12, 2007

X-Wing Rocket Launch

Things we'd probably never see if not for the Internet.

Launch of a 21-foot long X-Wing. Apparently they don't make them like they used to, a long time ago in a galaxy far, far away…

From Seth.

Wiki Advice

This article has interesting advice on building a good Wiki. Note that this is about the software, not content.

The author doesn't like CamelCamel case so I strongly disagree on that point. I consider CamelCase not only a good idea but essential. MediaWiki is particularly annoying on this point, though I've decided I can live with it.

The point about good search with relevant results is important, IMHO.

Looking back over it, maybe I only agree with about half of the article but I'll post it here anyway.

Data Center Knowledge

Data Center Knowledge: Data centers, design, power, cooling

A cool site on data centers.

Cartoon: Xkcd

xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe

Someone just showed this to me recently. It's sometimes funny IT humor. I haven't read enough to tell how often.

OpenID

A very informative and concise talk on OpenID by Simon Willison.

Thursday, October 04, 2007

Happy 50th Birthday Space Age!


The Space Age is 50 years old today! Wow. Sputnik was launched on 4 October 1957 at 19:28:34 UT.

APOD

Saturday, September 29, 2007

Excellent MythTV Notes and HOWTO

This site seems to be an excellent MythTV HOWTO and collection of notes.

Time Warner Cable ISP and Privacy!

Clark Howard discussed Time Warner's privacy policy on the air on 27 Sep. Here is a quote from his show notes on clarkhoward.com (as linked above). I wonder what Comcast's policy is? (Obviously, I should go and (re!)-read it.

Do you hate legal mumbo-jumbo? Well, consumer reporter David Lazarus recently read through Time Warner's entire 3,000 word privacy policy and terms of service. What he discovered is that Time Warner reserves the right to track the Internet habits of its high-speed customers. This info includes what websites you visit, how long you spend on them and what e-commerce purchases you make. They can also read your personal e-mails, according to the terms of service. Time Warner is also allowed to disclose personally identifiable info about its customers to advertisers, direct mail operations and telemarketers for a price. A company spokesperson claims they're not doing all this just yet, but Clark wonders why Time Warner is even allowed to reserve the right to totally invade your privacy. And it's not only Time Warner that has these kinds of policies -- AT&T tracks very similar info on its customers and records their TV viewings habits. While it's never good to look reflexively to Washington for a solution, Clark believes in this case we need an ironclad privacy policy from Congress to protect the privacy of your viewing and surfing. After all, would the CEOs of Time Warner and AT&T -- or those on Capitol Hill -- like it if the public saw every one of their e-mails?


New Google 411 Service

The new Google voice-recognition 411 service is very cool. Check out the video.

Monday, September 24, 2007

Gmail Unread Mail

Okay, looking on Google groups I found out how to do something I've been needing, wanting, and wondering about for quite a while: How do you search for Unread email?

It turns out that apparently, Unread is a hidden label. So, you can put this in your search field:

label:unread

OR, if you want to search another particular label for unread email:

label:unread label:ImportantMessages

Tuesday, September 18, 2007

New Job

I've never posted my biggest news here. After 22 years I left Emory and moved on to new employment. My last day at Emory was actually 20 July 2007, so this post is a little late.

Who's my new employer? You have to ask me for that information.

I'm still in IT, still in Linux, still doing basically the same things at the same level that I was before.

I started the new job on 6 Aug.

Monday, September 17, 2007

Boot 145 OS on One PC

Okay, 145 OS' beats my old 10 on my Fry's PC!

Tuesday, August 21, 2007

Scale of the Universe

Someone recently posted an article explaining the scale of the universe via various analogies. We do have a hard time percieving a wide range of scales where distance is involved. However, humans seem to have a perception of time that has a large dynamic range. So, I've found the best way to talk about the size/scale of the universe is in terms of light-travel time. (In other words, how long would it take light to travel that distance).

  • to the Moon - ~1.25 seconds
  • to the Sun - eight minutes
  • to Pluto - about four hours
  • to Alpha Centauri - about four years
  • to Sirius - about eight years
  • to the Orion stellar complex - about 1500 years
  • to the center of our Milky Way galaxy - 30,000 years
  • Diameter of our Milky Way galaxy (visible arms) - 100,000 years
  • To M31 the Andromeda Galaxy - 1.5 million years
Other clusters of galaxies are typically at distances with a light-travel time in the realm of 100 million years. All of these distances are approximate.

Oh, and you can basically ignore any talk of distances to the farthest galaxies, clusters, or talk about the size of the universe or distance to the edge of the universe. Most of those distances are highly model-dependent, and the concept of distance barely applies. After all, everything is moving on cosmological scales, the universe is expanding. That's all another discussion.