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

Do All the Things

Posted on 21st August 2011 in Something Daily

I’m at home for another week and a half and then I’m back to NYC. Downingtown has been nice, but it’s getting a little bit boring. I’m definitely ready to be where the things are happening. All of the things. I’ve got a lot of stuff planned for this semester.

People want me to make stuff for them. A lot of that stuff is websites. Some of it is other stuff, but it’s mostly websites. I’m doing that a lot – I have 3 projects going at once at the present time. Of course, I always do that. It’s both for the experience of making sites, getting myself exposed to new technologies, building a portfolio and also making money, which so far this summer has proven to be something that I am not very skilled at.

I don’t want to talk about how lifeguarding is going. I only have four more shifts, then I will never have to sit staring longingly at a pool for 8 hours on end ever again in my life. But I’ve been getting money. Ok I’m done talking about that.

Speaking of money, my recent purchase of an iPhone will probably be both the last thing I do that makes me feel wealthy for a while and one of the many causes of my impending poverty. I’m willing to deal with it if it means I get to live in the best city in the world (with the possible exception of Muenchen). That’s going to be fun too.

I’m fighting poverty by applying for internships, both for credit and kicks, and taking on odd web design gigs (also moonlight programming…going to be a rad semester). Those interviews have gone surprisingly well, though, as they were my first real job interviews evar in my life, technical or otherwise. I got a majority of the internships I applied for, and actually had to turn down one as I’m not made of time.

But as it stands right now, I will be spending this fall interning at parse.ly, a web analytics company, as a PROGRAMMER or programmerlike entity. It’s going to be sweet.

Also, in the spring I will be working as an audio production intern at RADIO CITY MUSIC HALL. Combine both of those with a bunch of other smaller freelance jobs, my classes, and a few shifts as a Steinhardt tech…and I guess I’ll talk to you in May.

Seriously no. But that’s the news. It seems that my attempts to put myself “out there” in the professional world have been largely met with success so far. Hoping it continues.

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.

Mr. Emmett

Posted on 2nd May 2011 in Something Daily

I just put my first game up on my website – you can play it with Web Start and download the source. Here’s the link. I just presented this game, which was my Java 101 project, to a current Java 101 class. It was a very good experience having to go over old code of my own and reacquaint myself with it enough to explain it in a manner that made at least a little sense. People in the class didn’t have that many questions, which was not entirely surprising to me. I remember when I was in that class, despite being mostly clueless as to how something like that would be implemented, being unsure of what question to ask due to lack of knowledge, and because of how confident and knowledgeable the presenter seemed. Now I get to be on the other side of it, where I’m the confident and knowledgeable one simply out of experience, and people are asking me questions. It was very nice, and I got to plug my website. All around a great experience, and I hope I get to do more of that.

Having a website that I update regularly is changing the way I use this blog. I used to post everything I did right here, but now I have a series of specialized outlets for all of my work, that have developed as a result of me trying to come up with a good website design. Basically,

  • stuff I draw goes on tumblr
  • music goes on Soundcloud and then embedded here
  • i write here most days
  • websites and everything else that’s worth it get posted to the gallery

That’s the basic breakdown of how I’m handling my online portfolio at this point. It’s changing like crazy, but that’s how it exists right now.

As for how am I doing today, it’s been very hectic and will continue to be hectic. I don’t think I’ve been less motivated to do a Music History paper than I am right now, and it’s due tomorrow. Also I’m recording a concert tonight, and I still have to finish my roommate’s website before I leave for the summer. And of course, all I really want to do is go through this hacking tutorial. But it’s a pretty good day.

Bill Withers and Mice in Java

Posted on 29th April 2011 in Something Daily

The few weeks before finals are never fun. I have way more stuff to be doing than time to do it in, and my desire to be productive is inversely proportional to how nice the weather is. But I think I spend too much time thinking about how much work I should be doing, which generally increases stress instead of decreasing it. Let’s just talk about what’s already done.

I had a long mix session last night for my second project for recording technology class, a cover of Bill Withers’ “Use Me”. The session seemed to go on forever, and I was totally cranky and tired by the end of it, but listening to our mix this morning, it sounds even better to me than it did last night. This is our rough mix, check it out.

Use Me by Raised by Robots

I played the clavinet part (not a real clav, unfortunately) and helped engineer and produce the whole thing. This has been a fun project, and it’s awesome to have another track for my portfolio.

I also was asked to present a project I did for my CS 101 class last year to the current 101 class, to give them ideas and confidence for the upcoming final project. I made this game where your cursor is a mouse and your move around collecting falling cheeses and avoiding mousetraps. Since making it, the laptop that I bring around with me has become an Ubuntu machine, and as a result, certain things I was doing in terms of graphics weren’t working anymore. So I just spent an hour or so fixing my year-old code to work on my new system, and taking a trip back in time as I did so. It’s interesting to look at my own old code and see how my practices have developed. When I finished the mouse game last April, it was throwing multiple NPEs per second as a result of some oversights I made at the time that I didn’t realize would affect performance on some systems. Clearing those up did the trick, though, and now I’ll be presenting my old work to a class of hopeful 101 students. I’m actually really excited, I love the opportunity to share knowledge (and be in a position of some power).

