Tuesday, April 19, 2011

Android App Development in Fall 2011

I'll be offering an Android Application Development course this coming fall. The prerequisites are Comp 245 (Data Structures) and Comp 345 (OOP) or consent of the instructor.

I'm toying with the idea of offering an on-line, not-for-credit version of the course which will run concurrently with the live course. I would create a series of 30 minute videos that participants would watch on their own time, and then there would be a set time each week when everyone taking the course would join together in an on-line environment. I would be able to answer questions and go into more detail about the week's topic. There would also be some homework. Let me know if you think this is something you would be interested in. The fee would probably be around $150-200.

Some tutorials I created for developing an Android tic-tac-toe app are available on Google Code University. The tutorials teach you how to render graphics, save state information, play audio files, etc. I created the tutorials when I taught the first Android/iPhone programming course last spring. I'll likely be augmenting the tutorials this fall.

I ran across this article last week from the Wall Street Journal reporting that smartphone developers are increasingly in demand (see the figure below). Just a little more motivation to take my course!

Wednesday, March 16, 2011

SIGCSE 2011 wrap-up

Last week my wife and I were in Dallas for SIGCE 2011. It was fantastic having my wife there without the children-- I love my kids to death, but sometimes it's just good to get a little time away.

I first offered an Android workshop on Wednesday evening which went pretty well. I didn't get through all the material I had planned, but it's better to have too much planned than not enough. You can see my slides and handouts on the workshop web page. Thank you, Google, for providing each participant with an Android mini collectible.

There were 50 people in the workshop which made it difficult to help everyone who was having problems. Thankfully Steve Baber and Roger Webster were on hand and able to help me. One thing I learned in offering a workshop to such a large group is that you need to have more than just two helpers on hand, and ideally before the workshop begins, it's a good idea to be available to the small minority who were not able to install the necessary software. It certainly didn't help that the Android SDK Windows installer was buggy: it couldn't seem to find a user's installed JDK.

On Thursday, Matthias Felleisen gave an opening keynote address about TeachScheme and his research team's approach to transitioning students from math into computing. I can't say I totally bought into his approach, but I have a feeling that if I could actually watch them teach kids this stuff live, I'd have a better appreciation for it.

I attended a morning panel on Starting a Computational Science Program which convinced me that I would never participate in an initiative to start a computational science program, and then I came down with something and was out the rest of the afternoon.

I recovered enough on Friday to visit the huge exhibition room where every publisher on the planet had a setup a booth, and I visited with a Microsoft rep who introduced me to programming the Windows Phone 7 OS; it was certainly a lot easier than Android programming, and I'll likely do some of this in my GUI course in the fall. I also got to see Donald Knuth who made a brief appearance to sign some books. I was surprised that he was about as tall as I was.


I also really enjoyed the Teaching Tips panel where everyone shared very practical tips for teaching small and large classes alike. Some tips I've heard before but were good to hear again:
  1. When there's something critical for your students learn, do something dramatic like stand on a table.

  2. Make mistakes when writing code in front of your classes so you can show them the problem-solving process at arriving at better solutions.

  3. Call on students to answer questions rather than always just getting volunteers.

  4. Use the 5 minutes before class starts to share YouTube videos or other interesting tidbits, just to get to know your students better.
On Saturday morning I enjoyed the Nifty Assignments and got some good ideas for my CS1 course next fall. I also caught a talk comparing Android and iOS programming which was quite entertaining. Becky and I had to get on the road before the conference lunch.

Next year's SIGCSE is in Raleigh, North Carolina. This was my third SIGCSE in a row, and I hope to up my streak to four. It was good re-connecting with friends that I haven't seen in quite a while and making new acquaintances. It was also good seeing my brother and his wife and their new place.

Tuesday, March 08, 2011

Thinking Christianly about Computing

