ELI5: The Sensitivity Conjecture has been solved. What is it about? — Think of it like a Buzzfeed quiz. You answer a bunch of multiple-choice input questions about seemingly random topics ('What's your favourite breakfast cereal?', 'What's your favourite classic movie?', 'What did you want to be when you grew up?', and so on), and you get a response back at the end: usually which Hogwarts house you belong in.

Sensitivity Conjecture resolved — Paul Erdös famously spoke of a book, maintained by God, in which was written the simplest, most beautiful proof of each theorem. The highest compliment Erdös could give a proof was that it “came straight from the book.” In this case, I find it hard to imagine that even God knows how to prove the Sensitivity Conjecture in any simpler way than this.

TLS performance: rustls versus OpenSSL — A TLS library will represent separate sessions in memory while they are in use. How much memory these sessions use will dictate how many sessions can be concurrently terminated on a given server.

Nat Friedman on Twitter — Users with restricted private repos can also choose to make them public. Our understanding of the law does not give us the option to give anyone advance notice of restrictions.

]]>
Mike and Wes debate the merits and aesthetics of Clojure in this week's rowdy language check-in.

ELI5: The Sensitivity Conjecture has been solved. What is it about? — Think of it like a Buzzfeed quiz. You answer a bunch of multiple-choice input questions about seemingly random topics ('What's your favourite breakfast cereal?', 'What's your favourite classic movie?', 'What did you want to be when you grew up?', and so on), and you get a response back at the end: usually which Hogwarts house you belong in.

Sensitivity Conjecture resolved — Paul Erdös famously spoke of a book, maintained by God, in which was written the simplest, most beautiful proof of each theorem. The highest compliment Erdös could give a proof was that it “came straight from the book.” In this case, I find it hard to imagine that even God knows how to prove the Sensitivity Conjecture in any simpler way than this.

TLS performance: rustls versus OpenSSL — A TLS library will represent separate sessions in memory while they are in use. How much memory these sessions use will dictate how many sessions can be concurrently terminated on a given server.

Nat Friedman on Twitter — Users with restricted private repos can also choose to make them public. Our understanding of the law does not give us the option to give anyone advance notice of restrictions.

Plus Mike's battles with fan noise, and why he's doubling down on the eGPU lifestyle.

Links:

Thelio Fan Noise Hack - Mike's Blog — I’ve had a System 76 Thelio for a little over four months now and a consistent issue that I’ve been experiencing is persistent fan noise even when the machine is idle.

Elixir — Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.

Mike on Twitter — Someone tell @wespayne that I hate him ;) He introduced me to @elixirlang and it's like fast #Ruby. I think I might be hooked. Totally failed to get anything done though lol

Elixir vs. Ruby and Phoenix vs. Rails: Detailed Comparison and Use Cases — If you are facing the Elixir vs. Ruby/Phoenix vs. Rails dilemma, the best way to decide is to cater to the needs of your project. In fact, it is even possible to use both technologies in one project by choosing which of them works best for each individual feature. For example, you can implement chats with Elixir Phoenix, and the rest of the code can be written in Ruby on Rails.

Why TypeScript · TypeScript Deep Dive — Types have proven ability to enhance code quality and understandability. However, types have a way of being unnecessarily ceremonious. TypeScript is very particular about keeping the barrier to entry as low as possible.

Solving Problems the Clojure Way - Rafal Dittwald — After overcoming a fear of brackets, the next challenge for would-be Clojurians is less superficial: to stop writing Java (or Javascript, or Haskell...) with Clojure's syntax, and actually start "thinking" in Clojure. It is said that Clojure is a "functional" programming language; there's also talk of "data-driven" programming. What are these things? Are they any good? Why are they good? In this talk, Rafal attempts to distill the particular blend of functional and data-driven programming that makes up "idiomatic Clojure", clarify what it looks like in practise (with real-world examples), and reflect on how Clojure's conventions came to be and how they continue to evolve.

]]>
We react to Apple's big news at WWDC, check in with Mike's explorations of Elixir, and talk some TypeScript.

Plus Mike's battles with fan noise, and why he's doubling down on the eGPU lifestyle.

Links:

Thelio Fan Noise Hack - Mike's Blog — I’ve had a System 76 Thelio for a little over four months now and a consistent issue that I’ve been experiencing is persistent fan noise even when the machine is idle.

Elixir — Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.

Mike on Twitter — Someone tell @wespayne that I hate him ;) He introduced me to @elixirlang and it's like fast #Ruby. I think I might be hooked. Totally failed to get anything done though lol

Elixir vs. Ruby and Phoenix vs. Rails: Detailed Comparison and Use Cases — If you are facing the Elixir vs. Ruby/Phoenix vs. Rails dilemma, the best way to decide is to cater to the needs of your project. In fact, it is even possible to use both technologies in one project by choosing which of them works best for each individual feature. For example, you can implement chats with Elixir Phoenix, and the rest of the code can be written in Ruby on Rails.

Why TypeScript · TypeScript Deep Dive — Types have proven ability to enhance code quality and understandability. However, types have a way of being unnecessarily ceremonious. TypeScript is very particular about keeping the barrier to entry as low as possible.

