Joined October 2020

Imagine if someone summoned a magical genie and wished for a perfect code editor. Since it is perfect, does that mean it provides you everything you ever need to code the optimal solution? Or since it is perfect, does it enable you to accomplish the coding aspect instantly?

Thus, the paradox:

Does the perfect code editor mean that you spend nearly 100% of your work time using the editor or does it mean you spend nearly 0% of your work time using the editor?

What metric can we even use to measure the perfect code editor? How will we know if and when we have it? Are we close to reaching that point?

Read More

This week’s news, or “news,” about the US Treasury’s ability, or willingness, or just trial-balloon troll-suggestion to mint a one trillion dollar ($1,000,000,000,000) platinum coin in order to extend the country’s debt-limit reminded me of some other monetary reading I encountered, during the sweltering summer, when it first became clear to many that the greatest impediment to any new American infrastructure bill wasn’t going to be the debt-ceiling but the Congressional floor.

That reading, which I accomplished while preparing lunch with the help of my favorite infrastructure, namely electricity, was of a transcript of a speech given by one Christopher J. Waller, a freshly-minted governor of the United States’ 51st and most powerful state, the Federal Reserve.

Read More

Google’s Android operating system is a privacy nightmare, a new study of cellphone data collection finds. Yet it turns out Apple’s iOS is a privacy nightmare too.

“Both iOS and Google Android share data with Apple/Google on average every 4.5 [minutes],” a research paper published last week by Trinity College in Dublin says. “The ‘essential’ data collection is extensive, and likely at odds with reasonable user expectations.”

There are many guides and introductions to Rust.

This one is something different: it is intended for the experienced programmer who already knows many other programming languages.

I try to be comprehensive enough to be a starting point for any area of Rust, but to avoid going into too much detail except where things are not as you might expect.

Also this guide is not entirely free of opinion, including recommendations of libraries (crates), tooling, etc.

