Market Failure of the Week

River Campus of the University of Rochester

Image via Wikipedia

With tuition and fees at 153% of the national average for private, American, four-year universities, the University of Rochester is one of the most expensive undergraduate educations. At a less than 40% acceptance rate, and given the university’s recent recognition, you’re also getting a whole boat-load of education and the opportunity to make at least a few connections.

Queue “Gripe Time”:

After taking a few years away from my studies to play in the sand and rocks in Afghanistan and having come back and changed majors at least nine times, I’ve been around the block a few times and each trip is more confusing than the last. The same questions haunt me every year, and the complaints of the undergraduates have seemed to increase over time; “If we are so great, why do we do so many silly things”?

Queue examples:

The Go Green Initiative:

  • Watering plants after a six-hour rain storm.
  • Leaving all television monitors and lights on in buildings which were closed and locked at 5pm.
  • Waste collection bins in the tunnels specifically for paper, metal, or plastic without an accompanying general waste bin.

Dining Services:

  • Tiered dining plan with the option to purchase an “unlimited” or a discrete number of meals at varying prices.
  • Aramark
  • Staffing

Facilities and Housekeeping:

  • Over-employment
  • Lack of quality-assurance/loss-prevention

Queue rant:

This week’s market failure is dining services. I really like the idea of having unlimited access to meal services while enrolled at the University. UofR students do certainly think of themselves as either the best and therefore deserving of such, or are at least of the opinion that if they’re paying a few thousand dollars for a meal plan, that they would prefer to eat whenever and however much they please. Whether or not this is the case doesn’t particularly matter when playing the back of the envelope numbers game, but it is interesting no less.

Unlimited meal plans cost quite a bit more than those with a finite dollar amount, but there is no system for regulating admission. These meal plans, while identified with the swipe of an ID card are impossible to properly administer. Now, to be clear, my concern here is passively directed towards the university. My peeve is that students are being unfairly charged because the plan is based on a consumption aggregation model (i.e. the assumption is that the costs to feed one bird versus one bear for a single time period are so similar, that the cost differential becomes negligible and both can be charged the mean value of the provided goods and services). Cost increases due to economic inefficiency are always passed to the consumer. I find myself hard pressed to imagine how meal plan prices will be fairly allocated given the number of students who can use their ID, pass it to their 10 friends behind them, and go on about their day without so much as a 1 minute refractory period. One might guess that unlimited-plan prices would increase substantially, in order to hedge against this revenue loss. It may also occur to some that we  may see a vendor-convenience fee on finitely valued plans in order to meet Dining Services’ bottom line. In either case, students lose and they lose because of the inadequacies of an already broken system.

EGeoXml for Maps API v3? Yeah… Maybe

EGeoXml is a fantastic javascript library for the Google Maps Javascript API v2 written by Mike Williams. If anyone is looking for a more robust map implementation than can be thrown together quickly with API v3.x or just doesn’t fair too well with new APIs, JSON, proxies, or AJAX; you should check out Mike’s site here.

Unfortunately, I really like some of the cool little things you can do with API v3, and v2 has now been marked for deprecation as per Google’s deprecation policy, so I plan on rewriting Mike’s js library for compatibility with Maps API v3.5. It will make my life easier; It will make a lot of other peoples’ lives easier (hopefully); and it might actually be fun.

Wish me luck because I’ve never done this before, and javascript doesn’t like me!

Google Maps Javascript API v3.5 Tutorials To Be Posted

I’m having an awful time using Google’s js API. Reading about how to use their new Model-View-Controller API is a pain, it reminds me of Ruby on Rails– which I despise, and I simply don’t have the easiest time completely wrapping my head around the supplied documentation which is necessary to completely understand the API, its capabilities, and its limitations. By extension, developing useful improvements or libraries for such an API is also an impossible task without a full understanding of the status quo.

In order to benefit the developer community which has been so good to me, I’ll be posting the source code for a project I’ve been working on, as well as full documentation of the techniques, functions, models, and objects used, including relevant insight into why implementation decisions were made as they were. Hopefully version 2.x won’t take too long to complete and I can get this documentation up in a jif.

15 jQuery Plugins To Create A User Friendly Tooltip

Ever wonder how to make  really cool looking tooltips and cut down on the clutter in your web apps? Check out this page at web design booth. Thanks to stackoverflow member RichieHindle for the link.

