My Very Own Space Dad

Posted on 1st December 2011 in Something Daily

Heh…”free time”…that’s a good one. No such thing. I guess I’d call it “time after my brain melts due to Calculus class that I use to regain my sanity”. Yeah that’s better.

As you know if you’ve ever been to this site, my personal site, or my twitter, or you’ve talked to me in person, I spend way too much time on social networks, specifically Twitter because it’s the best one obviously. I follow ~1000 people, most of whom I don’t know personally and who I probably followed because their real name was listed as “I AM THE MOON” or something like that. The average tweet I see on my feed is either from a bot or someone who is (either actually or posing as) a basement-dwelling, female-averse video game/anime nerd. So you can imagine what my feed looks like. It’s not pretty. If you’ve ever read my tweets then you might understand better. I’m compelled to tweet things that make no sense because that’s a huge part of what I see in my feed – kind of like I’m playing into the culture it creates.

Whatever, anyway that’s not the point. The point is that there’s this one bot account called @horse_ebooks that has spawned a bunch of knockoff accounts suffixed with ‘_ebooks’ that all ostensibly scrape online ebooks and tweet sentence fragments from them, generally resulting in some non-sequitur fun times. Apparently @horse_ebooks is now not *actually* a bot anymore, but I don’t know. I think it’s funny still. Stuff like ‘Shoes and footwear.’. Or ‘how to be a magnet’.

But look, @horse_ebooks is really popular. I think it has something like 15000 followers (no I’m not going to check right now, leave me alone). I went to Babycastles recently and there were a bunch of indie games that were named after @horse_ebooks tweets. Everybody who uses twitter regularly has probably heard of @horse_ebooks. The point is it’s really popular. Like, weirdly popular for a bot account that tweets nonsense.

I want @horse_ebooks to die.

Not because I don’t think it’s funny – it totally is. Hilarious actually. But I think I can do better. I started my own bot account, @space_dad, mainly to practice my python and learn how to scrape html and post to twitter programmatically. Those goals have pretty much succeeded, and it’s now just a project to see how funny I can make it.

The idea behind @space_dad is this: take a bunch of sources of text that would probably be funny out of context and make that text as weird as possible. @space_dad’s driving script pulls text from Urban Dictionary, bash.org (a compendium of funny and generally offensive IRC conversations), and a bunch of free HTML ebooks I found, mostly of the sci-fi/romance varieties. It occasionally picks a hashtag from the public feed to append to the end of its tweets. My favorite part is that every tweet has a 50% chance of being translated to and from Japanese a bunch of times…you can imagine what this does. The wording gets generally way funnier after this happens.

A few of my favorite @space_dad creations:

  • Place a cotton ball toe while his partner is claimed. Discovery is committed two totally isn’t.
  • Negative gay
  • Can you Pat my back after we.
  • she couldnt be trusted to make the effort #mimimimimimi
  • Nazz, David Bowie’s Ziggy Stardust’s most magnetic fat means
  • Start a huge door.
  • Roll the chocolate cake,
  • Implement your legs.
  • Rub the face of baked beans, burned and I started. I said, darkly #humor

If you’re a python person, you can have a look at the code behind @space_dad, which is in two parts: the code that actually does the tweeting and the code that pulls from the text sources.

So I don’t know how @horse_ebooks does it, but I personally think @space_dad is close to being, on average, way funnier than him (her? it? they?). Maybe you should follow @space_dad. Maybe you should follow me. Maybe you should unfollow @horse_ebooks.

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.

Blip Festival 2011

Posted on 21st May 2011 in Something Daily

Continuing with the collection of surreal experiences that I’ve been experiencing lately, I decided at the last minute earlier this week to stay in the city a few days longer than planned and attend Blip Festival number five at Eyebeam. First of all, that was the best decision I’ve made all week, if not all semester. For those who don’t know, Blipfest is a three-day music festival/social hub for the New York City chiptune scene (chiptunes, of course, being musics created using hacked video game hardware from the 80s and 90s). There are a ton of bands who play, some of which are relatively popular for this niche genre, and some of whom are just getting their start. Regardless, there’s lots of awesome chip music to be heard.

So I got there on Thursday evening knowing one person there, and feeling a little awkward. I knew that a lot of the designers, gif-makers, developers, and musicians who I follow on Twitter and Tumblr were going to be in attendance, and I planned on introducing myself to as many as possible and making some contacts. That didn’t really happen on Thursday nights, because I really didn’t know a single person there after my friend left.

