Posts

Showing posts with the label computers

My Robot Friend

It's been a bit since I've posted, but fear not! Things are going well, and some exciting things are taking shape! Work is as exciting as ever. There are new challenges almost every day it seems, yet nothing that seems to be impossible. Our systems environment is ever-changing, and the causes and motivations are numerous, but it's all in a day's work. I've also taken it upon myself to start implementing measurable quality metrics in my work, and that has been an interesting journey. I'm starting to learn a number of tools and techniques for automated building, testing, and deployment, and those are skills that should serve me anywhere on any project. Outside work, I got the itch to do some engineering mentoring, and so I got a hold of my local high school. They don't currently have any programs like the old "computer club" that I attended when I was there (it was really just 3 or 4 of us that would hang around in the computer lab after school)....

Exploring Google App Engine with Restlet and Objectify

Warning: this post is excessively geeky for my usual audience. Non-programmers, feel free to skip. I've been doing a little more exploration with Google App Engine. I've used it before, first for my Weasley Clock, and also for one of my classes, Object-Oriented Analysis and Design. In that OOAD class, my team and I had a short amount of time to build an Android app backed by a RESTful web service on GAE. We ended up using JAX-RS/Jersey as a RESTful framework, JAX-B for server-side XML serialization, and JDO for the datastore API. Then on the Android client, we used the Apache HTTP client and SAX parsers. That worked out alright, but recently I've wanted to explore what other options are out there. I've been interested in  Restlet  for a while; in OOAD, I explored that first before moving to JAX-RS. It seems to be a pretty comprehensive solution. They provide both server and client libraries for many platforms, with flexible configuration for many needs, such as filt...

Alma Mater

Apologies for the late post, but I've been a madman up until last week. After spring break, I had to kick all three of my class projects into high gear. In senior project, I had been spinning my wheels on a particular problem, and finally called in our Google sponsor, Scott, to help me out. We and the rest of the team had a couple of late-night hackathon sessions, and really made some huge progress. After Scott showed me how to incorporate my own PaintWeb tools the right way and started me on a selection system, I was able to make some nice enhancements to our 2D canvas and toolset. In the end, we handed off a senior project that I'm proud to put my name on, and proud that AgentSheets will carry forward. In Object-Oriented Analysis and Design, our group wrapped up our design and did our three week-long iterations of development, and ended up with a decent proof-of-concept; an Android app for managing chores, along with a RESTful web service backend. We had planned a lot...

The Internet Game

I've been thinking about how to teach fairly young kids about how the Internet works, and I've come up with a game. I think this would be appropriate for 3rd to 5th grade or so. I call it "The Internet Game." Begin by separating about a third of the class to be "computers," then the rest are "routers." (This could also be half and half, which would make it easy for the two groups to switch roles after a while.) The computers get into a large circle, with the routers all standing inside. The computers get to write simple "packets" on index cards, addressed with To, From, and Message. These packets have to be sent to other computers. These could be free-form, write messages to whoever you want; or there could be a rule that you must send a message back, which would simulate a client/server request and response. The routers must pass the packets so that the packets get closer to their destinations. The routers aren't allowed to move ...

Hyperconnectivity

Image
My wife says I have a problem. She may be right. During tonight's project to get all of my electronics charged and software updated, I discovered that I've collected an astounding array of "computers" in the last few years. When I think about it, I use all of these on a somewhat regular basis, because they all have their particular niche. From left to right:  HP Pavilion dv9700 gaming laptop (dual-boot Win7/Ubuntu) Barnes & Noble nook e-reader (Android) custom-bui lt gaming desktop (Win7) (same screen) VNC session to media server in living room (Ubuntu) G1 smartphone ( Android) Apple Macbook 13" mid-2010 model (OSX Snow Leopard) Asus Eee PC netbook (Ubuntu netbook edition)

Life with Mac

As you probably read in my previous post, I just bought a new MacBook. I've been slowly getting used to its quirks, and to the Mac "way of thinking," for lack of a better term. I've learned a lot, and I thought it might be useful to share some of my experiences. First, one of the most important discoveries I've made. Tonight I transferred my music collection on to the Mac. I've used iTunes before and I'm happy enough to just stay with that, but I was having issues at first. Most of my MP3 files were imported into the library just fine, but some failed to show up. I tried all sorts of things: the import tool, double clicking, clicking and dragging. Snow Leopard's built-in audio preview was able to play them, but iTunes refused to acknowledge the existence of these certain files. After looking around for a while, I learned that this might happen if the MP3 file's headers were a little  corrupted; the files would play in most players, but not iTunes...

Senior project, and the job hunt

