iPhone 4 vs. Android 

Filed under: Uncategorized on Tuesday, June 8th, 2010 by Shon | No Comments

The forums are wild with this topic. I read a few of the posts. Interesting arguments. It’s great to see the frenzy that a rivalry brings. It’s great to see the passion of the Android community. We are porting my game, Dark Nova to Android. As a development platform, Android seems to be a great bet and it may ultimately be the larger market but I have no desire to use one as my personal device.

iPhone is all about the experience. The style. That’s Apple in a nutshell. It’s not always about features. It is nice to have choices. I’m glad there is a choice. For me, it’s iPhone 4 because I’m a sucker for that experience and style. It’s beautiful and it works well. I don’t care to run MySQL (in the background) on my mobile device. I just want the best possible phone/information device experience. For my money that’s iPhone. It’s like comparing a Corvette ZR1 with a Ferarri. The Vette is cheaper AND faster around the track, but the Ferrari is a Ferrari…

Thoughts on piracy… 

Filed under: Uncategorized on Monday, May 31st, 2010 by Shon | No Comments

Things come full circle. Here’s the game I developed, Dark Nova on a Warez board. I just found this while searching for our android code repo… a simple link on how you can download and install my game for free.

My game is only 3 bucks. Yet, people are out making an effort to pirate it. What’s funny is that this doesn’t bother me in the least. It kind of makes me happy. ;)

