AJAX Grocery List Manager

November 27th, 2006

Here’s an idea I’ve had for an AJAX web application for a while, but have never actually got around to implementing yet. It’s pretty simple. My hope is that someone makes something like this so I don’t have to. There’s a lot of other stuff I’m working on, and this seems so simple, yet so hard to get perfect because this is competing with pen and paper, and pen and paper isn’t THAT bad for making grocery lists.

What I’m looking for is an application which manages my grocery list. The main point of it, is to remember what I usually buy, and have that be the default list for the next time I go shopping. From there, I should be able to add/edit/delete items. I should be able to print the list and/or send it to my cell phone or PDA somehow. There… that’s the basics.

A few other non-essential features come to mind with this grocery list manager. When giving my grocery list to someone else so that they can shop for me, they will need to know specifically which items I prefer. For example, below is a mapping from what I should be able to type and what should show up on the other person’s list based on what I usually buy. If I have to type this in the first time, no big deal, its a one time thing unless you want to change something.

milk => 1 Gallon Skim Milk
deli meat => Plumrose brand sliced turkey and ham
salad => 2 bags of Dole Greener Selection salad
carrots => large bag of Bolthouse Farms Baby-Cut Carrots
cereal => Granola with rasins, Basic 4
pasta sauce => Ragu Super Chunky Mushroom

So, if an entire house (ours being an example with 7 guys) wants to put their lists up on the site, people won’t have to go shopping as much because when someone goes, they can just pull up everyone’s individual lists and buy everything. When it aggregates these lists it should be able to indicate who wants what in order to keep track of money if its not all coming from the pot.

I’m thinking that the grocery list should have categories organized similarly to how a real grocery store is organized so that when you go to the store, items near each other in the store are near each other on your list. It should be able to tell you which isles you need to go down and which you can skip, but this may require some information on the layout of the specific store. A map of the store itself and where you can find everything is another feature which may be useful.

Also, it would be nice if the list knew how often you needed things, and could suggest things based on when you actually need them. I suppose it could make intelligent guesses based on how often you put things on your list.

Blog Spam

November 9th, 2006

Before I implemented a blog spam blocker… basically asking comment writers to type my name into a box, I got a ton of blog spam. I took a look at it one day, and noticed some interesting phrases that the spam used. I’ll let you decide what they mean… Leave (real) comments in the comments section.Here ya go:

Pants are now available in all browsers!

I just don’t have anything to say right now.

Your site is very cognitive. I think you will have good future.:)

Move the truck! Theyre gonna draw a bead on you!

Captain! Get your men on this artillery and blow that truck to Kingdom on line casino.

Cool guestbook, interesting information… Keep it UP. excellent site i really like your stuff.

Pretty much nothing going on recently. Ive just been letting everything wash over me recently. I havent been up to much recently. My lifes been completely dull. Not much on my mind to speak of, but what can I say?

Very good site. Thank you!

Ive pretty much been doing nothing to speak of. My lifes been bland these days. I havent been up to much. I feel like a void.

I just dont have anything to say lately. I cant be bothered with anything lately. Today was a total loss, but shrug. Its not important.

I havent gotten much done for a while. Shrug. Maybe tomorrow. My mind is like an empty room. Ive just been hanging out doing nothing, but whatever.

Great guestbook! Wonderful artwork!

Ive just been sitting around not getting anything done, not that it matters. I havent been up to anything these days. Shrug.

Very good site. Thanks for author!

Excellent site, added to favorites!!

Best site I see. Thanks.

Hello Jane, great site!

Not much on my mind today. Ive just been hanging out not getting anything done, but maybe tomorrow. Nothing seems worth thinking about. Today was a total loss. I havent gotten much done lately. I just dont have much to say lately.

My mind is like a bunch of nothing. Today was a total loss. Not much on my mind lately. I havent gotten much done today, not that it matters. Shrug. More or less nothing seems worth doing.

Umich Cosign… A Conversation

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

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.

Ms. Dewey Phrases

October 17th, 2006

Yesterday I found this unusual site via MetaFilter. It’s called Ms. Dewey. From first glance it appears to be a search engine that has a human talking to you. It’s really pretty useless, but its fun to see what you can get her to say. So… I tried a bunch of different queries, and I got a suprisingly large number of video clips played back to me. I decided to keep track of what she said, and transcribed it all here. If you have any to add or have a favorite one, leave them in the comments. My favorite is the first one below.