I did say hi to the guys from Anamanaguchi though. They played an incredible set, providing what was without a doubt one of the most fun performances I’ve seen in my short life. The crowd was crazy, to say the least (a guy was crowd surfing during Anamana’s soundcheck) and no one was dancing so much as pushing people around and attempting to support the hailstorm of stagedivers.

Anamanaguchi really owned the night on Thursday, as they were effectively the headliner and also awesome, but there were a few lesser-known acts that I’m very happy to have caught. Specifically, minusbaby came out with a many-piece acoustic ensemble including a baritone brass of some type that actually proceeded to rock really hard. Talk to Animals, as well, was the first act of the show to really get the crowd going; she walked down into the audience and jumped around with them while singing, her Gameboy pulsing out beats from the stage.

Night one was awesome, I got a lot of free stickers and saw a rad Anamanaguchi set. I didn’t really meet anyone, though, and last night I was determined to change that. I talked with Diego “Radstronomical” Garcia on Twitter and we arranged a meeting, which was thankfully a huge amount less awkward than I feared it might be. He turned out to be awesome and to know or know of a lot of the same people I’d wanted to meet, so it worked out nicely. Included among those people were (by Twitter handle) DeMarko, who was sporting the “I’m Fat, Let’s Party” Seibei shirt; JimmyRepeat, one third of MisterGif who bought me most of my beer and insisted on calling me a nickname that I don’t want to mention for fear it might catch on (you can find it on Twitter if you really want to know); DoodlesAndGifs, another one third of MisterGif, who was an incredibly friendly dude, and, lulinternet, who I met briefly with Diego and stared at dumbly for a few moments, apparently in awe of her internet fame or something. Also Liz (as in My Life as Liz) was there, as well as Pete from Anamanaguchi. So I’d say mission accomplished as far as meeting people goes.

As for the night two music, I didn’t know any of the acts before the show, but I now have a lot to check out. Pretty much every act last night was worth checking out again, in my opinion. The opener was NNNNNNNNNN, this young dude from Japan who made surprisingly rocking dance music. Tristan Perich, the creator of the One-Bit Symphony, also performed a piece for harpsichord and one-bit electronics, which was likely the most conceptually-driven piece that that festival will see this year (nonetheless incredibly rad). Ten Thousand Free Men and Their Families was also an interesting shift of genre for the festival; he’s a one-man 8-bit punk/hardcore band. His set was very raw.

I spent a lot of the other sets talking and meeting people, but I didn’t miss the opportunity to dance around like a fool during the BitShifter set. The guy absolutely killed it. He made some absolutely incredible 8-bit dance music that I feel like I’d actually be able to listen to outside of a live setting, which is rare for dance music. It was forty minutes of sweaty nerd in the front of the stage, with people constantly crowdsurfing up onto the stage to dance around for a few moments. Total mindless insanity in the first few rows. But so much fun. Also, I stayed for most of the cTrix set, which was also unbelievably cool. He debuted a new instrument that looked like a guitar body with a video game console and a bunch of stompboxes glued on, which worked after a few minutes of tinkering and actually sounded awesome.

I’m a bit (hah) disappointed that I won’t be able to make it to night three, but I don’t see it as a missed opportunity. This was an incredible experience. I’m totally going back next year.

Stick to WordPress

Posted on 12th April 2011 in Something Daily

In the wake of this weekend’s amazingly fun and educational hackathon, I find myself with a renewed drive to start learning and building cool stuff. You might have noticed that this drive, which is something that I usually have no problem cultivating, has recently been scarce for one reason or another – probably related to the rush of apartment-shopping as well as the letdown after finishing a major project such as Spaceratops. I was feeling pretty unmotivated, and when that happens, you start to get posts about Emma Watson and panda bears…which are actually great. I’m going to do more of that. But also, what in the world is going on in my tech life?

Like I said, my drive to learn stuff is firmly reinstated following the realisation that I actually do have some degree of sweet skills, as evidenced by the fact that I held my own on a group project and didn’t let everybody down by failing as I worried I might. Included in the new list of stuff that I want to accomplish: make a Twitter mashup – I don’t know what right now, but I want to play with Twitter and Hunch’s APIs (also Trendrr). Also, get deeper into web design/development. My Twitter profile says that I’m a “freelance web developer”, so maybe I should start living up to that. Yeah, sounds like a good plan. My roommate asked me to build his website for him, saying that his basic concept was a Tumblr blog with subpages (something that Tumblr doesn’t allow for).