Perhaps its time to change the title of my blog once again; it started out as Chris' Almost-Daily Updates, has now moved to Chris' Weekly Updates, and is probably more accurately described now as Chris' Monthly Updates. But I digress. I've officially gotten back into my busy mode of living. I'm constantly switching tasks, but only occasionally do those tasks include taking the dog for a walk or to the dog park, or playing computer games, or cleaning the house. Mostly my time is being occupied by homework and job searching. Homework this semester has taken the rhythm of focusing on one project for one class for a few days solid, turning that in, then focusing on something different. It's a little hectic doing this because it constantly feels like I'm working on things at the last minute. I'm probably still spending an appropriate amount of time on each assignment, but its always close to the deadline. Senior project has been going well so far; I reall...

Senior Project

It's official, senior project has begun. The professor, Bruce Sanders, just finalized teams and projects. It's been a bit of a bumpy ride for me, getting through this process. Two weeks ago, I thought I had everything laid out. I had a project lined up, working for the startup that I interviewed with over the summer, with the other student they had considered hiring, plus whoever we could find for our team of 4 to 5. Unfortunately, at the last minute, we gained too many people for the team. Our extras just happened to be all of her friends. I guess the kind way of saying it is that she found people that she knew she could work with. The unkind way of saying it is that even though we were basically equals, she still decided she had the authority to kick me off in favor of her friends. It's too bad, because I was really looking forward to that project. But the good news is that I think I've a good team and project. I'll be working with one guy I've worked with b...

Back to School... last time for a while?

Image
I've purchased my books, packed my pencils, and updated my Ubuntu software. It's time to head back to school again, for what should be my last fall semester, at least for a while. I should be graduating in May, and I don't plan to go back and earn my Master's degree immediately. For the next few months, I'll be working on computer science senior project, network systems, statistics, and just for fun (and to fulfill natural science requirements), astronomy. I'm really looking forward to senior project. It's a chance to finally work on a substantial piece of software, not just little toy examples and homework assignments that get tossed away after a week. I've had friends go through senior project before, and a couple of them suggested that doing a thesis instead would be less of a pain. While I value their warning, and believe that it probably would be less annoying to do a thesis on my own, I can't help but think that the project is going to be val...

Summer Class Ends, Job Begins?

Last Thursday was my last day of class for the summer, and I'm glad to be finished with this Matrix Methods and Applications class. I was really looking forward to the applications, but it turned out to be all methods. Once again, I've learned a lot of math techniques and I'm left with no idea when they're useful. Brilliant. I don't have my grade back, but I'm pretty sure I passed at least. A couple of weeks ago, Ashley and I and some friends took a camping trip up to Kelly Dahl campground near Nederland. We did a lot of catching up, and a little hiking and geocaching. You can check out our photos on Picasa . We took Apollo, and he had a blast. It was great to get outdoors and remember that I can tear myself away from computers when I need to. I spend a lot of my time using my computers. Even when I go out around town, I have my G1, which has more processing power than our family's first computer, and constantly keeps me connected to the internet. When I...

Intro to Arduino

Image
In other news, I've been bitten by a curiosity for electronics, robotics, and "physical computing." A while ago I discovered a microcontroller platform called Arduino , and finally decided to try it out! I ordered a kit from the Maker Shed, their Advanced Arduino Starter Kit , and have been trying a few simple things. The kit contains a book, Making Things Talk by Tom Igoe, which contains a lot of projects that demonstrate how systems of electronics communicate. I've built a rudimentary version of the first project, called Monski Pong, using the parts from the kit. The microcontroller acts as a joystick that controls a game of Pong on the computer. From Arduino Projects The book actually calls for two flex resistors that get sewn into a plush monkey, but the kit didn't come with those parts. Actually, the kit didn't come with parts to complete any of the projects in the book. It's a little strange, but this kit wasn't really designed as a step-b...

Short Reprive

Last week was a small break from the rapid pace I was keeping up. I worked little more than my permanent hours, but had a couple of midterm exams and assignments. The midterm for my database class was interesting; it was the first item we've turned in to be graded or assessed in any way. Many people felt that they weren't comfortable at all, because they didn't know what to expect, or what sort of material might show up. I tend to agree that some homework would have been useful, but I thought the test was pretty straightforward. Then again, I haven't gotten a grade back, so maybe I just grossly misunderstood. I took the second midterm for my differential equations class tonight, and I know I didn't do spectacular, but I think I did okay. In the humanities class, we're starting a pretty focused study of Epictetus' Enchiridion and Stoic philosophy. The Stoics believe that to be happiest and most in harmony with nature, a person should basically view events in...

Full Swing

Obviously, I've fallen behind my goal of weekly posts. All I can say is that I've been busy. School work is steaming ahead at full speed, and work has just been crazy. In the past weeks, I've taken and passed my differential equations midterm, and had numerous homework assignments in all of my classes. I just finished a project for differential equations, and wrote it within Google Docs . I've been using Docs for a while to take notes and write small spreadsheets, but recent feature additions allowed me to write a report worthy of printing and turning in. You can check it out here . Since this was for a math class, being able to insert an equation with LaTeX syntax and having it print nicely was invaluable. And I really love that I can access these documents from any computer, and don't have to carry it around on a USB drive or manually synchronize with an internet file system every time I make a change. I still hesitate to put everything in the clouds , but it wor...