Secret Squirrel Migration Unit

So the other students I work with at the Digital Initiatives Unit have decided that the library here at the U of R is just too crowded during exam periods and we are plain fed up. As an alternative to checking every room in every library until you find a place with one open seat, we’ve decided to try and develop a tracking system so that students at the University can find out which rooms are at what capacity. Actually, now that I think about it, being able to rate  a noise level would also be really nice; and as an improvement, users should be able to use their microphone equipped devices to check decibel levels which could be translated into ‘real life’ noise ranges.

The initial idea wasn’t mine, but I’m definitely taking credit for this latest improvement if we ever make it to the actual development stage.

We only have one problem: There needs to be a way to universally and electronically access some sort of system (on a user-directed basis) that could report the locations of at least 90% of library patrons. This service must be secure, easy to use (require little-to-no user interaction), programmatically maintained, and free to the end user. College students are poor, and while some of use may pay to buy one or two apps on the Android Market, most of us go straight to the free apps list.

I guess this also means I’m going to have to learn JAVA. Oops? There’s always a catch.

PGP Exploratory Research Paper Added

This is a paper I wrote about the Pretty Good Privacy encryption program for my cryptography class last year. The topic was a bit difficult since I didn’t realize that most of PGP is now closed source. As a result, the project became more exploration than explanation, and much of the information is very general (RFC focused and immutable facts from analytic number theory) while specifics are germane to very old versions of PGP. If anything, it’s at least a technically interesting read. You can find the project page here.

My Uncle is Cooler Than Your Uncle

My uncle John, the guy  who built our front porch, taught me how to patch cement, use a plane, and built my oddly colored (I asked for it) club house in our backyard has finally got the job he’s always wanted– conductor of the Cincinnati Pops. I suppose their might be better gigs, but if there is, no one can tell him that. To make things even better, as a token of the community’s appreciation, the University of Windsor has graced the man with an honorary doctorate of law (strange, I know), given his community involvement during his tenure with the Windsor Symphony Orchestra.

In honor of his achievements, and as a final stab at his brother who actually had to get accepted at Harvard and graduate to get his Doctorate (sorry, Eric), I’ve embedded a commercial that the Cincinnati Pops were running for Independence Day. I think he’s a bit too over the top here, so feel free to chuckle a bit– the guy is too proud to care.

“Haters gonna hate” Boot Animation

"Haters gonna hate"

Thanks go out to XDA members DocNinja for the boot animation and camalot for the animated gif.

I just picked this up from XDA the last night. The original post is here. You can right click the image and select “Save Target as…” to download the .zip file. This CANNOT be flashed in recovery. You must have the Android SDK installed, and you must be rooted.

This particular animation was built for the HTC Evo [960 X 640], and works flawlessley [as far as I can tell] on my Samsung Nexus S [800 x 480].

You can run the following commands in an OS X/Linux/Unix terminal to change your boot-animation. Also, if you’re unfamiliar with the terminal in OS X or Linux, pressing tab (once sometimes twice) partway through a command will toggle your options. Think of it as a command finisher. It will guess what you want and give you options.

Last login: Wed Jul 13 14:10:55 on ttys001
haiku:~ mac$ cd android/tools
haiku:tools mac$ ./adb devices
List of devices attached
393149F8E7E100EC        devicehaiku:tools mac$ ./adb remount
remount succeeded
haiku:tools mac$ ./adb shell
# su
# chmod 777 /system/media/bootanimation.zip && chmod 777 /system/media
# exit
# exit

// When we push a file with adb, make sure to use the directory where your bootanimation.zip file is. This is just an example

haiku:tools mac$ ./adb push /users/mac/desktop/bootanimation-evo.zip /system/media/bootanimation.zip
2917 KB/s (6376633 bytes in 2.134s)
haiku:tools mac$ ./adb shell ls -la /system/media
drwxrwxrwx    3 root     root          4096 Jul 13 14:23 .
drwxr-xr-x   15 root     root          4096 Jul 12 23:27 ..
drwxr-xr-x    6 root     root          4096 Jul 12 23:27 audio
-rwxrwxrwx    1 root     root       6376633 Jul 13 00:46 bootanimation.zip
haiku:tools mac$ ./adb reboot
haiku:tools mac$

// and you’re done!