I think I’m going to put up the code for that old mouse game via webstart some time soon. It’s actually really addicting.

HackNY Hackathon: Great Success!

Posted on 11th April 2011 in Something Daily

This weekend was not like any other – it was more awesome than many others. It involved me hacking for about twenty straight hours at the hackNY student hackathon with a bunch of guys I met there. The whole event was awesome. We ended up creating and not completely finishing a social meme-creation game called BalderMash, which is available <a href=”http://hackny.ericsluyter.com”>here</a> if you have four people to play with. Basically, the idea is that it scrapes google trends for a random trending topic, then selects a random image from the top ten hits in that category. Then, you and your friends have thirty seconds to add  stickers, text, filters, and your own drawings to turn it into something hilarious. After the time’s up, you all rate your friends’ creations. I had a ton of fun and learned more than I expected to building this with Yuriy Skobov, Eric Slutyer, Ulysses Popple, and Andrew Flockhart. Although we didn’t get it to a point of complete functionality, we were able to present what we did manage to finish, and people seemed to like it. All in all, an amazing experience.

We started actually hacking at about 3 PM on Saturday, all set up around a table that was hardly big enough for all of our laptops. We spent a little while trying to think of an idea, tossing around a bunch of different social networking mashups, and eventually settling on a social image-editing game.

I didn’t notice time passing between about 4 PM and 1:30 AM (meaning that 1:30 was the first time since the start of the event that I got up to take a walk outside). I did have to drink some Red Bull for the first time in my entire life, and it was just as bad as I expected it to be – but I was working hard and had to keep going. We were all working really hard actually – I discovered that Yuriy is amazing with PHP and MySQL, and reaffirmed my belief in Eric’s incredible design skills. As for me, I worked mainly on the PHP implementation of the system for organizing the game lobby mechanics, putting my PHP skills to the test for the first time in a collaborative situation. Honestly, my self-esteem being as wonky as it is, I was amazed and relieved when each function that I’d written for teammates’ use actually ended up working. It was a huge confidence boost, and now I feel ready to go tackle some of my own projects, knowing that I do have the chops to work in a collaborative team setting. Thank you, HackNY.

Here is the full official photo collection from the night

I stayed very much awake and alert for most of the night, but as I saw the sun rising out the windows, I suddenly began to get tired. After about 8:30, I was kind of dead, and didn’t catch a second wind until around 10. That period was kind of tough for everybody, I could tell. But soon after, the two members of our group who hadn’t pulled all-nighters returned and revived us with the enthusiasm that we seemed to have lost. We spent the last 90 minutes or so testing our app, and in the process realizing that it didn’t work – so we fixed it as best we could. We managed to get it presentable, and we did, in fact, present!

A few other projects that I really enjoyed were Andres’ “Mugshot” and another called “Come @ Me Bro”, which matched you with a twitter follower that you’ll probably hate and then tells you fight them, complete with suggested taunts. Also, there was this guy who made a bunch of client-side image editing tools from scratch in 20 hours – stuff like filters, swirl warp, newsprint effects, etc. That was probably the one that impressed me the most. A full list of the hacks that people made, including links to many of them, is right here. This whole event was amazing, inspiring, educational, and amazingly fun. I pulled the first all-nighter in a while, spent it doing what I love to do, and got some recognition for it (and now I have something to show for it, too). I slept pretty much all yesterday afternoon, and was a daze for the brief periods where I wasn’t sleeping.

What an incredible experience. Congratulations to all the winners, and everybody who participated and/or presented. The projects were all amazing.

Spaceratops Update

Posted on 23rd March 2011 in Something Daily

There were a lot of false starts and many attempts to get Spaceratops up and running properly, as I was just learning how to use Java Web Start this morning. But now, it appears as though you can follow this new, semipermanent link to the launcher. Click the Launch button, open or save the file, and then wait for the download to complete. After the download is done, the game should launch automatically (and you only need to go through the lengthy download process the first time you launch). Also, here’s the slightly updated source code if you care to view it.

As it’s turned out, this project has come right down to the wire. But it appears to be pretty much complete and working right now (knock on wood)(actually that’s an exaggeration, the leaderboard is broken, but I’m working on it). Anyway, have fun playing it in a form that is much more likely to actually work for you. Thanks for reading.

Spaceratops: The Game

Posted on 21st March 2011 in Something Daily

