Monday, November 10, 2008

The Deli Boys

I have been working from a downtown location for more than a year. Located on High St., nearby the arena, I have plenty of lunch option everyday. When I started working here, my supervisor hooked me up to this sandwich place called "The Deli Boys". Ever since then, just like a sandwich addict, I keep coming back - at least once or twice a week.

The Deli Boys have been there since early 2006 - located @ 2 E Long St., Columbus, OH - 43215. Their phone number is 614-621-1444. You can call ahead for carry out order or for catering order.

The price is pretty good - ranging from $3.75 for an Italian sausage on a hoagie to $5.50 "Heavy-weight" - a big all meat hoagie sandwich. They also have some basic salad menu, thin pizzas, and soups/chili. You can get a combo with chips and soda - which they serve Pepsi products. There is a daily special everyday - and so far the best special for me is the portabella chicken sandwich.

After a while, they will get you know you (they take your name on every order) - which shows an honorable degree of hospitality. Overall, combined with their charming hospitality - their sandwich is also great, toasted perfectly every time and hand delivered to your table as soon as they are ready!

My favorite menu item is the "Chicken Philly" sandwich. It got a good amount of jalapeno peppers, delicious grilled chicken breast, bell peppers, cheese, and mayo. Combined with a side of Jalapeno chips - it gives you plenty of heat to keep you awake for the rest of the afternoon. The bun is toasted perfectly every time, fresh lettuce, peppers, and melting cheese - yuuuummmmyyy! Their thin pizza is also good - if you are into thin pizzas.

If I am not mistaken, now they also have cup cakes everyday. It used to be on some special days - but it is everyday now. Good cupcakes with nice icing! Also available is frozen yogurt - the lemonade flavor is awesome.

I have tried every single sandwich menu available @ The Deli Boys as well as their pizza menu - and I like all of them (I like some better than others - like the chicken philly) - but the point is that I have never had a bad lunch there. Well, if you are in the area, check them out - they are open @ 7am, M-F.

The Deli Boys
Monday - Friday @ 7am
2 E Long St.
Columbus, OH - 43215
614-621-1444
-- read more and comment ...

Open Source Family Tree Software: Family.Show

