Friday, August 01, 2008

iPhone ringtones

Have a cool audio file you want to use as a ringtone on your new iPhone but can't figure out how to get it to work? Don't want to spend $0.99 on a ringtone from apple for a song you already have and want to use your fair use rights? You can do it, I can help.

Ok, as I say to my daughter, the easy way or the hard way? I'll start with the hard way first so you have a basic understanding or don't have garage band... if you do and are impatient, just skip ahead.

First you need an audio clip. Anything will do, we will be converting it to AAC format so if you have one of those, great. (not sure about the copy protected ones though... you have to be able to edit the file) If you do have an AAC file, cut it to 30 seconds or less and you can ignore this next bit.

Of you don't have an AAC file, you'll need to make one. Open your favorite audio editor, I've been using Audacity because it's free but you can use pretty much any audio editor, we don't need any fancy features so I'm sure you can find a free one on just about any platform that will do.

Now, load up your file and find the 30 second (or less) sound clip that you want to use. Got it? Ok, save those 30 seconds as either an AAC format or, if like me your editor doesn't support that, choose an uncompressed audio format. Then to convert to AAC format, load the uncompressed audio file into iTunes and right click and select convert to AAC. If you don't see this option, you probably changed it in your Preferences section of iTunes under Advanced->importing and then change the "Import Using" option to AAC. Now you'll need to right click and choose show in finder to find the aac file and copy it somewhere temporary. (I use the desktop) Now delete the new files it created from iTunes. (but not from the desktop)

Ok, now you have an AAC file on your desktop and not in iTunes. Rename the file from YourFilename.m4a to YourFilename.m4r. Load this file into iTunes and it should go into your ringtone list. Sync your phone and you should now have your custom ringtone on your iPhone.

Have GarageBand? Ok, this is really easy. Choose the loop button next to the FFW button on the main controls. Now, you should notice a small section appear below the timeline, use your mouse to select the 30 second clip you want, then choose Share->Send Ringtone to iTunes. Sync phone.

Apple could have made this a lot easier, especially for users that don't have garageband. I mean, why not just let us use mp3s as ringtones? This is one area where I think apple really dropped the ball. Fortunately I have garageband so it's not a terrible process, I just think $0.99 per ringtone is a bit ridiculous especially because you can buy the whole song for that.

Wednesday, July 23, 2008

iPhone review

Well my script actually worked and did score me an iPhone. Ran it and noticed the Short Hills mall had all three versions in stock and my wife went over. Turns out I had to be there to because I was the primary on the previous account so I left work a little early.

