Title: Facial Recognition, Crystal != Ruby, FreeBSD turns 25, Wireshark Rocks, and Pascal => D
Adrian Rosebrock used OpenCV, Python, and Deep Learning to build a face recognition app. Watch a video demo of the app or follow the step by step tutorial. No GPU? No problem. Adrian includes instructions for working with or without a GPU. The app can do face recognition in a hacky way on the Raspberry pi as well.
Crystal is not Ruby, argues Filipe Correia in his second piece on the subject. Check out Part One here. In part 2, Filipe talks about nil handling, how much better serialization is in Crystal, method overloading, to_proc, and switch/case statements. In other Crystal news, 0.25.0 was released this week. And checkout this older article on writing a Blockchain and Proof of Work algorithm in Crystal.
June 19 was FreeBSD Day. Here’s to celebrating 25 years of the FreeBSD operating system. While celebrating FreeBSD, read about their history, download a poster, or watch Dr. Kirk McKusick’s six hour interview with the FreeBSD community.
Julia Evans explores how to troubleshoot a TCP connection with Wireshark. Wireshark is a tool for packet analysis that gives you a wonderful graphical interface around it. Julia covers installation, filtering, analysis and how it’s different from tcpdump. The best part is when the author explores comparing client/server responses on breaking connections to determine where a bug is. This is a really actionable write up for developers to learn a bit of a tool that’s traditionally only used by Sys Admins.
Bastiaan Veelo convinced the engineering company he works for to switch to D from Extended Pascal. Bastiaan said he used to dream of working full time with the D programming language, and after he and his company compared Free Pascal, Ada and D the best choice was obvious. Types with custom initial values, schema types, and sets were some of the advantages of D over the other two options.
José Valim highlighted new features that will be available in Elixir v1.7. Some features include: help when debugging if you forget an ‘end’, adding the Stacktrace feature that helps avoid relying on side effects, and improved support for ExUnit and the Calendar module. Since OTP 21.0 just dropped this week (read Michał Muskała’s highlights on OTP 21.0) , we can expect Elixir’s next upgrade to be here soon. While you’re thinking about the BEAM, you might as well read Björn Gustavsson’s A Brief History of the BEAM Compiler.
Vue now has more GitHub stars than React. However, React is used about four times more based on NPM downloads. Dan Abramov was one of the first to point out the moment this occurred. Kevin Ball's conclusion: "React Still Dominates, Vue Growing Fastest." Unrelated to stars, AirBnb is moving away from React Native.
PostgreSQL is currently getting a lot of hype, which we are happy about. However, there still might be some features that you haven't heard about. Luckily, pgDash has you covered. On the pgDash blog, the newest piece is 'PostgreSQL Features You May Not Have Tried But Should', which will teach you about table inheritance, foreign data wrappers, range types and a couple of other nifty features in Postgres.
The supreme court ruled that states can start imposing taxes to online retailers. Integrating tax APIs for every state county municipality and tax zone is going to be a ton of work for developers. Read Greg Stohr’s write up if you're interested in a non-technical overview of the situation.
GitLab created a Web IDE that allows you to stage and commit changes to your repositories. Learn more about how the Web IDE works, or read Dimitrie Hoekstra’s write up on how GitLab brought this idea from an experiment to a product.
Remember that lock we told you about a couple weeks back? It got worse. Ends up you can potentially pop it open with a screwdriver. #SMH
Henrik Joreteg’s book Human Redux is now available for free. Human Redux covers the basics of redux, as well as redux patterns such as decoupling views from data fetches, routing and reactors. Thanks Henrik!
John Carmack introduced 5k Immersive Video, "a new technique for video encoding that can unlock a greater level of quality and visual clarity from existing high quality 360 captures." Because true 5k 360 video is not achievable with current hardware, he chose to provide a 2k 360 video as the base layer and augment the central stripe of the sphere with the 5k source split into ten smaller high fidelity segments. This enables a good experience when moving your head rapidly, while allowing the high fidelity version to be overlaid once you aren’t moving quickly. tl;dr substantially higher-quality immersive video on existing VR tech. This is a really neat hack.
CSS Units you probably don’t use, and maybe have never even heard of.
In Comparing Languages for Engineering Server Software, Ivan Valkov, Natalia Chechina, and Phil Trinder compare Erlang, Go, and Scala/Akka for the sake of building concurrent software. They found the following: Go and Erlang are the best choices for minimizing message latency; Scala/Akka can maintain the highest number of dormant processes; Erlang is the best choice for short-lived processes and minimal spawn time. Go provides the highest throughput independent of the number of cores and the number of process pairs. Read the paper for more details.
Joe Duffy announced the launch of Pulumi, a multi-language, multi-cloud, and fully extensible open source cloud development platform. "At the center of Pulumi is a cloud object model, coupled with an evaluation runtime that understands how to take programs written in any language, understand the cloud resources necessary to execute them, and then plan and manage your cloud resources in a robust way." The goal is to make containers and serverless far more accessible from a deployment and composition standpoint for the average developer, to enable easily building cloud-first distributed systems.
Ever wish someone reverse-engineered the 1996 game Diablo?
Ben Cox built an interactive article proving that x86 assembly doesn’t have to be scary. In addition to a very good introduction to 16-bit real-mode, there’s a playground to write code and it will be assembled and loaded into a VM on-page via emscripten.