Of course, I started off quite optimistic, only to realize fairly quickly that what I was setting myself up for was the singlehanded construction of my own content management system for this one website. He wanted his site to function as a blog, which would require all the functionality that we expect from WordPress of Tumblr (comments, administration, tags, all the rest). I realize that while, in truth, all of these things are completely within my current skill set, it would take me, one person, far more time that it’s worth to create something as full-featured and smooth as WordPress. This in combination with the fact that WordPress is free to download and supports custom styles has steered me off the path of committing myself to the creation of a decent CMS. (I still want to try my hand at this, and I will – just not for someone else.) So now, instead of writing the whole thing myself, the project has changed to the implementation of a custom WordPress theme for my roommate. Still a great thing to put in my portfolio, if perhaps not as gratifying as the singlehanded creation of the next big blogging platform.

And the funny thing, as my other roommate pointed out, is that knowing how to build a WordPress site may actually be more valuable to many employers than knowing how to do a CMS from scratch. There’s something sad about that to me – the fact that the one that requires less work and knowledge is more highly rewarded. But both are great learning experiences, so I’m not complaining.

HackNY Hackathon has at last Arrived

Posted on 9th April 2011 in Something Daily

This weekend I will be at the hackNY hackathon at the NYU Courant Institute from 2PM until 2PM. I went last year, but didn’t really know any of the technologies that were being used there, and I ended up not collaborating or presenting anything. But being there set me on a path of learning web programming and becoming more confident in my own abilities, so today/tonight I’m going to shred all over the place on this hackathon. It won’t know what hit it. Hopefully I’ll be able to join a team and work on some part of an awesome project with them. That all depends, we’ll see.

I’m taking pledges for Mountain Dew. You tell me how much you’ll donate per can, and then tonight, I’ll keep a record of how many cans I drink, and then you donate the amount that you pledged. It’s going to be a marathon. A hackathon, if you will.

And I’ll be live tweeting it, probably. Watch me <a href=”http://twitter.com/#!/emmett9001″>@emmett9001</a> because I’ll be very silly and working hard. Probably learning lots of cool stuff.

I will see you all on the other side. Wish me luck!

Free SNES Sprites? Yes Please.

Posted on 29th March 2011 in Something Daily

I discovered a site called nes-snes sprites a few days ago that has a huge collection of (you guessed it) NES and SNES sprites, often in all of their animation states, available for download. Right now it’s just great for nostalgia value for me, but I’m thinking about making some gifs with them, or maybe putting one on the header of my site. The site also has a decent collection of soundtracks from those two systems, which I’m almost inclined to put on my iPod and listed to for fun. I have a serious thing about chip music.

Posting daily starts to become difficult around the middle of the semester, for one reason or another. Sometimes it’s the increasing workload from classes, but it’s always the “stuff is happening” mindset that starts to kick in soon after midterms. Even if it’s not incredibly busy, there’s this feeling of having places to be and stuff to do. At least there is for me. Of course, I feel like I always have some project or another, and the more enthusiastic I get about whatever it happens to be, the less time I find myself having to do almost anything else. But that’s just me. Also, my living space is quite often much louder than it needs to be, mainly due to myself and my roommates all being close to 20 years old, fans of music, and owning big speakers. This sometimes makes it hard to concentrate on anything, which is a big reason that I’ve been spending more time in the courant library recently.

Speaking of my website, the design/development process is going well. The method I had been using to retrieve a Twitter feed via the Twitter API wasn’t working under Ubuntu, so I figured I’d at least attempt to make that better. As it turns out, I’m able to use a very similar method to the one described yesterday to get the tweet data from an RSS feed. Also, I’ve added some cool-looking stylistic elements to the homepage design, and given the header (my name) the Double Dragon treatment, which I was able to do with a font I found here and a bit of Gimping.

Also, my roommate gave me his GameBoy Pocket today! The stars have aligned in my favor! I was just starting to think about buying one, and then this happens. Seriously, that is awesome. I also picked up Street Fighter II Turbo yesterday, which is of course much harder than I remember it being. Ryu is quite annoying with the Haduoken.

