Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
3
A small standard library means an explosion in transitive dependencies. A more comprehensive standard library helps you minimize dependencies. Don't misunderstand me: in a real-world project, it is practically impossible to have zero dependencies. Armin Ronacher called for a vibe shift among programmers and I think that this actually exists already. Everyone I speak to on this topic has agreed that minimizing dependencies is ideal. Rust and JavaScript, with their incredibly minimal standard libraries, work against this ideal. Go, Python, Java, and C# in contrast have a decent standard library, which helps minimize the explosion of transitive dependencies. Examples I think the standard library should reasonably include: JSON, CSV, and Parquet support HTTP/2 support (which includes TLS, compression, random number generation, etc.) Support for asynchronous IO A logging abstraction A SQL client abstraction Key abstract data types (BTrees, hashmaps, sets, and growable arrays) Utilities for...
yesterday

More from Notes on software development

Embedding Python in Rust (for tests)

This is an external post of mine. Click here if you are not redirected.

4 days ago 16 votes
Logical replication in Postgres: Basics

This is an external post of mine. Click here if you are not redirected.

a week ago 21 votes
How I run a coffee club

I started the NYC Systems Coffee Club in December of 2023. It's gone pretty well! I regularly get around 20 people each month. You bring a drink if you feel like it and you hang out with people for an hour or two. There is no agenda, there is no speaker, there is no structure. The only "structure" is that when the circle of people talking to each other seems gets too big, I break the circle up into two smaller circles so we can get more conversations going. People tend to talk in a little circle and then move around over time. It's basically no different than a happy hour except it is over a non-alcoholic drink and it's in the morning. All I have to do as the organizer is periodically tell people about the Google Form to fill out. I got people to sign up to the list by posting about this on Twitter and LinkedIn. And then once a month I send an email bcc-ing everyone on the list and ask them to respond for an invite. The first 20 people to respond get a calendar invite. I mention all of this because people ask how they can start a coffee club in their city. They ask how it works. But it's very simple! One of the least-effortful ways to bring together people in your city. If your city does not have indoor public spaces, you could use a food court, or a cafe, or a park during months where it is warm. For example, the Cobble Hill Computer Coffee Club is one that meets outdoors at a park. Good luck! :) How I run a coffee club, a short guide for others who might be interested in running one. It's very simple!https://t.co/UgRWDQOA3v pic.twitter.com/5wYrLW7u6D — Phil Eaton (@eatonphil) December 31, 2024

3 weeks ago 33 votes
Picking up volleyball in NYC with Goodrec and New York Urban

