HNHacker News
TopNewBestAskShowJobs

crabl

397 karma · joined October 31, 2008

chris (at) crabl (dot) net
submissionscomments
crabl··on Reverse-Engineering Apple Dictionary (2020)
The closest I've managed to this has been through AppleScript (which likely violates your "no accessibility tools" criteria): https://forum.keyboardmaestro.com/t/type-to-siri/13328/17
crabl··on Tools for Thinking
That's interesting: I would have assumed academics would be less inclined to use tools like PowerPoint, but I guess I'm mistaken! It really goes to show how ubiquitous it is as a tool for thought. Do you mind if I ask what the context around those interviews was?
crabl··on Tools for Thinking
This is likely a result of me working in a corporate bureaucracy over the last few years, but I've observed executives using PowerPoint for the purpose of articulating and iterating on their thoughts, and it goes without saying that PowerPoint is ubiquitous (for good or for ill) when it comes to communicating those ideas to a wider audience.

It seems to me that the tools for thought community generally rallies around Excel as the best example of a "bicycle for the mind" due to its functional-reactive nature and its programmable core, but I feel like PowerPoint has made an equal contribution to the democratization of "augmenting collective intelligence" due to its affordances around outlining and presentation.

crabl··on The difference between note-taking and note-making
Spaced repetition, while reasonably useful, doesn't come without its challenges as well.

For instance, how can you be sure at the outset that you have designed a good prompt [1] that will enable recall versus recognition?

And even once you have designed a good prompt, that brings up the question of epistemology: how can you be sure at the outset that the "information" you wish to ingest is factual and that it will be useful to you later on? It's easy to imagine memorizing a compelling aphorism like:

> The German word for "passion", which literally translates to "enjoyable suffering". Because if you think you’re passionate about something, you must be willing to ask yourself if you’re willing to suffer for it. If you are, that means you are passionate. Otherwise, it’s just a hobby. [2]

But, while beautiful and compelling, it turns out that this definition/translation of the word "Leidenschaft" is misleading: "Leiden" means "suffering" and "schaft" simply means "-ship". This is very similar to the word _passio_ which is the Latin root of the English word (and whose meaning shines through in "The Passion of Christ", for instance).

When using spaced repetition systems you must be extraordinarily careful around vetting the content that you are putting into them, and most of the time, you would be better simply "coming back to the same reading" on a given topic (thereby effectively building your own ad-hoc SRS process).

The brain exists in order to recognize patterns, but it also likes to over-fit!

[1] https://andymatuschak.org/prompts/

[2] Keller, T., Heller, S., Ruhlman, M. and Jones, D., 1999. The French Laundry Cookbook. New York: Artisan.

crabl··on Show HN: Ugliest.app – Ugly but good app platform
Sweet! Thanks!
crabl··on Show HN: Ugliest.app – Ugly but good app platform
Completely serious: in addition to "pages", if there was the ability to define "endpoints" that respond with JSON, I'd be in!
crabl··on Ask HN: What weird or hard problems are you trying to solve?
Yeah man, my e-mail is in my bio now!
crabl··on Ask HN: What weird or hard problems are you trying to solve?
Hey! I'd love to compare notes if you have some time! Couldn't find an e-mail for you though... mine is in my bio now if you want to reach out
crabl··on Ask HN: What weird or hard problems are you trying to solve?
You know, the trouble is, you're absolutely right. I _could_ have just said "I'm working on a note-taking app", but nothing about that seems particularly weird or hard.

To address the poetic waxing more directly, it's important to remember that we still don't have very good language to talk about the "primitives of knowledge work", which is why I phrased my statement the way I did. We know it almost certainly doesn't involve the concept of "notes" (at least in the way we think about right now) and calling them simply "ideas" is altogether too vague.

As far as the #roamcult is concerned, we are overwhelmingly in agreement :)

crabl··on Ask HN: What weird or hard problems are you trying to solve?
Existing mediums for note-taking (Evernote, Notion, Roam Research) are not sufficient for doing knowledge work over long periods of time. The functions these incumbents serve are primarily as “stores of knowledge” that we save because it’s interesting in the moment but never read through or “scratchpads” that we use once and never get rid of, which end up cluttering our information space like a junk drawer full of shopping lists and knick-knacks.

