HackNY 2011

Posted on 5th October 2011 in Something Daily

Hackathon this weekend. It was of course amazing!

I met a bunch of people from a lot of different NYC tech startups, many of whom were from Boxee and Tumblr, as those are the APIs we hacked on. We made a hack that we’re calling TumblrTV, which grabs the videos from your tumblr dashboard and creates a Boxee Box channel out of them. Check it out, if you’re so inclined. Myself, Eric Sluyter, Adam Krebs, and Yuriy Skobov stayed up all night (well most of us did) and ate and drank a lot of unhealthy things attempting to get it finished. But we did, and it’s awesome! Try it, seriously!

As you can see, Adam sat his netbook on a fan for the duration of the hackathon, as it’s prone to overheating. We thought it was pretty funny.

We got pretty loopy at around 4 AM, which I think makes sense. Surprisingly, though, it wasn’t very hard to concentrate (for me at least). I only got exhausted after the whole thing was over. We spent a lot of time on trying to get the Boxee Box’s remote buttons to correctly interact with our app, which ended up being hugely annoying – so much so, in fact, that we ended up scrapping our original button-interaction idea and hacking (what else?) a solution via remapping the keyboard.

By the way, all the work here is done client-side, with the exception of the questionably-named “get-bullshit.php” which calls the tumblr API. It was a great way for me to finally get around to learning jQuery.

This guy was great; he’s from tumblr and he was a huge help with some of the trickier aspects of making TumblrTV, especially OAuth (which we again ended up not using due to time constraints – don’t worry, we’re not logging your tumblr creds).

Also, the guys from Boxee gave us a free box for making such a rad hack! Awesome. Check out the TumblrTV code on Github if you’re into that kind of thing.

I <3 HackNY

I Made a Thing

Posted on 19th July 2011 in Something Daily

I built a Twitter app today! It’s called Quadroopl! It’s a version of your Twitter feed that’s been cut down to size by removing all but one of each of your friends’ tweets, leaving only the most retweeted one. That means that, if you want to see if what your friends are doing is interesting or important, you can use Quadroopl to cut through the spam and get a quick update on the good stuff. You should try it. The code is right here on my github in case you’re that kind of dude/lady.

I was in Ohio with my cousin recently, and, being the geeks that we are, were talking about the people we follow on Twitter. One of the first things he mentioned was that, as a result of following me, he’d picked up a lot of interesting people to follow (because I’m really cool and have cool friends, obviously). He said, though, that he was kind of annoyed by their ‘spam’ – that is, a lot of the people he knew were interesting would often tweet in decidedly uninteresting ways (not naming any names….). He didn’t want to unfollow them, because he did want to be updated on their important doings, but disliked the majority of their tweets, which could be called non sequiturs, to put it politely. I’m guilty of this too, by the way. He said, “wouldn’t it be cool if there was an app that just showed you the tweets that you theoretically care about, while filtering out all the crap? It would probably be pretty easy to make. You should build that.”

So I did.

I put together Quadroopl over the course of the last three days, flying by the seat of my pants as I learned both OAuth and the Twitter API (and, arguably, Javascript and Ajax) at the same time. The logic goes like this: your whole (500 tweet) feed is retrieved, and each tweet in the feed is processed, being put into a session hash of hashes. A tweet is added to the hash if the user who created it doesn’t have a tweet in the hash already; or, if they do, it’s added if it’s been retweeted more times than the one currently in the hash. The result is a new feed that’s made up of the most-retweeted tweet by each user. If a user hasn’t been retweeted recently, they don’t show up on Quadroopl. This method places a lot of importance on retweets; I think it’s an ok solution to the problem of the “top tweet”, but I’d love to look for a way to retrieve the number of replies to a tweet. Another vector for the comparison of tweets could only make the results more relevant, I think.

I’m very happy to have gotten this out so quickly, and I look forward to adding features/revising the logic to make a more enjoyable user experience. Try it out, and please direct any constructive criticism to @emmett9001. Direct all other criticism to your mother. Thanks.

Portal 2 is Getting in the Way of the Rest of My Life

Posted on 19th April 2011 in Something Daily

Uh, so much is happening yesterday and today that I really don’t know what’s going on. I side note: why is it that schoolwork always feels like the least important thing I have to do? No matter what, there’s always something I’d rather be doing, even if it’s fun work. I think the fact that people are telling me that I have to do it is actually a demotivating factor for me. ANYWAY…..