As a kid, “Juarez” was a very close friend of mine. I started out in about 1986 with an Atari ST and a 1200bps modem and I quickly set out to find free software. At 12 I had no income and  a huge desire to collect and try as much software as possible. I spent countless hours finding warez BBSs that carried Atari ST stuff. And countless more getting access, trading software, and playing with my pirated software booty! I later ran several semi-popular warez BBSs including Burning Chrome ][ (801), The Turing Registry (714), and The Black Sun (714).

As I pirated I always said I wouldn’t care if I was on the other end. If I was the software developer and kids (or slovenly adults) were stealing from me, I’d be fine with it. I’m glad to say now that I’m on the other side, I don’t care. People are stealing from me. Getting my game for free and I don’t care.

Why? Because there will always be pirates and they actually help more than they hurt. A pirate spends an inordinate amount of time pirating. It’s sport. It’s clearly not about the $3 my game costs. But these pirates are enthusiasts as well. They want to play EVERY game, even if only once. They recommend games to people who don’t pirate, increasing your paying customers. It’s the long tail. Kids on the bleeding edge don’t pay. They even offer to help long tailers not pay. But in the end, people with more money than time (your actual customer) will pay.

Today, while I still maintain the skills to easily pirate iPhone games, I never do. It’s not worth it to me. I’m busy and have more money than time. It’s not that I can’t pirate, or that I am scared to pirate, I just don’t want the hassle. Pirating software is ALWAYS a hassle even for the most accomplished pirate. Most pirates eventually grow out of it and start paying for things they like either to earnestly support the artist/creator or simply to avoid the hassle.

This is why I hate invasive copy protection. It does nothing to stop the real pirates and it usually inconveniences the actual paying customer. The pirates are not your customer. They are your “social marketing” team.

iTunes broke my iPad -or- More Reasons Why I Hate iTunes 

Filed under: Uncategorized on Tuesday, May 18th, 2010 by Shon | No Comments

I’ve had an iPad for over a week. I’m enjoying it. I always avoid iTunes on all of my devices. But… I had a need to sync the iPad to load some photos. iTunes was, in theory, the “easiest” way to do this. iTunes did sync the photos. But it broke my iPad in the process.

In almost 2 weeks of heavy use I’d never seen a wifi problem with my iPad and didn’t even know one existed until I synced it with iTunes. BEWARE. Here’s the deets:

When I synced the iPad, iTunes starts to install every single app I’ve ever purchased/installed on my iPhone. This includes all of the apps I’ve deleted from my iphone. So I interrupt it and tell iTunes not to sync apps. iTunes then says it must remove ALL of the apps from my iPad. ALL. This is done as a retarded DRM measure and is one of the top reasons why I hate iTunes. This does nothing to prevent piracy but instead punishes the loyal paying customer, me.

Anyone who wants to pirate any app in the App Store and install it for FREE can simply jailbreak their device, go to http://thepiratebay.com and download and install every damned paid app in the app store. This is easy and is perpetrated constantly by those so inclined. Apple is behaving like every other FAILED organization who doesn’t understand security. In an attempt to mitigate (loss) risk they punish the innocent while doing nothing to stop the actual threat. For other similar examples see PC Game DRM or anything the TSA has ever done.

  1. I don’t want most iphone apps on my iPad
  2. I definerly don’t want apps I’ve deleted from my iPhone on my iPad or my iPhone.
  3. I DO want access to apps I have purchased for my iPhone on my iPad but I will install them through the app store without iTunes, thank you.
  4. I DO NOT want to hav to select from the 500+ apps, which ones to sync.
  5. All I wanted really was for iTunes not the fuck with my apps at all. Just install the goddamned pictures!!!

Once I synced and let iTunes remove all of my apps, the iPad had the wifi bug. It still has it.

Apple has acknowledged a wifi problem with iPads. The symtoms vary but the iPad either drops the wifi connection, drops and forgets the password, or drops during lock/hibernate. Mine is doing the last and I suppose least irritating of these. Upon lock (and sitting for multiple minutes) it drops the wifi connection and must be manually reconnected in settings.

Nothing changed on my infrastructure. The iPad immedialty started losing wifi on sleep/lock after syncing. All other devices, including macs and iphones maintain a consistent wifi connection. This is not an issue with my router (WRT54G) this is an issue with the iPad firmware. This issue DID NOT appear until after iTunes molested my iPad.

I’ve been trying several things to get it back to normal. So far nothing has worked. I’ll post something if I fix it.

———–
FIXED!!!
———–

Changing iPad brightness fixed the problem. As indicated In the apple support doc referenced above. I still hate iTunes.

Ipad Review –hmmm… 

Filed under: Uncategorized on Friday, May 7th, 2010 by Shon | No Comments

With a lot of prodding from my buddy Scott, I broke down and bought a 16gb iPad. Part of the motivation is that we want to port Dark Nova to iPad. Also, I’m going on a trip and the idea of having something really light instead of my MBP 15 was attractive. But mainly I bought it because I wanted to check it out. See the new trend for myself.

The tablet has finally arrived after all these years. How many years? In 1992 I worked for a company that was building tablets for the military. 18 years ago I had one of these systems in my bedroom. The company was GRiD Systems and they had working production tablet computers based on the i486/33 I believe. They ran a tablet version of Windows 3.1. They were neat for the time but still sucked. This time it’s different.

Yes yes… the iPad is just a big iPhone. Now that I have one, I use the iPhone a lot less in the house. But…. I didn’t want to read books on my iPhone. It’s awesome as a pocket sized device but there are things which, simply due to size  it’s not well suited for.

Long story short, I believe this will take over for 80% of what we currently use desktops and laptops for. Plus it adds new applications and new opportunities for interaction and creativity that open up entirely new use cases.

PROS:

  • A new class of device that makes existing applications more enjoyable and opens up entirely new use cases.
  • Beautiful and sexy as we expect from Apple.
  • Battery Life is unbelievable. I’ve had it for 3 days using it a lot and it’s still running on the charge that it came with OUT OF THE BOX!
  • Books are great. Lot’s of free books in the iBook store from the Gutenberg Project. Currently reading Sherlock Holmes.

CONS

  • HEAVY. I’d gladly trade half the battery life for half the weight.
  • Awkward to hold, mainly because it’s heavy.
  • You’ll want iPad specific apps cause they are way cooler. So you will be buying more, possibly duplicate apps that are also more expensive.

Message to Apple: 

Filed under: Uncategorized on Wednesday, May 5th, 2010 by Shon | No Comments

Dear Apple,

iTunes sucks. It has always sucked. It sucks even more now that I have to use it regularly in order to use my iPhone and iPad. It has to be updated at least twice a month. It’s cumbersome and slow even on a fast machine. It’s antiquated. I hate it very much and always have. I used to bypass it and refuse to use it on my early ipods but you’ve been pushing it more and more. Connecting everything to it. Please stop.

Also, resource forks on network drives SUCKS as well.

Thanks,

-Shon

Auto generate speech files 

Filed under: Uncategorized on Wednesday, April 21st, 2010 by Shon | No Comments

Building the new version of Dark Nova required me to generate a lot of audio (aiff) files containing speech for varios commands and events. You can use the Mac’s built-in “say” command to do this automatically. I wrote a script to create an .aiff file for every phrase in a list of phrases. It works great and uses the default system voice as set in the System Preferences under Speech.

Here’s the simple script:

cat commands | while read LINE
do say "$LINE" -o "$LINE.aiff"
done

Dead Blog 

Filed under: Uncategorized on Friday, April 16th, 2010 by Shon | No Comments

Get this, I was editing my theme in the theme editor, going back and forth and BOOM!!!! Database connection error. This was NOT and DB connection error. The MySQL server was fine and nothing had changed. Looking at the DB via PHPmyAdmin and no overheard or anything. Repaired tables, nothing. still dead but the data looked good.

Of course if you google “wordpress database connection error” or any iteration of that you get a bunch of fools who don’t know how to config their blog and answers related to that. This wasn’t my problem. I knew it could connect because replacing the data with an old copy of the db via “mysql -p db <dbbackup brought it all back fine. Problem was I didn’t have a recent backup… despite my recent post on backing up databases :P . This blog fell into the lower priority que and therefore didn’t get scripted for backup on the new box.

ANYWAY the point is for those folks who may be getting a DB connection error from wordpress and know it’s not a DB connection problem, I recommend using PHPmyAdmin to export your posts and/or comments table from the current (corrupt) DB and importing them to a known good copy of the DB. You can do this on a table by table basis to get your good and current data into the structure of an old (but non-corrupt) copy of the DB. I just did this and now the blog is back. Of course you’d want to check the data first and make sure it’s there/good.

Cleaning up after your Mac or how to kill ._AppleDouble and .DS_store 

Filed under: Uncategorized on Tuesday, March 9th, 2010 by Shon | No Comments

I love my Mac but it’s not very “clean” when working on network shares. If you work in a heterogeneous environment and you connect your mac to network shares, people may complain about the Mac leaving what some folks call “mac dust”. Files like .ds_store and files that have ._ prepended to them with otherwise identical file names to actual usable files.

OS X does this and it sucks. During the creation of a file on a non-HFS+ filesystem the mac leaves this garbage. When other macs look at the drive they don’t display these files. When other computers (Windows) look at the drive they see all of this “dust” and it’s confusing because the garbage has the same filename as the real file prepended with “._”.

The .ds_store files are easy to get rid of. Fire up terminal on the mac and enter defaults write com.apple.desktopservices DSDontWriteNetworkStores true

The “resource forks” or _. or _.AppleDouble files are harder to get rid of and were the larger problem for me. I couldn’t find a way to tell the mac to stop this bad behavior. Nothing on the web for a defaults/plist solution like the .ds_store fix. Instead I’m running a cron job on the server to remove these. This is an inelegant solution but it works for me: find /your/directory/path -name ._* -exec rm '{}' ';'

Apple should really fix this if it wants to be accepted by the enterprise.

Howto Fix Webdav On Windows 7 64bit 

Filed under: Uncategorized on Thursday, March 4th, 2010 by Shon | No Comments

For the impatient, I’ll skip right to the solution. Use AuthDigest for authentication in your webdav server config. That’s the big issue with connecting. Windows won’t connect with Basic Auth. For more detail read on.

First let me say that I will be so happy when Microsoft finally flutters in to irrelevance. I use a Mac and have since OS X got decent. Webdav works great on the mac. “It just works…” just like the Mac commercials say.

However, some of the people that work at Wildcog use Windows. So like many, I beat my head against a wall trying to get Vista X64 and Windows 7 X64 to work with Webdav. If you’re running 32bit Windows 7 or Vista just get NetDrive and be done with it. It works like a champ.

For 64 Bit folks NetDrive doesn’t work. But I have good news, believe it or not Windows 7 actually can connect to Webdav. I have it working and will show you how in a sec. It’s not perfect but it does work through the Windows Explorer (and office apps) using nothing more than the built-in support (if you can call it that) in Windows.

My setup:

Webdav Server = Apache2 with Mod Dav on Debian (lenny).

Clients = Random Windows 7 machines (much to my chagrin).

The problem:

My main issue was that the windows box would throw the error “The folder you entered does not appear to be valid” when I tried any of the various methods of connecting or mapping the drive to the webdav resource.

The Fix:

  • Make sure  the WebClient Service is running and set to run automatically.
  • Configure your webdav server to use Digest Authentication. Windows 7 WILL NOT connect to webdav servers using Basic Authentication.
  • Verify that your webdav server with AuthDigest is good by using a known-good OS/Client such as Linux or a Mac.
  • On the windows machine go to Explorer\Computer and right click in empty space. Then select “Add a network location”. Now enter your normal webdav URL such as http://your.drive.com/yourfiles

That should be it. It’s worked for me on several machines now. Once you add the “network location” you can map drives to the network location or to the url (it suddenly works) and do other operations normally. You can also use the “net use” command in the shell which may have more interesting options for you.

Some folks have asked for my Apache config. Here’s the relevant bit:

ServerAdmin webmaster@yourdomain.com
ServerName webdav.yourdomain.com

DocumentRoot /www/somethingSecure

Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all

# Note Alias goes to our DocumentRoot.
Alias /webdav /webdav.yourdomain.com

# But we apply different settings

DAV On
AuthType digest
AuthName "webdav"
AuthDigestDomain /webdav http://webdav.yourdomain.com/webdav
AuthUserFile /www/auth/.yourdigest_password
#AuthDigestFile /www/webdav.yourdomain.com/digest-password --doesn't work
Require valid-user


Problems and issues:

So far this works ‘ok’ for me. A reboot seems to hose this setup. Although the “network location” still exists it doesn’t work. I haven’t had sufficient time to play with it and work out the kinds. There’s the /savecred and /persistent switches on the “net use” command that may be useful here.

  • A trailing slash “/” makes a difference on connecting via webdav. So “http://webdav.yourserver.com” is not the same as “http://webdav.yourserver.com/”. Try it both ways if you’re having trouble.
  • The Apache Authentication Digest documentation example says to use the “AuthDigestFile” directive to point to your password file. This does not work on Debain Lenny / Apache 2. You must use “AuthUserFile” as noted in the above example.

Other Possibilities:

In the event that you can’t change your authentication type you can try going the other way with a registry hack to allow basic authentication. This is for Vista. It may not work for 7. I have not tried it. Got it from here:

To work around this behavior, enable Basic authentication on the client computer. To do this, add the BasicAuthLevel registry entry to the following registry subkey, and then set the entry to a value of 2 or more:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
To enable Basic authentication on the client computer, follow these steps:
Click Start , type regedit in the Start Search box, and then click regedit.exe in the Programs list.
Locate and then click the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
On the Edit menu, point to New, and then click DWORD Value.
Type BasicAuthLevel, and then press ENTER.
On the Edit menu, click Modify.
In the Value data box, type 2, and then click OK.

Note The mapping is as follows:
0 - Basic authentication disabled
1 - Basic authentication enabled for SSL shares only
2 or greater - Basic authentication enabled for SSL shares and for non-SSL shares
Exit Registry Editor, and then restart the computer.

MS obviously hates webdav. It’s a big threat to them. And for a long time they’ve been abusing users in order to lock them in rather than focusing on making great products that people want to use. Other examples are:

  • Hotmail not allowing you to forward mail to a non-MS-owned mail service
  • Bing being the only search available in IE
  • Breaking compatibility with millions of smb devices in the name of security

For the record, digest based auth is better. And it’s good that they’re pushing a more secure solution. But it’s also clear that they just want to make it hard to use webdav. They post no information about the problem. If M$ made money on webdav you can bet your ass it would work or there would at least be a message saying “windows prevented you from connecting to this insecure server ” but no.

Webdav is great. It doesn’t rely on creaky layer two protocols like the antique M$ smb / lanman crap.

Hope this helps. It worked for me.

Free Cloud Based Database Backup Solution 

Filed under: Uncategorized on Tuesday, February 16th, 2010 by Shon | No Comments

This morning I altered my gmail based database backup script to allow for larger than 25 Megabyte databases. My previous solution worked great until my DB went over the gmail attachment limit of 25M.

This works great for me. I have a small 80m (uncompressed) database that I need to make nightly backups of. It may not for you. The idea here is to use gmail as a free cloud based backup solution. If you have  a multi-terrabyte database I hope you have enough money to pay for a fancy solution.

As I said, my DB is about 80M uncompressed or just over 25M compressed. Just over the gmail attachment limit for a single message. So to get the job done I need to dump the DB, compress it, and split the files in to < 25m chucks, then encode and mail to my gmail backup account.

I toyed around with “mpack” as a one command solution for splitting, encoding, and emailing the files but ran into problems when I tried to reassemble the file. mpack works great but when it splits and emails the files, the first file has MIME header info to make it appear as an attachment. The second or subsequent files are emailed as plain inline (encoded) text. I know mpack is used to send huge amounts of data to binary newsgroups but in my 15 minutes of screwing with it, I could not get it to add a MIME header to each part (email) of the file. “munpack” is supposed to read the mpacked files and do this for you but it could not work with the files that I produced. The mpack output was unacceptable as it required way to much by-hand processing to re-assemble the gzip. I still used mpack to email the files but i use “split” to break them up before mailing.

What sucks about my script? Everything except the fact that it currently works for me and will work until the database size doubles which should be a while. Specifically it’s not dynamic at all. The script assumes we’re breaking the database into just two files (50M limit). Also it has no logging or error handling. But hey, I’m not an SA nor a scripter. Just a guy who needs to back up his database. Here’s the script:

export d=`date +%F`
mkdir YourDBName.db.""$d""_backup
cd YourDBName.db."$d"_backup
mysqldump --opt -u YourDBusername --password=YourDBpassword YourDBName |gzip -f >YourDBName.db."$d".gz
split -b 20m YourDBName.db."$d".gz YourDBName.db."$d".gz_part_
mpack -s YourDBName.db."$d".gz YourDBName.db."$d".gz_part_aa YourBackupAccount@gmail.com
mpack -s YourDBName.db."$d".gz YourDBName.db."$d".gz_part_ab YourBackupAccount@gmail.com
cd /root
rm -Rf YourDBName.db."$d"_backup

That’s it. To restore the database just do this: Check your email. Download the attachments and combine them. I just use “cat attachment_ab>>attachment_aa” which appends the contents from the 2nd file (ab) to the first (aa). Then you end up with a gziped version of your database under the filename of the first emailed file (*aa). To make it easy, rename the _aa file to YourDBName.gz. Then gunzip and do a “mysql -p YourPassword YourDBName < YourDBName”

Viola. Enjoy your Free Cloud Based Database Backup. It’s saved my ass more than once!

New iPhone 3GS 3.1.2 Jailbreak and Unlock in 10 minutes 

Filed under: Uncategorized on Wednesday, November 25th, 2009 by Shon | No Comments

Lot’s of iPhone bending latley. I’m in Buenos Aires so everyone needs their phone unlocked to run on the 3G networks here. Including me.

I lost my iPhone in Buenos Aires due to my own stupidity. So, I got a new one from  AT&T. This iPhone 3GS shipped with OS 3.1 installed and the 05.11.07 Modem Firmware aka BaseBand. I was a bummed at first because there is a lot of outdated info on the web saying that you can’t unlock the 5.11.07 baseband or that new 3GS iPhones which ship with OS 3.1 can’t even jailbreak. Happily this is all bullshit. In fact, this was the easiest, fastest, jailbreak and unlock I’ve done so far (this is my 4th).

Let me say that again. I just did a jailbreak and unlock on a brand new iPhone 3GS factory loaded with 3.1 and 5.11.07. I was up in running in 10-15 minutes and doing a test call on the local (Claro) network here in Buenos Aires. Here’s how:

  1. Get a 3.1.2 .ipsw from the net. I used the Softipedia link here. If that doesn’t work just google 3.1.2 ipsw.
  2. Download PwnageTool 3.14 from here or check http://blog.iphone-dev.org.
  3. Plug the phone in and exit iTunes.
  4. Run PwnageTool and it should find the ipsw file you downloaded. If it doesn’t you can search for it.
  5. Follow the easy instructions from PwnageTool. It even puts the iPhone in DFU mode for you! No more stupid button tricks. This is about a 3 click process.
  6. Once PwnageTool is done it will tell you to use iTunes to restore your custom ipsw. iTunes should launch automatiacally when the phone enters DFU mode. Just alt-click the restore button and select the custom ipsw on your desktop. iTunes does the rest. Just leave it alone and you’ll restart with a Jailbroken 3.1.2 phone.
  7. For the carrier unlock; launch Cydia on the iPhone, click manage, click sources, click edit, click add, then enter blackra1n.com and click Add Source. Click done and then click on the new blackra1n.com source, then click blacksn0w and let it free you from AT&T’s carrier locking shackles.
  8. Enjoy your brand new, unlocked, jailbroken 3GS with 3.1.2.

To clear a few things up that I had been confused on:

  1. PwnageTool 3.1.4 works beautifully for the jailbreak. Don’t worry about blackra1n (the jailbreaking utility), you don’t need it.
  2. You don’t need to start with a custom .ipsw. You create the custom ipsw with PwnageTool. So don’t worry about finding the write ipsw that’s already hacktivated etc.. there’s no need. A clean ipsw restore is fine.
  3. Blacksn0w (the unlocker) and Blackra1n (the computer utility used to jailbreak) are different. Some say blackra1n is causing wifi issues. I have no idea since I didn’t use it. PwnageTool has never steered me wrong and blacksn0w worked great.

Good luck, I hope this works for you. To figure this out I read http://blog.iphone-dev.org/post/211802082/pwnage-pie and other blog.iphone.dev posts.

On an separate note,  I had an iPhone 2G  that was in a recovery mode or DFU loop. It would just display the iTunes connect image and nothing else. No amount of ridiculous button combination solved this. However, a command line tool called iRecovery worked great and it looks like it can do some other neat stuff as well.

UPDATE: blacksn0w did indeed hose my Wifi. The fix is here: http://www.redmondpie.com/youtube-fix-for-iphone-3.1.2-blacksn0w-unlock-9140104/

New MacBook Pro Review –Meh… 

Filed under: Uncategorized on Sunday, October 25th, 2009 by Shon | No Comments

Just before heading to Buenos Aires I bought a new MacBook Pro. I upgraded from a ~3 year old 2.0ghz Core Duo (not Core 2) model which was pretty much the best computer I’ve ever owned. I upgraded because despite it’s excellent history of reliability, my engineering senses told me that it was time to end on a high note before she blew. I was mainly attracted to the new MBP because of it’s stellar 7 hour battery. Let me just say that upgrading from one Mac to another Mac is not the same as upgrading from a PC to a Mac which is pretty much blissful in any event because OS X is just sooooooo much better and nicer to use. Mac to Mac upgrades eliminate the euphoria that one experiences when ditching Windoze. Thereby allowing more focus on the merits of the new hardware in comparison with the old.

The new machine is the current model as of the date of this post (10/09) and is the  base 15 inch model with 2.53ghz Core 2 and 4GB RAM. Quite an upgrade from my old machine with twice the RAM and a little over 1ghz more CPU performance. So here’s the breakdown of pros and cons as compared with the old machine:

Pros

  •  Battery life is great! This is the main reason I wanted the new machine and it definitely delivers.
  • Speed — It is quick. Quicker to open apps like Photoshop and Illustrator… a lot quicker. It’s a pretty snappy little machine, not that my old one really felt slow but the extra RAM definitely helps since I’m a totally memory and running-app whore.
  • Of course it looks cool. It’s a new Apple product for god’s sake. The designs looks pimp. LOVE LOVE LOVE those tiny little batter lights.

Cons

  • 3D graphics suck. The integrated NVIDIA GeForce 9400M won’t cut the mustard on anything more than the basics. Expose is quick but don’t think you’re going to run anything that requires even medium 3D performance. You’re not. I haven’t compared them directly but this certainly is not an upgrade from the discreet X1600 on my 3 year old MBP. While this may be part of the battery savings, I think it’s shite for a brand new $1700 machine not to be able to run a semi-modern game (Red Alert 3) at a decent quality level.
  • Glossy screen. This seems to be the standard these days on everything. I suppose there are folks that love these but I think they suck. I want a monitor not a fucking mirror, thanks.
  • SHARP edges. This seems like an odd thing to complain about but it is what it is. Go to the Apple store and run your finger down the leading edge of a MBP with medium pressure… it won’t cut you but it fees like it might. This can be rough on the wrists depending on the angle.

That’s about it. The rest is the same. These are nice machines. If reliability were not a concern would I go back to the trusty soft edged poor-battery-life MBP? Probably not. A portable should be able to run for a long period on battery and this one does. The tradeoffs are worth it but not by a huge margin. Since I was leaving the country I wanted a new reliable machine. I have one now. Plus I got almost $870 for my old machine on eBay taking a lot of the sting out of the new machine’s price. Try selling your old 3 year old Dell for that much!

Geek boy in Buenos Aires 

Filed under: Uncategorized on Monday, October 19th, 2009 by Shon | No Comments

So I’m in BA and I’m getting all of my tech necessitates sorted out. So far things are not bad. We have DSL in the apartment that seems comparable to AT&T DSL (nothing great but workable) and WiFi is plentiful in the many local cafe’s. I find myself hoping from cafe to cafe to access google maps and skype on the iphone.

One of the first things I noticed was that two services I like, Pandora and Netflix are unavailable here due to licensing restrictions. Basically the media companies are too big and too stupid to provide their own solution yet too freaked out to let the good people of South America have access to their wealth of fine media. At any price it seems. Luckily a simple US based proxy setup will provide you access to both Netflix and Pandora. Find an anonymous proxy on the net or set your own up with Linux and Squid.

The other thing I’ve worked on is a good cheap solution to forward my US based cell number to my iPhone here in Buenos Aires. I looked into rolling my own solution via Asterisk but have so far been using Skype and having a pretty good time of it. The Skype app works well on the iPhone when combined with Wifi. Currently forwarding my AT&T number to my SkypeIn number. This isn’t a great solution because currently I can only access data via wifi so it’s great for being at home or making calls when I’m near a wap but not great for random incoming calls. I’ll get a sim card this week and take it to the next step.

Viva Buenos Aires 

Filed under: Uncategorized on Friday, October 16th, 2009 by Shon | No Comments

We arrived in BA yesterday. It’s beautiful. We are little tired from the trip but we dig our apartment and we’re getting settled in now. Here’s the tour of the apartment:

Howto Backup a MySQL database to gmail 

Filed under: Uncategorized on Friday, October 16th, 2009 by Shon | No Comments

I wrote this little script ages ago and it has indeed saved my ass. It may be ghetto but a good friend and much better SA than I thought it was clever so here it is:

“export d=`date +%F`
mysqldump –opt -u yourDBuser –password=YourDBpassword yourDatabaseName |gzip -f >yourdatabase.db.$d.gzip
uuencode yourdatabase.db.$d.gzip yourdatabase.db.$d.gzip | mail YourGmailAddy@gmail.com”

That’s it! You get a free cloud based backup system for your database. It just shows up as an attachment in your gmail. Simply download the attachment (it seems gmail now uudecodes for you) and restore your db with “mysql -p HosedDataBasename < AttachmentFileName”

Add the script to your crontab and you’re done. Of course you have to be mindful of the gmail attachment size limit which is currently ~25megs. Of course you could break a larger db down into smaller files but I’m hoping you’d have graduated from a ghetto solution like this if you’re backing up your 1TB database.

How I sold my old iPhone 3G for double what I paid for my 3GS 

Filed under: Uncategorized on Friday, October 16th, 2009 by Shon | No Comments

Some people may not realize how much their old scratched up iPhone 3G is worth. The 3GS is out and I wanted it pretty bad for 2 reasons: 1) I’m an iPhone Developer. 2) Video recording. I’d had my 3G since right after they came out (actually waited in line here a bit in SF) so I wasn’t sure how much an upgrade would be. After only about a year I was elligible to get a 3GS 16GB for $200. I’ve talked to a few other 3G owners and everyone has been elligble for a $200 3GS.

