John Conway — Java Software Engineering Weekly Newsletter
Oleksandr StefanovskyiHello engineers!
Starting this issue from sad news. John Conway, the British-born inventor of the Game of Life, has died because of coronavirus.
Conway is a top-class mathematician, with few living peers—a totally original thinker who has made deep contributions to areas as diverse as number theory, group theory, game theory, coding theory, geometry, and knot theory—while also being the inventor of the “all-encompassing” surreal numbers.
In case you never heard about him or just heard the name and that's it I recommend starting with googling "Conway's game of life" and then you could see the following links.
⏱ The Best Morning Routine (Backed by Science)
👉 AM I A REAL EXPERT? — There's no such thing as a “full-stack expert” — we must learn to value expertise with imperfections.
Java
- Spring Tips: The Spring Integration Kotlin DSL — A quick tutorial featuring a file system monitor application as an example.
- Java Pattern Matching: InstanceOf (JEP 305) — The enhanced instanceof feature in Java 14 supports implicit casting, making code more concise, easier to read, and less error-prone.
- Getting Started with Quarkus — And a high-level view of Quarkus, a technology for producing smaller runtimes optimized for the cloud.
- Building a Robust SQS Client with Spring Boot — This article shows a way of implementing a component that is capable of sending messages to and retrieving messages from an SQS queue in a robust and scalable manner.
Engineering
- Git switch and restore — If you’ve been using Git for a while you’re probably used to the ubiquitous git checkout command, which is somewhat overloaded in what it’s doing. You can use checkout to switch branches, create branches, update the working tree to a past commit, wiping working tree changes, and a few more things. Put simply, this command has too many responsibilities and should be refactored. This is what happened in Git 2.23.0: We can now use two other, more specialized commands, git switch and git restore.
- A Little More Clojure - An algorithm for finding prime numbers using Clojure's map and filter functions by Robert C. Martin.
- 📺 Three Great Opportunities from Legacy Code by J.B. Rainsberger (@jbrains) and answers to the questions from the presentation.
- The Devastating Decline of a Brilliant Young Coder - Lee Holloway programmed internet security firm Cloudflare into being. Then he became apathetic, distant, and unpredictable—for a long time, no one could make sense of it.
Databases
- Authentication Configuration in PostgreSQL and CockroachDB — In these databases, client authentication can be controlled via an ‘HBA’ (host-based authentication) file.
- How MongoDB Enables Machine Learning — If you haven’t played with the popular document-oriented database in a while, you can do quite a few things with it nowadays, including training and using ML algorithms.
- GeoDB: A Persistent Geospatial Database with Geofencing and Google Maps Support — Built using Badger gRPC and the Google Maps API. Track the geolocation of objects across boundaries or in relation to other objects.
- Event-Reduce: An Algorithm to Optimize Frequently Running Queries — In brief, the idea is that rather than having to re-run queries when data changes on a table, you can basically merge in changes to previous query results. Be sure to check the FAQs.
- Are Object Stores Starting to Look Like Databases? — Technically, any repository of data could be considered a ‘database’ but now object stores, such as those vast repositories of data sitting behind an S3 API, are beginning to resemble more structured, traditional databases in many ways. This feels a trend and market that will continue to grow in the near future.
Fun
- Pointless - is a scripting language for learning and fun.
- Bored? How about trying a Linux speed run?
- Hours - it's kinda productivity game, like Pomodoro but co-op and better
- Open Source Virtual Background
- In case you miss the office
- Things That Turbo Pascal is Smaller Than
You could check out previous issues at my site, telegram or twitter.