Markdoc

Came across Markdoc today, made by Stripe.

Stripe is know for its excellent developer documentation – well it has to be, its probably the most important feature for the company. If you go through their documentation is not just a good reference guide, but they also allow you to interact with it to get a feel on how to use the API effectively.

Stripe built their own content authoring system and have now released this as an open source project. It supports Markdown which makes it a joy to use this tool. The tool looks great too.

The tool is so easy and pleasing to use, that I have been using this to simply write my notes 😊

One of the best CLI utility I have used in a while

Having worked on Linux early in my career, it is hard to get away from the cli. I continue using cli as much as I can and am constantly on the look out of tools that can make my life easier.

Last week, I came across The Fuck utility. This is literally one of the best utility I have installed and used in a very long time.

I learned typing as a school subject when I was 16. Yes, I can type fast, but when it comes to cli commands, I’m error prone. And every time I type in a command that doesn’t work – 90% of the time its because of a spelling mistake or a missing character. I would literally blurt out “fuck” in my mind and roll my eyes and in some cases out of frustration I would type in “fuck” multiple times.

Well now, I literally type fuck and it auto corrects my command and voilà.

It works for most of the commands I use on a daily basis and my usage isn’t vast. I mainly use GitHub, Docker, node.js, curl, etc. Here is a demo from their GitHub page:

No. I do not use CLI for email.

Microplastics are confirmed in human blood for the first time

Brad Bergan for Interesting Engineering:

These tiny particles can move freely throughout the body, and become stuck in organs — which could cause significant health issues. But now that we know, scientists are on watch to understand the full scope of effects — both short- and long-term, on human health.

It’s an unnerving discovery, but we’re all in this together as scientists rush to explore the potential health effects.

fuck.

Weekly Digest 03/25

Apple developing new 15-inch MacBook Air that could come in 2023:

According to DSCC supply chain information, Apple is planning a new variant of the MacBook Air for 2023 that will feature a screen size of around 15-inches. The company is also reportedly planning to increase the display of the current 13.3-inch MacBook Air to something that is “slightly larger” but still between 13-inches and 14-inches.

💻

Considering the new MacBook Pros with the notch and the thin bezels, I think the new MacBook Air probably may come in 13″ & 15″ or 14″ & 16″. My bet is on the latter. This is a good move by Apple.

During the pandemic, my son was force to be virtual in 2nd grade and he was using a MacBook Air. The screen size although decent, for him it always felt not enough. Making a larger screen would be perfect for school.

And of course I’m looking for more colorful MacBook Air’s these things are begging to be personalized.


An Introduction to Generics:

Generics are a big new language feature in 1.18. These new language changes required a large amount of new code that has not had significant testing in production settings. That will only happen as more people write and use generic code. We believe that this feature is well implemented and high quality. However, unlike most aspects of Go, we can’t back up that belief with real world experience. Therefore, while we encourage the use of generics where it makes sense, please use appropriate caution when deploying generic code in production.

That caution aside, we’re excited to have generics available, and we hope that they will make Go programmers more productive.

👨🏻‍💻

I like this blog post. Great explanation of a new programming feature and ending it with an honest request to the community to use generics to help make it better over time.


The Four Innovation Phases of Netflix’s Trillions Scale Real-time Data Infrastructure:

My name is Zhenzhong Xu. I joined Netflix in 2015 as a founding engineer on the Real-time Data Infrastructure team and later led the Stream Processing Engines team. I developed an interest in real-time data in the early 2010s, and ever since believe there is much value yet to be uncovered.

📺

This was one of those articles that I shared after reading a few paragraphs. Zhenzhong talk about the four phases of real-time data infrastructure’s journey in Netflix. I enjoyed reading this cause every time Netflix had a business motivation they had unique challenges on the way, the bets they played and the learnings they had along the way have clearly shaped Netflix to what they are today.


TUIC:

TUIC was designed on the basis of the QUIC protocol from the very beginning. It can make full use of the advantages brought by QUIC. You can find more information about the TUIC protocol here.

👨🏻‍💻

This is pretty cool. Something to play with for the weekend 🙂


Excited about this:

Go 1.18 released with Generics support

Go 1.18 isn now generally available. This release supports generics which a lot of us have been waiting for. This is still the very first version to support generics and I believe this feature will gain more support and updates in the upcoming features.

From the Go blog:

In Go 1.18, we’re introducing new support for generic code using parameterized types. Supporting generics has been Go’s most often requested feature, and we’re proud to deliver the generic support that the majority of users need today. Subsequent releases will provide additional support for some of the more complicated generic use cases. We encourage you to get to know this new feature using our generics tutorial, and to explore the best ways to use generics to optimize and simplify your code today. The release notes have more details about using generics in Go 1.18.

Go Tutorial does an excellent job explaining how to use generics. I think they did a good job defining this functionally. The code is so much readable.

// SumIntsOrFloats sums the values of map m. It supports both int64 and float64
// as types for map values.
func SumIntsOrFloats[K comparable, V int64 | float64](m map[K]V) V {
    var s V
    for _, v := range m {
        s += v
    }
    return s
}