Solving Problems the Clojure Way - Rafal Dittwald — After overcoming a fear of brackets, the next challenge for would-be Clojurians is less superficial: to stop writing Java (or Javascript, or Haskell...) with Clojure's syntax, and actually start "thinking" in Clojure. It is said that Clojure is a "functional" programming language; there's also talk of "data-driven" programming. What are these things? Are they any good? Why are they good? In this talk, Rafal attempts to distill the particular blend of functional and data-driven programming that makes up "idiomatic Clojure", clarify what it looks like in practise (with real-world examples), and reflect on how Clojure's conventions came to be and how they continue to evolve.

Francesco Cesarini on Twitter — It is with great sadness that I share news of Joe Armstrong's passing away earlier today. Whilst he may no longer be with us, his work has laid the foundation which will be used by generations to come. RIP @joeerl, thank you for inspiring us all.

Goodbye Joe — One of the amazing things Joe mentioned in his texts that was out of the ordinary compared to everything I had read before is that developers would make mistakes and we could not prevent them all. Instead, we had to be able to cope with them. He did not just tell you about a language, he launched you on a trail that taught you how to write entire systems

Goodbye Joe in r/programming — About two weeks ago I came across Armstrong's blog for the first time and poked around at a few posts. I noticed he had recently (in the past year was my impression) discovered TiddlyWiki and rewritten his blog in it. His post talking about his eureka moment with TiddlyWiki had the feel of a very young, excited writer, so I was very surprised to later discover his age. I didn't know about him for very long, but the character described in this post really shined through.

Joe the office mate — Joe would get wildly excited by one "big idea" for weeks at a time. This could be a new idea of his own or a "well known" idea of somebody else's: the Rsync algorithm; public key cryptography; diff algorithms; parsing algorithms; etc. He would take an idea off the shelf, think (and talk!) about it very intensely for a while, and then put it back for a while and dive into the next topic that felt ripe.

The Mad Botter INC on Twitter — Happy #EarthDay! We are awarding a free @system76 #DarterPro to the middle or high school student that can send our CEO @dominucco an innovative idea to@fight climate change using #Linux. To submit please write up a report and diagram & email it to michael@themadbotter.com

]]>
We celebrate the life of Erlang author Dr Joe Armstrong by remembering his many contributions to computer science and unique approach to lifelong learning.

Francesco Cesarini on Twitter — It is with great sadness that I share news of Joe Armstrong's passing away earlier today. Whilst he may no longer be with us, his work has laid the foundation which will be used by generations to come. RIP @joeerl, thank you for inspiring us all.

Goodbye Joe — One of the amazing things Joe mentioned in his texts that was out of the ordinary compared to everything I had read before is that developers would make mistakes and we could not prevent them all. Instead, we had to be able to cope with them. He did not just tell you about a language, he launched you on a trail that taught you how to write entire systems

Goodbye Joe in r/programming — About two weeks ago I came across Armstrong's blog for the first time and poked around at a few posts. I noticed he had recently (in the past year was my impression) discovered TiddlyWiki and rewritten his blog in it. His post talking about his eureka moment with TiddlyWiki had the feel of a very young, excited writer, so I was very surprised to later discover his age. I didn't know about him for very long, but the character described in this post really shined through.

Joe the office mate — Joe would get wildly excited by one "big idea" for weeks at a time. This could be a new idea of his own or a "well known" idea of somebody else's: the Rsync algorithm; public key cryptography; diff algorithms; parsing algorithms; etc. He would take an idea off the shelf, think (and talk!) about it very intensely for a while, and then put it back for a while and dive into the next topic that felt ripe.

The Mad Botter INC on Twitter — Happy #EarthDay! We are awarding a free @system76 #DarterPro to the middle or high school student that can send our CEO @dominucco an innovative idea to@fight climate change using #Linux. To submit please write up a report and diagram & email it to michael@themadbotter.com

TechSNAP Episode 388: The One About eBPF — eBPF is a technology that you’re going to be hearing more and more about. It powers low-overhead custom analysis tools, handles network security in a containerized world, and powers tools you use every day.

Feedback from Tom — I don't think people need to worry about Google's/Chrome's dominance the way we did about IE6. It's not just that Chrome is cross-platform and open-source, and (with Chrome Web Apps well behind us) sticks to the standards in a way that IE did not. Practically speaking, we must keep in mind that the browser is locked down on iOS in a way that didn't exist (and wouldn't have been tolerated) back then. This means that no matter how popular Chrome becomes, an importnat portion of mobile users must use Apple's browser (engine). But also, now matter how much effort, money Google puts into their web initiatives and in spite of their browser share dominance, they can lose big as they did with web components and webasm. That's the beauty of a standards based platform.

Inside Clojure: Journal 2019.10 — Some tests I wrote were posted on Reddit this week, which was unexpected. The one thing in there that I think is worth thinking about is how to write tests that validate returns while also being open to accretion.

QuickCheck: Automatic testing of Haskell programs — QuickCheck is a library for random testing of program properties. The programmer provides a specification of the program, in the form of properties which functions should satisfy, and QuickCheck then tests that the properties hold in a large number of randomly generated cases.

