HNHacker News
TopNewBestAskShowJobs

gushogg-blake

552 karma · joined April 22, 2021

Founder of the Pathologically Small Faces, a loose association of individuals (a band, you could say) who are interested in the modern trend for the human skull to grow too small to contain the full set of 32 adult teeth.

I wish that I knew what I know now, When my sutures were younger.

submissionscomments
gushogg-blake··on What is an emotion? William James’s theory of how our bodies affect our feelings
It's been a while since I read it, but one of the central ideas is that we construct instances of emotions based on sensory data (from the internal systems that detect and predict our energy needs) in a similar way to how we construct instances of concepts from other sensory modes, e.g. seeing a particular cluster of visual features and concluding "that's a bee". When we feel anger, that's our brain's best guess as to the appropriate interpretation of a bunch of internal measurements -- raised blood pressure, high arousal, etc -- based on context. The same internal state in a different context could be interpreted as a different emotion, so there is no consistent or unique biological fingerprint behind a given emotion.

It's counter-intuitive, but it fits better with what we know about how the nervous system works than the commonly accepted fingerprint idea.

Emotions are the brain's attempt at constructing the concepts that best explain and account for our body's energy budget.

gushogg-blake··on GitHubGuessr
Nice! More time would be good (or a no time limit option). I like the element of being able to make inferences based on the code even if you're not familiar with it, narrowing down to a handful of candidate repos and making an informed guess - but this takes time and the 60s you get doesn't feel like enough to comfortably read the whole list of repos.

Being able to quickly eliminate languages might also be good - if you see some code that you know is Python, for example, a little filter bar would be a nice way of shortening the list. Great concept!

gushogg-blake··on Svelte is surprisingly easy to learn
From a quick look at the "What is Composition API?" question in the FAQ[1], I would say:

- Reactivity API - yes, with $: labels

- Lifecycle hooks - yes, similar to the ones mentioned

- Dependency injection - not sure what it is exactly as I'm not familiar with Vue, but I don't think Svelte has a concept like this

[1]: https://vuejs.org/guide/extras/composition-api-faq.html#what...

gushogg-blake··on Svelte is surprisingly easy to learn
Having used Svelte on a large project, I found that it did scale reasonably well but that the usual problems did require effort and trade-offs. The two big ones for me were:

- Managing file size and complexity in the component-per-file paradigm. Having all logic for a complex component in one file makes it big, e.g. 1,000 lines, but splitting into multiple files introduces a component boundary and consequent state passing/event handling boilerplate.

- With tight coupling between a complex UI and complex domain objects/data structures, it becomes difficult to reason about data flow. There are multiple ways of binding the data to the UI -- props, stores, standard JS variables, and reactive statements -- but all come with trade-offs and none let you develop domain objects that are completely framework-agnostic without introducing repetitive boilerplate.

For certain types of app I actually really like the DX of writing a UI-agnostic app and then layering Svelte on top of it with event handlers. It's repetitive -- you have to manually listen to events from the domain objects and update local variables with assignments -- but it's easy to reason about and seems to scale well. A good middle-ground might be making the app aware of the Svelte store contract, which is also very simple, but I haven't tried this and the store syntax comes with its own idiosyncrasies (you can't do $obj.store, for example, because only the $obj bit is interpreted as a reference to a store).

gushogg-blake··on Seven Sins of Writing
The "treating data as singular" one is interesting - "data" as a plural is actually one of my biggest pet peeves because I strongly suspect that realising that it is technically the plural of "datum" is the only reason people started using it like that. The actual concept it conveys is almost always not a plural: it's more like "sand" than "pebbles".
gushogg-blake··on Water
Same on Brave, shields down makes it work
gushogg-blake··on React is holding me hostage
Svelte
gushogg-blake··on Ask HN: Who needs beta testers?
https://edita.vercel.app

Project description: code editor

What do you want to be tested: general usability

Contact info: gus@gushogg-blake.com

gushogg-blake··on Over the past 21 months I’ve written a code editor from the ground up
Should be fixed now. Thanks!
gushogg-blake··on Codex – Find and Replace for Code
CodeMatch sounded too much like a dating site: https://codepatterns.vercel.app/
gushogg-blake··on Codex – Find and Replace for Code
Thanks, looks interesting.
gushogg-blake··on Codex – Find and Replace for Code
Oh wow, yeah that is similar. I'll add a comparison. Thanks!
gushogg-blake··on Codex – Find and Replace for Code
I've renamed it to CodeMatch for now, still taken but hopefully not by anything too similar.
gushogg-blake··on Codex – Find and Replace for Code
Could you explain in more detail what makes it too much of a learning investment for you/what might improve it? It's always hard to see which bits are non intuitive when you've designed something.
gushogg-blake··on Codex – Find and Replace for Code
Have you tried Komodo Edit? It has Macros which is what I used to use for this kind of thing.
gushogg-blake··on Codex – Find and Replace for Code
The latest version is in my editor project at https://gitlab.com/gushogg-blake/edita-release. It will apply changes but it's just the minimal functionality at the moment, there is no feedback after you press the Replace all button. My process is to use the editor and write whatever I most need on it right now so not sure when I'll get round to fleshing it out.

Ideally other editors will take inspiration from it and add their own implementations. The code is available for reference here and I'd be happy to go over it in detail with anyone who wants to: https://gitlab.com/gushogg-blake/edita-release/-/tree/main/s....

gushogg-blake··on Codex – Find and Replace for Code
Yeah that is definitely a concern, I mostly just needed a name so went with it - another canidate was CodeExp going with the regex/p analogy. But definitely open to something else entirely.

