The Kevin Dolan » facebook http://thekevindolan.com Putting the Kev in Dolan since 2009! Sun, 15 Aug 2010 00:40:56 +0000 en hourly 1 http://wordpress.org/?v=3.0 Macro-Like Facebook GreaseMonkey Script http://thekevindolan.com/2010/02/macro-like/ http://thekevindolan.com/2010/02/macro-like/#comments Sun, 07 Feb 2010 21:44:10 +0000 Kevin http://thekevindolan.com/?p=717 mattdamon

Are you tired of micro-managing your likes?  We all know that a well-placed like on Facebook can be hilarious. But clicking like over and over is so difficult! Now you can just like everything with one easy click…

This is a GreaseMonkey script for clicking like on all stories on a page.  It works on any Facebook page.

If you don’t have GreaseMonkey installed, you can find instructions from my blog on the Twitter Follow All script.

Once you have it installed, you can install my Macro-Like script by clicking install!

Now go get liking!

]]>
http://thekevindolan.com/2010/02/macro-like/feed/ 0
Code Minimaraton: Facebook Dislike Button http://thekevindolan.com/2009/08/code-minimaraton/ http://thekevindolan.com/2009/08/code-minimaraton/#comments Mon, 10 Aug 2009 19:35:03 +0000 Kevin http://thekevindolan.com/?p=538 thumbs-down

So here I am, sitting by my computer at 2:30 AM and I’m wondering if I should go to bed, or just keep on working.  Of course I’m going to finish the Facebook Dislike Button tonight…

I’ve been thinking of doing a couple Code Marathons before school starts, and that time is quickly approaching, so I figured I’d just ease into it with the Facebook Dislike Button.  The idea is simple, just stay up and work on a project until it’s done.  Drink lots of coffee and listen to only the most energetic music you can find.  Every now and again, stop for a coffee break, and blog about your progress.  Here goes nothing.

2:40 am (t+6:40): Listening to The MixTape About Nothing by Wale.

I’ve been working on the Facebook Dislike Button since about 8:00 pm.  It’s my first ever Firefox addon, so there was a pretty solid learning curve for that, but I think I’ve got everything down.  This whole project is, at this point, evidently doable.

So far, I’ve researched the Facebook DOM enough to know how to play with it and add the dislike buttons/notices.  The immediate next step is to learn how to use the Google App Engine and code the backend database.

The soothing sounds of Wale are pushing me slowly through the night as I sip my first cup of coffee.  Let’s rock and roll.

4:20 am (t+8:20): Listening to The Black Album by The Dandy Warhols

One of the things I really enjoy about programming is that there are always entirely new technologies to learn.  I’ve been wanting to learn a new way to program website backends for a long time now; php just isn’t doing it for me.  It’s a messy, disgusting language, and I want out.

I’ve always loved Java, ever since I first learned it.  When I recently discovered that there is a serious following for creating web apps in Java, I got excited.  I figured, I’d learn some day.  Well then just the other day, I learned that the Google App Engine has Java support, I nearly creamed my jeans.

So I created a Google App, which can be found at dislikebutton.appspot.com.  There’s nothing there at this point, but I made the account for it.  Eventually, this can be linked to a domain name, which I will do when I get $10, but for now, I’m piss-broke and can’t even afford to register it.  This will be the temporary home of this application.

Well anyways, over the past almost 2 hours, I’ve been hacking away, trying to figure out all this JSP, Java EE, blah blah blah nonsense, and I think I’ve finally got a grip on it.

I had to install the new version of Eclipse (I was two behind!) and the Google App Engine developer kit.  Then I went ahead and got a new JDK.  I’m not sure if that was necessary, but it felt right, because I couldn’t run javac.exe for some reason.  Even after installing the new JDK, there was no luck.  I finally caught a break when I adjusted my environment path variable to reflect the new JDK.

And now I’m in business, making JSP’s and integrating them with a solid Java backend.  Now I just have to learn a little more about the Google Datastore, and I can start working on the actual app.

6:00 am (t+10:00): Listening to Vaudeville Villain by Viktor Vaughn

Wow! I love Java, and I love programming web-application backends with Java.  I can’t believe I’ve been using PHP and mySQL all this time.  Though I suppose a scalable solution like the Google App Engine wasn’t available until just recently…

I haven’t made much progress since last time, in terms of actually coding the application, but I’ve learned how to use the DataStore and I have to say, I’m extremely impressed.  This stuff is all so easy.  I feel like from this point on in my life, my ability to be a prolific web-app developer has significantly increased.

Combined with the State Model, rapidly producing web apps is becoming more and more possible.  This is quite big.  I love where the internet and application development, in general, is heading.

Thank you Google for being so awesome!

