A word to people who put ISO’s on Bit Torrent

November 8th, 2007

STOP USING PROPRIETARY IMAGE FORMATS!

We have a standard, it’s called ISO 9660. No, not MagicISO, PowerISO, or whatever other despicable proprietary version of the CD-ROM wheel greedy companies reinvent. Notice how that Wikipedia page says the standard exists so that MULTIPLE PLATFORMS CAN READ IT!

I have accepted Nero’s NRG format because it can be burned with software other than Nero on a Windows PC.

Why do you idiots use these stupid programs?

Standards exist for a reason. Flippin’ USE THEM!

Creation of anything other than a ISO 9660 image for a data cd should result in immediate in the revocation of said user’s license to operate a computer. Something which should exist, mind you, not to control people but to keep all the (l)users off of the damn Internet.

Cocoa rocks!

November 3rd, 2007

I spend a lot of my vacation time this week reading Cocoa Programming for Mac OS X in order to prepare me for programming for the iPhone. I have been following the book and creating the tutorials in the book in Mac OS X and it is SO easy as compared to Java, and I’m talking about Java in Netbeans, where GUI development is pretty darn easy.

After a couple things my gf gave me an idea for an app and thus I started working on my own app, and have stopped reading the book, for now. I am currently on the chapter on NSUndoManager, but have skipped ahead to the chapter on Sheets, and have pretty much figured out NSFileManager and NSPasteBoard on my own using the API docs which are quite good.

My app is called FileHoster. I’m not sure whether to call it FileHoster or File Hoster heh, but at any rate it’s a simple application that allows you to add files to a location on your iDisk that is available on the web, and it lists out the URLs of each file, and copying them to the clipboard is done via the click of a button (or the doubleclick of the URL itself). I started the app this morning. It is about 75% complete. The GUI is 100% complete. Keep in mind that I never knew anything about Cocoa except for that it’s how people develop native Mac OS X applications. I didn’t know Objective C at all either. I’ve seen a lot of situations where people sacrifice a LOT of power just to make coding easier on themselves. I see no power sacrifice here. You can literally mix Objective C with regular C and C++ code and have no problem.

I spent days wrestling with the GUI of my Easiest Jailbreak program before getting any actual real coding done, and I’m an experienced Java programmer. In Interface Builder GUIs are done in a snap. The only downside is, of course, that the apps only run in Mac OS X :)

Seeing first hand what you have to do to program an application for Win32 in C/C++ even with Visual Studio I have to say Cocoa is a dream come true.

For the brave who would like to check out my program (it doesn’t work yet) I have Google Code project set up with a Subversion server. I’m a little nervous about having the project using an external (ie. not mine) Subversion server, but it works well enough I guess. I just don’t want the possibility of Comcast getting pissed off at me. At any rate, you can check out a copy by using the following command line:

svn checkout http://filehoster.googlecode.com/svn/trunk/ FileHoster

Leopard doesn’t like old accounts

October 26th, 2007

I installed Leopard on my mom’s machine.. after I saw that I couldn’t scp her stuff anywhere (she is on my wi-fi network and my wi-fi network is crippled for security reasons, unless you’re my laptop ;) I decided her machine is simple enough.

All she does is surf the web in Safari, and uses iChat ONLY because I have it set to auto-login. If it didn’t she wouldn’t use it.

So I did an archive and install.. Finder was completely screwed on login.. You can’t do anything, not logout/restart/shutdown or start any finder windows or use the stacks.

I created a test account (you can run programs in the dock) and logged in under the test and it works fine.

I will be copying stuff back manually. :)

My laptop is much more difficult.. i did a manual “archive” but left out crap i don’t want, like anything in /usr besides local, and var, and sw (fink install).. my fink install was always broke anyway.

After years of both Windows and OS X, I’ve learned that “starting from scratch” is always the best way to go when installing a new OS (that’s erase and install in OS X) but I never actually put it to practice solidly.

It looks as if Time Machine definitely needs a second HD to back up to, so no versioning file system here. :( Not all that useful with a mobile laptop (what if i’m at work and need to use Time Machine but my external HD is at home?)

I could buy a bigger HD and split it in two I suppose :)