So, I bought the new unit for $200. Before I made the purchase I checked ebay to see what used 3G 16GB were selling for. Low and behold, jailbroken, unlocked phones were selling for $400 or more! And these are USED phones. My phone never had a case and it had it’s share of minor scratches. Anyway, you can jailbreak and unlock the phone in about 30 minutes (you may have to torrent some software), then put her up on ebay. I just sold mine for exactly $400. A net profit of $200 for a brand new iPhone 3GS. Not bad… I may regret it on the next upgrade if I’m not elligble, but somehow I doubt it.

Here’s how you can do it too:

  1. Check prices on ebay

Renaming iPhone app in Xcode 3.1.2 

Filed under: Uncategorized on Sunday, April 19th, 2009 by Shon | No Comments

Seems renaming an application used to be a big pain in the ass in Xcode. I was following some lengthy processes which included renaming the Xcode project, directory and a bunch of manual settings in the build tab, etc etc. That may have been required in prior versions of Xcode.

To change your app name (the name that displays on the iPhone under the icon) all you have to do is:

  1. Select target
  2. Go to build settings (i)
  3. Change the “Product Name” to whatever you want the app name to be.
  4. Disco! You’re done. Even works on the App Store.

Musings of a first time iPhone developer 

Filed under: Uncategorized on Sunday, April 19th, 2009 by Shon | No Comments

