December 7, 2008

  • A question for my fellow men. .

    Rozblossom and I have been having a debate on underwear and its relation to proper urination etiquette. 

    For those of you unfamiliar with men’s underwear – most styles of boxers and briefs have an opening in the front of them, either covered by a flap of cloth, or sealed by a button.  This opening is just large enough for a man’s (ahem) junk to fit through it. 

    The question at debate is the following.  What is the proper way to “whip it out” when using the urinal?  Do you A) thread your manhood through the hole or do you B) just pull the waist band down?

July 27, 2008

  • Dr. Horrible’s Sing Along Blog. ^_^

    Hey Mediaphiles, (Natalia, I’m looking at you) 

    I’ve always have mixed feelings about Joss Whedon.  On one hand, he’s responsible for the Buffy the Vampire Slayer series- whose popularity I’ve always taken as a sign of the decay in standards of modern society.  On the other hand, he created Firefly (and the Firefly movie – Serenity) – totally raising the bar on Science Fiction, by insisting that it not just have babes and spaceships, but that it also be funny, witty and have characters that are interesting because of their personalities, not because of their race or station.  (Yes Star Trek – I’m looking at you)

    Anyways, he’s gone and tipped the scale fully in his favor with his latest work – Dr. Horrible’s Sing Along Blog (done supposedly, during the writer’s strike while they had nothing better to do)  It is a purely web based tv show, (with only three episodes so far) that were streamed live until July 20th.  Unfortunately for me, I finished watching episode II right after midnight on the 20th, so I had to go to iTunes to purchase the season pass.  It stars Neil Patrick Harris as the “evil” Dr. Horrible and his geeky alter-ego Billy, as he pines away after the kind and beautiful Penny, tries to get accepted into the Evil League of Evil and battles his handsome and super strong nemesis, the “hero” Captain Hammer (Nathan Fillion).  In other words, it is the classic battle between Nerds and Jocks, played out in a quirky, musical comic book universe.  Yes, it IS a musical – but I promise you, that is actually a good thing, as it adds both emotion and humor to the episodes, with a couple really amazing dueling harmonies and melodies. 

    It’s also an attempt to stick it to the big media publishers, by showing that its possible for smaller companies to make money on these kinds of polished shows on their own terms.  So show Joss some love, and get the Season pass (only 4 bucks! cheaper than a movie!).  Or don’t and convince one of your friends to pay it so you don’t have to. Trust me, it is worth it.  ^_^

    Over and out!

    -Joe