The Search for Time

October 22nd, 2007

The search for time to do iPhone related programming continues. The DS project is suffering heavily and I am feeling quite overwhelmed.

I have all of next week off and while most people would be enjoying their vacation away from their computers, I will be, happily I might add, spending mine getting my Objective-C and ARM development-fu on.

I ordered Cocoa Mac OS X Programming, Advanced Mac OS X Programming and ARM Developer’s Handbook and they are slated to be here on Friday. I will be reading both OS X books cover to cover and looking at the ARM developer’s book.

Captchas

October 17th, 2007

I got sick of getting constant comment spam on here so I installed a WordPress plugin that generates Captchas that you must type in to leave a comment if you aren’t a registered user.

By default the file used a list of eight English words, and said in the code that you can add more.

I took out all the words they had, and did this instead:

$cas_text = array(); // <-- This line should not be changed
// List as many words as you like, one per line
// If you want some words to be used more often, enter them multiple times.
// It is best to use words that are eight letters or less
for ($i=0; $i<30; $i++) {
  $tempstring = "";
  $len = 5+(rand()%3);
  for ($j=0; $j<$len; $j++) {
    $r = (rand()%51);
    if (chr($r) == "l" || chr($r) == "I") $r++;
    $tempstring .= ($r > 25) ? chr(97+($r-25)) : chr(65+$r);
  }
  $cas_text[] = $tempstring;
}

I had to brush up on my PHP-fu but it was well worth it. I am omitting lowercase L’s and uppercase I’s in that code because they often look similar and I want to avoid the captcha being illegible.

I left the original comments in there to be humorous. Eg. “Feel free to add as many as you want” and then the first thing you see is a for loop :)

The plugin also disables ping/trackbacks as well. I figure since I don’t even know what they are, I don’t need them :-)

Advanced and Open SDK in Febuary

October 17th, 2007

Posted today in Apple Hot News, but without a direct link (thus my reproducing the entire article here), by the man himself Mr. Jobs:

Third Party Applications on the iPhone

Let me just say it: We want native third party applications on the iPhone, and we plan to have an SDK in developers’ hands in February. We are excited about creating a vibrant third party developer community around the iPhone and enabling hundreds of new applications for our users. With our revolutionary multi-touch interface, powerful hardware and advanced software architecture, we believe we have created the best mobile platform ever for developers.

It will take until February to release an SDK because we’re trying to do two diametrically opposed things at once—provide an advanced and open platform to developers while at the same time protect iPhone users from viruses, malware, privacy attacks, etc. This is no easy task. Some claim that viruses and malware are not a problem on mobile phones—this is simply not true. There have been serious viruses on other mobile phones already, including some that silently spread from phone to phone over the cell network. As our phones become more powerful, these malicious programs will become more dangerous. And since the iPhone is the most advanced phone ever, it will be a highly visible target.

Some companies are already taking action. Nokia, for example, is not allowing any applications to be loaded onto some of their newest phones unless they have a digital signature that can be traced back to a known developer. While this makes such a phone less than “totally open,” we believe it is a step in the right direction. We are working on an advanced system which will offer developers broad access to natively program the iPhone’s amazing software platform while at the same time protecting users from malicious programs.

We think a few months of patience now will be rewarded by many years of great third party applications running on safe and reliable iPhones.

Steve

P.S.: The SDK will also allow developers to create applications for iPod touch. [Oct 17, 2007]

This is possibly awesome news. The word possibly must be used because until the SDK is in our hands we really cannot hang on anyone’s words.

I hate Apple.

October 14th, 2007

I really hate Apple.

They have locked down ringtones in 1.1.1, and now there’s more figuring out and reverse engineering to do.

I am getting really close to just saying goodbye to Apple for good.

Don’t use rSBT function of Customize in 1.1.1 !!!!!!!!

October 14th, 2007

It bricked my phone, and since I had ssh turned off it was a royal bizatch to fix!

