Archive for the ‘UofM Students’ Category

University of Michigan on the Web Today

Friday, March 16th, 2007

While going through websites I visit daily, such as The Show with Ze Frank, Rocketboom, and Digg, I noticed University of Michigan references in several of them, and thought I would point them out.

Today’s Rocketboom references The Cube at New York City’s Astor Place. (not to be confused with the Apple Store) This is a copy of The Cube at University of Michigan’s Regent Plaza. Also of note, the cube in NYC was turned into a Rubik’s Cube. Wouldn’t it be cool to turn the cube at UofM into a six-sided die?

Also, in the same Rocketboom show, they mention Delutube, a site which hosts deleted YouTube videos. The second video is a clip from Tally Hall’s Banana Man music video, which apparently is still on YouTube. The members of Tally Hall went to UofM before dropping out to play in the band full time. They are good, you should check them out.

A Wired article about an email sent out to all members of the University was linked from the front page of Digg will the title “University of Michigan Identifying Students to RIAA“. However, the email states, “The University is in the process of identifying and notifying these individuals.” This does not imply that the University is releasing the identity of these individuals to the RIAA. So, the Digg post’s title was indeed exagerated, and the article has been updated. Nothing new is going on here other than the RIAA being even more of a bully.

Yesterday, my friend Zach told me about YCombinator’s new startup news page, who’s idea is basically the same as Reddit’s, a successful startup YCombinator funded. Differences include a focus on startups, and no down arrow for stories. Zattoo, a company started by one of my professors, Sugih Jamin, was featured on its front page yesterday. So far no one has commented… hmm.

Umich Cosign… A Conversation

Thursday, November 9th, 2006

So, one of my classmates a couple semesters ago IMed me today, and we had the following conversation about the University of Michigan’s Cosign system (see previous post), and also how to get user information from the umich directory. I thought other people at UofM looking to implement web applications using the uniqname login system, might find this discussion useful.

