Wasim Lorgat Profile picture
Maker, ML engineer, exploring interactive programming environments 📔 https://t.co/PVO5vPG1F7 👗 https://t.co/bMMY7XPaAc 🍎 https://t.co/2yQg45cOeD
Nov 25, 2022 8 tweets 3 min read
Introducing Meepo – a smarter search engine for @Superbalist (leading South African fashion and homeware store 🇿🇦)

I have no affiliation with Superbalist. I just thought this was something that needed to exist! Let me explain...
meepo.shop I built Meepo out of frustration with existing search engines

For example, I searched "fork" and got 4 results, none of which resemble a fork at all!

It turns out, you have to search "cutlery" instead
Sep 19, 2022 5 tweets 5 min read
Notebooks are an incredibly powerful and flexible medium... which can be overwhelming

Here's everything we know about writing great notebooks after years of working with #nbdev
nbdev.fast.ai/tutorials/best… 1. Use @ProjectJupyter's rich display features to supercharge your users

Pictured below:
@RDKit_org molecule
@fastdotai learning rate finder
• Mermaid @Graphviz diagram via @quarto_pub
• `Color` - a full example to get you started! Code: # With atom index mol_with_atom_index(mol)  Output: DiReads: We used the default learning rate before, but we mighDiagram of nbdev's processing pipelineReads:  class Color:     def __init__(self, color): self.col
Sep 27, 2020 13 tweets 3 min read
Last time, we took our first step in building a simple text editor: gathering references to understand how the problem might be decomposed. Let's dig into them!

Finseth's The Craft of Text Editing is an excellent source for this! They suggest to decompose an editor into three sub-systems:

1. The sub-editor
2. User-oriented commands
3. Redisplay
Sep 26, 2020 11 tweets 3 min read
Ookay, let's make a simple terminal-based Roam clone that _is_ an outliner. I could fork and extend an existing outliner, but it's way more interesting to start from scratch Step 1 is to do some reading... What's so special about outliners? I think they're strict supersets of text editors – if you used an outliner but only wrote in a single node, it'd effectively be a text editor

So let's take a step back. How do text editors work?
Sep 18, 2020 6 tweets 2 min read
I think the Gang of Four Design Patterns book is respectable. I wouldn't expect anyone to study it end-to-end though... I see it more as proof of work about the concept of design patterns I do think it's lacking concrete real-world examples and it's a bit too abstract for me, which means it doesn't age well. There isn't much guidance, lots left to the reader. If I were in a room with the GoF, the book would only cover 1% of what I'd try to learn from them
Jun 13, 2020 4 tweets 1 min read
What are other terms for "metagames"? terms that might be more useful to search for relevant literature can anyone recommend material on metagames? or related
Jun 7, 2020 6 tweets 2 min read
Jun 6, 2020 14 tweets 4 min read
okay, let's do it

en.bp.ntu.edu.tw/wp-content/upl… I _love_ the use of "residue" here! dude's really good at naming

"[...] a house is the residue of the interactions between the
members of a family, their emotions and their belongings; and a freeway is the residue of movement and commercial exchange." Image
May 31, 2020 6 tweets 2 min read
I just realised this is the software principle: "Composition over inheritance". A large part of the industry fell prey to the hierarchy trap for some time.. it _feels good_, because it's compartmentalised. A simple decision from the perspective of each node ("locally linear") but it scales terribly when faced with "overlapping behaviour/attributes"–which most of reality requires. For example, say you were to classify houses. You could start by distinguishing between 1 bedroom houses and >1 bedroom houses (bear with me)
May 23, 2020 10 tweets 3 min read
tweeting while I’m only about a third of the way to understanding something seems to be the most valuable

polish _feels_ nice. it feels like closure. but it also gets far less valuable engagement. more likes, less comments

I’d gladly disable likes if I could maybe try tweeting earlier on in my thought process. also, more questions

