Fan Boys & Haters, Seriously?
by Jim Myhrberg – tags: ,

Fan Boys and Haters have been equally annoying me as of late. The most common claim is that their favorite company is good, while all others are evil. This is simply bullshit.

Companies are not good or evil. They are simply companies. They are here to make a profit at the end of the day, and to that means, they'll do things their customers, rivals, and the rest of world likes, and things they don't like.

Apple has gotten a lot of media attention the past two years thanks to their app approval process for the App Store. Most recently, they're getting a lot of attention for locking out all advertising platforms aside from their own iAds platform from the App Store.

Microsoft was working with IBM in late 80s to develop IBM's PS/2 operating system as the OS of the future. After it had shifted it's internal focus to Windows, it kept face with IBM, and kept pushing 3rd party developers to port their existing DOS applications to PS/2. Windows became a huge hit, PS/2 was abandoned, and a whole industry of software development houses had spent months to years porting their applications to PS/2. The result was, that nobody had anything ready for Windows, except Microsoft, who's office package displaced all 3rd party products with their own for Windows, making it an industry standard, as there simply was no other package available.

In more recent years, Microsoft created it's Windows Media-based PlaysForSure™ standard for portable music players, and got the whole industry (except Apple) to adopt the standard. Little than a year later, Microsoft releases it's own portable music player — the Zune — which is not compatible with PlaysForSure™ devices, but uses a new Zune-specific DRM standard. In the mist of this, all the PlaysForSure™ partners were left hanging with a standard abandoned by the company that created it and owned the rights to it.

Even Google, with their "Don't be evil" corporate motto don't get away without stains. It was recently revealed that Google's Street View cars have accidentally been collecting payload data from all open wifi networks they drive by, all over the world. On an unencrypted network all your emails, webpages you visit, chats, and more are transmitted over the air in plain text. This plain text data is what Google has been collecting and storing for the past three years, accidentally. This is one of biggest and worst invasions of privacy I've seen in a long time at least.

Companies do bad, and even evil things, but they also do good things. Neither of this makes a company good or evil in my opinion though. They are just companies, so stop treating them as people, religions, or any kind of entity that has the ability to be good or evil.

I tend to get labeled as an Apple fan boy, and a Microsoft/Google hater a lot. The reasons for it are mainly valid all things considered, but they're still wrong. The reasons being that I'm a Mac and an iPhone user. And I love both devices/platforms. In all honesty, I do hate Windows, as it's only ever really been a major pain in my ass, specially back when I was a Windows user and still to this day as I'm always the one everybody comes with when their PC breaks for any reason. That said, I actually do like Windows 7, but could it replace Mac OS X for me? No way. Could an Android phone completely replace my iPhone? No way. It's close, it's the 2nd best thing next to the iPhone, but still no.

I don't care what companies do, what their policies are, or even how stupid or intelligent their CEO is. What I care about is the product, the experience it offers, and how well it fits what I want, need and like.

I use a Mac, cause it's the perfect world between the commercial application availability of Windows, and the open source UNIX sub-system of Linux/UNIX systems. I use an iPhone cause of it's easy of use, it's wide selection of apps, it's unix sub-system available after Jailbreaking, and cause of how well it integrates with everything from my music library, photos, contacts, password managers and more.

To summarize what I'm saying:

I don't give a shit about the companies and their policies. I only care about my own personal experience with the products.

To point out how serious I am about this, in the spring of 2004 when I bought my first Mac, and I seriously hated Microsoft and Windows after having more problems with my PC thanks to Windows than I can count. Guess what mouse I bought for my brand new €2800 PowerBook G4. A Microsoft Optical Notebook Mouse. It was simply the nicest, and best mouse for what I needed and wanted. In the autumn of the same year, I bought an Xbox as well, and I loved it.

I hated Microsoft for all the problems and headaches I'd gotten thanks to Windows, but at the very same time I'd bought a cheap and an expensive Microsoft product, and I loved them both.

