Monthly Archives: April 2011

Live LiveCode Code Event #21 — Looking for Presenters

While the RunRevLive conference is on it’s second day, we are organising the Live LiveCode Code Event for this Saturday already. Unfortunately, we don’t have any presenters yet! It just so happens that all geeks are currently in San José! The good news is that this is an excellent opportunity to do an all-beginners session at the LLCCE.

Have you just started using LiveCode or would you call yourself an intermediate LiveCode programmer? Then we invite you to do a short presentation. Tell us what you (plan to) use LiveCode for, let us know which problems you are struggling with or share your newly found solutions with us.

We are planing to do multiple short sessions this Saturday, each 15 to 20 minutes long. If you have been too shy or if you have always been thinking that you’re not advanced enough, then this is your chance!

More info about the LLCCE is available at http://livecode.tv. Contact me by e-mail or use the web form at http://qery.us/du to get in touch with me.

Links for Starting LiveCode Programmers

Here is a collection of useful links for starting and intermediary advanced LiveCode programmers.

http://h.webring.com/hub?ring=runtimerevoluti1
http://revolution.byu.edu/indexgeneric.php
http://www.runrev.info
http://www.altuit.com/webs/altuit2/RunRev/Tutorials.htm
http://www.revjournal.com/tutorials/
http://www.sosmartsoftware.com/?r=revolution_didacticiels&l=en
http://support.runrev.com/scriptingconferences/
http://derbrill.de/developers.php?lang=en
http://lists.runrev.com/mailman/listinfo/use-livecode
http://tactilemedia.com/site_files/software/tutorial_thumbs.html
http://www.hyperactivesw.com/Resources.html
http://www.sonsothunder.com/devres/revolution/revolution.htm
http://www.sanke.org/MetaMedia/
http://revclever.com/

Please, let me know if you know about any links that belong in this collection.

Make Time Machine Back Up to an Internal Hard Disk on another Apple Mac

Time Machine only works with external hard disks and specific network disks. It won’t work with the internal hard disk of another (spare) Mac, which is a shame. Why not literally use your old PowerMac as a backup machine?

That’s what I did, using this and this hint on Mac OS X Hints. I got Time Machine to work. It backs up my MacBook on my PowerMac. Unfortunately, I’m not entirely sure that it works correctly, since it didn’t create a complete backup of my MacBook and it doesn’t show past dates in the sidesbar for whatever reason.

Still, I think I should write down what I did. Try it yourself and let me know if it works (or not).

Connect another Mac (the host) to yours, preferably over a wired network. Make sure that the hard disk or partition that you want to use for backing up is mounted on the Mac (the client) that you want to back up.

Open Disk Utility and click on the New Image icon to Create a sparse bundle image on your client Mac. It doesn’t need to be big, as Time Machine will expand it as necessary.

Screen_shot_2011-04-12_at_00

Make sure that the name of the disk image file is equal to the name of your client Mac. You need to enter this name in the field labelled Save As. The name of the disk volume is Time Machine Backups. You enter this into the field labelled Name. Just choose any reasonable size for your new disk image. The format has to be Mac OS Extended (Journaled). Don’t use encryption and set the partition to Single Partition – Apple Partition Map. The image format must be Sparse bundle disk image.

Create a new text file with your favourite text editor. Paste the following code into your text file

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>com.apple.backupd.HostUUID</key>
<string>YOURUUIDHERE</string>
</dict>
</plist>

You need to replace YOURUUIDHERE with the UUID of your client computer. To find your UUID, choose About this Mac from the Apple menu (in the top-left of your screen). A small window titled About this Mac appears. Click on the button labelled More Info… to open System Profiler. On the left of the window, you will see a main category Hardware, which need to be selected. In the text area on the right, you will see a line labelled “Hardware UUID”. You need to replace YOURUUIDHERE with the number (including the dashes) that appears on this line.

When saving the text file, call it “com.apple.TimeMachine.MachineID.plist” (without the quotes). You can save it on the desktop temporarily. We’ll refer to this file as the plist file.

Now we need to copy the plist file into the sparse bundle. To make this possible, right-click (or control-click) in the sparse bundle and choose Show Package Contents from the pop-up menu. A new window with the name of your sparse bundle appears. Move the plist file from your desktop into the sparse bundle. If the plist file doesn’t disappear from your desktop now, you can safely delete it.

Copy the sparse bundle to the hard disk on your host Mac and delete the original.

Now you need to tell Time Machine to allow for using shared network volumes. These network volumes on other Macs (using the AFP or SMB protocol) are unsupported by default. To enable access to shared network volumes, you need to enter the following line in the terminal:

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

and press return. Now you can turn on Time Machine in the Time Machine preferences panel. Open System Preferences and go to the Time Machine preferences panel. Click on the Off-On button to turn on Time Machine.

On the right side of the prefeences panel, you will see two buttons appear: Select Disk and Options. Make sure that the shared volume of your host Mac is still mounted on your client Mac. Click on theh Select Disk button and select the shared volume. If you are asked to enter your password, enter the user name and password for the host Mac, not the client Mac. Make sure to store the password in your Keychain. If your host Mac has a small hard disk, you can use the Options button to exclude your system folder and applications folder.

Time Machine should start backing up your client Mac any moment now.

On my own machines, Time Machine seems to work, but I still don’t have a complete back-up of my client Mac. Any recommendations are welcome and I’ll post any additional information that reaches me here on this blog.

MySQL solution for LiveCode which “just works”

If you don’t like bragging, just ignore this post and move on 🙂

I believe many are waiting for LiveCode features that just work out of the box. An important example of this is unicode, which is still a big problem in many respects. For example, while unicode is pretty much the standard for exchange of data among programmes and between programmes and the operating system nowadays, LiveCode still doesn’t let you retrieve unicode text directly from the command line, external plugins and database drivers. Fortunately, LiveCode’s TCP sockets allow for exchange of binary data, thereby creating an opportunity to retrieve unicode data.

The past few days, I created a simple command line interface to send commands to a php script on a server. Together with PHP, this interface makes MySQL just work –something I can’t resist showing off.

Screen_shot_2011-04-08_at_02

The last 5 lines show how I can save Japanese characters to the database and get them back as Japanese characters. Nothing special you might say, as a C++ programmer, but for LiveCode it is quite something, made possible by using PHP as a layer between LiveCode and MySQL.