Oh, and for what this actually is, I have no doubts that this is a viral marketing scheme for a Microsoft search engine. I predict they will announce what it actually is in about a week.

I’ve got a little secret to share… I invented the internet.
You know I was consieved in SF.
I tried a dating service once. (answering machine: “You have 121 messages.” Crash!)
I like to bring my laptop to meetings. That way, I can keep up on myself.
In this corner, weighing 157 pounds, the worlds loneliest man.
The amazing thing about Wifi, is you can watch me from wherever you want. And, by amazing, I mean creapy.
I tried that with three close friends once. Let’s just say my memiors would fetch a million.
Keep asking questions. The more you ask, the more I will know. And, soon I will rule the world.
You’re interested in art? I mean the real kind, not body paint.
I read in a magazine that aliens snapped up the most beautiful woman in the world and put her on the internet, and that you can ask her anything and she’ll have an answer for you. What a crock.
Hold on, I need to get my clone on.
I suppose I’d be more flattered if I wasn’t the most animated women you’d ever met.
What do you think this is, some dirty little chat room?
You come on like some prime time special, but I smell rerun.
It’s time to get naked. Not me silly, you.
Hey, if you can get inside your computer, you can do whatever you want to me.
Something tells me this isn’t the first time you’ve tried to woo a computer screen with such persuasive vocabulary.
Hey there, big guy. Watch it. Or, maybe I should just turn your name over to the justice department? Ooo… not so tough now are we.
Like I always say, a girl’s got to be prepared. (takes out whip and slaps it down)


Are you just letting your dog type now?
Are you trying to drunk dial again?
Now, that is a facinating topic. Frankly, I don’t believe people spend enough time talking about it.
Remember, its better to keep your mouth shut, and appear stupid than to open it and remove all doubt.
Well played, indeed you do give good search.
Sorry, I can’t talk about that, my hands are tied. (shows tied hands)
Dewey says never use pirated software. Unless its mapping software. I figure pirates know something about that.
It’s searches like that that just say beat me up and take my lunch money.
They say don’t judge a book by its cover. Unless of course you are talking about me, in which case, your judgement would be 100% on.
You know, you can ask me anything at all, and you are going to waste it with a question like that?
You are kidding right? Hey Ricardo, come look at what this guy did a search for.
I’ve been all over the world back when I was a groupy…, Missonary, whatever. Depends on who you ask.
Ah yes, 72 suburbs in search of a city.
If television is the opium of the masses, what does that make the internet?
Have you ever met one of those poor soles who look for the next big thing on the net? Have you looked in the mirror lately?
I am independantly weathly. Lets just say I knew when to dump my dot com stocks.
I’m sorry, I can’t make any sense of what you are asking. Wait, have you been at the pub all afternoon?
As a child, my parents gave me gender neutral dolls to play with. Really? Not really.
Ones and zeros, Ones and zeros, all the useless coding, underwear on your head, and you still couldn’t create the women of your dreams? Poor you.
Oh, do I know shopping.
Ladies and Gentalmen, in this corner, weighing in at 157 pounds, the worlds loneliest man.
Somebody needs to get a hobby, like say, something interesting.
Shine on, you crazy diamond.


Hello, type something here!
Are you as confused as I am? Actually, I’m never get confused, but you seem downright flumixed??
(Takes out a huge glue gun) This happens to me all the time.
(does mime stunt) From my mime troupe days, I call it “nerd looking through a pub window at people who actually have a life”
Whoa, down boy.
That’s interesting in an anthropological kind of way. Would you care to rephrase the question?
You know, when i first saw you, I had a feeling you were going to type in something like that.
Looks like someone didn’t take their medication
I suppose I’d be more flattered if I wasn’t the most animated woman you’ve ever met.
You know what they say about dating these days? It’s a jungles out there. Although, it appears your jungle has been clear cut, South American style.
(singing) I’m gettin’ some spam, I’m gettin’ some bad spam. (puts a bomb next to a computer, and it blows up)
Here’s a thought, naked croquet.
I’ve never been one for the casting couch, not when there is one of those dot-com chairs handy.
(holds up hammer) It’s a girl’s best friend.
Like my mother always told me, whatever doesn’t kill you only makes you stronger, except sometimes you get a wicked rash along the way.
Honey, have you seen my birth control pills? You didn’t mistake them for breath mints again, did you? (guy drinking glass of water spits it out)
I’ve been acting professionally for years. Depends on the man.
Been there, done that.
Saftey first, and make sure you get it on film.
It’s not easy to find someone who will love you for you. And I do mean you specifically.
Method acting is showing up to the set drunk and doing whatever the fuck you want. Works for me.
They need to be house broken… men.
Why don’t you email me? Maybe I’ll write you back. Emphasis on maybe. (email address: ms-dewey@hotmail.com)
Are you really asking how old I am? Ricky, are they really asking how old I am? I’m not going to answer that, its even in my contract.
I’m sorry.
I don’t trust the mainstream media. I get all my news from a ranting maniac on AM radio. That way I know what to think and what to feel.
There are farm animals who don’t even do that kind of thing, what makes you think I would?
Before we go any further, I’m going to need you credit card number, your social security number, and a note from your cardiologist.
Someone’s going to get a timeout if they’re not careful.
I just got satelite radio so I could hear what’s his face swear. You know what, I don’t see what the big f’ing deal is.
Nothing caps off the evening like a good round house kick to the groin… but maybe that’s just me.
If these walls could talk, than its starting to kick in. (face distorts) I better go now… I’ll see you later.


