May 2013
5 posts
Terra: A low-level counterpart to Lua →
Terra is a new low-level system programming language that is designed to interoperate seamlessly with the Lua programming language: Like C, Terra is a simple, statically-typed, compiled language with manual memory management. But unlike C, it is designed from the beginning to interoperate with Lua. Terra functions are first-class Lua values created using the terra keyword. When needed they...
May 17th
May 14th
148 notes
Go 1.1 is released →
Go 1.1 includes many improvements over 1.0. The most significant improvements are performance-related. We have made optimizations in the compiler and linker, garbage collector, goroutine scheduler, map implementation, and parts of the standard library. It is likely that your Go code will run noticeably faster when built with Go 1.1. There are some minor changes to the language itself,...
May 14th
May 11th
May 8th
April 2013
1 post
Apr 9th
755 notes
March 2013
3 posts
Mistitled: The Gathering Storm: Our Travails with... →
rms2: Preface Recently, and with increasing frequency, developers have been speaking out about the difficulties they’ve had trying to implement support for iCloud in their products, and journalists have been reporting the news. I told our story to Ars Technica, and they’ve made their own report….
Mar 31st
41 notes
Mar 28th
2 tags
How To Build An RSS Sync System: A Brain-Dump
Problem Statement: Google pulled the plug on Reader, but you still want a way to keep the news-reader apps on your various devices in sync, so they all know what feeds you’re subscribed to and which articles you’ve already read. Here’s what you do. I’ve built this before, as part of the OS X Syndication and PubSub frameworks. (It wasn’t identical to what I’m...
Mar 14th
2 notes
February 2013
1 post
ojmason asked: Hi Jens, I believe in Couchbase you had an embedded Erlang RT suitable for iOS; is this still the case in Touchbase? Thanks, Oliver
Feb 24th
January 2013
1 post
1 tag
spam tip
Want to cut down on email spam? Add a filter to your email program that will trash any messages whose From address starts with “contact@”. I set up such a filter two weeks ago, and so far it’s caught about 90% of the junk that otherwise makes it through even my ISP’s and Apple Mail.app’s spam blockers. (I think there may have been one false positive, but not more. Apparently almost no one sends...
Jan 9th
2 notes
December 2012
3 posts
“There are only two hard things in computer science: cache invalidation, naming...”
– Martin Fowler, intentionally misquoting Phil Karlton
Dec 20th
1 note
iTunes 11 and Colors →
“iTunes 11 is a radical departure from previous versions and nothing illustrates this more than the new album display mode. The headlining feature of this display is the new view style that visually matches the track listing to the album’s cover art. The result is an attractive display of textual information that seamlessly integrates with the album’s artwork. “After using iTunes for...
Dec 12th
“IDEKit is a framework designed to make it easy to add programmer friendly...”
– CodaFi/IDEKit · GitHub
Dec 11th
1 note
October 2012
4 posts
Old blog archive at last →
I exported the old Thought Palace WordPress blog posts from MySQL and wrote a little Ruby script to massage them into Jekyll format so I can host them on Github. Here they are — yes, even the apricot jam recipe. The theme is kind of lame, and there are probably some formatting glitches and definitely some missing graphics, but the text is there.
Oct 28th
1 note
futureperfectindustries asked: Any chance you'll be uploading your archive to this site? "The Lost Lesson of Instant Typing" was a great piece and I was looking for it again to share with someone.
Oct 27th
Galuca Icons Project →
Galuca is a special project to develop FREE high-quality, high-resolution icons for iOS, Android and Windows Phone apps. Galuca is aimed at helping professional and freelance developers when designing and choosing stunning icons for their apps with minimum time and no cost. All Galuca project’s icons are designed, developed and distributed freely according to Creative Commons...
Oct 8th
Oct 5th
5 notes
September 2012
1 post
Sep 6th
August 2012
6 posts
A successful Git branching model » nvie.com →
In this post I present the development model that I’ve introduced for all of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I’ve been meaning to write about it for a while now, but I’ve never really found the time to do so thoroughly, until now. I won’t talk about any of the projects’ details, merely about the branching strategy and...
Aug 23rd
1 note
“I took a quick look at the Tent docs. My first thought: if we didn’t have...”
– Brent Simmons
Aug 23rd
1 note
Aug 18th
It's Not A "Country Club"
I guess it was time for Twitter to remind app developers once again who their daddy is, or something like that. I find that this year I don’t have much left to say about the slow-moving ongoing #twitpocalypse. This time it’s pushed me into another of my periodic purges where I stop using Twitter altogether. Maybe this time it’ll be permanent. I’m unsure how to feel about...
Aug 17th
2 notes
Commit Message Generator →
Suggested usage: git commit -m `curl -s http://whatthecommit.com/index.txt`
Aug 10th
TouchDB/iOS beta 4 candidate →
After all the fixes of the past two weeks (and a few new features too), it’s time to release a new beta of TouchDB. Here’s a candidate build, including a new build of CouchCocoa to go along with it. https://github.com/downloads/couchbaselabs/TouchDB-iOS/TouchDB-0.931.zip https://github.com/downloads/couchbaselabs/CouchCocoa/CouchCocoa-0.931.zip Notable improvements since beta...
Aug 9th
Interesting new UNIX commands/binaries in OS X... →
“pgrep” in particular is really useful; I will have to remember it.
Aug 1st
July 2012
6 posts
TouchDB In A Nutshell →
I’ve started writing a comprehensive guide to TouchDB. It will be suitable for newbies, assuming no experience with CouchDB, and going all the way from database principles, to linking the frameworks into your app, to writing code using CouchCocoa (or Ektorp, if someone wants to write the Android sections!) It’s still very incomplete: right now it only goes as far as initializing the...
Jul 30th
Latency: The New Web Performance Bottleneck... →
If we want a faster browsing experience then reducing the round trip time (RTT) should be near the top of our list. Or, as Mike Belshe put it: more bandwidth doesn’t matter (much). Great article. We have enough bandwidth for most stuff, even on mobile devices; it’s latency that hurts (especially on mobile devices.) This is a great argument for apps that cache data locally — the...
Jul 24th
Jul 17th
“There is one clear lesson from Digg’s sale: the technology that powered a...”
– Alexis Madrigal, in The Atlantic
Jul 15th
the eero programming language →
Eero is a fully binary- and header-compatible dialect of Objective-C, implemented with a modified version of the Apple-sponsored LLVM/clang open-source compiler. It features a streamlined syntax, Python-like indentation, and other features that improve readability and code safety. It is inspired by languages such as Smalltalk, Python, and Ruby. FUCK YEAH. I will be checking this out for...
Jul 9th
June 2012
5 posts
Jun 25th
3,431 notes
Falsehoods programmers believe about time →
infiniteundo: I have repeatedly been confounded to discover just how many mistakes in both test and application code stem from misunderstandings or misconceptions about time. By this I mean both the interesting way in which computers handle time, and the fundamental gotchas inherent in how we humans have constructed our calendar — daylight savings being just the tip of the iceberg. In fact I...
Jun 19th
110 notes
Conduit (an open-source library for iOS) →
JS to Objective-C… and back again DIYConduit was created to address three pain points present within many iOS applications that rely on UIWebView: Communication from Javascript to Objective-C Communication from Objective-C to Javascript Handling custom HTTP headers between multiple requests DIYConduit simply wraps these three pieces of functionality into a nice little...
Jun 18th
“CUDA/OpenCL implementations of password crackers can leverage the massive amount...”
– Coda Hale, How To Safely Store A Password
Jun 12th
Apricot Jam Recipe →
People are still looking for the apricot jam recipe I had on my old WordPress blog. I do still hope to resurrect all of its content, but for now I can link to a snapshot of the recipe. (I had to look it up myself, as I’m about to make some jam today…) Here’s my family recipe for apricot jam, handed down through generations. One generation, really — my mom got it from a pamphlet put...
Jun 3rd
May 2012
7 posts
Damien Katz: Stabilizing Couchbase Server 2.0 →
My coworker (and CouchDB architect) Damien Katz writes about recent progress on Couchbase Server 2.0. I’ve been helping out on this a bit lately, primarily with optimizing and cleaning up the new “CouchStore” engine. CouchStore is basically the core B-tree infrastructure of CouchDB, rewritten in C. It’s been fun learning my way around the code (mostly written by Aaron...
May 30th
“Essentially everyone, when they first build a distributed application, makes the...”
– Peter Deutsch, The Eight Fallacies of Distributed Computing (I see a lot of mobile app developers falling prey to #1 and #2 especially, building apps that block on HTTP requests (at startup, even) and/or won’t work at all when their server is unreachable.)
May 16th
2 notes
Peer to peer synching with TouchDB →
Sven A. Schmidt wrote a nice blog post showing how to do peer-to-peer syncing with TouchDB, by enabling the HTTP listener and using Bonjour to advertise it and discover other devices to sync with.
May 15th
MYCrypto on GitHub →
FYI, I cleaned up MYCrypto a bit (enough to get it to build successfully in Xcode 4.3) and mirrored it to GitHub.
May 13th
1 note
Looking at Go again →
I’m taking another look at the Go programming language, especially now that there’s a very nice interactive tutorial on the website. I read some of the docs when it was first announced in 2009(?) and thought it had some nice features but the lack of real OOP turned me off. Nor did I feel that the world needed yet another programming language. I’m revisiting it because Dustin...
May 12th
MYNetwork is now on GitHub too →
Thanks to Hg-Git, there is now a Git mirror of the MYNetwork repository. It’s got the whole revision history and everything! It’s trivially easy to push to GitHub as well as Bitbucket, so I’ll be keeping both of these up to date. Speaking of which, I just checked in some minor cleanup to keep up with the times, such as fixes for compile issues that the newer Clang compilers...
May 7th
Hg-Git Mercurial Plugin →
Mercurial plugin that lets you pull from and push to Git repositories. This will be handy for mirroring my Bitbucket repos (MYNetwork, etc.) to GitHub.
May 7th
1 note
April 2012
6 posts
Apr 24th
3 notes
“Apple Computers [sic] is a famous example: it was founded by (mostly Republican)...”
– David Graeber, “Debt: The First 5,000 Years” (chapter 5) Um … wow. This is one of the most jaw-droppingly factually wrong statements I’ve seen in a long time. It’s easier to list what’s right about it — ”Apple”, “computer engineers”,...
Apr 23rd
2 notes
“it should be a syntax error to define method names that can’t colon-align...”
– @rentzsch [Forget namespaces — this is what Objective-C really needs!!!1]
Apr 21st
“I can’t even say what’s wrong with PHP, because— okay. Imagine you have uh, a...”
– “Eevee”, PHP: a fractal of bad design
Apr 20th
1 note
4 tags
Wanted: A Sane Subset Of C++
TL;DR I want there to be a well-defined small subset of C++ that is sufficient for writing large maintainable structured code (i.e. it has features like classes and exceptions), but does not allow all the bells and whistles that tempt C++ programmers into writing unreadable, unmaintainable and inefficient code (i.e. pretty much everything else.) C SUCKS! At the moment my work project...
Apr 19th
2 notes
How to tell if your Mac is infected with Flashback →
Basically just two “defaults” commands to verify that you’re clean. Although if you use WebKit based apps other than Safari to browse, like NetNewsWire, it’d be good to check those two in the same way as you check Safari in step 1.
Apr 5th
March 2012
12 posts
iExplorer →
Mac/Windows app that lets you browse the filesystem of a docked iOS device. This is really useful for looking at the data files of an app you’re developing (all of them, not just the Documents folder), but it also lets you access media like the music and photo libraries. Useful, and free!
Mar 26th