Paying attention to the structure of communication and work is a full-time job.
I hope more folks write about it in the context of small teams.
There is a lot of documentation and advice for enterprise-like environments.
I’ve started playing with HTMX a little. I used it at work lately.
Instead of sending JSON from the server, I am sending HTML using HTMX.
It feels weird at first—but it is not!
I am still not sure how far I can go with it.
Note that I have a PHP 8 monolith at work rather than a JSON API + Vue/React app.
You can read about it here:
https://htmx.org/essays/hateoas/ .
Note that you can find an equal number of decent articles suggesting why this is a bad idea!
It’s been a while since we heard from Evan.
I’ve been itching to try Elm for a while.
The frontend is a complex problem, and many folks recommend Elm to deal with it.
Which is a better input to an AI—text or pixels?
Many believe pixels to be better:
https://news.ycombinator.com/item?id=45658928 .
Karpathy worked (works?) at Tesla, which has its driving system entirely based on camera inputs!
I find pixels to be a more “natural” input in biological systems than language—for example,
mammalian vision systems.
Olfaction and haptics are equally natural.
All of these modalities look very different from each other to me,
even though they create final representations in neural activity.
A bit like how Haskell and TeX are different even though they run on the same processor!!
I don’t think there is something terribly common in these two modalities,
even if there are correlates or similarities in neural representation.
Perhaps vision is much more complex than other modalities and
More Is Different | Science .
For the last couple of weeks, Ookie has been going to a day-care for a few hours. She gets to play with other kids there. “Playing with other kids” has been the reason for sending her there. After a few days of fuss, she now seems to be enjoying her time there. My very friendly neighbors think that she is too young to go to day-care!
Somehow I managed to run 400 km so far! My pace has been slowest. I still need to complete 600 km in the second half of the year.
I’ve started paying for RUNALYZE. It is nice that more and more services are offering purchase-parity plan for subscription for Indian users. I’ve been using jonasoreland/runnerup: A open source run tracker for a long time to sync my runs with Runalyze/Strava. One dollar=Rs 100, but it is roughly Rs 30 in purchase parity, so you have to reduce the pricing by third for Indian users! If you are doing this, I’d be happy to work for you for a purchase parity adjusted salary😛.
I had a minor meltdown at work 😭. Not proud of it. It’s hard to keep cool when many co-workers write almost empty email without a subject/body to report bugs. I’ve been trying to get them to use GitLab issues for a few months now. Either, I need to disengage from work a little at this workplace, or find a place where co-workers are adults and not only they come to work but also know how to structure and plan it.
I read Programming as theory building : Naur.pdf and found it illuminating. I am pretty sure I’d have yawned reading it some 10 years ago. This article — written a year before I was born — put “programmers” at the center of software development. I don’t think I can reduce this article to soundbites. Do read. I learnt about this article from HN.
– I wrote another small utility to remind me that a LWN article has finally become open. I am not able to pay for LWN subscription due to HDFC Bank related issues and I forget to revisit the link when it is open. Perhaps I can rent a VPS in this money and read the article two weeks later?! LWN is a great resource and I feel bad for not paying for it though!
– My Wallet from Budgetbakers is no longer syncing with HDFC Bank. Their support is working on the issue. HDFC seem to have changed their login flow again! My another bank, DBS Bank, doesn’t have saving account API🤣. I opened account here thinking that they are “tech-savvy”!
– I’ve been thinking about hiring a lot these days. At my current company which is an early stage startup, they have been struggling to hire a dev for the last 5 months! I was part of a few interviews — some went well and most were meh, but not able to hire for 5 months feels a bit extreme!
– Both mango trees in my street has mangoes this year! Here is my daughter Ookie playing with her friend. Fortunately, like many streets in Bengaluru, this street is a dead end and have no traffic.
I finally finished a version EHR app that I had been developing for last 6 months. I expected it to be over in 2 to 3 months — along with a real time trainer app. I had to rewrite it in PHP as a monolith from Vue3/FastAPI (frontend/backend). I discussed some of mistakes I made in . Moreover, I should have spent a significant more time on planning and talking to stakeholder, a kind of discovery phase where I force ideas out of people and put them into tickets. Another lesson learnt is that don’t take “another developer joining soon” too seriously. Despite what I write in my resume, I consider this project a professional failure in planning and execution!
Engineering manager advocates for, well, engineers.
Working at this other startup made me notice a few things — how small small things adds up to make a huge difference. I notice them because I have something to compare against from my previous startup. Many founders perhaps don’t recognize them because they have nothing to compare against. Perhaps everyone should work at a startup (successful one, if you are lucky) before starting their own? Or at least get someone from a friendly startup as resident observer for a while?
I have been thinking about
I’d love to discuss some of these ideas with some candidates in their final round of interviews — if I get the chance.
There are some exciting changes coming to PHP-8.5 (https://php.watch/versions/8.5). Especially |> and functions to get first and last element of an array!
Kaalu The Fifth was limping last night. I sensed some pain when she was climbing sofa. She is overweight — she likes to eat outside and neighbors are really love her! I ordered fish-oil and a few supplements for her joints.
I guess, from now on, I am writing weekly notes every weekend. I learnt about weekly notes from Thej many years ago.
Currently, I am at a early stage startup. I joined them early this year after quitting my startup Subconscious Compute (more on it some other day). I’ve been building them an EHR platform to collect responses and related APIs though I was hired to do something totally different. First, a summary of what I’ve been doing here.
I started with Vue3 and fastapi and learnt Typescript along the way. It started off well. I managed to launch a demo version in a month. Most of its users are not technical and this was the first time I built a web-system for non-developers. And quickly realized why there is so much fuss about designing UI for non-tech users.
If you are a solo developer or a very small team, DO NOT split your frontend and backend — it creates more than 2x work. For a non-technical leadership (which might think they understand tech), it is a simple ask for adding or changing something trivial at UI, but for you it is migrating your schema, APIs and frontend models. And what is worse, you will make mistakes. You should only change things in one place. DRY and ensuring Single Source of Truth (SSoT).
So I bit the bullet and rewrote it in PHP8 & Codeigniter4. DX is now much better. First, I don’t have to switch between Python and Typescript/Javascript. Second, the system now crashes if someone submit invalid value rather than accepting wrong/empty values. The database schema validates the value. Perhaps I’ll add validator in the form/UI using </> htmx – high power tools for html.
This week
I explored a few server side qr code scanners. The most commonly used one is mchehab/zbar which doesn’t work well when image is tilted or rotated. Another tool rxing-core/rxing: cRustacean Crossing did a better job (it is in Rust). For example, in the following image, zbar detected no qr-code while rxing was able to detect two. Usually folks will do the qr code scanning using browser or camera at phone. There are some use cases where image needs to uploaded to server for QR scanning.
I wrote a Gitlab job to create backup of PostgreSQL server. It runs every 4 hours, uses pg_dump to create a dump, compress it and then Use curl to upload files to S3 bucket.