Over the last few months, I’ve been working on a Java game entitled Spaceratops. I started it after finishing CS 101, mainly as a tool to learn object oriented programming. It eventually grew into a project that I envisioned in my head as a grand production in for which I would draw all of the sprites, compose and record the soundtrack, design and program the game engine – something that I would see through from beginning to end as my own learning project, but also something that I could hopefully come away from being at least a little proud of. So it may not be as ‘grand’ as I’d initially intended, but it is indeed finished. I took a break of about two and a half months after completing the engine, with the thought that it would never really be finished, and then, for some reason, I picked the project up again in January.

So I can definitely say that I understand object oriented programming much more than I did when I started. I also am a lot better at programming in general (which is, I suppose, what one would hope for after completing a project of some magnitude). It’s really good to finally be done, though. I don’t know how soon I want to start another one, but something tells me that it could very well be sooner than I expect.

Try playing it, let me know what you think in the comments. Here’s the link, just click “Launch”, select “open”, and the file will download and the run automatically. I’m having issues with the leaderboard right now, but gameplay is unaffected. Also, here’s my source code, which I have been staring at without much break for the past few months, and which I’m more than happy for you to look at now.

If you have any questions or comments, please make them known. And if you finish all fifty waves, I’ll buy you lunch. Seriously. If you do, tell me your score. Thanks for playing!

comments: 1 » tags: , , ,

Farted a Rainbow

Posted on 18th March 2011 in Something Daily

I’m not entirely sure of the reason, but I got back from the skatepark today and immediately felt the urge to make this.

I know what you’re thinking. You’re thinking “this guy looks like the coolest little kid that the world has ever seen. He had video game sunglasses and rainbows behind him all the time.” And if you thought that, you’d be right. About everything you’re thinking with regard to this general topic.

Being at school over spring break is totally sweet, because I have entire days to myself with no commitments whatsoever. That typically means that I’m going to code a lot, play video games for a good deal of time, and probably skateboard. Today, then, has been the quintessential spring break day (in my mind, at least). I put in a big chunk of the last week’s worth of work on Spaceratops today, waking up at 8 and basically coding straight through until noon. I started from scratch learning about applets today, because I realized that, realistically, how likely is it that anyone would play my crappy game if they have to download it? As I see it, really the only way to get anyone to play is if it works from within a browser – so that’s the idea of converting it to an applet. (actually, I think I’ll get a decent amount of people to play that way, at least compared to the results if it was a download). So this game is in the final final stages and will be linked to RIGHT HERE by Wednesday, March 23rd. I swear it. I need to be done with this project.

Speaking of, I downloaded the Unity game engine today, which I’ll be experimenting with later in the evening after a bit of decompression via Metroid Prime (which I started speedrunning last night) and Easy Mac.

Oh yeah, anyway…the transition to applet was an easy one, for the most part. It’s essentially the same as a JPanel, but runs via an automatically generated HTML form. One thing that is different, though, is that there’s a disparity between the manner in which images are printed in a frame and in an applet – which means that my applet is very much prone to flickering. It’s not unplayable by any means, but the flicker is certainly annoying. So I’ll be working on that tomorrow.

And one more thing – I don’t know if you heard, but I set a new personal record for shortest Super Mario 64 completion on Wednesday night. 2.5 hours, 58 stars. Yes, I used the stair glitch, but there comes a time in every semi-pro SM64 player’s career when not using glitches just doesn’t cut it anymore. We get bored. But yeah, my last record was three hours and four minutes, so I’m moving up in the world, clearly.

[youtube http://www.youtube.com/watch?v=Q1lwD-jFHOE&w=480&h=390]

I’m going to go shoot stuff with lasers, and you can just sit here staring at my elementary school awesomeness in all of its rainbow wonderment.

Yeah But What if I Want to Push Mongo?

Posted on 17th March 2011 in Something Daily

I was skating to Washington Square today, and I was passing Union Square, a guy at one of the merchandise tables saw me and yelled at me to “stop pushing mongo!” It was embarrassing. If you don’t know, pushing mongo is when you use your front foot to push off the ground to get momentum while you’re skating (the generally accepted way is called “regular”, which means using your back foot). There are a few reasons why it’s easier to set up for tricks if you push regular, which are negated if you’re mongo. And, for whatever reason, I push mongo. That’s right, I push mongo. Deal with it. Apparently this guy had a problem with some random person not pushing on his skateboard in the proper way. I know it’s not really a big deal, but I did end up attempting (with very mild success) to push regular for the remainder of my journey. I kept almost falling off and losing my balance, because I’m not used to supporting my weight and balancing on my left foot. Still, by the time I got to Washington Square, I was a little bit better at it than before. I’m getting there.

Also, this morning I modified the perl script I wrote a little while ago to synchronize two directories. Before, the sync was done on the basis of a source/target situation, where one is the master and one is the slave. I changed it this morning to instead create a union of the two directories, similar to how Dropbox operates. It’s a nice useful bit of code that I use pretty much every day for my own purposes.

I found out about @Lulinterweb through Anamanaguchi’s Twitter account recently. She makes awesome old-school video game inspired gif animations. Check out her website. This stuff is fun.