1:29:54 PM Yaniv: i am hoping for some advice about setting up and using cosign
1:30:23 PM Kyle Mulka: for what purpose?
1:30:30 PM Yaniv: the idea is to have students log into a site with kerberos uniqnames, and be able to submit a vote
1:30:41 PM Kyle Mulka: I ask because if its for a University thing, then you should have the University set it up for you
1:30:53 PM Kyle Mulka: on their servers
1:31:13 PM Yaniv: yeah, i’ve been talking to the UM webmaster team also
1:31:17 PM Kyle Mulka: ITCS is good about setting cosign up on their web servers if you ask them
1:31:23 PM Kyle Mulka: and usually pay them
1:32:07 PM Yaniv: is it possible to set up on an independent server, and communicate with kerberos somehow?
1:32:15 PM Kyle Mulka: yes, it is… but its hard
1:32:21 PM Yaniv: liveugli, for example, is its own domain right?
1:32:42 PM Kyle Mulka: we’ll… you’ll notice that you don’t actually login to the liveugli domain
1:32:50 PM Kyle Mulka: liveugli.com just hosts the front page
1:33:03 PM Kyle Mulka: but… it is possible to use cosign on a non-umich domain
1:33:28 PM Yaniv: but you’d recommend to have itcs host it and they would set up cosign?
1:33:43 PM Kyle Mulka: yes
1:33:51 PM Kyle Mulka: I mean… is there a reason not to go that route?
1:34:07 PM Kyle Mulka: liveugli was able to get cosign setup through the GROCS program
1:34:19 PM Kyle Mulka: http://www.dc.umich.edu/dmc/grocs/index.html
1:34:30 PM Kyle Mulka: we’re considered a “project in residence”
1:34:33 PM Yaniv: the group this project is for already has a webhost from a third party
1:35:11 PM Yaniv: so lets assume that ITCS would host it
1:35:42 PM Yaniv: then with some language, i could say something like:
1:35:58 PM Yaniv: authenticatedUser -> getGraduationYear()
1:36:06 PM Yaniv: and find some attributes about the person?
1:37:14 PM Kyle Mulka: you can query people’s year (Fresh, Soph., Junior, Senior) from the directory
1:37:28 PM Kyle Mulka: all cosign gives you is the uniqname
1:37:43 PM Yaniv: oh i see
1:37:49 PM Yaniv: and which directory are you talking about?
1:37:51 PM Kyle Mulka: http://liveugli.com/umod.php?uniqname=mulka&valueof=classstanding
1:37:56 PM Yaniv: directory.umich.edu?
1:38:11 PM Kyle Mulka: yes
1:38:19 PM Yaniv: oh very nice
1:38:24 PM Yaniv: is there an API for that?
1:38:31 PM Kyle Mulka: directory.umich.edu is just a front end for the LDAP directory
1:38:44 PM Kyle Mulka: LDAP is a standard directory protocal
1:39:03 PM Kyle Mulka: replace my uniqname in that URL with yours…
1:39:13 PM Kyle Mulka: http://liveugli.com/umod.php?uniqname=mulka
1:39:21 PM Kyle Mulka: that’s all the info you can pull from the directory…
1:39:34 PM Kyle Mulka: however, not all of it is public… some people have made theirs private
1:39:49 PM Yaniv: right
1:39:59 PM Kyle Mulka: http://liveugli.com/umod.php
1:40:13 PM Yaniv: so the umich LDAP server is publicly available?
1:40:28 PM Kyle Mulka: yes
1:41:06 PM Kyle Mulka: here’s the source code for that script if you want to use it
1:41:06 PM Kyle Mulka: http://kylemulka.com/umod.phps
1:41:39 PM Kyle Mulka: you’ll notice the host name for the ldap server:
1:41:40 PM Kyle Mulka: ldap-master.itd.umich.edu
1:42:40 PM Kyle Mulka: but… when it comes down to it, if you just want to run elections… I would recommend not writing your own program, and using the one MSA, LSA-SG, and UMEC uses
1:42:49 PM Kyle Mulka: http://vote.www.umich.edu/
1:43:44 PM Yaniv: right right, i’ve been in contact with their developer about that, we’re trying to arrange something
1:43:59 PM Yaniv: but I wanted to have a sense of what is involved in case that doesn’t work out
1:44:25 PM Kyle Mulka: you have a better chance with that than getting cosign running yourself
1:45:06 PM Kyle Mulka: but… if you want the adventure, feel free to give it a try
1:45:41 PM Kyle Mulka: here’s some of my notes from when I did it a couple years ago
1:45:41 PM Kyle Mulka: http://kylemulka.com/projects/cosign-install.txt
1:45:58 PM Kyle Mulka: and… you’ve probably seen the cosign page
1:45:59 PM Kyle Mulka: http://www.umich.edu/~umweb/software/cosign/
1:46:26 PM Yaniv: suppose i get cosign installed on an independent server, i still have to tell it to communicate with the UM credentials somehow, right?
1:46:37 PM Kyle Mulka: uh… yea…
1:47:00 PM Kyle Mulka: basically, you have to generate a certificate and get it signed by the UM webmasters
1:47:37 PM Kyle Mulka: digital certificate, digitally signed if that wasn’t already clear
1:47:58 PM Yaniv: ok, so in these 10 minutes, i concluded that its much better to have itcs host it
1:48:09 PM Yaniv: and even better to use the existing voting site
1:48:23 PM Kyle Mulka: and… if you do an independent thing, you’ll have to pay for a certificate if you don’t want that annoying box coming up
1:48:33 PM Kyle Mulka: which … costs about $100
1:48:46 PM Yaniv: right, thats true, i forgot about that
1:48:50 PM Yaniv: needs the SSL
1:49:04 PM Kyle Mulka: ssl isn’t actually required though… just recommended
1:49:19 PM Kyle Mulka: liveugli doesn’t use ssl
1:49:31 PM Yaniv: oh.. i see..
1:49:52 PM Kyle Mulka: one reason we don’t use it is because IE would complain on every page load that there were “unsecure” things on the page
1:49:58 PM Kyle Mulka: like… the Google Maps APi
1:50:27 PM Yaniv: yes, that would be annoying
1:50:53 PM Yaniv: ok, well that was very helpful, i do have a much better understanding of the big picture
1:50:58 PM Yaniv: thank you very much
1:51:03 PM Kyle Mulka: you’re welcome
1:51:56 PM Kyle Mulka: I probably should have pointed you to this too…
1:51:57 PM Kyle Mulka: http://blog.kylemulka.com/?p=355
1:52:09 PM Yaniv: oh and thanks for that php code, i’ll look at it more closely, i’ll let you know if i use it and credit you if i do
1:52:34 PM Kyle Mulka: k, thanks
1:54:01 PM Yaniv: your articles are very good, i should have searched for them :)
1:55:59 PM Kyle Mulka: I appreciate the compliment, thanks
2:02:17 PM Kyle Mulka: Yaniv, do you mind if I post the transcript of this conversation?
2:11:53 PM Yaniv: no, not at all, please do