maybe what I consider “polished”, actually makes for boring reading?
maybe gotta work on writing skills?
May 23, 2020 9 tweets 2 min read
I’ve been struggling with a tension between “this is interesting and I want to write about it” and “it’s not as interesting as something else, I’ll have to get around to it later”. It’s a struggle because I feel this way about almost all of my scribbles and sketches I think my key confusion was in distinguishing the efficiency of an ordered inbox from frictionless and serendipitous fleeting notes
May 17, 2020 5 tweets 1 min read
Bugs generate knowledge

“Bugs” are unanticipated and undesirable effects caused by changes to a system. Bugs generate knowledge: a bug occurs because the system (including the developer) incorrectly models the problem space. Once fixed, the system will have improved its model—it will have learned.

Bugs are undesirable because knowledge generation is not typically the primary goal of software. In knowledge systems, “insight” has an almost equivalent definition except that it is desirable.
May 13, 2020 9 tweets 2 min read
Been thinking about when and why nested lists are useful. I think there's something to say about temporality, linearity, and experience Nested lists are trivially linearisable. Graphs not so much
May 10, 2020 7 tweets 2 min read
I've always told myself I learn better from doing than books

wonder if its true I do "snack, sample, browse, and read around" though, but I tend to spend as little time in the book as possible

on the rarest of occasions, there's something I really just can't stop devouring

something like this

May 9, 2020 13 tweets 2 min read
I've decided to experiment with a completely different setup to better understand whether/why Roam is an improvement for me:

• notes: markdown
• tasks: uncertain – plaintext, Things, or OmniFocus
• time: uncertain – plaintext, spreadsheet, or Noko I expect to prefer:

• smoother, more polished interface
• ability to customize via scripting
Apr 26, 2020 6 tweets 2 min read
I found "The Evolutionary Origins of Hierarchy", which is a really cool idea!

The claim: networks evolve into hierarchies when connections are expensive.

But I don't agree with the generality of that, given the problem set used is itself hierarchical.

journals.plos.org/ploscompbiol/a… The experiment: you start with a set of problems, in this case hierarchical (🙈) boolean expressions, like (A XOR B) AND (C XOR D).
Apr 26, 2020 8 tweets 2 min read
Why do hierarchies suck? They probably don't always, but I like the title 🤷‍♂️..
Jan 12, 2020 12 tweets 3 min read
When I was younger, I had tons of energy to work on projects, but really struggled to spark the initial idea.

This is a thread of interesting ideas young me might've liked to work on, shared freely by lovely people on Twitter. Maybe it helps others in similar positions 😄 Note: Some are already "taken" (implemented) -- they're still good inspiration, or could be done with your own flavour.
Jan 9, 2020 11 tweets 2 min read
Nested lists are better data structures than they are interfaces! For example, I prefer to read and write typeset documents with varied font faces, sizes, colours, and whitespace. But... by separating interface from internal implementation, we could have the best of both worlds. What are nested lists? An ever-present example is the indented bulleted list:

- this
- is
- an
- indented
- bulleted
- list
Jan 5, 2020 5 tweets 2 min read
I’d never thought of peripheral vision as an advantage of physical interfaces. But I’ve always felt like digital was too FUZZY. It’s too easy to just forget things, let them slip into the aether. Now I think this may be the key reason 🤔 going to ponder on this some more... Scroll bars are a weak form of peripheral vision. They locate you within a file. Minimaps (e.g., in VSCode) do the same thing with slightly more information.

I think the vision they grant is still too narrow. You don’t easily get lost in one file. Need to step out further.
Jan 2, 2020 13 tweets 4 min read
The best interfaces to note-taking are physical. We limit our expression of human experience to that understood by machines.

Don't get me wrong, the digital world gives us a lot of really fundamental stuff:

- search
- backup & restore
- transfer / communication
- graphs (for linking and aliasing)
- nested lists (collapsible and expandable)

and it internally handles all of this seamlessly.