• Happy Birthday Newton!

    It is the 30th anniversary since the launch of the Newton Original MessagePad (OMP). I brought mine in 1997 and it was my first Apple computer - back then we called them Personal Digital Assistants (PDAs) - I was no programmer but I was really interested in the platform I even brought a book to learn NewtonScript development. Mind you, I didn’t even have the Newton Toolkit software (separate purchase). So at the end, I never done any development work on Newton.

    Getting Started PCMIA

    30 years later, my OMP has since been long dead. But with the magic of emulators, I can experience the beauty of NewtonOS and I’m learning NewtonScript development and developing an App from the book.

    Programming for the Newton NewtonOS NTK

  • Goodbye iPod

    I still remember when I first saw someone using an iPod in the train going to China. It was such a cool device! At that time I was using a iBook (my first Mac) and I brought the 1st generation iPod in a heart beat. iPod has has a special place in my heart.


  • About: FileMaker

    FileMaker began as an MS-DOS-based computer program named Nutshell – developed by Nashoba Systems of Concord, Massachusetts, in the early 1980s. Nutshell was distributed by Leading Edge, an electronics marketing company that had recently started selling IBM PC-compatible computers.

    With the introduction of the Macintosh, Nashoba combined the basic data engine with a new forms-based graphical user interface (GUI). Leading Edge was not interested in newer versions, preferring to remain a DOS-only vendor, and kept the Nutshell name. Nashoba found another distributor, Forethought Inc., and introduced the program on the Macintosh platform as FileMaker in April 1985. When Apple introduced the Macintosh Plus in 1986 the next version of FileMaker was named FileMaker Plus to reflect the new model’s name.1

    FileMaker About Box

  • Happy #PiDay - To Infinity And Beyond!

    VSCode remote development with Raspberry Pi 4 VSCode remote development with Raspberry Pi 4

  • Learning Applescript - Automating my "Post to Jekyll" Workflow

    Below is a Applescript to automate my Post to Jekyll workflow in BBEdit. This is essentially a combination of 2 separate scripts - Insert Front Matter and Rename Active Document1.

    Firstly, it asks for the Post title. Post Title Dialog

    And then, the script will automagically insert the Front Matter to the beginning of the document. This is the main reason why I created this script. Added Front Matter

    And finally it will use the post title as the document name, or you can change it, if you want to. Rename active document

    How does the script work

    • When the script runs, the explicit run handler will be executed first, display a dialog asking the user to input the Post title.
    • getTimeInHoursAndMinutes() to get today’s date and time as a string from (current date)
    • Assemble the Front Matter block with the entered Post title and current date and time.
    • findAndReplaceInText() to replace space “ “ with dash “-“ in the Post title. We don’t want space in our document’s name.
    • Rename the document to date+post-title.

    Complete Applescript listing, you can download (File: Insert Front Matter and Rename Document.scpt) from my Github
    on getTimeInHoursAndMinutes()
    	-- Get the "hour"
    	set timeStr to time string of (current date)
    	set Pos to offset of ":" in timeStr
    	set theHour to characters 1 thru (Pos - 1) of timeStr as string
    	set timeStr to characters (Pos + 1) through end of timeStr as string
    	-- Get the "minute"
    	set Pos to offset of ":" in timeStr
    	set theMin to characters 1 thru (Pos - 1) of timeStr as string
    	set timeStr to characters (Pos + 1) through end of timeStr as string
    	-- Get the "second"
    	set Pos to offset of " " in timeStr
    	set theSec to characters 1 thru (Pos - 1) of timeStr as string
    	set timeStr to characters (Pos + 1) through end of timeStr as string
    	set am_pm to timeStr
    	if (am_pm is "PM") then
    		set theHour to (theHour + 12) as string
    	end if
    	return (theHour & ":" & theMin & ":" & theSec) as string
    end getTimeInHoursAndMinutes
    on findAndReplaceInText(theText, theSearchString, theReplacementString)
    	set AppleScript's text item delimiters to theSearchString
    	set theTextItems to every text item of theText
    	set AppleScript's text item delimiters to theReplacementString
    	set theText to theTextItems as string
    	set AppleScript's text item delimiters to ""
    	return theText
    end findAndReplaceInText
    on run
    	tell application "BBEdit"
    		set the_text to text of front document
    		set dashLine to "---"
    		set layoutString to "layout: post"
    		display dialog "Post title?" default answer "untitled"
    		set titleEntered to the text returned of result
    		set titleString to "title: " & titleEntered
    		set {year:y, month:m, day:d, time:t} to (current date)
    		set timeString to my getTimeInHoursAndMinutes()
    		set dateString to "date: " & y & "-" & (m as number) & "-" & d & " " & timeString
    		set categoryString to "category: personal"
    		set tagString to "tags: "
    		set the text of front document to ¬
    			dashLine & return ¬
    			& layoutString & return ¬
    			& titleString & return ¬
    			& dateString & return ¬
    			& categoryString & return ¬
    			& tagString & return ¬
    			& dashLine & return ¬
    			& the_text & return ¬
    			as text
    		normalize line endings of text of front document
    		set titleEntered to my findAndReplaceInText(titleEntered, " ", "-")
    		set fileString to y & "-" & (m as number) & "-" & d & "-" & titleEntered as string
    		set old_name to name of text window 1
    		set dialog_result to display dialog ¬
    			"Rename active document:" default answer (fileString) ¬
    			buttons {"Cancel", "Rename"} default button 2 ¬
    			with icon note
    		if button returned of dialog_result = "Rename" then
    			set new_name to text returned of dialog_result
    			set d to active document of text window 1
    			if (d's on disk) then
    				set the_file to d's file
    				tell application "Finder"
    					set name of the_file to new_name
    					set name extension of the_file to "md"
    				end tell
    			else -- it's a document that has never been saved
    				set name of d to new_name
    			end if
    		end if
    	end tell
    end run
    1. Rename Active Document Applescript is directly adopted from Daring Fireball

  • The future hits home.

    Am I the only one to bet that the new HomePod would merge with Apple TV (the hardware) following the evolution of iPod? Is it a coincidence that a HomePod with battery power was cancelled because the new HomePod would have a cable out and connect to your TV?

    The future hits home.

  • Apple Glasses or What?

    Mark Gurman is speculating the names of the Apple AR/VR Headset (aka Apple Glasses):

    For an Apple headset, the process may be a little trickier. Obvious names like Glass or Spectacles have already been used by the likes of Google and Snap Inc. (Google Glass was considered a flop, and Snap Spectacles are still a work in progress.) So I think you can rule those out.

    Here are some possibilities:

    • Apple Vision
    • Apple Reality
    • Apple Sight / iSight
    • Apple Lens / Apple Googles
    • Apple AR, Apple VR, Apple XR, Apple MR or Apple SR

    Given the rumored features are focused on gaming, content and comms, I’d bet the name would be called Apple Pod, ViewPod or simply Apple Glasses.

  • RIP Beats Pill+

    I love my Beats Pill+, I don’t use it very often but it comes in handy when I want some more volume than my iPhone provides. It was not updated for years so I am not surprised to hear it was discontinued last week, but I hope there is a battery-powered HomePod.

    Features Beats Pill+ HomePod
    Power Battery AC
    Siri No Yes
    Homekit No Yes
    Connection Bluetooth WiFi

    Beats Pill+

  • Hello, world!

    hello world

  • Trying BBEdit as Jekyll editor

    Feeling great to install BBEdit on my Mac 😎

  • What's "PlayStation"?

    What’s PlayStation

  • 2016 MacBook Pro with Touch Bar

    Apple Several months ago my 2016 MacBook Pro with Touch Bar has some strange black lines on the top of the display. They would often appear in cold environment, the position of the black lines are not fixed but they tend to be in the very top area near the menu bar.

    Recently the problem become worse and they would appear whenever the Mac wake up from sleep. Since the lines are flickering so it is very annoying. It turns out it is a very common problem for 2016 Touch Bar MBP.

    Today I went to Apple Store and book for a Genius Bar appointment, as expected the display is faulty and since my MBP is out of warranty already, the replacement charge for the LCD is HK$3800 (~US$490)! Wow!

    There is no way I’d spend that much for the replacement LCD, the problem is annoying but not to the point of unusable. The Genius does recommend me to use an external monitor or switch to Dark Mode. Oh he is really a genius! Turing the whole UI to dark theme really does help to reduce the distraction from the flickering black lines.

  • The New WookieWeb on Github

    Since the closure of Crazylabel, I have been thinking of the future of wookieweb.com - both the domain and the site. I don’t have an idea yet but I have been experimenting running an EC2 micro instance on AWS for Wordpress, it works well but I felt it is overkilled for what the site serves to me.

    My 2nd choice is hosting the site as a static web pages on AWS S3, I tried Jekyll few years ago and in fact the local site folder is still on my Mac. Well, why don’t I start with it and build further? So here we go! The only problem with local Jekyll installation is that I have to rely on my Mac to create and generate the site files. Now that I’m with my iPhone much longer than the time with my Mac, this doesn’t bode well for me to stick with this workflow. I need to update my site with either Macs or iOS devices.

    Github comes to the rescue! It is free and it’s builtin support of Markdown and Jekyll is perfect! And this comes the new WookieWeb on Github. The same old WookieWeb living on Github!

  • When a G4 Cube is not a G4 Cube

    Few days ago was the sixth anniversary of Steve Jobs’ passing. He loves cubes, when he returned to Apple, he did it again. Even though both cubes were a commercial failure but they are a few most admired products in the history. You can find them in museums like MoMA. I love it, but I couldn’t afford it, so I hacked one, in 2002.

    When a G4 Cube is not a G4 Cube