Online Grocery Delivery in Ann Arbor

Tuesday, October 24th, 2006

Ok, so Google seems to be confused as to where the online grocery stores serving Ann Arbor actually are, so I’m going to list them here in hopes that Google will find this page and at least put them somewhere in the top 10 results.

Busybody’s Student Laundry - they deliver other stuff too (besides your laundry)
Ann Arbor Grocery Delivery
Wolverine Grocery
Munchy Delivery
A2 Errands - opening May 2011

Out of Business:
Arbor Grocery
Go Blue Grocery
Grocery Run

Google:
online groceries ann arbor
online grocery shopping ann arbor
online grocery delivery ann arbor

And, of course, if you have any additions to the list, let me know in the comments or send me an email. Sometimes comments get held up by my spam protection system.

My theory about why most of these online grocery delivery companies go out of business, is that they were run by students who then graduated to find real jobs. Groceries is a very low margin business and hence difficult to make successful. You have to charge a healthy markup to make money, but if your markup is too high, students won’t buy from you. Also, I believe a lot of grocery delivery companies have problems with the usability of their websites.

Online Groceries

Friday, June 9th, 2006

Since I’m working at Amazon.com this summer, I pay more attention to the company than I would otherwise. One recent announcement that I was predicting several months ago, was that Amazon would offer groceries on their site. Just recently we announced our Grocery store along with a new feature… a Shopping List.

One reason I was interested in online grocery stores was because we actually had one that would deliver to the Ann Arbor area, specifically to student dorms at the University of Michigan. It was called Arbor Grocery. I doubt they are still delivering over the summer, but hopefully they will continue next fall. I was actually considering buying the business as it was for sale last semester because the owners were moving on to “real” jobs. It got bought for something like $500. I’m pretty sure they just went to the grocery store and delivered the stuff to you, so its not like they had a warehouse to sell or anything.

I was looking into a few other grocery stores. Specifically NetGrocer and Simon Delivers. Net Grocer actually sells products on Amazon’s website.

Zattoo to Broadcast World Cup

Sunday, May 28th, 2006

One of my professors from last year and a bunch of my friends have been developing Zattoo, a peer-to-peer video streaming technology back in Ann Arbor, Michigan. The client runs on both Windows and Mac and supposedly allows millions of viewers to watch a single live video stream over the Internet without costing the broadcaster a whole lot of bandwidth.

It is a little like BitTorrent in the fact that its peer-to-peer and doesn’t require the original person with the content to have a huge pipe to the Internet. It is very different from BitTorrent in the fact that the content is streaming. Timing makes a difference. If a piece of the video gets lost over the network, there is no need to resend it because you can’t rewind the video. There is no way to save the video to your computer either.

Just a few days ago, the news went out about Zattoo being the the system used for streaming the 2006 FIFA World Cup. That is very exciting news. I’m looking forward to being able to watch soccer over the Zattoo client in June! That is… if they are broadcasting to the US…

Quick-start, Long-play Internet Television Arrives with Zattoo P2P IPTV