May 16, 2008

  • The demoralizing solution…

    This is the solution to the post I made earlier today.  If you aren’t interested in the explanation, feel free to skip to the bottom

    On first appearance, this question looks like something that could be solved via binary search.  In other words, you could divide the problem in half by dropping a sphere half-way up, and using that to determine whether to search up or down from that point. 

    This isn’t a bad solution, especially if the first sphere doesn’t break on the first few drops.  A good case for this solution is the following.  5 drops before the first sphere breaks.  Floors 50, 75, 88, 95, 98, 100. and then one additional drop to verify that the spheres break on the 99th floor or the 100th floor.  6 drops!  not bad.  A better case would be that the spheres are super fragile and break on the first floor.  Then it would only take 2 drops.  One on the 50th floor and one on the first floor.  The problem is, we’re solving for the worst case.  The worst case is that the sphere breaks on the 49th or 50th floor.  Why?  Because to verify which floor it breaks on.  You drop the first sphere on the 50th floor and it breaks.  Then you drop the second sphere 49 additional times (starting from the bottom of the stairs, because you can’t know if one of those lower floors is your actual answer).  Worst case?  50 drops.  Ouch. 

    So obviously we can do better.  Now lets take my ex co-worker’s (Patrick and Justin’s) solution.  This was also my second attempt to answer this question.  Drop the first sphere at 10 floor intervals, starting from the bottom.  The best case solution for this strategy is 2 drops.  First sphere shatters on the 10th floor, and second sphere shatters on the 1st floor.  Nice.  How about worst case though?  Worst case is the 99th or 100th floor.  You drop the first sphere on floors 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 and then it shatters.  Next you start from the 91st floor and work your way up 91, 92, 93, 94, 95, 96, 97, 98, 99.  Worst case performance is 19.  Not too shabby.  Much better than the first solution.  But still not the best. 

    I failed to make this next intuitive leap, which would have made the solution very apparent to me.  Essentially, you need to find a way, such that every time you drop your first sphere, you reduce the number of possible times you’ll have to drop your second sphere.  But you don’t need to be greedy.  You don’t have to reduce the number of times you drop the second sphere by a lot.  Just by a little.  Only one less in fact. 

    But how can I reduce the number of times I have to drop the second sphere?  Simple.  Reduce the number of floors between each drop of the first sphere.  If I drop the first sphere on the Nth floor and it breaks.  Then my worst case is N-1 drops of the second sphere.  1 drop + N-1 drops = N drops. 

    If it doesn’t break on the Nth floor, then I know none of the floors below it have to be checked, but I’ve used one of my drops.  So my next drop will occur from N -1 floors above the Nth floor.  If it shatters now, then my worst case is N-2 drops of the second sphere.  2 drops + N-2 drops = N drops.

    Now if it still hasn’t broken, I can just continue this pattern, by going up N-2 floors, then N-3 floors etc… until I reach the 100th floor.  We effectively have a way to keep the worst case performace constant!  Using this strategy and working backwards you can find that the best “N” to start from is 14.  This is because 1+2+3+4+5+6+7+8+9+10+11+12+13+14 = 105.  If N is too small to start out with then your interval will reach zero before you reach the top of the building, and you’ll have to make up the difference with extra drops. 

    Solution
    So the final solution is to start on the 14th floor and drop a sphere.  Then as long as the first sphere doesn’t break, move up the building in intervals that shrink by 1 floor.  Once it breaks, start from the floor above the last place you dropped a sphere from that didn’t break and move your way up.  Your worst case will always be 14 drops. 

    Later –

    Joe

  • My Demoralizing Interview Question

    I’ve been doing interviews all week, and this last Thursday, I was interviewing with Hi5.com.  The interview had being going surprisingly well.  The interviewer was really impressed with the work I’d done in grad school and at Xanga, and I’d just answered a pretty interesting question about optimizing data stacks for performance.   Then I got this question:

    You have two identical spheres that break when dropped from a height greater than X floors.  You have a 100 Floor building and you’re guaranteed that X is less than 100.  Give a strategy to determine the greatest height that the spheres can be dropped from without breaking.  [edit:  Assume that until a sphere breaks, it is just as strong as it was before you dropped it. ]  Once a sphere breaks, you can no longer drop it (cause its broken duh!).  Now give a strategy that minimizes the worst case number of times you drop a sphere. 

    I know the answer now, but only after being coached through the mud by the interviewer.  >_<  Feel free to give it a shot, and prove that you’re smarter than I am.  I’ll post the solution later if nobody figures it out. 

    Over and out,

    -Joe

    [Edit:  The solution can be found here. ]

April 30, 2008

April 29, 2008

  • Good-bye and thanks for all the fish!

    It has been a fun and crazy year here at Xanga, but alas my time as a member of the Xanga Team has come to an end.  I’ll still be posting my blogs on Xanga, but I’ll no longer be responsible for adding new features or fixing bugs.  I’m happy to say I accomplished almost everything I wanted to work on while here at Xanga. 

    For those of you who had requested my help on various bugs and features that I didn’t get around to, I’m very sorry, but hopefully those issues will be addressed by the other engineers over the course of this next year. 

    To my co-workers, I wish the best of luck.  I can honestly say that working at Xanga has challenged me more in one year than I ever imagined possible, and that I feel like a better, more confident person for it.  I’ll miss y’all alot, and hopefully you won’t curse me too much while working with my code.  ^_^

    (Transforms and Rolls Out)

    [edit:  yes, yes... it is "so long, and thanks for all the fish", sheesh...]

