Apr 05 '11

Peel 2

Peel 2 web site

It’s been almost four years since Peel 1.0 was released and since then it has helped thousands of people discover new music. That’s why I’m both proud and excited to announce that Peel 2 is ready!

It’s a near-total rewrite, has a brand new interface, over 20 new features and is way faster. For more information regarding some of the biggest new features head over to getpeel.com.

Peel 2.0 is $24.95 for new users, $14.95 for Peel 1.0 users and $10 for people who bought Peel after February 3rd, 2011. You can download a trial that is fully functional for 7 days and it is smart enough to count only when it’s in use.

Last but not least, thanks for all of your support, ideas and suggestions. I can say with confidence that Peel 2 includes all of the most requested features. Also many thanks to my beta testers who have helped me find and squash hundreds of bugs and make Peel 2.0 the most stable release I’ve ever put out.

Enjoy!

May 22 '10

Mundi's Web Boutique

Mundi's Web Boutique

I just finished coding a website for my good friend Mundi. It’s fairly basic and done with Ruby on Rails. James Dickie took care of the jQuery javascript madness. Mundi designs wonderful clothes, you really should check it out.

Mar 24 '10

Retrieving iPhone Serial Numbers

I was recently asked to create a small application that would retrieve the serial number from a connected iPhone (or an iPod Touch for that matter). I thought it would be a trivial task until I realized that the UDID isn’t the same as the serial number. It didn’t take long to get the UDID from the device with IOKit but getting the serial number wasn’t an option. I told my client that it wasn’t ‘possible’, meaning it’s not possible unless you are willing to do some hacking and reverse engineering. However I usually don’t give up that easily so I started looking at the iPhone Configuration Utility from Apple and found out that it uses a framework called MobileConfigKit.framework. After poking around with class-dump I decided to try to use it in my own app. I was able to get it working by changing the @executable_path using install_name_tool and overwriting a few methods.

I would of course never ship an app using a private framework by Apple but since it was only for this particular client I didn’t feel too bad.

If anyone knows a better way to do this I’d love to hear about it and also if you’re interested I might be able give you some more hints.

Feb 27 '10

Peel 2.0 Beta 2

I just sent out an email to all my beta testers. Peel 2.0 is mostly feature complete so I’ll be focusing on fixing bugs and fine tuning it. Please use the feedback option in Peel to report bugs because otherwise they might go unnoticed.

Peel 2.0 Beta 2

If you applied for beta testing and didn’t receive an email please let me know.

Hope you like it!

Feb 18 '10

The New Platform of Choice

Regardless of people’s opinion on the App Store and the iPhone you can’t deny that it has had a huge impact on Mac development in general. When I started out roughly four years ago I was utterly frustrated when I found out how few people were doing Mac development. There were hardly any books (except for outdated ones) and very few good resources except for Apple’s own documentation.

Now however I see new books being published all the time and the internet is flooded with questions and answers about both Cocoa and Cocoa Touch development.

You can’t dislike that.

Feb 11 '10

Cleaning Up

When creating a game you are usually working with a lot of resources and often you’ll be using dummy resources until the illustrator or the sound guy finishes his assets. This is fine, but as time goes you might end up with a project full of unused crap that only takes up precious space in your final product.

Before we submitted our latest game, Soft Freak Fiesta, I went through the project and removed everything that wasn’t used anywhere in the game. I was able to reduce the size of the game from 27 MiB down to 16 MiB. As you can imagine this is not the most fun task to do not mentioning that you’ll be scared to death that you’re removing something that you really shouldn’t.

So as a lazy programmer I wrote a Ruby script that scans an Xcode project and tries to find those unused files.

The script is very basic and by no means something you should rely on but it should give you some pointers. Keep in mind that it does not scan your Nib/Xib files so if you’re using UIKit/AppKit it will output false positives for files that are only referenced from your nibs.

To use it you point it at your project file and it should spit out a list of all files that are included in the project but not referenced from any source file. At the moment it looks for wav, png, pvr and caf files and searches h, m, c and cpp source files but you can of course customize that.

If you improve it (e.g. to scan nibs as well) I’d love to hear about it.

Get it here.

Feb 05 '10

The Unsuccessful Cracker

I’ve been getting a few visitors through hiderefer.com lately. As a software developer I know what that means. Peel has most likely been cracked and is distributed through a website that routes every link through hiderefer.com or a similar site.

It’s no big news, Peel has been cracked before and I usually don’t waste my time looking into that. This time however I decided to disassemble the cracked version and see what had been changed. After collecting the data from otool I ran diff on both versions.