I was so intimidated to go at first, but it is in fact easy and fun to start playing beginner volleyball in New York. The people are so friendly and welcoming that it has been easy to keep playing consistently every week since I started for the first time this August. It's been a great workout and a great way to make friends! The two platforms I've used to find volleyball games are Goodrec and New York Urban. While these platforms may also offer classes and leagues, I mostly use them to play "pickup" games. Pickup games are where you show up and join (or get assigned to) a team to play for an hour or two. Easy to go on your own or with friends. I'm not an expert! My only hope with this post is that maybe it makes trying out volleyball in New York feel a little less intimidating for you! Goodrec With Goodrec you have to use their mobile app. Beginner tier is called "social" on Goodrec. So browse available games until you find one at the level you want to play. You enroll in (buy a place in) sessions individually. Sessions are between 90-120 minutes long. They ask you not to arrive more than 10 minutes early at the gym. When you arrive you tell the gym managers (usually in a desk up front somewhere) you're there for Goodrec and the tier (in case the gym has multiple level games going on at the same time). Then you wait until the Goodrec "host" arrives and they will organize everyone into teams. Goodrec hosts are players who volunteer to organize the games. They'll explain the rules of the game (makes Goodrec very good for beginners) and otherwise help you out. Always say thank you to your host! New York Urban With New York Urban, pickup sessions are called "open play". There is no mobile app, you just use the website to purchase a spot in a session. The sessions are longer and cheaper than Goodrec. But there is no host; players self-organize. The options are more limited too. You play at one of four high schools on either a Friday night or on Sunday. And session slots tend to sell out much more quickly than with Goodrec. Big City Volleyball You can also check out Big City Volleyball but I haven't used it yet. Volo I haven't ever done Volo but I think I've heard it described as "beer league". That even some of the beginner tier sessions with Goodrec and New York Urban are more competitive. But also, Volo is built around leagues so you have to get the timing right. Goodrec's and New York Urban's pickup games make it easy to get started playing any time of year. Making friends It was super awkward to go at first! I went by myself. I didn't know what I was doing. I couldn't remember, and didn't know, many rules. I didn't have court shoes or knee pads. But the Goodrec host system is particularly great for bringing beginners in and making them feel welcome. You have a great time even if you're terrible. The first game I went to, I tried to hang out afterward to meet people. But people either came with their SO or with their friends or by themselves so they all just left immediately or hung out in their group. So you can't just go once and expect to make friends immediately. But if you keep going at the same place and time regularly week over week, you'll see familiar faces. Maybe half the people I play with each week are regulars. If you're friendly you'll start making friends with these people and eventually start going out to bars with them after the games. Improving Even if you find yourself embarrassingly bad at first, just keep going! I'm 29, 6'1, 190lbs and from observation the past 5 months, age, height, and weight have a very indirect relation to playing ability. Most of the people who play are self-taught, especially at the lower tiers I've played at. But some people played for the school team in high school or college. These people are fun to play with and you can learn a lot from them. Most people who are self-taught seem to watch YouTube videos like Coach Donny, helpful for learning how to serve, set, block, etc. Or they take "clinics" (classes) with Goodrec or other platforms. (I have no idea about these, I've never done them before.) At first I played 2 hours a week and I was completely exhausted after the session. Over time it got easier so I started playing 2-3 sessions a week (6-9-ish hours). With practice and consistency (after about 3-4 months), I started playing Intermediate tier with Goodrec and New York Urban. And I don't think I'll play Beginner/Social at all anymore. I still primarily play for fun and for the workout and to meet people. But it's also fun to get better! I played with one person much better than myself in an Intermediate session one time and he mentioned he will probably stop playing Intermediate and only play High Intermediate. He mentioned you get better when you keep pushing yourself to play with better and better players. Good advice!

a month ago 32 votes

More in technology

Humanities Crash Course: Week 4

I’m undertaking a year-long crash course in the humanities. These are my notes for week 4. Following Ted Gioia’s curriculum, this week I read the Analects of Confucius. As I did last week, ChatGPT helped me select a movie to complement this reading – albeit indirectly. Readings I’d heard of Confucius and occasionally seen some of his sayings, but hadn’t read the Analects. It wasn’t easy. The text consists of pithy statements attributed to Confucius or his disciples. It’s fragmentary and non-linear. I suspect much nuance is lost in translation. (I used the Penguin edition translated and commented by Annping Chin.) It was produced in and for a different context. (Chin’s notes helped.) That said, themes emerged. Confucius values “humaneness”: a way of being and doing good. As with Socrates, what this might mean is illustrated through examples and interactions with others (primarily, disciples.) The humane person aspires to do good for others – often at their own expense. The individual’s relationship to social structures is perhaps the book’s central concern: Master You [Youzi] said, “It is rare for a person who is filial to his parents and respectful to his elders to be inclined to transgress against his superiors. And it has never happened that a person who is not inclined to transgress against his superiors is inclined to create chaos. A gentleman looks after the roots. With the roots firmly established, a moral way will grow. Is it not true then that being filial to one’s parents and being respectful to one’s elders are the roots of one’s humanity [ren]? Individuals should cultivate wisdom and knowledge. The following statement might well be a raison d’etre for this crash course: The Master said, “I suppose there are those who try to innovate without having acquired knowledge first. I am not one of those. I use my ears well and widely, and I choose what is good and follow it. I use my eyes well and widely and I retain what I observe. This is the next-best kind of knowledge.” Audiovisual Music: Gioia recommended The Hugo Masters, an anthology of Classical Chinese music. Apple Music has volume one, which focuses on bowed instruments. I was surprised by the similarities between this music and that of the old American west. (Perhaps it’s recency bias from Ry Cooder’s PARIS: TEXAS soundtrack.) Art: Gioia recommended a website that highlights ancient Chinese arts and crafts. I’m sorry to say I gave this only minimal attention. My first “fail” in the crash course. Cinema: as I did last week, I asked ChatGPT for movies I could pair with this week’s reading. Specifically, I asked for movies that reflected Confucian values. It gave me the following list: “Ikiru” (1952) - Akira Kurosawa “To Kill a Mockingbird” (1962) - Robert Mulligan “The Family” (1915) - Fei Mu “Tokyo Story” (1953) - Yasujirō Ozu “It’s a Wonderful Life” (1946) - Frank Capra “Rashomon” (1950) - Akira Kurosawa “The Joy Luck Club” (1993) - Wayne Wang “The Godfather” (1972) - Francis Ford Coppola I gravitated towards (3) because it seemed a) older and b) directed by a Chinese director. Alas, THE FAMILY is a hallucination. While Fei Mu is indeed an important Chinese director, he didn’t direct this film – indeed, he was nine in 1915. Sigh. But I hadn’t heard of Mu before, and this mention led me to discover another film of his, SPRING IN A SMALL TOWN. It’s available in its entirety (with English subtitles) in YouTube: As with many older films, it moves glacially. It also felt more staged than contemporary Western films. (Compare its cinematography with CITIZEN KANE, which is seven years older.) That said, it does reflect Confucian values, at least as I understood them. Two short lectures by Prof. Christopher Rea help contextualize the film and explain its significance: YouTube is a source of endless treasures for someone driven to self-education. Reflections Confucius’s approach is what we might call “conservative”: social and filial responsibilities overrule individual desires. Rather than rethinking old ways of being, we’re encouraged to play our assigned roles without complaint.Being good means fulfilling established duties toward family and community. (“With the roots firmly established, a moral way will grow.”) In the movie, Yuwen sacrifices her love for Zhichen because of her commitment as Liyan‘a wife. In a modern Western context, this feels quaint. For us, “lived experience” trumps older “received” knowledge, especially when dealing with social relations. We wince at the notion of having “superiors.” Confucius would say we’ve lost sight of the roots. Or worse, we see them but believe they’re rotten and must be hacked out. But our individual selves don’t amount to much; it’s the broader context that matters. Our duty is keeping the context healthy and moving forward. Self-effacement is especially important in times of tumultuous change. The movie is set after the end of the Sino-Japanese war and during the Chinese revolution. The ruins we see onscreen are the result of one way of life giving way to another. Mu seems to say the way forward lies in looking to traditional structures – a radical statement in a time of revolution. While not experiencing outright war, many of us are living through tumultuous change. Technology (especially AI) is upturning long-standing ways of being. Politics is in turmoil, as are global and local economies. What’s the best way of living under such conditions? Confucius would encourage us to return to our roots and value the context above ourselves. It’s a worldview that calls for trust, humility, and self-sacrifice. A tall ask in our individualistic times.

15 hours ago 3 votes
Playing politics is how senior engineers protect their team

When I write about doing politically valuable work in big tech companies, I often get comments accusing me of trying to get ahead at the…

23 hours ago 2 votes
Show “nobody wanted” was the second-most-watched show on Disney+

Katie Campione writing for Deadline with a very long headline: Broadcast Was “Surprisingly Resilient” in 2024 Amid Production Declines, but Streaming Still Leads the Pack; ‘Fool Me Once’ Led TV Last Year, Luminate Says big IP franchises were still the best performing series on Disney+, and

2 hours ago 1 votes
The future of making, Made in India: Introducing the Arduino UNO Ek R4

We are proud to announce the Made-in-India UNO Ek R4! Available exclusively in India in both WiFi and Minima variants, it is born to meet the needs of the country’s growing maker and innovation ecosystem, by combining all the powerful features of the UNO R4 with the benefits of local manufacturing, enhanced availability, and dedicated […] The post The future of making, Made in India: Introducing the Arduino UNO Ek R4 appeared first on Arduino Blog.

yesterday 3 votes
Working fast and slow

Some engineers work very consistently, putting in the same hours every day and getting out the same amount of work. I don’t. Some days I…

yesterday 2 votes