This morning I had the honor of participating in a panel discussion with my fellow colleagues Scott Ragsdale and Dana Steil during chapel. The topic was how we teach computer science from a Christian perspective. You can watch the discussion on iTunes U (if the link doesn't work, search iTunes for Thinking Christianly - Computer Science Faculty. March 8, 2011). The part you might find most interesting was on strong AI somewhere in the middle.

This was a difficult topic for the three of us to tackle, primarily because we think of computing primarily as a tool. Tools can be used for good purposes, and of course they can be used for evil. When you're teaching someone how to write an algorithm, there isn't necessary a "Christian" way of doing it. When you are testing software for vulnerabilities, a Christian is not likely to approach the problem any differently than a non-Christian. However, the broader picture of purpose is what I believe distinguishes how we teach CS at Harding from how it's taught somewhere else. To what end are we going to use these computing skills? Is it just to entertain ourselves or bring home a paycheck, or is there something much more important at stake?

There's a lot more I'd like to say on the topic, but it will have to wait... I'm heading to Dallas in the morning for SIGCSE 2011 where I'll be leading a workshop on Android application programming.

Monday, February 14, 2011

HUCS Quest 2011

The CS department is offering a $1000 scholarship for the first student who successfully completes the "Quest". You may obtain a Registration Form from Dr. Baird which must be turned in to the secretaries in Science 100 by noon Tuesday Feb 15. The first clue will be posted at 4 pm on the same day. The following information is from Dr. Baird:
HUCS Quest (Harding University Computer Science Quest) is intended to be a fun, challenging and intellectually stimulating game for computer science and computer engineering majors. A series of clues and hints will be given which will ultimately lead to the final clue, which contains directions for claiming the prize. The prize will be a $1000 scholarship awarded for the following semester to the winner of the quest. The winner of the quest must be eligible to receive the scholarship, or willing to designate someone who is eligible to whom the scholarship will be given. The recipient of the scholarship must be a computer science or computer engineering major.

Contestants must sign up to be in the contest and, when eligibility has been verified, they will be added to a special "HUCS Quest Roster" on the Easel system. There will be a series of clues and hints given out over the Easel system. The timing of the release of clues and hints will be determined by the judges in an attempt to influence the length of the contest. (We would like for the contest to last no longer than three weeks.) The clues and hints will ultimately lead to the final clue which is a microSD memory chip which will be hidden somewhere on the Harding campus. This chip will contain directions for claiming the prize. Contestants must follow those directions to claim the prize.

Clues and hints will involve several aspects of computer science, such as cryptography, algorithms, file structures, etc. Solving the clues may require construction of a computer program. Almost all of the clues and hints also involve knowledge of some other area of learning such as languages, art, literature, music, history, mathematics, or one of the sciences. Many of the clues will cause contestants to research both online and in the library and to consult with friends in other disciplines.

Students may form teams to work together on the quest. Teams may be from 1 to 3 persons and must be declared when registering for the contest. The scholarship prize will be divided evenly between team members and all eligibility rules apply to each member of the team.

When students sign up to participate in this contest, they will also sign a form indicating their willingness to abide by the contest rules, which are given in the attached document. At the time of registration, your major (which must be CS or CE) will be confirmed on Pipeline before your registration form is accepted. If you are currently one of these majors and your major is not listed as such, please contact the Registrar's office to get it changed before you come to sign up for the contest.

If you have any questions about this quest, please contact me. We had a very successful HUCS Quest contest in February 2009. I hope this one will be fun for all who participate.

Tim Baird, Ph.D.
Chair, Department of Computer Science


Update:

The contest is over. First place: Brandon Huber, Robert Craig, and James Robbins. Second place: Nathan Hourt

Friday, February 11, 2011

Saving 172 BBC websites with BitTorrent

A recent budget cut at the BBC meant that as many as 200 websites were going to be shut down. However, an individual named Ben Metcalfe crawled 172 of the websites before they were deleted and has made them available via BitTorrent. I don't think Metcalfe really needed to expend the effort since it's likely the Internet Archive has archived the sites or will shortly, but it's nice to see an individual being pro-active in ensuring the sites would not be lost. The loss of the sites is a big downer for some who have contributed significant content to the sites in the past.

Friday, February 04, 2011

Bing is "copying" Google's search results?

Earlier this week, Google revealed the results of a sting operation that appeared to catch Bing red-handed. Microsoft has apparently been using Internet Explorer to determine which queries and search results their users were clicking on when using Google, and they incorporated that information into Bing's search results. Although Google says this is unfair copying of search results, Microsoft is claiming that the information is just a small part of their overall formula for ranking search results.

The debate has received a lot of attention. Even Colbert had something to say about it: "Evidently, hiybbprqag is a word meaning 'You got serverd!'"

This debate has been good fodder for my Web Science course, and it was even relevant to my Seminar class which discussed ethics and intellectual property this morning. Search engine results are intellectual property, so is Microsoft's use of clickstream data fair use, or did they cross the line?

Update:

This post generated some interest on my Facebook account. One of the comments included this link to Danny Sullivan's article that gives more analysis of the situation.

Thursday, February 03, 2011

A short history of computing

I finally produced a set of 40 slides on the history of computing in both PowerPoint and PDF formats. I injected a little humor, including some "infamous" quotes like Ken Olson's: "There is no reason anyone would want a computer in their home."

Along with standard events like the Analytical Engine, ENIAC, and the Internet, I've also included some of my favorites like Tron, the first movie to use extensive 3D graphics. Most of the photos were obtained from Wikipedia, but I included a few of my own, like this photo of the first Google server that is currently housed in the lobby of the Gates Building at Stanford.

I know there was a lot of stuff I left out. If there's something you think I should really include in my slides, let me know, and I'll give it due consideration... my CS1 students will also thank you for suggesting more information they have to remember for their first exam. wink

You can also check out some of my other historical slides on graphical user interfaces and the Internet.

Thursday, January 27, 2011

Introduction to Web Science

The spring semester is at full throttle, and I figured it was time to write my first blog post of 2011. I'm teaching Introduction to Web Science this semester (I mentioned this back in November). It's an upper-level elective for CS majors that approaches Web Science from a computing perspective. There have been a few other undergraduate Web Science courses offered at other universities, but they are quite rare.

There is no single book on the topic of Web Science, so I'm using a combination of texts (see the class web page) that focus on web search engines, networks, and collective intelligence.

If you'd like to follow along with the class, I'm placing our PowerPoint presentations online on the class web page.

Thursday, December 23, 2010

Merry Christmas from the McCown's

Merry Christmas!

Photo by Stacy Schoen
"For unto you is born this day
in the city of David a Savior,
who is Christ the Lord." - Luke 2:11

Friday, December 17, 2010

Tron's legacy

There's probably no one in Searcy, Arkansas, who is more excited to see TRON: Legacy tonight than myself. If you question my passion for the film, take a look at what is hanging on the most prominent wall in my office:


I saw the first Tron movie when I was about 9 years old. It presented a fictional world inside of computers where programs fought for survival by hurling light discs at each other and racing motorcycle-like vehicles that left a deadly trail of light behind them.

To say that it left an impression on me is an understatement. If you were to ask any NASA scientist why they entered their field, many would point to Star Trek. If you were to ask many computer scientists of a certain age why they got into computing, many would point to Tron (and perhaps War Games).

I'm going into the movie with middle-of-the-road expectations. It's got to be tough making a film that pleases the original Tron fanatics and a younger mainstream audience at the same time. I'll report back later after seeing the film.

In the mean time, check out this Tron music video which features an "alternative ending" to Tron.

End of line.

Update

I really enjoyed the film... 3 out of 4 stars. It had a semi-original plot, but the most interesting thing was just the inner world of Tron. The CG that produced a young Flynn was pretty good, but there is still obvious room for improvement. The 3D was pretty good and was well suited for this type of movie. I think my favorite scene was in the End of the Line Club where Daft Punk had a cameo appearance. Wish the main character, Sam, had his father's zany sense of humor... he's a bit too cool. I'm definitely going to see it again while it's on the big screen.

Tuesday, December 07, 2010

Android Workshop at SIGCSE 2011

I'm offering a workshop on Android application development at SIGCSE 2011 in March 2011: Audacious Android Application Programming. (The workshop name was shamelessly stolen from Michael Rogers' iPhone workshop from last year's SIGCSE.)

Here's a brief description:
As smartphones and mobile devices become ubiquitous, many CS departments are adding mobile computing electives to their curriculum. Google’s Android OS is a freely available and popular smartphone platform with applications programmed in Java. Workshop participants will be introduced to mobile app development and the Android SDK. We will write some simple Android apps with Eclipse and run them on an emulator. For those interested in teaching an upper-level Android course, reusable programming labs and projects will be distributed, and we will discuss some teaching strategies. Participants should be capable of writing Java programs in Eclipse and should bring their own laptop preloaded with Eclipse and the Android SDK.

The workshop will be held Wednesday, March 9, from 7:00 - 10:00 pm at the Sheraton Dallas Hotel in Dallas, Texas. Cost is $65. More details will be made available soon on the workshop website.

Thursday, December 02, 2010

Memento wins Digital Preservation Award 2010

Congratulations to Herbert Van De Sompel and Michael Nelson for being awarded the Digital Preservation Coalition's Digital Preservation Award 2010 for the development of Memento.
"‘Memento offers an elegant and easily deployed method that reunites web archives with their home on the live web,’ explained Richard Ovenden, chair of the Digital Preservation Coalition. ‘It opens web archives to tens of millions of new users and signals a dramatic change in the way we use and perceive digital archives.’"

I've been working with Herbert and Michael on the development of the Memento Browser for Android. It's great to see these guys being recognized for their hard work.

Tuesday, November 30, 2010

Thoughts on cheating

I've been thinking a lot about cheating these past few weeks. It was triggered by a cheating incident that occurred in my CS1 course where a student had copied source code found on the web. Interestingly enough, this coincided with news that Oracle had amended its patent infringement lawsuit against Google to include a line-by-line comparison of code it claimed Google illegally copied.

About the same time, a massive cheating scandal was uncovered at the University of Central Florida involving 200 students who cheated on their midterm exam (approximately one-third of the class). And just a few weeks before I had read that cheating in CS accounted for 23% of all honor code violations at Stanford University where the students involved in the cheating make up only 6.5% of the student body. Oh, and did I mention the article in the Chronicle of Higher Education about the "Shadow Scholar" who has cashed-in by written innumerable papers on behalf of college students?

With so much cheating going on, one can't help but wonder if students today value honesty less than previous generations or is it just easier to cheat (and catch cheating) today? Is there something we could do as CS educators to reduce the amount of cheating going on in CS?

On Monday my chairman placed an article in my mailbox entitled Cheating in Computer Science by William Murray, a faculty member at the Naval Postgraduate School who is well-known in the computer security field. Murray thinks current CS teaching practices in which students must write original programs actually promote cheating by creating an artificial problem for which cheating is often the easiest strategy. Instead, Murray suggests we should employ practices that de-incentivise cheating, perhaps by promoting skills which are highly valued in the workplace like code re-use and teamwork.

I certainly agree that code re-use and teamwork can have positive benefits when learning programming. Pair programming is something I've been using for several years with positive results. I also promote limited code-reuse in my upper level courses when it's code that can augment my students' final projects, as long as the reuse is documented thoroughly and the re-user can adequately explain the code she's reused.

However, I don't see code re-use or peer programming as a panacea for reducing cheating. When I questioned my student who was caught copying code from the Web, it was clear that he didn't really understand what he had copied. He didn't understand it enough to even be able to fashion it into a solution resembling the program specification I had given. How did code re-use help him learn anything? I'm not saying he could not have potentially learned something, just that code re-use is not an immediate fix for cheating.

Teamwork is also not an immediate fix. I still remember vividly during my undergraduate years working on a team with someone who was understanding the class material significantly better than the rest of us. We relied on him heavily to get good grades on our projects, and many times we failed to fully understand our (his) solutions to the problems. And in pair programming, there are times when the weaker partner is just not going to "get" what is so obvious to the stronger partner, and it's easier to just turn in the finished assignment rather than struggle with the solution individually.

Murray goes on to suggest how teaching programming skills using existing programs will somehow remove the incentive to cheat:
"I no longer teach programming by teaching the features of the language and asking the students for original compositions in the language. Instead I give them programs that work and ask them to change their behavior. I give them programs that do not work and ask them to repair them. I give them programs and ask them to decompose them. I give them executables and ask them for source, un-commented source and ask for the comments, description, or specification. I let them learn the language the same way that they learned their first language. All tools, tactics and strategies are legitimate." (emphasis mine)
Let me get this straight: a student can use the strategy of copying someone else's solution, cite the person who did all the work developing the solution, and get credit for the work? Surely this is not what Murray is advocating. These are certainly worthwhile approaches that students could learn a lot from, but Murray does not make it clear how these approaches are less resistant to dishonest practices.

Murray later states that "Nice people do not put others in difficult ethical dilemmas," suggesting that I am somehow a mean guy for putting my students in a difficult situation when I ask them to write original code. I'm sure some of my students would agree when they start working on their assignments just hours before they are due. Perhaps every department on campus is guilty of the same thing since we all create "artificial" situations where students must come up with original solutions instead of borrowing others'.

My goal is not necessarily just to be nice, but to hold my students to a level of rigor where, if they take it seriously and put in the time and honest effort, they will be well prepared to enter the job market and have a basis of knowledge from which they can learn new skills. Many times this will require original work to problems that others may have already solved. However, having students solve these problems on their own or in pairs will put their brain through a mental workout that will prepare them to be a productive member of a development team in the future.

So what can CS instructors do to make cheating less appealing? Coming up with new assignments that are engaging, changing exam questions, and all those other time-consuming tasks are certainly beneficial. But I think a more successful approach is to simply make the case for academic integrity as a relationship between teacher and student, a relationship that can be harmed when deceit is allowed to enter the picture. Deception will potentially harm the student's self-image more than anything and cause serious regrets in the long-term. For those of us that seek to follow God, the relationship is three-way, and deception in a relationship with God is a non-starter.

I think we have to realize that many college students are still quite young and lack the maturity to take the high road. Our job as faculty is to help those who mess-up learn from their mistakes and exhort them to exercise integrity in the small things and the big things. This is something I'm still learning to apply to myself.

Friday, November 26, 2010

Firefox... you're killing me!

I'm trying to get caught up on my grading before the students return from the Thanksgiving break. Unfortunately, Firefox is driving me nuts, so pardon the short rant.

My web development class is mainly composed of freshmen and sophomores, many of whom have only been writing programs for a semester or two, and occasionally they will write CGI programs with infinite loops. Accessing these CGI programs causes an endless amount of data to be sent to the browser. Using Firefox to access these URLs often causes the entire browser to lock-up as shown below.



So I'm stuck using the Task Manager to kill Firefox and then restart the browser, just because one tab has gone haywire. This adds several minutes to my grading time each time I have to restart. Internet Explorer doesn't do much better; only Chrome lets me kill the offending tab without restarting the entire browser.

I suppose this wouldn't bother me so much if it wasn't such an obvious pitfall that a seasoned browser can't accommodate.

Listen up GUI students... this is a prime example of when threading is necessary so your UI thread can continue to respond to the user!

Saturday, November 20, 2010

Get flag images from Wikipedia

I needed a large number of national flag images at a certain resolution for a project my Web Development course was working on. By examining some flag images I saw on Wikipedia, I noticed that they were creating flag images on the fly.

For example, to create the United Kingdom's flag that is 100 pixels wide, you can access this URL:

http://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Flag_of_the_United_Kingdom.svg/100px-the_United_Kingdom.png

which produces this flag:

So I developed a Perl script that would automate this process for me. I've included it below for anyone else who might need flag images. Note that I had to set the user agent string, or Wikipedia would not respond properly to the http request. If you use this script to download a lot of images, please be nice throttle your requests with the sleep() command.


#!/usr/bin/perl

# This script will attempt to download the national flag
# produced by Wikipedia using the $flag country name and
# $image_size as the image width. By Frank McCown.

use LWP::Simple;
use HTTP::Response;
use strict;

# Width of the image
my $image_size = 100;

# Country's name
my $flag = 'the United Kingdom';

my $filename = lc $flag;
$filename =~ s/\s/_/g;
$filename = $filename . "_" . $image_size . ".png";

my $url_filename = $flag;
$url_filename =~ s/\s/_/g;

my $img_url = "http://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Flag_of_" .
$url_filename . ".svg/" . $image_size . "px-" . $url_filename . ".png";

print "Getting $img_url\n";

my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla/5.0 Firefox 5.6');
$ua->from('your@email.com');

my $response = $ua->get($img_url);

if ($response->is_success) {
print "Writing to $filename\n";

open(IMG, ">$filename");
binmode(IMG);
print IMG $response->content;
close IMG;
}
else {
print "ERROR: Could not download.\n";
}

Thursday, November 04, 2010

New Web Science course offered in Spring 2011

I'll be offering an Introduction to Web Science course this Spring. Web Science is an emerging field of study which encompasses computer science, law, economics, and a number of other disciplines. This course is for upper-level CS majors and will therefore focus mainly on computing aspects of Web Science. Below is a description of the course. If you are a Harding CS major looking for a challenging and enlightening elective, I hope you'll consider taking it.

The Web has fundamentally changed how we learn, play, communicate, and work. Its influence has become so monumental that it has given birth to a new science: Web Science, or the science of decentralized information structures. Although Web Science is interdisciplinary by nature, this course will be focusing mainly on the computing aspects of the Web: how it works, how it is used, and how it can be analyzed. We will examine a number of topics including: web architecture, web characterization and analysis, web archiving, Web 2.0, social networks, collaborative intelligence, search engines, web mining, information diffusion on the web, cloud computing, and the Semantic Web.

Programming projects will use Python, HTML & JavaScript, some Google APIs, and the Facebook API.

Prerequisites: COMP 245 & 250

Friday, October 08, 2010

Facebook adds ability to download your Facebook data

A few years ago I thought it would be really helpful to create a tool that would allow anyone to archive their Facebook account, just in case something happened to it. Think about it... 20 years from now, wouldn't it be interesting to see what was going on in your day-to-day life? And what if Facebook were to start charging fees to access your account or, Lord forbid, to disappear?

Last year we finally released the ArchiveFacebook Firefox add-on which allows you to save to your hard drive your Facebook account, just as it appears in your web browser.

My hope was that this tool would have a limited life span. I wanted it to nudge Facebook into providing a method to download and even transport user data to other social networks. Finally, it looks like Facebook has caved-in.

Coming soon, you will have the option to download a zip file from Facebook that contains all your wall posts, photos, messages, etc. You can browse the contents of the zip file in your browser.

The video below shows how this will work.



I have not yet been given access to the feature, but I will report back later once I've had a chance to use it. I'm not sure if it will be possible to upload the archived data into another social network. My guess is that someone will need to write a program that converts the zip file into an open format that can then be transported.

Thank you to Carlton Northern, Hany SalahEldeen, and others who have put a lot of time into making the numerous and painful modifications to keeping ArchiveFacebook working as Facebook made website changes. It may finally be time for it to retire.


Update on 10-20-2010

I was able to download my entire Facebook account today. It only took a few minutes after I requested the archive that Facebook made it available to me in a 6MB zip file. As you can see below, it's a spartan set of pages with all your Wall posts, photos, messages, etc.:



I scrolled down the very long Wall page and found my very first Wall post dated September 28, 2006 at 9:03 pm from my friend Stacey: "Welcome to the ridiculous! How's Bean? How are you?" According to the Facebook Wikipedia article, this was two days after Facebook had opened to the general public. I guess that makes me an early adopter (for once). wink

One technical problem I ran across: Facebook has mangled the image src attribute (src="../photos%2FProfile%20Pictures%2F514544861521.jpg" should be src="../photos/Profile%20Pictures/514544861521.jpg"), so I couldn't see my Photos in Firefox. I had no problem seeing them in Chrome.

Saturday, September 18, 2010

Memento Browser for Android is available

I've just created a home for the Memento Browser for Android, a project I started working on this past summer. The free Android app allows you to view older versions of web pages by merely selecting a date. The browser uses the Memento protocol to find archived versions of the page and displays whatever page is closest to the requested date.

For example, the screenshot below shows the browser viewing cnn.com:



If you wanted to see what this page looked like on Sept 7, 2007, you could select that date, and in a few seconds be looking at this archived page from WebCite:



Note that the page displayed is actually one day later than the requested date. That's because the browser was not able to find an archived copy on the exact date requested. The browser is only displaying archived copies from Internet Archive, WebCite, and a few other archives. While they have a huge amount of the web archived, they certainly don't have everything archived.

You can download Memento Browser here. I am working on an iPhone version of the app with a colleague of mine, but I don't have an ETA for it yet.

If you don't have an Android device, you can still download the MementoFox add-on for the Firefox browser which does the same thing.

Finally, you can watch a demo of the browser in action here.

Friday, September 03, 2010

Loving my Droid X

I've had it less than a week, and I'm hooked. The Droid X's screen is large (4.3"), sharp, and bright. The keypad is easy to type, the touch interface is extremely accurate and responsive, and reaction times are quick. The video playback is fantastic. It's quick to connect to the Verizon 3G network or local wifi, and I've gone nearly 3 days without having to recharge. It's running Android 2.1, but Froyo (2.2) is supposedly coming out soon.

Below is a photo I took from chapel this morning using the Droid X's 8-megapixel camera. Not bad considering the lighting. I'm standing in the pit at the front of the auditorium with my fellow faculty members. (The singing, as you could imagine, is awesome with a packed auditorium.)


One small negative: When I first entered my Facebook account credentials, it sucked up all my "friends" and put them in my list of contacts. Now my 500+ contact list is full of people I haven't seen in years and certainly don't contact on a day-to-day basis. If I want to remove an individual from my list of contacts, I'm told I have to remove them from my list of friends on Facebook. Boo.

I haven't added many apps yet (the phone comes with approximately 30 apps pre-installed). But one I did add was the Bible app from YouVersion. It allows me to simply say "Genesis chapter five verse twenty", and boom, you're there. Won't this be fun to play with during Bible class on Sunday. wink

Hey Apple, when are you going to create an iTunes for Android? This is probably the only reason I will hang on to my iPod Touch for now. (Yes, I've heard of doubleTwist, and I'll give it a try soon.)

Any other apps I should install?

Tuesday, August 31, 2010

Some computing history

The fall semester is in full swing here at Harding, and I've decided to convert some of my notes on historical events in computing to slides. If you are interested, here are my slides on Internet and Web history and history of graphical user interfaces (GUIs). I'll admit the GUI slides are slanted toward Microsoft because we focus on Windows programming in my GUI course.

I'm still working on my general history of computing and will post an update later.