diff options
Diffstat (limited to 'source')
98 files changed, 98 insertions, 98 deletions
diff --git a/source/blog/2014-10-20-hello-octopress.md b/source/blog/2014-10-20-hello-octopress.md index af095d16..8b6eb248 100644 --- a/source/blog/2014-10-20-hello-octopress.md +++ b/source/blog/2014-10-20-hello-octopress.md @@ -2,7 +2,7 @@ title: "Hello, Octopress!" date: 2014-10-20T16:53:00-0700 date_display: October 20, 2014 -... +--- This post marks my transition from Tumblr to Octopress & GitHub Pages. diff --git a/source/blog/2014-10-20-help-mou-hit-1-dot-0.md b/source/blog/2014-10-20-help-mou-hit-1-dot-0.md index 1be5e3c1..773e1916 100644 --- a/source/blog/2014-10-20-help-mou-hit-1-dot-0.md +++ b/source/blog/2014-10-20-help-mou-hit-1-dot-0.md @@ -2,7 +2,7 @@ title: "Help Mou hit 1.0" date: 2014-10-20T17:37:45-0700 date_display: October 20, 2014 -... +--- Quick call for [Mou 1.0 fundraiser](https://www.indiegogo.com/projects/mou-1-0-markdown-editor-on-os-x-for-you) on Indiegogo. At the time of writing, it has raised $6,178/$20,000, and has 39 days to go (with 21 already passed). diff --git a/source/blog/2014-10-21-get-rolling.md b/source/blog/2014-10-21-get-rolling.md index d3b00a65..9d64fff7 100644 --- a/source/blog/2014-10-21-get-rolling.md +++ b/source/blog/2014-10-21-get-rolling.md @@ -2,7 +2,7 @@ title: "Get rolling" date: 2014-10-21T11:40:14-0700 date_display: October 21, 2014 -... +--- Yesterday, on an internet forum, I saw someone’s signature, which translates to diff --git a/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md b/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md index 5ead2e94..53e3e40e 100644 --- a/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md +++ b/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md @@ -2,7 +2,7 @@ title: "Ripping copy-protected DVD with mpv" date: 2014-10-23T20:03:22-0700 date_display: October 23, 2014 -... +--- **_11/02/2014 update:_** diff --git a/source/blog/2014-10-24-charles-munger-donated-$65m-to-kitp.md b/source/blog/2014-10-24-charles-munger-donated-$65m-to-kitp.md index 2cb75144..365ad718 100644 --- a/source/blog/2014-10-24-charles-munger-donated-$65m-to-kitp.md +++ b/source/blog/2014-10-24-charles-munger-donated-$65m-to-kitp.md @@ -2,7 +2,7 @@ title: "Charles Munger donated $65M to KITP" date: 2014-10-24T16:41:36-0700 date_display: October 24, 2014 -... +--- Today's news has it that Charles Munger made a $65 million donation to KITP at UCSB. See for instance [this article](http://nyti.ms/1D4zg24) on NYT. Of course I didn't learn it from NYT (I'm generally sick of any news other than math, physics, or IT-related ones). I learned it from [Not Even Wrong](http://www.math.columbia.edu/~woit/wordpress/?p=7247) instead (of course I don't agree with Woit, but some of his links are nice). diff --git a/source/blog/2014-10-25-os-x-package-receipts.md b/source/blog/2014-10-25-os-x-package-receipts.md index 99e20bed..e04f026a 100644 --- a/source/blog/2014-10-25-os-x-package-receipts.md +++ b/source/blog/2014-10-25-os-x-package-receipts.md @@ -2,7 +2,7 @@ title: "OS X package receipts" date: 2014-10-25T13:26:02-0700 date_display: October 25, 2014 -... +--- I just learned something new. Whenever you install a `pkg` on OS X, OS X stores a receipt of what was installed in `/var/db/receipts` (I'm running OS X 10.9.5 at the time of writing), called a **bom** — bill of materials (I’d rather call it a manifest, whatever). This feature was introduced in NeXTSTEP. From `man 5 bom`: diff --git a/source/blog/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.md b/source/blog/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.md index f3ad244e..6679537e 100644 --- a/source/blog/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.md +++ b/source/blog/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.md @@ -2,7 +2,7 @@ title: "Convert Audio CD/DVD to ISO image on OS X" date: 2014-10-26T23:29:47-0700 date_display: October 26, 2014 -... +--- **_11/02/2014 update:_** diff --git a/source/blog/2014-10-26-disk-visualizer-daisydisk.md b/source/blog/2014-10-26-disk-visualizer-daisydisk.md index 75d4aa4f..c55eb4ba 100644 --- a/source/blog/2014-10-26-disk-visualizer-daisydisk.md +++ b/source/blog/2014-10-26-disk-visualizer-daisydisk.md @@ -2,7 +2,7 @@ title: "Disk visualizer: DaisyDisk" date: 2014-10-26T00:02:22-0700 date_display: October 26, 2014 -... +--- DaisyDisk is a pretty famous name. I’ve heard a lot that DaisyDisk is beautiful, but as a “power user” I always feel ashamed about using a disk analyzer or visualizer (although no one really cares). I’m pretty comfortable with doing most filesystem operations right in the shell, and for other tasks too tedious for the shell (like renaming a bunch of files with no obvious pattern), Finder (equipped with TotalFinder) works just fine. diff --git a/source/blog/2014-10-27-onedrive-goes-unlimited.md b/source/blog/2014-10-27-onedrive-goes-unlimited.md index d92d2cc4..7f394254 100644 --- a/source/blog/2014-10-27-onedrive-goes-unlimited.md +++ b/source/blog/2014-10-27-onedrive-goes-unlimited.md @@ -2,7 +2,7 @@ title: "OneDrive goes unlimited" date: 2014-10-27T09:44:51-0700 date_display: October 27, 2014 -... +--- **10/28/2014 Update:** diff --git a/source/blog/2014-10-28-google-drive-no-selective-subfolder-sync.md b/source/blog/2014-10-28-google-drive-no-selective-subfolder-sync.md index 51c3e025..06a72b4b 100644 --- a/source/blog/2014-10-28-google-drive-no-selective-subfolder-sync.md +++ b/source/blog/2014-10-28-google-drive-no-selective-subfolder-sync.md @@ -2,7 +2,7 @@ title: "Google Drive — no selective subfolder sync?" date: 2014-10-28T20:49:24-0700 date_display: October 28, 2014 -... +--- Up to this point I've been using Google Drive as an online backup service, and uploads files mostly manually, although I do sync `~/img` with the client. diff --git a/source/blog/2014-10-28-mou-1-dot-0-fundraiser-goal-reached.md b/source/blog/2014-10-28-mou-1-dot-0-fundraiser-goal-reached.md index 540e3bc7..0afafdd4 100644 --- a/source/blog/2014-10-28-mou-1-dot-0-fundraiser-goal-reached.md +++ b/source/blog/2014-10-28-mou-1-dot-0-fundraiser-goal-reached.md @@ -2,7 +2,7 @@ title: "Mou 1.0 fundraiser: goal reached" date: 2014-10-28T01:57:06-0700 date_display: October 28, 2014 -... +--- A week ago I wrote a post [*Help Mou hit 1.0*](blog/2014/10/20/help-mou-hit-1-dot-0/). Today, I'm delighted to find out that Mou has reached its goal, $20,000, half way into the fundraiser. diff --git a/source/blog/2014-10-29-fun.md b/source/blog/2014-10-29-fun.md index f3a6b09a..4e733427 100644 --- a/source/blog/2014-10-29-fun.md +++ b/source/blog/2014-10-29-fun.md @@ -2,7 +2,7 @@ title: "Fun" date: 2014-10-29T11:26:29-0700 date_display: October 29, 2014 -... +--- This happened in yesterday's Math 210A lecture. diff --git a/source/blog/2014-11-02-vobcopy-dvdbackup-etc.md b/source/blog/2014-11-02-vobcopy-dvdbackup-etc.md index adcb1e95..b0b1d8ca 100644 --- a/source/blog/2014-11-02-vobcopy-dvdbackup-etc.md +++ b/source/blog/2014-11-02-vobcopy-dvdbackup-etc.md @@ -2,7 +2,7 @@ title: "vobcopy, dvdbackup, etc." date: 2014-11-02T15:06:07-0800 date_display: November 2, 2014 -... +--- A few days ago, I was cloning my entire Audio CD and DVD collection, and reported some of the findings in [this post](/blog/2014-10-26-audio-cd-slash-dvd-to-iso-image-on-os-x.html). As said, the most important commands are diff --git a/source/blog/2014-11-05-apple-is-pushing-yosemite-hard.md b/source/blog/2014-11-05-apple-is-pushing-yosemite-hard.md index a50299c7..9b9bf3f1 100644 --- a/source/blog/2014-11-05-apple-is-pushing-yosemite-hard.md +++ b/source/blog/2014-11-05-apple-is-pushing-yosemite-hard.md @@ -2,7 +2,7 @@ title: "Apple is pushing Yosemite hard" date: 2014-11-05T22:17:01-0800 date_display: November 5, 2014 -... +--- Apple is pushing Yosemite hard and secretly Yosemitizing things. iTunes was updated to its shiny new look on Mavericks, day one upon Yosemite launch. I liked it. The only problems I had with the new iTunes are: diff --git a/source/blog/2014-11-05-list-youtube-playlist-with-youtube-dl.md b/source/blog/2014-11-05-list-youtube-playlist-with-youtube-dl.md index 18eda3af..fa624b69 100644 --- a/source/blog/2014-11-05-list-youtube-playlist-with-youtube-dl.md +++ b/source/blog/2014-11-05-list-youtube-playlist-with-youtube-dl.md @@ -2,7 +2,7 @@ title: "List YouTube playlist with youtube-dl" date: 2014-11-05T10:37:58-0800 date_display: November 5, 2014 -... +--- Of course you are always welcome to use the [Google APIs Client Library for Python](https://developers.google.com/api-client-library/python/) to wrestle with YouTube, which is usually pretty simple. (As an added bonus, YouTube has some [nice runnable sample scripts](https://developers.google.com/youtube/v3/code_samples/) to get you started.) With the client library, listing videos in a YouTube playlist is a breeze. diff --git a/source/blog/2014-11-06-2014-nobel-prize-in-physics-led-lights-seriously.md b/source/blog/2014-11-06-2014-nobel-prize-in-physics-led-lights-seriously.md index 9bdecacd..2805a7a8 100644 --- a/source/blog/2014-11-06-2014-nobel-prize-in-physics-led-lights-seriously.md +++ b/source/blog/2014-11-06-2014-nobel-prize-in-physics-led-lights-seriously.md @@ -2,7 +2,7 @@ title: "2014 Nobel Prize in Physics — LED lights, seriously?" date: 2014-11-06T11:08:45-0800 date_display: November 6, 2014 -... +--- For some reason, I only learned about this year’s laureates today, through [the reference frame](http://motls.blogspot.com/2014/11/ex-employer-wont-meet-blue-led-nobel.html). The prize goes to the inventors of the LED. Not exciting at all, so I don’t care if I’m ever informed. (Lubos has a good point on why applied physics — well, let’s even widen the concept of applied physics a bit — should not surprise anyone when they appear in a Nobel Prize announcement: “After all, Alfred Nobel might have very well considered his dynamite to be a discovery in physics, too.”) diff --git a/source/blog/2014-11-07-interstellar.md b/source/blog/2014-11-07-interstellar.md index 43bc5b3e..4e7d9f92 100644 --- a/source/blog/2014-11-07-interstellar.md +++ b/source/blog/2014-11-07-interstellar.md @@ -2,7 +2,7 @@ title: "Interstellar" date: 2014-11-07T23:56:31-0800 date_display: November 7, 2014 -... +--- Today (I mean November 7, 2014 — it’s technically November 8 at the time of writing) I saw [*Interstellar*](https://en.wikipedia.org/wiki/Interstellar_%28film%29) (IMAX digital) at AMC Mercado 20. I rarely go to movie theaters, less on the release day (film formats of *Interstellar* were released on November 5, and digital formats followed on November 7). However, reviews of it were positive (from the physics community), and I really need a way to release stress these days — I wasn’t in the right condition for months. So I figured I’d just spend an afternoon in front of the big screen. diff --git a/source/blog/2014-11-10-average-phone-plan-in-the-u-dot-s-costs-ten-time-as-much-as-that-in-the-u-dot-k.md b/source/blog/2014-11-10-average-phone-plan-in-the-u-dot-s-costs-ten-time-as-much-as-that-in-the-u-dot-k.md index 4768afcc..d80b421a 100644 --- a/source/blog/2014-11-10-average-phone-plan-in-the-u-dot-s-costs-ten-time-as-much-as-that-in-the-u-dot-k.md +++ b/source/blog/2014-11-10-average-phone-plan-in-the-u-dot-s-costs-ten-time-as-much-as-that-in-the-u-dot-k.md @@ -2,7 +2,7 @@ title: "Average phone plan in the U.S. costs ten time as much as that in the U.K." date: 2014-11-10T11:11:46-0800 date_display: November 10, 2014 -... +--- To quote [Opera News](http://blogs.opera.com/news/2014/11/mobile-data-anyway/), diff --git a/source/blog/2014-11-11-re-encoding-everything-for-iphone-6-plus.md b/source/blog/2014-11-11-re-encoding-everything-for-iphone-6-plus.md index 9dd1d84a..c80cbe18 100644 --- a/source/blog/2014-11-11-re-encoding-everything-for-iphone-6-plus.md +++ b/source/blog/2014-11-11-re-encoding-everything-for-iphone-6-plus.md @@ -2,6 +2,6 @@ title: "Re-encoding everything for iPhone 6 Plus" date: 2014-11-11T13:31:25-0800 date_display: November 11, 2014 -... +--- AT&T finally delivered my iPhone 6 Plus (silver, 64 GB) after about fifty days since preorder… The 1080p Retina display is simply stunning. However, it turns out that my old videos don’t work so well on 6 Plus’s giant screen. My old mobile video collection was optimized for my 16 GB 4S, targeting the small screen and highly limited storage — you guessed it, they were resized to 960x540, and they looked great. But they’re not up to the task any more. 960x540 videos aren’t at all sharp on the stunning screen of 6 Plus, which is more than capable of handling 4x pixels. Therefore, I have no choice but to feed it more pixels. I’m left in a weird situation, where my 1080p desktop (or even HDTV) quality videos should fit the screen just fine, but H.264 profile stands in the way. iPhone 6 and 6 Plus are only capable of High Profile level 4.2, so anything encoded in level 5.1, for instance, needs to be re-encoded. Also there are still MPEG-2 and MPEG-4 videos out there (MPEG-4 should be obsolete by now, I assume, but some people still use it; and MPEG-2 is de facto in TV broadcasts), which have to be transcoded. Okay, it’s a daunting task to re-encode a fairly big collection, but I have to do it sooner or later. Presumably this weekend. I’ll also report whether 720p videos look sharp on the screen later. diff --git a/source/blog/2014-11-19-convolution-of-irreducible-characters.md b/source/blog/2014-11-19-convolution-of-irreducible-characters.md index 27629d40..7466b1cd 100644 --- a/source/blog/2014-11-19-convolution-of-irreducible-characters.md +++ b/source/blog/2014-11-19-convolution-of-irreducible-characters.md @@ -2,7 +2,7 @@ title: "Convolution of irreducible characters" date: 2014-11-19T20:40:37-0800 date_display: November 19, 2014 -... +--- __*TL; DR:* The actual PDF write-up is [here](https://dl.bintray.com/zmwangx/generic/20141119-convolution-of-irreducible-characters.pdf).__ diff --git a/source/blog/2014-11-20-dropbot-for-geeks(r).md b/source/blog/2014-11-20-dropbot-for-geeks(r).md index 1d259046..ed3c706e 100644 --- a/source/blog/2014-11-20-dropbot-for-geeks(r).md +++ b/source/blog/2014-11-20-dropbot-for-geeks(r).md @@ -2,7 +2,7 @@ title: "Dropbot for Geeks®" date: 2014-11-20T09:48:15-0800 date_display: November 20, 2014 -... +--- I propose the following cloud storage and syncing service model of the future. I call it **Dropbot for Geeks®**, and it totally rules. It's designed for geeks who are tired of the highly limited, miserably unproductive traditional services (based on clicking around). It has the following features: diff --git a/source/blog/2014-11-24-iphone-photography-frustration.md b/source/blog/2014-11-24-iphone-photography-frustration.md index 1e6d0cf6..beb54f0e 100644 --- a/source/blog/2014-11-24-iphone-photography-frustration.md +++ b/source/blog/2014-11-24-iphone-photography-frustration.md @@ -2,7 +2,7 @@ title: "iPhone photography frustration" date: 2014-11-24T12:42:25-0800 date_display: November 24, 2014 -... +--- **TL; DR:** Jump to the paragraph “In the end…” diff --git a/source/blog/2014-11-24-why-i-abandoned-mathjax-and-fell-back-to-pdf.md b/source/blog/2014-11-24-why-i-abandoned-mathjax-and-fell-back-to-pdf.md index 8a4a91b3..8ff1b6b6 100644 --- a/source/blog/2014-11-24-why-i-abandoned-mathjax-and-fell-back-to-pdf.md +++ b/source/blog/2014-11-24-why-i-abandoned-mathjax-and-fell-back-to-pdf.md @@ -2,7 +2,7 @@ title: "Why I abandoned MathJax and fell back to PDF" date: 2014-11-24T20:54:36-0800 date_display: November 24, 2014 -... +--- Recently I wrote an expository article, [*Convolution of irreducible characters*](/pdf/20141119-convolution-of-irreducible-characters.pdf), and posted it [here](/blog/2014-11-19-convolution-of-irreducible-characters.html). At first I intended to use MathJax, but in the end I fell back to good ol' PDF. Here's why. diff --git a/source/blog/2014-11-25-i-got-16-gigs-of-ram.md b/source/blog/2014-11-25-i-got-16-gigs-of-ram.md index d30a47f5..75aecc29 100644 --- a/source/blog/2014-11-25-i-got-16-gigs-of-ram.md +++ b/source/blog/2014-11-25-i-got-16-gigs-of-ram.md @@ -2,7 +2,7 @@ title: "I got 16 gigs of RAM" date: 2014-11-25T16:28:30-0800 date_display: November 25, 2014 -... +--- Today I upgraded the RAM of my MacBook Pro mid-2012 to 2x8GB. I purchased the [Crucial 16GB Kit (8GBx2) DDR3/DDR3L 1600 MHz (PC3-12800) CL11 SODIMM 204-Pin 1.35V/1.5V Memory for Mac CT2K8G3S160BM](http://smile.amazon.com/dp/B008LTBJFW) from Amazon, which cost me $146.64 after tax. I followed the [official guide](http://support.apple.com/en-us/HT201165) as well as the [iFixit guide](https://www.ifixit.com/Guide/MacBook+Pro+13-Inch+Unibody+Mid+2012+RAM+Replacement/10374). To finish the job I needed a Phillips #00 screwdriver and a spudger, so I purchased the [spudger](https://www.ifixit.com/Store/Tools/Spudger/IF145-002) and the [54 bit driver kit](https://www.ifixit.com/Store/Tools/54-Bit-Driver-Kit/IF145-022-1) from iFixit. diff --git a/source/blog/2014-11-26-original-images-in-day-one-journal.md b/source/blog/2014-11-26-original-images-in-day-one-journal.md index b852f4d7..d68d365e 100644 --- a/source/blog/2014-11-26-original-images-in-day-one-journal.md +++ b/source/blog/2014-11-26-original-images-in-day-one-journal.md @@ -2,7 +2,7 @@ title: "Original images in Day One journal" date: 2014-11-26T00:22:16-0800 date_display: November 26, 2014 -... +--- **TL; DR:** Jump to the paragraph beginning with “workaround”. diff --git a/source/blog/2014-11-28-given-infinite-time.md b/source/blog/2014-11-28-given-infinite-time.md index 102270bd..a0d3648f 100644 --- a/source/blog/2014-11-28-given-infinite-time.md +++ b/source/blog/2014-11-28-given-infinite-time.md @@ -2,6 +2,6 @@ title: "Given infinite time" date: 2014-11-28T00:18:19-0800 date_display: November 28, 2014 -... +--- Given infinite time. There's so much I can do *given infinite time*. I don't think I'll ever be bored. But sadly the time assigned to each human being is finite. Actually it's epsilon, epsilon approaching zero. Sadly. diff --git a/source/blog/2014-11-28-going-diceware.md b/source/blog/2014-11-28-going-diceware.md index e2d2b06c..0e66daac 100644 --- a/source/blog/2014-11-28-going-diceware.md +++ b/source/blog/2014-11-28-going-diceware.md @@ -2,7 +2,7 @@ title: "Going Diceware" date: 2014-11-28T19:05:59-0800 date_display: November 28, 2014 -... +--- Today I'm officially going [Diceware](http://world.std.com/~reinhold/diceware.html). I published my simple C implementation of diceware on [GitHub](https://github.com/zmwangx/diceware). diff --git a/source/blog/2014-11-30-opera-style-advanced-keyboard-shortcuts-in-safari.md b/source/blog/2014-11-30-opera-style-advanced-keyboard-shortcuts-in-safari.md index e757f37c..3e0d005e 100644 --- a/source/blog/2014-11-30-opera-style-advanced-keyboard-shortcuts-in-safari.md +++ b/source/blog/2014-11-30-opera-style-advanced-keyboard-shortcuts-in-safari.md @@ -2,7 +2,7 @@ title: "Opera-style advanced keyboard shortcuts in Safari" date: 2014-11-30T17:20:20-0800 date_display: November 30, 2014 -... +--- I've been using the Chromuim Opera for a long time, after Chrome's design went unbearably ugly around v32 (IIRC Opera stable channel was on v19 when I switched, which was released on January 28, 2014). From then on, Opera's [advanced keyboard shortcuts](http://help.opera.com/opera/Mac/1583/en/fasterBrowsing.html#advanced) has become an integral part of my browsing habit. In particular, the following are especially handy for me: diff --git a/source/blog/2014-12-05-distraction-free-writing.md b/source/blog/2014-12-05-distraction-free-writing.md index 5b1f80ce..a65ab166 100644 --- a/source/blog/2014-12-05-distraction-free-writing.md +++ b/source/blog/2014-12-05-distraction-free-writing.md @@ -2,7 +2,7 @@ title: "Distraction free writing" date: 2014-12-05T21:09:10-0800 date_display: December 5, 2014 -... +--- This is not the first time that a distraction free writing app is featured on the Mac App Store. This time the candidate is [Desk](https://itunes.apple.com/us/app/desk/id915839505?mt=12). The official website is [here](http://desk.pm), but licensing is MAS-exclusive. The icon looks like this: diff --git a/source/blog/2014-12-10-omnifocus-change-sync-behavior-mac-and-ios.md b/source/blog/2014-12-10-omnifocus-change-sync-behavior-mac-and-ios.md index 45c430cd..3f68969b 100644 --- a/source/blog/2014-12-10-omnifocus-change-sync-behavior-mac-and-ios.md +++ b/source/blog/2014-12-10-omnifocus-change-sync-behavior-mac-and-ios.md @@ -2,7 +2,7 @@ title: "OmniFocus: change sync behavior, Mac and iOS" date: 2014-12-10T22:45:34-0800 date_display: December 10, 2014 -... +--- On OS X, the following URIs are relevant: diff --git a/source/blog/2014-12-13-the-mac-like-evernote.md b/source/blog/2014-12-13-the-mac-like-evernote.md index 810db627..8f8d5f6b 100644 --- a/source/blog/2014-12-13-the-mac-like-evernote.md +++ b/source/blog/2014-12-13-the-mac-like-evernote.md @@ -2,7 +2,7 @@ title: "The Mac-like Evernote" date: 2014-12-13T21:47:31-0800 date_display: December 13, 2014 -... +--- Once in a while (maybe a year, maybe several months — not set in stone), I give big name free services not in use a chance to convince me. Evernote is one such service. The interface used to look very cheap and cluttered. I hated it. However, this time I'm sold. Now everything Evernote, from its Mac app to its iOS app to its web design to its physical products, looks distinctively Mac-like. (I use Mac-like to refer to Apple's design philosophy, including iOS. Well, I guess the Android and Windows apps aren't Mac-like.) I mean, just look at the screenshots: diff --git a/source/blog/2014-12-14-speeding-up-emacs-with-emacsclient.md b/source/blog/2014-12-14-speeding-up-emacs-with-emacsclient.md index 4698fb68..54cded76 100644 --- a/source/blog/2014-12-14-speeding-up-emacs-with-emacsclient.md +++ b/source/blog/2014-12-14-speeding-up-emacs-with-emacsclient.md @@ -2,7 +2,7 @@ title: "Speeding up Emacs with emacsclient" date: 2014-12-14T10:06:02-0800 date_display: December 14, 2014 -... +--- Emacs is notorious for its loading time. For me, this is especially annoying when I'm editing LaTeX files — AUCTeX takes about five seconds to load, and once I exit Emacs (especially after a quick edit), all that work is wasted, and next time I want to do some quick editing with that same LaTeX file — sorry, another five seconds. diff --git a/source/blog/2014-12-14-the-google-chrome-comic-a-classic.md b/source/blog/2014-12-14-the-google-chrome-comic-a-classic.md index f258de5a..f3d7f791 100644 --- a/source/blog/2014-12-14-the-google-chrome-comic-a-classic.md +++ b/source/blog/2014-12-14-the-google-chrome-comic-a-classic.md @@ -2,7 +2,7 @@ title: "The Google Chrome Comic — A classic" date: 2014-12-14T17:42:55-0800 date_display: December 14, 2014 -... +--- I was cleaning up my Opera bookmarks just now — I'm semi-officially leaving Opera for Safari. Of course, Safari still can't handle everything (e.g., Adblock Plus is still not so good on Safari, YouTubeCenter lags behind and I don't bother to compile myself — yes, I have a certificate, and some power user features simply don't exist), so I'm still going to Opera/Opera beta/Chrome/Firefox for certain tasks. But Safari is very nice. For the first time. diff --git a/source/blog/2014-12-19-app-suggestion-dropzone-3.md b/source/blog/2014-12-19-app-suggestion-dropzone-3.md index 1a832fee..d2695d9a 100644 --- a/source/blog/2014-12-19-app-suggestion-dropzone-3.md +++ b/source/blog/2014-12-19-app-suggestion-dropzone-3.md @@ -2,7 +2,7 @@ title: "App suggestion: Dropzone 3" date: 2014-12-19T14:08:57-0800 date_display: December 19, 2014 -... +--- I recently tried and purchased [Dropzone 3](https://aptonic.com/dropzone3/). See a list of features on the linked official website. In short, Dropzone 3 provides an intermediate zone for drag-n-drop. You can use it as a stash (called "Drop Bar" — stacking is available), use it as a shortcut by putting frequently used folders and applications there, or trigger actions by dropping. There are a dozen builtin actions and [an additional list of readily available actions](https://aptonic.com/dropzone3/actions/), covering common web drives, SNS and file sharing sites. **Better yet, you can develop your custom actions with the easy-to-use [Ruby API](https://github.com/aptonic/dropzone3-actions/blob/master/README.md#dzalerttitle-message).** For instance, I wrote a simple Google Translate action, `Google Translate.dzbundle` ([link](https://gist.github.com/zmwangx/b27f106a8ba47468a43d)), based on [translate-shell](https://github.com/soimort/translate-shell). (You know, it's Ruby, so calling external commands and concatenating strings feel at home, as if you are coding in Perl or directly in shell; unlike Python, where you at least need to `import subprocess` then `subprocess.check_output` to get the output of an external command, and have to use a bunch of stupid `+`'s to get your goddamn message to print.) diff --git a/source/blog/2014-12-22-10k-images-on-imgur.md b/source/blog/2014-12-22-10k-images-on-imgur.md index a8c3c8f3..19760764 100644 --- a/source/blog/2014-12-22-10k-images-on-imgur.md +++ b/source/blog/2014-12-22-10k-images-on-imgur.md @@ -2,6 +2,6 @@ title: "10k images on imgur" date: 2014-12-22T12:42:16-0800 date_display: December 22, 2014 -... +--- I happened to check my imgur account just now (haven't been to the web interface for ages), and you know what, I have uploaded 10,744 images since I created the account in February this year! (I've been using imgur for longer than that; previously I uploaded images anonymously.) Most of the 10k images were uploaded via scripts using the API. This again demonstrates the importance of a good API — without the imgur API I wouldn't have been able to upload hundreds of images with a few keystrokes all in a snap, and getting links would be a huge pain in the ass. There are myriad image hosting services out there, but imgur rules 'em all, thanks to its decent API (and also its good CDN and direct image links, of course). diff --git a/source/blog/2014-12-23-mpv-launcher.md b/source/blog/2014-12-23-mpv-launcher.md index ad3bfbf1..24741a5a 100644 --- a/source/blog/2014-12-23-mpv-launcher.md +++ b/source/blog/2014-12-23-mpv-launcher.md @@ -2,7 +2,7 @@ title: "mpv launcher" date: 2014-12-23T00:51:05-0800 date_display: December 23, 2014 -... +--- **_04/06/2015 update:_** diff --git a/source/blog/2015-01-01-os-x-system-ruby-encoding-annoyance.md b/source/blog/2015-01-01-os-x-system-ruby-encoding-annoyance.md index d2f2ac06..f0c6b70b 100644 --- a/source/blog/2015-01-01-os-x-system-ruby-encoding-annoyance.md +++ b/source/blog/2015-01-01-os-x-system-ruby-encoding-annoyance.md @@ -2,7 +2,7 @@ title: "OS X system ruby encoding annoyance" date: 2015-01-01T22:49:39-0800 date_display: January 1, 2015 -... +--- I've been using RVM (with fairly up-to-date Rubies) and pry since my day one with Ruby (well, almost), so it actually surprises me today when I found out by chance how poorly the system Ruby behaves when it comes to encoding. diff --git a/source/blog/2015-01-10-fonts-why-chinese-web-design-is-hard.md b/source/blog/2015-01-10-fonts-why-chinese-web-design-is-hard.md index ed086d26..41d84c57 100644 --- a/source/blog/2015-01-10-fonts-why-chinese-web-design-is-hard.md +++ b/source/blog/2015-01-10-fonts-why-chinese-web-design-is-hard.md @@ -2,7 +2,7 @@ title: "Fonts: why Chinese web design is hard" date: 2015-01-10T09:30:02-0800 date_display: January 10, 2015 -... +--- For years I've been complaining about Chinese websites' horrendous designs. Yesterday I tried to translate one of my simple project websites to Chinese, and finally realized that web design for the Chinese language is no simple task — much harder than for English. The problem is fonts. This might not be the only problem (and cannot take blame for all the horrendous designs), but it certainly seems to be a roadblock. diff --git a/source/blog/2015-01-21-web-design-microsoft-vs-apple.md b/source/blog/2015-01-21-web-design-microsoft-vs-apple.md index 7a7e619e..de0ada46 100644 --- a/source/blog/2015-01-21-web-design-microsoft-vs-apple.md +++ b/source/blog/2015-01-21-web-design-microsoft-vs-apple.md @@ -2,7 +2,7 @@ title: "Web design: Microsoft vs Apple" date: 2015-01-21T16:30:51-0800 date_display: January 21, 2015 -... +--- I just had a look at Ars's live blog on today's Windows 10 Event to acquire a sense of where Windows is heading. There's not much to report. Safari rip-off (Microsoft's new Spartan — wait, is this name also inspired by Safari? — features reading mode and offline reading list, Safari's killer features) aside, the focus seems to be virtual assistant, PC-tablet-phone integration, and gaming, none of which I'm interested in. The hologram thing does look cool, but putting the hype aside, I doubt if it will be really useful for the masses (except probably in gaming, one of my most despised applications of computing). I'm not a visionary so maybe I'm underestimating this. diff --git a/source/blog/2015-02-10-monitor-progress-of-your-unix-pipes-with-pv.md b/source/blog/2015-02-10-monitor-progress-of-your-unix-pipes-with-pv.md index 9a8c53b1..59c77a25 100644 --- a/source/blog/2015-02-10-monitor-progress-of-your-unix-pipes-with-pv.md +++ b/source/blog/2015-02-10-monitor-progress-of-your-unix-pipes-with-pv.md @@ -2,7 +2,7 @@ title: "Monitor progress of your Unix pipes with pv" date: 2015-02-10T02:18:30-0800 date_display: February 10, 2015 -... +--- Recently I found a very useful utility called `pv` (for "pipe viewer"). [Here](http://www.ivarch.com/programs/pv.shtml) is its home page, and it can be easily installed with `brew`. According to its man page, diff --git a/source/blog/2015-02-17-microsoft-is-getting-cool-but-not-its-website.md b/source/blog/2015-02-17-microsoft-is-getting-cool-but-not-its-website.md index 811e2de6..3928e2df 100644 --- a/source/blog/2015-02-17-microsoft-is-getting-cool-but-not-its-website.md +++ b/source/blog/2015-02-17-microsoft-is-getting-cool-but-not-its-website.md @@ -2,7 +2,7 @@ title: "Microsoft is getting cool (but not its website)" date: 2015-02-17T18:57:19-0800 date_display: February 17, 2015 -... +--- Microsoft is getting kind of cool. For instance, open sourcing .NET last year caused quite a buzz. Ars has a good piece about this: [Microsoft’s continuing efforts to be cool](http://arstechnica.com/information-technology/2015/02/microsofts-continuing-efforts-to-be-cool/). diff --git a/source/blog/2015-02-20-my-dock-and-updated-omnifocus.md b/source/blog/2015-02-20-my-dock-and-updated-omnifocus.md index 603015b5..ce022ab3 100644 --- a/source/blog/2015-02-20-my-dock-and-updated-omnifocus.md +++ b/source/blog/2015-02-20-my-dock-and-updated-omnifocus.md @@ -2,7 +2,7 @@ title: "My dock and updated OmniFocus" date: 2015-02-20T16:16:10-0800 date_display: February 20, 2015 -... +--- > Simplicity is the ultimate sophistication. diff --git a/source/blog/2015-02-21-all-is-not-lost.md b/source/blog/2015-02-21-all-is-not-lost.md index 279f17ff..942965bc 100644 --- a/source/blog/2015-02-21-all-is-not-lost.md +++ b/source/blog/2015-02-21-all-is-not-lost.md @@ -2,7 +2,7 @@ title: "All is not lost" date: 2015-02-21T17:12:32-0800 date_display: February 21, 2015 -... +--- Lubos Motl always attacks the Many-Worlds Interpretation as if it is on the same level as anti-scientific claims. He even went on to attack Hugh Everett (the guy who first formulated this interpretation) personally; *ad hominem* is of course typical Motl shit, and I don't bother to find those posts. Anyway, here's yet another one: [Many worlds: a Rozali-Carroll exchange](http://motls.blogspot.com/2015/02/many-worlds-rozali-carroll-exchange.html). diff --git a/source/blog/2015-02-24-the-new-onedrive-api.md b/source/blog/2015-02-24-the-new-onedrive-api.md index 6ec0943b..ba185ff0 100644 --- a/source/blog/2015-02-24-the-new-onedrive-api.md +++ b/source/blog/2015-02-24-the-new-onedrive-api.md @@ -2,7 +2,7 @@ title: "The new OneDrive API" date: 2015-02-24T18:31:19-0800 date_display: February 24, 2015 -... +--- Microsoft released the new OneDrive API today. See the blog post announcement [here](https://blog.onedrive.com/the-new-onedrive-api/). One highlight is that [large file upload](http://onedrive.github.io/items/upload_large_files.htm) is now officially supported. Previously, large file upload was handled with a semi-official API using the BITS protocol; the only documentation was a [gist](https://gist.github.com/rgregg/37ba8929768a62131e85). Now it is handled through standard HTTP `POST`. With this major release, there's likely a lot of work to be done with [python-onedrive](https://github.com/mk-fg/python-onedrive). I have opened an issue: [mk-fg/python-onedrive#52 — New OneDrive API support](https://github.com/mk-fg/python-onedrive/issues/52). diff --git a/source/blog/2015-03-22-back-up-os-x-app-icons.md b/source/blog/2015-03-22-back-up-os-x-app-icons.md index 91edd01a..0ec91559 100644 --- a/source/blog/2015-03-22-back-up-os-x-app-icons.md +++ b/source/blog/2015-03-22-back-up-os-x-app-icons.md @@ -2,7 +2,7 @@ title: "Back up OS X app icons" date: 2015-03-22T16:58:50-0700 date_display: March 22, 2015 -... +--- OS X application icons are valuable assets, and it's interesting to see how they evolve over time. This is especially the case when we upgraded to OS X 10.10 Yosemite, when Apple and many design-aware third party developers overhauled (mainly flattened) their icons. diff --git a/source/blog/2015-04-26-using-python-3-with-emacs-jedi.md b/source/blog/2015-04-26-using-python-3-with-emacs-jedi.md index 2f9899d6..c84cf0d5 100644 --- a/source/blog/2015-04-26-using-python-3-with-emacs-jedi.md +++ b/source/blog/2015-04-26-using-python-3-with-emacs-jedi.md @@ -2,7 +2,7 @@ title: "Using Python 3 with Emacs Jedi" date: 2015-04-26T21:19:14-0700 date_display: April 26, 2015 -... +--- Recently I'm working on [a hobby project in Python](https://github.com/zmwangx/storyboard), which means editing Python source files a lot. I've been using [Emacs Jedi](https://github.com/tkf/emacs-jedi) for almost as long as I've been writing Python, and it has been pretty helpful at completing away long names. diff --git a/source/blog/2015-05-03-why-oh-my-zsh-is-completely-broken.md b/source/blog/2015-05-03-why-oh-my-zsh-is-completely-broken.md index c449e7ef..4655c03f 100644 --- a/source/blog/2015-05-03-why-oh-my-zsh-is-completely-broken.md +++ b/source/blog/2015-05-03-why-oh-my-zsh-is-completely-broken.md @@ -2,7 +2,7 @@ title: "Why Oh My Zsh is completely broken" date: 2015-05-03T17:15:49-0700 date_display: May 3, 2015 -... +--- Today I moved from [Oh My Zsh](https://github.com/robbyrussell/oh-my-zsh) to [Prezto](https://github.com/sorin-ionescu/prezto), after using Oh My Zsh for about three years since 2012. I'll try to shed some light on the reasons in this post. diff --git a/source/blog/2015-05-05-graceful-handling-of-sigint-when-using-pythons-multiprocessingprocess.md b/source/blog/2015-05-05-graceful-handling-of-sigint-when-using-pythons-multiprocessingprocess.md index c5f1c915..6e6037a4 100644 --- a/source/blog/2015-05-05-graceful-handling-of-sigint-when-using-pythons-multiprocessingprocess.md +++ b/source/blog/2015-05-05-graceful-handling-of-sigint-when-using-pythons-multiprocessingprocess.md @@ -2,7 +2,7 @@ title: "Graceful handling of <code>SIGINT</code> when using Python's <code>multiprocessing.Process</code>" date: 2015-05-05T22:03:39-07:00 date_display: May 5, 2015 -... +--- Today I learned something about Python's (at least CPython's) multiprocessing and signal handling, and I would like to share it here. Basically my situation was such (when developing [`pydoc`](https://github.com/zmwangx/zmwangx.github.io/blob/source/pyblog) that powers this blog): diff --git a/source/blog/2015-05-05-new-blog-new-start.md b/source/blog/2015-05-05-new-blog-new-start.md index a0487d58..580d33c0 100644 --- a/source/blog/2015-05-05-new-blog-new-start.md +++ b/source/blog/2015-05-05-new-blog-new-start.md @@ -2,7 +2,7 @@ title: "New blog, new start" date: 2015-05-05T02:42:44-07:00 date_display: May 5, 2015 -... +--- Octopress has been serving me for the past six months, during which even Octopress itself underwent major changes — in fact, [Octopress 3.0.0](https://github.com/octopress/octopress/releases/tag/v3.0.0) was only released 3 days ago, which I never got to try. Anyway, Octopress's heavily colored interface grew old on me fairly quickly. I'm especially unhappy with the inline `<code>` tag, which is always wrapped in a white box and stands out too much (worse still, there's no visual difference when such a `<code>` tag is placed inside an `<a>` tag). Since I use inline code/verbatim a lot, many of my articles were littered with arbitrary boxes everywhere. diff --git a/source/blog/2015-05-06-searchable-settings-are-one-honking-great-idea-lets-do-more-of-those.md b/source/blog/2015-05-06-searchable-settings-are-one-honking-great-idea-lets-do-more-of-those.md index ac201266..a2f30cd4 100644 --- a/source/blog/2015-05-06-searchable-settings-are-one-honking-great-idea-lets-do-more-of-those.md +++ b/source/blog/2015-05-06-searchable-settings-are-one-honking-great-idea-lets-do-more-of-those.md @@ -2,7 +2,7 @@ title: "Searchable settings are one honking great idea — let's do more of those!" date: 2015-05-06T19:29:46-07:00 date_display: May 6, 2015 -... +--- I had to tweak some iOS settings just now, which wasn't a delightful experience. Since I just renovated my blog inside out and am still in the hype mode, I'll write a post on the interface design of settings or preferences. diff --git a/source/blog/2015-05-09-storyboard-reached-01.md b/source/blog/2015-05-09-storyboard-reached-01.md index d90fefd2..cfc44e5f 100644 --- a/source/blog/2015-05-09-storyboard-reached-01.md +++ b/source/blog/2015-05-09-storyboard-reached-01.md @@ -2,7 +2,7 @@ title: "<code>storyboard</code> reached 0.1" date: 2015-05-09T00:32:28-07:00 date_display: May 9, 2015 -... +--- For quite some time I've been working on a Python project called [`storyboard`](https://github.com/zmwangx/storyboard), and today I finally released the 0.1 stable (or you can think of it as 1.0). diff --git a/source/blog/2015-05-19-bash-the-special-slash-character-in-filename-expansion.md b/source/blog/2015-05-19-bash-the-special-slash-character-in-filename-expansion.md index a3a789f9..a30c220f 100644 --- a/source/blog/2015-05-19-bash-the-special-slash-character-in-filename-expansion.md +++ b/source/blog/2015-05-19-bash-the-special-slash-character-in-filename-expansion.md @@ -2,7 +2,7 @@ title: "Bash: the special slash character in filename expansion" date: 2015-05-19T18:33:51-07:00 date_display: May 19, 2015 -... +--- It is well-known and common sense that the slash character (`/`) serves a special role in Bash filename expansion. For instance, the asterisk `*` certainly won't match `/` or `.` when used in filename expansion; otherwise, a standalone `*` would match everything in the filesystem. diff --git a/source/blog/2015-05-22-using-a-command-table-as-wallpaper.md b/source/blog/2015-05-22-using-a-command-table-as-wallpaper.md index 19aa30d6..7e3e6fcc 100644 --- a/source/blog/2015-05-22-using-a-command-table-as-wallpaper.md +++ b/source/blog/2015-05-22-using-a-command-table-as-wallpaper.md @@ -2,7 +2,7 @@ title: "Using a command table as wallpaper" date: 2015-05-22T00:48:19-07:00 date_display: May 22, 2015 -... +--- Recently I cleaned up my source code directory, removed a lot of rarely-used, dated scripts, and grouped the remaining standalone scripts into a central place (`~/dev/scripts`)[^dev]. One thing I learned in this process is that I tend to write a reusable script but rarely actually reuse it (even if it sits on `PATH`), sometimes implementing the same functionality twice or typing a long command line over and over again. diff --git a/source/blog/2015-05-29-apples-customer-service-is-still-the-best-plus-an-authy-horror-story.md b/source/blog/2015-05-29-apples-customer-service-is-still-the-best-plus-an-authy-horror-story.md index 55dfdafc..7d17f6bb 100644 --- a/source/blog/2015-05-29-apples-customer-service-is-still-the-best-plus-an-authy-horror-story.md +++ b/source/blog/2015-05-29-apples-customer-service-is-still-the-best-plus-an-authy-horror-story.md @@ -2,7 +2,7 @@ title: "Apple's customer service is still the best (plus an Authy horror story)" date: 2015-05-29T20:40:05-07:00 date_display: May 29, 2015 -... +--- Recently the mute switch (officially known as the Ring/Silent switch) on my little-more-than-half-a-year-old iPhone 6 Plus stopped working. It almost always bounced back to ON (ring) position upon turning, and even if I could keep it at the OFF position for five seconds, it would most likely bounce back when I thrust it into my pocket. I got bitten a few times — almost got heart attacks when the phone dinged loudly in class. Minor yet annoying problem. diff --git a/source/blog/2015-05-30-using-a-personal-helper-package-in-everyday-scripting.md b/source/blog/2015-05-30-using-a-personal-helper-package-in-everyday-scripting.md index 4f5e8e0b..ac69cc57 100644 --- a/source/blog/2015-05-30-using-a-personal-helper-package-in-everyday-scripting.md +++ b/source/blog/2015-05-30-using-a-personal-helper-package-in-everyday-scripting.md @@ -2,7 +2,7 @@ title: "Using a personal helper package in everyday scripting" date: 2015-05-30T22:48:57-07:00 date_display: May 30, 2015 -... +--- Recently I've been scripting (mostly in Python) quite a bit, and noticed that some functionalities get copied over or reimplemented over and over again. Examples include reading configuration files (mostly JSON, INI, and YAML), printing progress information to tty in color, displaying progress bar, and so on. diff --git a/source/blog/2015-06-07-stackoverflow-review-system-is-completely-bs.md b/source/blog/2015-06-07-stackoverflow-review-system-is-completely-bs.md index 6aef498a..2ab4b18c 100644 --- a/source/blog/2015-06-07-stackoverflow-review-system-is-completely-bs.md +++ b/source/blog/2015-06-07-stackoverflow-review-system-is-completely-bs.md @@ -2,7 +2,7 @@ title: "StackOverflow review system is completely BS" date: 2015-06-07T18:58:57-07:00 date_display: June 7, 2015 -... +--- I just answered an interesting question about ZLE [on StackOverflow](http://stackoverflow.com/q/30699242/1944784), and in the process I also improved my own toolchain. For the record, the OP asked for tab completion to present working directory items (executable files and directories) on an empty command line, which led to the following widget: diff --git a/source/blog/2015-06-08-apple-turns-its-homepage-into-a-wwdc-liveblog.md b/source/blog/2015-06-08-apple-turns-its-homepage-into-a-wwdc-liveblog.md index 024bbb06..f881b027 100644 --- a/source/blog/2015-06-08-apple-turns-its-homepage-into-a-wwdc-liveblog.md +++ b/source/blog/2015-06-08-apple-turns-its-homepage-into-a-wwdc-liveblog.md @@ -2,7 +2,7 @@ title: "Apple turns its homepage into a WWDC liveblog" date: 2015-06-08T14:42:50-07:00 date_display: June 8, 2015 -... +--- WWDC is Apple's biggest event every year, and WWDC keynote always attracts tons of hype. Apple knows that. In the past years folks who can't (at work, in class, etc.) or don't want to watch the crappy live stream would follow the various WWDC liveblogs presented by tech sites like Gizmodo, TechCrunch, Ars Technica, etc. But this year the landscape has changed: Apple rolled its own card-based liveblog at [www.apple.com/live/2015-june-event](http://www.apple.com/live/2015-june-event/).[^stream] Not only that; during the keynote, Apple redirected its homepage to the liveblog page, so it effectively turned its homepage into a liveblog: diff --git a/source/blog/2015-06-10-chrome-disappointment-the-shabby-and-boring-old-bookmark-system-from-stone-age-strikes-back.md b/source/blog/2015-06-10-chrome-disappointment-the-shabby-and-boring-old-bookmark-system-from-stone-age-strikes-back.md index 770cd570..f6cb4880 100644 --- a/source/blog/2015-06-10-chrome-disappointment-the-shabby-and-boring-old-bookmark-system-from-stone-age-strikes-back.md +++ b/source/blog/2015-06-10-chrome-disappointment-the-shabby-and-boring-old-bookmark-system-from-stone-age-strikes-back.md @@ -2,7 +2,7 @@ title: "Chrome disappointment: the shabby and boring old bookmark system from Stone Age strikes back" date: 2015-06-10T23:17:05-07:00 date_display: June 10, 2015 -... +--- I just restarted my machine (in the process of planning a fresh OS re-install), and something in Chrome's UI immediately felt wrong. After a few moments I realized it was the star button (bookmark button) in the far right of the omnibox giving me the uneasy feeling — the old bookmark system is back. Broadcasting from stable channel, build 43.0.2357.124 on OS X. diff --git a/source/blog/2015-06-12-the-tip-of-the-iceberg.md b/source/blog/2015-06-12-the-tip-of-the-iceberg.md index 55b78de6..c01e7cd1 100644 --- a/source/blog/2015-06-12-the-tip-of-the-iceberg.md +++ b/source/blog/2015-06-12-the-tip-of-the-iceberg.md @@ -2,7 +2,7 @@ title: "The tip of the iceberg" date: 2015-06-12T14:24:18-07:00 date_display: June 12, 2015 -... +--- *__Disclaimer__: While this post might have been triggered by a [specific](https://twitter.com/search?q=%23distractinglysexy)[^not-shaming] campaign, I'm certainly not addressing any specific concern or siding with any party. I never bothered to learn enough about a specific campaign to form a judgement that I would stand by,[^judge] since I simply don't care. I'm writing this post because I'm just too tired to see them popping up in my feeds every once in a while.* diff --git a/source/blog/2015-06-23-all-problems-solved.md b/source/blog/2015-06-23-all-problems-solved.md index f3d162f7..e5df0eb4 100644 --- a/source/blog/2015-06-23-all-problems-solved.md +++ b/source/blog/2015-06-23-all-problems-solved.md @@ -2,7 +2,7 @@ title: "All problems solved!?" date: 2015-06-23T21:47:07-07:00 date_display: June 23, 2015 -... +--- The project I've been working on intermittently over the past month, [`pyonedrive`](https://github.com/zmwangx/pyonedrive), a OneDrive API v1.0 API/CLI client, is now quite satisfactory in terms of its feature set[^1], so today I'm thinking about what I should work on next. Of course there's [a lot more I can do](https://github.com/zmwangx/pyonedrive/labels/enhancement), but what is done already encapsulates 95%+ of my daily usage; moreover, as everyone knows, refining an existing project is not as exciting as starting a new one and making something happen that is previously tedious or impossible. diff --git a/source/blog/2015-06-26-ios-9-searchable-settings.md b/source/blog/2015-06-26-ios-9-searchable-settings.md index d7044975..3a07e7d4 100644 --- a/source/blog/2015-06-26-ios-9-searchable-settings.md +++ b/source/blog/2015-06-26-ios-9-searchable-settings.md @@ -2,7 +2,7 @@ title: "iOS 9: searchable Settings" date: 2015-06-26T23:59:28-07:00 date_display: June 26, 2015 -... +--- Finally it's here. According to [MacRumors](http://www.macrumors.com/2015/06/26/hidden-features-in-ios-9-and-os-x-el-capitan/): diff --git a/source/blog/2015-06-27-automatically-clean-up-previous-mobile-applications.md b/source/blog/2015-06-27-automatically-clean-up-previous-mobile-applications.md index 81efdc04..e8e1dd14 100644 --- a/source/blog/2015-06-27-automatically-clean-up-previous-mobile-applications.md +++ b/source/blog/2015-06-27-automatically-clean-up-previous-mobile-applications.md @@ -2,7 +2,7 @@ title: 'Automatically clean up "Previous Mobile Applications"' date: 2015-06-27T21:19:59-07:00 date_display: June 27, 2015 -... +--- iTunes keeps a "Previous Mobile Applications" folder of questionable value, which always annoys me. It eats into disk space and wastes syncing/backup cycles and bandwidth; you can easily find horror stories online about [100GB+ PMA folders](http://forums.macrumors.com/threads/5-years-of-deleted-iphone-apps-accumulated-in-my-itunes-library.1781676/#post-19749496). The value? You might be able to roll back to an earlier version, or restore an app pulled from the App Store. Really? I never had that need in my life[^disclosure]; have you? Worst of all, there should be a periodic clean up option — just like how deleted mail are automatically purged after one month, but the option is missing. diff --git a/source/blog/2015-06-29-dl-cmplnts-in-apple-news.md b/source/blog/2015-06-29-dl-cmplnts-in-apple-news.md index 595c6d05..0e2111da 100644 --- a/source/blog/2015-06-29-dl-cmplnts-in-apple-news.md +++ b/source/blog/2015-06-29-dl-cmplnts-in-apple-news.md @@ -2,7 +2,7 @@ title: "dl? cmplnts? in Apple News" date: 2015-06-29T23:14:42-07:00 date_display: June 29, 2015 -... +--- I submitted this blog to Apple via [News Publisher](https://developer.apple.com/news-publisher/) a few days after the WWDC keynote, just to get a feel for the submission process. It was easy; basically I just needed to provide an [Atom 1.0](/atom.xml) or [RSS 2.0](/rss.xml) feed, both of which I already have anyway.[^care] I was told at the end of the submission process that my submission would be reviewed. diff --git a/source/blog/2015-07-15-zsh-save-stdout-stderr-and-return-value-of-command-to-different-variables-without-temp-file.md b/source/blog/2015-07-15-zsh-save-stdout-stderr-and-return-value-of-command-to-different-variables-without-temp-file.md index 69e1a6dd..dbaae443 100644 --- a/source/blog/2015-07-15-zsh-save-stdout-stderr-and-return-value-of-command-to-different-variables-without-temp-file.md +++ b/source/blog/2015-07-15-zsh-save-stdout-stderr-and-return-value-of-command-to-different-variables-without-temp-file.md @@ -2,7 +2,7 @@ title: "Zsh: save stdout, stderr, and return value of command to different variables (without temp file)" date: 2015-07-15T09:21:47-07:00 date_display: July 15, 2015 -... +--- This is something worth sharing. The idea was based on [this SO answer](http://stackoverflow.com/a/18086548/1944784), and I cooked up this particular implementation to remove potential race conditions, with input from Mathias Fredriksson[^1]. See [mafredri/zsh-async#1](https://github.com/mafredri/zsh-async/issues/1), and in particular [this comment](https://github.com/mafredri/zsh-async/issues/1#issuecomment-121468958) for explanation. diff --git a/source/blog/2015-07-19-github-experimental-attachment-formats-pdf-docx-and-pptx.md b/source/blog/2015-07-19-github-experimental-attachment-formats-pdf-docx-and-pptx.md index 58e64be9..315c478c 100644 --- a/source/blog/2015-07-19-github-experimental-attachment-formats-pdf-docx-and-pptx.md +++ b/source/blog/2015-07-19-github-experimental-attachment-formats-pdf-docx-and-pptx.md @@ -2,7 +2,7 @@ title: "GitHub experimental attachment formats: PDF, DOCX and PPTX!?!" date: 2015-07-19T21:58:01-07:00 date_display: July 19, 2015 -... +--- I was browsing [github/hub](https://github.com/github/hub), and noticed something funny in the issue tracker: diff --git a/source/blog/2015-07-25-dl-cmplntss-web-doesnt-suck.md b/source/blog/2015-07-25-dl-cmplntss-web-doesnt-suck.md index 3644d056..472aa67f 100644 --- a/source/blog/2015-07-25-dl-cmplntss-web-doesnt-suck.md +++ b/source/blog/2015-07-25-dl-cmplntss-web-doesnt-suck.md @@ -2,7 +2,7 @@ title: "dl? cmplnts?'s web doesn't suck" date: 2015-07-25T11:31:54-07:00 date_display: July 25, 2015 -... +--- I was reading [Les Orchard's *The Verge's web sucks*](http://blog.lmorchard.com/2015/07/22/the-verge-web-sucks/) just now, and inspired by his dignostics of his various daily reads, I also ran the performance meter on my very own blog. Fortunately, it doesn't suck[^firefox]: diff --git a/source/blog/2015-07-30-the-sad-state-of-finder-on-el-capitan.md b/source/blog/2015-07-30-the-sad-state-of-finder-on-el-capitan.md index a8d49714..4c5e4dec 100644 --- a/source/blog/2015-07-30-the-sad-state-of-finder-on-el-capitan.md +++ b/source/blog/2015-07-30-the-sad-state-of-finder-on-el-capitan.md @@ -2,7 +2,7 @@ title: "The sad state of Finder on El Capitan" date: 2015-07-30T23:59:09-07:00 date_display: July 30, 2015 -... +--- I was listening to [Accidental Tech Podcast E128](http://atp.fm/episodes/128) today, which discussed the implications of Rootless (i.e. System Integrity Protection) at quite some length.[^1] Which stirred up my old worries about the Finder — I was briefly concerned about TotalFinder immediately after Rootless was announced in WWDC, but was quickly reassured and forgot that concern after learning that Homebrew (i.e. `/usr/local`) isn't affected, which attracted more of my attention. diff --git a/source/blog/2015-08-02-sync-chrome-bookmarks-with-safari-on-os-x.md b/source/blog/2015-08-02-sync-chrome-bookmarks-with-safari-on-os-x.md index 974fff6d..5f00b3e2 100644 --- a/source/blog/2015-08-02-sync-chrome-bookmarks-with-safari-on-os-x.md +++ b/source/blog/2015-08-02-sync-chrome-bookmarks-with-safari-on-os-x.md @@ -2,7 +2,7 @@ title: "Sync Chrome bookmarks with Safari on OS X" date: 2015-08-02T22:11:56-07:00 date_display: August 2, 2015 -... +--- **08/11/2015 Update:** I have taken down the project from GitHub since it's way too flaky. Guess I'll stick with manually clicking around then... diff --git a/source/blog/2015-08-05-should-apple-split-up-itunes-on-os-x.md b/source/blog/2015-08-05-should-apple-split-up-itunes-on-os-x.md index 13a1d5f3..d76413d0 100644 --- a/source/blog/2015-08-05-should-apple-split-up-itunes-on-os-x.md +++ b/source/blog/2015-08-05-should-apple-split-up-itunes-on-os-x.md @@ -2,7 +2,7 @@ title: "Should Apple split up iTunes on OS X?" date: 2015-08-05T14:09:51-07:00 date_display: August 5, 2015 -... +--- These days everyone seems to be talking about how complicated iTunes is and how Apple should give it a clean-sheet rewrite. This is not new, but the argument has certainly intensified ever since the introduction of iCloud Photo Library and Apple Music. For one recent example, see [Don't order the fish](http://www.marco.org/2015/07/26/dont-order-the-fish) by Marco Arment. I was listening to John Gruber's [The Talk Show episode 127](https://daringfireball.net/thetalkshow/2015/07/29/ep-127) earlier today (a little bit late to the game, yeah), and the complexity argument was brought up yet again. diff --git a/source/blog/2015-08-05-switching-to-capitalized-commit-messages.md b/source/blog/2015-08-05-switching-to-capitalized-commit-messages.md index f5815d41..5c4c75b5 100644 --- a/source/blog/2015-08-05-switching-to-capitalized-commit-messages.md +++ b/source/blog/2015-08-05-switching-to-capitalized-commit-messages.md @@ -2,7 +2,7 @@ title: "Switching to capitalized commit messages" date: 2015-08-05T19:38:37-07:00 date_display: August 5, 2015 -... +--- This post is a note to self. diff --git a/source/blog/2015-08-13-other-peoples-___.md b/source/blog/2015-08-13-other-peoples-___.md index 337897a8..8b848bdc 100644 --- a/source/blog/2015-08-13-other-peoples-___.md +++ b/source/blog/2015-08-13-other-peoples-___.md @@ -2,6 +2,6 @@ title: "Other people's ___" date: 2015-08-13T02:00:24-07:00 date_display: August 13, 2015 -... +--- Often enough we look at other people's ___ (fill in the blank here) and say wow, but more often than not when we actually get to lay our hands on it, we find it less than impressive or even super annoying, and end up having nothing to say but meh. For Zsh geeks, examples include other people's Zsh prompts<a href="https://github.com/chauncey-garrett/zsh-prompt-garrett" style="text-decoration: none">,</a> zsh-syntax-highlighting, and zsh-autosuggestions. diff --git a/source/blog/2015-08-14-laymen.md b/source/blog/2015-08-14-laymen.md index e176370b..a8c4a6e8 100644 --- a/source/blog/2015-08-14-laymen.md +++ b/source/blog/2015-08-14-laymen.md @@ -2,7 +2,7 @@ title: "Laymen" date: 2015-08-14T18:32:13-07:00 date_display: August 14, 2015 -... +--- I always cringe when I see laymen discussing physics in comments sections of news websites. A typical situation: one commentator put together a sentence with all physics-sounding (kind of) terms he's ever heard of; the next commentator "agrees" with the previous one, adding something that sounds more reasonable (to folks who've never taken high school physics) but unfortunately violates the first law of thermodynamics; then yet another guy comes along and corrects both of the above in a pedagogic tone, with an argument that violates the second law of thermodymics... diff --git a/source/blog/2015-08-20-i-installed-blockparty-and-the-only-thing-i-can-say-is-wow.md b/source/blog/2015-08-20-i-installed-blockparty-and-the-only-thing-i-can-say-is-wow.md index 58355b61..e6c32e9c 100644 --- a/source/blog/2015-08-20-i-installed-blockparty-and-the-only-thing-i-can-say-is-wow.md +++ b/source/blog/2015-08-20-i-installed-blockparty-and-the-only-thing-i-can-say-is-wow.md @@ -2,7 +2,7 @@ title: "I installed BlockParty, and the only thing I can say is WOW" date: 2015-08-20T20:58:55-07:00 date_display: August 20, 2015 -... +--- **09/18/2015 update.** Okay, [Peace has been pulled](http://www.marco.org/2015/09/18/just-doesnt-feel-good). Guess I'll keep using it for a while, though. diff --git a/source/blog/2015-08-20-ios-9-turn-off-wi-fi-assist.md b/source/blog/2015-08-20-ios-9-turn-off-wi-fi-assist.md index 88cfed3e..f317c53b 100644 --- a/source/blog/2015-08-20-ios-9-turn-off-wi-fi-assist.md +++ b/source/blog/2015-08-20-ios-9-turn-off-wi-fi-assist.md @@ -2,7 +2,7 @@ title: "iOS 9: turn off Wi-Fi Assist!" date: 2015-08-20T01:01:57-07:00 date_display: August 20, 2015 -... +--- Seriously. Go to Settings->Cellular, and scroll all the way down to reveal the "Wi-Fi Assist" switch. See screenshot at the end of the post. You'll see a description: diff --git a/source/blog/2015-08-25-automated-os-x-provisioning.md b/source/blog/2015-08-25-automated-os-x-provisioning.md index 3a269d0b..51a93a63 100644 --- a/source/blog/2015-08-25-automated-os-x-provisioning.md +++ b/source/blog/2015-08-25-automated-os-x-provisioning.md @@ -2,7 +2,7 @@ title: "Automated OS X provisioning" date: 2015-08-25T08:16:44-07:00 date_display: August 25, 2015 -... +--- After quite a bit of work, I finally have a decent OS X provisioning system, capable of provisioning a blank OS X install (with Xcode and CLT) for development and everyday life. diff --git a/source/blog/2015-08-31-after-all-these-years-10pt-non-anti-aliased-monaco-is-still-the-best.md b/source/blog/2015-08-31-after-all-these-years-10pt-non-anti-aliased-monaco-is-still-the-best.md index b552bd9f..2d5a74f9 100644 --- a/source/blog/2015-08-31-after-all-these-years-10pt-non-anti-aliased-monaco-is-still-the-best.md +++ b/source/blog/2015-08-31-after-all-these-years-10pt-non-anti-aliased-monaco-is-still-the-best.md @@ -2,7 +2,7 @@ title: "After all these years, 10pt non-anti-aliased Monaco is still the best" date: 2015-08-31T06:31:03+08:00 date_display: August 31, 2015 -... +--- Ars Technica [just ran a piece](http://arstechnica.com/information-technology/2015/08/open-source-typeface-hack-brings-design-to-source-code/) on the open source programming font [Hack](https://github.com/chrissimpkins/Hack). Now I don't really know why this is news-worthy (open source programming fonts aren't a new thing), but I thought I'd give it a try. diff --git a/source/blog/2015-09-21-zsh-51-and-bracketed-paste.md b/source/blog/2015-09-21-zsh-51-and-bracketed-paste.md index 8d5cfc6b..29180b20 100644 --- a/source/blog/2015-09-21-zsh-51-and-bracketed-paste.md +++ b/source/blog/2015-09-21-zsh-51-and-bracketed-paste.md @@ -2,7 +2,7 @@ title: "Zsh 5.1 and bracketed paste" date: 2015-09-21T14:40:36-07:00 date_display: September 21, 2015 -... +--- **TL;DR.** Jump to [code](#code). diff --git a/source/blog/2015-09-24-apple-watch-digital-crown-tightness-issue.md b/source/blog/2015-09-24-apple-watch-digital-crown-tightness-issue.md index 45233e5b..1dcf87da 100644 --- a/source/blog/2015-09-24-apple-watch-digital-crown-tightness-issue.md +++ b/source/blog/2015-09-24-apple-watch-digital-crown-tightness-issue.md @@ -2,7 +2,7 @@ title: "Apple Watch: Digital Crown tightness issue" date: 2015-09-24T10:55:38-07:00 date_display: September 24, 2015 -... +--- Quick tip: if the Digital Crown on your Apple Watch *all of a sudden*[^sudden] feels too tight and doesn't turn smoothly, probably it was somehow over-turned (and probably because you played with watchOS 2 Time Travel, as I did). I don't know how that happened because it's clearly not supposed to happen, but turning it in the easy-to-turn direction for a few rounds fixed the tightness issue for me. diff --git a/source/blog/2015-09-25-removing-google-analytics-from-this-blog.md b/source/blog/2015-09-25-removing-google-analytics-from-this-blog.md index 660a8f64..bed5cf0e 100644 --- a/source/blog/2015-09-25-removing-google-analytics-from-this-blog.md +++ b/source/blog/2015-09-25-removing-google-analytics-from-this-blog.md @@ -2,7 +2,7 @@ title: "Removing Google Analytics from this blog" date: 2015-09-25T12:30:25-07:00 date_display: September 25, 2015 -... +--- There was a lengthy discussion about Peace and ad-blocking in [Accidental Tech Podcast Episode 136](http://atp.fm/episodes/136). There were many lessons to learn from the story; as a side effect, it also made me reconsider Google Analytics on this blog. diff --git a/source/blog/2015-10-01-auto-hidden-menu-bar-dock-maximized-window-is-the-new-full-screen-mode.md b/source/blog/2015-10-01-auto-hidden-menu-bar-dock-maximized-window-is-the-new-full-screen-mode.md index ffe86c5e..e188ee5b 100644 --- a/source/blog/2015-10-01-auto-hidden-menu-bar-dock-maximized-window-is-the-new-full-screen-mode.md +++ b/source/blog/2015-10-01-auto-hidden-menu-bar-dock-maximized-window-is-the-new-full-screen-mode.md @@ -2,7 +2,7 @@ title: "Auto hidden menu bar & dock + maximized window is the new full screen mode" date: 2015-10-01T15:48:59-07:00 date_display: October 1, 2015 -... +--- One nice feature of OS X El Capitan is that the menu bar can be auto hidden. Combined an auto hidden dock, we can now emulate the full screen experience with a maximized window while still enjoying overlayed windows, e.g., transparent terminal windows or "Picture in Picture" style small floating player. To see how closely a full screen experience is emulated this way, see the side-by-side screenshots below. diff --git a/source/blog/2015-10-01-upgrading-to-el-capitan.md b/source/blog/2015-10-01-upgrading-to-el-capitan.md index 12504536..b1344c1a 100644 --- a/source/blog/2015-10-01-upgrading-to-el-capitan.md +++ b/source/blog/2015-10-01-upgrading-to-el-capitan.md @@ -2,7 +2,7 @@ title: "Upgrading to El Capitan" date: 2015-10-01T11:46:44-07:00 date_display: October 1, 2015 -... +--- I upgraded to El Capitan last night, and the experience is pretty painless. To be accurate, I'm not really upgrading in place — I always perform a clean install for each major OS upgrade to avoid subtle breakage later on. Therefore, what I did instead was to `rsync` out all my valuable data and state information[^state] to an external drive, wipe the internal drive clean, install new OS from scratch, then `rsync` everything back in. `rsync` is really good at this stuff (I affectionately alias `rsync -avP` to `r` during transfers in and out), and it is simply amazing at dropping the right stuff at the right place, including data deep down `~/Library/Containers`, without interfering with the existing structures[^existing]. With data and state info ready, reinstalling programs is also easy, thanks to my recently finished [automated provisioning system](/blog/2015-08-25-automated-os-x-provisioning.html). It was the first time I used it outside a VM to provision an OS from almost scratch, and I'm really happy with it. diff --git a/source/blog/2015-10-03-we-need-an-os-x-security-white-paper.md b/source/blog/2015-10-03-we-need-an-os-x-security-white-paper.md index da0e87c9..f9060440 100644 --- a/source/blog/2015-10-03-we-need-an-os-x-security-white-paper.md +++ b/source/blog/2015-10-03-we-need-an-os-x-security-white-paper.md @@ -2,7 +2,7 @@ title: "We need an OS X security white paper" date: 2015-10-03T03:34:24-07:00 date_display: October 3, 2015 -... +--- Apple has been offering an excellent [iOS Security White Paper](https://www.apple.com/privacy/docs/iOS_Security_Guide.pdf) since at least 2012, and it's very informative. I highly encourage everyone to read it. It even explains some annoyances of iOS; for instance, [this week's Upgrade episode](http://www.relay.fm/upgrade/56) discussed, [in Gruber's words](https://daringfireball.net/linked/2015/10/01/upgrade-56), "the lousy, painstaking, and at times downright confusing experience of migrating to a new iOS device", and once you read the white paper you'll realize that many things just can't be migrated due to iOS's hardware security model — basically, certain classes of data are encrypted with crypto keys baked into the silicon (see the section "Hardware security features"). I'm not saying the migration experience should be this painful (I would love to see it fixed or improved), but at least there's an explanation.[^migration] diff --git a/source/blog/2015-10-10-printing-long-80-character-per-line-plain-text-document-in-two-columns.md b/source/blog/2015-10-10-printing-long-80-character-per-line-plain-text-document-in-two-columns.md index 6d06a9f3..1b71478a 100644 --- a/source/blog/2015-10-10-printing-long-80-character-per-line-plain-text-document-in-two-columns.md +++ b/source/blog/2015-10-10-printing-long-80-character-per-line-plain-text-document-in-two-columns.md @@ -2,7 +2,7 @@ title: "Printing long, 80-character-per-line plain text document in two columns" date: 2015-10-10T22:35:15-07:00 date_display: October 10, 2015 -... +--- **TL; DR**. Jump to [code](#code). diff --git a/source/blog/2015-10-12-the-importance-of-dated-detailed-release-notes.md b/source/blog/2015-10-12-the-importance-of-dated-detailed-release-notes.md index 2d0b977b..74322d8b 100644 --- a/source/blog/2015-10-12-the-importance-of-dated-detailed-release-notes.md +++ b/source/blog/2015-10-12-the-importance-of-dated-detailed-release-notes.md @@ -2,7 +2,7 @@ title: "The importance of dated, detailed release notes" date: 2015-10-12T14:29:42-07:00 date_display: October 12, 2015 -... +--- I can't stress how much I value release notes, especially for closed source, commercial software. None of us want to invest on a piece of abandonware (unless it is ageless, which is quite unlikely for anything with a GUI), or a piece of software that is not completely abandoned, but takes a full year to adapt to the latest OS, campatibility-wise or UI-wise; and release notes, especially with dates, serve as almost the single metric for gauging developer commitment. In fact, whenever I try to learn about a piece of software that I heard about, one of the first things I do, usually after browsing through features and screenshots and before I even download the software to try out, is to look for its release notes and skim through it if available, and the outcome largely determines whether I'll even bother to download the installer.[^cask] A prominent, dedicated page with dated, detailed release notes immediately leaves a good impression on me. diff --git a/source/blog/2015-10-14-follow-up-the-sad-state-of-finder-on-el-capitan.md b/source/blog/2015-10-14-follow-up-the-sad-state-of-finder-on-el-capitan.md index 9d0a9c85..12697e08 100644 --- a/source/blog/2015-10-14-follow-up-the-sad-state-of-finder-on-el-capitan.md +++ b/source/blog/2015-10-14-follow-up-the-sad-state-of-finder-on-el-capitan.md @@ -2,7 +2,7 @@ title: "Follow-up: The sad state of Finder on El Capitan" date: 2015-10-14T12:30:32-07:00 date_display: October 14, 2015 -... +--- **10/14/2015 update** (updated even before I published the article). Just as I was finishing this post, an update to TotalFinder came. [1.7.8](http://totalfinder.binaryage.com/beta-changes). And holy cow, it fixed automatic column resizing! The fix isn't perfect — there's actually a visible delay before resizing, but I'm happy again. Long live TotalFinder! diff --git a/source/blog/2015-10-14-sip-for-the-greater-good.md b/source/blog/2015-10-14-sip-for-the-greater-good.md index 9ae6cbac..cca4dd17 100644 --- a/source/blog/2015-10-14-sip-for-the-greater-good.md +++ b/source/blog/2015-10-14-sip-for-the-greater-good.md @@ -2,7 +2,7 @@ title: "SIP — For the Greater Good" date: 2015-10-14T17:07:24-07:00 date_display: October 14, 2015 -... +--- In recent months I wrote a few thousand words lamenting Finder and [SIP](https://en.wikipedia.org/wiki/System_Integrity_Protection) on El Capitan. See [The sad state of Finder on El Capitan](/blog/2015-07-30-the-sad-state-of-finder-on-el-capitan.html) and [its follow-up](/blog/2015-10-14-follow-up-the-sad-state-of-finder-on-el-capitan.html). diff --git a/source/blog/2015-10-26-att-to-pure-talkusa-one-month-later.md b/source/blog/2015-10-26-att-to-pure-talkusa-one-month-later.md index 9eb02592..ae3e4482 100644 --- a/source/blog/2015-10-26-att-to-pure-talkusa-one-month-later.md +++ b/source/blog/2015-10-26-att-to-pure-talkusa-one-month-later.md @@ -2,7 +2,7 @@ title: "AT&T to Pure TalkUSA, one month later" date: 2015-10-26T00:00:30-07:00 date_display: October 26, 2015 -... +--- **TL;DR**: If you have questions about Pure TalkUSA unanswered by the [official FAQ](https://www.puretalkusa.com/cell-phones-sim-cards.php), I have some information for you starting from the section "[migration experience](#migration-experience)". diff --git a/source/blog/2015-11-06-microsoft-drops-unlimited-onedrive-storage-after-people-use-it-for-unlimited-storage.md b/source/blog/2015-11-06-microsoft-drops-unlimited-onedrive-storage-after-people-use-it-for-unlimited-storage.md index 2bfd26c5..b7797a35 100644 --- a/source/blog/2015-11-06-microsoft-drops-unlimited-onedrive-storage-after-people-use-it-for-unlimited-storage.md +++ b/source/blog/2015-11-06-microsoft-drops-unlimited-onedrive-storage-after-people-use-it-for-unlimited-storage.md @@ -2,7 +2,7 @@ title: "Microsoft drops unlimited OneDrive storage after people use it for unlimited storage" date: 2015-11-06T10:49:51-08:00 date_display: November 6, 2015 -... +--- [Story on Ars Technica](http://arstechnica.com/information-technology/2015/11/microsoft-drops-unlimited-onedrive-storage-after-people-use-it-for-unlimited-storage/). [Official announcement](https://blog.onedrive.com/onedrive_changes/). I was playing catch up on this week's RSS when this one punched in my face. diff --git a/source/blog/2015-11-15-we-need-a-programming-keyboard-on-ios.md b/source/blog/2015-11-15-we-need-a-programming-keyboard-on-ios.md index 654c3d01..a27530a5 100644 --- a/source/blog/2015-11-15-we-need-a-programming-keyboard-on-ios.md +++ b/source/blog/2015-11-15-we-need-a-programming-keyboard-on-ios.md @@ -2,7 +2,7 @@ title: "We need a programming keyboard on iOS" date: 2015-11-15T02:17:05-08:00 date_display: November 15, 2015 -... +--- We do. If you ever tried to say something on GitHub (web) or StackOverflow (web or app) on iOS, you'll probably agree with me. The stock keyboard (or any third party keyboard that I've heard of) is simply awful at this. Typing on iOS software keyboard is unpleasant enough to begin with, but behold: diff --git a/source/blog/2015-11-25-bash-function-exporting-fiasco.md b/source/blog/2015-11-25-bash-function-exporting-fiasco.md index eda0c914..37246a0d 100644 --- a/source/blog/2015-11-25-bash-function-exporting-fiasco.md +++ b/source/blog/2015-11-25-bash-function-exporting-fiasco.md @@ -2,7 +2,7 @@ title: "Bash function exporting fiasco" date: 2015-11-25T15:38:13-08:00 date_display: November 25, 2015 -... +--- Bash is the only major shell (and the only shell that I know of) that implements function exporting. By now everyone should have heard of this feature, I suppose, after the publicity of Shellshock last year. I was personally introduced to it while writing parallel processing scripts [with GNU Parallel](https://www.gnu.org/software/parallel/parallel_tutorial.html#Transfer-environment-variables-and-functions) (long before Shellshock), and it seemed useful and clever at that time. Back then I often wondered why it didn't make its way into Z shell. However, now that I'm much more seasoned in shell scripting, I can see why and how this feature is troubled and of debatable value. diff --git a/source/blog/2015-12-08-safeguarding-git-repos-against-accidental-rm.md b/source/blog/2015-12-08-safeguarding-git-repos-against-accidental-rm.md index 41f83778..9710c211 100644 --- a/source/blog/2015-12-08-safeguarding-git-repos-against-accidental-rm.md +++ b/source/blog/2015-12-08-safeguarding-git-repos-against-accidental-rm.md @@ -2,7 +2,7 @@ title: "Safeguarding git repos against accidental rm" date: 2015-12-08T00:17:39-08:00 date_display: December 8, 2015 -... +--- Everyone who has spent a sizable portion of their life in terminals has experienced that "oh shit" moment: you realize what you've done immediately after you've hit enter, but it's already too late. And needlessly to say, many of those are associated to accidental `rm`s. diff --git a/source/blog/2015-12-16-spoiled-by-retina-in-less-than-a-day.md b/source/blog/2015-12-16-spoiled-by-retina-in-less-than-a-day.md index 3553e892..c4ca0dcd 100644 --- a/source/blog/2015-12-16-spoiled-by-retina-in-less-than-a-day.md +++ b/source/blog/2015-12-16-spoiled-by-retina-in-less-than-a-day.md @@ -2,7 +2,7 @@ title: "Spoiled by Retina, in less than a day" date: 2015-12-16T21:10:08-08:00 date_display: December 16, 2015 -... +--- I finally got a 15'' Retina MacBook Pro this morning to replace my 13'' mid-2012 non-Retina MacBook Pro, whose spinning disk has been getting increasingly slower (or so I felt).[^replace] Apparently this is a pretty significant landmark in my personal computing history, since I'm saying goodbye to both spinning disk and non-Retina display on my primary computing device. diff --git a/source/blog/2015-12-20-regex-flavor-hell.md b/source/blog/2015-12-20-regex-flavor-hell.md index 15488655..97ff56a7 100644 --- a/source/blog/2015-12-20-regex-flavor-hell.md +++ b/source/blog/2015-12-20-regex-flavor-hell.md @@ -2,7 +2,7 @@ title: "Regex flavor hell" date: 2015-12-20T16:03:03-08:00 date_display: December 20, 2015 -... +--- I write a lot of shell scripts, which means dealing with common *ix utilities a lot. I typically want my scripts to work on both OS X and Linux (or OS X + GNU utilities, which is my personal setup), which means writing commands that are understood in both GNU/Linux and BSD worlds. Unfortunately that's not so simple, because to do that I usually have to give up readily available functionalities (especially the vast collection of useful options typical of GNU utilities) and am constantly thrown back to the stone age that is POSIX, or a little bit more than POSIX. diff --git a/source/blog/2015-12-26-autoenv-with-auto-cleanup.md b/source/blog/2015-12-26-autoenv-with-auto-cleanup.md index abf50758..dd973a40 100644 --- a/source/blog/2015-12-26-autoenv-with-auto-cleanup.md +++ b/source/blog/2015-12-26-autoenv-with-auto-cleanup.md @@ -2,7 +2,7 @@ title: "autoenv with auto cleanup" date: 2015-12-26T00:15:48-08:00 date_display: December 26, 2015 -... +--- I heard about [kennethreitz/autoenv](https://github.com/kennethreitz/autoenv) a long time ago. The idea of autoloading project-specific environment modifications is nice, but no auto cleanup after leaving a project was a showstopper for me. diff --git a/source/blog/2015-12-27-lesson-on-magic-method-access-of-python-new-style-classes-from-my-failed-python3-port-of-tomorrow.md b/source/blog/2015-12-27-lesson-on-magic-method-access-of-python-new-style-classes-from-my-failed-python3-port-of-tomorrow.md index 0ab23855..daae70a6 100644 --- a/source/blog/2015-12-27-lesson-on-magic-method-access-of-python-new-style-classes-from-my-failed-python3-port-of-tomorrow.md +++ b/source/blog/2015-12-27-lesson-on-magic-method-access-of-python-new-style-classes-from-my-failed-python3-port-of-tomorrow.md @@ -2,7 +2,7 @@ title: "Lesson on magic method access of Python new-style classes (from my failed Python3 port of Tomorrow)" date: 2015-12-27T16:47:05-08:00 date_display: December 27, 2015 -... +--- I know the title is formidably long, but I can't find something more accurate (and my homegrown mini CMS doesn't support subtitle), so please bear with me. diff --git a/source/blog/2015-12-28-why-i-want-lossless-music-on-itunes-music-store.md b/source/blog/2015-12-28-why-i-want-lossless-music-on-itunes-music-store.md index 5854008d..56bc3738 100644 --- a/source/blog/2015-12-28-why-i-want-lossless-music-on-itunes-music-store.md +++ b/source/blog/2015-12-28-why-i-want-lossless-music-on-itunes-music-store.md @@ -2,7 +2,7 @@ title: "Why I want lossless music on iTunes Music Store" date: 2015-12-28T03:15:45-08:00 date_display: December 28, 2015 -... +--- This is an impulse post after reading ["Apple again rumored to be working on high-resolution audio"](https://marco.org/2015/12/27/apple-hd-audio-again).[^macrumors] diff --git a/source/blog/2015-12-29-catches-when-installing-windows-7-with-boot-camp.md b/source/blog/2015-12-29-catches-when-installing-windows-7-with-boot-camp.md index b74cbb45..3d00a0df 100644 --- a/source/blog/2015-12-29-catches-when-installing-windows-7-with-boot-camp.md +++ b/source/blog/2015-12-29-catches-when-installing-windows-7-with-boot-camp.md @@ -2,7 +2,7 @@ title: "Catches when installing Windows 7 with Boot Camp" date: 2015-12-29T15:09:16-08:00 date_display: December 29, 2015 -... +--- I was looking for a use for my retired Mid-2012 Non-Retina MacBook Pro 13''^[2.9 GHz i7 + Intel HD Graphics 4000 + 16 GB RAM + frigging slow 750 GB 5400-rpm spinning disk I've yet to replace.], and unsurprisingly I figured that I would turn it into a OS X-Windows dual boot for some occasional gaming. I'm a CnC fan (not hardcore, but still), mainly for RA2/YR and TW/KW, and playing these inside Fusion is really a subsubpar experience. Due to the age of these games and their compatibility problems on Windows 8 and higher^[RA2/YR used to have problems even on Windows 7, at least inside Fusion, so I used to play them in XP SP3 VMs; I've yet to try them with Windows 7 running on bare metal.], I chose to shoot for a Windows 7 install. diff --git a/source/blog/2016-01-01-virtualenvs-for-everyone.md b/source/blog/2016-01-01-virtualenvs-for-everyone.md index f333e303..d39882ca 100644 --- a/source/blog/2016-01-01-virtualenvs-for-everyone.md +++ b/source/blog/2016-01-01-virtualenvs-for-everyone.md @@ -2,7 +2,7 @@ title: "Virtualenvs for everyone" date: 2016-01-01T22:21:14-08:00 date_display: January 1, 2016 -... +--- Python distutils for the most part is rather pleasant to work with. That is, pleasant until you've accumulated so many packages that you eventually run into a clash of namespace, or a dependency conflict (or dependency hell as most would affectionately call it).[^trouble] In contrast, npm's approach to dependencies shuts out dependency hell completely, but it is so paranoid and costs so much duplication that I find it hard to appreciate unless necessary. Somewhere in between there's the virtualenv approach which I find most appealing for smallish projects — keep a single copy of each package in the dependency tree in a contained environment specific to the project at hand. This is how we debug Python projects, and it certainly also should be *the* way we run command line tools written in Python. |