---
title: "Building a Windows app in 3KB"
publication: "StatusCode Weekly"
issue: 309
published_at: "2021-03-24"
canonical_url: "https://weekly.statuscode.com/issues/309"
---

Plus bye TLS 1.0 and 1.1, hello Crystal 1.0, and an illustrated guide to Ethernet and IP networking. |        

#309 — March 24, 2021 

[Web Version](https://weekly.statuscode.com/issues/309)    

👋 It's been such a busy week I've realized we can't include _everything_ neat we find here, so wanted to shine a light on two of our other newsletters you might find useful :-)

If you want to keep up to date with the latest developments in the database world, [DB Weekly](https://dbweekly.com/) is for you. If the rapidly growing world of serverless and functions-as-a-service interests you, [Serverless Status](https://serverless.email/) sums it up each week too. Check them out if you want to broaden your coverage a bit.

As always, thanks for your support, and if you have any submissions for me in future issues, hit 'Reply' and let me know.
__
_Peter Cooper, your editor_  

![](https://res.cloudinary.com/cpress/image/upload/e_grayscale,w_150,h_170,c_pad,g_south/xrupigpv8kyjqotfdgy8.jpg)    StatusCode Weekly What's happening in software development, ops, platforms and tools.  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/qtnm9cczbmh8rdzzi7me.jpg)](https://crystal-lang.org/2021/03/22/crystal-1.0-what-to-expect.html)  

[Crystal 1.0 Released](https://crystal-lang.org/2021/03/22/crystal-1.0-what-to-expect.html) — Crystal is a language _heavily_ inspired by Ruby but that offers compilation, static type checking, macros, and ultimately a lot of performance. Crystal _isn’t_ Ruby but it’s close enough that if Ruby’s easy to read nature appeals to you, it’s worth checking out. 

The Crystal Core Team   

[Linus Torvalds on Where Rust Will Fit Into Linux](https://www.zdnet.com/article/linus-torvalds-on-where-rust-will-fit-into-linux/) — Rust has been gathering support from all quarters recently, particularly with Microsoft and Windows development, but Linux seems a more natural destination, perhaps? Linus Torvalds and Greg Kroah-Hartman shared some thoughts. 

Steven J. Vaughan-Nichols   [![\](https://copm.s3.amazonaws.com/03097500.jpg)](https://tsdb.co/grafana-alerting-how-to-blog) 

[⏰ How to Set Up Alerts in Grafana](https://tsdb.co/grafana-alerting-how-to-blog) — Grafana might be best known for visualizations, but it’s a powerful alerting tool too ✅. [Learn how to define 3 alert rules](https://tsdb.co/grafana-alerting-how-to-blog) and send notifications through channels like Slack, PagerDuty, and OpsGenie, complete with pro tips & step-by-step demos. 

Timescale sponsor   

[How GitHub Found and Fixed a Rare Race Condition in Its Session Handling](https://github.blog/2021-03-18-how-we-found-and-fixed-a-rare-race-condition-in-our-session-handling/) — If you were unceremoniously logged out of Github on March 8th, it was for your own safety as a race condition and some new code was swapping sessions between users. As ever, the post-incident report is a worthy read. 

Github   

[Amazon S3 Object Lambda: Process Data During Retrieval](https://aws.amazon.com/blogs/aws/introducing-amazon-s3-object-lambda-use-your-code-to-process-data-as-it-is-being-retrieved-from-s3/) — For S3’s 15th birthday (see below) it’s got a new feature! _S3 Object Lambda_ seamlessly places Lambda functions in between S3 objects and whatever is requesting those objects so you can do processing and transformations on the fly. 

Danilo Poccia (AWS)    

- [TLS 1.0 and 1.1 are now formally deprecated.](https://datatracker.ietf.org/doc/rfc8996/)
- Chrome 90 onward is going to [use HTTPS as the default protocol](https://blog.chromium.org/2021/03/a-safer-default-for-navigation-https.html) in the address bar, but it will fall back to vanilla HTTP if necessary.
- AWS has [celebrated S3's 15th birthday.](https://aws.amazon.com/blogs/aws/amazon-s3s-15th-birthday-it-is-still-day-1-after-5475-days-100-trillion-objects/)
- The new CEO of AWS is going to be... [Adam Selipsky, the current CEO of Tableau.](https://www.geekwire.com/2021/tableau-ceo-adam-selipsky-will-return-amazon-web-services-ceo-replacing-andy-jassy/) This comes as a surprise to many but Selipsky formerly worked at AWS for 11 years. AWS's current CEO, Andy Jassy, is set to replace Jeff Bezos as CEO of Amazon.com proper.
- It's with huge sadness we hear that Roy Marples, the main maintainer of [dhcpcd](https://wiki.archlinux.org/index.php/Dhcpcd), is dealing with cancer [and looking for a new maintainer.](https://roy.marples.name/archives/dhcpcd-discuss/0003457.html) Any help you can give him would be appreciated.
- The Perl Steering Committee has put together [The Future of Perl](https://docs.google.com/document/d/1OxeK0ctbBPtNw7UPG5x9iRYMs2b2kmjM4GWbB1x3QM8/edit), a Google doc outlining where they see the language heading in the future.  

💻 Jobs  

[Software Engineer at Carbon Five](https://grnh.se/41f1235a2us) — We’re a team of creative individuals dedicated to building brilliant products for innovative clients. Join us for new projects, tech and challenges. 

Carbon Five   

[Find Software Engineering Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-webopsweekly%29&utm_content=5-minutes) — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now. 

Hired  

📘 Tutorials, Opinions and Stories 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/uzyoetkcxwdljdfusscd.jpg)](https://iximiuz.com/en/posts/computer-networking-101/)  

[An Illustrated Guide to Ethernet and IP Networking 101](https://iximiuz.com/en/posts/computer-networking-101/) — What is a LAN? What is a network segment? Ethernet collision domains vs broadcast domains. How network switches work? How to send IP packets? There’s a lot packed into this neat post. 

Ivan Velichko   

▶['Retrocoding' The World's Smallest Windows App in x86 ASM](https://www.youtube.com/watch?v=b0zxIfJJLAY) — A fantastic video where a retired Microsoft developer (who originally created Windows’ _Task Manager_) returns to early 90s style Windows development that still works today. Both good fun and there are still things to learn. 

Dave Plummer   

[Encoding Workflows Best Practices Webinar - Moderated by Dan Rayburn](https://go.bitmovin.com/live/scaling-encoding-workflows?utm_source=cooper-status-weekly-sponsored&utm_medium=%20paid-newsletter&utm_campaign=BitmovinLive) — A panel of experts, discussing best practices on scaling encoding workflows to maximize quality and reduce costs. 

Bitmovin Inc. sponsor   

[A Performance Comparison: Counting Words in Python, Go, C++, C, AWK, Forth, and Rust](https://benhoyt.com/writings/count-words/) — Ben takes an ‘interview’-style problem and solves it in various languages. 

Ben Hoyt   

[Speeding Up SQL Queries by Orders of Magnitude with `UNION`](https://www.foxhound.systems/blog/sql-performance-with-union/) — SQL’s UNION operation isn’t usually regarded as a way to optimize query performance, but in many cases it can be used to achieve massive improvements in speed. 

Ben Levy and Christian Charukiewicz   

[How the Web Audio API Gets Used for Browser Fingerprinting](https://fingerprintjs.com/blog/audio-fingerprinting/) — Different browsers have different ways of applying effects to audio and this is used by certain tools to identify browsers even if other mechanisms aren’t available. 

FingerprintJS   

[Is Scala a 'Maintenance Nightmare?'](https://mungingdata.com/scala/maintenance-nightmare-upgrade/) — Why, allegedly, it’s hard to maintain Scala projects, though not everyone agrees. 

MungingData   

[Observability Won’t Replace Monitoring (Because It Shouldn’t)](https://go.lightstep.com/register-observability-replace-monitoring-co.html?utm_campaign=statuscode&utm_source=cooper&utm_medium=Email) 

Lightstep sponsor   

['The ColdFusion Monolith Allows My Team To Move Fast And Deploy Often'](https://www.bennadel.com/blog/4014-the-coldfusion-monolith-allows-my-team-to-move-fast-and-deploy-hella-often.htm) — I didn’t even realize ColdFusion was still _a thing_ so this is neat. 

Ben Nadel   

[How We Implemented Distributed Multi-Document ACID Transactions in Couchbase](https://blog.couchbase.com/distributed-multi-document-acid-transactions/) 
Denis Rosa   

[Using LDAP in Docker with Caching](https://dev.l1x.be/posts/2021/03/22/using-ldap-in-docker-with-caching/) 
l1x/dev     

🛠 Code and Tools   

supported by [![Okta\](https://res.cloudinary.com/cpress/image/upload/v1602154330/de7dtktheistsfpqdem4.png)](https://developer.okta.com/?utm_campaign=newsletter_cooperpress_all_multiple_inc_dev_sponsored-section_null&utm_source=cooperpress&utm_medium=cpc)    

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/lwkvswdsvysynlayygvj.jpg)](https://pganalyze.com/blog/pg-query-2-0-postgres-query-parser)   

[pg_query 2.0: The Easiest Way to Parse (and Deparse!) Postgres Queries](https://pganalyze.com/blog/pg-query-2-0-postgres-query-parser) — `pg_query` is a standalone library for parsing Postgres SQL queries - version 2 adds support for Postgres 13 and includes a _deparser_ so that manipulated parse trees can be turned _back_ into SQL.. big opportunities there. It’s a C library but available in [a Ruby library](https://github.com/pganalyze/pg_query) as well as [Python](https://pypi.org/project/pglast/) and [Node.js](https://www.npmjs.com/package/pgsql-parser) bindings. 

Lukas Fittl   

[CodeTour: VS Code Extension to Record and Playback Guided Tours of Codebases](https://github.com/microsoft/codetour) — Here it is [on the Visual Studio marketplace.](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.codetour) 

Microsoft   

[Comparing AWS and Azure Services to Google Cloud](https://cloud.google.com/free/docs/aws-azure-gcp-service-comparison) — A useful table (built by Google, so take any bias into account) drawing comparisons between AWS, Azure, and GCP services. What’s the equivalent of _Traffic Director_ on AWS and Azure? _AWS App Mesh_ and _Azure Service Fabric Mesh_.. good to know ;-) 

Google Cloud   

[Why I Use `exa` Instead of `ls` on Linux](https://opensource.com/article/21/3/replace-ls-exa) — Another example of an all new tool (written in Rust, unsurprisingly) attempting to usurp a classic. 

Sudeshna Sur   

[vim-gh-line: Vim Plugin to Open The Link of Current Line on GitHub](https://github.com/ruanyl/vim-gh-line) — Also supports Bitbucket or GitLab, if preferred. [rhubarb.vim](https://github.com/tpope/vim-rhubarb) provides a similar feature for GitHub only if you want a broader set of GitHub facing features. 

Yulong Ruan    📭 

**Got a new email?** You can [change your address here.](https://weekly.statuscode.com/edit_subscription/*|UID|*) 

--- 

**Bored of us?** [Click here to stop getting StatusCode Weekly.](https://weekly.statuscode.com/leave/*|UID|*) 

--- 

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. Thanks! 

--- 

**Want to sponsor?** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Stop getting this newsletter.](https://weekly.statuscode.com/leave/*|UID|*)