PHP Howto: scrape an RSS feed

Posted on 29th March 2011 in Tutorials

Since I’m building my own homepage, I recently learned how to scrape an RSS feed in order to dynamically create content for a website. The idea is that I would have separate feeds from my twitter, tumblr, and this blog all in one place. The tumblr and twitter feeds are offered by those companies in the form of API calls, so using those two is very straightforward in both cases. When self-hosting a wordpress blog, though, as I do, there is no readymade option for a feed that one can just call and have ready to go. So I had to make my own.

An RSS feed is essentially just an XML markup document that browsers interpret and show you in some type of feed form. What I wanted to do with this document (which wordpress produces for me) is essentially the same as what the browser does with it when you click an RSS link – it parses the tags in the XML document and applies predefined visual styles to make the information accessible to humans.

PHP can perform this process quite simply, via the simplexml_load_file function, which provides a simple framework for parsing XML documents.


$feedUrl = 'http://emmettbutler.com/threestegosaurusmoon/?feed=rss2';
$ret = array();

// retrieve search results
if($xml = simplexml_load_file($feedUrl)) { //load xml file using simplexml
$result["item"] = $xml->xpath("/rss/channel/item"); //divide feed into array elements

foreach($result as $key => $attribute) {
$i=0;
foreach($attribute as $element) {
if($i < 3){
$ret[$i]['title'] = (string)$element->title; //assign the desired elements to array entries
$ret[$i]['timestamp'] = (string)$element->pubDate;
$ret[$i]['summary'] = (string)$element->description;
$ret[$i]['link'] = (string)$element->guid;
$i++;
}
}
}
}

After the initial call, this code examines each unit of the divided document and assigns the contents of certain tags to elements of the $ret array. For example, there is a line in each item of the feed that is denoted by the pubDate tag, which contains the date that a certain post was published. The line $ret[$i]['timestamp'] = (string)$element->pubDate; finds those tags and assigns their contents to the $ret array. Once this loop is complete, you’ll have an array full of all the pertinent data for your feed. You can loop through the array and print each element between the appropriate tags, style with a bit of CSS, and you have yourself a homemade and very professional-looking RSS feed widget on your website.

comments: 0 » tags: , , , , , , , ,

My Online Life Expands

Posted on 25th March 2011 in Something Daily

Today involved my first use of an API in any real capacity, as I used some websites I visit as examples of how to add Twitter and Tumblr feeds to a page. (By the way, I started a Tumblr.) It occurred to me today what I really want emmettbutler.com to be: ideally, it will be the hub of all aspects of my internet life. It’ll have this blog, my twitter, and my tumblr all represented in the form of feeds, as well as my resume, bio, and a gallery of stuff that I’ve made. In terms of these feeds I’m talking about, they’re surprisingly easy to implement – a lot more so than I expected. In the case of the tumblr feed, it’s actually just one javascript call that returns your ten most recent posts, and the twitter one is just two calls. Very nice. This is quite helpful in getting ready for the HackNY hackathon on April 9th, as I was looking for an excuse to learn practical applications of APIs like these (who am I kidding…I really don’t need an excuse). But to make a long story short here, as of today I’m starting to pick up steam on this personal website project. Also everything that I previously had on my roommate’s web host is now here on my own, so it’s certainly a good thing that I don’t have to keep directing people to emmett.ericsluyter.com. That was a little embarrassing. Not really though.

I once again haven’t really had a time since Tuesday in which I wasn’t doing anything productive, and that is continuing, as I’ve been either web designing, writing html, drawing a triceratops with aviators, or doing studio maintenance all day today, and I plan to continue this at work until I go to bed tonight. I will eventually burn myself out and be forced to take a break, probably. I’ll just watch a few more episodes of Dragon Ball Z. I’m going to see Eric’s show tomorrow at Gallatin, which should be super rad (and also something that’s not ‘work’).

Why are we addicted to social networks?

Posted on 22nd March 2011 in Something Daily

I had a facebook account for about two and a half years, a time during which I used it, as many of my friends did, for the bulk of my social planning and interaction. For a while, mainly in mid-high school, I accepted it as the status quo of social life.