Darter Pro Review - dominickm.com — My continuing adventures in Linux hardware and working on Linux as a software developer has lead me to check out the System 76 Darter Pro.

code-server: Run VS Code on a remote server. — Code on your Chromebook, tablet, and laptop with a consistent dev environment, take advantage of large cloud servers to speed up tests, compilations, downloads, and
preserve battery life when you're on the go.

]]>
Mike has salvaged a success story from the dumpster fire of the Google+ shutdown, and Wes shares his grief about brittle and repetitive unit tests.

TechSNAP Episode 388: The One About eBPF — eBPF is a technology that you’re going to be hearing more and more about. It powers low-overhead custom analysis tools, handles network security in a containerized world, and powers tools you use every day.

Feedback from Tom — I don't think people need to worry about Google's/Chrome's dominance the way we did about IE6. It's not just that Chrome is cross-platform and open-source, and (with Chrome Web Apps well behind us) sticks to the standards in a way that IE did not. Practically speaking, we must keep in mind that the browser is locked down on iOS in a way that didn't exist (and wouldn't have been tolerated) back then. This means that no matter how popular Chrome becomes, an importnat portion of mobile users must use Apple's browser (engine). But also, now matter how much effort, money Google puts into their web initiatives and in spite of their browser share dominance, they can lose big as they did with web components and webasm. That's the beauty of a standards based platform.

Inside Clojure: Journal 2019.10 — Some tests I wrote were posted on Reddit this week, which was unexpected. The one thing in there that I think is worth thinking about is how to write tests that validate returns while also being open to accretion.

QuickCheck: Automatic testing of Haskell programs — QuickCheck is a library for random testing of program properties. The programmer provides a specification of the program, in the form of properties which functions should satisfy, and QuickCheck then tests that the properties hold in a large number of randomly generated cases.

Darter Pro Review - dominickm.com — My continuing adventures in Linux hardware and working on Linux as a software developer has lead me to check out the System 76 Darter Pro.

code-server: Run VS Code on a remote server. — Code on your Chromebook, tablet, and laptop with a consistent dev environment, take advantage of large cloud servers to speed up tests, compilations, downloads, and
preserve battery life when you're on the go.

rbenv: Groom your app’s Ruby environment — Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production. Put rbenv to work with Bundler for painless Ruby upgrades and bulletproof deployments.

Serverless Feedback from TomEnom — One thing you left out of your definition of serverless (IMO) that I find important is that it scales to zero. So if your lambda/function is not being used it incurs zero cost. I guess you could say that that is where serverless becomes literal.

Install openSUSE on Digital Ocean — Unfortunately, Digital does not at present have an option for an openSUSE image. That doesn’t mean that you can’t use openSUSE on Digital Ocean, but it is going to be a little more work than most common Linux distributions.

What is Pika? — Pika's mission is to make modern JavaScript more accessible by making it easier to find, publish, install, and use modern packages on npm.

Introducing: pika/pack — If you’ve recently published a package to npm, you know how much work goes into a modern build process. Transpile JavaScript, compile TypeScript, convert ES Module syntax (ESM) to Common.js, configure your package.json manifest… and that’s just the basics.

rbenv: Groom your app’s Ruby environment — Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production. Put rbenv to work with Bundler for painless Ruby upgrades and bulletproof deployments.

Serverless Feedback from TomEnom — One thing you left out of your definition of serverless (IMO) that I find important is that it scales to zero. So if your lambda/function is not being used it incurs zero cost. I guess you could say that that is where serverless becomes literal.

Install openSUSE on Digital Ocean — Unfortunately, Digital does not at present have an option for an openSUSE image. That doesn’t mean that you can’t use openSUSE on Digital Ocean, but it is going to be a little more work than most common Linux distributions.

What is Pika? — Pika's mission is to make modern JavaScript more accessible by making it easier to find, publish, install, and use modern packages on npm.

Introducing: pika/pack — If you’ve recently published a package to npm, you know how much work goes into a modern build process. Transpile JavaScript, compile TypeScript, convert ES Module syntax (ESM) to Common.js, configure your package.json manifest… and that’s just the basics.

DHH on Twitter (1) — Treating the web as a “compile target” washes away much of what‘s so special about it. Reducing the web to just another closed platform, like Windows or iOS, is to be blind to its truly unique shape and promise. Let’s cherish what made the web special, not pave it over.

DHH on Twitter (2) — Web Assembly is exciting in a lot of ways. This isn’t one of them. Hopefully we’ll keep HTML/CSS/JS readable, tinkerable, teachable for all the work that doesn’t need Web Assembly.

DHH on Twitter (1) — Treating the web as a “compile target” washes away much of what‘s so special about it. Reducing the web to just another closed platform, like Windows or iOS, is to be blind to its truly unique shape and promise. Let’s cherish what made the web special, not pave it over.

DHH on Twitter (2) — Web Assembly is exciting in a lot of ways. This isn’t one of them. Hopefully we’ll keep HTML/CSS/JS readable, tinkerable, teachable for all the work that doesn’t need Web Assembly.