First impressions are that it's awesome. The main reason I got it was for the integration between it and the mac. So far everything has been seamless. I first went into the mail app on the phone at the mall so I hadn't synced up yet. First, you select Gmail, put in my gmail username and password and that was it. I saw no apparent way to add other mail accounts and was a little bummed at first. My fears were for naught as when I later synced with my mac, it pulled in my other mail account. Right now I can just pull but there are services to push (MobileMe being mac's solution) but I'm not that concerned about it yet.

Calendar integration is seamless as well. Syncing with my mac synced all my schedules to the iPhone. Haven't had it that long to tell if there are issues, none have popped up yet so we'll see. Same with my contacts from the Address Book. The only downside was I hadn't updated address book in a while so some of my numbers weren't in there. Definately not the phone's fault though.

There are a lot of apps available on Apple's AppStore, some are free, some are reasonable and some are outrageously priced. I'll start with the free ones first.

Pandora - This is the online radio station pandora. It's free but amazing. Experienced a couple hickups on the way to work this morning where only part of a song played and then skipped. (I'm guessing didn't fully download or something) But for the most part worked well for my commute. I highly recommend this app.

MobileNews - This is basically just a news source for Associated Press news. I've avoided the NYT app because people seem to be complaining that it's slow. MobileNews has been pretty good. My area is not supported for the "Local News" feature and the interface could use some polishing but it's not bad. They also have a web based version which is optimized for the iPhone.

AIM - AOL instant messenger for your iPhone. This was actually the first app I installed to let my coworker know I got an iPhone. Not spectacular but not terrible. Basic instant messaging.

Tomatoes - This is the Rotten Tomatoes website's app. Starts with a text box for you to type in a movie. Typing in a movie then searched for that movie in their database. Gives you a basic summary of the movie and their rating. Summary is only one iTunes screen high. Clicking on the movie name at the top brings you to the web page for said movie but in doing so, exits the Tomatoes app and brings you to the Rotten Tomates page for that movie. Probably wouldn't be terrible if the page it takes you to was optimized for the iPhone but it's not. Will probably use as a quick reference for movies I'm not familiar with. Could be better.

PhoneSaber - Ok, no point to this, it's a lightsaber, you can pick your color beam and swing your iPhone around to make lightsaber sounds. Pointless and a waste of space but I still have it on my iPhone to uhhh... show people how useless it is, yeah, that's it.

Now for the paid apps, these are ones I've actually spent money on. To be fair, I have a credit card that gives me reward points in iTunes cards so I haven't really paid for it, but in a way I have.

Crash Bandikoot Nitro Kart 3d - Graphics are very good and you tilt the phone to turn. Very addictive. Nice use of the controls.

Monkey Ball - Another pretty cool game that uses the motion features of the iPhone to tilt the platform. This moves a monkey in a ball and you go around picking up bananas. A little tricky to get used to but fun.

Well that's it for the Apps I'm going to review today. I have a few more apps on my phone but haven't used them enough to tell if I like them or not yet. So stay tuned. Overall the iPhone has not disappointed.

Monday, July 21, 2008

iPhone availability

UPDATE: Looks like apple changed the link to a PHP page. Not sure of all the details, maybe they are actually checking the time on the server end instead of just relying on some javascript. Oh well, I got mine. :-p

So my contract is finally up with Sprint so I can now leave them without paying any penalties. Avoid sprint like the plague. Nextel was decent until they merged with Sprint, but that's a much longer rant than the cool info you'll find below.

So I've decided to ditch Sprint in favor of AT&T, primarily so I can get an iPhone. Apple has an iPhone stock bit on their web page. Go there after 9pm and you can see if a store is expected to have an iPhone in stock the next day. I do not always get on my computer after 9 for whatever reason so I thought I would script something to just scrape the page and see if the store will have it available. I found something even better.

http://www.apple.com/retail/

Go ahead, find a store near you and look at the source, I'll wait. See it? Yes, that bit of javascript where it calls: http://www.apple.com/retail/iphone/feeds/3g_us_inv.json

That file appears to not only have if there will be an iPhone available, it also has which models it expects to have available. The only other thing I could wish for would be the quantity, but now I'm expecting too much.

So what do we do with it? I'll show you what I did. First, we'll use python because it's cool and makes stuff like this easy. Second, since it's a json formatted file, good choice apple, we'll use simplejson. Got all that? Good, let's script this sucker.


import simplejson, urllib
url = u'http://www.apple.com/retail/iphone/feeds/3g_us_inv.json'
availability = simplejson.load(urllib.urlopen(url))


Ok, that basically downloads the json file and parses it into a nice little python data structure which we called availability. Now, I'm really only interested in certain stores in NJ. So, I do a loop like the following:

for store in availability['locations']['NJ']:
print store['city']


There seems to be available: url, city, storeid, available. Available then lists each type of iPhone (white16, black8, black16) and a true/false if it is available or not. So go forth and script to your heart's content. To be nice, here my final script:


import simplejson, urllib
import smtplib

MAIL_USERNAME = ''
EMAIL_FROM = ''
EMAIL_TO = ''
MAIL_PASSWORD = ''

url = u'http://www.apple.com/retail/iphone/feeds/3g_us_inv.json'
availability = simplejson.load(urllib.urlopen(url))

interested_stores = [u'Rockaway', u'Short Hills', u'Bridgewater']

msg = "From: %s\r\nTo: %s\r\nSubject: iPhone availability\r\n\r\n" % (EMAIL_FROM, EMAIL_TO)
has_iphone = False

for store in availability['locations']['NJ']:
if store['city'] in interested_stores:
if store['available']['black16']:
msg += u'%s has black 16Gb iPhones available\n' % (store['city'])
has_iphone = True

if has_iphone:
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(MAIL_USERNAME, MAIL_PASSWORD)
server.sendmail(EMAIL_FROM, EMAIL_TO, msg)
server.quit()

Tuesday, July 15, 2008

Using git

Things I like about git over subversion.

1. Branches are easy... no, really easy, just do a branch for every feature. Go ahead, you know you want to. 'git checkout -b coolfeature' It's just that easy.

2. Only check in part of a changed file. 'git add -p' It then prompts you line by line if you want those changes added or not.

3. It's fast!

Monday, July 14, 2008

Firefox Extensions

Here is my list of firefox extensions I use.

Firebug - The coolest extension i have for firefox. I use this to debug javascript and css all the time. If you develop for the web at all, you need this tool!

Tamper Data - Change things like POST variables. Primarily used for testing purposes.

Aardvark - I use this primarily to remove elements from a page before I print it.

MeasureIt - How long is that box and why doesn't it match my css?!?!? This tool helps you measure elements on the screen.

Download Statusbar - Get rid of that extra window, see your downloads at the bottom of the screen.

DownThemAll - Helpful for sucking down all the images from a page. (Even if they are links to images) Also has a few other advanced downloading capabilities.

Dummy Lipsum - Let's you insert Lipsum into a text box.

Foxmarks Bookmark Synchronizer - Synchronize bookmarks between computers. What's special about this is that you can use your own server so you don't have to sign up for another account somewhere.

Greasemonkey - Allows you to write or download scripts that alter web content. Sounds confusing but there are a lot of nice scripts out there to make the web a better place.

Html Validator - Useful tool to make sure your web page validates according to the W3C standards. Even works on pages that are not publicly accessible.

LinkChecker - Checks all the links on a page to make sure they are still valid.

NoScript - Stops javascript except for pages you allow. Can be annoying at first but once setup properly, reduces your chance of getting infected by malicious javascript.

Torbutton - Nice way to activate/deactivate using Tor.

Web Developer - Some useful tools that a web developer might find handy.

YSlow - Used in combination with firebug to determine how efficient a site is. Don't take everything at face value though, your little blog probably doesn't need a CDN. Also seems to now come with a javascript validator.

Essential OS X Widgets

This list will be short because I really don't find most widgets to be all that useful. These aren't necessarily "essential," just ones I use.

iCalEvents - This looks at your iCal events and displays upcoming ones. While I use my MenuCalendarClock more, it's handy to have when I'm in dashboard.

Weather Underground Widget - Shows you the weather forecast. While I still don't trust meteorologists... (where are the meteors?!?!? They must be hiding them.) I find I trust these guys a little more than the average meteorologist. Handy to see upcoming weather.

Aviation Weather Widget - Using this primarily to learn how to read METAR data.

The Analog Clock Widget - Just because.

Homer Quotes - A little humor.

Stickies - Keep little notes. I primarily use the Stickies.app for most things but I have a few things on my dashboard sticky.

iStatPro - Cool widget to display various system info.

I have others installed but never really use them. I feel that once I get an iPhone, most of these will fall into serious disuse.

Friday, July 11, 2008

Essential OS X Software

There have been a few people who have gotten mac's lately and I'm getting tired of forgetting to recommend a really cool app to them. Therefore I've decided to create my essential OS X application list. These are all applications that I feel are vital that do not come with the OS. I'll cover useful built in ones, widgets (both included and add-on) and Firefox plugins later.

Open Source or Free software:
Adium - Open Source multi-protocol instant messenger application. Really good instant messenger program. Does not do Audio or Voice so I still occasionally use iChat but otherwise, I use Adium.

Burn - A free tool to burn DVDs and CDs. Sure, you can do most with the built in OS X tools but this makes it a lot easier. Also it's free so uhh... go install.

Chmox - Ok, it's not great but it's the best chm reader I've found. It really needs the ability to search though. Plus it's a native OS X app so no need to have the X running or anything.

coconutBattery - Not really essential but shows you how badly you've abused your batter. Nice to know your not going insane and your battery really doesn't last as long as it used to.

Firefox - If you don't know what this is, come out of your cave, it'll be ok. If you haven't already go get this. Safari is nice but the plugins available for this make it really shine. I'll go over essential plugins later.

Google Earth - Another non-essential app but fun none the less.

Handbrake - Want to take a DVD with you, don't want to save a 4Gb iso? Convert it down to something a little more reasonable with this tool. Will also convert to iPod formats for really portable movies.

Miro - Like TV, for your computer. This lets you download most video podcasts and has a nice little directory of them. Can also be used as a torrent downloader so you could subscribe to your favorite TV show at say tvrss.net.

Growl - System message notifier. Ok, doesn't sound like much and probably won't change your life, but there are a lot of applications that will send notifications to growl to display. Useful to let you know at a glance when something is done downloading, you receive a new IM or E-Mail. Handy tool to know if something needs attention now or if it can wait.

NeoOffice - This is a macified version of open office. If you are like me, you don't deal with office documents that much but every once in a while someone will send you one. While some features are missing, I haven't noticed anything I really miss. Especially good for the casual user. If you really need to, Office is available for the mac, but this is a good free alternative that is worth trying out.

Quicksilver - In a nutshell, it's an app launcher. Though that's not doing it justice. I use this all the time but it did take me a while to get used to it. I had to force myself to start to use it and then discovered it's power. Can really speed up the time it takes you to do things. Worth watching a few tutorials and trying it out. Lots of hooks into programs (like the address book, mail, iTunes, etc...) to make it really useful. I can't do it justice, search about it and give it a try!

sshfs - If you use ssh, this is cool. Allows you to create a drive mapping that is really just an ssh connection. If that doesn't make sense to you, you can probably skip this app. Will probably need to install MacFUSE first.

Transmission - Lightweight Bittorrent app. If you use bittorrent at all, this is a handy application to have. It's lightweight and pretty full featured.

Truecrypt - Open source tool to create/mount encrypted volumes. Can also be used to encrypt entire USB flash drives. Keep your private data secure!

Tunnelblick - I have mixed feeling about this, it's a bit buggy and crashes on me all the time whenever the network hiccups but it's a nice easy way to get OpenVPN on your mac. Even gives you a little icon in the menu to connect to your servers. If you don't know what OpenVPN is, you can safely do without this. If you use OpenVPN, this is a nice tool to have.

Vidalia - Tool to use Tor. I don't use it that often but if you're looking for anonymity online, it's the first place I would start.

Vienna - RSS/Atom reader. This is how I get my news and my daily Dilbert fix!

Vim - Text editor based on good old vi. I'm sure most people will not really use this but I find it essential. A bit of a steep learning curve, but once you learn it, you won't want to give it up.

VLC - This video player will play almost anything. Much better than quicktime or iTunes for playing videos. Will also do audio for when you want to listen to a song (or audio stream) without adding it to your iTunes library.

X-Lite - Free SIP based softphone. If that makes no sense to you, you can probably skip it. Not the best app I've ever used but so far the best softphone I've found.

Commercial Software:
With quality open source software out there, I don't like paying for software when I can help it but sometimes something really good comes along and I just have to suck it up.
MenuCalendarClock - This beefs up your clock to add a calendar that integrates with iCal. It's very cool and there is a free version so go check it out. At the very least, go look at the preview pics on the site.

Adobe CS3 - Let's face it, if you deal with graphics, you need this. I shouldn't have to say any more and it's one of the main reasons I tried a mac in the first place. Ability to install Photoshop and have all my Unix tools, I'm in!

iBank - Personal finance program. I tried using Quicken, I just had issues downloading from my banks and gave up. iBank doesn't have all the same features yet but I've been able to download from my banks pretty flawlessly. Very mac-like interface as well. (Tip: put the ibank file on a truecrypt volume (see above) to keep your banking records safe)

iWork - Ok, I guess now I'm really turning into an apple fanboy. Very much presentation oriented. Does not have all the features of their office counterparts but can be used to create really great looking spreadsheets, documents and presentations. Combine this with the open source neo office (see above) for those office docs people send you and you should be set.

Mac the Ripper - I put this in the non-free section because while there is a free version, you really need version 3 which seems to not be free. Though if you look hard enough, you should be able to find version 3.0_r14 without too much difficulty. Helps you get around most copy protection and then you can use handbrake (above) to reduce the file size.

OmniGroup - There are a bunch of apps here, some better/more useful than others. If you are a Getting Things Done fan, definately check out OmniFocus. I just started playing around with it so we'll see how useful I find it. OmniGraffle is a good replacement for Visio if you need to do diagrams. I've used it a little but I don't make a lot of diagrams. I'm going to try and use it more to make better documentation. OmniPlan is a good project management app that I'm also going to try and start using to get organized.

Transmit - Ok, I resisted this for a while, used FUGU (which isn't bad) but as an all-purpose FTP/SFTP client, this really can't be beat. Simple interface, easy to use. If you transfer a lot of files, this is a really nice app. If you don't FTP/SFTP a lot, then you can probably do without.

VMware Fusion - Ok, I don't use this to run windows, but I do run linux on my mac with it to test things. One day I will probably use it to run windows on my mac for IE testing purposes but I've been putting that off because I really just don't want to use windows anymore.

VueScan - Utility to interface with most scanners. I find this to be better than the tools that come with most scanners. Still not great but so far the best scanner utility I've used.

Thursday, May 22, 2008

Why I need to get out of NJ

The superintendent of Keansburg schools is about to receive a ridiculous severance package. The school itself is a poor school that receives most of it's funding from state aid. First, she's getting $184,586 for 235.5 unused sick days. That works out to about $784 per sick day. I don't know about you but when I left my last job, I only got to cash out my unused vacation days for the year, any leftover personal time was not paid out. Plus it didn't carry over from year to year to accumulate 235.5 days.

On top of that, she's getting $120,000/year retirement pay. That's more than I, and presumably most of the parents who's kids attend the school's, make working for a living. I'm not saying she's not entitled to something but that's a little ridiculous.

But wait, there's more, she is also getting $556,290 which is her monthly salary times the number of years she's worked there (38) as a bonus. That means her monthly salary was about $14,639.

If this is what the superintendent of one of the poorest schools in the state gets, it's not wonder we have high taxes. I really think the state needs to publish all the salaries of every state employee so we can see how much we are getting ripped off. If I understand it right, the state does provide this information currently but you need to know the sate employee's name to get the information. And there's probably a processing fee for each person. If we really want to do something about taxes, let's start by re-evaluating state employee's salaries.

Monday, May 19, 2008

Dissatisfied Voters

The title "Zogby Poll: 48% of Voters Dissatisfied With Candidates" I think says it all. I know that I am not satisfied with any of the candidates still running with the exception of Ron Paul who at this point does not have a chance to win the Republican nomination. Now imagine if instead of voting for the lesser of two evils come election time, those people actually voted for a 3rd party candidate. Even if they didn't win, it would certainly send a message that the country is not happy with the direction the company is headed.


When people tell me that a vote for candidate X is a vote for the lesser of two evils I always tell them that a vote for the lesser of two evils is still a vote for evil. I then ask, "Who would you vote for Hitler or Stalin?" Personally I'd vote for other. The democrats want to take away my guns and redistribute my money while the new republicans want to take away my liberty. I think this year is an excellent year to not vote for Fascism or Communism and instead vote for other!

Thursday, April 24, 2008

Gun Free Zones

Are "gun free zones" really safe? This article has some food for thought and finally got me to start blogging again. I've been thinking about this issue for a little while now and have some thoughts on it. It doesn't matter if you read the article first or read my comments below first, they are related but not dependent on one another.

A number of states have concealed carry permits (often abreviated CCW) available to law-abiding citizens. There are different requirements and it varies by state to state but some form of concealed carry is currently available in about 48 states. (As of Feb 2008 according to wikipedia) Vermont and Alaska don't even require a permit, any non-felon can legally carry a concealed firearm.

But what about the shootings in the street? Complete mayhem I tell you... Some opponents of CCW tell you that there will be more violence than before but that hasn't been the case. One reason is that if you mis-use your firearm in any way, you can have your CCW taken away. And let's face it, those who are going to follow the law (by getting their CCW to carry in the first place) are more than likely going to continue following the law by not using it in an illegal manner. Those that ignore the law anyway (by carrying without a CCW) are the ones you really have to worry about.

Imagine how different Columbine or Virginia Tech would be if one teacher had a concealed firearm. Or, since Virginia Tech is a college with students eligible for CCW, one student who could have stopped the mentally ill students who felt the need to go on a killing spree. In fact at Virginia Tech, there were students who had their CCW but were not allowed to take their weapons on campus.

I'm not saying everyone should be armed, there are people out there who are mentally unstable who if they had a firearm would most certainly be a danger to themselves and others. There are also criminal types who are going to ignore the laws anyway and then there are those who are just uncomfortable with the idea of having a gun. That's fine, I can completely understand, firearms are not to be treated lightly. In the wrong hands they can be very dangerous and if you are uncomfortable handling one, I don't think you should be forced to. On the flip side, if I am comfortable in carrying a firearm to protect myself and my family, I should be able to.

But don't take my word for it, go out and do your own research. There is a lot of information on this from both sides of the argument. Keep in mind that a lot of studies (from both sides) have certain agendas they are trying to push. Look at the studies, look at the stats and come up with your own opinion.