My big issue up to this point was learning how to persist Java objects in the Google data store.  I ran into some errors trying to persist TreeMap’s, but after a lengthy, ugly dive into custom marshalling, I came out alive when I realized you can store any serializable object as a blob!

6:35 am (t+10:35): Listening to Wolfmother by Wolfmother

Man I love wolfmother.  Man I love Java.  Man I love Google.

Java web development is amazing, because suddenly, the entire internet can be put into Java code.  I don’t care what other people say, Java is, by far, the most elegant language I’ve run into.  I mean, I don’t have that much wide-ranging experience, but I’ve learned several languages, and quite frankly, nothing compares.

People have been trying to get me to learn Python, but I just don’t want to.  It seems like a waste of time, when I have Java.  I associate Python with Nisarg Kothari, so I have a prejudice.

What’s all the fuss about Java anyways?  Remind me to look that up later.

I’ve now mastered the Google datastore, and have completely implemented all interfacing to the database that I will need for the dislike button.  It’s rather simple, but now for the easy part: the communication object.  It’s go-time.

8:00 am (t+12:00): Listening to Absolution by Muse

Well it’s officially been half a day since I began this project, and I’m certainly making progress.  It was yet another battle, but I was able to get the application uploaded to Google’s server.

Strange thing was, I had to create this weird module thing, which I completely did not understand.  My solution was hacky at best, but it seems to be working.  Hopefully I will be better able to formalize that aspect of app creation in the future, because right now, it’s just weird!

Also, problems with Eclipse pointing at an older version of Java…

So the app is up online and now it’s just a matter of making it work…  Back to it!

11:00 am (t+15:00): Listening to This Is It And I Am It And You Are It by Marnie Stern

I can feel the exhaustion setting it.  It is now full-on daytime and I have still not slept.  Part of me wants to sleep, but I’m making so much progress.

I’ve overcome some incredible hurdles in the past three hours.  The biggest, most annoying issue had to do with getting the user’s facebook id and name.  You see, it’s in a variable that’s accessible to the DOM, but for some reason, I couldn’t figure out how to access it after about an hour of trying.  My end solution was to get the fbid from the cookie and the name from the link at the top of the page.

I also had some trouble with JSON syntax, and server responses in general, but there is now officially an interface between the server and the toolbar.  I have also coded what is necessary to display the dislike buttons and responses and blah blah blah.

2:30 pm (t+18:30): Listening to Censored Colors by Portugal. The Man

It’s 2:30 and I have finally completed coding the addon.  Oh what an epic journey it was, and oh how much I learned.  A lot of the things I did were rather HACK-ish, so I don’t know how well this extension will stand the test of time, but I will continue to test it over the next couple days before releasing it to the public.

Let me know if you want in on the beta-run.

My end-conclusion: It’s just as awesome, if not more awesome, that I expected it was going to be.

]]>
http://thekevindolan.com/2009/08/code-minimaraton/feed/ 6
Facebook Mass Friend Selector Greasemonkey Script http://thekevindolan.com/2009/08/facebook-mass/ http://thekevindolan.com/2009/08/facebook-mass/#comments Sat, 01 Aug 2009 23:38:15 +0000 Kevin http://thekevindolan.com/?p=341 spam

You probably remember my first experimentation with Greasemonkey, my Follow All on Page Script for Twitter. Well  I decided to approach another common problem with Greasemonkey… introducing my script to automatically select 200 of your friends at a time in Facebook.

Whenever we throw parties in Ithaca, it ends up being somebody’s (usually my) job to mass invite all of their friends on Facebook.  Because there is no select all button, this means manually clicking each and every name, which can get quite boring.

Also, you can only invite 200 people at a time!

What this script does is add a feature to allow you to select 200 friends at a time, automatically.  You can use it on any Facebook page with a friend selector for activities like sending messages, or whatever.  It’s incredibly useful.

I have to say, I am a huge fan of Greasemonkey.  I’m not going to show you how to install it again; for instructions, look at the Twitter script, or UserScripts.org.

Again, same agreement as last time, I will not support this script, but you are welcome to use it.  It works for me.

Instructions:

Make sure you have Greasemonkey installed.

Install my Facebook Mass Friend Selector Script.

Now whenever you are on Facebook, the MFS window will appear in the top left, as seen below:

step1

Whenever you find yourself on a page with a Friend Selector box, click the MFS window and voila! it will expand, as shown:

step2

You then have the option of clicking one of the numbered groups.  Clicking group #2 for instance, is identical to clicking friends 200-399, in a matter of a few seconds!  It will even toggle, so if you accidentally click Group #1 when you wanted Group #3, you can click Group #1 again to unselect the group!

Again, your welcome.

]]>
http://thekevindolan.com/2009/08/facebook-mass/feed/ 13