April 10, 2008

  • New Feature: Comment Replies on Pulse

    Just finished themifying the pulse item page, which means comment replies on pulse!  A couple of things to note. 

    You can only reply to one person, per comment you post.  This all builds on the theory that pulses should be as minimal as possible.  (You start adding too many features, and your pulse just becomes a sad little weblog.  O_O)

    I know lots of you have been asking for automatic conversion of URLs into links – unfortunately I didn’t get around to rolling that feature out.  It’ll be in the works, but probably at a later date. 

    The maximum length of a pulse depends on how long your username is.  (and in the pulse universe, comments ARE pulses) The longer your username, the less space you’ll have available for other text.  This is all tied directly to the maximum length of a text message.  The entire pulse + username + other stuff has to fit into the text message, so if we didn’t limit the size of your message, it would be cut off when you get the pulse on your cellphone. 

    Alrighty, thats all!  Play around with your pulse and let me know if you’ve got any weird issues or bugs k?  Over and out!

April 8, 2008

  • Xanga Meet and Greet: Itinerary

    Alrighty boys and girls, the following is our approximate bar and snack schedule for the evening.
    If you’re running late, just head us off at the next location on the list – and look for the Xanga shirts. ^_^

    Date: 4/9/2008 (This Wednesday)

    Who: Any Xanga user who is over 21, and wants to meet us?

    When/Where:
    9:00 – 9:45 pm
    Grassroots Tavern. 20 St. Marks Place, New York, NY 10003

    9:45-10:15 pm
    Pommes Frites. 123 Second Ave. New York, NY 10003

    10:15-11:00 pm
    Decibel. 240 East 9th Street, New York, NY 10003

    11:00-12:30 pm
    Crif Dogs. 113 St. Marks Pl. New York, NY 10009
    [I'll try to swing a reservation for the top secret lounge inside.]
    [edit: Reservation Confirmed for 11:30!]

    Current Guest List (revised): Joseph, Michael, Natalia, Eugenia, Ben, Patrick, MoonBunny, SqueakySoul?, Konrado, Aimvpr?, WeaponG, BlueShortyx3.

    Remember, that you don’t need to be invited to come, but it’ll help us if we have an idea of who’s coming and who is not.

    Disclaimer: This dinner is not endorsed by Xanga (the company). You pay for your own food and drinks. You must be over 21 to consume alcoholic beverages. You will not hit on Ben Koh unless he hits on you first.

April 3, 2008

  • The Unofficial Xanga Dinner Club

    Like ravenous bears after the long winter months, me and my fellow Xanga employees are looking to celebrate spring by stuffing our faces. Starting this month, I’m going to organize a monthly dinner excursion in and around New York City. Why are we doing this? 1) Its a chance for us to actually eat a meal outside of the Xanga office (yes, we actually work that much) and 2) its a chance for y’all to come out and meet up with your favorite members of the Xanga team!

    Each excursion will be set in a neighborhood and will include myself and several members of the Xanga Team for a moveable feast of dinner, drinks, and snacks. Next week will be set in the St. Marks neighborhood, and will likely include a stop at Pommes Frites or Crif Dogs (but not both, as it would likely kill us). Dinner will be by invitation only, as organizing reservations for more than a small group is really hard, but drinks and snacks will proceed in bar crawl style, with the whole flock of us moving en masse from location to location.

    Guest List so far: Me, Michael, Janet, Dan, Chris Choi, Natalia, Ben Koh, Eugenia, Patrick, MoonBunny, TheBlackSpiderMan, squeakysoul, konrado, aimvpr

    Dinner
    ***
    Who: By invitation only. (but you can certainly try to convince me or a Xanga Team member to invite you. ^_^)
    When: 7:00, Wednesday, April 9th
    Where: (You’ll receive a message from me)

    Meet and Eat, bar crawl style
    ***
    Who: Open to everyone who uses Xanga, but rsvp so we can be on the look out for you.
    When: 9:00 – 12:00, Wednesday April 9th
    Where: 5 St. Marks Place, New York City, NY in front of yakitori taisho – I’ll have a more complete list and schedule up as soon as I figure out the logistics. Anyone who’s willing to help with this should message me.

    Disclaimer: This dinner is not endorsed by Xanga (the company). You pay for your own food and drinks. You must be over 21 to consume alcoholic beverages. You will not attempt to mooch for credits.

March 22, 2008

  • Problem with albums?

    We got an e-mail earlier this week stating that there was a problem arranging the order of photos and videos in the “arrange items” page.  Has anyone else (who uses albums) noticed this problem?  I need to know specific browser and OS settings.  I’m putting a bounty on this – the first person to reproduce the bug – and provide the steps to do so gets the prize of a 1000 eprop mini from me.