Evan J Palmer's Blog

A blog about learning (code, improv, film and, anything else).

Month: December, 2013

[Chrome Extension] TPB IMDB Pirate Bay Seach Plugin

I wrote a Chrome Extension that adds a drop down list of the top five torrents to an IMDB page.

Image

Check it out here:

https://chrome.google.com/webstore/detail/tpb-imdb-pirate-bay-searc/balopjhbkeaphbdgegdgeckdjhoaencd?hl=en

The links are ordered by seeders, so what ever has the most seeders will be at position one and the least at position five.

You can see how big the file is too, so that’s handy.

Image

Take a look at a movie page, an artist page, a list page and a TV series page. The links are on there too!

I think this plug in covers the majority of cases, but I plan to add a preference page, so we can do things like exclude pron, have more items in the drop down list or optionally use theĀ http://bayproxy.me/. Stuff like that.

I also have plans to hook this into Wikipedia, and Rotten Tomatoes, Google etc. Any movie page I can think of.

If you’d like to help with any of that, send me a pull request!

Initial Thoughts on Hot Desking

whoooooooooo-oooo-ooooo your desk is on fire

I’ve recently started working a company that “Hot desks” – that’s when you don’t have a designated desk when you come in to work. Instead you can sit anywhere you like.

I’ve found a few pros and cons.

PROS
Desks are clean – you can’t leave your crap over them, which means you don’t have dirty mugs (or sensitive documents) sitting around everywhere.
If you come in early you can get a cool spot near a window or something
You can sit with your team members, or however it’s most convienient for you
Saves money for the company. If only 75% of people are in the office on any given day, they can save 25% on seating

CONS
When you’re new you dont know who anyone is
I’ve heard of people missing stuff (leaving stuff on their desk that’s gone missing)
It takes me longer to get set up in the morning
I’ve heard two (overly loud) arguments regarding someone sitting in someone else’s spot both of which I found amusing, so could probably be a PRO too.
You can’t keep good personal things on your desk – like a pot plant or your cool drink bottle etc

Aspect Oriented Programming Sounds Scary

20u8wtc

When I started my new job a few days ago and was asked to learn Aspect Oriented Programming (AOP) I was scared. I thought it would be a big paradigm shift from Object Oriented Programming (OOP).

This is not true at all.

In a nutshell, all AOP is is creating attributes on Classes/Methods/Members/Events that help move common code out of the body of the method or class, helping to keep everything DRY and honoring the Single Responsibility Principle.

If you’ve written a custom attribute, you’ve done AOP*.

The meatier part of AOP is when you use a framework (like PostSharp). If you use a framework, the attributes have more knowledge of the caller. We can get arguments, return values and, method/class names (without costly reflection). We can even alter the flow of the method (or other) that was decorated with the attribute. We can also add compile-time options which don’t exist for regular custom attributes.

So to be 100% clear, as far as I can tell, AOP is a subset of OOP. You need to know how to program in OOP to be able to do AOP.

AOP cannot replace OOP – being a subset, AOP only does a subset of the work. It’s an idea for making you a better OOP developer.

AOP is not a difficult concept – and is pretty cool… and you’re already probably familiar with it if you’ve used/written attributes.

So relax. Have a beer. Don’t go in to work today. Why not watch a movie? Or old Jerry Springer episodes on YouTube?**

Also, stay tuned for more AOP stuff as I learn about it.

* I’m actually over simplyfying it here. I think technically, if you don’t have the cool shit that frameworks offer – like access to members, arguments, return values, compile-time overrirde- you’re probably not doing AOP. BUT the concept is so friggen similar, I’d argue little distinction needs to be made.

** Not actual advice. You should go to work.