Inspiration

Several things have happened lately that have started me thinking. First, I found a book while browsing Barnes and Noble with Ashley during the retreat in Columbus; The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler. It's been a great read; it talks about things you can do as a software creator to not only rise above the average programmer, and not only shine among your peers, but to have a fire for your work and actually enjoy your accomplishments. Chad draws on his experience as a professional musician in addition to his work as a software engineer, and compares the skills that make artists in both fields really great. While I've never been a good enough musician to be a professional, I can see that many of his points are valid. Also, I recently sat down with some friends to watch the movie Once . In that movie, a pair of penniless musicians meet by chance and discover a wonderful connection through their music. While they don'...

Blog Change of Scenery

I've been using LiveJournal for a good long time, since I began blogging in 2004. Now, my friends, it's time to move on. I've set up a new account at Blogger, which is Google's brand of blog, and I like what I've seen so far. I was able to import all of my LiveJournal posts to the new blog (with some technical fussing ), and I'm really impressed with the advanced features that Blogger has for free. I have a paid account with LiveJournal , and it's still harder to customize to my liking. This will be my last post on my LiveJournal ; from now on, you can follow me at my Blogger site . If you've been reading through Facebook , not to worry. My posts from Blogger will be imported into Facebook notes just the same.

Choices

Do I use my free time this evening to: Retool my class scheduling program to use XML input Play Rock Band Why is this even a debate? Is programming really supposed to be a fun activity? ... (Sigh) I guess I'll be social and play Rock Band.

Preparing for R&R

Image
Well, it's been just about a month since my last post, so I guess I'm a little overdue. Let's see... Probably my most exciting news is that I have a date for taking my two weeks of mid-tour leave. Of course, everything is weather-dependent and so forth, but I should be home sometime around April 17th, just in time for me and Ashley's first wedding anniversary! And I should be in good time to see Kelly's wedding as well! I'm very excited, and even though I'm trying not to, I'm counting the days. Work has been treating me well. We've been busier than usual, with many offices shifting around the base. We've been running new CAT-5 cables all over the place, enough for 4 office buildings. It's definitely different than sitting around in the office, waiting for something to happen. It's nice to get out of the office for a bit, but I'm not used to being on my feet all day. All the same, it's fun. Work on my class schedule programming pro...

Social Profile of the Computer Geek

Alright, this week seems to have been a return to my passions as a computer science geek and electronics nerd. To begin, my work planning for college has rekindled an old flame of sorts. I've had the urge to design a class scheduling program. This would take a list of the classes I want to take, and then use the class times for that semester to build the perfect schedule. Of course, that's a very general description. One of the most immediate problems that comes to mind is: what is a perfect schedule? It's a fuzzy, arbitrary goal. I have several ideas to make it more concrete, and if I get that far I'll probably incorporate them all. Another technical issue to be solved is getting the actual class times. I'll have to start by hand-entering the ones I'm interested in, but I wonder if there are better solutions. Perhaps the Computer Science department can hook me up with read-only access to parts of the school's database. Or maybe I can find a way to scrape t...

Mass Effect and Days Off

Image
W00t! I'm happy to report that after a couple months of casually playing on and off, I've beaten Mass Effect on PC! I bought it back in September, and I scared my roommate when I cursed loudly while trying to install the game. The SecuROM DRM prevented me from launching the game until I could activate with the internet. It wasn't until a month later that I actually got personal internet and was able to start playing. (Does EA really expect me to have an internet connection in the middle of the desert?) I'll also say that it's a system hog; my new laptop, built specifically to play modern games decently, is barely able to handle the game. Having voiced those gripes, I'm very happy with the game. It's an original IP and storyline, and the backstory and plot are excellent! I was drawn into a galaxy of interesting alien races, clashing politics, and intense combat. Commander Shepard is a great lead character. The plot forces the player to make some tough dec...

Wedding Prep

Well, last weekend was a bit crazy. Friday morning, Kristen was induced into labor with her baby. Ashley decided it was her job to get Kristen through, so she was at the hospital most of Friday and into Saturday. All that time, I was hastily cleaning the house. Saturday morning, my mother arrived, and I spent most of the day with her. In the afternoon, I received the call that Devin had given his mother some trouble coming out, but after an emergency C-section, mother and baby were both wonderful! Sunday I spent more time with Mom, and she came with me on my bus run to Boulder Reservoir. It was a great time, and she found several opportunities to use her new camera. Sunday evening, I went and saw Devin for the first time. Babies are just so tiny when they're first born! This week I've been a working fool, but at least this time I'm choosing my hours. I need to get some money together for the holidays. I had a physics midterm on Tuesday night that went very well. This weeken...