The same goes for the more recent "war" between iPhone and Android users. I actually own an HTC Magic, and I use it quite a lot — in fact, it's the phone I have in my pocket right now — but not as much as my 2G iPhone. Despite my iPhone's wifi being broken, I still generally prefer the iPhone cause of the experience and integration it offers me compared to the Android phone. Do I care about Apple's policies regarding iAds? Do I care about Google collecting payload data from open wifi networks? No and no. If the product is superior than all others for my needs, I'll use it.

So please, next time you come and tell me that you refuse to use ______ company's products cause they're evil, or you think their policies suck, or you think I'm a blind stupid fool cause I use ______ company's products, just shut the fuck up. I'm not interested, and I don't care.

Thanks for reading my quick little rant.

{insert picture of a unicorn caring for a cute little kitten here}

Comments

Get YouTube Video Bookmarklet
by Jim Myhrberg – tags: , ,

There's a few ways to download videos off of YouTube, my favorite is using a bookmarklet which injects a link onto the page to download the MP4 version of the video. The best of these bookmarklets was by someone over at the Google System Blog, it was well maintained and all. Unfortunately, the post about their bookmarklet has been deleted, and as such, it hasn't been updated for the new video page layout YouTube switched to a few weeks back.

I took it upon myself to update the last version the GSB guys posted to work with the new layout, and it turned out to be dead simple. So without further ado, here's the bookmarklet:

Get YouTube Video

To install the bookmarklet, simply drag the above link to your browsers bookmarks bar. To use it, simply open a YouTube video page and click the bookmarklet. You will get a link right above the "Like" button underneath the video saying "Download as MP4". Simply right click on the link and select "Save link as..." or however your browser of choice is wording it.

I'll try to keep the above bookmarklet up to date as often as I can, or notice that I can't download videos anymore myself. So check back here if your bookmarklet stops working.

Comments

My Life, 2010 And Beyond...
by Jim Myhrberg – tags:

We're 4 months into this year, and somehow I've already got more stories to tell from this year than 2009. And 2009 was a pretty eventful year with me spending a week in London speaking at the Erlang Factory conference, five weeks in Palo Alto as part of Facebook's fbFund seed fund, and finally quitting my job in November for many different reasons, one of which to pursue a freelance career.

Right Now

I'm sitting on the ferry on my way to Athens. I've been on the island of Ios for the past 2 weeks. I'm heading back to Athens to clean and organize my apartment as I'm gonna try to sublet it during the summer while I'm working on Ios. And I also have a few meetings regarding some freelance projects which are coming close to the end.

I'm going back to Ios for the summer and work for one of my best friends fixing computers, and managing his Internet Cafés. It's the same kind of work I did the last three summers I spent on Ios before I moved to Athens a year and a half ago. I've decided to do it cause for some reason I feel like a last summer on Ios might do me good, and cause work-wise I'll be in charge of and responsible for quite a few more things than I was last time. This means more money, and opportunity to learn new things.

I'll still be freelancing part-time while I'm working in the internet cafe in the evening, as all I do is just sit on my computer working, watching movies, or playing games.

I'm not all too sure how I really feel about spending the summer on Ios though. One of the biggest reasons I moved to Athens was to get off the island. Don't get me wrong, it's a beautiful and peaceful little Greek island, but for me, it almost served as a prison of sorts with so little things to do and no opportunities for much of anything, that I felt like I was going crazy for the last five of the twelve years I lived there. But I'm hoping it'll be a worthwhile experience on more than just the financial level this summer.

So Far This Year

Like I mentioned earlier, a lot as happened in the past four months. Among other things, my girlfriend of three and a half years is now my ex-girlfriend as of February 13th. I've had to deal with a bunch of seriously fucked up family issues. I'm starting my own company with two friends, and it's the first time serious effort is put into a project of my own. I've had to learn to manage both my time and my money a lot better since I started freelancing in November. I've become more social and outgoing. I've made some new friends, one of which I suspect will probably be one of my best friends till the very day I die. The list goes on...