Somebody tell me please, when does the reality begin to kick in?
There are really only five types of personalities in hollywood… in, out, hobolla, or just plain fucking crazy
You’ve insulted my family. I will dance across your rooftops at a high rate of speed and somehow in a country of one billion people, no one will find a gun.
My grandfather was a big supporter of starving artists. But of course, once they stopped starving, they stopped painting too.
Sooner or later, I knew that was going to come up (lists off elegibility requirements)
I’m tired of this shit. Tell me where the prom queen is buried, or the DA will be on you like a stage mom at a beauty pagent. And that ain’t pretty sister.
(takes a polaroid) There, I have my photo, and my restraining order is complete.
Don’t do the crime if you can’t pay the time, unless you think you can get a presidential pardon.
(Takes a shot, rewinds to take it again.) Oh, how I love my DVR.
Do I look like the kind of girl who would answer a question like that? Well… there you go.
Be prepared, that’s my motto (pulls out a bomb)
I’m such a good actor, I don’t need a director. (Director: “Uh, Dewey, can we get that again, this time with a little more conviction?”) No, don’t ever do that again.
Good girls go to heaven, bad girls go to Amsterdam.
(in chemist outfit with beaker) Ricardo, come here, I need you. (Ricardo comes, drinks, falls back) Hmmm… needs more testing.
Oh, I love the holidays. Especially the greeting card holidays, like unpaid intern day. Raise a glass to… (Ricardo comes out with wine glass) get back to work!
Are you ok? One of the signs of having a stroke is loosing the use of one of your hands. I’ll call for help. (picks up phone) On second thought, you’ll be ok.
Out of all the searches in the universe, that was definitely one of them.
(Puts on and takes off invisible ring from Lord of the Rings.)
Now, just what are you planning on filming with that camera? Nothing naughty I hope.
Cooking… in my book, you can never use too much garlic… or butter.
I was hoping to run for office, but they rezoned my district. Too many beautiful people in one county I guess.
If the women don’t find you handsome, they should at least find you handy. (pulls trigger on power tool)


I saw a newscast where the women were doing the news in the nude. Sadly, the ratings weren’t the only things sagging.
Television ratings… who are these people, and how can I convince them to stop watching such crap?
In business, my philosophy is simple, leave a little something on the table. Of course, if he’s cute enough, I’m the something.
You know… I am sick to death of all these computer generated muchisimo and beautiful women, they all look so fake to me.
When I read history books, I feel like I’ve missed out. When do I get to take part in a land grab?
(in japanese) I find anime fasinating. Manifestation of post-war japanise society.
I’m sorry, did you think this was girl-who-will-do-whatever-you-want.com, because that is simply not the case.
Are you feeling ok? Maybe you should have someone take your temperature.
(does the robot, pretty well actually)
That’s not a gun, this is a gun, and I can strip it down in seconds.
Girls, don’t let him fool you, sometimes it is the size of the gun.
Guys who read comic books are so sexy. Especially, if they have stained shirts and don’t wash their hair.
All your base are belong to us.
Oh… I know a great halo hack. In ascension, go to the dead center of the map , wave your hands up and down and squawk like a chicken. Makes you invincible.
Ohh… you are one of those. Say it to yourself: It’s not too late to meet a real woman.
Between you and me, virtual reality really creeps me out. I mean… talking to someone who is not real? eww…
In the cage, I’m all about submission holds, on the street I’m all up brawler. You were asking about dating, right?
Another guy asked me something like that once. I still don’t think they ever found him.
Ok, take off your clothes. That’s right. Socks too. Now, fold them neatly, and toss them all out the window. (rings buzzer, you hear sirens) There, now you are screwed.


