Unfortunately Apple decided they would like to charge for people to be able to download ringtones for songs they already bought. Luckily there is a way you can use iTunes to get ringtones from any MP3 file for free, here’s how.

  1. Open iTunes and find the song you wish to make a ringtone out of.
  2. Play the song in iTunes. Take a note of the start and finish times of the section of the song you wish to use. (E.G. Maybe you want an instrumental section of a song that starts at 2:34 and ends at 2:51)
  3. Right click on the song in iTunes. Click “Get Info”. Find the tab that contains the options for start time and end time. Tick these two options and fill in the start and end time that you noted down from step 2 (I think this can get do milliseconds if you need to be precise). Click OK to close the dialogue.
  4. Now go into the iTunes preferences. On the first tab, click on “Import Settings”. Make sure the encoder is set to AAC (You can change this back to MP3 once this process is finished, but for creating ringtones it should be AAC). Close the preferences screen.
  5. Right click on the song again that you wish to make the ringtone from and select the copy to AAC option. After a pause you will notice a new song has appeared below the one you chose. It will have the same name/artist but it’s length will reflect that of the options you set in step 3. Right click the original song and un-tick the start and end time options.
  6. Right click the new version of the song and select to view in explorer copy the song to your desktop. Back in iTunes you can now remove the new song your library (select to move file to recycle bin, we don’t need this cluttering up your library).
  7. Once you have the new song file on your desktop you need to change the file extension. If you can’t see the file extension you need to enable it in folder properties. (In explorer select Tools > Folder options. In the View tab find the tick box for “Hide extensions for known file types” un-tick it. Select ok, you should now see the file extension, m4a, in this case).
  8. You need to change the extension from m4a to m4r. When you do this you will notice the icon change and it will now say ringtone.
  9. Drag the file back into iTunes. You will now see the ringtone option in your library and the new ringtone will be within that.
  10. Plug in your iPhone. In the sync options select to sync ringtones. When you perform a sync your ringtones will be sent to your iPhone. In the settings in your iPhone you will now have the option of selecting your new ringtone.

The process seems a bit complicated and painful, but after you have done it a couple of times it will only take a minute to create custom ringtones from any MP3 file in your library, and it’s free.

If you prefer to use an editor like Sony Sound Forge for you editing needs (in order to play around with samples and get better accuracy when cropping) you can still go ahead and use it. Simply create your file in the editor and export it. Add it to your iTunes library and follow the instructions from step 4.

Hope this helps.


I recently came across this error whilst developing stored procedures in oracle. The stored procedure will be built in Oracle but marked as invalid. Trying a re-compile will give you the above error.

The problem appears to be with Windows CRLF characters on line breaks. Oracle does not treat this as white space, instead it sees it as an empty string. In order to get round this problem, convert the CRLF characters to LF characters and Oracle should be happy.


When passwords are stored in an LDAP directory they are stored encrypted. LDAP supports different types of hashing, but I chose to use MD5.  The LDAP implementation is to use Base 64 encoding. Below is a simple function I use to convert the plain text password into a hashed string ready to be added to LDAP.

Public Shared Function EncryptPassword(ByVal value As String) As String

        Dim cryptProvider As New MD5CryptoServiceProvider
        Dim b As Byte() = Text.UTF8Encoding.UTF8.GetBytes(value)
        Dim encoded As Byte() = cryptProvider.ComputeHash(b)
        Dim hash As String = Convert.ToBase64String(encoded)

        Return hash

End Function

I have recently been using the HttpWebRequest object in .Net Framework 2 and 3.5. I’m using it to observe the timings of requests on a project and noticed some strange behaviour. The first time you call GetResponse it can take over 30 seconds to return the response, whereas subsequent calls to the same URL will result in much quicker responses. I have found the problem to be in the use of proxies. It tries to find a proxy to use on the first request. To fix this (unless you are using a proxy of course) set the Proxy property to Nothing

request.Proxy = Nothing

By doing this it no longer looks for the default proxy and will speed up requests.


Deleting LDAP Entries

August 14th, 2008

Following on from my popular post on searching LDAP directories I thought I’d follow up with a simple piece of code that allows you to delete entries.

There are two ways to remove an entry. The first way is to search for a node an remove it, along with all of its children. The second way is to search for a node and remove one or more of its children. Read the rest of this entry »


I’ve just installed the Wordpress iPhone application on my iPod Touch, and am giving it a go. Have you used it? What do you think?


I don’t know if this is a new feature of the iPhone 2.0 software (I doubt it) but you can take screen shots from your iPhone or iPod Touch!

When your on the screen you want to capture just hold down the ‘Home’ key and press the ‘Sleep’ button. The screen will flash and the screen shot will now be in your pictures folder. The screen shots are stored in PNG format and can be transferred to a PC or Mac. This even works on the iPod touch. Once you have taken a screen shot the next time you plug the iPod into the computer you will see the iPod as a drive in your system. The pictures can then just be drag and dropped.


Working With LDAP In VB.Net

June 13th, 2008

I wrote a post a while ago dealing with an error that VB can throw when dealing with an LDAP connection, you can find it here. Because this post has proved popular with people searching for the error code on Google, I thought I’d put together a quick post on using LDAP in VB.Net.

Read the rest of this entry »


I have recently created my first Plugin for Windows Live Writer. I’m starting off simple with a Plugin that allows you to add Amazon affiliate links to your posts. It works with Amazons Quick Linker Widget which needs to first be added to your pages (in the footer).

I have submitted it the Windows Live Gallery, but I have no idea how long the submission process takes.

My Plugin and its details can be found here.

Tags:


AJAX Tutorials

May 22nd, 2008

I found this very good article that has links to 30 of the best AJAX tutorials around. It covers things from drag and drop to lists, as well as the basics of AJAX.

Designs Advice



foreandaft