Archive of articles classified as' "programming"

Back home

A few random AppleScript snippets

14/01/2010

I was just writing an AppleScript to look up words on the excellent NinjaWords and decided to post it in case someone else needs something similar. Since one snippet of AppleScript is not a very meaty post, I’ll throw in a couple extra.

Look up word on NinjaWords

Select a word and copy it to the clipboard. Then invoke this script via Quicksilver or LaunchBar or whatever is your favorite tool for invocations.

1
2
3
4
set clip_url to (the clipboard as string)
set lc_url to do shell script "echo " & clip_url & " | tr '[:upper:]' '[:lower:]'"
set ninjaURL to "http://ninjawords.com/" & lc_url
do shell script "open " & ninjaURL

Wrap link in ‘a href…’

Note: This one will look slightly different depending on whether you are using Quicksilver, LaunchBar, whatever. The key is that you pass a string value into the script and it returns one back to you. This example is for LaunchBar.
Copy a link to the clipboard, invoke the script, paste your now a-tagged link.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
on handle_string(vanillaStr)
  set quote to ASCII character 34
 
 
  set openTag to "<a href=" & quote
  set closeTag to quote & ">"
  set finishTag to "</a>"
 
  set TempTID to AppleScript's text item delimiters
  set AppleScript's text item delimiters to space & ":" & space
  if (count of text items of vanillaStr) is greater than 1 then
    set urlStr to text item 1 of vanillaStr
    set linkStr to text item 2 of vanillaStr
    set returnStr to openTag & urlStr & closeTag & linkStr & finishTag
  else if (count of text items of vanillaStr) is 1 then
    set urlStr to text item 1 of vanillaStr
    set linkStr to "linkage"
    set returnStr to openTag & urlStr & closeTag & linkStr & finishTag
  else
    beep
    return
  end if
  set AppleScript's text item delimiters to ""
  tell application "LaunchBar"
    perform action "Copy and Paste" with string returnStr
  end tell
end handle_string

New File

Sometimes you just want a dang text file to magically appear.

1
2
3
4
5
6
7
8
9
10
11
12
try
  tell application "Finder" to set the this_folder ¬
    to (folder of the front window) as alias
on error -- no open folder windows
  set the this_folder to path to desktop folder as alias
end try
tell me to activate
set thefilename to text returned of (display dialog ¬
  "Create file named:" default answer "filename.txt")
set thefullpath to POSIX path of this_folder & thefilename
do shell script "touch \"" & thefullpath & "\""
do shell script "mate \"" & thefullpath & "\""

That’s it for now. I have some gems saved for a later post, but they wouldn’t make sense out of context so you’ll just have to wait.

2 Comments

Open letter to O’Reilly : Your iPhone apps suck

12/12/2009
Update 2: New versions of several of these apps have been released. Things are a lot better.

Update:I’ve had feedback on this post from O’Reilly both by email and in the comments. Both Andrew and the other O’Reilly representative I’ve been in contact with seem sincere when they say that these apps will be updated with fixes for the downright broken content and that they intend to invest in further development for the mobile platform.
Since this was pretty much what I’d hoped to hear, I’m going to say that this little outburst served its cause.

To whom it may concern.

I have for years been a satisfied customer of O’Reilly. I’ve bought and enjoyed several books from you both as dead tree paperbacks and downloadable PDFs.
To my chagrin I also bought a number of titles on the iTunes app store once I found out that you publish a selection of your books as standalone apps there. I’m sad to report that I found these apps to be rather disappointing. In fact they are complete and utter crap.
Not only shoddy work, but a lost opportunity.

It’s apparent that what you have done is to adopt the Stanza engine and stripped it down to contain one book per instance. Unless you’ve reinvented an already triangular wheel it also seems that you simply process your Safari PDFs through the downloadable helper app and then push the results to the app store.

Look; Stanza is a great e-book reader when it comes to downloading and reading “Frankenstein” as a Public Domain EPub book. And if you have some totally-not-copyrighted PDF you want to get onto your iPhone the desktop Stanza app does a tolerable job of ripping the file to HTML and reflowing it to read nicely on the small display, but converting PDFs with Stanza in this manner is, undeniably, a hack. It’s a workaround to get a PDF meant for a big screen unto a small screen, no questions asked.