I regularly hear people asking which programming language to learn, and then reeling off a list of very similar languages (“Should I learn Java, C#, C++, Python, or Ruby?”). In response I usually tell them that it doesn’t really matter, as long as they get started. There are fundamentals behind them.

OK, this is a post I’ve been planning for months, I think? Several past drafts have been injured and killed before I gave birth to this one, the succesful one. So, let’s jump straight into it: I wanna talk about GNU.

GNU. Not the FSF, not RMS… Why are all these three letter acronyms? Are all of these cover operations of some three letter agency? I hope saying that doesn’t get me into any trouble, so you better read my post before I suddenly disappear… Just kidding! But I will address the FSF and RMS some time in the future… Now, let’s just focus on the GNU.

This comes from a cultural thing that has bugged me for very long time. The Anglo FOSS community is way over this kind of stuff, except for the few people who still listen to the BS the FSF spits out… But the Spanish community loves the FSF and RMS so much it’s unnerving. Actually, I almost was about to write this post in Spanish, but then I realized that I enjoy writing in English way more than in my native language… for some reason?

So, this post is to cut off the falsehoods, the half truths, the weird propaganda around GNU. Some of it comes from the FSF, but most of it actually comes from their fans. This is not just a “culture war,” but this has actual, tangible technological consequences… and that’s what bothers me at most.

Let’s get into this, shall we?

And, by the way, if someone at the FSF is reading… Please, no emails? Thanks! We are acquainted already, and last time wasn’t very pleasant, OK? Nope, I will never say “GNU/Linux,” because…

GNU is just a userland.

But as in all good stories, there’s a lot of nuance, a lot of history… and people who defend the “GNU/Linux” name aren’t just idiots… In my opinion they confuse some historical accidents with what really goes on in a Linux system…

Read More

The Apple IIgs came out on September 15, 1986. It featured a 2.8 MHz WDC 65816 CPU (the same one that powered the SNES and other similar computers of that era, a 16-bit CPU with 24-bit addressing), 256k or 1MB RAM (upgradable to 8 MB), and an Ensoniq 8-bit stereo synth (which was a welcome upgrade from the bit-speaker of the Apple II family). For reference, the original Apple II family was built around the 6502 CPU (8 bit, 16-bit addressing), and had at most 1 MB of RAM in the IIe and II+. However, it was not until 1988 that Apple had released an operating system for the new computer that was able to meaningfully leverage the newer hardware. GS/OS was written in native 16-bit code, and more importantly, was intended to be used via its new shiny GUI.

This article is about how I built a tiny ‘text editor’ for the IIgs, from start to finish.

Read More

Pen is a statically typed functional programming language for application programming with system injection. Its design is heavily inspired by the Go programming language and many functional programming languages like Haskell and Koka.

Mobile app store metrics from NetBlocks confirm the removal of a popular opposition election tracking app from the Apple App Store and Google Play Store. The incident comes as Russia holds parliamentary elections from 17 to 19 September 2021.

The strategic voting application devised by jailed opposition leader Alexei Navalny, titled simply “Navalny”, is now unavailable on the two leading Russian app markets but remains online in other observed countries.

What if I told you there was a way to instantly increase your email deliverability, website accessibility, the number of social media posts, and the customer perception of your brand? We just did exactly that by switching our primary domain from spot.xyz to spotvirtual.com.

Initially, the allure of a four-letter domain was strong. The .xyz extension was also fitting–Spot being a 3d virtual workplace in the browser–as it pertains to the multi-dimensional nature of our product. Moreover, surely choosing the same top-level domain as Google’s parent company, Alphabet, has been using for years is a relatively safe choice for our application? Unsurprisingly, this turns out to not be the case.

Not all top-level domains (TLDs) are created equal and some are much worse than others. We suspected as much, but we didn’t know how to quantify the risk when we were making this decision. In this post we lay out the impacts that having a .xyz was having on our business and hope to simplify the decision for other companies in the future.

Read More

Given our work with security, we do everything we can to protect our hardware. Even if it means using glittery nail polish. We’ll show you one of our more creative and fun yet effective methods for tamper protecting computers.

KDL is a document language with xml-like semantics that looks like you’re invoking a bunch of CLI commands! It’s meant to be used both as a serialization format and a configuration language, much like JSON, YAML, or XML.

There’s a living specification, as well as various implementations. You can also check out the FAQ to answer all your burning questions!

In addition to a spec for KDL itself, there are also standard specs for a KDL Query Language based on CSS selectors, and a KDL Schema Language loosely based on JSON Schema.

The language is based on SDLang, with a number of modifications and clarifications on its syntax and behavior.

The current version of the KDL spec is 1.0.0.

Read More

In the late 80’s, as a child, I sat in front of the TV with my grandmother every evening and we watched the Tagesschau on ARD together. This was like a ritual. We both finished our daily chores and ate together, then the news. My grandmother attached great importance to my being educated not only politically but also socially. Whether it was war reporting, social conflicts, demonstrations or political developments, I was allowed to ask questions on any topic, which she then answered to the best of her knowledge. In the process, however, I also learned something else. In all these complicated times, you can rely on the Tagesschau, because it always tells the truth, completely neutrally.

Read More

The Australian government has new laws on the books to hack your computer, your online accounts, and just about any piece of technology and networks you come into contact with. It can happen without a warrant and without you ever knowing. That’s just the start of it. Outraged? Good.

Earlier in August, the Parliamentary Joint Committee on Intelligence and Security (PJCIS) released a report on the Surveillance Legislation Amendment (Identify and Disrupt) Bill 2020 recommending it be passed with significant changes. Most notably, they recommended narrowing the scope of the new powers introduced by the bill, by limiting the criteria for issuing new warrants, requiring approval from a superior court judge and calling for stronger oversight and review mechanisms.

Read More

When Mark Zuckerburg unveiled a new “privacy-focused vision” for Facebook in March 2019, he cited the company’s global messaging service, WhatsApp, as a model. Acknowledging that “we don’t currently have a strong reputation for building privacy protective services,” the Facebook CEO wrote that “I believe the future of communication will increasingly shift to private, encrypted services where people can be confident what they say to each other stays secure and their messages and content won’t stick around forever. This is the future I hope we will help bring about. We plan to build this the way we’ve developed WhatsApp.”

Read More

I have been using the awesome window manager for 10 years. It is a tiling window manager, configurable and extendable with the Lua language. Using a general-purpose programming language to configure every aspect is a double-edged sword. Due to laziness and the apparent difficulty of adapting my configuration—about 3000 lines—to newer releases, I was stuck with the 3.4 version, whose last release is from 2013.

It was time for a rewrite. Instead, I have switched to the i3 window manager, lured by the possibility to migrate to Wayland and Sway later with minimal pain. Using an embedded interpreter for configuration is not as important to me as it was in the past: it brings both complexity and brittleness.

Read More

Software piracy is the act of distributing software that one does not have the rights. For example, if I share a copy of Adobe Photoshop with you, then that’s obviously software piracy because I don’t have the rights to distribbute that software. Probably only Adobe does. I didn’t author it and I don’t own the copyrights to it.

What about software that was written and published specifically to be allowed to be copied, such as software published under the General Public License? The GPL specifically says that anyone can copy or redistribute the software:

if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

It would seem clear as day that you therefore cannot pirate GPL software because anyone has the right to copy it. For most of the decades of involvement I’ve had in the Linux community this seemed well understood, but recently things are getting weird.

Read More

Apple announced today that it would “take additional time over the coming months to collect input and make improvements” to a program that will weaken privacy and security on iPhones and other products. EFF is pleased Apple is now listening to the concerns of customers, researchers, civil liberties organizations, human rights activists, LGBTQ people, youth representatives, and other groups, about the dangers posed by its phone scanning tools. But the company must go further than just listening, and drop its plans to put a backdoor into its encryption entirely.

Read More