And Beyond...

Despite the fact that a breakup is never really a good or positive thing, I now believe my breakup back in February has had a positive effect on me. It forced change into my life, and I was in need of change. Not that I knew it at the time though. Since then I've set out to change a number of things in my life, and most importantly, about myself. So far, it's been moderately successful.

One of the ideas I've been toying with the past few months, is to start looking for a job abroad for next year. Like in San Francisco, Seattle, Boston, or London. I have friends in all four cities, so finding work and a place to live would hopefully not be too difficult.

San Francisco is currently the most tempting the place, and the more I think about it, the more I wanna go for it. The US with their gun craziness and such has never really been that tempting. But the tech community in the bay area is simply fantastic. And San Francisco as a city is also quite amazing and unique compared to other places I've seen.

Last night a friend of mine who lives in San Francisco randomly dropped by my house on Ios while he was there for a few days. And we got talking about San Francisco the job opportunities I'd have there compared to Greece. It's a conversation that I believe has turned my loose thoughts about moving, into serious consideration.

There's not that much state of the art technology advancements going on in Greece. Most of tech-related jobs available here are generic grind work. Build another site for another client based on template X, *yawn*. Sure, there are jobs where you get to work on interesting and new technologies, but the pay is still between almost to utterly insulting.

I've been offered €850 per month for jobs which I was beyond overqualified for, and €1,100 for a lead-developer position within a highly successful digital media design and development firm. I turned both those jobs down, and others too. And just to be clear, I don't mean anything bad about these companies or people. They're awesome and great people. I just get annoyed with how low the average and even the "good" salaries are here in Greece, and have been for many many years way before the recent financial chaos started here.

For these reasons, and more personal reasons, the thought of moving to say, San Francisco, is really starting to grow on me. I want change, I wanna see a different culture, be somewhere else, do something interesting, hopefully even something which I truly love doing. If I'll go through with these thoughts though, I don't know. This summer and autumn a lot of things will be happening. I'll see how things go with the new company and project we're starting. How things go with a few other projects I'm working on. And how I feel after the summer and towards the end of the year.

However, I do believe I'm gonna start asking around for work. Even if it's for next year, I'm hoping to get enough feedback (and maybe even job offers) so I can get a good idea of what I'd be looking at if I decide to go for it.

Comments

LiteMySQL: ActiveRecord's Little Brother
by Jim Myhrberg – tags: , , ,

Ever needed a quick and lightweight MySQL PHP library for some small single/multi page project? Pulling out a full ORM is just overkill, but writing the PHP code needed to connect to the server, run a query, and process the results is a lot of hassle? I thought so. I've been there too.

So what if you could do something like this:

<?php
$sql = new litemysql('host', 'username', 'password', 'testdb', 'books');
$books = $sql->find_all(array("author" => "John Twelve Hawks"));
?>

Rather than something like this:

<?php
$db = mysql_connect("host", "username", "password");
if (!$db) die("Could not connect: " . mysql_error());
$db_selected = mysql_select_db("testdb", $link);
if (!$db_selected) die("Can't use testdb : " . mysql_error());
$result = mysql_query("SELECT * FROM `books` WHERE `author` = 'John Twelve Hawks';");
$books = array();
while ($row = mysql_fetch_assoc($result)) {
    $books[] = $row;
}
?>

About two years ago, I found myself in need of just such a small, lightweight library. There were full ORMs like ADOdb and others available, but they were serious overkill for the kind of simple stuff I needed. After some googling, I noticed there didn't seem to be any in-between libraries. Either you had to go for a whole jumbo jet, or start folding your own paper airplanes, and I didn't like either option. I just wanted to grab existing paper airplanes, and start throwing them in the direction I needed them to go.

So in true geek fashion when you want something ready-made to make your life easy, I ended up building my own such library. Spending an order of magnitude more time on the MySQL connection part of the project than I would have needed if I'd just done it the ugly way as the second code example above.