Stanza is admittedly a pretty good solution to get a book onto the iPhone, a few formatting issues aside. There is however a considerable difference between reading a novel and feeling slightly irked because the chapter titles don’t show up in bold and reading a book on programming where half of the code is illegible, broken, or overflows beyond the page and into oblivion.

Read the rest of this article »

7 Comments

Ada: We salute you – The worlds First Programmer

10/12/2009

This article was cross-posted on ria.creuna.com.

Hear ye; Codesmiths and Script Artisans. Nay; Hear ye all who labour with keyboard and mouse, for you owe a debt to the singular person we commemorate today.

Ahem. On this day, the 10th of december, a shockingly large number of years ago the First Programmer was born. If this story isn’t old hat to you you might be surprised to learn the bearer of this distinct honorific was born in 1815 in London.
What might also surprise you, a pleasant surprise, is that she was a woman.

Ada Lovelace

Ada Lovelace - The worlds First Programmer
Born Augusta Ada Byron she was the daughter of Lord Byron (he of poetry fame and infamy) and Anne Isabella Milbanke.
Her mother, who was not impressed with Lord Byrons debauchery and loose morals focused her education on mathematics and science, forbidding her to pursue the social sciences in order to prevent her from becoming a bohemian bum like her father. At seventeen Ada showed remarkable aptitude in mathematics and her interest continued even after her marriage; Contrary to the custom of women at the time.

Charles Babbage, her friend and fellow math wiz (amongst other things) had been working with logarithms and in an effort to remove uncertainty and human errors in this line of work he conceived of a Mechanical Computing Device to replace the traditional system of the time which were human clerks with the title ‘Computer’; “One who computes”.

Babbage; For all his genius ground work, was severely limited in his conception of the computer. He saw it as a mechanical means to execute mathematical operations with high precision. Enter our heroine Lady Lovelace.

In 1842-43 she translated a memoir of italian mathematician Luigi Menabrea on Babbages conceptual machine. Her additional notes were longer than the memoir itself, and substantially more visionary in nature. In these notes she conceived of making the analytical device accept, comprehend and execute commands; In essence creating the first programming language.

Babbage was never able to actually create his machine, and Ada never got to see the fruits of her labour. Vindicated in history her notes are published and distributed today, she has post-humously been awarded a medal from The British Computer Society and the contemporary programming language Ada is named in her honor. As a side note; Babbages machine have later been constructed as per his notes and was found to be highly accurate at mathematical operations.

Why should we care?

Adasmall 2 Geek holidays are great, and we need more of them. But if you look at the notable dates and personalities in this industry there are two factors that separate Ada Lovelace from the rest.
Firstly; she is by far one of the strongest examples of the long heritage of brilliant people on whose shoulders we stand to todays technology. Secondly: and it’s sad that this should matters, but it remains to be a factor and an important one at that; She is a woman. Our industry is heavily male-dominated. Not only in our workplaces but also in our heroes and legends.
I mean no slight to Alan Turing, Steve Wozniak, Sir Tim Berners-Lee and their esteemed co-idols, but by god; this sausage party needs some dames.

Searching for “Ada Lovelace” yields among other links a page that declares 24th of March to be Ada Lovelace Day and ask bloggers to pledge to write a post about Ada. Since the site seemed defunct after this date I propose that Ada Lovelace Day should be her birthday; the 10th of December and that we geeks make room for it among Towel Day, Blue Beanie Day and PI Day so this amazing historical figure gets the attention she deserves.

Who’s with me?

Further studies.

No Comments

Human-style URL recognition

3/12/2009

One of my pet peeves is that most regular expressions matching URLs fall somewhat short of what I expect. This pattern from John Gruber is so far the best I’ve found but, like virtually every other implementation, it doesn’t match URLs without protocol. Nobody expects to have to include “www” in a URL for it to work these days, and in daily conversations it’s rare to enunciate “aitch-tee-tee-pee-colon-slash-slash” when you refer to some website. So why is it so hard to match URLs without using these strings as crutches?

Fail Pattern
Read the rest of this article »

7 Comments