Programming for kids, and older kids


One fault that could be levied at the computer industry is that they've lost a lot of the out-of-the-box creativity experience from the early days, back in the 80's when every computer you bought came out of the box with a programming language that anyone (with a manual or two) could start writing their own Hello World apps. Back then most people didn't learn to program at college, they learned from their $200 home computers. There is a new option for people seeking this experience again called Hackety Hack, a new programming kit based on the existing Ruby language bundled in a really easy-to-use package. Although aimed at children it is also well suited to anyone who wants to try their hand at something a little bit different, and is well worth giving a try.

Nested controllers with Goldberg (UPDATE: fixed in v0.2.1)


The Rails plugin Goldberg is really quite good for kick-starting a site with its permissions system and basic CMS. There is one small bug in it though, it doesn't like adding nested controllers in the admin console. There is, however, a simple work-around: simply go to e.g.:

That will load up the New Controller page which lets you type in a controller name and set the default permissions for it, so all you have to do is type in the name of your new controller, e.g. admin/news, and it'll work just fine from there!

UPDATE: FYI this has been fixed in the latest v0.2.1.

Windows compatibility on OSX just got better


Parallels Desktop, the app that lets you run a virtual copy of Windows or Linux on your Mac, has just gotten better with the announcement of the forthcoming version 3 which adds two really snazzy features:

  • You can now set software on one of the OSes (Windows on the virtual machine, or the host OSX) to run software on the other side when it is launched, e.g. if you're running Outlook on the virtual Windows you can launch attachments in OSX apps without any stupid fiddling. Awe-Shum!
  • 3D support for games and other uses; how well this works is left to be seen, but it will hopefully mean being able to run Diablo 1 at the very least :)

Free backup app - Genie Games Backup


Despite its name, Genie Games Backup is a general purpose backup utility for Windows that lets you make backups of any files you want, and run the backup either manually or on an automatic schedule. While their fully-fledged commercial products work wonders, I'm personally amazed they're giving away something so fully fledged for free. Well worth trying out if you don't already have a backup utility.

Variables in ColdFusion Components (CFCs)


A couple of tips for anyone working with ColdFusion Components, aka CFCs:

  • You can control whether a function/method is accessible outside of the CFC or not by using the access argument on the cffunction line:
    • access="private" will make the function only available within the CFC so it can't be called from outside.
    • access="public" will make the function available to outside pages and other CFCs.
    • access="remote" will make the function available to outside pages, other CFCs and via remote applications through a web services interface (WSDL); you need to use this one if you want to make it available to Flash or Flex applications, etc.
    • access="package" will make the function available to other CFCs that extend it or are in the same code archive (called a "package").
  • You can control how variables are accessed within or from outside the CFC:
    • Any variables you set to the this scope are available outside of the CFC and as a result can conflict with other instances of your CFC! Watch out for this one!
    • If you want a variable local to only the function/method, use the var scope, e.g.
      <cfset var.widget = 'blue' />
      Note that you need to do this for loop counters too.
    • If you want to be able to access the variable from anywhere within the current instance of your CFC use either the variables scope or don't define a scope at all; for accuracy sake I recommend assigning everything to the variables scope if it doesn't fit one of the other criteria above.

Happy coding!


Subscribe to Front page feed