Oh man…well I spent three hours writing the code to Huffman encode text files for my Data Structures class yesterday, which was fun. I’m a little disappointed that my bad algorithm takes ten seconds to encode and decode the US constitution, but it’ll get me the homework credit I need. Also I really dug into Javascript for the first time, working through a few different tutorials in parallel in order to build an audio player for the Wonderleague website. That took a bit of experimentation, and I was, for some reason, beyond tired last night, which made the whole “thinking” thing a bit difficult.

Another factor making it hard for me to concentrate was the ride that Valve was taking everyone on regarding the imminent release of Portal 2 last night. I kept checking hasportal2launchedyet.com to see, and the second I refreshed the page and it said “YES”, I was bolting back to my MacBook Pro and launching it. As you may be able to guess, I stayed up until about 3 AM playing it until I couldn’t think anymore. This, in combination with the fatigue I was already experiencing, is causing me to not have a very fun day today.

I woke up at 8:30 and immediately started playing Portal 2 until 10, when I was forced to clean up and go to class. But you can rest assured that, if I have access to my MBP, I will not be doing much of anything else until that game is finished. That’s why I’m taking advantage of this time right now, while I’m out at the Courant lounge, to do important stuff like blogging and implementing an entire CMS for Wonderleague….how did I agree to this….?

OH AND ALSO, GUYS…I reactivated my Facebook account today. I know I probably look like a hypocrite now, but I will always maintain that there was never a time when I claimed to dislike Facebook – there was just a time where it wasn’t for me. It still might not really be for me, but for some reason I’m in the mood today to reactivate it. I don’t know how much I’ll use it. Seeing my profile page again is bringing back all of these weird memories about what it used to be like to use Facebook. So strange – that will probably happen for any other social network that I eventually stop using and start at again someday.

And I have midterms and projects to be doing, and finals to study for….what the heck, man? All I really want to do is make and use portals and portal accessories. If you need me, I’ll be at my desk. Not much different from an average day. But really, it is.

Make your SNES all better

Posted on 9th November 2010 in Something Daily

Last night I sat down to play a bit of Super Mario Kart before bed. As usual, it took a few manual flips of the power switch to get the game started correctly; I also had to take the cartridge out a few times and blow on the contacts. Eventually it started working, I picked my character, and as the first race was starting, I knocked the side of my desk with my foot and the screen went black. I started the game again to see what was up, since this was certainly something out of the ordinary, even for my old and partially broken SNES.

My SNES Game Collection

It turns out that with all of my games except Super Mario World, jiggling the cartridge even the slightest bit while the game was running caused an instant freeze – and, in cases where this applied, a total deletion of the save data (this is why I didn’t do the test with Super Metroid…that game is hard). So seeing that this was happening, and realizing that it was pretty unusual, I looked online and discovered that this type of problem can be caused by a dust buildup on the contacts of the cartridge holder inside the console itself. So I folded up a Post-it and slid it between the two rows of contacts while holding the little door open. I could see a lot of blackish dust and dirt collecting on the paper, and sure enough, when I inserted another game and jiggled it around as a test, it was working fine – totally impervious to freezing. So there it is – if you have an SNES (or, I would guess, any older system that uses cartridges) that’s having trouble reading games, try cleaning out the contacts where the cartridge connects to the console. I really didn’t think it would work, but it totally did the trick.

I’m exposing myself to a lot more PHP/Javascript recently, mainly by reading a ton of posts on Stack Overflow, which is a public forum for programmers of any skill level, with every post organized by tags so you can see conversations about subjects of interest. Mostly it’s a Q&A type situation, where one will make a post asking a question they’ve run into, they can be answered by the community. By the way, Stack Overflow has a huge community (it’s a top 500 site, in fact). But I’ve been reading a lot about PHP and Javascript and how they’re used in conjunction with HTML and APIs like Foursquare and WordPress. I’m not building anything yet, just learning. But this totally counts as a project in my mind. Learning is very important.

Also, I’m listening to MF Doom’s Doomsday, which is an essential underground rap album (released two days after my 8th birthday, fun fact). If you don’t know Doom, I really, really recommend his stuff, especially Doomsday and Madvillainy, which he did with Madlib. Doom has some of the most interesting and unfathomable lyrics I’ve ever heard – “I-C-E cold, nice to be old/Y2G steed twice to threefold/He sold scrolls, lo and behold/Know who’s the illest ever like the greatest story told”…what!? I’m not sure if he writes his stuff on Doomsday or freestyles it, but I think it’s awesome either way. Check it out.

I found this on reddit (where else, right?) – it’s a multitool from ancient Rome. Check out the size of the knife!