2022-04-30: WatchKit learning: timeline updates should be ever 0 minutes or longer. Multiple instances of a …

2022-04-30: Something to try, Madeleines are my favourite cookie: Low Carb Keto Madeleines (Almond Flour) – …

2022-04-30: Delight: upgrading my stereo and discovering that a run of piano chords in a Count Basie track are …

2022-04-30: Delight: getting a LEGO MINDSTORMS robot to stand up and balance its self on two wheels.

2022-04-30: Delight: Maximum cuteness.

2022-04-30: Experimenting with WidgetKit to understand how often the timeline refreshes.

2022-04-23: Still getting used to being a grandparent.

2022-04-23: This will be my first post on Micro.blog.

2020-09-26: bodyQuiz 1.0 Released bodyQuiz is a new game I developed in collaboration with Olav Krigolson, a Neuroscientist at U. Vic. …

2020-09-10: RegEx Knife 2.0.2 Released RegEx Knife 2.0.2 is available in the App Store. This releases addresses some bugs, including a …

2018-10-12: Posting to a Discourse forum from iOS Shortcuts I’ve been experimenting with iOS Shortcuts and I have to say I really like it. I was a fan of …

2018-09-24: MacScripter.net I’m excited to announce that I have become the new host of the MacScripter.net discussion …

2018-08-01: 2018 MacBook Pro?!?! Over the years, I’ve been excited when the time came to replace my Mac laptop. There was a …

2018-05-18: RegEx Knife 2.0.1 Is Coming I’m working on the next RegEx Knife 2 maintenance release, version 2.0.1. This release …

2017-06-27: iPad Frustrations I Over the weekend I played in a tennis tournament and used a GoPro to record the final match. I …

2017-05-05: Find My Apple Pencil, Part II As a follow up to my We Need a Find My Apple Pencil Feature post, I’ve been experimenting with …

2017-05-05: PEER My new project has finally begun Beta testing. Its an iPhone/iPad app for neuroscientists doing …

2017-03-20: RegEx Knife 2 Available in the App Store I have updated my RegEx Knife iOS regular expression editing and testing utility so that it works on …

2017-03-09: MarksLib My MarksLib AppleScript library, which is featured in some of my Script Debugger tutorial videos, is …

2017-03-09: We Need a Find My Apple Pencil Feature Hearing about the Find My AirPods feature Apple is introducing reminds me that we need the same …

2017-03-07: Simple iPhone App Mockups I’ve been looking for nice ways to present iPhone application mockups and today I came across …

2017-03-02: Animated Record Button with PaintCode Here is an example of how to use PaintCode to create an animated button. The code for this project …

2016-11-24: SigmaSwiftStatistics for Swift Playgrounds Sigma Playground allows you to use SigmaSwiftStatistics in Swift Playgrounds on the iPad. The Sigma …

2016-11-24: 2016 MacBook Pro's 16GB RAM Limit A lot has been written about how Apple’s new MacBook Pro maxes out at 16GB of RAM. Some argue …

2016-09-16: FancyDroplet As a side project I am working on an improved AppleScript droplet shell. My goal is to create a …

2016-06-16: Script Debugger 6 Released I’m pleased to announce the release of Script Debugger 6. This release introduces over 25 new …

2016-06-01: Acorn Is Scriptable! I oscillate between Acorn and Pixelmator on the Mac - its great to have two competent alternatives …

2016-06-01: Script Debugger 6 Release Notes (6A162) Here is an updated version of the Script Debugger 6 (build 6A162) release notes. We are very close …

2016-03-10: Script Debugger 6 Release Notes (6A121) I’m posting this in-progress document publicly as a bit of an experiment. Given that it has …

2016-02-25: Chromecast Followup A follow up to my Powering Chromecast post After a bit of a rough start I have to report that the …

2016-02-25: iPad Pro & Apple Pencil for the non-artist I have to say that I’m really liking the iPad Pro. Apart from times when I have to code and …

2016-01-20: Inspirational Software I’ve been building software since grade 9 in high school (~40 years), and I find it hard …

2016-01-04: RegEx Knife 2.0 Beta Testers Needed I am wrapping up development of the next version of my RegEx Knife Regular Expression development …

