Thursday, August 19, 2010

ASUS 1005HA netbook - first impressions

My new netbook (Asus 1005HA, Linux version) arrived today. I bought it to replace my Lenovo X61 tablet, not for any technical reason, but because the X61 won't fit in the trunk bag on my bicycle.

Software: The preinstalled Linux (Xandros?) is crap, so I immediately installed the Ubuntu 10.04 netbook remix. I have to say that I am extremely impressed with Ubuntu. There is a nice application launcher (in place of a traditional desktop.) The window manager uses the "one maximized application at a time" model, which I initially thought would be annoying, but is actually really nice. Each running app gets a small icon on the panel, and Alt-Tab switches between apps. Very good use is made of the limited (1024x600) screen real estate. I found it easy to add a new application launcher (for Eclipse!), and to add launchers to the "Favorites" category. Connecting to wireless networks (WPA and WEP) worked flawlessly. Installing software from the package repositories (openjdk, subversion) worked great.

Hardware: Awesome! The screen is bright and sharp. The keyboard is much better than I expected - I can type at close to full speed. The track pad works very well, and dragging on the right edge scrolls up and down. I haven't run any benchmarks, but it seems quite responsive. I installed Eclipse and did a bit of Java programming, and performance was fine. (It's some kind of Atom which supports hyperthreading.) Battery life is predicted (by the Ubuntu battery meter) at about 5.5 hours, which seems reasonable. I am waiting for a 2GB memory module to arrive, but with the pre-installed 1GB it works just fine. And the size - it really is significantly smaller and lighter than any traditional notebook, even ultraportables.

Overall: I really like it a lot so far. I'm looking forward to seeing how well it can handle serious work during the school year.

What I Did This Summer

It's been a busy summer. Things that I did (in absolutely no order):
  1. Full-time parenting. This was by far the most interesting and rewarding activity. Eli is now talking up a storm, and Gus is almost walking. I can now sing the themes to Super Why and Dinosaur Train from memory.
  2. Went to Charlotte to visit the Bridges clan. Lots of fun, but US Airways now on enemies list.
  3. Vacationed in Dewey Beach, DE with Bridges, Hovemeyer, and Swope families. Good times! However, fantasized about formally suggesting "Drunken Frat Boy, DE" as new name for town.
  4. Continued work done by YCP undergrads (hi Ray and Brandon!) to create an RTOS for AVR microcontrollers. The kernel is 100% C (no assembly)! Planning to somehow get a SIGCSE or CCSCE paper out of this.
  5. Successfully programmed a 22V10 GAL, for both combinational and stateful logic. (I need to break down and actually learn about FPGAs sometime.)
  6. Attended Heisler/Williams wedding reception and Hoyt/Spacco wedding. Latter involved travel to Chicago. Reconnected with UMD peeps.
  7. Advised one student doing an internship for credit, and another taking a course by tutorial.
  8. Retooling of Programming Language Design course.
  9. ABET stuff (don't ask.)
  10. Read all 3 books by Stieg Larsson. Highly recommended.
  11. Got netbook. How did I live without one of these? Lenovo X61 notebook now seems hopelessly large and cumbersome.
  12. Rode bike many times. Planning to use as main commuting vehicle during school year when weather cooperates.
  13. Reviewed a book.
  14. Attended CCSCE 2010 organizational meeting.
  15. Lunch at Victory Brewing Company twice with Kate to celebrate aniversaries.
There's probably some other stuff I forgot.

Thursday, May 27, 2010

using git to track marmoset svn repository

I'm doing some work on marmoset this summer. As an experiment, I'm doing my development in a git repository, using git-svn to track changes in the main svn repository. My changes are somewhat experimental, so I didn't want to commit to svn HEAD, and svn branches are so 1990s. We'll see how it goes. I'm also pushing my changes to a publically-visible git repos:


Thursday, April 29, 2010

Greatest Song Ever

Here's a screenshot of Pandora playing the greatest song ever:


Some of the things I was obsessed with in high school haven't stood the test of time, but The Smiths most definitely have.

Monday, April 12, 2010

gdb debugging using simavr

I just got debugging using gdb working with simavr. It's as simple as putting
avr->gdb_port = 1234;
avr->state = cpu_Stopped;
avr_gdb_init(avr);
in the code that preceeds the simulation loop. Then, start avr-gdb (using the name of your firmware ELF file as the executable), and issue the command "target remote localhost:1234". Presto, you're debugging your firmware. Sweet.

Saturday, April 10, 2010

simavr

One of the headaches of developing code for an embedded system is the difficulty of debugging target code. I suppose you can use an ICE if you have money and expertise, but a nice simple alternative is a software simulator.

I just discovered simavr, which is an open-source software simulator for AVR microcontrollers. It is a library which simulates a variety of AVR cores, and has hooks through which you can emulate hardware (such as devices attached to I/O pins). The idea is you write a C program which defines your hook functions, and then call into the library to run the actual simulation.

I was able to get a "blinking LED" program working in a couple hours by adapting the example code. I used ANSI control sequences to visualize the pins of an output port, but you can use any kind of UI you want. It looks as though simavr supports debugging of the target firmware using gdb, which is totally awesome. I will try that next.

Fare thee well, Firefox?

Is it just me, or has firefox gotten to be intolerably slow to start up? I've timed it, and 10-15 seconds is not unusual on the computers I use.

I'm trying out Google Chrome, and I have to say, it seems a lot more responsive.

It doesn't seem all that long ago that I was trying out Phoenix (remember when it was called that?) and it was the best browser out there. I think Firefox was more or less perfect fairly early in its development. I can distinctly remember thinking, in the 2.0 days, "Why is development continuing? It already does everything it needs to do."

I suppose in 10 years I'll be posting about how bloated Chrome has become.