last week | last month | last year | all entries
Blurters gonna blurt.
Read: [[Wasteland]].
The bookmarks from yesterday look pretty messy.
[[Read]] (well, skimmed): [[Beyond Waste: Essential Skills for a Greener Tomorrow]]
Read: [[Wasteland]]
[[Bookmark]]: Climate Vanguard
[[Bookmark]]: How I Use Org-Roam to Take Notes for CS - Michael
[[Bookmark]]: The Eco-Socialist Party β Climate Vanguard
Today I was writing a newsletter. In my ongoing push to do everything in [[Emacs]], I set up org-preview-html to get a nice HTML preview pane as I was writing it in [[org-mode]]. I then copied and pasted from that into Drip’s wysiwyg editor. Worked pretty well.
[[Bookmark]]: Levelling up through circular economy jobs Β» Green Alliance
[[Bookmark]]: Beyond Waste: Essential Skills for a Greener Tomorrow report
[[Bookmark]]: Capitalism kills: The case for ecosocialism | Green Left
As one might have noticed, I’m logging bookmarks in the journal stream.
Read Where to draw the line? - by Gordon Brander
Note that [[Substack]] has it’s short form posts now.
I love using [[spacemacs]] and [[Emacs]].
[[Wasteland]]
Writing prose in [[Emacs]] with [[Termux]] is a little weird.
Going all in on [[libre software]] and [[open hardware]] is a key part of [[digital ecosocialism]].
Provisioning the [[knowledge commons]] with info on what software is good, how to use it, how to switch to it, etc, also very important.
[[Wasteland]]
[[Waste]] and what you do with it is an important part of any [[system]].
Watched [[Why Spaced Repetition Doesn’t (Always) Work]]
[[Wasteland]]
[[Wasteland]]
Learned of [[Weird]] and [[Leaf]] from Zicklag on Agora Discuss.
[[Watched]] [[Why Ethical Consumerism Is a Trap]]
[[Wasteland]].
All of the above methods of [[waste disposal]] are problematic one way or another. Reduction of production and consumption rates really is the only solution. (i.e. degrowth).
[[Wasteland]].
I hope to find the time to start participating in the [[IndieWeb Carnival]].
Downloaded [[Wasteland]] from [[libro.fm]].
Found them!
The opening to [[Wasteland]], where he outlines the scale of waste we produce worldwide, puts me in mind of the bit in [[Doughnut Economics]] where she discusses broadening our conception of the economy to be embedded within the biosphere.
[[causal loop diagram]]s.
Looking at Lend Engine and MyTurn as software options for our [[library of things]].
[[wp cli]] is handy.
In a [[causal loop diagram]], where do you put actions, things that happen? I guess it’s a flow. But, what causes the flow?
On Tuesday I went to a workshop on learning the basics of electrical repairs.
[[Doughnut Economics]] has a good overview of what a [[system]] is and why [[systems thinking]] of useful.
Microblurting with a mindmap.
Listening to [[Doughnut Economics]] now.
[[Data commons]] are [[digital ecosocialism]].
Finished [[A Short History of Nearly Everything]] (audiobook)
Everybody blurts, sometimes
More one handed mode configuration for Termux:
What is the relationship between ecology and earth systems science?
I would like to learn more about [[systems ecology]].
[[microblurting]] at [[my blurts]]
I solved my [[issue with evil-escape in Doom on Termux]].
I’m [[microblurting]].
Blurt
Blurt
I’m thinking that blurting is probably better semi private.
[[HeliBoard]] is going well.
[[Human physiology]] - the processes and functions of living organisms. Rather than, say, the structure of the body or evolutionary history.
[[Passive repetition]] can result in an [[illusion of knowing]].
Actually, you could also do passive repetition in a digital garden.
One of the key uses of a stream and garden for me is active recall and repetition. So worth thinking about it a bit more.
Trying [[HeliBoard]].
[[Learning blurt]]
Traditional social media / microblogging can also be great for active recall.
[[Learning blurt]]
I listened to a good ACFM episode on the gut microbiome recently: [[ACFM Trip 41: Trust Your Gut]]
I think I’ll explore "[[microblurting]]" as a thing.
I’ve logged in to [[Fediverse]] again the last couple of days. To make a new connection and do some Restart related posting. But: already found myself scrolling aimlessly through things which though very interesting are of minimal relevance to my actual life. Might just be a phase, but, sadly I can’t spare that idle time right now.
I’ve been cultivating a setup for logging the [[repair data]] from [[Ulverston Repair Cafe]] that, once I’ve taken a copy of the paper forms on my phone, I can then log it all digitally and get it into Restarters.net, all from my phone.
Let’s dust this offβ¦
[[International Repair Day]] 2024 today.
For [[Restart]] for Repair Day I worked on the global map of events, the Open Repair Alliance report, and the Open Repair Alliance dataset. Proud of all of those.
[[Human physiology]]
Listened: [[Jeremy Corbyn & Mhairi Black: Left Culled, Centre Cracked and Right Reformed?]]
Listened: [[The βblue wallβ road trip: Tories jumping ship?]]
Listened: [[New Frank Hester allegations]]
Why the fuck is [[The Guardian]] advertising some private healthcare subscription to me on their podcasts.
[[Commonism]].
Listened: [[Election Extra: Nigel Farage is back]]
Listened: [[Trump is guilty on all counts. So what happens next?]]
Listened: [[Has there been a purge of the leftwing of the Labour party?]]
Learned about [[Bunny Fonts]] from James.
[[Listened]]: [[Digitalisation and the Security State]]
I finished off Week 3 of the [[Digital Capitalism online course]].
Started listening to the masterclass for week 4, on the digital trade agenda.
Learning about ecology on Kinnu, I realise that it’s a great source of ideas for thinking in systems.
[[Listened]]: [[Digital colonialism: Geopolitics of data and development]]
[[World-Ecology]].
[[Cooperation Jackson]] and the [[Jackson-Kush Plan]] are explicitly [[ecosocialist]] in outlook.
They also work on the principle of instituting [[non-reformist reform]]s.
Read: [[Critique of techno-feudal reason]]
After a long hiatus, low-key writing [[Reclaim the Stacks: reflections, May 2024]].
Reading [[Critical Perspectives on Digital Capitalism: Theories and Praxis. Introduction to the Special Issue]]
I finally managed to start (just as it’s finishing!) the [[Digital Capitalism online course]] from the [[Transnational Institute]].
And the [[tripleC]] special issue on digital capitalism just came out.
Apropos of the above, for [[node club]] (AKA [[Homebrew Commons Club]]) I’m going to write about [[digital capitalism]].
[[Ecology]]
I should put more images in my garden.
Finally finished watching [[Minersβ Strike 1984: The Battle For Britain]].
Read [[Palestine speaks for everyone]]
:ID: 8c141ded-1a33-447e-9999-dfed514a74da :mtime: 20240427191417 20240427113158 :ctime: 20240427113158
[[Digital weeding and watering]]
I am really looking forward to the release of [[Jathan Sadowski]]‘s new book.
Soccer96 - I was gonna fight fascism
[[Listened]] to [[Seto Kaiba is My Role Model]]
Changes in the [[forces of production]] come into conflict with the [[relations of production]].
[[Listened]] to [[The Tao of WAO: S09 Episode 4: Adam Greenfield]]
[[Listened]] to [[How Swiss women won a landmark climate case for Europe]]
It could be time for a new season of [[Node Club]]β¦
I should back up my Doom config on Termux.
I [[listened]] to [[Degrowth vs Eco-Modernism]].
Listened to [[Opening the Vicious Circle of Risk Rating (ft. Ariel Bogle)]]
[[Listened]] to [[Degrowth vs Eco-Modernism]]
[[Listened]] to [[Is the Middle East on the brink?]]
[[Shells]].
Listened to [[Israelβs AI Kill List: βOnce you go automatic, target generation goes crazy.β]]
Read: [[Emacs: Dead and Loving It]]
Working on some improvements to the look and feel of my writing mode that I use when in org-roam.for Emacs.
(setq helm-case-fold-search t)
and all is good - much smoother completion experience.Listened to [[New Economics Podcast: Should we be going for growth?]]
[[Listened]] to [[Ghosts in the Machines: Artificial Intelligence, Consciousness, & Capitalism]]
[[Habitat loss]].
[[Film theory]] looks at films and the effect they have on society.
Learning about [[biodiversity]] via the Kinna app.
Listened to [[Post Capitalism w/ Alnoor Ladha]]
[[Listened]] to [[Should the UK stop arming Israel?]]
[[Nonprofits should (almost) never write their own software]]
My publish.el file would be a good candidate for a literate config approach. Would make it more useful for other people to make use of then I think. Also would make me tidy it up.
Listened again to [[Nathan Schneider on Building Democratic Governance on the Internet]]
When I get a moment I’ll make a page of gardening tasks for myself.
[[Ecology]].
I’m getting more into the groove with [[fish]] on desktop the more that I use it.
I would just like to take a moment to lament the fact that I have received an email inviting me to become a Certified Generative AI Specialist.
Idle thought: maybe the world would be a better place if the de facto ‘learn to code’ tutorial was not a todo list (individual productivity) but a simple group poll (collective decision-making).
Had a quick read about [[Passkeys]].
Listened to [[Platforms for Public Good w/ Mathew Lawrence & Thomas Hanna]]
[[Listened]] to [[Hotel Bar Sessions: Whose Anthropocene?]]
Also [[listened]] to [[Envisioning Platform Socialism w/ James Muldoon]]
Following a stumble through the garden related to [[technology and political economy]], re-reading [[The Telekommunist Manifesto]].
Also plan to re-read [[The British Digital Cooperative: A New Model Public Sector Institution]].
Late night [[listened]] to [[Whatβs the Value of Data? (ft. SalomΓ© Viljoen)]]
Also listened to [[The Supermarket into Prison Pipeline]]
Pretty much always find [[This Machine Kills]] interesting, whatever the topic.
Thinking about how I would go about [[adding planted and last tended dates to pages in my digital garden]].
Although in general it feels the same (possibly slower? because I didn’t compile it myself?), one thing that is much faster in Emacs 28 is the parsing of my huge Tasks.org file for work. Thumbs up.
I’d like to tweak my garden a bit such that I have ‘planted’ and ‘last tended’ dates on each page.
[[org-timeblock]] looks pretty good and like it’d fill my desire for a timeblocking tool for org-mode.
We [[watched]] [[Soul]] again.
I [[listened]] to [[What Social Media Meant for the Mass Protest Decade w/ Vincent Bevins]]
Also listened to [[Why Tech Makes Us More Insecure w/ Astra Taylor]]
We have [[national insurance]] in the UK.
Never really thought much about insurance before.
Returning a little to [[IndieWeb]] for following activity streams. I had been using the Fediverse for a while, but I find it a bit too fast paced, a bit too attention grabbing. For me. IndieWeb is kind of slow social media and that suits me fine.
hyperorg could be useful for me.
Listened: [[Yanis Varoufakis, "Technofeudalism: What Killed Capitalism"]]
[[Listened]]: [[Democracy for sale, Europeβs first black leader + tea with Obama]]
[[Listened]]: [[Black Box: Episode 6 β Shut it down?]]
[[Listened]]: [[The silencing of climate protesters in English and Welsh courts]]
[[Listened]]: [[Vulture Capitalism - Exposing the toxic system and how to outgrow it with Grace Blakeley]]
Read: [[βItβs Not Rocket Science β Itβs Just Communityβ: Radical Ffestiniog]]
I donated to the [[Amazon UK warehouse workers’ strike fund]] again.
Listened: [[Black Box: Prologue: The collision]]
Listened: [[Black Box: Episode one β The connectionists]]
Listened: [[Black Box: Episode three β Repocalypse now]]
Listened: [[The Problem With Americaβs Ban on TikTok]]
Read: [[The digital revolution has failed]]
[[Generative AI is further concentrating power with Big Tech]].
Watched: [[Minersβ Strike 1984: The Battle For Britain]]
Watched: [[Avengers: Civil War]]
Listened: [[Medium Anxiety]]
Listened: [[How an infamous ransomware gang found itself hacked]]
Listened: [[What do the Tories consider extreme?]]
Watched: [[Ant-Man]].
I can’t seem to find an [[IRC bouncer]] that you can easily install on [[YunoHost]]β¦
[[What would AI for the people look like?]]
Watched: [[Minersβ Strike 1984: The Battle For Britain]]
Read: [[Reframing and simplifying the idea of how to keep a Zettelkasten]]
Contemplating whether I should send webmentions from my digital garden.
Listened: [[How to talk about avoiding waste, with Keep Britain Tidy]]
Listened: [[Black Box: the hunt for ClothOff β the deepfake porn app]]
[[Updating to Emacs 28 on Linux Mint]].
I updated packages on Mint like a good boy, and now I’m getting complaints from composer when building a project.
Kickstarted the [[spacemacs]] / spacemacs packages update dance.
I created a [[quick function to help extract bold sections from text into bullet points]].
[[Listened]]: [[Brian Merchant, "Blood in the Machine: The Origins of the Rebellion Against Big Tech"]]
[[Spam]].
1*if(now()=sysdate(),sleep(15),0)
.[[Listened]]: [[The cybernetic jacket]]
[[Read]]: [[The Jakarta Method Comes to Latin America (Review)]]
[[Listened]]: [[The cybernetic jacket]]
[[Watched]]: [[Minersβ Strike 1984: The Battle For Britain]]
[[Concept map]]s seem like something I’d be interested in. A visual way of organising knowledge focusing on the relationships between concepts.
[[Vulpea]] and [[publicatorg]] look like they might be useful for my [[org-roam]] life.
[[Listened]]: [[Jeremy Huntβs election budget for big earners and big owners]]
Don’t think I’ll be able to do a [[new connections]] page.
Listened: [[What if we became better Protopians?]]
[[Watched]]: [[Minersβ Strike 1984: The Battle For Britain]]
[[Listened]]:[[Nvidia: 2 Boom 2 Bust]]
Read: [[Oregon Just Struck a Blow to Parts Pairing and Won a Decade of Repair Support]]
Read: [[What’s the latest on Right to Repair in the EU? And what it means for the UK]]
Been having fun looking at [[repairability scores]] from the [[French repair index]] as displayed on Amazon.fr.
Claim: [[The free software movement is an example of neo-Luddism]].
Claim: [[The right to repair movement is an example of neo-Luddism]].
Both sound defensible - both movements are clearly not anti-technology, just anti the political economy of how software and hardware are controlled and commodified to the detriment of society.
US PIRG has a short report on what it considers to be the best laptop brands for repairability.
[[Listened]]: [[Nvidia: 2 Boom 2 Bust]]
Nice to see a mention of the [[Austrian Repair Bonus voucher scheme in National Geographic Kids]].
Read: [[A political ecology of the repair manual]]
[[iFixit and Lenovo]].
[[Listened]]: [[Hotel Bar Sessions: Breaking Things at Work (with Gavin Mueller)]]
How do you socialise something that has been privatised?
Watched: [[Avengers: Age of Ultron]]
Listened: [[Hotel Bar Sessions: Breaking Things at Work (with Gavin Mueller)]]
A ‘trick’ I use when I have some issue with a particular file in my [[org-publish]] pipeline on my remote server.
org-publish-project-alist
, set :base-extension "foo"
.:include
to include the file that’s got the issue.:include ("file-with-a-problem.org")
Nice, I replaced a cl-loop
with a mapconcat
in some of my output formatting, e.g. in [[Well-connected]]. mapconcat feels a bit more functional style, and it also gets rid of the superfluous parentheses I had in the output.
I might try and add [[Pagefind]] to my published garden.
Trying [[fish]] out on desktop.
Watched: [[Guardians of the Galaxy]]
Listened: [[How the World Became Uninsurable]]
I’ve been enjoying [[using Python in org]].
Read: [[Neofeudalism: The End of Capitalism?]]
Listened: [[Capitalist Manufacturing // Manufacturing Communism β Part 1 (ft. Nick Chavez)]]
[[The Web of Death (ft. Tamara Kneese)]]
‘Dear Data Subject’ and other great ways to start an email.
Using Python in org, I was getting: [[Importmagic and/or epc not found]].
Listened: [[The Web of Death (ft. Tamara Kneese)]]
magit doesnt work properly for me in [[termux]] for some reason. I can stage but I cant commit.
Had a quick play with [[Surfacing notes in my garden that have no claims]] using [[Metabase]].
[[AI]]
Listened: [[The Web of Death (ft. Tamara Kneese)]]
Customising some key bindings would make one-handed phone tending my garden in Emacs in termux easier.
Read: [[AI deepfakes come of age as billions prepare to vote in a bumper year of elections]]
[[Listened]]: [[TMK BC5: Mute Compulsion, Ch. 2]]
Trying out [[fish]] shell on [[termux]] to make command line life a little easier on the phone.
[[Listened]]: [[The Art and Science of Communism, Part 1 (ft. Nick Chavez, Phil Neel)]]
Read: [[Mute Compulsion]]
Listened: [[TMK BC5: Mute Compulsion, Introduction]]
[[Social reproduction]].
Read: [[Forest and Factory]]
Listened: [[The Art and Science of Communism, Part 1 (ft. Nick Chavez, Phil Neel)]]
Read: [[Talking to My Daughter About the Economy]]
Read: [[Theories of International Politics and Zombies]]
[[Shower thought]].
Read: [[Talking to My Daughter About the Economy]]
Read: [[Forest and Factory]]
How repairable is a [[Vision Pro]]?
I’d like to add a ‘[[New connections]]‘ page to my garden.
[[Flancian]] told me about [[Orgzly Revived]].
Read: [[Talking to My Daughter About the Economy]]
Read: [[A Half-Built Garden]]
[[Read]]: [[How to stop a data center]].
Read: [[Imagining social movements: from networks to dynamic systems]]
Had to give up on [[Red Enlightenment: On Socialism, Science and Spirituality]] for now.
Started on [[Talking to My Daughter About the Economy]] instead.
Read: [[Red Enlightenment: On Socialism, Science and Spirituality]]
Listened: [[The Missing Revolution w/ Vincent Bevins]]
Listened: [[Why It’s Eco-Socialism or Collapse]]
Interesting to see that ‘Challenging the size and power of the biggest tech companies was voted a top priority by [[Foxglove]] supporters in our new year survey.’
Listened: [[Sellafield: Europeβs most toxic nuclear site]]
Listened: [[Hotel Bar Sessions: Trust]]
Read: [[Degrowth, green energy, social equity, and circular economy]]
Finally built my little electro synth kit today.
Listened: [[The Radical Imagination in Reactionary Times]]
[[Well-connected]].
Snow. Lots of snow.
I fixed a long-standing bug on my site where backlinks often didn’t work.
I also fixed up the backlinks section for each node to only include backlinking nodes once.
I saw [[Gordon Brander]] has a list of well-connected nodes in his pattern library.
I’d like to know why the outputs of my little bits of executable code blocks aren’t getting correctly generated when my garden gets published to the web.
Digging: Proem - [[She Never Cries]]
Digging: Frog Pocket - [[Hurrah Sapphire Moon!]]
Listened: [[A blast in Manhattan]]
Read: [[Doughnut Economics]]
Read: [[The great carbon divide]]
Listened: [[Movement and Stillness]]
Read: [[Doughnut Economics]]
Reflecting back and seeing them published on my website, I realise my work notes each day are a little mundane.
Watched: [[Isle of Dogs]]
Reading: [[Doughnut Economics]]
Listened: [[Hotel Bar Sessions: Late Capitalism]]
Today at work I:
[[Perceptions of degrowth in the European Parliament]]
Today at work I:
Today at work I:
When I’m working, I don’t log a lot in the journal, I noticed.
Listened: [[Hotel Bar Sessions: Revolutionary Mathematics]]
Patient privacy fears as US spy tech firm Palantir wins Β£330m NHS contract | β¦
We had another play of [[Space Cats Fight Fascism]] today.
We spend a not insignificant chunk of our lives just on the upkeep of our household.
Been enjoying [[Superstore]] of late.
We played the [[Rise Up]] board game tonight.
Listened: [[WCV S2: Keir Milburn "Glorious Variation in the Global Working Class"]]
Been enjoying the [[Working Class Voices]] series from GND Media. Good reflections on how the environmental movement involves the working class (and also how alienates it). Main point being - it has to, one way or another, as the working class is the largest class.
Digging Until Here for Years by Proem right now.
Listened: [[WCV2 NY Communities for change "Let’s not replace Oil Barons’ with Solar Barons’"]]
Listened: [[Hotel Bar Sessions: The Stories We Tell]]
Fun, busy [[Repair Cafe]] tonight.
Listened: [[WCV S2: We’ve run with it like a dog with a burst ball]]
Enjoying the [[This Machine Kills]] podcast.
Having another attempt at getting RSS feed publishing working for commonplace. This time without trying to use a tempdir, caused too many problems last time.
Listened: [[Kill the Ecomodernist in Your Head]]
Listened: [[No King But Ludd (ft. Brian Merchant)]]
org-roam on the mobile with Termux is going well. Using it regularly.
Going to start posting my daily journal/log in the stream as well. So it’s a bit more discoverable/subscribeable.
Been reading through [[Doughnut Economics]] again. Appreciating the chapter on [[systems thinking]].
[[Hugo Blanco]] passed away.
Watching [[Captain Fantastic]]. A lot of fun. Points out the problems of American (Western) society. Is what they have in the woods any better though?
It’s quiet in the Agora right now. But I’m sure peeps will be back.
I basically never write code anymore for work purposes. I guess I’m OK with that right now. But I feel one day soon the pendulum will swing back from lead to coder again.
I’m perhaps less interested in code for code’s sake these days, and more interested in the design of systems.
Starting having a go at [[an Iterative Enquiry diagram for digital ecosocialism]]. Definite work in progress.
Listened: [[Anthony Hodgson, "Ready for Anything: Designing Resilience for a Transforming World"]]
At work, it’s most productive to say as little as possible. Fewer words mean more time for more work.
Outside of work, being social - as much as possible, volunteering information, asking meandering questions - is so beneficial.
WHERE is the balance?? ** 16:22 Conversations need an elected arbitrator and decision maker. Someone has to say ‘yes, we will do it this way’. ** 17:18 I miss feeling cool ** 22:07 Most code is designed to be experimented with and to be deleted. Learn the technologies that are best for building prototypes! It’s good to have to throw away code and use newer, faster, more optimal technologies. Choose a language that allows you to throw things away fast. Solidify it once you’ve validated that your idea works.
On work’s time (9-5, or whenever I’ve planned to do my work for the company), I follow the priorities we set for issues.
Off of work time, I will prioritize however I want. Coding is fun!
Listened: [[Today in Focus: βWeβre totally isolatedβ: inside Gaza as Israelβs war intensifies]]
[[MermaidJS]] seems to have come a long way recently. Might start using it in conjunction with [[PlantUML]].
The worst response that you can receive about a tool is someone else being okay with it. ** 17:57 i wonder if heaven has more konbini characters than people
For all the (supposed) micro-rationalities of [[capitalism]], it produces some huge macro-irrationalities ([[overshoot of planetary boundaries]], [[social inequity]]).
Finished listening to [[What Is To Be Done? with Breht O’Shea and Alyson Escalante]].
Listened: [[Red Menace: Climate Leviathan: A Political Theory of Our Planetary Future]]
Why bother with org-roam and Termux on my phone? Why not just stick with orgzly for fleeting notes and then process them at the laptop?
[[Planetary sovereign]].
[[Polycrisis]].
Got org-roam working with Doom Emacs in Termux. To a certain degree. Few niggly issues but decent start. [[Setting up Doom Emacs in termux on Android]]
Don’t sync org-roam.db between machines.
Getting into org-roam on Termux. Useful extra tool in addition to orgzly for taking fleeting notes on my phone. Actually, Termux is more the processing of fleeting notes into actual notes.
Enjoying the Upstream interview with Breht and Alyson from Rev Left / Red Menace. They seem a bit more tempered here on another show - left to their own devices can sometimes come across tankie. Lots of good discussion of the need for an [[ecology of organisation]] here. [[What Is To Be Done? with Breht O’Shea and Alyson Escalante]].
Watching Coraline. It’s fun. I feel a bit seen by the Dad characterβ¦
This bit of text committed from my phone⦠will it work?
Read: [[Universal basic services: the power of decommodifying survival]]
[[Problem with Kobo Clara HD battery]]. It is draining really fast.
Started reading Kate Soper’s [[Post-Growth Living]]. It’ll be about how a move away from consumerism will actually bring about a more enjoyable life.
JS, like other functional language, encourages creating intermediate values that do not mutate previous results - but you can’t update the existing value without mutating it.
Common pattern with ‘let’s in functional languages is to redeclare the current variable you’re working on.
i.e.: value1 = a; value2 = change(value1); value3 = change(value2);
I never want the intermediate values for the end state because all I’m doing is applying pure transformations to input, but those intermediate values are excellent for print debugging. I might also want to split values up and merge them back together.
I AM SO STUPID you can use ‘let’ to do this but we have an eslint rule set up to avoid it
This reveals that (1) I should learn more about javascript semantics and (2) that I should learn to use a debugger instead of handling all of this intermediate value business
but also - redeclaring, not mutating, is a good default, and i wish i could do it with const
lol ‘const’ allows this too
ah, js does not allow you to alias function arguments!! ** 14:24 I like dynamic languages because you can accept whatever input you want as an argument and normalize it
I keep getting confused; is this a path? a string? a relative path? an absolute path?
Type systems can’t capture that complexity without a lot of pushing types around. In some cases, they have to use dependent type systems to capture these semantics, like ensuring a number is above such and such value.
It’s okay to sanitize incorrect inputs because users are stupid and make different assumptions about arguments they can provide! Strong types require the caller of a function to be very precise with their usage of the function. Weak types require the implementer of the library to consider all of the possible usages of the function and accomodate them. I like the latter because it’s really cool to make things as easy to do as possible and as expressive as we want.
Read: [[Problems with ecosocialism]]
The [[planetary boundaries]] framework defines nine boundaries for the planet, and as of 2023 six of them have been overshot.
Listening: [[What Is To Be Done? with Breht O’Shea and Alyson Escalante]]
[[Socialism]] is a political philosophy that advocates for [[social equity]], the redistribution of wealth, and the ownership of the means of production.
[[Ecosocialism]] is a political philosophy that brings together socialist politics and environmental politics. [[Social and environmental issues are interconnected and inseparable]].
I am an ecosocialist. [[To be a 21st century socialist is to be an ecosocialist]].
Alternatives to Big Tech that aren’t part of a political strategy are just more tech exceptionalism.
If you have a single pass file input stream approach to parsing, serializing, compiling, whatever, you have no good way to debug or visualize your compiler. Where are the intermediate parts of the process?
Build assuming that you want to visualize. I like visualizing with HTML and the browser, but command-line interactions, printouts, other forms of GUIs are just as valid. ** 16:45 Read ‘I am a hero’ manga. Long form content is so much more valuable - feels so much more gratifying to consume - like I actually learn something!!
The panels felt cinematic. Author is either a fan of or has similar inspirations as Daido Moriyama .So many of the panels without dialogue - those intended to show the scene and highlight a particular emotion, character, or action - have deliberate distortion introduced into them around a subject; the distortion’s similar to what the Ricoh’s 28mm lens produces! Black and white ised used in harsh ways, in soft ways, to tell stories, to focus on particular parts of the medium. The author feels like a master of the medium, almost as good as Inio Asano’s work - and definitely in the same vein. I was blown away. The plot twists - zombies to aliens to a sense of unity - and the contrasts drawn between the two ends and between different societal norms - young and old, following rules vs. acting out, etc.. were incredibly well-highlighted. MC follows the laws to the letter even during the apocolypse, but is also vehemently opposed to merging with others. Other characters are ardently individual or value harmony in different ways. The series is really about comparing and contrasting different ways of organizing society, exploring neet culture and independence - ‘I am a hero’ is MC’s declaration of independence, and he carries it through luck, through circumstance, and at some points through his own will to the end. Great series. ** 16:54 https://chrisbolin.co/offline/
You must be offline to view this page.
Brilliant!
Tags: #dailynotes #daily-notes
Tags: #dailynotes #daily-notes
I thought Rossman knew what he was doing but this is such an obvious miss. He’s completely ignoring the fifteen years of failures of similar projects within the last year.
How many ‘decentralized identity providers’ are there? How many third party centralization attempts? How many secure, ad-free services?
Meta, Twitter, Reddit have all killed expressive API access within the last year - you can data dump, pay lots of money, or give up on it. YouTube is so close to doing the same - blocking adblockers is the first step towards requiring ad consumption or management.
AI data moats are the last straw here, and Google - positioning itself as a direct competitor to OpenAI - has every reason to lock up their APIs in exactly the same way. Rossman’s app will never become big or popular enough to make YouTube shut off the API - though I’m sure he will claim this. Such a change will happen in spite of the few hundred users of the app.
The identity provider take also falls as flat as a freshman business student trying to ‘start a startup in the bay area’. Oh look, there are N companies providing platform identities. I can’t get them to talk to each other to validate legitimacy because legitimacy (or verification) is platform leverage, and no company is going to spend developer time and money to give another company that leverage. How do I solve this? I’ll build company n + 1 and make a data moat of verification for the other n platforms!
Keybase tried this and their proofs worked super well. I loved using that app but they kept throwing security-related stuff at the fan because, regardless of being open-source, building a relatively strong brand, and providing proof of identity - they couldn’t find a reason compelling enough to be the n + 1 company, so they folded. Servers cost money. They threw data storage on the pile, E2E encrypted messaging, cryptocurrency wallets to support your decentralized identity.
Louis’ll say that they failed because they dove into crypto. They clearly just never found product-market fit, kept throwing stuff on the pile, and now they sold to Zoom - the marketing-pump-in-pandemic-fueled video calling app - something that felt like an off-the-shelf Electron student project from a coding bootcamp - that bragged about signing anticompetitive contracts and never paying a designer, then refusing to implement key accessibility features for schools. They needed competent staff to patch their security holes (and there were many), so they bought an aimless company to nab the staff.
How many open source beggars have there been for the last ten years? ‘My library is free - but please give me a donation.’ Nobody. Prominent library maintainers burn out and drop off when they’re making 20 bucks a month off donations and putting in two hours a day - in addition to their salaried job. DRM-free and open-source-but-please-pay-us are fun ideas, but video hosting and streaming cost a hell of a lot - and so few people go out of their way to pay for something unless they’re explicitly paywalled out of it. ** 03:32 By the way, I seriously do wish the best for Rossman; I hope his project works and he gets hundreds of millions of users and can afford to hire lots of people to build the distributed identity provider of the future.
I seriously want these tools to exist almost as much as he does. I just don’t see how this venture can work out.
(Best-case scenario here - the company reaches tons of users and receives tons of financial support. Turns out, though, that video hosting platforms can’t cut a loss and neither serve ads or charge money for videos.
Optimistically, the platforms in question cut a deal trading dollars for API access. This is the video streaming mess but slightly better because everything is available throuhg a homogenous platform.
Is it possible for these video streaming services to serve a large fraction of content without receiving compensation?)
** 03:57
My approach to React code is literally just small-scale MVC. A custom hook, or hooks, form the data model. The JSX at the bottom of the component is the view. The compatibility layer is implemented somewhere in between - declaring const onClick
to fetch some data, check some UI bookkeeping, save some user input, mediating between all of them. I haven’t learned much of anything.
** 04:00
To that end - my approach to coding is just interface design. I start at the top and write a file, hallucinating interfaces from other files. I implement those interfaces in a way that makes sense rather than adhering strictly to the framework I established - within reason. Then I run the code, the differences produce errors, and I coax out some substance.
** 23:23
I love when new features ‘fall out’ of existing designs. The fact that I can use the import infrastructure designed for jake.isnt.online to bootstrap the website itself is really beautiful.
The solution I have gets around the expression problem, in a way, by faking multiple dispatch.
Time to learn some more math… ** 23:37 How does hot reloading with dependencies work?
When a dependency is created, it tracks which files depend on it and which files it depends on. When I change that file, I fetch, compile, whatever the new version, then notify the files upstream to make that dependency change. Lazy implementation is completely re-executing everything upstream that’s dependent. Good implementation is pinpointing exactly what needs an update and fixing it.
Surgically replacing parts of files when statically generating a site isn’t worth it, but operations like replacing an HTML structure with a new one or re-importing just a specific JS file without changing the whole stack are worth exploring. We had this with the clojure implementation.
By the way - this code is so, so much easier to roll than Clojure. It’s incredible how well it works, how fast the code runs, how quiet my computer is when running it; there is no kick into high gear or fire on all cylinders mode like the insane Clojure JVM startup was. The bun repl is good enough to test ideas out locally or try out modules, but I should also implement some tests at some point… right?
Listened: [[Jason Hickel]]
Occurs to me that technology-focused ideas around alternatives to Big Tech, that are not explicitly tied to a broader political programme, are themselves a form of [[tech exceptionalism]]. Hence I think [[digital ecosocialism]] is important.
Listened: [[Culture, Power and Politics: Ecosocialism and Degrowth]]
Think the theme of the discursive part of my roundup this month can be around [[ecosocialism and degrowth]], extending that a little bit to an exploration of [[digital degrowth]].
Yesterday was [[Repair Day]] and it went great. Biggest number of events we’ve ever listed - pulled in events from quite a few different networks, in particular the [[JournΓ©es Nationales de la RΓ©paration]] in France brought in a huge amount.
We launched the [[UK Repair and Reuse Declaration]]. Asking UK policymakers to introduce repair-friendly legislation.
Listened: [[Voices of Fixfest UK 2023]]
Read: [[Most Brits bin electrical items if they break. These ‘magic’ Repair CafΓ©s are trying to change that]]
The strategy is airtight — big data and effective AI systems require lots of fast, large-scale data processing, so the players with the most computers and the most money will have the most power.
As a consumer, the only way for you to access a state-of-the-art AI system is to pay for the one that has downloaded and vectorized most of the world.
As an individual developer, I have no idea where I fit anymore. The clear answer here - to me - is to fold into a big company if I want to work on innovative tech.
I can’t see the time difference between putting together an html frontend prototype and a figma prototype as super significant. Cost of the former is a complete rebuild of the html prototype anyways.
Is that wrong? Is the value of Figma in part the expectation that it is truly a mockup, not a real product, rather than showing a website that’s ‘not real’? I don’t get it. ** 11:04 ‘Product manager’ in Swedish is ‘Produktchef’
Interactive websites, too, require backends, assume stable and fast internet connections, assume fast code execution speeds; the M2 Macbook that the website’s developer is using will never be the 2015 iPad or 400 dollar laptop that most of the world has access to. ** 15:16 Keeping up with the news doesn’t improve your ability to accomplish goals in daily life or to help the people around you. If you’re in an immediate position to help, you will find out through other means; you’ll learn about the news by walking outside, for example, or through your workplace. You’ll be able to help within your domain of expertise.
Following current events second by second and trying to piece together social media accounts, gossip, misinformation just makes you better at the bad reporting game; it doesn’t help you progress towards accomplishing the goals you have in your everyday life.
Yesterday I stuck the problem in my head, went for a walk, then came back and specified a solution. ** 20:49 From debugging experience today - Code walkthroughs - in front of a group or just one person - can be really helpful, but you need to know where to start.
Narrow down the problem in your own head and on paper as much as is reasonable; don’t consider code coverage so much as the aspects in which your program could fail. "I’ve narrowed it down: the bug is with this behavior (in this case, a refresh issue), and that issue could be caused within this scope."
Then allow the user to assume what’s outside the scope - you’ve used good function names and left good comments, so this shouldn’t be a problem - and ask them to identify problems or things that look off, starting from ‘the top’ of the problem surface and working our way down - just like Matthias taught. (That was two years ago now… wow. I’m just reaching that point in ‘my career’ now. That’s kind of sad. Work faster!)
We would have found the problem instantly if I’d done that at work today!
This is a book for people who want to destroy Big Tech. Itβs not a book for people who want to tame Big Tech. Thereβs no fixing Big Tech. Itβs not a book for people who want to get rid of technology itself. Technology isnβt the problem. Stop thinking about what technology does and start thinking about who technology does it to and who it does it for. This is a book about the thing Big Tech fears the most: technology operated by and for the people who use it.
It’s very possible that I use some Clojure-macro-wrapper-thing for JS. It should not have a runtime - just different syntax (maybe). The ability to inspect element in the browser and see the exact code that someone has written - comments and all - is really beautiful, and I want to strive for that.
There are ‘mediums’ where we are able to take the source file. ** 11:33 Biggest pet peeve lately - and by lately, I mean the last few months - I can’t seem to stand the use of ‘it’ as a subject when using a verb is necessary. It really pisses me off!!!!! A clear ‘source’ of the statement always exists, and using ‘it’ is always a cope to avoid having to think about what ‘it’ is. In doing so, the writer or speaker omits an opportunity to be more specific; they deliberately obscure details and - IMO - over-rely on context instead. The word ‘it’ says ‘fill me in with what you think could be here’, which allows English to increase information density, but in doing so also increases ambiguity!
[[The Internet Con]] looks like it’ll be a good read.
Most people (I believe - not quite sure) consume secondhand - The Verge chops up cuts of these multi-hour-long sessions into fifteen minutes of What Really Matters, while other tech review websites and content creators all quote the same two or three relevant sentences from the keynote. Companies try to buy the attention back with stunning video quality and presentation acumen, but they’ll never beat the perspective of a third party - and some review outlets, like MKBHD, are stepping up to match that production value.
I’m used to giving and receiving those kinds of looks everywhere. In Stockholm, I get nothing back. No matter how sparse or densely crowded a street is, nobody will make eye contact; they aggressively look in the other direction, like they’re deliberately avoiding acknowledging the other person. This girl who sat down after me - next to me - on the bus five minutes ago - ACNE Archive bag, beautiful red leather jacket - and amazing outfit, honestly! - I wanted to ask where the jacket was from, so I looked for some social cue from her to consent to my reaching out, to say that somehow it would be okay for me to talk to her - and though I made it very clear that I was open to conversation through my social signals, I thought, she gave nothing back, positive or negative - not even an acklowledgement. Keep staring at the phone. Don’t acknowledge the environment.
This isn’t incredibly uncommon - I feel like I experience this with someone else at least once a week. Interesting person, no idea how to talk to them, they don’t broadcast any social signals. This isn’t something I’ve experienced anywhere else - even in Copenhagen, quite close (culturally and physically), I had something to go off of - and people interacted with me non-verbally! Where is that here? ** 19:28 https://www.youtube.com/watch?v=hql6doE-Ccw
Dave2D’s video presentation is really interesting. He films everything in one take - or hard cuts if he needs another, but that doesn’t seem to happen frequently. He adjusts on the fly and lets it happen - left a joystick off, for example, or doesn’t realize how to do something at first - and doesn’t brush it off, necessarily, but acknowledges that it’s part of the experience.
It’s this seemingly casual, ad-hoc delivery that makes him a good speaker, I think; he feels personable, like he could be you experiencing a device, unlike a lot of the other tech review content production out there. His videos are clearly very planned, though; he hits on all the points at the right times, and the progression of the story - feel in hand to build quality to cool quirks to gameplay experience to who would buy this - is standard, and he hits his marks every two or so minutes to transition between them. He makes this happen, though, through a conversation, one that’s briskly filmed without cuts. Dave films his own face and the device at the same time, and isn’t afraid to cut out to his face or to the full device view if he needs the room, but he is in complete control of to what degree his face - his opinion - about the device is shown.
More of Dave’s face? More opinion. More of the device fills the screen? Facts about the device, because you’re looking and making the decision for yourself rather than talking to him. Brilliant!
His varying tone of voice also really brings points home; when he needs to make some sort of disclaimer or note for the more serious people, he always - always - ‘inlines it’ by using it as a fourth point in the five paragraph essay structure he uses, speaking quickly and with a lower tone of voice, so that most people brush over it but the people who care absorb the information; it’s required for him to convey in some way. Headline sentences or leading paragraphs have his voice dipping up and down, slowing when mentioning device names or Bringing. Points. Home., like It’s All. About. The. Joystick. or something like that, then continuing to deliver with a faster cadence; ‘you see, well…’.
Another observation - his style is very deliberate but he still bookends a lot of his points with filler; filler that would be common in a conversation, but not necessarily in a prepared script. This makes a video feel like a conversation. ** 20:05 Oh, Fujifilm is in Stockholm because Hasselblad headquarters are in Gothenburg. Was wondering why they were so into coming here first when choosing Europe…
Read: [[‘Capitalism is dead. Now we have something much worse’]]: Yanis Varoufakis on extremism, Starmer, and the tyranny of big tech.
Listened: [[What Does Class Mean Now?]]
Read: [[On Technology and Degrowth]]
Re: [[Reclaim the stacks]]. Varoufakis talks about a "[[cloud rebellion]]". Doctorow talks about [[seizing the means of computation]].
Listened: [[Cory Doctorow on Why the Internet Broke and How to Fix It]]
Would be so cool!!!!!!!
Really I want this for jake.isnt.online but would have to be part of the backend thing for uln.industries right? I’ll figure it out!!!!!!!!!! ** 10:15 If the argument for Tailwind CSS is optimization… wait. A more intelligent SCSS compiler should be able to handle abstracting across different CSS styles and classes to minify them.
How?
Module SCSS files have to be imported. If a class is actually a combination of other class names, it’s trivial to pass multiple class name arguments instead of one; you just leave a space between them.
This means an optimizing SCSS compiler can split classes, find similar classes using the same code, and unify them across the whole project, significantly reducing SCSS size. If my CSS class with 10 rules shares 5 distinct rules, each with two other classes, we can serialize those 5 rules to a class, then - on import - append that class name to the current one when deploying to production
A linting rule could also catch this project-wide and encourage the user to refactor and reduce the use of them. ** 10:39 When meeting someone - make sure the question takes as much effort as the answer. If the answer takes more effort, the conversation is no fun, and the asker isn’t actually listening. ** 18:57 I like interfaces of any kind
Instead - ‘a’, then ‘b’, but ‘c’, because ‘d’. If the order in a list of facts doesn’t matter, your structure doesn’t make sense.
To pick up a new plot? If we hit peak interest, switch to the other story. Then revisit.
Commanding attention is a brilliant skill - https://www.youtube.com/watch?v=1GXv2C7vwX0. "It’s not what you get, it’s about how you cut it - and how it comes out the other end." ** 12:53 https://www.youtube.com/watch?v=pdSKot0psNg Trakcing shots - used to convey size, motion, or time. Good transition as well. ** 13:31 After watching more of these - I think I can learn a lot about product design from film. Film transitions and compositions aim to direct the viewer’s attention, to evoke particular feelings of progress, of anguish, of any sort of emotional state as the plot of the movie progresses. They practice engagement - what is the correct amount of information to show the user? When do we need to prompt for user interaction? When should we present information to them and let them watch?
Cinema is a series of calculated risks and to make a movie is to balance all of these plot-driven interests to hammer a single, particular path home. ** 21:33 I love having the opportunity to think about a technical problem and get it right, and I mean really right; to evaluate consequences and scratch at all of the rough edges until they peel a little bit, then affix them with the right tools and apply some treatment, some abstraction, until the tool is perfect and foolproof and ready for someone to use.
This is an environment I can thrive in — someone gives me a problem - puts me in a box - and I find all the right tools to both find a solution and make it feel beautiful to use. I can’t wait to keep coding and making more.
"Your thing sucks. Here’s why."
"I didn’t build it to be seen in that way and it doesn’t harm anyone"
"I hate you"
To make goods designed not to fulfill a need, not to solve a problem, not to improve daily life, but solely to produce revenue - providing value as a """""""""""""""memento""""""""""""""""" - is disgusting. Creativity and genuine care and making things for the sake of making them is cool. I don’t think money should ever be the focus.
Thinking more about ‘bullshit jobs’. Is promoting an inferior product a bullshit job? Restricting information definitely is.
Here I would like to take the opportunity to say that the [[HedgeDoc]] Stoa, although it could be much improved, is already useful.
I think I’m going to start using it more often. And maybe enable logins? It seems to have [[oauth]] integration…
Which reminds me I want to work on that for the [[Agora]] proper, and maybe also on [[Google docs]] integration…
instagram ideas - you get all the value you need from a picture and a caption or a short video
hook of content should provide another question - what’s next? he hatched a fish from caviar? HOW did he catch a fish? make the hook brief and brilliant and shareable across platforms - but leave more hanging to share across other platforms.
Not healthy to pretend to be interested in anything
Has to pass the pub test - if I tell someone the idea at the pub in a couple of sentences and they look at me in a weird way, I’ve got an idea; they want to see more
Good to be unfamiliar enough with a circumstance but for it to seem cool, to have a good level of energy… ** 22:27 Photos have to be just quiet enough; not too loud, not too much coing on
Making more increases momentum; we learned that from taking photos. Doing more means you’ll continue to do more and more and more and more until you’ve mastered it. ** 09:24 No days off again. Even if on vacation, even if sick - write some code. Go to the gym - or at least get outside. Take some photos. Don’t allow yourself to reset and become afraid of those activities. ** 09:56 Overlay to give information about a page if I’ve seen it before, things I’ve written, things I’ve logged… like what if hypothes.is was on all websites, a superset of it. ** 21:03 https://archive.ph/SixJv#selection-2129.0-2133.185
It’s strange to fill my head with these stories of grit, of character, of tough experiences because I don’t think I’ve had any. My whole life has felt a bit structured, a bit planned, and I’m not quite sure how to make it out of there. I don’t want anything but friends and excitement; I have everything else I could want. Maybe I have to master consistency before I get a bit more dysfunctional. ** 21:09 Writing, taking photos, writing code, using computers, posting on social media, saving inspiration, cooking, dressing yourself, etc… these are ‘democratic’ hobbies - everyone has to do them to live life today - but for some people these skills are careers, and whether the skill becomes a career speaks more to your business acumen than your skill with the activity itself. Career or not, becoming good at things that everyone has to do every day is beautiful.
All of my tools are black or silver or white. Why? ** 21:12 Maybe my next - my ‘first’ - essay should be about learning the basics, the mundane, the beautiful, mastering it. Things that everyone needs or does.
This is far from complete, I think, I think, I think
Camera roadmap:
X-T3 is great. Upgrade to the next X-Pro when available. GFX tilt-shift lens is incredible. Would seriously transform my photos of buildings. GFX-50R ii, hopefully. ** 13:03 Internet history is becoming more and more difficult to track — how do we archive all of those TikToks? Connect the links? I’m sure everyone’s said the same about Facebook and Instagram, but - distressed. ** 14:39 hey ** 17:40 Thinking about decoration —
I would never want a photo I’ve taken in my house, but I would love a sketch or a watercolor or an oil painting or a sculpture or a piece of jewelry or some furniture. I don’t really enjoy photos in other people’s homes.
Maybe I’m doing the wrong thing. Maybe photos are just for Instagram.
But they’re not; I love looking at photos, photos of buildings and people that tell stories, that present these super minimal landscapes. Those have a different use case.
I want to make everything myself, though - and I’m a bit ashamed that I couldn’t reasonably make decorations for my apartment.
How do I prevent this from happening?
Is it better to use an abstraction like ‘xstate’ and rely on a state machine abstraction than to make it explicit? ** 14:47 I don’t have a strong enough foundation to build a WebGPU UI framework thing. I barely even know what I want from a UI framework.
First: I have to continue building my personal website and add more primitives, more abstractions, logic for transitions. Get comfortable with my own workflow.
Build a couple of applications with Next.js or other ‘state of the art tools’. Not splash pages or toys. Professional-looking applications.
Try building a mobile app or some sort of mobile interface for one of those abstractions.
Learn from using those multiple paradigms. Try to figure out what could be better. Try out those Rust Web UI experiments and whatever Swift is doing.
Only after doing these things will I be prepared to revisit all of that graphics rendering stuff!!!!!!!!! ** 16:20 I love Figma. Blown away by how responsive it is every time I use it. Can’t wait for the experience to get closer to code.
Feels like user interface style systems should be redesigned ‘figma-first’. Flexbox - and similar responsive systems - are great, sure, but we can add those retroactively. ‘Convert to responsive component’ or something atop of the mockup. So much of this mockup - any mockup - could be trivially converted to code if we had the right system, but this is only possible if the UI framework is tightly coupled to the design tool.
I want this to be real. ** 20:37 The Apple keyboard feels so shallow compared to my other devices; the huge amount of resistance that the X-T3 puts in front of my fingers makes these keys so touchy by comparison, with so little travel… being human is about getting used to our tools so quickly. Joel was shocked that I had a Swedish keyboard - but for me to adjust to it took no time at all.
Let’s talk about camera gear.
I can tell that the Fuji’s sensor is better - or that, at least, it injects some magic into the colors of each photo - and that’s helped shape my style and take good photos.
However: those buttons are painful to press. It’s genuinely difficult to change exposure compensation without reassigning a dial, and settings can’t be quickly flicked into place; it’s either one click at a time or a rough, forced transition for a very different setting. This is not the camera for fast photos.
I know the Ricoh wins, but let’s break it down - I want a camera that:
Today it became so obvious how obtrusive the Fuji is - I have to keep it on the end of its ‘leash’ - camera strap - to guarantee that the image is stable, given no IBIS; the camera’s a bit heavy to hold one-handed - tires my arm just enough to want a second hand sometimes - but that isn’t much of a problem. Everyone around me reacted to me holding a camera; looked my way, gave me a weird look, tried to hide a bit, posed a little bit… maybe it’s just imagined but the Fuji provoked a different reaction. This bus driver stared at me for ten minutes as I took photos around Slussen - and she wasn’t even in the photos! I kept having to change settings and miss shots, too… bring the hand up to the camera or the camera down to the hand, make adjustment, repeat. Not a fun process.
Poor shot - experimenting with low shutter speed in Odenplan. Being afraid of taking a photo of someone close to me. Have imperfect results saved. ** 15:06 Employee at by:fiket - a bit of a goofy, outgoing character - awesome person - asked me how he could improve on making the mocha as I was leaving.
What an awesome idea - I’m so glad. I wish I had had more advice for him. ** 21:35 Photo learnings today:
In conversation, you have to control your thoughts and your pace prematurely. Take it slow. Think about it a little bit. Then slowly let the words out, word by word, carefully choosing the framework beforehand and filling in the gaps. ** 21:44 Also thinking about the best hobbies for learning how to learn. Photos are a perfect example. Barrier to entry is zero: literally walk outside and click a button. Barrier for feedback: super low. Post a photo on Instagram or send to someone else and ask their opinion. Community of practice: huge. Bad community of practice: huge. Really good people in modern day - a lot of them. Lots to aspire to do, can feel the huge gap, can clearly quantify getting better.
The tighter the feedback loop on your thinking can be, the faster you can learn and the better you can make things.
Gym takes a few weeks - I’d say two - to pay off positively with mood benefits. Eating takes a few days but is hard to directly establish the association. Photos are instant gratification: you see the image in the monitor and you think you win. ** 21:47 Thinking about what Fuji guy (sorry your name is in my phone but not on my computer) told me about composing on his camera - he just uses the black and white filter on the camera and uses the color RAW files. Intention is to focus on the composition in the camera then shift to considering the colors in post.
Is this good?
I think it would be a good exercise for learning. I’m not sure if it could help me make the best images possible. Color is so important to consider in a final image.
Should I force myself to shoot black and white jpegs for a bit and see what happens?
Should I bring back the Fuji focal length and see what happens?
Yes to the second. No to the first. I love color too much to give it up, and I love photos too much to miss an image because of a decision I made. ** 22:01 Why am I doing something that so many people are?
Walking around and crossing my fingers for shots is starting to feel frivolous; what am I really documenting? What is really what I want to picture? Can I really compete in such a crowded market? Am I really expressing myself? Is this really helping me meet people? Is taking photos a good use of my time? ** 22:07 More websites. There aren’t enough websites.
Love his advocacy for joining the community - getting closer to others, not just borrowing elements from it or observing it. If you appreciate a culture you should live in it. ** 10:26 Thinking that once a week is a good rate for taking photos. ** 10:38 If I want to live more local, maybe I should use bandcamp instead then.
I appreciate the people who lean into the competitive advantages of taking photos - the ability to perfectly document an environment. Marketing work can be replaced by graphic design, 3D modeling, AI - that’ll become cheaper. Recording progress, process, individual documentation - that’s what photos are good for. ** 11:46 Yeah, I think Ricoh GR iii X is for me - I don’t think the lack of weather will ever be a problem - but I also think my budget’s run out. ** 12:42 To learn from photos
** 14:14 Always provide help first, then ask why, not the other way around - especially if it’s something that could (or should) be prioritized. Nobody likes no ** 22:28 Thinking about livestreaming my daily photo editing or review sessions. Is that a good idea?
Should I get the GR iii X too?……………. ** 19:29 Too much NYC mythos. Nobody needs another NYC street photographer - not in that style. Watching these videos - https://www.youtube.com/watch?v=kAKWwljJiIQ - a lot of the work feels like a copy of a copy of a copy - I don’t understand where the work is coming from. He has some great photos - but not in this video. Maybe an unlucky day. The narrative about ‘documenting life in the city’ though doesn’t feel like it adds up when there are so many people doing it?
Maybe what I’m doing is wrong too, directionless. I think it’s more reflective of how I’m feeling than it is of others, or - at the least - more reflective of some theme I want to convey. What do I do it for? My instinct is to practice and keep practicing - it’s not a hobby, really, it’s a routine.
There are too many good photos - just like there are too many good songs and too many good websites and too many good graphic designers. (I don’t think there are enough good websites or graphic designers though, really. Maybe video editors are a more apt comparison.). I don’t think technology can make photos much better - we have tools today that expose the exposure latitude and dynamic range problems of previous tech generations. No camera from the last ten years has any limitations. Improvements are incremental - they decrease luck as a factor but make no fundamental changes in how things work.
There is room for different mediums that leverage the benefits of modern technology - we don’t have a good camera for ‘motion photos’, to my knowledge, really - (or maybe I need to find one) - but it feels as if everything is trending towards video. Maybe photos are in the past. Every photo I see has been taken before; every idea has been thought of. There are new people but - as Chuck said in that essay - all of us live the same lives, really.
Maybe I should spend more time making websites then.
Okay - how am I different though?
Cool - what can I do differently?
I think reaching out is the best win I can get here. I do enough of the rest - I just need to meet people. Nothing’s new. ** 21:02 Things to write about
How much time is healthy to dedicate to ‘input’? Depends on the medium, I think - but I’m dialed in basically 16 hours a day. There’s no way that my current attitude is healthy.
More often than not, when I see something on are.na that I like - I’ve already saved the thing to one of my channels and the person who saved it - why it showed up - follows me, meaning they likely found the thing from me to begin with. That has to be a sign to stop - or, at the least, slow pace.
Read: [[The Double Objective of Democratic Ecosocialism]]. By Jason Hickel. Great. First I’ve seen him explicitly mention [[degrowth]] and [[ecosocialism]] together (quite likely he has before, given his outlook, just first time I’ve noticed it). The prefix of ‘Democratic’ is interesting though. Deliberate positioning with [[democratic socialism]] I presume, as opposed to say [[degrowth communism]].
I’d like to do this: org mode - Org-publish: Ignore errors when publishing and report them later
I think I will shift my workout schedule to the morning. It feels ‘active’ - not like ‘maintenance’ - and the last two hours of my day should be spent cleaning and organizing. In a way, everything I do feels like organizing; the code, for example, already exists; I just need to arrange and compose it in a way that solved my problem.
Maybe my plants need watering. Maybe I can do that now.
I think I have to accept that creating mess during the day is okay, too - as long as it’s taken care of by the end of the day (or the next morning). I deserve a fresh start.
Talk at work yesterday - "You have to have a plan for when you’ll end, or you could just work forever". That’s my problem - I don’t define time or space for me to do particular things, so I don’t do much of anything and none of my time is reserved for me to accomplish anything in particular.
This is part of my effort to aggressively calendar retroactively - to visualize time spent is to take control of it. ** 10:51
Coney Island — https://www.youtube.com/watch?v=4xw68q0jipg — maybe New York City is the center of the world — or, at least, one of them. ** 12:30 I write more words at work than I code - if you count comments. I think this is the correct approach ** 12:48 Forgot how good the Framework feels. The Macbook is robust - engineered- a beautiful artifact, a design machine, complete for people to use.
My Framework - with two years of NixOS, a light metal frame, and a few dents under its belt - is charming by comparison. It’s a machine built for hacking, that begs to be remade and recrafted and redone over and over again, for debugging and hacking all sorts of beautiful system utiliteis and projects. The machine encourages you to remake it, transform it. It can do anything - you just have to make it happen and write the code to do it. ** 16:05 How do I format these notes as 500 word essays?
Wondering how I can make a system to help myself do the same ** 17:06 Loving the way the ilcaffe lights shake and move a bit when someone leaves their seat in the back - a trace of them is left in their place, swaying, lingering, for fifteen or so minutes afterwards. ** 21:04 I missed two really awesome photos today. One - woman in party gear looking down at Slussen. Two - woman immaculately dressed, looking very professional, flipping beer can above her head 180 degrees and pouring into her mouth alone - through the subway system window in Odenplan.
First one I was too scared to take - I was worried about being confrontational. I would not have been.
Second one - just didn’t have the camera ready. I was too overwhelmed by the process of getting off the train to make myself alert.
Now Im writing from [[Doom Emacs]] installed in termux on Android! Not got org-roam set up yet though, so cant create links properly. Bit of a downside of org-mode/org-roam to be honest, for digital gardens, that you cant just use straight wikilinks.
Listened: [[W. Brian Arthur (Part 1) on The History of Complexity Economics]]
Listened: [[What happens to your waste? with Oliver Franklin-Wallis]]
What is [[ecosocialism]]? The combination of socialist politics and environmental politics. It advocates for policies and programmes that promote planetary stability, social equity and agency and democracy.
Listened: [[Working Class Voices: Season Two with Emma River Roberts]]
[[The Nature of Technology]]. Mentioned in the podcast with W. Brian Arthur on complexity economics. Its a book of his. The combination of elements thing sounds not dissimilar to what Gordon Brander talks about in recent posts. (Concept design, [[Fragments: vertebrate technology]])
Looking through the transcript of [[Kohei Saito on Degrowth Communism]]. [[Marx’s theory of metabolism]].
Reading about [[system dynamics]] and the differences between the qualitative and quantitative approaches to it.
I’m using the RSS feed of changes to my digital garden (via Agora) as a very simple gardening tool (that is, something for improving the notes in my garden).
Wheee I’m currently editing my journal from vim in termux on my phone. Synced here via syncthing. Not sure how much I’ll need to be doing this but good to know that I can.
though I haven’t learned enough ** 11:16 Take more photos —
https://www.youtube.com/watch?v=iESIfSrt_dU ** 13:34 Why did she give me two kanelbulle? ** 13:35 Maybe because they aren’t very good today. ** 16:22 "If the best thing a photo has going for it is that it is technically difficult to get… it’s like a musician showing off their chops, playing really fast, but maybe it’s not very musical and not very soulful. A lot of photography now, taking single images trying to impress people who make single images .. " - Aaron Berger
What happened?
Should I have taken the photo?
I should stop telling myself - atthe least - that I can always go back. It’s a lie! ** 22:52 Learning that the Ricoh is a tool in a different way - the ability for a camera to go unnoticed in a tool in and of itself. Sure, I miss some photos I would have gotten if I had a zoom lens or had swapped lenses on the fly - but that would have drawn attention and tampered with the scene, something that a Ricoh gets away with like no other camera can.
Would I rather tamper with scenes if I had that power? Hell yeah. ** 22:58 Taking photos for me will always be about getting outside and spending time with people ** 23:01 Why does nobody making these YouTube videos where they take photos spend time critiquing their images? That’s the interesting part - getting better and better and better every day. Learning deliberately from your photos. Learning to speak about your work. Learning to get better.
I think that sentence may have been duplicated.
This idea is reminiscent of Stephen Wolfram’s laptop setup - propped up at his waist, ready to type, at all times.
The way that this device inconveniences you is a constant reminder that you /want/ to accept this inconvenience - that you’re making a sacrifice every minute of the day to do what you love - and other people can see it; they can at least observe the mission you’re going on.
This reminds me of going on a walk with a problem held in your head; with carrying a burden or task and idea that you’re obsessed with, can’t stop thinking about until you find an answer. ** 12:49 The only two ways I can ever imagine taking photos of people are:
Maybe 40mm is for people and 28mm is for things. ** 12:50 The clothes that I’m wearing today feel too generic.
This outfit is consistent but not distinctive - there is no focal point for someone to remember me by. Nothing I wear tells someone else what I’m interested in. There is no band tee or tracksuit or football jersey to talk to someone else about.
My camera’s too discrete now to stand out.
That’s a good thing; the Ricoh can replace my phone. ** 20:56 Thinking about ways to more deliberately improve my photos.
I wonder if I’m using the right camera or the right focal length. I feel too wide in so many circumstances. The 28mm is just right for home life, for shooting indoors, for recording life day-to-day, but for walking outdoors - and expecting to find great photos - it’s quite hard to use. Maybe the GR3x would be a better fit for me; maybe that camera would get me the depth of field I want from a friend in a cafe.
I’m not sure. I think the ability to easily and unobtrusively make more and more and more photos with a camera in the pocket is brilliant. I think having a large sensor with a high resolution is good. I think carrying a camera everywhere I go without any effort - and without showing others - is so powerful. A camera smaller than a phone is a beautiful tool.
How do I set practices to get better?
I can:
I noticed that the Magnum photographers take tons of shots of a particular scene - 50, 100, in a location - rather than moving on. I need to learn to stay in places longer. I’m out to take good photos. I’m not in a rush to the next location.
I like the idea of talking through and presenting my ideas to others. Is there a way to workshop photos with other people to improve deliberately? Try to find someone else to talk through photos with.
The curved lines of the Ricoh - and the way they show up in-camera - isn’t fun.
On the bright side - I love the way my images of the Stockholm Library around the corner turned out. Wondering how possible it is to make more, similar photos.
Likewise - the hostel sign, the images inside my apartment, the subway system, the office - all photos that this camera was able to handle extremely well. This focal length is indoors and intimate.
Also - particularly in Stockholm - the focal length allows me to capture the entire facade of a building opposite me on the street and still have room for some action in the foreground. I didn’t anticipate this. It’s a useful tool I’ll have to keep using as I wander around.
This was all basically what I expected when I purchased the camera; I shouldn’t be surprised that it wasn’t able to capture some of the tricky frames - like the woman through the white window on the green background - as well as I really wanted to. Maybe I have learned a bit about taking photos. I’m just not sure that it’s best suited for my street photography work a lot of the time. I’ll keep pushing it for the rest of this week - at the office, after work, and so on - and we’ll see how it goes.
Decision: I am keeping the camera.
Will I use it daily?
I’m not sure yet.
I’ll still try to take the Fuji out on weekends and longer trips. This isn’t a replacement for those circumstances. We’ll think about the GR III x though… ** 21:28 I like being able to pick games I don’t want to play; to say one vector is good enough and investigate others. No subject is simple, but some subjects interest me less than others. It’s okay to follow internet rabbit holes. Abandon the leaves that lead in the wrong directions. ** 22:30 Daily reminder that cooking is a gift, a privilege, and you have more of the best ingredients in the world - more than any other person has had available here at this point in history - down the street. Learning to cook is learning to love a process. ** 22:34 Instinctively I want to hate that I don’t have the time to be good at everything in the world, but I love that I can fill in all of the gaps that friends and people I meet can’t.
I just have to get as good at what I can now and meet those people when I can’t. ** 23:23 I guess I just need to do more work.
Listened: [[Kohei Saito on Degrowth Communism]]
Some good [[right to repair]] news lately. What with the Californian repair bill passing state legislature. And the EU ecodesign requirements on smartphones and tablets.
And also: [[STATEMENT: Google announces 10 years of tech support for Chromebooks]]
Not all good though: [[Google wonβt repair cracked Pixel Watch screens]]
BLISS brand by uln ** 20:00 What in America isn’t overdone, overperscribed, overused? ** 20:19 My phone is taking away from human interaction.
There are two things I use it for daily —
Both should be replaced with physical cards. ** 20:30 Why do camera companies feel like traditional tech companies - hype cycle, product nobody needs, release every year, repeat - rather than companies that focus on making tools, like Muji?
Ricoh is the company I’ve found that cuts closest to this.
Is Leica like this? Leica is inaccessible to anyone, so that’s kind of irrelevant. Why would I buy a Leica when I can get a medium format Fuji?
Every other company feeds into the hype cycle. I wonder how expensive making a camera actually is.
I’ll use the busyness of life of late to shift the reclaim roundups to the end of the month that’s in their name, rather than the start. So - I’ve got until end of September for [[Reclaiming the stacks: September 2023 roundup]].
Maybe eventually I’ll just stop making it a monthly thing. I like the format of [[Gordon Brander]]‘s Substack, which doesn’t seem to have a defined schedule. He just seems to build on previous ideas each time, not in any necessarily structured way, but it’s always fascinating.
I think for me it makes sense to have some structure and defined rhythm while I’m finding my feet. But as it matures maybe I’ll improvise a bit more.
[[Datasette]] might be a good thing for documenting the initiatives in [[reclaiming the stacks]]. I’d heard about it before but never really understood what it does until reading [[The Magic of Small Databases]]. What I quite like about [[Anytype]] though is not needing to explicitly build a DB.
Read: [[California Lawmakers Unanimously Pass Right to Repair Legislation]]
Read: [[New EU Rules: Smartphones and Tablets will follow new ecodesign requirements by June 2025!]]
Maybe I should go take photos outside.
Make as much public work as you can in your free time to compensate. Don’t share the same knowledge - that’s a breach of contract - but leverage the same skills. Learn and do better. Improve what you do inside and outside of work with your free time. Work more and more and more when it’s dark out. ** 17:35 Haters will tell you to avoid looking at the world’s best work and comparing yourself to it. How will you ever get there if you can’t understand the gap between your skills and theirs? Dive into the work of people who are the best in their fields. Understand what makes them tick. Pick another lane and do better.
I take back what I said about [[Subconscious]] being completely absent of politics - there is a nod towards them by Gordon in [[Tools for thought: the first 300,000 years]]:
Read: [[Decentralized and rooted in care: envisioning the digital infrastructures of the future]].
[[The Magic of Small Databases]] is interesting to me from the perspective of sharing my catalogue of initiatives for [[Reclaim the stacks]].
[[Digital technologies are an important part of movement infrastructure]]
The qualitative system dynamics model used in [[A leverage points analysis of a qualitative system dynamics model for climate change adaptation in agriculture]] was built using a triangulation process from individual models. I’ll read more about that, seems kind of what I’m trying to do in [[Reclaim the stacks]].
Read: [[The Magic of Small Databases]]
[[Subconscious Beta]].
And I haven’t come across anything from Noosphere that suggests it has any politics of any kind. The beta announcement is signed off with "Letβs 10x humanityβs collective intelligence", which, absent of any political direction, is kind of problematic to me.
Swinging back to blogs and RSS feeds over Mastodon. The stream of info on microblogging sites is too much for me, and the signal-to-noise ratio is too weak.
Reading: [[The environmental impact of a PlayStation 4]]
git commit -m <prompt>
would be so powerful. I really want AI to write my commit messages for me.i love key glock
i been getting bag after bag after bag yuh ** 21:54 MacOS auto-update practices - in that most apps will prompt you to update or update in the background - have felt far more smooth than NixOS, where some apps just ‘stop working’, have security vulnerabilities, etc. because there is no path that allows users to push updates. The centralized management of the nixpkgs ecosystem is nice in some ways - I’m glad someone is managing security in a centralized way - but in some sense that’s the responsibility of the computer. We need systems to be reproducible, too.
A [[qualitative system dynamics model]] focuses on the structure of a system and the qualitative relation between system components.
[[Gordon Brander]] quotes [[Donella Meadows]] from [[Thinking in Systems]] a lot in his latest newsletter. ([[Fragments: vertebrate technology]] - on components, modularity, and [[hierarchy]]).
Undoubtedly a major figure in systems thinking, but [[Robert Biel]] relates that Meadows had somewhat dubious / liberal-minded political views on some things, to which she applied systems thinking.
i want to warp a photo like im shaking a camera out to dry ** 19:43 80-20: Every day of mine is eight hours of software development work, two hours of photo.
To create my own worlds - to film to tell stories, not to document; to animate and model and make motion - is strange to me. I take photos to document, to preserve specific motions and memories and cool buildings and awesome people, to preserve a feeling.
User interfaces are different. I’ll always want to make things that other people use, and crafting motions, experiences for others is invaluable.
Great stories are moving, but mine should be told through a lens of what I’m doing every day.
It’s Sunday. There’s work to do. I’ll make it happen. Maybe I’ll see the Stadmuseet too. The English translation is strange: ‘Stockholm City Museum’ because a ‘Stad’ is a state more generally.
As I sit here with my laptop (with [[vim]]) and no internet connection, I realize that I don’t write here longform as much as I could. I guess the availability of the internet does make it easier for me to get distracted, which granted I see sometimes as a positive (it motivates a form of exploration), but might not be conducive to practicing the skill of writing coherently and consistently for more than a few bullet points in each journal.
The thought of writing in my blog again (meaning https://flancia.org/mine) has come up a few times recently. I’m unsure; I like the process of writing in my garden, and how everything I write in it automatically shows up in the Agora moments later (at least when I have an internet connection). So maybe what I want is to embrace this space as a blog, and just try to write longer form alongside with my mainly outline-style notes, like other Agora users already do so beautifully.
I am also wondering where I’ll ever find the money for that medium-format Fuji camera. Oh well…
the five people who ran to the vermeer when a small detail was pointed out, craning their necks as if in a parody film
the guys from the chemistry exhibitions - mostly alone - taking selfies with anyhthing and everythign
Tags: #dailynotes #daily-notes
For the technically inclined, we’re using the comic panel ID instead of chapter number over at the mobile-friendly version of the webcomic on Webtoon↩
Tags: #dailynotes #daily-notes
For the technically inclined, we’re using the comic panel ID instead of chapter number over at the mobile-friendly version of the webcomic on Webtoon↩
I should be worried about nothing at all because I know nothing about what the other person thinks of me until I talk to them. Why would I hesitate?
WARNING - BREACHING NET FUCKED BY 2050: MAY CONTAIN BLOODY SPOILERS, READ AT OWN RISK! Trying to hide some emotional baggage because of this.
Tags: #dailynotes #daily-notes
Per wiki, V’s status is still unknown after lift’s cables snap as more chaos ensured. The reason is "presumed (legally) dead, but no evidence of on-screen death". [^2]: Torture were also involved, especially some robotic head decapitation (we’re not talking about [this], but instead of Aunt Nina killing Rocky for telling the truth about his and Freckle’s activities, ).↩
WARNING - BREACHING NET FUCKED BY 2050: MAY CONTAIN BLOODY SPOILERS, READ AT OWN RISK! Trying to hide some emotional baggage because of this.
Tags: #dailynotes #daily-notes
Per wiki, V’s status is still unknown after lift’s cables snap as more chaos ensured. The reason is "presumed (legally) dead, but no evidence of on-screen death". [^2]: Torture were also involved, especially some robotic head decapitation (we’re not talking about [this], but instead of Aunt Nina killing Rocky for telling the truth about his and Freckle’s activities, ).↩
I’m getting more comfortable using Foam alongside Obsidian, especially inside a Gitpod workspace.
Tags: #dailynotes #daily-notes
Tags: #dailynotes #daily-notes
Tags: #dailynotes #daily-notes
Tags: #dailynotes #daily-notes
Note to self: Update this later this morning.
SECURITY
and CONTRIBUTING
lately.Tags: #dailynotes #daily-notes
Note to self: Update this later this morning.
SECURITY
and CONTRIBUTING
lately.Tags: #dailynotes #daily-notes
Reach out to everyone. You need to be socialmaxxing, to get to know everyone, to making connections around the world, to finding out why she would live in Hamburg.
What have I learned? That I need to be well-rested and feel good to feel prepared for that kind of thing. I need to have a decent outfit on, feel comfortable, etc… I’ve also learned that some people haven’t paid for the Hamburg train in five years.
I also need to use as much of my free time as possible when I’m not around people to learn and build. Learn more languages - just the start, so I can build on those things in real life. Make a better website. Take more photos. Wear better clothes.Wear better clothes. Keep going!!! Maximize what you can do in whatever position you’re in. In Stockholm I should be aggressively making.
I like staying in places for long periods of time. One week feels good; it seems to fit well, but two weeks might be better. You want to be able to meet people one day and have enough time to see them again - one on one - to do something you both enjoy together before leaving the destination, and not just on some euro trip stuff. Meet a local.
Catch up the daily update on [[2023-08-16]], this file was used for redirects.
Catch up the daily update on [[2023-08-16]], this file was used for redirects.
They’re playing Glass Animals, Flume, Chet Faker (now Nick Murphy?) in the hostel loby. I grew up - 2013, 2014 - listening to this stuff on YouTube. I’m glad I’m here and not there. ** 20:56
Traveling, now, I think I understand what I’m missing…
It’s the small social interactions that I have throughout the day that give me life. A concerned glance I shared with a mother after watching an abandoned dog limp across the street in front of a Hamburg bridge. A bright smile that I shared with so many others watching the sunset, or just one other person watching the guitarist perform off-key American music with half-English, half-German vocals. I don’t need to speak the same language as you - I just need to share a moment with you.
It’s saying hi to someone and giving them a photo - giving them a gift - not one that they asked for but one they receive joy from.
Perfecting these little gifts - shared emotional expressions, thoughts, feelings, dances, little throes of passion throughout the day - those are gifts you can give to others. A gift is about caring about someone else in a way you can’t care about yourself. A gift cannot be asked for. A true gift can’t be expected - it’s given completely voluntarily. A true gift is a dance shared with someone who can’t speak your language at all, picking up someone’s coin that’s fallen out of their pocket; a gift is your attention.
Hamburg is also the first time I’ve really noticed why scandinavian cities feel so comfortable - this is the first city I’ve been to this trip around Europe that puts my guard up. Having to act with antagonism - to fear your neighbor, to run from or refuse or ignore a request from a stranger, to walk one path instead of another, to hold your bag a bit closer to you and hide your belongings, to not step too close to someone else for fear that they will think - or you will be - pickpocketed or mugged or held at the wrong end of a knife. This is Brooklyn, it’s San Francisco, it’s Portland (Oregon), it’s Austin, it’s everywhere you look in America - but that feeling in Stockholm, in Copenhagen, it’s gone. (MalmΓΆ feels this way in part - and I’m not sure why.) People are supposed to trust one another, to walk down the street in good company and say hi, to care deeply even when someone else isn’t perfect. The big city without the proper social services, help, security, trust, takes this away from us.
The conductors on SJ trains look at me strangely when they see that I choose to keep my pack between my legs between my legs instead of on the luggage rack. Deusche Bahn employees - despite having a policy that explicitly disallows this - understood.
Repaired: [[Repairing a Cat Mate C500 automatic pet feeder]]
[[Global boiling]]
Listened: [[Trip 35: The Internet]]
[[org-timeblock]] and calfw-blocks look worth a look. I’m currently using [[org-timeline]], one of these might be better (although it works well enough for me).
Working on [[adding an RSS feed of recent activity to my org-roam digital garden with org-publish]].
Read: [[The Brilliant Immanuel Wallerstein Was an Anticapitalist Until the End]]
Listened: [[Peter Jones and Kristel van Ael, "Design Journeys Through Complex Systems Practice Tools for Systemic Design"]]
Just adding (org-roam-db-auto-sync-enable)
to my startup file seems to have fixed both my problem with completion at point of org-roam, and having to run org-roam-db-sync regularly. So that’s good!
Nothing happened here other than some pain
Nothing happened here other than some pain
Previously on [[2023-08-08]], note that time and date are in Philippine Standard Time as I write this, although you do you use UTC for simplicity.
OSS work at [[recaptime.dev]] or whatever
Personal side projects
Across the interwebs
Previously on [[2023-08-08]], note that time and date are in Philippine Standard Time as I write this, although you do you use UTC for simplicity.
OSS work at [[recaptime.dev]] or whatever
Personal side projects
Across the interwebs
At Tuesday’s repair cafe: [[Repairing a Canon Pixma TS3150]]
Listened: [[Cory Doctorow, "The Internet Con: How to Seize the Means of Computation"]]
Listened: [[Frank Jacob, "Wallerstein 2.0: Thinking and Applying World-Systems Theory in the 21st Century"]]
I see this in my software development skills and in my photos. I see this at the gym. I see this when cooking.
Be more and more deliberate about how your day is spent. If you want to learn something, reserve thirty minutes in a day for it. Consider the pomodoro technique, or something like it.
I’m not convinced that it works well for software development - thirty minutes might not be enough time to get the whole problem into your head, let alone start typing - but this is so difficult to guage when starting something new. When adding a hobby, start with one pomodoro - that should be enough.
Like refactoring - carefully limit the number of variables you’re working with. I was playing a weighted interval scheduling problem - collecting all of these different ideas, determining what might fit in the schedule and what might not, evaluating budgetary constraints - but I hadn’t pinned anything down.
Don’t stress. Impossible to plan fun things when planning the thing isn’t a fun experience - you can’t imagine yourself interested when you’re stressed about it. Plan a couple of things a day and chill. Don’t disrupt your daily routine for it. ** 18:03 Things I need to think about when taking photos:
git diff
in the multiverse"However, he seems to have a sadistic side that he cannot control. If Freckle is given a weapon, he becomes wild and manically laughs like his cousin Rocky. He seems to be very skilled with guns, most likely due to him wanting to become a police officer, though this behavior caused him to be rejected from the police academy." (from the wiki)
git diff
in the multiverse"However, he seems to have a sadistic side that he cannot control. If Freckle is given a weapon, he becomes wild and manically laughs like his cousin Rocky. He seems to be very skilled with guns, most likely due to him wanting to become a police officer, though this behavior caused him to be rejected from the police academy." (from the wiki)
I thought this point was profound somehow but now it’s obviously not true. Learning popular tools is not important. What’s cool is the ability to use any tool from Earth’s documented history on this laptop or through a computer in some way. Learn to express yourself in any way you can. Just make sure to master one.
I think I was thinking about using tools that everyone has to use and making them perfect - something along those lines. I’ve written about this at length here before, I think; hone the way you express yourself with mediums that you have to use anyways. The instant message, for example, or the email, or the documentary photo, or the calendar appointment, or good food, or working out, or the clothing you wear. Everyone has to wear clothes and make food and send emails and text messages. Make sure you do it your way. Developing a unique style to use everywhere in that way is beautiful. ** 20:41 Finishing thoughts on clothing from yesterday. I want to be:
This means:
Listened: [[Microdose: Californian Capitalism]]
Writing: [[Reclaiming the stacks: August 2023 roundup]]
Read: [[‘A certain danger lurks there’: how the inventor of the first chatbot turned against AI]]
I want to feel:
Listened: [[Entropy and the Capitalist System with Robert Biel]]
Listened: [[Microdose: Californian Capitalism]]
Bookmarked: [[Class Warfare in the Information Age]]
Writing: Reclaim Roundup: August 2023
Read: [[How an eccentric English tech guru helped guide Allendeβs socialist Chile]]
Read: [[ChatGPT Will Command More Than 30,000 Nvidia GPUs: Report]]
Read: [[The Generative AI Race Has a Dirty Secret]]
Read: [[Meta report shows the company causes far more emissions than it can cover with renewable energy]]
Read: [[ICT: A top horizontal priority in sustainable product policy]]
gh:gitpodify/workspace-images
, especially around pre-commit configsgit init
+ bashbox init
for gh:gitpodify/dazzle-build-script
based on the build scripts on gh:gitpod-io/workspace-images
gh:gitpodify/workspace-images
, especially around pre-commit configsgit init
+ bashbox init
for gh:gitpodify/dazzle-build-script
based on the build scripts on gh:gitpod-io/workspace-images
I don’t know how to meet people here or how anyone else meets people. I don’t think many do. Rates of living alone and depression are both so high despite the fact that the ammenities provided here, public and private, are so much better than those at the US in so many ways. I’ve learned from so many people in my life that the right way to prevent conflicts and enrich relationships is to face interpersonal conflict immediately and head-on, accepting some short-term pain and growing stronger together. The muscle has to tear to grow; that’s how the human body works. Here I experience no conflict, no tension, no positive interactions in my free time - just nothing. Life’s empty. Starting a conversation already feels like a losing battle - every stranger I run into avoids eye contact aggressively, no matter how pleasant looking and happy and outgoing and relaxed I am projecting, skills I’ve worked on when meeting strangers in so many other places I’ve been. I get the occasional glance from people ‘checking me out’ or looking at my outfit, no different from any other country, especially when I put effort into my appearance that day - but as soon as I return their glance, the other participant looks away as if they’re ashamed to have somehow disrupted my space.
If I want to be seen and approached and talked to, I go outside. If I want time and space to myself, I stay home. Every apartment I’ve seen in this city is a great, clean, healthy space; a space I’d be happy to spend time in. Why would I leave my apartment if I couldn’t experience the world to the fullest? I don’t understand that about the culture here.
This cultural standard of non-confrontation might contribute to issues with cultural cohesion that Sweden faces today, especially with respect to the Muslim population of the country. If your neighbors and the people you meet do not welcome you outside of whatever legal obligations they have, you never get to know them, so you only spend time with the people who share your cultural values and community. You stay insular.
I try to keep an open mind: to constantly smile and relax in public, to spend time in social spaces, to look for social cues like eye contact from others, to broadcast myself as open and welcoming however I can - but nothing sticks. Nothing works. Nothing has changed since April. What’s going wrong? What am I doing wrong? How can I have a great discussion with an incredible person one day but then have them ignore me over text?
I think this is why I’ve trended towards work over anything else - the work speaks for itself. It’s objective. Work is something I can do and quantify and understand the results of. Evaluating my own performance in social spaces, by comparison, is impossible.
I am very thankful for the company that I do have - primarily my workplace - and will keep trying. I’m so, so grateful for all of the people who have or plan to visit me in Stockolm in the future, and for all of the people I’ve been able to keep in touch with over the summer. I’m learning more and more about myself in a ‘resting state’ - without tons of external contact - and will continue to improve my discipline on my own. I hope that the future here socially will be a bit brighter.
What about bars though? I’m forcing this segway but wanted the segment down here.
Alcohol makes me feel disgusting for two days afterwards - I tried a single glass with Olivia last weekend and felt physically terrible for the rest of her time here, making the experience worse for both of us.
That’s all.
Go to [[2023-08-04]] instead.
Go to [[2023-08-04]] instead.
The more code I write today, the more useful that code will be because of how useful it continues to be in the future. Other people will be able to use it to build upon their own work as well.
The more exercise I do today (within reason), the more fit I will be tomorrow. I’ll be able to do more and more and more in the future.
Even if the concrete work doesn’t pay off - say I leave the company, lose the laptop, or have a health crisis - I’m still able to extract generalizeable value from those experiences. I’ve learned how to write the code once so I can do it again, the next time more seamlessly, honing future intuition for making applications more and more beautiful. I can eat as well as I was for fitness to maintain the rest of the body I have. I can cook a better meal tomorrow than I have today, even if I’m in a different kitchen with different ingredients. If my clothes are all lost in a fire and my synthesizers melt, I can buy new clothes with the accumulated knowledge of my experiences and regurgitate new music with what I’ve learned.
Make sure the interface to your world is modular at all levels of experience and specificity. Understand that learning about HTML tables is generalizeable to tables, but try to learn how fucked up default table elements are and understand how overcoming them can be used to inform better UI frameworks. Understand how approaches to a poor black box can be used to develop other unintuitive software conventions and frameworks. Learn to approach problems of all kinds by sketching out documentation and prodding live systems to hone your understanding. Accept that some things in this world are historical mistakes and that you might be better off ignoring them.
There is no way to replace the compounding effects of the work I can do today if I don’t do it. Everything I do today is worth so much more than what I do tomorrow - demonstrably more. My actions tomorrow are probably worth logarithmically less as they descend into meaninglessness in very old age. I think that’s beautiful. I I I. I can’t wait to get back to work.
If not, why are you doing it?
One of the particularities of writing about [[Flancia]] is that it seems to require a certain commitment, a belief in the feasibility of facts in possible futures.
Bloody hell why I forgot writing this.
Bloody hell why I forgot writing this.
obsidian-icon-folder
(repo) plugin on [[Obsidian]] to feel at home like in [[Notion]] and [[Coda]].obsidian-icon-folder
(repo) plugin on [[Obsidian]] to feel at home like in [[Notion]] and [[Coda]].Carve out big stone blocks Higher fidelity than pixel art
Commentary on historical figures, wikipedia, networks, patience
Updating date on here
Got onto housing wait-list I was hoping for
I have therapy today
I’m trying to get a case manager at tpi
App idea
Todo
Took my computer out of storage. Now I have something to work on in the cafes and maybe I won’t be so bored during the day.
Go back to [[daily notes]], also synced at this week’s recap in the [[Personal Board (open that in Obsidian)]].
Go back to [[daily notes]], also synced at this week’s recap in the [[Personal Board (open that in Obsidian)]].
Pomodoros:
Listened: [[Class Politics in a Warming World with Keir Milburn]]
Going for a bit more of a slow life in some ways. Reading a weekly magazine on news roundup, rather than obsessing over the news each day. Switching (back) more to RSS feeds and long form articles than social media feeds.
[[How to Blow Up a Data Centre]]
Read: [[Extreme heat prompts first-ever Amazon delivery driver strike]]
I like [[Bill Seitz]]‘s page on designing good page names: http://webseitz.fluxent.com/wiki/DesigningGoodPageNames
https://www.youtube.com/watch?v=3WHkpGjfYIo was gratifying - really freeing to see that ‘playpm’ is speaking to flaws that he has himself, that he is no better than anyone else, that he’s taking steps to be better. He’s amusing and vulnerable.
Blown away by digital audio synthesis; some of the real-time piano work to emulate strings hit by hammers sounds absolutely incredible. I want to model things in real life on computers, on the internet, with incredible precision, and to model new objects digitally before they’re created. Keep learning how to do this! ** 19:13 The lighting through my window is beautiful between 6 and 7 pm, and the light outside is beautiful immediately after. Aim to be home during that time. Identify the corresponding time in the morning! Use your room as a studio space. Figure out how to light even when the conditions in my room aren’t ideal.
Started writing [[Reclaim Roundup: August 2023]]
Noticed that since upgrade I have to run org-roam-db-sync
regularly now too, it isn’t updating automatically.
I installed [[cool retro term]] today and it was immediately more fun than I thought it would be. There is something weirdly satisfactory about typing and seeing a blazing trail preceding your words.
I wonder how hard would it be to make it so that anagora.org renders text in this style — optionally, of course :)
https://www.youtube.com/watch?v=iq71Cb2jEIE - insightful
Show, don’t tell
Kanye doc buy into the platforms that give you reach; youtube, tiktok the format of those platforms gives you constraints for what you do instagram feels like it’s ‘for fun’ outside of short-form video. doesn’t matter. only swiping up does. that’s the only way to build attention fast for work. you have to master the short form, vertical video. ** 21:26
https://www.youtube.com/watch?v=NphQGsm4rvk
Building something is risking something
Read: [[It’s not about your footprint, it’s about your point of leverage]]
As mentioned in [[2023-07-08]], a few org-roam things broke after upgrading spacemacs.
that buzz aldrin shot with the three omegas is crazy
i want as many watches as i can get
as many functions as is possible
smart watch, dumb watch, broken watch, fixed watch, watch with a chunk taken out of it, watch that works miracles, watch themed like minecraft, watch from oakley or nike or lego or some kind of wonderful ** 18:52 I like that anyone on the internet can understand what I’m thinking about, who I am, how I feel, what my taste is without having to read any words.
Why don’t I like using words to express myself? They feel too complicated. Words don’t lend you the ability to separate aesthetics from communication, not entirely. Borges says that English is the best language to write in because every idea can be expressed in two ways - the latin way and the germanic way (not to mention all of our French loan words) - but this makes me more fearful of the connotations that words bring, not less. To use a term is to evoke the feelings others have associated with it. Words carry with them ideas and opinions and stigmas and connotations of all forms; they’re more dangerous as the songs you listened to with your ex partner, the one you thought would be the love of your life, or the… not sure. Another example here. Writing is too often used to communicate ‘logically’, not expressively, so to use those logical connotations that might have specific charge to them to do things feels innappropriate in a way.
Music is too emotional, by contrast; we don’t fully understand why, but human relationship with music, almost by construction, is to form an emotional attachment.
Images seem more pure in this way. They feel neutral ** 23:32 the new minimalism
Goal: short form. 60 - 90 seconds. Still life with transitions. A sense of space and loneliness; large city with a few people in the bottom. Ambient music made by me. ** 22:37 creator anxiety - (https://www.youtube.com/watch?v=lQyAdgLwbLk) - unlike a business operating in a niche, creative work has no real market cap. mrbeast showed this! youtube stops being quantitative.
I don’t like talking or using words to explain. It’s the viewer’s job, the user’s job, to explore, to try to understand what’s going on, exactly, without any context.
More importantly, though, making ‘good content’ isn’t about making images that look cool or get clicks or get likes or something like that. Really, I think I’m more interested in deeper experiences; experiences that evoke feelings and emotions, that allow the person on the other end to have another perspective on their life. I’ve seen so many photos, so much content, that is just ‘cool’ - that fits a particular look well, the colors and textures and patterns match, whatever. I’m very admirable of the skill that that practice takes, but it doesn’t matter. I won’t remember that image in a couple days from now, but I will remember work that moved me. I want to make things that will be remembered, work that makes me feel, and work that will have a lasting impact on others.
I think many of my loose relationships in Boston felt toxic in a lot of ways. A lot of people in Allston around the artist community had very particular expectations of others - of people - and what they can and cannot, should and should not do. They had very narrow definitions of what was cool and what was cringe, what should be relevant and what shouldn’t be explored at all. This wasn’t too different from other social environments I’ve found myself in; in a way I liked that there was a predefined playbook or set of rules for operating, because I knew that if I operated within those constraints I could belong - but that person was never me.
We have the tools today to make the most impactful art we’ve ever made. Analytics are making artwork better than ever before. Art is the self-expression of a person, a product that finds a market, the ability to know when to go with the flow and follow the numbers vs. when to deviate and stand out because you have found a better way than the status quo. Art is self-expressive, allowing others to find interpretations in the content that you consume. ‘Content creation’ is incredibly dismissive as a term; making things to serve people who demand material, who demand attention, is an incredibly noble role to have. Most of ‘content’ work is noise - but innovation in art has been accelerating faster and faster than ever before now that its pursuit has become so incredibly prestigious. I love that meeting the needs of people more precisely has become the #1 item on the zeitgeist. The prying the money out of the hands of people is the hard part. Influencers - people who demand social prescence - deserve pedestals for perfecting something that contributes interest to the world. People today are rewarded for being so outgoing, rewarded for being independent, rewarded for putting themselves - or a particular facet of themselves - forward.
Goodbye Eri - a one-shot manga that I’m reading right now -
I just finished. That might have been the best thing I’ve ever read.
He’s watched Erased at the least. I wonder what other references are used that I don’t have any knowledge of. Maybe that’s a good thing. This is one of the most moving things I’ve ever read. No more TikToks - at least not the bad ones. Only operas.
catherine never broke again reminded me of home, of people I know still back there in Portland, of my brother ** 20:59 My ‘competitive advantage’. isn’t writing
Ugh.
My unique contribution to the world will never be the software I write. I want to believe that I can accomplish something - that my work is big and important and pivo
I don’t like that word either. Why do I have to be unique? How much time have I spent on the internet lately? Why am I not outside now? Isn’t everyone fed by the same feed? Why am I? Why aren’t I?
This speech is heavily scripted. Too many words. There is no understanding. Money is good - but are you doing this for the bit? ** 21:29 Living here feels important and leaving feels like running away. I feel like I need to accomplish something - something truly big - before I take off. will I leave? I’m not sure.
The warning from Google about a ‘fraudulent’ business confused me. Was it because my ‘business’ doesn’t have an LLC or physical location? I own the domain with the name of the ‘business’. Being a small fish has its drawbacks - if you’re the biggest customer of a service, then your needs are guaranteed to be catered to - especially if you’re your own customer. If you’re relying on a huge service and your contribution to them is inconsequential, they can drop you or ban you without reason or consequence. Amazon’s track record of banning multi-million dollar storefronts is a bit frightening.
I’m hoping Google doesn’t go that way too - their cut of Google Domains from the business model is a bit frightening, as is the potential for more cost-cutting practices at this point in the game - but if it does, I now understand how to set up personal infrastructure comparable to the Google suite myself, just without the big tech employees and privacy warnings. Paying for storage and redundancy at reasonable speeds, though, will be insanely slow unless you’re able to host physical infrastructure - and right now I travel far too much for that.
I’m still trying to get ‘lejakechvatal@gmail.com’ back. One day I’ll be able to prove that it’s mine. Does Google still have my data stashed there?
I’ll launch Uln on January 1, 2024. ‘Content creation’ as a tool for operating as an independent creative is completely unsustainable - how many TikToks would I have to make a day? How many times would I have to let a camera get in the way of time spent with friends and family? How often would I have to be ‘on’? All the time. I’m a creative person, but I’m more interested in long-term work - work with staying power, work that pays off in the long run.
Really impressed by Justin’s work in Chicago - one incredibly well-orchestrated video really paid off. I’m sure he has tons of business now; at the least, he found over 20k followers within a day - not by posting on a schedule but by planning and executing an idea that took a ton of time and effort. That’s where I want to be. Each idea should be bigger and better than the last - or at the least show that I learned from the previous work. Progress upwards.
Daily posts weren’t useful for a few reasons:
Making an Instagram post:
Once I have a BankID, I can add the gym to my schedule. Then I can pin down a food schedule (though that has no blockers today). Then work and sleep. Then the rest of life. Having a healthy foundation of food and friends, though, is the most important thing that I can do for myself now.
When should I eat dinner? 7-8PM? Lunch at noon seems reasonable. Only two meals - with a snack and a banana, or just a banana, at about 10 AM in the morning.
I’ll figure out the rest as I settle into a rhythm.
Started having a play around with [[Anytype]].
I upgraded [[spacemacs]] to latest and updated all Melpa packages to latest. Now various things in my [[org-roam]] setup aren’t working. Sigh.
Finished writing and sent [[Reclaim roundup July 2023]].
It was that time of the year, your birthday, when you finally got to Flancia and were able to stay for good, stay in it in a definite sense, being free from suffering.
Sketching first. ** 21:55 Photo notes
Finishing this in a second. New thoughts incoming. ** 18:20 The ‘first order’ phenomenon of crypto - these tokens you could spend outside of traditional financial systems - weren’t as attractive as the ‘second order’ design work that emerged from these systems. Crypto had a lot of surplus income nad needed lots of marketing to keep that cool factor coming. Many crypto organizations poured their money into some of the world’s most innovative graphic design work. That surplus o income gave people with lots of time and creativity the money to spend their time expressing themselves however they wanted - obscurity and miscommunication in crypto was a benefit, not a detriment, as the more cool and obscure your technology was, the further you’d drive some interest in and obsession over the associated ‘lore’.
I think a lot of people I met on the internet during that time - summer 2021 - are now secret crypto millionaires who can now spend their time doing whatever they want. I’ve seen a huge surplus of wealth and a lot more secrecy in those communities. Wasn’t added to the right discord servers. Oh well.
Writing [[Newsletter July 2023]]
Does [[trade unionism]] represent a radical challenge to [[capitalism]], or is it reformist?
[[Listened]]: [[Everyday Utopia and Radical Imagination with Kristen Ghodsee]]
Creative work is for Apple devices, for Adobe, for Ableton, for the status quo. The Linux machine lives outside of that. ** 16:01 Converting to Adobe Lightroom is the best decision I’ve made.
Lessons about creative tools:
I’ve seen these patterns come up again and again from the best software I’ve used. I can’t wait to push these ideas into software I build more of.
On this note: maybe paying monthly fees to support the development of a product can be a good thing. Lightroom is genuinely innovative and the updates seem valuable.
Concerns:
Cool, what’s most important?
I love how cheap storage is getting. That makes this sharing across devices tech so possible. Infinite storage will make everything about technology better.
Seems like the best software model is paying the company for a hosted version or hosting the thing yourself. Cloud storage (with agressive local cacheing) provides so much value and there is no way to replicate this value locally. Safe ways of hosting data locally - without technical knowledge - are really important to explore here.
Thinking about standards again, too - if whatever internal data management standards for Adobe’s file cacheing were more transparent, other programs could easily and safely operate over them with an API. Providing APIs as ‘views’ of internal data storage is incredibly important for portability across programs; if I clone Adobe’s image querying and saving API, then I can perform the same transformations or save stacks of edits in the same way (though the changes would likely not be transferable to Adobe products), using the safe data storage methods that Adobe allows without having to use their programs. A ‘safe cloud’ API in this way that saved stacks of non-destructive edits atop of files, manages dates, etc. would be brilliant. This reminds me of software development… the everything cloud. Replit does this for text files. Git does okay too, and the CDRTs for merging text, prose etc are also valuable. ** 16:37 Final takeaway from the Adobe switch - I have to become a much better photographer. I’ve been missing on the technical side in so many ways, and that’s become very clear now that I’m using the industry standard. My program, my colors, my photos can look the same - so now I have no excuses keeping me from doing genuinely innovative work.
The gap between me and a professional is still so big - but now I can see a clear path to victory. The program wasn’t necessarily the problem, but it was soft capping the potential of my work; now there is no difference between tools, so the only thing I have to work on is my personal skill - and I can receive the expert feedback to do this along the way. ** 23:38 New file organization plan:
Flashy intros and landing pages, cool new tech, fluid animations, etc… feel good, but do not matter. Make a tool good enough to convince someone to abandon convenience and the status quo for innovation.
Sound design is about two things: limiting inputs and engineering outputs. You can’t present someone with an empty python file or complete waveform and expect them to understand how to change things, bit by bit. Give them different parameters to tweak - and make sure those parameters are the most important ones. Strike the right balance of flexibility and limitation; your tool will not be able to do everything, but on the right axis it should be able to change in all of the relevant ways. Ableton understands this way of crafting, of twisting knobs, of taking true modularity out of the eurorack and bringing it into the digital world.
This is only possible with the correct live visualizations. ** 12:56 So many of these notes could be grown into long-form essays. When will I be ready? ** 13:46 https://www.youtube.com/watch?v=bVAGnGWFTNM
Now that we have abundance of information, we have to be incredibly disciplined about the role we are playing during work at the current time. If you can modify your instrument and add 9 or 11 strings, you will keep modifying the tool and no longer be trying to perform with it; you will become the developer again, not the musician or the performer. Be very disciplined about the mental role you’re playing when working, and focus on just that role - your job is to focus on doing X and nothing else, so look at all of your work from this perspective and keep moving.
I don’t know what social signals to look for to know when to or how I can approach someone. In America, this is eye contact and a smile, a neutral motion forward, a gesture of the head towards you a bit, or a look from head to toe and back. I’m not sure how to get people to trust me or how to break through. Tourists talk to me for help but those conversations last minutes. This is rough.
First step has to be learning Swedish… ** 23:37 Mr. Beast aggressively user tests - runs anything he thinks might be not accessible by lots of people and gets lots of feedback. He’s exploring new content creation territory - the world’s general population - and it’s fascinating! ** 23:54 Mr. Beast - nobody is ever going to do what I do better than me. He’s spent his life making these videos and doing nothing but those videos, hiring the best people he can find to make these videos happen.
He’s making long-form content into short-form content. The budget behind them is insane.
The medium is the message. Mr. Beast is making youtube videos to hold your attention spans for an optimal amount of time.
Short-form content - by definition - changes the game. You don’t have to prod and hold attention. Now, mastering short-form content lets you master short-form content - that short-form content is everywhere. If you nail short-form, you can nail everything.
Got a new photo editing program - Capture One. Sure, tech doesn’t hold you back per se, but using this program makes so obvious that Darktable really did not fit my needs. The raw profile just isn’t there; Darktable everything looks flat and dry, but Capture One is so, so vivid.
Gus, Margot, Phoebe, friends… finding Trevor Wisecup and Poupay Jutharat today… feel really re-inspired by photography. Photos should be about people, about friends, about space, about people I know intimately. I’ve been thinking about space over the course of this whole trip - my photos have felt so flat, so cramped, and I want to see how wide I can open them, how much space I can explore through them. That’s how I’ve been thinking about my framing - leaving tons of negative space for people to breathe- but in other ways I’ve been thinking a lot less. I love the experiments with lower apertures, with slower shutter speeds, with friends; I want to capture my friends, new peopl,e in space, giving them the opprortunity to breathe. ** 22:53 On starting career from 0 - Poupay.
https://www.youtube.com/watch?v=UAdI27UPYvg
Go to tourist spots and find weird people. Document weird people. Go to events. Make a series for a mag and a first pitch to a mag.
Your first pitch needs to take time; spend time and energy building personal projects. Show what you’re interested in. Make that series and publish it. ** 23:56 Time to get serious about series of photos. Not sure if I’m up to doing this daily - but grouping a lot of photos with a theme and posting them together seems like the next progression for me. I want to tell stories. Taking photos is the best way I know how. (Writing is the second best way I’m aware of, but it takes a lot more time..)
I wasn’t planning on seeing [[Nils Frahm]] live, nor did I know he was playing in Athens until the very same day it happened; I heard the sound test coming from the [[Odeon of Herodes Atticus]] while I was climbing down the southern slope of the Acropolis and I decided to get a ticket just in time. I’m happy I did so, it was a memorable experience for sure to see him live under the moon and stars in this ~2000 year old amphitheatre.
[[Listened]]: [[The death of the Unabomber: will his dangerous influence live on?]]
Running out of steam reading [[The Entropy of Capitalism]]. It’s pretty dense and academic, lacking much in the way of narrative or prose to get you through some of the thornier bits.
[3*n*(n+1)+1 for n in range(1000)]
[[Read]]: [[For an anti-colonial, anti-racist environmentalism]]
For now, I’ve moved my org-publish stuff (both the publishing to my website and to the Agora) on to my own server. But I’ve had to remove the caching, because that kept failing ([[Problems with org-publish cache]]). So I probably haven’t gained much. Except that the html publish pipeline was timing out on Gitlab, so at least my site will be regularly updating again now.
[[Listened]]:
However, my website is now a quine; it renders its own source code to $source.html files and lists those directories. That’s been a great exploration of what is possible once the source code’s been rewritten to use a more solid framework. I’m excited to see what else I can do there.
First, though, we’ll build a dynamic file server that can render information on the fly. I’ll need this to quickly design pages like my page for showing photos, which I would like to be statically generated and server-side rendered. The components and dependency architecture we’ve set up will finally come in handy - now that the source code is much more clear and disciplined.
The best tool behind this source code organization was cacheing as much information as we could up-front through the ‘info’ function. This gives some files the max amount of information that they can get form other files at any time, at the cost of a bit of querying up front (though this might actually be faster - it certainly feels faster - because more information is cached rather than being repeatedly queried or calculated).
I’m thinking about language paradigms that would let me declare data as lazy without using tools like ‘async’ - for example, getting the contents of a file dynamically when it’s queried from an object rather than having to fetch that up-front. Maybe this is what traits and OOP are for - that cache can just be implemented as an object access on a per-struct basis - but I feel like there is some other core language feature that this one could ‘fall out of’ with no boilerplate. Declare that an attribute exists and how to retrieve it, then retrieve and cache it on that object when that attribute is retrieved.
The problem here is invalidating files and information; we have to assume that the root source hasn’t changed, which isn’t necessarily the case, so we can’t do this every time. We almost want some way of indicating whether the source of data we pull from is static - whether it can change during code execution, so we might want to refetch - or dynamic - in which case we’ll keep our stuff in memory and never re-fetch a potentially expensive operation. (I think it’s safe to assume in most cases that we will have enough memory available, so we can cache whenever).
This reminds me of the 3CPS work - if we know statically how much information something will take up in memory, we can build that information in at compile time and avoid requiring heap allocations for that data by making a separate heap space available to us that we statically allocate during our compile step.
We’ll explore these ideas after we have fully dynamic hot reloading - that’s when a real programming language could surface from this whole static/dynamic mess : )
I’m missing some real features from javascript. Lisp programmers often say that ‘fear of syntax’ is the biggest reason for not using a lispy language, and that too many parentheses scare people - but frankly the lack of expressive syntax makes coding more difficult. I can recognize javascript structures based not only on their names but also the shape of the code - and because JSX code has so many different shaped (especially the inline html!) it’s far easier for me to quickly scan and grok a JS(X) file than it is for me to take a peek at a clojure one, where I have to drill down into the names of every line and evaluate the open and closing parens. Lisp is great for language developers and macros - but for most programmers, being able to identify, literally, ‘the shape of a problem’ can be a big deal. I’ll probably use a JS or ML-based syntax for whatever language this becomes.
I’m also missing the lack of expressive type annotations and stakc traces. Tracking down my file rendering bug was a complete mess. ** 12:53 You should design things so that an algorithm has to relearn. ** 13:35 I love resurrecting old projects and using them to re-explore ideas. Most of my ideas from the past couple of years have gone unfinished - I just didn’t have the technical knowledge, the stamina, or the determination to follow a project through. Now that my site is breaking through - as is the index page - I’m really getting there. Fear is the mind killer. I can’t wait to close out many of this site’s issues, build a splash page, and get to smess and joss and making a game and rendering for desktop - all things I’ve wanted to do for a long, long time.
[[Read]]: [[How systems theory can help us reflect on the world]]
[[Read]]: [[When nature and society are seen through the lens of dialectics and systems thinking]]
[[Panarchy]]
[[Listened]]: [[After the Robots: Aaron Benanav on Work, Automation and Utopia]]
[[Listened]]: [[The Mute Compulsion of Capitalism]]
Even the development tools are straightforward. I know that with Nix I am taking on some responsibility up-front when maintaining my system by making sure that everything is pinned, but a stateful homebrew configuration is so easy - it just works most of the time, and when I have a problem, I can check the version of a package, then update it. Nix might be overkill for a lot of personal computing use cases like web development or Rust where all of the dependencies are so stable - unless you’re dependent on a complex web of system APIs and libraries, most technologies ‘just work’ with the stable libraries you have available on a Unix system. This is true for dev tools, too; git’s preinstalled along with a bunch of other good utilities.
I particularly enjoyed the integration of app installation with web browser plugins. Adding 1password was seamless - an installation took a single click and suddenly I could use the tool everywhere. I wish applications had a hook for this - detecting installation and searching their systems for plugins that they could install. That could make software feel more fluid.
The platform isn’t configurable enough, though; I don’t think that good defaults really provide the expressive configuration that people who use software should deserve. An application isn’t a monolith - it’s part of an ecosystem of tools on the computer - and it really is a shame that ** 13:08 Tightly coupling too many tools - using them ‘cleverly’ - can be really dangerous. This was the status quo for me - trying to craft or discover the simplest and most elegant functional pearl from software, administering lots of rules to do so.
Unfortunately, tightly coupling tools creates rules and semantics - semantics that the tools, individually, don’t model. If I add a row to the table, that row shouldn’t have unforseen consequences in executable code, for example, unless the row is ill-formed - but if what is ill-formed is not defined by the executable, the user has no way to determine what is correct without assembling all of the infrastructure.
There are three real ways to drill down into them:
This Google Calendar settings menu that I have open is wonderful; it’s document-style with a table of contents, and all of the settings have beautiful visual metaphors to help you understand how to navigate the page.
The Apple menu? Not so great, especially because they try to ‘own’ technical language and obscure actual features, like saying ‘pro display’ instead of 120hz or similar. This creates Apple tribalism and helps some die-hard fans feel more integrated - but choosing different names for products and settings from the colloquial standard basically alienates any casual user - which, IMO, is bad for a product like a MacBook that should be a tool usable by everyone. I don’t want to have to look up what an ‘epic pro max XDR ultra’ is - just use the language everyone else does. Please!
Major shoutout to the browser company shader this morning. When you first open the app, the full-screen blob and intro animation with music is so, so beautiful - maybe the best animation I’ve seen from software in a long time. That intro sequence is immaculate. I’m blown away by the work that these teams are doing on MacOS native apps. Developing those tools to be mac-native is feeling awfully tempting… wondering how easy it would be to port beautiful animated features like this back to Linux and wayland.
Using this Mac has helped me develop a new appreciation for my Linux setup though. All of the animations are beautiful and expressive on MacOS, sure, but my minimal Sway setup feels cold and efficient. Everything happens pretty much instantly without ‘affordances’ or motion blur or 120fps animations - it ‘just works’. The machine feels functional, efficient, and responsive. I would love to build more beautiful apps that feed into this ‘feel’ while taking some of the innovative visual cues from programs like MacOS. ** 10:16 Writing and recording these daily notes is probably - for better or worse - the highlight of my day. This is great practice. Keep noticing details and working on it! ** 11:10 Made another classic prioritization mistake today. Always make the minimum viable changes necessary to release a usable product for other people. I prioritized doing more ‘in-depth’ work before preparing a deployment of our product at work. Be more careful next time - propose a minimum viable plan, finish that plan, and iterate, adding more if we need. Do not do more up front than is necessary.
These devices shouldn’t be limited to controlling audio; they might be able to channel into some intermediary that can automate, send visual feedback back to the controller, and so on… a device could control a visual and a synthesizer at the same time, displaying art that reacts live to tactile knobs… the ability to touch something and for that thing to give visual and vibrational feedback is so, so important. Musicians know that how a tool feels changes how you think. Everyone should have the power to plug in new tools and change the way they think about problems.
Keyboard artisans know this too, in a different way; they ‘optimize’ or make pretty keyboards, play with knobs and ideas, itching to find this new input device of the future - or the one that works best for them. It’s silly to me that this laptop has one keyboard and screen glued to it that can’t be changed. Having good defaults is good - sure - so that the system can always be interacted with, but I should be able to swap these things out and keep the brain behind them. A ‘complete’ device that can’t be customized or plugged into other things feels terrible. Same with battery power. All of these TE devices have built-in microphones, batteries, etc, each with different abilities and qualities, then they promote the idea of putting all of these tools together. They seem fixated on beauty and size at the cost of functionality - I cannot DJ or record with their TP-7 because the disk is too small and the microphone is so poor - but that beautiful brushless motor and notch on the side provide such seamless tangible and visual feedback, acting as the world’s most polished tape deck. The knobs on their mixer are far too small - and that mixer has no business hosting expressive audio effects - but it works and works well.
To me, the failures of these physical audio devices are more interesting - like the OP-Z. The thing doesn’t have a good way to provide visual feedback for most of its controls and its labels are too domain-specific for how general the device is meant to be. The thing has no screen! A sequencer needs lights under the buttons to show you when they’re triggered. A disc needs lights or a screen to show you how that pot is tweaking your system on the fly. This visual feedback has to be built into the controller itself in some way. The Elektron model:cycles looks and feels like a toy, but the rubbery feel of those buttons - the way they light up - and the screen’s waves shifting and responding to your changes to the sequencer - are brilliant design decisions for such a budget device. The mouse shows a cursor. Keys show text on the screen. Controls on any sort of device should do the same - or htey’re confusing and do nothing. Audio feedback is not enough.
All of these grooveboxes work because they feature software tightly integrated with hardware - and the developers behind them do a brilliant job - but ultimately my laptop is a far more powerful and expressive piece of kit than dedicated ‘hardware’ (implemented in software as custom firmware). Limits like 24 samples, 256 tracks, whatever - what? My laptop has 16 gigs of RAM and a terabyte of storage. It can probably run the software of every sampler or ‘groovebox’ on the market combined and look better doing it. ** 11:52 Someday I’ll make the clothes that I want to wear every day. Right now I’m focused on computer interaction. Income doesn’t feel as stable and developing clothes seems like it costs big bucks - especially clothes without compromises. I have a whole life ahead of me to do that. ** 14:18 Incredibly frustrating that most high-quality hardware products have software built-in. Music tools are no different from SaaS platforms in this way - it’s nearly impossible to purchase great hardware pots, knobs, and other buttons without them including some mediocre hardware in the box and gluing the tool to it. I understand wanting to control the complete experience, and that stepping away from a laptop is somehow an obsessive selling point for many people, but controllers should be just that - instruments that connect to powerful programs that run on your computer. Those distractions you have in your laptop are a software problem, not a hardware one that can be fixed with more money and more modulars; the bigger problem is that you do not have control over your computer and the ways in which the software should interact.
I want more companies like Monome that ship beautiful, high-quality, modular tools. Thankfully NI controllers can be hacked, and they have decent hardware, but that’s not the point - we deserve better tactile tools for human-computer interaction that don’t have to be the complete package. TE takes one step towards making no-compromise, beautiful products, but they aren’t substantive or modular in the most important ways. The missing piece of this puzzle to empowering hardware is free software - we need to get there as well. ** 17:28 WebGPU is good, but starting a framework by implementing the GPU rendering is bad because this introduces a barrier to entry.
Using this macbook feels so clean and seamless though. Everyone deserves high-quality basic tools like this. I’m noticing that programs aren’t as expressive for developers as the MacOS defaults, though. I am determined to make compelling, developer-oriented software that everyone can use - that can be ported back to MacOS with no issues.
Less configuration is better. Pick beautiful defaults and they’ll be used. (Gnome doesn’t have the best…)
Also realizing how important it is to be able to move a window around, to resize it and see how the website reacts, vertically and horizontally, on many different screen sizes. Getting some new insights for my website - like how important a responsive sidebar is. ** 19:51 One of the most beautiful things that anyone can do is make a tool that helps people express themselves - especially in a way they weren’t able to before
AmanecΓ y llegamos a la tarde con alegrΓa con [[AG]], y despuΓ©s comimos y caminamos con [[Diego]] y [[Dominic]].
Clojure really isn’t useful here though. Fun but bad decision. JVM has slow start and doesn’t really matter - we don’t need to run cross-platform and the libraries we would use for that are implemented in many other languages. Should have used javascript - code would have run much faster. Clojure lost because it wasn’t useful on the web.
Also, the stack traces are terrible… (I can’t see any sort of program trace within my code? No syntax highlighting? What’s up with that?). I’ll wrap this project up but I’m feeling a strong rewrite it inclination. ** 13:45 Depending on a file means a few things things:
Solution:
This means that if you depend on any file, you’ll have the information about what you need to make your current component run at any time. You’ll know what you have to build in order to make that component work. References to that component will have a real, semantic connection to the component itself.
This also allows the file to be interpreted in different ways! I can assemble a list of imports dynamically, then use an interpreter to resolve them. I can use a compiler to set up everything statically. I can make ‘meta-components’ that transform other components to augment them in clear ways. Good solution. ** 14:01 Watched some tiktoks (reels lol) this morning. Really clever tricks with the soundtrack - some reels through subtle discord, snapchat, iMessage, etc… sounds on in the background to stimulate attention. Really devious strategy. I’m kind of afraid of watching these things now. ** 14:41 For the site - need a way to figure out remote dependencies! Both at access time and at build time. These are network requests. (:type network? :type https? something like that.)
(Live dependencies would be really cool…) ** 19:46
https://www.youtube.com/watch?v=Xa_fNuaSE_I: A good test for cross-platform software - would a top company rely on that software to build beautiful products? React Native, Flutter, QT, Xamarin…
The answer is no because there are so many stopgaps and edge cases between platfomrs that have to be healed over. That cross-platform challenge is so incredibly difficult. The APIs are just too high-level to build technology that interoperates! ** 20:28 No GC is necessary for fluid UI. A single GC pause in the wrong place can kill a fluid animation. This is why Apple is behind Swift - and why Swift apps feel so much more fluid than other web tools, even Java - Swift apps have fine-grained control over their memory, which allows them to make UI animations feel incredibly polished. Brilliant!
My site is becoming more and more ‘reflective’ though. The more I iterate on it, the better the features tend to ‘flow together’; I have a bunch of ideas that seem unrelated, but over the course of a couple of days they combine to reveal some super powerful primitives, and those primitives can hten be used throughout the application to make the framework both faster and more expressive. Clojure’s "for" laziness bit me today - but I can see laziness being super useful, like to retrieve git log information or to get information about files that are supposed to be dependent on one another. I’ll see where that takes me. ** 18:14 The bit of isolation I hear feels lonely, but it’s been really valuable; I’m very quickly finding an understanding of what I want to do with my life and how I want to go about it. I want ot make, to build creative tools, to make using a computer better; I want those tools to be freely available to anyone and for them to be the best tools available, so there is no decision between paying Adobe or Capture One or whoever else is adding artificial scarcity to limited commodities; I want to build tools that people both admire as objects and that can be used every day.
Progress isn’t made with good work, not entirely; it’s assembled between people making connections in the real world. Balue Coffee’s pop-up was wonderful; he was so welcoming, the coffee was so good, and the community of people that Justin (?) seems to have fostered is beautiful. Some poeple drove or flew out from fairly far out to spend time hanging out in a parking lot to support this business; to support him. I love doing this for others, but am not sure how to foster a community quite like he has. Life could be so, so rich. Maybe San Francisco or New York would help; maybe I can change myself to foster such a community here.
[[Read]]: [[The Entropy of Capitalism]]
[[Watched]]: [[Vesna Manojlovic - The Environmental Impact of Internet: Urgency, De-Growth, Rebellion]]
[[Bookmarked]]: [[Institute for Social Ecology online courses]]
Client-side and server-side rendering are both necessary to make the best websites.
The most important role of a website is to communicate and present data in the best way possible. The best tool is often a static document; this allows you to communicate information that doesn’t frequently change to a user.
The ability to take a snapshot - to download a single HTML file and have access to all of the information you’d like to see - allows users to save web documents for themselves and access them whenever they’d like. It’s really important for websites to provide static data with the lowest lift possible. This allows snapshot tools to perfectly capture their state, giving the users of a website the ability to communicate data online or offline.
What if that information frequently changes, though?
I’ve written before about the ‘three stages’ of information on the web. Information can be retrieved at three times: at site deployment time (the developer deploying the site to a server), at user access time (when the user requests to see the information from the server by clicking a link), and at runtime (updating data while the user is viewing a page).
We know the user wants the most up-to-date information, but each stage comes with a performance penalty; delivering information at access time and runtime can introduce significant lag if not approached properly, as the live data has to be retrieved.
We can load data in ‘after the fact’ by having the browser request live data again after a page loads. This is a super common React strategy, and improves load times for the user - but means that the page served to the user initially is often kind of useless (it has none of the relevant data until a user spends some time on it!), preventing any sort of archival tool from properly preserving the site at a point in time.
This also may be irresponsible - do I want to render the data on my one computer or on the computers of every single one of my visitors? One clearly is much more expensive. We need to give users the most relevant live data though!
When considering how a platform is built, strive to store all information at site deployment time. If information might change between user access times, that data will have to be dynamically retrieved. If information might change when a user accesses the page, the data will have to be dynamically rendered by a client.
This also calls for three different ways of rendering a website. The first stage is supported by a compiler from source files to target files. The second stage is supported by a service that pulls in live data, sticks that data into a compiler pipeline, and sends the output over the wire. The third uses JavaScript to continuously request and render data from the user’s computer.
Because rendering information at different times has these tradeoffs, switching between different rendering strategies for particular portions of the website should be as easy as possible. If I want my data to render statically but update live, I will have to render that data in two places - on the server and on the computer of the user. I will also need to obtain that data in both of those places - ideally from the same source.
How do we solve this?
Cool. The UI development language has to either be javascript or support javascript.
What about alternative rendering strategies? What if I want my app to render easily on desktop and web?
If we want to draw with pixels, we can ‘sideload’ rendering on the web in with the HTML canvas. This would allow users to program in their language of choice. This also sacrifices all of the tools that the web browser provides and prevents static rendering entirely (it is not possible to draw a canvas statically).
If we want to draw with the GPU instead of just putting pixels on the screen, a presumably faster strategy, we can program against the WebGPU API on both the web and the desktop - but again we lose all of those advantages of HTML on the web.
Cool, maybe we can bring the web to us. Let’s wrap our app in a web browser and have users download our application code, then tell the browser to render that.
Some problems:
Because our documents are glued to the browser - the most expressive document viewer ever - everyone expects their applications to be accessible there, too. Links are really powerful. Requiring a user to download software to try it out simply is not a good option nowadays.
This is why comprehensive rendering solutions are so difficult. There are two APIs we have to glue into if we want both fast and browser-optimal code to be available everywhere, both with very large surface areas.
We have two paths to move forward:
Things that are not up for discussion:
All I’m saying is that reinventing the wheel is looking really good right now…
Why can’t we just target HTML/CSS with business logic in JS / WebAssembly?
We always want accessibility hints, and we always want debuggability - a document flow is ideal for those. A lot of the time, though, the web presents problems to us. The DOM cannot render pixel-perfect documents without the canvas.
Google Docs moved to render entirely with canvas recently, and though they didn’t state why, I have some suspicions:
The docs team also added a feature to support static web rendering via the DOM. This allows those live, view-only previews and snapshots to be taken, efficiently rendering a static site that is served to others without the issues discussed. Unfortunately, they have to write all of the same code twice - one for the static doc that’s distributed to others and another for canvas editing version.
Thankfully, the canvas doesn’t sacrifice all of the browser tools - its api does offer some accessibility tags and primitives: https://pauljadam.com/demos/canvas.html.
This means that if we want to give application developers expressive and fast tools, we cannot rely on DOM rendering to support every use case. There must be a seamless way for them to fall back to pixels. The canvas API, I’d argue, is not seamless - those accessibility hints and tools cannot be rendered statically in documents, for one (unless you count images and SVGs - but then you sacrifice the interactivity that makes HTML docs so brilliant to an opaque image).
The conclusion here is basically that we need to be able to develop custom, pixel-perfect tools within the canvas that the browser will render statically to a document, but that can be interactive when that document is open. I haven’t explored why static HTML - rather than JS augmented HTML - is important, but mostly because JS is a mess and is too expressive for what we want it for most of the time. Documents should be usable without executing a general purpose programming language - users should never have to incur that performance hit.
I’ll have to rewrite this whole article when formalizing it.
are.na
… hundreds - maybe thousands - of people see what I curate on the platform, but
** 23:28
Nah… getting more exposure always seems good. I’ve put so much effort into the site - and am so glad that Tommy loves my web design. : )Almost-quote of a language: "Developing a language could be just like discovering a game. A game is designed to teach you how to play it - to discover new tips and tricks without realizing that the system is teaching you how to progress. The process of using a language - from the starting process, the error messages, and so on - should be designed like a game, to inform the user to navigate the language and teach them features."
All computer programs are the same; a program is a tool that a user has to learn. Choosing the right way to help your users is vital to helping your users understand how to use your program.
Do I provide a manpage? A --help
flag? Good error messages? A website with a great search bar? An interactive tutorial? A supportive Discord community? How do I determine what the best way is to teach my users to use my software?
Today I’ve also been testing out the Helix
editor, software that claims to be a modern replacement from neovim. The program claims to be a complete rewrite, but effectively rewrites and compiles in expressive neovim packages and configurations to produce the best source code editing experience out of the box. The best aspecf of this is the help menu, though - as soon as I started typing and saw a keybind that I didn’t expect, I was (1) shown a menu of all possible keyboard shortcuts, and (2) shown an English explanation of my action in a pop-up. I felt encouraged to play - trying more keyboard shortcuts helped me understand more about the system! - and it was incredibly easy to find tools like the file browser and to start using the modal editing features. It’s still a bit confusing to open the program to an empty buffer - but their onboarding experience is doing a lot of things right.
At work, a principle design focus is killing any sort of product tour. We include one as a crutch - it allows us to explain features we’re quickly adding support for to the platform because we’re building a product without clear competitors or comparators - but making UX feel seamless - teaching the user to use the product as they explore - is our primary focus. Presenting information-dense views with affordances to attract the eyes to particular aspects of the interface encourages the user to look at - and interact with - parts of the screen, and in doing so, I hope they learn. ** 13:40 Test for my website’s sidebar hierarchy:
home ββ΄pages ββ΄c ββ΄c-style ββ΄ helpers ββ΄making-c ββ΄journals ββ΄2020-10-10 ββ΄2020-10-05 ββ΄files
and questions:
Some pros:
ascii
art. It’s a wonderful pattern to reuse.Thoughts on the framework so far:
Goal 0: A great framework for building desktop applications.
Goal 1: The best made GUI Linux desktop applications for everyday business applications. Text editor, calendar, email, and so forth.
Goal 2: An everyday software suite that users of Apple devices are compelled to use instead. Apple is a direct competitor. Our tools are more seamlessly interoperable, open source, more consistent, and just as beautiful. You want your computer to feel like our system. No data moats - but we seamlessly wrap and distribute beautiful free software services.
Goal 3: A toolkit for any user to develop ** 13:24 nushell: when creating the signature struct for a command, if the command is ‘main’, replace ‘main’ with the name of the file
(Later/harder: if i write a bunch of commands with the same name as the file i’m writing them in - i.e. ‘hey $cmd’ in the file ‘hey’ - the command to execute hey $cmd
should be hey $cmd
, not hey hey $cmd
)
also, if ‘help @’ command fails, try to execute @ --help
to see what happens?
Nix is getting better and better. This new Emacs interface - running on Wayland and natively compiled - feels so, so fast compared to earlier today. Glad I rebuilt.
Nushell is the easiest tool I’ve ever used to write comprehensive shell scripts. I’m incredibly impressed - casual-looking comments fit the ‘vibe’ of an ad-hoc script but they’re instantly used as documentation for their associated commands. Crazy! Check jakeisnt/nixcfg on github at today’s date - the hey
command was rewritten from an 85mb clojure bundle to a ‘free’ (because we’re already using nushell) shell script that’s a third of the number of lines of code and far, far easier to understand - while preserving the same kinds of type information that clojure was (just under the hood). JT and the rest of the nushell crowd are brilliant creators of user interfaces.
Can’t wait to see how I can get interactive polling commands working and similar - would love to make reactive tables.
Zig feels just as modern. Still sort of undecided on the Rust vs. Zig spectrum, but I’ve gotten quite tired with the typed baggage of Rust while Zig lets me goof off and do more or less whatever I’d like (for good or bad). My flipbook
project is definitely rendering a raw pointer instead of the buffer that it’s supposed to right now, but we’ll figure it out.
Blown away by the comptime feature and how dynamic it feels. I’ve never been able to create a data structure on the fly before and use it in normal code with a strongly typed language such as this - but comptime
feels magical, automatically shifting ‘meta’ code to the compile time step to interpret normal Zig code and bake in the results. I’ve used it to create rendering engine that uses a fixed-size buffer - without any heap allocations! The buffer struct definition is inlined (? i think) up front at compile time so that the instantiation can be so seamless.
I’m lacking the proper programming language words to describe this, but I also love the build system and how seamlessly I can integrate with C code - a process that’s quite difficult for C <-> Rust, javascript <-> typescript, etc… both systems that claim to be easy to do but that, in practice, require modifying the build system of your project and introducing typed headers (which can be real or fake).
Zig builds Clang into its own compiler and simply has all of the information from the C headers and their types available, and has a memory model that maps cleanly to the same LLVM types that clang’s C code uses. Brilliant. I don’t have to learn Bazel’s Python dialect after all - I can just get to work.
Wondering if Rust or Zig with hot reloading would be possible. Zig’s anytype
annotation is lovely - letting you wing it with systems code and test solutions fast - but not sure how well systems like that scale. Rust is slow with binaries that are too big - Trying to get my launch
program - a simple egui app - to work on my computer was a disgusting mess when having to build from source. We’ll stick to Zig and stick to boring libraries that can be dynamically linked (when necessary) or my own code (when possible) to make transpilation from scratch a fast process for as long as we can. Fast compile times are so, so wonderful for creating and distributing software. No messing around with caches or storage. You can send someone the source code and they can change it and compile their own tool. Simply brilliant.
** 23:33
Software keeps getting better and better, but only as a result of the significant amount of effort put behind making open-source software faster and more useful for the prople on the other side of the screen. Incredibly reassuring to see great projects succeed and to feel my computer become faster and use resources with greater optimality.
Hurts me how slow darktable is. I’m not sure why it’s that way but I want it to be faster. that tool is the weakest link of my graphics programs and I’d love a replacement - or for the developers of that software to make it better and faster and more beautiful. The code runs and works for sure, but does not look great - and you can feel that pain as an end user. The external interface and feel of software closely mirrors the structure of the code and the organization of the team behind it.
Just opened my web browser. Half the websites I open feel like software going backwards. Feels like web software gets slower no matter how fast my computer is. Upsetting.
Back at ilcaffe drottninggatan. Great place to work.
This puts Our Legacy’s lyocell experiments out of the picture. Unsustainability aside, the fabrics so quickly stretch and reform and are so so fragile - I don’t want to have something else to take care of. Linen is a beautiful fabric for sheets - and feels great as a garment - but doesn’t look like it’s robust. I don’t want something I wear to tear and fall apart as I live daily life.
Clothing that wears texturally without losing color also seems important. Denim wear is visible in the dye; as the cotton stretches, color is lost in some places and gained in others. In the meantime, the clothes are absurdly uncomfortable. ‘Futuristic’ fabrics, by contrast, stretch and contract and scratch - and these blemishes are visible in the texture of the items but not in the color. Paint and stains show, sure - but those are added, not removed from the garment.
Also loving neutral and deep blues. Beige is great for sheets but doesn’t feel like it fits me - something to do with my skin tone. Warm blues match the eyes. AFFXWRKS work is brilliant - futuristic workwear. A bit too colorful and too Prada-infused to like most of the items - but some of the pants are masterpieces. They nail the workwear pant construction but use futuristic-feeling breathable, robust fabric. More of that please. ** 16:53 How do I know whether other people are open to being reached out to? How do I reach out to them?
This is easy in New York or Italy or Portland or Seattle or Boston - it was so easy to approach people and ask questions about them, their outfit, what they were up to, and so on… but here people feel far more reserved and the language barrier is difficult.
Conclusions:
Other thoughts:
Yesterday I submitted my final output for [[YXM830]]!
Reading [[Capital is Dead]] (again, didn’t finish last time) and loving it. I really like [[McKenzie Wark]]‘s writing style in this. I’m finding the argument about there now being an information-based [[Vectoralism]] - something even worse than capitalism - quite compelling, though I know many disagree.
Used the borrowed orbital sander to sand down garden table and chairs that are a bit weather beaten.
We’re starting with SDL2.
Why?
We need a library to manage window manager events to write code that runs on multiple platforms. Our two options here are GLFW and SDL2. (Other options are immature. Rolling our own is a waste of time and impossible to keep up with.)
For simplicity’s sake, we also want to be able to access the framebuffer and all of its information. GLFW makes the assumption that you will be passing its framebuffer directly to a supplementary graphics library for you that will query information such as window dimensions. GPU drivers and APIs are a proprietary mess, so we will not be using them. SDL2 gives us all of the information we need about the window we open. Hell yeah!
Later, we might want to underpin the interfaces that are developed for software rendering with GPU code for performance. This will not happen unless there is a significant performance bottleneck. For now, we’ll use SDL2’s framebuffer to handle everything. ** 21:16 I’ve been waffling around minimal computing for awhile now - and now I’ve got it. Largely inspired by ideas from 100 rabbits - https://100r.co/site/uxn.html - but considering that their approach butts heads with everything I know about programming language and user interface design, I couldn’t entirely buy in. I wanted to learn more first.
We’re starting with a simple Zig experiment - render an 8x8 grid of pixels with a moving animation. From here, we’ll explore fonts,
Small teams building in this space are then contractually required to build those features - they have to reproduce the work of a major player, but with much less time and with many fewer resources. Because everyone who operates in the space sees a clear target - ‘we have to build from zero to Lyft’ - they think they can do all of that and improve on the platform UX and customers expect that of them.
Companies in this space have to learn to disappoint in some ways, compromising on feature set instead of functional quality. The social problems that get them into the space to begin with - maintaining the bikes or scooters, improving the relationship the company has with the people who maintain the vehicles, and ensuring that all of the items are in good condition - are far more important than the technical issues that have to be solved. I’d advocate for eschewing the map at first - the app can open the default map app on the mobile device - in favor of focusing on perfecting all of the non-technical tools and ensuring that my small featureset works. Companies in this space reach for the technical issues - those seem easy to solve and measurable - but this is precisely why they shouldn’t focus on them. Because these goals are so tangible, accomplishing them does not solve new problems; it just makes the companies less differentiable, in doing so both sacrificing vehicle operating quality and losing any sort of identity to begin with.
Sponsored by the failure of the Stockholm E-bike service. ** 14:19 Corporate identity merchandise
Do not require it. People have the right to choose their own clothing and express themselves the way they want - especially as employees of your company. The strength of a company is not in operating as an island; rather, it’s in ** 16:58 Dad called a few hours ago. My grandfather died last night.
What business do I have being so far away from home? What does being here do for me? What does being here do for the people I care about?
I can’t come up with a good enough answer.
Lunch today was spent discussing the merits of sustainability of company merchandise. I regret even contributing to the discussion and prolonging the meeting. I’d never use a t-shirt but ultimately the t-shirts don’t matter. I wish I could have redirected that hour of life to helping reduce climate emissions. Be more judicious about what you invest your time and energy into. The time you have really matters.
What’s the point of life if your time isn’t spent caring about the people you love? In a perfect world, your work should care for them just as much as your time does.
I didn’t know what questions to ask my grandfather - about growing up in Chicago as a Swedish immigrant, about how he met and felt about my grandfather, about their beautiful cabin in Wisconsin, about train engineering, about his life growing up - and I’m ashamed that I didn’t try before this January - which was far too late. I’ll never get back a second of the time I spent playing with fucking trading cards instead of doing things with family. I have no idea what game I was playing at the time or what activity I was doing on my DS or the family iPad or whatever the hell I was up to when at their Boise house. I can’t remember that time at all, but I can absolutely remember not spending more time with them, learning about or learning from them.
I realized how useless the days I spent felt when I found out that Isaac died. I didn’t change anything about the way I lived my life. I have to change now.
Want some kind of ‘active memory’ - audio, video - recorded around you that you can reference. Words aren’t good enough ** 13:45 "The goal of the interview is to set the interviewee up for success." When someone is hired, they bring their expertise. Give them the kind of work that they would be doing every day anyways! They can pair program through the repository so that I can show you how we work? Brilliant.
Worth looking into this document: https://t3-tools.notion.site/Technical-Interview-Dan-Abramov-9aa6d8e9292e4bd1ae67b44aeeaabf88.
Bring your own interview plan? Show that you’ve been interviewed in a particular way?? Incredible! People work in different ways, and the decision to force just one method on people can give a potentially excellent employee a bad experience.
Give more interviews! This is the best way to learn what you want from someone. ** 14:38 Now that I have a good foundation for project work, this journal will become a bit more of a devlog. This journal is a space for recording day-to-day progress and learning as I learn to build beautiful applications from the ground up, from component systems nad libraries to graphics technique experiments to fast, reactive systems.
What am I working on?
The short of it is that the GPU on your computer - either ‘integrated’ (built into the CPU as an optimised subsection) or ‘discrete’ (a separate card entirely) hold a data structure called a framebuffer that represents the pixels that will be written to the screen. This information is written to a buffer then sent to the screen. The framebuffer is a data structure that represents the pixels of a monitor.
Cool, so I can just turn pixels on the framebuffer on and off?
No.
First, the framebuffer isn’t just exposed. Whatever windowing system you’re using does not allow you to write to the framebuffer at will. That would be a security vulnerability at best - applications could write pixels into one another to make you see something - and at worst make your computer unusable without a standard protocol that tells them how to write to the framebuffer and where. (If you aren’t in a graphical session, you can get raw access to the framebuffer: https://seenaburns.com/2018/04/04/writing-to-the-framebuffer/).
You’ll want to use a windowing library that abstracts requesting this framebuffer for you over various windowing systems (as Windows, MacOS, etc. have all concocted slightly different ways of doing this, nad they love making extra work for programmers) and gives you a reference to it. GLFW is historically the most popular, but systems like SDL2 and winit (Rust) provide similar functionality. You can then write pixels to this buffer following a standard, straightforward protocol nad they’ll show up on the screen.
Unfortunately, though, the framebuffer doesn’t live on the CPU or in the screen or whatever you think would be sane. Yes, screens have framebuffers, but it’s your operating system’s job to mediate between its representation and the data the screen is given. It lives on the GPU. GPUs are not optimized for drawing pixels on screens. They’re complex mathematical hardware with complex APIs, optimized for rendering lines and rays and curves for modern 3D graphics, originally created to optimize for rendering perfect fonts with PostScript rather than in a bitwise fashion. The good news: they make playing video games fast, performing complex application tasks in parallel. How they do this is to be learned and probably under NDA. The bad news: GPUs expose complex, proprietary APIs that are inelegant and expose very large surface areas to program against. This makes learning to program for optimal graphics a mess, mostly because you’re protecting corporate secrets. CUDA - the fundamental API exposed to empower parallel programming on the GPU - is not open. This makes computing a complex, ugly, mess - you’ll always be programming against this nasty, abstracted API that’s been artificially created, rather than being able to write to the machine and have the machine just render the text. This makes leveraging modern computing power a disgusting mess.
The good news here is that you can just ask GLFW for a reference to the framebuffer and write to it.
My goal with learning computer graphics has been to build small, beautiful applications that people - people who don’t know much at all about using computers - can use every day to accomplish things in their life more seamlessly. Two paths to move forward:
Whoah - Mach Engine solved this. https://github.com/hexops/mach-gpu.
Why do I want more?
I only like two of my shirts. Three or four on a good day. The rest feel uncomfortable. Why did I buy this one?
It’s beautiful - but unnecessarily. I don’t want to stand out, to balloon or showboat or stunt or whatever you’d like to call it. I don’t want to baby my clothing, spending too much money on a garment then having to carefully treat it. I don’t want to be flashy. I just want comfort and consistency. This elaborate shirt is giving me a headache.
[[taixu]]
we build hardware and software tools for everyday use
goals:
non-goals:
git clone
with a single command in 1 minute max. It’s insane that Rust takes so long and pulls in gigs of information. This just isn’t sustainable. My launch
software didn’t even work on my own system by default, even when using nix
, when working in isolation… I’m missing some dynamic linking package that needs to be part of the path.There are two paths we can take here;
HumbleUI
and Clojure desktop apps will have a future in industry at large.Zig is probably the way to go here. It’ll take longer to get started, but the toolchain is fast and has a promising future. I’ll be able to write very fast code and learn a lot about systems programming in the process. It’ll allow me to help build good infrastructure, work with games code to make beautiful desktop apps, and contribute to a fresh ecosystem.
I will show you the shape of my [[heart]] if you want to.
Then types - types add names to values wherever they go. The value of TypeScript doesn’t come from the language’s capabilities and static errors. There are some benefits to transpilation and to compile-time errors, sure - but far more important is the ability to see definitions on hover and receive competent suggestions from the typechecker. The better your types, the better you become at writing in the language that the code speaks - and the less discipline you have to have when revisiting and maintaining it. Your own types - your own language - is pushed back on you. ** 17:40 This ikea mirror is both the best fit for my home and a super affordable. Incredible combination! I love the oblong porthole look. (Stockholm curved mirror). The porthole is a brilliant touch - adds visual interest from the side and depth from the front. Shadows are worth exploring. ** 18:18 𦧠Awesome emoji ** 18:38 Some American-accented tea specialist is consulting with a future manager of a tea company in front of me. He’s younger than me and is dressed very functionally - but he’s a tea expert. She’s bringing him in as a professional to work on and with tea, and he’s extremely assertive about his work; I’m impressed by his level of expertise and control over the subject. He’s able to explain tea to everyone here, and is making suggestions in both an assertive and an incredibly friendly manner. ** 18:45 "You would not love to meet [the people who will work under you at the restaurant]. You have to." Assertive!
omljud
on the fly). I’m excited to have the apartment finished and start working under this new umbrella to make something real. We’ll start with an email sign-in box : )Spending time online I can’t help but wonder what I’m missing out on by not living in one of these innovation epicenters: San Francisco, New York, Berlin. San Francisco is the most beautiful place in the world but I’ve never seen a world so adulterated by tech that the fabric of the city outside of the office is ruined. Culture in San Francisco stinks - it’s commodified and distilled into Blue Bottle and Allbirds, turning self-expression into a series of checkboxes, a manual, and the number on your bank account. The big players in SV, from my understanding, are brilliant and analytically stubborn to a fault, unwilling to consider ‘unquantified’ or ‘soft’ benefits to their lives - why do you think San Francisco looks like it does outside of the office? They need to learn to remove metrics from aesthetics and revert to their psychadelic dreams of the 70s. The wage gap is too broad there to ever realize this without proper housing. The only way to live in the valley is to live in a bubble and to curate the right bubble for you.
Cool - that leaves NYC and Berlin. Is Berlin monocultural? I haven’t made friends with enough Berliners to know. I do know that enough people I keep in touch with online frequently commute between the three (SF included) to make them each a place where you’ll be able to meet and know everyone. My work and ego aren’t yet strong enough, though, to enter those spaces. I’ll have to work twice as hard in Stockholm before leveraging the reputation I’m going to force my work to build. ** 13:28 Completely forgot to write about interiors. They’re difficult! You don’t notice the details until you really dedicate yourself to making a place home - why are the countertops like this? How are the tiles misaligned just slightly? Why is this asymmetric? Earlier I ranted against symmetry - but like all things symmetry is a balance. The four potted plants on my windowsill, all different breeds, were in radically different pots - and this looked absurd. Normalizing the pots - using four of the same pot and replacing terra-cotta with glass to better highlight the plants themselves - improved the room demonstrably. Terra-cotta feels uncomfortable to the touch. Caring for your belongings is more difficult if you don’t enjoy them.
And the carpet! Generally the same rules of outside apply to inside. As you look from the ground to the sky, colors should get lighter and more vibrant. The really bright colors should be sparse and carefully curated - these are the areas that the eyes of a visitor should focus on when they enter the room. Everything else should be plain and muddy and pastel or black or white or anything that could blend into the background as a tool should. Surfaces should be distinct from the items on them without distracting from them - marble is too detailed and places the focus on the table ratether than the items on top of it, much like the wood grain of the table my laptop rests on as I type this.
Adorning the walls is just as important. Smell is more important than sound, and sound is more important than light; smell can indicate immediate or lasting danger, while sound implies near-term danger and light just controls whether something could be present or absent. It’s therefore far more important to consider sound and echo than the details of furnishings in the house. (Segway: wow, these IKEA panels are brilliant: https://www.ikea.com/us/en/p/oddlaug-sound-absorbing-panel-gray-00427366. Design that is functional and accessible to anyone is far more important than design that is beautiful. More later.) The more detail you introduce to the home, the less noise you hear.
Finding the perfect furniture is incredibly difficult. I can picture the particular table that I want but I can’t make it - I don’t have access to metal fabrication facilities to cut the table to size and acquiring the raw materials would be super difficult. The process reminds me of why I love computers - digitally, anything I can imagine or picture I can make real. Experimenting with physical spaces is expensive and carries with it far more material limitation than the infinite computing power that I’ve become accustomed to having access to! + it’s so difficult to imagine something filling in a space without having it. My walls are empty and I can hear it throughout the apartment.
Still don’t understand:
Thinking about https://koolaidfactory.com/writing-in-public-inside-your-company/. My thoughts aren’t tracked well enough outside of work yet. How can I make my infrastructure more transparent?
Listened: [[Reclaiming Time with Oliver Burkeman (In Conversation)]]
I started reading the intro of [[Governing the Commons]] last night. It was actually very readable - for some reason I thought it would be really academic.
[[Jackson Rising Redux]] arrived, after lots of delays to the publication date.
Keir Starmer: ‘I want Labour to be the party of home ownership’
[[Sun Thinking]] is nice
Could AI save the Amazon rainforest?
[[Ecosocialism 2023]] conference
I feel antsy, stressed, transient whenever I have to move apartments - I’ve been here for just a month but I’ve got to move to a more permanent place. I don’t know what home feels like but I’m not sure if I’ve found it here, in Stockholm. Physical spaces - and physical things - feel so important to me; I don’t understand feeling attachment to items like attachment to people.