Archive for the ‘Computer Science’ Category

Data Visualization With Google Maps

Friday, November 4th, 2005

I just got and email from Evan Cooke who I know through MESH at the University of Michigan.

He had asked for some help with the Google Maps API. After a little bit of work, he ended up with some nifty data visualization apps. Basically, he has huge 2D representations of network traffic and needed an easy way to map them. Google Maps to the rescue!

Any other ideas of data that needs 2D visualization?

Summer 2006 Internship or Startup

Sunday, October 23rd, 2005

UPDATE: I’m employed this summer… yey! Here’s the old post:

I’ve gotten several emails from people at Microsoft and Google asking me if I’m looking for work. No, they haven’t offered me a job yet, but have seen the blog and wanted to know if I had applied. I’d like to let you all know, that, yes, indeed I am looking for an internship. Summer 2006 is currently free, so that would be a good time for me to pick up an internship.

I’m interested in web services, service oriented architectures, object oriented design, social software, agile software development, developer friendly APIs, location based services, geographic information systems, machine learning, and open source software. There’s probably stuff I didn’t list, but that covers most of it.

You can check out my resume in various formats here.

On the flip side, I am also interested in starting my own business or teaming up with some people to start one or continue on an idea related to my interests. I have several posible ideas which could be very exciting to implement and see people use.

So, if you are a web software company, large or just getting started, contact me if you are interested in working with me.

If you are an individual looking for an exciting opportunity to make a difference on the web and have the technical expertise to make it happen, contact me. Let’s see what we can work out.


Sunday, October 23rd, 2005

So, are we seeing the end of the operating system age? Will most applications no longer be tied to an operating system? Will web applications finally be cross-platform? Will the network be the computer like Sun has said for the longest time? How much processing and data can we distribute through the network?

These are some questions I’ve been asking myself in order to predict what the future of computing will be and where to position myself to get the most out of it. Check out this article out:


Web-Based Data Entry and Retrieval System

Friday, October 21st, 2005

This is a little thing I wrote for a job application, and I figured that other people might be interested in what I did this summer, so I copied it over to my blog here:

This summer at the Great Lakes Commission in Ann Arbor, another intern and I, along with a designer created a web-based data entry, retrieval, and search system for volunteer organizations to record water quality data that they had collected in the field. The site utilized the object oriented features of PHP in order to abstract the details of the data and operations on the data.

Our system included an authentication mechanism using sessions and cookies. Water quality monitoring organizations would register for a username and password in order to update their own data. Data was only visible on the site for searching and browsing after staff at the commission had confirmed it.

We utilized both client-side (Javascript) and server-side (PHP) user data validation so that errors were caught quickly by the system and reflected immediately back to the user.

Data was stored in a MySQL database in about 15 different tables. Data coming from the web text boxes, dropdown lists, multi-select lists, radio buttons, and checkboxes had to be massaged to fit within the data types of MySQL. Timestamps, username, and other status information was stored along with each record when it was created and modified.

To search through the data we allowed the user to filter by lake, watershed, or county as well as date range and type of data to display. The user could get the results formatted for the web or in an excel spreadsheet.

For the browsing section we set up a hierarchy of of the data so that if the user didn’t know exactly what they wanted, but wanted to see what was available instead, they could.

Compile to Javascript??

Saturday, October 15th, 2005

Whoa… I just found this, and if it does what it sounds like it does, that’s amazing! This says it will compile a high-level language of your choice such as Java and C++ umong others into Javascript and HTML to run in a browser. Also, you will be able to unplug your new web application from the net and simply run the http server on localhost.


Trends in Technology

Monday, October 10th, 2005

Using the Internet for social networking is all the rage these days. If you haven’t heard of the facebook, you are living in a hole… that or not in college. I am really excited about it!

In my special topics class on continuous computing we talk about social software, mobile devices, web services, communications, location based technologies, and in general, the current trends in technology. It is awsome.

So, the other day I noticed a sign for an “afternoon tea” talking about mobility and media, and I thought is was relevant to what we were talking about in class… so, I invited the class (only about 15 students) and went. While there we talked about GROCS which provided grant money for student initiated projects. I met a school of information grad student who’s interested in the same things I am. So, I might be doing a project with him next semester. He wants to create tagged maps of the university that are completely zoomable and taggable which means you can associate an arbitrary amount of data with an area of the map. It should have building layouts, sidewalks, common areas, and the like.

Along the same lines… I was introduced to a GROCS project from last semester called Mates. Its a location based social networking tool. It connects users based on location, classes, interests, and friendships. Here is their web site and awsome video.

More Details About my Presentation

Thursday, October 6th, 2005

Time has been ticking… Next week Tuesday (October 11th) I visit Michigan State for the Merit Technical Staff Meeting to talk about what I was working on this summer with Google Maps and other Geographic Information Systems stuff.

Most of the people at the meeting will be the top computer networking people from the colleges and universities around Michigan.

So, things that I think they would be most interested in would be mapping out all of the backbone lines and other network cabling. In addition to cabling, they could pinpoint the location of each router and other network devices by latitude and longitude. Putting this data onto a map of the area would be much more helpful than just having the data. They could even overlay campus maps like I’ve done with the University of Michigan.

Each device on the network is probably dumping a large amount of status data which is collected, monitored, and analyzed both in real time and after the fact. A good organization for this type of information would be by location. In computer networking, I assume that you would want to connect points which are close together and therefore around the same location. When there were problems with the network it would be easy to see if they were centralized around one location.

Invited to Present at Conference

Thursday, September 15th, 2005

I’m extremely excited and honored to be invited to the Fall Merit Joint Technical Staff Meeting on October 11th to speak about the Google Maps API. Most likely, I will also be talking about other related technologies such as geocoding and WMS/WFS using mapserver which integrate nicely with both Google Maps and other online mapping software.

There will be a live webcast presumably available here. That webcast will also be archived on their webpage, so those who can’t view the presentation live are able to later.

Caching WMS Requests Using PHP and the PEAR Cache_Lite Package

Friday, August 19th, 2005

Here’s the (censored) source code I use to cache WMS requests. It’s pretty straight forward as long as you have the PEAR Cache_Lite package. Feel free to use the source code however you want. I’d appreciate a link back to my site, but I don’t require it.

WMS Cache Source Code

A few things to note:

  • lifeTime is measured in seconds.
  • min/max X/Y are specific to the images I serve. The ones there are for Ann Arbor, MI.
  • transparent.png is just a 2×2 png image which is transparent. This shows up for requests outside the box that my WMS serves.
  • You will probably have to change the url with localhost in it to be whatever WMS server your images are coming from.

Wi-Fi Phones

Sunday, August 7th, 2005

Note to self… invest in Wi-Fi Phones. I predict you will get back 5 times what you put in in 10 years.

I predicted Google was going to go way up as soon as it came out with its IPO. It has tripled.