The reason I originally stopped using Facebook, back in October, was that I felt like it was becoming too much of an artificial world for me personally. That is, I started to notice that a lot of the social constructs it creates that were causing me anxiety were, in fact, totally artificial and unnecessary for my social life. Like I’d meet a cute girl in real life and then immediately be worried about how long I should wait to friend her on facebook, or why she hadn’t written on my wall yet, or something like that. Facebook was becoming way too much like real life, in the sense that its constructions were affecting me in a very real way.

I understand that the type of issues that I mentioned aren’t the fault of Facebook at all, but rather a result of the manner in which I was causing myself to experience it. They all stem from some deeper issue with me, I’m sure, but I noticed that a convenient way to get rid of that issue was to just delete my facebook. So that’s why I don’t have one anymore.

It just occurred to me that I would be a decent subject for a study on what happens to a mildly social internet person when you take away his facebook. Going in, in October, my first thought before actually doing it was that I would be completely free of the restricting online atmosphere I found myself in, that suddenly cutting my lifeline to my social network would cause me to happily revert to the use of phones and email to do my socializing. This was initially the case after I went through with the deletion, but, predictably, it lasted for about five days. That was how long it took me to realize that I needed some kind of online presence (for what reason I don’t know) and to set up this very blog. Also, about two weeks after that, I registered on Twitter. It would seem that, although I fully expected at the outset to be more or less content with no internet life, that ended up being very far from the truth.

The week of no social networks and my continuing lack of a facebook have both helped me appreciate telephony more than I ever had before, both for its convenience and its intimacy (compared to text-based internet communication), and this is a continuing process. Despite that, it seems that I was, for whatever reason, compelled to reassert my online identity hardly a week after ridding myself of it. The question on my mind now is why did I feel that need, and why am I now compelled to collect and hoard Twitter followers and blog readers, just as I hoarded facebook friends before? Is it a psychological issue that some segment of the population suffer from that causes us to seek the approval of people we don’t know? Quite possibly – I’m not at all ready to throw out that hypothesis. But what I’m more inclined to believe is that this issue is something that many (if not most) of my generation experiences. I don’t know, but I imagine it affects (or will soon start affecting) younger generations as well.

I feel like my generation (I’m lumping into that category people who were in middle or high school in 2004, the year that Facebook launched) have developed a compulsion to be connected to the world at all times, mostly through the internet. A lot of web companies started to blow up right around the time that socialization was becoming important to people my age, and the influence of organizations like Twitter, Facebook, YouTube, Myspace, Bandcamp, and Wikipedia is clearly visible by the impression they’ve left on our worldview. In a sense, these organizations have grown up with us. It’s uncommon these days to find a person between 17 and 25 who doesn’t have a facebook account, and even less common to find one who doesn’t use any social networking services. The point isn’t “check out how many people in this age group use these sites”, but really it’s “why do they all use them?” And that is a pretty good question.

Bit Into Rainbow

Posted on 19th March 2011 in Something Daily

I just made another…I don’t know what’s happening to me.

I spent a good amount of time today Twitter-stalking what I imagine to be a secret society of gif makers, but in reality is probably just a few people who know each other (I’m not willing to completely throw out the secret society idea though). I am currently going through a phase in which I like making things flash lots of colors. True “animation” is still beyond me, but maybe that will change sometime soon.

Today seems to be the last day of work on Spaceratops, which is a quite welcome thought. I’ve been working on this project for far too long, and it’s time for somebody to play it. Namely, you. I’ve decided that once it’s up, I will buy lunch for the first person who finishes all fifty waves. It’s pretty hard (actually even though I’m the one who made it (I can “see the matrix, if you will), I still haven’t gotten to the end), so it might take a little while. But you can do it, I know you can. Very soon. If not tomorrow, then it will be linked to by Monday. Playable in your very own browser. I know, contain yourself. I can’t wait either.

I also took some quite nasty spills at the chelsea skatepark this afternoon, as I was feeling particularly bold and attempted a lot of stuff that I hadn’t before. Specifically, jumping off of ramps and dropping onto them from above, both of which caused me some degree of pants-rippery and knee-skinning. I did, however, eventually succeed in the landing on the ramp part, so now I’m tentatively capable of jumping onto the small box from the ramp, riding it, and then dropping onto the ramp on the other side. I think the box is about a foot, maybe 18 inches tall. So this is an improvement. Of course, it didn’t come without some bruises.