Serious thought involves more than just collections and associations: mastery requires repetition, creativity requires serendipitous discovery, and productive output requires flow states. It’s also a matter of acknowledging the fact that “units of knowledge” do not exist on their own: all knowledge is embedded in context (or “deeply intertwingled”, in the words of Ted Nelson), and without context, metaphor, and nuance, we cannot form meaningful connections. By baking these attributes into the medium itself, it’s possible to build an information space that’s simple to explore, can surface information when you need it, can augment the mind’s naturally ability to form connections, and can get out of the way the rest of the time.

crabl··on Ask HN: What are your favorite low-coding apps / tools as a developer?
That's very true, but for me that's an acceptable tradeoff for not having to write much code or spin up a database, docker container, load balancer, or worry about security. Dark is great for getting a project off the ground and getting to the "proof of concept" stage: for me, there is tremendous value in getting there sooner rather than wasting a bunch of time doing things that are tangential to creating the product.
crabl··on Ask HN: What are your favorite low-coding apps / tools as a developer?
Being a part of the Dark beta (https://darklang.com) has been incredible. It makes setting up a simple backend with persistent storage a breeze.
crabl··on The iOS and Mac markets are almost the same size?
I don't know about that... I think the only conclusion you could draw from this might be that the market for iOS and Mac _RSS readers_ are almost the same size. You might even be able to stretch it to say they are the _same_ market.
crabl··on In Praise of Chorded Input
Yup, exactly this. The fact that most iPad "creativity" apps (looking at Procreate, Notability, Photoshop, etc) are using essentially the same set of interactions as we have on the Mac at the moment (limited to a single input method at a time) means that despite having "10x" the available "interaction bandwidth", we are using only 1/10th of it. Gestures are problematic because of their lack of discoverability, but there are definitely other (even simpler) ways to achieve this (can't really say too much since I'm working on a product in this space).
crabl··on Broken
What about coalescing the lists of applications requiring specific permissions, for instance, and presenting that to the user at the end of the setup process in a more structured step? I'm imagining a list of "here are XYZ applications requesting location services access, pick which ones you don't want to give location access to" and then a list of "here are ABC apps that want microphone and camera access". It's not great, but it does eliminate the myriad popups. The more "Apple" solution would be to just have sensible defaults (deny) and only prompt the user when the app in question wants to access that specific item (the way iOS implements it).
crabl··on Unison – A statically-typed purely functional language
I think the coolest aspect about Unison, is that they're trying to reify the concept of a codebase (http://unisonweb.org/2016-09-17/editing.html) into something more than just a collection of lines of source code. You can think of it more like a well-defined object that can be transformed in coherent, strongly-typed ways. Unison identifies everything by a hash, so if you "change" a function definition, you're not actually mutating any state in the codebase, you're introducing a new function with a new hash.
crabl··on Technician keeps computer made in 1959 still humming along
If you ever find yourself in Mountain View on a Saturday around 11AM, I highly recommend taking in the IBM 1401 demo that happens at the Computer History Museum: singlehandedly one of the coolest things I’ve experienced. Having the opportunity to not only see the machines in action, but to speak with the engineers who originally used them in their work was such a treat.
crabl··on Strong_password Rubygem hijacked
Couldn't you theoretically shove all of your untrusted "non-I/O" libraries into a Service Worker? They wouldn't have direct access to the DOM or network I/O that way. It would involve writing some glue code, but perhaps it's worth trading that off for increased "security" (trust)?

EDIT: never mind, looks like I was mistaken about the network i/o part of this... Might be interesting to have a browser-level "sandboxed service worker" for this purpose though...

crabl··on Benefits of talking to strangers
How do you generally start your checkout line conversations?
crabl··on Show HN: Mosaic – A declarative, front-end JavaScript library for building UIs
This has some eerie similarities to [Backbone.js](https://backbonejs.org/#View-extend). That's not necessarily a bad thing, because Backbone was doing its level best to compete as a framework in its heyday, but it's still interesting to see how different it would be if Backbone was designed today.
crabl··on Ask HN: What big programming productivity gains you see happening in 5-10 yrs?
As someone who has used (and suffered at the hands of) NSLayoutConstraint, I'd actually love to see a more accessible and generally understandable version of this come into existence. Constraint programming is an underrated area of research at the moment, and I think it can be made so much more powerful by using what we've learned from building functional and declarative languages over the last decade.
crabl··on Ask HN: What big programming productivity gains you see happening in 5-10 yrs?
Rather than a pendulum, I think the reality is that typed languages are now going through a significant period of evolution, especially with the advent of _gradual_ typing. TypeScript, for example, is just a superset of JavaScript, but with a compiler that's smart enough to infer many of the underlying types from context. The notion of rigorous, strong typing has always been marred by the concept of casting, but this is practically nonexistent in a gradually typed languages. Do you get the same degree of rigor? Perhaps not, but you do benefit from some of the guarantees made by the compiler.

The underlying trend here is toward more pragmatic language design, and I think this is definitely a trend that will continue in the near future (5-10 years).

crabl··on Analyzing the Performance of WebAssembly vs. Native Code
Apple has shown and continues to show willingness to embrace web technologies once they show clear promise or stability[1]. They might not implement "hemorrhaging edge" technologies immediately, but if the technology supports it, and it contributes positively to the user experience, they will do it.

[1]: https://twitter.com/mhartington/status/1089292031548145666

crabl··on President Signs Government-Wide Open Data Bill
The deep irony here is that https://www.data.gov/ is still down due to the government shutdown.
crabl··on Using the Singular ‘They’: Why It Is Important
Having learned French in school as well, I can confirm that it is the same feeling!
crabl··on Using the Singular ‘They’: Why It Is Important
As an aside, many languages (like Hungarian) lack grammatical gender and gendered pronouns entirely. Having learned English afterward, it took conscious effort on my part to remember to include the correct gender when talking about people in English, so I chose to use the singular "they" pronoun to avoid that unnecessary thought.
crabl··on Ask HN: How do you organize everything you want to do?
I wrote my own task management application that I use to organize long-term goals (and different aspects of my life) into high-level categories (represented by sections on the page like “work” vs. “home” vs. “personal”), and more granular categories (represented by cards of tasks) as they become more well-defined, or if i want to group tasks into a “project”. I can break cards into tasks and schedule them within the same UI. The important distinction between this and most “GTD” systems is that I schedule at a much less granular level (days) than most systems and I can very easily move tasks around between “scheduled” and “unscheduled” states while maintaining a link to their corresponding category. The system is extremely adaptable because it’s not very prescriptive. I tweeted about it here: https://twitter.com/crabl/status/1073248575612542976?s=20
crabl··on Ask HN: Books you read in 2018?
1. Creative Selection by Ken Kocienda - Great insight into how Apple teams develop products, and creating a “demo culture”

2. Bad Blood by John Carreyrou - Gripping prose and an altogether incredible storyline

3. It Doesn’t Have to be Crazy at Work by Jason Fried and DHH - Some great lessons in here (interspersed with other not-so-great ones) for creating a “culture of calm” within organizations

4. When The Bubble Bursts by Hilliard Macbeth - Insightful look into the fragile structure of the Canadian real estate market (a bit hyperbolic at times, though)

crabl··on Microsoft Is Worth as Much as Apple. How Did That Happen?
A big reason for the lack of long wait lines is because Apple's retail org under Angela Ahrendts has been trying since 2015 to actively discourage that behavior [1], and they have SUBSTANTIALLY better control over their supply chain now than they did 10 years ago. Tim Cook has been quoted as saying inventory is "fundamentally evil" [2], which is the main driver behind that change.

[1] https://www.businessinsider.com/angela-ahrendts-says-a-signi...

[2] https://money.cnn.com/2008/11/09/technology/cook_apple.fortu...

crabl··on React Native at Airbnb
Tangential to this, he says Airbnb has 100 mobile devs writing about 80k LoC of app code, 40K LoC of infra, and 220 "screens". We've got an app with about the same "dimensions", developed in a similar timeframe, with some very complex financial business logic and 2 developers working on it... what on Earth do their devs spend their time on? Is their engineering organization really _that_ inefficient?
← PreviousPage 2 of 3Next →