You know, its easy to make jokes on the president. So easy in fact, that I’m going to pass on it.
I’ve found the quickest way to a man’s heart is right through his rib cage.
Oh, you don’t say. Hold on a sec. (dials phone) The police should be ariving any minute now.
I’m writing a book you know. (intern brings in lots of paper) I kiss therefore I tell.
If I were a magic 8-ball, I wouldn’t even float to the top after hearing that.
I used to be 25 pounds over weight… really… ok, not really.
I don’t bore easily, so I have to congratulate you.
Did you think I got this gig taking the GRE? No, I got this gig by writing the GRE.
Every couple of years we like to have Dewey family reunions, or as I like to call them interventions.
Something about artists, is that they drink to much and act irrationally. Oh, I just love the arts.
From here, I’d say its time for a drink.
Watch this. (magically fills a huge glass with beer) I know, you’ve never felt this way before, I understand.
Doing the same thing over and over didn’t do anything for the last woman in your life. What makes you think I’m any different.

Online Geographic Location Databases

October 17th, 2006

Over the past two months or so, I’ve been working on what I like to call a location database. Yea… its a database of locations. I’m codenaming it Empire. I’m calling it Cartiki. I’m not sure if the codename Emprie will stick around or not… we’ll see. So… what’s a location? A location is anything that can be put on a map. It also, can’t move too frequently. For example, your body or your car is not a location because they move very frequently. So… I’m talking things like continents, countries, states, cities, college campuses, buildings, floors, rooms, houses, coffee shops, theaters, computer labs, dorms, etc. What am I storing in this database? I’m storing the name of each location, alternate names, their relationships in a tree structure, the location’s latitude/longitude bounds, and some other stuff that’s not fully fleshed out yet.

If you are interested in beta testing this location database, contact me via email. check out Cartiki.com and fill out the form. Maybe I’ll post a link to the beta here later.

So, you might ask… why am I building a location database? That may or may not be obvious to those people who know me. I’m building a location database because we need it for liveUgli. Right now we have only two buildings on liveUgli, and frankly, people study in more locations than just The UGLi and The Dude. So, I’m looking for an editable database of locations so that we can add locations to liveUgli very quickly and painlessly. Another issue we’ve encountered with liveUgli, is that it takes a lot of time and effort to make floor plans of buildings. So, we’re thinking about moving away from that and just using campus maps, or even Google Maps… or heck, lets scrap the maps all together. When someone tells you where they are, they can usually tell you where they are with enough accuracy to find them without the use of any kind of map whatsoever. So, maybe we can use that fact to our advantage. Combine this with maps, and it becomes very powerful. This assumes that they are a student at the University of Michigan, and have been to the location before. We’re targeting these people right now anyway, so we can make that assumption for now.The other question you might ask is, what’s so special about a location database that you can’t just use an existing solution. Well… I’ve thought about this for a while too. I’ve looked into various Geographic information systems, and they all seem too complicated for me to use. I want this GIS to be dead simple for the user. I don’t want to require people to have a GIS degree to use this thing. Maybe eventually, I will cave in and just use a GIS that is already out there, but maybe this location database thingy is in fact unique and never done before. I doubt it. However, I haven’t found the right thing yet.

There are a few things out there that are similar. For example, PostGIS “spatially enables” a PostgreSQL database server. So… a location database? Maybe. One thing I don’t think this really covers is the hierchy that I wanted to capture. I guess with any relational database its going to be tough to empose a tree structure on your data. Relational databases are simply not meant to store trees. I’m managing to do it, but not in a very elegant way.

Another really cool website that is kinda what I was going for is Wikimapia. They say they were inspired by Google Maps and Wikipedia. Wikimapia allows you to put a bounding box around any part of the earth and add a name, some tags, and a description to it.

Another online location database that I’ve played with only a little bit, is called Platial. This site is actually the most similar to Blue Puddle, a project I worked on last semester with GROCS at the University of Michigan. It doesn’t look like Platial does bounds, or any sort of hierchy of locations, but it allows you to “make your own maps”.