2015-12-21: The iOS On-Screen Keyboard Is A Problem I’ve been working on iOS versions of some of my development tools, and I have been struggling …

2015-12-20: Re: What if JavaScript had persistent globals? In a recent piece on his blog Dave Winer imagines what might have been had his ideas for persistent …

2015-12-07: Re: On Apps that Get Acquired On his blog Innesential Brent Simmons makes some good points regarding the today’s …

2015-11-30: Powering Chromecast We got a shiny new Google Chromecast yesterday. Physically, this is a beautifully designed device, …

2015-11-26: MacBook Pro Retina Followup Looking back through my blog I found this post from 2012 describing my feelings about my new MacBook …

2015-10-28: When Open Does Not Return An Object Reference p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Verdana} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; …

2015-05-07: RegEx Knife 1.0.5 Released RegEx Knife version 1.0.5 is available in the App Store. This version fixes a crashing bug that …

2015-02-12: RegEx Knife 1.0.4 Released RegEx Knife version 1.0.4 is available in the App Store. This version fixes bugs that escaped my …

2014-12-05: Script Debugger Pricing A comment appeared on my Script Debugger 20th Anniversary post asking a question that has arisen …

2014-12-04: OSAID Leaks Cause Crashes As a followup to my Getting Yosemite AppleScript Progress Information post I would like to offer …

2014-12-04: Script Debugger's 20th Anniversary While I was distracted with my late wife’s illness, Script Debugger’s 20th anniversary …

2014-11-27: Getting Yosemite AppleScript Progress Information Yosemite (Mac OS X 10.10) introduced 4 new properties scripts can set to report progress …