diff cracked original 
1c1
< /Users/hjaltij/Misc/Cracked/Peel.app/Contents/MacOS/Peel (architecture ppc):
---
> /Users/hjaltij/Misc/Original/Peel.app/Contents/MacOS/Peel (architecture ppc):
27066c27066
< 0001c754    bne    0x1c850
---
> 0001c754    beq    0x1c850
37227c37227
< /Users/hjaltij/Misc/Cracked/Peel.app/Contents/MacOS/Peel (architecture i386):
---
> /Users/hjaltij/Misc/Original/Peel.app/Contents/MacOS/Peel (architecture i386):
64993c64993
< 0001c2ec    jnel    0x0001c3e7
---
> 0001c2ec    jel    0x0001c3e7

That’s not much, only two changes and since Peel is a universal binary it’s just one line for each architecture. I’m no assembly expert but it doesn’t take much to see that a condition has been changed so it evaluates to the opposite of the original. I took a look at the method in Xcode and saw that it wasn’t actually doing anything critical. Instead the method checks if there is any license information in the user’s preferences file and reads it if so. So by inverting these conditions the cracker did not bypass the copy protection but instead made it so that if the user decides to buy a license he will have to enter it every time the application starts.

I’ve always thought that you shouldn’t spend too much time on copy protection because it will eventually be broken but it might be worth the while to see what the cracker did even if it’s only for a good laugh.

Feb 05 '10

My Favorite MP3-blogs

I frequently get asked what mp3-blogs I follow so I thought I should make a list of some of my favorite blogs.

These are the blogs I have in my Peel at the moment and recommend:

Feb 03 '10

Hiccups

I’m in the middle of changing the blog’s layout right now so don’t be surprised if you see broken images or other elements in awkward places. It should be finished in the next days.

Jan 18 '10

Peel in Maclife

I recently spotted Peel on the front page of Maclife. It’s featured in an article about 50 killer applications for under $50. It’s always pleasant to see your work featured and it really inspires me to work harder on version 2.0.

Speaking of version 2.0, I’m getting Beta 2 ready and I’ll soon send out an email to those who applied for beta testing.

Dec 16 '09

Soft Freak Fiesta

I’ve been quite busy working on our latest game. It’s called Soft Freak Fiesta and is a multiplayer game for the iPhone/iPod Touch. It’s out now and you can get it for free if you act quick.

Soft Freak Fiesta on the App Store

Jun 16 '09

Back from WWDC

I’m back from San Francisco after getting my brain stuffed with so much material that it almost hurts. The conference was great and the people I met aswell but the food sucked (as expected). What I learned is that don’t hesitate to skip sessions for labs. The problem with the sessions was that they were often either too basic or too advanced.

Some sessions marked as ‘intermediate’ should have been filed under ‘beginner’ but I tried to leave those as soon as I got the idea of the material covered. On the other hand, the expert sessions were sometimes so hardcore that the engineers had to rush through the material to get everything done in time. I wouldn’t mind having some of those sessions a bit longer and at a decent pace.

However the labs rocked! Apple engineers are very, very nice people, both patient and willing to help. Talking to the person who made the stuff you are dealing with is invaluable.

Overall, I would highly recommend going to WWDC for any serious developer. Also, you are guaranteed to meet other like minded people, which is both useful and fun.

May 01 '09

WWDC '09

I’ll be attending WWDC for the first time this year, sucking in as much as I can in five days. It’s going to be a blast for sure. I haven’t decided what to see yet but at a quick glance it seems to be packed with both sessions and labs. If you are going aswell please leave me a comment, I’d love to meet up.

Sources tell me it sold out faster than ever and I’m guessing that the iPhone is playing a big role this year.

Apr 15 '09

Peel 2.0 Private Beta

Peel 2.0 has been in development for a while and I’m now ready to seed out a beta version.

If you would like to be involved in the beta testing process please send me a short email with the following info:

  • Your name, email and your twitter name (if you are following peelapp)
  • If you’ve used Peel before
  • How comfortable you are with geeky stuff
  • If you are a musician, mp3 blogger, journalist, developer etc
  • Anything else you think is relevant

If you are not comfortable answering some of these questions don’t panic, just ignore them. It will however help me a lot when going through the bug reports and suggestions.

Still interested? Email me at hjalti@hjaltijakobsson.com

Thank you.

Mar 10 '09

Peel on Twitter

I just created a Twitter account for Peel so if you want to get all the details on how Peel 2.0 is coming along, start following here:

http://twitter.com/peelapp

Please don’t hesitate to reply with your suggestions.

- H

Ps. You can also follow my personal account here:

http://twitter.com/hjaltij