My iPhone game Dark Nova was released yesterday, 4/19/09 at about 6pm PST. It was installed roughly 100 times from 6pm to 12am. I had a heard a lot of terrible rumors about Apple taking forever to approve apps. I’m happy to say my app few through in less than a month. I submitted on 4/6/09, the game was rejected due to a few bugs on 4/13/09. We fixed the bugs and I resubmitted the same day. The game was in the App Store on 4/19. So Apple’s review time for each submission was about a week. Not bad considering the number of apps coming in.

I’m… stoked to have gotten another project over the finish line. Loving life right now. Building a sci-fi game with Scott, one of my best friends and a fellow sci-fi uber-nerd has been about as much fun as I could have imagined. So far the game has some great reviews and feedback. I’m looking forward to fixing the bugs and expanding the game into the kind of game that people remember, and talk about for years to come. Just like the games Scott and I played for so many hous back in the day!

I’ll be posting more on my blog about how we devloped this game. Our game is also Open Source (code available at darknova.net) so hopefully it will help other develop apps and learn the platform. All in all we spent about 6 months redesigning, porting and testing the game. Cash outlay for the game was about $6K. The game is free for now but we hope to be charging $1 soon.

Awwwwww yeaaaah!

De-brick or hard reset a Sansa Express 

Filed under: Uncategorized on Tuesday, April 14th, 2009 by Shon | No Comments

