alvin's blog

How to execute AppleScript from a Java or Scala application

If you ever need to execute AppleScript from a Java or Scala application, this code shows how to solve the programming part of this problem.

Given an AppleScript command as a Scala multiline string, like this:

    // press the `fn` key twice
    val asCommand = """
tell application "System Events"
    key code 63
    key code 63
end tell
"""

you can execute that command by calling this executeAppleScriptCommand method:

Why is this approach better? (FP and OOP)

For the last week or two I’ve been packing a few boxes every night as I prepare for a move a few miles to the north. Last night I started packing the old Beginning Scala book, when I noticed a bookmark I had in it. When I flipped to the bookmark, I found code like this:

trait Shape
case class Circle(radius: Double) extends Shape
case class Square(length: Double) extends Shape
case class Rectangle(h: Double, w: Double) extends Shape

which was later followed by code like this:

Lightsaber

Lightsaber is a free, open source application for Mac OS X systems that plays “lightsaber” sound effects as you move your mouse. Once Lightsaber is running, you can switch to any other application, and Lightsaber will play the sound effects when you move your mouse.

Note: Lightsaber has been tested on Mac OS X 10.9 (“Mavericks”) and 10.10 (“Yosemite”) systems. (It may also run on OS X 10.7 and 10.8, but I don’t have any computers running those older operating systems, so I can’t verify that at this time.)

How I significantly improved my iTunes song quality

It was driving me crazy that the quality of the songs I was streaming from a website known as Bandcamp sounded better than the quality of the songs I was playing from my iTunes collection. In my case, I recently bought a Marian Call CD named “Something Fierce”, and had imported the songs from that CD into iTunes. But the songs I streamed from Bandcamp sounded better than the songs I imported from the CD; how could this be?

Syndicate content