2014-11-18: RegEx Knife 1.0.3 Released RegEx Knife version 1.0.3 is available in the App Store. This version fixes a series of bugs (one …

2014-11-08: RegEx Knife 1.0.2 Released RegEx Knife version 1.0.2 is available in the App Store. This version fixes some more iOS 8 …

2014-10-20: RegEx Knife 1.0.1 Released RegEx Knife version 1.0.1 is available in the App Store. This version fixes some iOS 8 compatibility …

2014-07-16: RegEx Knife 1.0 Released My first iPad app has hit the App Store! If you know what a Regular Expression is, then head on over …

2014-04-03: LNSYearView I’ve always quite liked how GitHub displays a summary of ones activity over the past year. I …

2014-03-20: Robotron 2084 For personal reasons, I have not been particularly productive over the last couple of years. This …

2013-10-12: TextKit - Line Numbers This sample code demonstrates one way of displaying line numbers in an iOS7 UITextView. This sample …

2013-09-11: RegEx Knife I just realized that it has been almost a year since I have posted anything here. After such a long …

2012-10-03: My First iPhone App Now that Script Debugger 5 has been released, and most of the fires have been put out, I am turning …

2012-09-12: Re: The Skeuomorphism Rift Within Apple I came across Austin Carr’s piece (via Daring Fireball) discussing a struggle within Apple …

2012-09-02: Impression of the new Retina MacBook Pro Marco Arment recently wrote a Retina MacBook Pro review (via Daring Fireball) which I found helpful …

2012-06-06: Script Debugger 5.0 Released I’m pleased to announce that I have finally completed Script Debugger 5.0. After an extremely …

2012-06-06: Blog Reorganization With the release of Script Debugger 5 I am splitting my blog into two parts. Late Night Software …

2012-05-05: FaceSpan 5 (Mark's Misadventure) Back in May 2009 I made the difficult decision to abandon FaceSpan 5. This was a wrenching period in …

2012-02-21: Pretty Polaroids II My first Pretty Polaroids post shows my first cut at implementing the Premium Pixels Pretty …

2012-02-21: Pretty Polaroids I recently received a Samsung Galaxy Tab 10.1 tablet as part of a promotion for new Cable TV service …

2012-02-10: TimePicker Cocoa View UPDATE - 12-October-2013: I have moved the code for this project to GitHub. Downlaod TimePicker.zip …

2011-07-19: Script Debugger 4.5.7 I’m pleased to announce the release of Script Debugger 4.5.7. Script Debugger 4.5.7 is a free …

2011-07-09: Script Debugger 4.5.7b4 I am preparing another Script Debugger 4.5 maintenance release. UPDATE: Script Debugger 4.5.7 has …

2011-04-29: Script Debugger 4.5.7b2 I am preparing another Script Debugger 4.5 maintenance release. UPDATE: Script Debugger 4.5.7 has …

2011-03-17: Script Debugger 4.5.7b1 I am preparing another Script Debugger 4.5 maintenance release. UPDATE: Script Debugger 4.5.7 has …

2011-02-07: AppleScriptObjC Explored 2.0 Shane Stanley has just released version 2 of AppleScriptObjC Explored, his book documenting …

2011-01-05: NSBrowser, NSTreeController, bindings, and displaying images After much searching in Google, I found that there was no obvious solution to displaying images …

2010-12-31: A Better Text Find & Replace User Interface I have never been happy with the Text Find & Replace panel in my applications (Script Debugger …

2010-12-31: Script Debugger 5: Dictionary Redesign Prototype I have been plugging away at a redesign of the Script Debugger 5 dictionary window, and by extension …

2010-11-14: SourceListView II Some time ago I published sample code illustrating how to implement a Source List view that mimicked …

2010-11-01: Affrus 2.0 Alpha I’m pleased to announce that the first Affrus 2.0 Alpha build is ready for testing. For those …

2010-08-29: Script Debugger 4.5.6 UPDATE: I have released Script Debugger 4.5.6 which resolves a license limit exceeded error that …

2010-08-28: Scripting Additions Updated After an extremely long gestation in Beta I’ve released 64-Bit Intel compatible versions of …

2010-07-26: Script Debugger 4.5.5b6 UPDATE: Script Debugger 4.5.5 has been released. I am preparing another Script Debugger 4.5 …

2010-07-09: Script Debugger 4.5.5b5 UPDATE: Script Debugger 4.5.5b6 has been released. I am preparing another Script Debugger 4.5 …

2010-06-06: Script Debugger 4.5.5b4 UPDATE: Script Debugger 4.5.5b5 has been released. I am preparing another Script Debugger 4.5 …

2010-06-03: Affrus 2.0 Status Update The release of Mac OS X 10.6 (Snow Leopard) has rendered Affrus 1.0 unusable. Over the last few …

2010-06-01: Script Debugger 4.5.5b3 UPDATE: Script Debugger 4.5.5b4 has been released. I am preparing another Script Debugger 4.5 …

2010-02-01: Script Debugger 4.5.4 I’m pleased to announce the release of Script Debugger 4.5.4. Script Debugger 4.5.4 is a free …

2009-12-08: Snow Leopard vs My Scripting Additions, Part 3 In a previous post I released beta builds of Snow Leopard versions of 3 out of 4 of my AppleScript …

2009-11-27: Script Debugger 4.5.4b4 I am preparing another Script Debugger 4.5 maintenance release. This maintenance release addresses …

2009-11-02: Snow Leopard vs My Scripting Additions, Part 2 UPDATE: Final versions of these Scripting Additions have been released. In a previous post I …

2009-10-20: Script Debugger 4.5.4b3 I am preparing another Script Debugger 4.5 maintenance release. This maintenance release addresses …

2009-10-02: Snow Leopard vs My Scripting Additions My various Scripting Additions (XML Tools, XSLT Tools, Property List Tools and List & record …

2009-10-01: What is bad User Interface design?

2009-10-01: Script Debugger 4.5.4b2 I am preparing another Script Debugger 4.5 maintenance release. This maintenance release addresses …

2009-09-11: Script Debugger 4.5.4b1 I am preparing another Script Debugger 4.5 maintenance release. This maintenance release addresses …

2009-07-24: Viewing Local Variables in Script Debugger The issue of how to view local variables (variables declared within an AppleScript handler) in …

2009-07-24: Script Debugger 4.5.3 On-Line Help as PDF Recently I have received several requests for Script Debugger 4.5’s On-Line help as a single …

2009-07-19: My iPod Touch needs an FM radio I really like my iPod touch. Its been so much nicer to use than my old hard disk based iPod that …

2009-06-11: Script Debugger 4.5.3 I’m pleased to announce the release of Script Debugger 4.5.3. Script Debugger 4.5.3 is a free …

2009-06-05: XML Tools 2.9.3 I have just uploaded a new version of my freeware XML Tools AppleScript Scripting Addition. Changes …

2009-06-01: Script Debugger 4.5.3b7 I am preparing another Script Debugger 4.5 maintenance release. This maintenance release tries to …

2009-05-27: AppleScript Profiling An Script Debugger feature that I’ve been pondering for a long time is a profiler. Given that …

2009-05-26: Script Debugger 4.5.3b6 I am preparing another Script Debugger 4.5 maintenance release. This maintenance release tries to …

2009-05-14: XML Tools 2.9.2 I have just uploaded a new version of my freeware XML Tools AppleScript Scripting Addition. This new …

2009-05-07: XML Tools 2.9.1 I have just uploaded a new version of my freeware XML Tools AppleScript Scripting Addition. This new …

2009-05-05: XSLT Tools 2.1.2 I’ve just uploaded a new version of my freeware XSLT Tools AppleScript Scripting Addition. This …

2009-05-05: FaceSpan 5 Development Suspended I must reluctantly announce that I am suspending FaceSpan 5 development. I want to thank you all, …

2009-05-05: SQLite Demo A number of people on the FaceSpan 5 mailing list have asked for an example project that shows how …

2009-01-17: Script Debugger 4.5 Can Take a Long Time to Open Scripts A few customers have written me to report that Script Debugger 4.5 takes much longer to open their …

2009-01-15: Script Debugger 4.5.2 I’m pleased to announce the release of Script Debugger 4.5.2. Script Debugger 4.5.2 is a free …

2008-12-17: Script Debugger 4.5.1 I’m pleased to announce the release of Script Debugger 4.5.1. Script Debugger 4.5.1 is a free …

2008-12-10: Testing Pre-Release Software By Shane Stanley Testing pre-release software involves some interesting, and sometimes …

2008-11-25: Script Debugger 4.5 I’m pleased to announce the release of Script Debugger 4.5. This upgrade to Script Debugger …

2008-07-14: XSLT Tools 2.1.1 I’ve just uploaded a new version of my XSLT Tools AppleScript scripting addition. This build …

2008-07-13: AppleScript Speed Boost We have discovered that AppleScirpt code runs faster in the FaceSpan runtime than it does in …

2008-07-09: Finding OSA scripts with Spotlight With the release of Script Debugger 4.0, I added a Spotlight searching capability for OSA scripts …

2008-02-29: iChat Theatre Sample Code iChat Theatre Demo (1MB) Leopard introduced something called iChat Theatre which allows applications …

2007-12-24: Script Debugger 4.0.8 I’m pleased to announce the release of Script Debugger 4.0.8. This free maintenance release …

2007-12-21: Sigh – MPAA Bans This Poster I saw this post and it just makes you shake your head. Which of these two images is more …

2007-11-30: Script Debugger 4.0.8b5 Here is a new beta build of Script Debugger 4.0.8. This build addresses all of the Leopard (Mac OS X …

2007-11-16: OmniInspector with Resizable Tabs In my recent OmniInspector Sample Code blog entry I present a sample application illustrating how to …

2007-09-28: Script Debugger 4.0.8b4 I am preparing yet another Script Debugger 4 maintenance release. This release addresses some issues …

2007-09-26: QuickTime Skimmer View Download LNSQTSkimmerView After receiving my copy of iLife ‘08 I began playing with iMovie …

2007-09-13: Displaying Lists - Part 2 In my first Displaying Lists post, I described how to use an HTML view to display a list of values …

2007-09-09: Cocoa Scripting: Properties with Multiple Data Types The SDEF (Scripting Definition) XML dictionary format allows you to define properties that have …

2007-09-08: SourceListView UPDATE: I have released an updated version of this sample that takes advantage of improvements Apple …

2007-09-07: Coming from FaceSpan 3 A few messages on the FaceSpan 5 Alpha mailing list have described the difficulties FaceSpan 3 users …

2007-09-07: iPhone Price Drop I find the reaction to the $200 drop in the price of the Apple iPhone fascinating. Lots has been …

2007-08-30: Affrus 1.0.6 Released Affrus 1.0.6 has just been released. This free maintenance release addresses a problem where Perl …

2007-08-27: LAMEncoder, Spawn of FaceSpan! FaceSpan 5 is under development. That means it isn't finished. But it also means that to some degree …

2007-08-15: Script Debugger 4.0.8b3 I am preparing yet another Script Debugger 4 maintenance release. This release addresses some issues …

2007-08-13: GraphX Plugin The recent FaceSpan 5.0d42 build includes a graphing plugin based on Chad Weider’s GraphX …

2007-08-06: Forking Scripts One of the precepts of FaceSpan programming is that your event handlers should run as quickly as …

2007-08-05: Dock Icon Changer One of my FaceSpan 4 examples demonstrated how to manipulate an application’s Dock icon. In …

2007-07-28: Script Debugger 4.0.8b2 I am preparing yet another Script Debugger 4 maintenance release. This release addresses some issues …

2007-07-28: Unplugged Service After Thursday’s post (Unplugged) where I described how to use System Configuration …

2007-07-27: Displaying Lists - Part 1 As has been discussed at length on the FaceSpan 5 Beta mailing list, the current Alpha builds lack …

2007-07-27: Speedometer View Apple recently released sample Cocoa code for a view called Speedometer View. I thought I would turn …

2007-07-26: Unplugged FaceSpan can notify your application when the system configuration of your Macintosh changes. …

2007-07-26: Quartz Composer Desktop Here’s a FaceSpan 5 example project that turns Quartz Composer animations into desktop …

2007-07-26: Full Screen Image Viewer Here’s an example of a full fcreen image viewer application written in FaceSpan. The …

2007-07-26: Using Sparkle with FaceSpan 5 I’ve produced a FaceSpan plugin that allows you to use the Sparkle Software Update framework …

2007-07-26: AppleRemote Plugin Here’s a FaceSpan plugin that lets your FaceSpan projects respond to commands from the Apple …

2007-07-01: Happy Canada Day! I came across this on a sidewalk leading to someone’s house as I was returning home from a …

2007-06-20: We Need a Scripting User Interface Evangelist I had an epiphany at this year’s WWDC while listening to John Geleynse’s User Interface design …

2007-06-19: WWDC 2007 I’m back from another Apple Worldwide Developers Conference. Here’s my take on this …

2007-05-30: Script Debugger 4.0.7 Released Unfortunately, Script Debugger 4.0.6 introduced a bug causing Dictionary serches to fail. Script …

2007-05-28: Script Debugger 4.0.6 Released After a long beta testing period, Script Debugger 4.0.6 has finally been released. You can download …

2007-04-27: Script Debugger 4.0.6b4 I am preparing yet another Script Debugger 4 maintenance release. This release addresses some …

2007-04-25: Unix Newlines in Script Debugger I recently had a customer struggling to embed multi-line Unix shell scripts within their AppleScript …

2007-03-16: Script Debugger 4.0.6b3 I am preparing yet another Script Debugger 4 maintenance release. This release addresses some …

2007-02-08: Faster iLifeControls I’m working on a project that uses Sean Patrick O’Brien’s iLifeControls. My …

2007-02-01: Avoiding Word & Excel AppleEvent Crashes Microsoft Word and Excel can crash frequently when the Script Debugger Explorer is used. These …

2007-01-12: Script Debugger 4.0.6b2 I am preparing yet another Script Debugger 4 maintenance release. This build addresses some annoying …

2007-01-10: iPhone lust I am ceaselessly amazed at how Steve Jobs and company can create techno lust in me. This time around …

2007-01-06: Commnad-line JavaScript OSA?! A recient thread on the JavaScript OSA mailing list makes me think that there should be a jsosa …

2007-01-06: JavaScript OSA vs Mac OS X 10.4 Script Editor Somewhere along the way, the Mac OS X 10.4 Script Editor stopped being able to open scripts compiled …

2007-01-05: The Year Ahead - 2007 2006 was a busy year. I completed the re-write of Script Debugger 4 in Cocoa, ported it from …

2007-01-03: Script Debugger 4.0.6b1 I am preparing yet another Script Debugger 4 maintenance release. This build addresses some annoying …