I like little gadgets. Especially ones with funky secret button combos that bring them back to life. My Sansa Express usb stick / fm radio / recorder / mp3 player thingy looked as dead as fried chicken after my laptop’s battery dropped while files were being accessed. After some digging I found this:

To hard reset your Sansa Expres, hold down the large square button and the + volume button. I have it a good 10 seconds and viola… plugged it in and it sprang back to life. Neat-o.

Walk the line 

Filed under: Uncategorized on Monday, February 16th, 2009 by Shon | No Comments

I keep a close...
e|------------------------------------------------------------------------------|
B|------------------------------------------------------------------------------|
G|------------------------------------------------------------------------------|
D|----------------------------------------------2----------4---4----------------|
A|--2-2---2-----2---2-2---2-----2-------0---0------2---2-2---2-----2-------0*---|
E|0-----2---2-0---0-----2---2-0---0-2-4---0------0---0-----------0---0-2-4--0---|

     very very...
e|-------------------------------------------------------------------------------|
B|-------------------------------------------------------------------------------|
G|-------------------------------------------------------------------------------|
D|-------------------------------------0---0---2---2---------------2---------0*--|
A|0----2---2-0---0---2---2---0---0-2-4---0---0---0-----2---2---2-0---0-0-2-4---0*|
E|-0-0---0-----0---0---0---0---0---------------------0---0---0-------------------|
      night is...
e|-----------------------------------------------------------------------------|
B|-----------------------------------------------------------------------------|
G|-----------------------------------------------------------------------------|
D|0-----2---2-0---0-----2---2-0---0-----------0---0-------2---2-0---0--------2*|
A|--0-0---0-----0---0-0---0-----0---0---2---2---0---4-2-0---0-----0---0-4-2-0*-|
E|------------------------------------3---3------------------------------------|
      way to keep...
e|----------------------------------------------------------------------------------|
B|----------------------------------------------------------------------------------|
G|----------------------------------------------------------------------------------|
D|--2-----------2---2-----------2-------0---0-----2---2--------------2--------------|
A|0-----2---2-0---0-----2---2-0---0-2-4---0---0-0---0---2-0---2---2-0---0-0-------2*|
E|----0---0-----------0---0---------------------------------0---0-----------4-2-0*--|
keep a close
e|-----------------------------------------------------------------------|
B|-----------------------------------------------------------------------|
G|-----------------------------------------------------------------------|
D|------1---1-----------1---1-----------------------------1---1----------|
A|--2-2---2-----2---2-2---2-----2-------0---0-----2---2-2---2-----2---2--|
E|0-----------0---0-----------0---0-2-4---0---0-0---0-----------0---0----|