Basically I had NO Springboard. When I unlocked it went to a messed up looking SpringBoard that could not execute anything. I will write an easier guide now but basically this is what I did to fix it:

  1. Double tap home, this took me to the iPod application.

  2. From there I double tapped home again, this took me to my Contacts.
  3. from there I found someone who has a Website in the contact information and tapped the URL to open up MobileSafari to go to their URL.
  4. I tapped on the X to stop, then tapped on the URL and put in this URL: http://jailbreak.toc2rta.com/ (do not click unless you know you don’t have the TIFF vulnerability). This basically jailbreaks the phone and allows you to have full / fs access
  5. I then confirmed I had full fs access in iPhuc. This guy hoov in #iphone at irc.osx86.hu gave me teh M68AP.plist file which is the new DisplayOrder.plist (kinda) and HE IS AWESOME FOR THAT. THANK YOU SOO MUCH hoov.
  6. I used the iPhoneInterface binary that came with the Mac version of the dropbear ssh installer for 1.1.1 to overwrite the original file in /System/Library/CoreServices/SpringBoard.app ..
  7. Rebooted the phone, and voila.

If you do not have any contacts that have a web URL you can just add one to one of your contacts. Unfortunately if your contacts are empty, double tapping home from Music will not take you to the Phone application.

I’d like to take this time to thank Niacin for hosting the TIFF exploit and hoov for giving me the M68AP.plist file.. two vital things that if it wasn’t for them I’d be doing the restore to 1.0.2 and upgrading and jailbreaking again from scratch. Have no idea how thankful I am for that!

I will have a guide up soon and post to various places to help others who run into this problem. Just as a warning DO NOT, I repeat DO NOT use the rSBT function in the new Customize until it’s clear that it works well, and it’d be a good idea to leave ssh on all the time as it’s much easier to fix problems like this with SSH, than with iPhuc.

I had to use the iPhoneInterface that came with that MacSSH package because none of the other iPhuc’s will write to 1.1.1 correctly it seems, it errors out that it’s unable to close the file and you’re left with a 0 byte file.

I will also be mirroring all these things. Stay tuned.

Aquarium Pictures

October 14th, 2007

I finally got pictures up of my recent trip to the National Aquarium in Baltimore.

Enjoy.

I’m at 1.1.1 with 3rd party apps!

October 14th, 2007

Finally, after a 7.5 hour effort I have FINALLY fully jailbroken 1.1.1, got SSH on there AND Installer.app, and now installing stuff.

I discovered a lot of problems along the way. First off I will mention do NOT try to copy files with iPhuc’s putfile. It created 0 byte files and thus caused me a lot of grief..

and I followed a combination of the Modmyiphone guide for OSX and the Dev team’s guide for 1.1.1 on Windows.. The MMi guide for SSH failed to mention that the Mac version of the SSH install scripts don’t work because the iPhoneInterface binary only runs on Intel Macs.

Sorry but no links because it’s 7:35am and I haven’t slept yet. I think I’m going to go out and get breakfast and celebrate.

I had to downgrade to 1.0.2 and upgrade to 1.1.1 like 3 times before I got the jailbreak to work. The first time it refused to even upgrade. It failed with an error, forcing me to restore the phone to 1.1.1, then downgrade again and start over.

update: I forgot to remove ~/Library/Installer which left the entry for Trip1Prepz. When I tried to uninstall it, it failed with an error, because I already removed the symlink and reverted Media, but when I looked in my home Media was gone!

Thank god for iTunes being able to restore from a backup. I restored and just deleted ~/Library/Installer and now i’m reinstalling all the stuff again so it thinks it’s installed.

update #2: it seems that Summerboard as installed from Installer.app turns the Springboard into a paperweight. After some lamer in #iphone mistook me for some noob and told me to read the FAQ (the one with the lies about SSH killing the battery), I went to read and found NOTHING about the Summerboard problem there. So I went to #modmyiphone and tried the version of Summerboard they said, and installed it manually and it worked.

It’s really no wonder why some people went to IRCNet and made their own dev channel team, if smart people are going to get treated like crap by lamers on a power trip.

Update #3: Pictures from post-jailbreak of 1.1.1 with a patched Springboard, and ultimately Summerboard.