And that's how I started building LiteMySQL. Rather than building it from the ground up though, I started by lifting the essential parts from the full ORM/ActiveRecord implementation I'd written for Zynapse, and mainly just wrote glue-code to make it a feature-complete library.

After close to a year of being ignored, I recently spent an afternoon fixing some long-standing bugs, migrating to GitHub, and writing some decent documentation for the project.

You can read more, and download the library here.

Comments

Seriously?
by Jim Myhrberg – tags: ,

Here I am, on a small little island in the middle of nowhere, a 9 hour ferry trip from Athens. There are no ferries for another 24 hours, and I've got an eye exam in 12 hours, which I've waited for the past two months.

I was supposed to travel back to Athens this afternoon, but yesterday morning the communist party in Greece initiated a ferry strike, stopping all ferries in and out of Piraeus as far as I've understood. And only for two days, the second day being the one I was supposed to travel on.

To top it off, I was calling the hospital repeatedly this morning for about 3 hours to try to reschedule my appointment, and all I got was either a busy tone, or no answer at all, on all their phone numbers. If I ever do get hold of anyone there, I'll probably need to wait six months this time instead of two considering how my luck is going.

As I was writing the previous paragraph my sister called me, with news of a rumor that there's no ferries scheduled to the island till June. Not so sure I believe it, but I doubt it'd surprise me that much at this point... lol

FML :D

Comments

How Are You?
by Jim Myhrberg – tags: , ,

*** Initializing analytics system.
*** Initializing health check sub-system.
*** Booting health check sensors.
*** Running physical health checks.
[Warning] Optical subsystem initialized with errors:
[Error] Focal systems out of optimal range.
*** Running psychological health checks.
[Error] Corrupt system file: human-to-human-communication.dylib
[Warning] H2H protocol daemon is reporting malformed I/O.
*** Running humor health checks.
[Error] Syntax error in humor.conf.
*** Running spiritual health checks.
[Error] Spirit is corrupt or missing, attempting to use system default.
[Error] Default system spirit is missing.
[Error] No usable spirit found, system entering zombie mode.
*** Finalizing health checks.
*** System status: CRITICAL
*** Status summary: Visually impaired anti-social Zombie with
                    corrupt sense of humor.

This was originally a response I wrote to some chick I don't know who messaged me out of the blue asking "how are you?". After sending it, I thought it was funny enough to post here... lol

Comments

Zynapse Is Out
by Jim Myhrberg – tags: , , ,

So I finally bit off my own sense of perfection in regards to my Zynapse web-development framework for PHP5 which I started developing in 2007. It was never perfect, never ready, so I never released.

Now after close to two years of hardly working on it, and doing most things with Ruby on Rails, I've decided to push it up on GitHub as is.

So check out Zynapse on GitHub if you're interested.

Comments

Built-in Sudo for Ruby Command-Line Tools
by Jim Myhrberg – tags: , , ,

I was looking through my gists today on GitHub, and decided I'd do a couple of posts on some of the pieces of code I've put up there. The first of which is the sudome Ruby method.

Ever written a command-line tool in Ruby that requires root access for one reason or another? The simplest way to achieve this is to have the end user call the command via sudo. It's not the most elegant solution there is, but it works.

A more elegant solution might be what the Fink Project is doing with their fink command. It doesn't need to be run via sudo, as it calls it within itself. Meaning that when you run fink, you'll be prompted to type your password, just as if you had used sudo. Some might argue that this is not good practice, and they are probably right. But it all depends on the details of what you're doing.

A while back I was working on something which the best solution was to make sure the tool always runs as root. To get identical functionality as Fink, I wrote the very simple method shown below:

def sudome
  if ENV["USER"] != "root"
    exec("sudo #{ENV['_']} #{ARGV.join(' ')}")
  end
end

Simply call sudome as early as possible in your code. If needed it will re-run your script with sudo, requiring the user to type his password, at which point your script then has full root access to the system.

» Original Gist on GitHub

Comments

← older archive
rss