Yes a simpler syntax would be good - I was surprised at how complex the query got for the use case I designed it for. I do like the separation of queries and regex though, and keeping the whole structure as regex and queries inside plain text, as it starts you off in the simplest mode (just text) and lets you add flexibility as needed (although it does mean some chars have to be escaped).

gushogg-blake··on Ask HN: Help me pick a front-end framework
Agreed. When writing my code editor I started off with a lot of UI-related state and logic in the UI (Svelte) components, things like keeping track of what tabs are open and editor state within the tabs.

Quickly realised there was gonna be a lot of grappling with Svelte as the complexity grew: figuring out what component structure to use for passing data around efficiently and ergonomically, passing events between components, using Svelte stores for global state and figuring out how to update and subscribe to them from non-Svelte code, etc.

Now the Svelte code is a thin wrapper and the app can run headless. I feel like it would genuinely be fairly easy to plug a totally different UI onto it.

Each Svelte component basically stores copies of the state it's interested in, subscribes to events from the objects it's interested in, and calls methods on those objects in response to events. This comes with a bit of extra boilerplate vs. more tightly integrating the UI logic with Svelte but the almost complete lack of cognitive overhead in this part of the code is well worth it.

gushogg-blake··on John Carmack's new AGI company, Keen Technologies, has raised a $20M round
Yes! I have a feeling that as you define the goal of "something that has human-like intelligence but isn't human" more clearly, the less sense it will make because it will become clear that our idea of intelligence depends heavily on the specific ways that humans relate to the world. I wrote a blog post on this - https://gushogg-blake.com/posts/agi
gushogg-blake··on Show HN: Logto, OSS to build sign-in experience and user identity within minutes
Do you have any plans to support Web Authentication (webauthn.io)?
gushogg-blake··on Ask HN: Why hasn't the public key taken off as a general identity mgmt solution?
Thanks, I'll check out WebAuthn
gushogg-blake··on Ask HN: Why hasn't the public key taken off as a general identity mgmt solution?
I'm assuming the public key/SSH auth would be sufficient for that, after you'd shared your public key in a trusted setting (in person, over email, etc).
gushogg-blake··on Ask HN: Why hasn't the public key taken off as a general identity mgmt solution?
As a corollary to this, I often wonder how much companies could save on, for example, collaboration tools if they invested some time training their employees to use version control and file transfer utilities. Or am I biased by my own comfort level on a command line as a software dev, and this would actually be infeasible?
gushogg-blake··on Tell HN: 3 years of running a minimal blogging platform
Just signed up. The link in the confirmation email I got was http:// (no s) and it hung for a while then gave a 503. Changed it to https and it seems to have worked.
gushogg-blake··on Ask HN: Why are there so few fanless laptops with Intel/AMD?
Someone should make a laptop that's way heavier/thicker than current models but is also silent, cool, high-performing, and the battery lasts a week.
gushogg-blake··on Ask HN: Codebases with great, easy to read code?
I came up with the idea of ENTRYPOINT comments to solve this problem: https://gist.github.com/gushogg-blake/247b1bf2ed46b035d1c8a2...
gushogg-blake··on Ask HN: Who Wants to Collaborate? (March 2022)
I'm developing an idea for a way to create better docs and explanatory tutorials for software projects. Still in early stages, but the general idea would be to let people post tutorials/explanations (quality would be maintained by some kind of upvote system) and link to other projects to build up a connected graph.

Key things that distinguish it from currently available docs would be:

- a focus on the motivations, design decisions, and trade-offs vs only describing the positive "selling points" of a project

- a focus on how different systems connect to each other and the outside world vs describing things as isolated entities (just knowing how something is called or what network listeners or event handlers it uses is a great way to get a foothold into understanding it)

- driven by specific examples vs generalisations & metaphors. The trade-off here is that specific examples inherently don't give the full conceptual picture or demonstrate the full flexibility of a project - but I think this is more than outweighed by people's ability to generalise from examples, and it's way easier to quickly understand a few specific examples than to grasp a concept/metaphor that's general enough to cover all use cases.

More details here: https://gist.github.com/gushogg-blake/b1eb767821f10a58daac0d...

We would be aiming to apply for YC Winter 2023. Email is in my bio, let me know if you are interested!

Gus

gushogg-blake··on Rebelle: Experimental online paint software
Wow! The dripping/drying effect is really cool! Reminds me of a concept I wanted to try a while ago - a machine that produces watercolours, so like a "printer" that uses a camera and actual watercolour paints, brushes etc to recreate the scene as best it can. The idea was for it to be live on the scene, as opposed to looking at an image file or whatever, so it would be seeing the scene evolve like a human painter would. And there would be some element of art to how you wrote the software, making tradeoffs/guesses about how the paint will behave and how the colours will mix, plus maybe some kind of ML inspired approach to how best to identify and capture the most salient aspects of the scene and to produce something that conveys a particular style.
gushogg-blake··on The Curse of NixOS
> but the connection between those two things is essentially undocumented

I often think documentation would be vastly improved if the author was simply answering the question _what problem did you solve, and how?_, but that seems like it would reveal too much of the dirty details of the design process somehow, so they try to describe the all the neatly encapsulated abstractions and metaphors they've come up with to describe the system (and to encode their own eventual understanding of it) instead. Basically - give us the dirty details and we can make the generalisations ourselves, instead of trying to load the generalised structures into our minds in the most efficient way possible.

gushogg-blake··on Ask HN: How to Write Readable Code
Literate programming maybe?
← PreviousPage 4 of 5Next →