The [K comparable, V int64 | float64] tells me that you can either send either int or float values to this function.

It makes me wonder if there are product managers for programming languages or not? And, if yes, would love to talk to someone about their experience.

Star”bucks”!!!

With the earnings season in full swing, this tweet just blew my mind:

JP Koning further writes about this on his blog:

Starbucks has around $1.6 billion in stored value card liabilities outstanding. This represents the sum of all physical gift cards held in customer’s wallets as well as the digital value of electronic balances held in the Starbucks Mobile App.* It amounts to ~6% of all of the company’s liabilities.

This is a pretty incredible number. Stored value card liabilities are the money that you, oh loyal Starbucks customer, use to buy coffee. What you might not realize is that these balances  simultaneously function as a loan to Starbucks. Starbucks doesn’t pay any interest on balances held in the Starbucks app or gift cards. You, the loyal customer, are providing the company with free debt.

And I thought Starbucks sold coffee (average coffee). The more I read, it feels like they are a bank (unregulated) where we have loaned them money for an interest rate of a free coffee every 120 points.

Let that sink in.

The New York Times buys Wordle

New York Times buy Wordle:

Wordle was acquired from its creator, Josh Wardle, a software engineer in Brooklyn, for a price “in the low seven figures,” The Times said. The company said the game would initially remain free to new and existing players.

I’m very happy for Josh Wardle, especially after the twitter-verse got behind him to take down all the copy cats, but this news hits hard. Guess we will find out how much we pay to play this game once a day.

The 5G Airline Controversy: What is it about?

If you heard “5G”, “airlines” and “problem” and trying to figure out what is going on. You are not alone. James Fallows wrote a wonderful FAQ style article explaining what’s happening between the airlines and the wireless companies who operate 5G.

Short version: 5G versus the airlines is potentially a real issue, rather than a bogus threat. But it’s likely that the parties involved will work out adjustments soon. Which is a good thing.

Head over to the link to understand what exactly happened. I think the regulators have their hands full to read and probably re-write the rules.

The secret of the macOS Monterey network quality tool

Dan Petrov found a cool new utility:

It seems that Apple has quietly added a new tool in macOS Monterey for measuring your device’s Internet connectivity quality. You can simply call the executable networkQuality, which executes the following tests:

– Upload/download capacity (your Tx/Rx bandwidth essentially)
– Upload/download flows, this seems to be the number of test packets used for the responsiveness tests
– Upload/download responsiveness measured in Roundtrips Per Minute (RPM), which according to Apple, is the number of sequential round-trips, or transactions, a network can do in one minute under normal working conditions

The capacity is roughly the same metric you could expect from tools like Fast.com from Netflix, or OOkla’s Speedtest.

Go to your terminal on your MacBook running macOS Monterey and type in networkQuality and hit enter and viola:

➜ ~ networkQuality
==== SUMMARY ====
Upload capacity: 1.136 Mbps
Download capacity: 204.729 Mbps
Upload flows: 16
Download flows: 12
Responsiveness: Medium (544 RPM)

Things to read for Week 44

Github gets a new CEO

GitHub CEO Nat Friedman is stepping down from his role on November 15 to become the Chairman Emeritus of the Microsoft-owned service. Thomas Dohmke, who only recently became GitHub’s chief product officer, will step into the CEO role.

Great to see a product person stepping into the shoes of a CEO.


Tesla is letting non-Tesla EVs use its Supercharger network for the first time

Tesla’s Supercharger network is often held up as the best possible example of an EV charging network: fast, reliable, and plentiful. But Tesla’s network is also exclusive to Tesla owners, meaning someone driving a Volkswagen or Ford EV wouldn’t be able to use it. But that’s now starting to change.

So how long until we start hearing about standardized car chargers?


How to design a good API and why it matters:

If you find yourself in charge of building an API for your application and need a good reference, this is a great start.


Toxiproxy

Toxiproxy is a framework for simulating network conditions. It’s made specifically to work in testing, CI and development environments, supporting deterministic tampering with connections, but with support for randomized chaos and customization.

This is a good library to have in your arsenal whether you are an Engineer, PM or QA. Testing on different network conditions is important.


Why you should develop a UX roadmap:

Thinking ahead to next quarter, consider collaborating with your fellow designers, researchers, and content strategists to develop a UX roadmap. This will prompt you to review potential work against user and business goals and prioritize the most important items. From there, you can share your draft with key stakeholders and see if they agree. Developing and refining this roadmap will help you become more strategic and focused, while helping you develop your collective perspective and voice.

Its not easy to change the culture of how things are built. It’s hard but its important to start doing this.


6 things a Product Manager is not:

4. A product manager isn’t an agile fascist

Agile and lean are all-the-rage and de rigueur in modern software development. The next statement will probably be an unfashionable one but agile isn’t the only way to build web products and waterfall isn’t evil. Product managers shouldn’t be wedded to cult agile.

This made me chuckle. Good read.


First companies and now cities battling for top talent. Good times.


Prioritize health over work. It’s important.