Zattoo brings long play P2P broadcasting to Internet TV

UPDATE: Looks like Zattoo has a blog now! Yey!

Facebook Builds WAP

Sunday, May 14th, 2006

“According to company spokesperson Melanie Deitch, Facebook has just finished building a WAP, or wireless application protocol, that will offer a browsing service that more closely resembles the way the site works online.”

You don’t build a protocol… its already been created. You build a version of the site that runs on the protocol.

“WaveMarket, a location-based technology company that is powering Sprint’s Family Finder service, has a StreetHive mobile social network application, though the site is still in beta.”

Isn’t every web application on the internet still in beta?

full article

Calendar + AJAX + iCal + Palm Desktop = Amazing!

Friday, April 21st, 2006

Title says basically what I’m looking for. I’m looking for a web based calendar which will publish and subscribe via iCal and will also sync with Palm Desktop on my laptop.

Why hasn’t there been a good AJAX calendar that you can use to publish and subscribe to calendars via the ical standard? Right now, the best I’ve seen is Planzo, but it has yet to publish or subscribe via iCal. Next on the list to evaluate is AirSet, which looks promising, but their site is so full of features that it is hard to get to the simple stuff you really want.

One really good use of this type of software is to plan semi-weekly meetings between a group of about 10 people when individuals schedules sometimes change depending on the week, but for the most part stay the same.

I started to do this with Mschedule a couple summers ago, but the only data I drew from was from the University of Michigan’s schedule of courses and individual students’ schedules that we’re imported into the site by simply copying and pasting from the official site hosted by the University called Wolverine Access. It was my first web application, so I didn’t really know what I was doing with PHP, CSS, or even HTML div tags (I used tables for all the layout).

liveUgli - Duderstadt Edition

Saturday, April 15th, 2006

We’ve added the Dudertstadt Center to the liveUgli service. So, now, when University of Michigan students are studying in the Duderstadt Center, they theoretically will be able to find their friends and classmates to study with. If you don’t have a UofM uniqname, sorry… you can’t access the service.

http://www.liveugli.com/

Introduction to University of Michigan’s Cosign

Thursday, March 30th, 2006

Cosign is the authentication mechanism that the University of Michigan uses to authenticate users to their web applications. It allows the user of a web application the ability to use their standard University of Michigan uniqname and password with that application safely. The password is always transmitted directly to a secure central server (https://weblogin.umich.edu/) and behind the scenes, that central server tells the web application what the uniqname of the user is via a server side variable. This means that the web application never actually puts its hands on a users password, and even if the service is hacked, it will only affect that one service and not entire users accounts.

For this article, I’m only going to describe the University of Michigan’s implementation of Cosign. It is possible for other institutions to download the entire source code for Cosign and host their own central server which handles all authentication, but I’m not going to cover that since I don’t know much about the Cosign authentication server, just the Cosign which runs on the web server serving the specific web application you want secured via Cosign.

Examples:

In order to use Cosign, you have to have it installed on the server your web application is running on. Installing the Cosign client is no easy task. There are many things that make this challenging for someone who doesn’t really know what they are doing. Here’s some things you need to know in order to truly understand what’s going on here.

Cosign requires you have an SSL secured web page (HTTPS) for at least the authentication step of your web application. They reccommend you SSL secure anything that is not public that you have to be logged in to view otherwise user session to your web application could be hijacked.

In order for your web application to communicate with the central authentication server, the webmasters need to sign an SSL certificate for your server. This ensures that the communication between your web application and the central server is always secure.

Installing Cosign from source can always be an interesting challenge, especially if it doesn’t work the first time. I’ll try to go into this in more detail in another article. In the meantime, just check out these notes on my Cosign installation I wrote up a while ago, and the official Cosign web page.

Mschedule ready for Fall 2006

Wednesday, March 29th, 2006

Spread the word…. Mschedule is up for Fall 2006 including the automatic schedule generator! I’ve fixed it once again… But, the domain mIschedule.com is still dead, and probably won’t be coming back to life. Check it out and let me know if you have any problems.