I stumbled on a free open-source software written on MS .Net (C#, WPF) that is really intriguing and cool. This software is a "family tree" software. It is a simple one - but for my use - it is more than sufficient.

The software itself is called Family.Show. It was mad by a company called "Vertigo". It is very user-friendly and easy to use. It came with a sample family; the Windsor (English Royal family).

Did I mention that it is also open source? Yes, so you can go to codeplex and download the source code for the app. You will need Visual Studio 2008 to be able to open the solution fully, but you can use any text editor to view the code in C#.

So OK, I downloaded it and started my family tree. I happen to keep most of my family members data in my Outlook, so I can enter them right away. After you enter a person, you can add related person to the existing one. So you cannot add somebody who is not related to anybody in the system. For example: once I added myself, I can only add person who is directly related to me: spouse; brother/sister; mom/dad; son/daughter. If I want to add my cousin then I have to add my mom, then add her sister, then add my cousin as my mom's sister's daughter.

The software is pretty intuitive to use and quite simple. You can drag photo to the edit pane to assign a photo to a person in the system. You can add "story" to a person - a free text format where you can have some kind of a biography for the person.

Another feature is that you can filter the family data to find certain family members easier. Clicking "Expand" button will expand the list of family members into a big table, where you can filter, sort, search, etc - as well as displaying stats about age distribution, birthdays, etc. Clicking on the age distribution chart will filter the list automatically by age.

A super cool feature is the time slider. You can slide the time slider to see people's age on certain year. For example: if you want to know the age of your dad when you were born, you can slide the age slider until your age reaches 0 (zero) and see your dad's age displayed appropriately under his name. When you slide the age slider closer to current year, you can see his age is increasing.

The data is saved in an XML format - so you can send it to your families and ask them to install the software and complete/add missing data and send the xml file back to you. You can also export it into a GEDCOM format - which is the "family tree" standard format for most "family tree" software.

Check it out!
-- read more and comment ...

Thursday, November 6, 2008

Using PageMethods & JSON to provide auto population

One of the problem that I have to solve in my recent project was to provide a look up for city, county, state based on a zip code. There are multiple ways of doing this - but in this exercise, I want to demonstrate using javascript (client-side) to call PageMethods (server-side) and then populate my fields.

1. Set EnablePageMethod to true in your script manager



2. Create your PageMethod


When the PageMethod returns its value, it will get serialized into JSON object. In my example above, I an returning a IEnumerable - but you can return any object, as long as it is serializable.

3. Create your javascript to call the PageMethod and callback handler
When you call a PageMethod, the result from the PageMethod is directly transfered into your callback function. In my example below - it is transfered into "result". You can also specify success path callback and failure path callback if you want.
function GetZip(zipBox) {
var zip = zipBox.value;
if (zip.toString().length >= 5) {
var x = PageMethods.GetCityCountyState(zip, GetCityCountyState_Callback);
}
function GetCityCountyState_Callback(result) {
cityDDL = document.getElementById("cityDDL");
cityDDL.options.length = 0;
var oldValue = "";
for (i = 0; i < result.length; i++) {
if (oldValue != result[i][1]) {
var newValue = result[i][1];
var newText = result[i][2];
var objOption = new Option(newText, newValue);
cityDDL.options.add(objOption);
oldValue = newValue;
}
}

countyDDL = document.getElementById("countyDDL");
countyDDL.options.length = 0;
oldValue = "";
for (i = 0; i < result.length; i++) {
if (oldValue != result[i][3]) {
var newValue = result[i][3];
var newText = result[i][4];
var objOption = new Option(newText, newValue);
countyDDL.options.add(objOption);
oldValue = newValue;
}
}

stateDDL = document.getElementById("stateDDL");
stateDDL.options.length = 0;
oldValue = "";
for (i = 0; i < result.length; i++) {
if (oldValue != result[i][5]) {
var newValue = result[i][5];
var newText = result[i][6];
var objOption = new Option(newText, newValue);
stateDDL.options.add(objOption);
oldValue = newValue;
}
}
}

So in my javascript above, I basically waiting until the textbox for zipcode is filled with 5 numbers before calling the PageMethod. Once I get the result back as JSON object, my callback function will take over and populate my drop down list for City, County, and State.

Additional readings:
1. ASP.net: Exposing WebServices To AJAX Tutorial
2. AJAX PageMethods, JSON Serialization, and a little bit of LINQ databinding
3. Passing JSON param

Related Posts:
ASP.NET MVC, AJAX, jQuery
-- read more and comment ...

Wednesday, November 5, 2008

SLANK CONCERT!

SLANK concert @ Columbus was awesome. It was a part of INDIGO - an annual celebration for Indonesian students in Columbus, OH. Ticket price was decent, $20 (or $25 at the door), you get plenty of Indonesian food, tons of drinks, a performance by Columbus band and of course, SLANK!



I was in charge of setting up the sound system. We rented our house and monitor equipment as well as some backline equipments. SLANK & crew brought their own guitar amp head - a Marshall JCM 2000 and their own Bass head - AMPEG. Bimbim is endorsed by PREMIER drum - but since we could not find a PREMIER kit locally, we compromised and use another brand - and instead of renting, we borrowed one - from ME! So YES, it was my drum kit that was used during the concert by SLANK! One of their guitarist, Ridho could not make it - somehow he could not get a visa by US embassy.

Between 1pm until 4pm, there was a lot going on. The food came in and there were several people arranging them, putting them into boxes, putting all the drinks in cooler to chill, etc. We prepared around 400 boxes of Indonesian meal - that is a lot of boxing! Our food is sponsored by an Indonesian restaurant in Columbus called TASTE OF BALI. They are located @ Carriage Place on Bethel Rd, next to the dollar theater. I tasted the food - it was awesome!

Preparing ourfood:


We picked up our drum kit from my house around 10am and went straight to SLANK's hotel. We met with SLANK's crews - Dado & Wahyu as well as Sonny - their sound engineer. We arrived at the concert hall @ Ohio Expo Center - Rhodes Hall by 11am and the FoH & monitor equipments are already arriving and being setup by our rental company. SLANK at this point stayed behind @ hotel and they were going to meet several friends in the soccer tournament.

We proceeded in setting up our equipment and by noon-ish, we are all set. We went to lunch, stopped by a guitar shop to get several guitar stands, and went back to the concert hall to do sound check. After an hour or so sound check - we are ready to ROCK!!!

SLANK's crews:


At 4pm-ish, our opening band showed up for sound check. They are doing 4 songs. SLANK was kind enough to let the opening band borrowed their equipment (guitar head & bass head & snare drum). These guy never sounded that good before - primarily because of the quality of the sound system equipment and the sound engineer we hired.

All of our crews are on location right now, arranging furniture, preparing tickets, finalizing food preps, etc. The door opens @ 5:30pm and opening band to get on the stage @ 7pm.

Our MCs - Bebe & Aree:


Openning band - Columbus band:


SLANK in the waiting room:


Jon & Helen:


After the concert, SLANK's crews and I cleaned up the stage, as well as the backline and FoH & monitor rental crews. SLANK was in their waiting room with fans taking pictures, singing autograph, etc. At around 10:30pm, everything was done, and we drove back to SLANK's hotel. I helped SLANK's crews packed their equipments for their next flight to NY. Sonny gave me a used snare and I got SLANK's autographs on it. We went to Raising Cane's for late late supper, had a great talk with Ivan outside, and rolled home @ around midnight.

Long live SLANK & SLANKERS!
-- read more and comment ...