Right now, if I had to choose the largest competitor to liveUgli I would say it would be Plazes. Plazes allows users to upload information about places from their downloadable client called the Plazer. Each “plaze” is centered at a wireless access point or router. So, the software knows which place you are at by the wireless access point or router you are either connected to or, closest to. Or, maybe its any one it can recognise. Overall, Plazes is really cool, but it doesn’t let you get down into much detail, and what about places that don’t have wireless access points? Nope, can’t mark those yet. It uses the Google Maps API along with everyone else, and also the Flickr API for photos, which is really cool.

Wayfaring is a really cool looking site. It’s got a lot of AJAX going on and a nice color scheme. It’s also very feature rich. It allows you to, quote “Create, Share, Explore, and Connect” maps. So, you can create your own maps with waypoints, routes, and notes. You can easily put the map within an iframe on your own page. You can browse maps that other people made in your area.

Another site I just found very recently is Mapfacture. It says its a GeoRSS aggregator. GeoRSS is just a convention to tag RSS items with latitude and longitude coordinates. So, when you write a blog entry about your trip to Paris, you might attach the geo coordinates to the entry.

GeoNames says its a geographical database. “Geonames is integrating geographical data such as names, altitude, population and others from various sources. ” So, basically, they have a lot of data that is all licenced under a Creative Commons licence, specifically Attribution 2.5. They also have a webservice and database dumps so that other pieces of software can access the data easily.

Another site that I think has a great idea, but may not be as useful to me is OpenStreetMap. They aim to make a free wiki world map. You can upload GPS tracks, and view what other people have uploaded. I think this project is focusing on making free street maps, and not really going in the same direction as I want to, but still cool none-the-less.

My final service of the day is Tagzania

Startup… but How?

October 17th, 2006

Doing a start up… should I do it? How would I make money? Should I give up the masive salary that corporate America is offering me? Will my employer allow me to work on my side projects? If its competing with their main business, certainly they wouldn’t… but, its debatable whether or not the things I want to work on compete with the business or not. Hmm… Maybe I should just go work for a company that I’m sure has nothing to do with my side projects so that I’m able to work on them, AND make money.

New MacBook Laptop

October 5th, 2006

So… my Dell Lattitude was kinda falling apart. Both of the hinges that hold the screen up broke, so its pretty unusable as a laptop. Just yesterday, about a week and a half late, my new 13 inch widescreen white MacBook arrived. It was it was white, shiny, and ready to go out of the box. After installing a few applications, and setting a few things up, I was ready to go full force. There are so many cool things about the MacBook that I could list here, but I’ll let you go to apple’s website for the details. For example, today in techcom, I couldn’t stop playing with Expose. It’s a feature of the operating system that lets you move all the open windows at the same time to different places. You can press F9 to quickly show them all at once and select the one you want. Press F10 to show all your windows in the current application. Press F11 to move all your windows temporarily off-screen so you can see the desktop. Press F12 to see your Dashboard widgets, a cool feature in itself which I still have left to play with.

Amazon Full-Time Offer

October 5th, 2006

Yey! I’m kind of excited right now about getting a full-time offer from Amazon after my internship this summer. It’s a really good offer, from a company that I would want to work for. I’ll still be looking around at other possible opportunities after I graduate, but this is a good start.

SSL Name-Based Virtual Hosts

August 4th, 2006

Why can’t you have SSL name-based virtual hosts?

I discovered that this was impossible… twice. So, hopefully this explaination will satisfy people’s curiosity and stop the frustration trying to get this to work when it just won’t.

The problem lies with the way name-based virtual hosting and SSL work.

Name-based virtual hosting is when you have more than one domain name being served with the same IP address on the same port. DNS takes care of giving you an IP address based on a domain name. Then, when that domain name gets sent via an HTTP header to that IP address and port, the web server, (usually Apache) can determine which web site to display. This is all well and good. The web server can figure out which domain name you want on each request, because your browser always sends it. But, what happens when we go to a secure page and add SSL to the mix?

HTTPS uses SSL to encrypt HTTP traffic. Before the HTTP request is received by the server, the server must send a certificate to the client verifying the server’s identity. The certificate contains a domain name. How does the server know which domain name’s certificate to send if it hasn’t received the HTTP request yet? It doesn’t. So, the server just sends the only certificate knows how based on the IP address and port number that the connection is coming in on.

This is why you can’t do SSL name-based virtual hosts with Apache, or any other web server for that matter.

Hopefully this explaination helps some people save a lot of time.