Fresh on the heals of our TS Party comes this curated list of tools for getting the most out of static code analysis. This list is gloriously polyglot, so there’s probably something in there for everyone.
Not in to static analysis (or just a huge fan of lists)? Check out the sister project, Awesome Dynamic Analysis.
“GUIs are bloatware” — Terminal rules…a guide to the terminal…
In this post, I’ll walk you through everything you need to start making your terminal a complete development environment: how to edit text efficiently, configure its appearance, run and combine a myriad of programs, and dynamically create, resize and close tabs and windows.
From Julien Lemoine, Co-founder & CTO at Algolia — Search is a complex problem that can be an important business differentiator. As Doug Turnbull, author of “Relevant search” and a prominent relevance expert put it: “Delivering a truly relevant search experience has been elusive, if not a critical blind spot for most organizations.” Even market leaders in consumer-grade search like Netflix and Amazon struggle to optimize and tune their search results with their AI stack.
AI is a key part of Algolia’s strategy. We are continually investing in AI to enhance and extend our existing battle-tested solutions to the most complex problems in search. With 1 trillion searches per year touching 1 in 6 web users every day, and more than 9,000 customers, we have access to a powerful dataset that enables us to develop the most comprehensive suite of intelligent automation capabilities in the market, while maintaining our stringent data privacy policies.
Programming around time is the bane of pretty much every programmer’s existence. UTC works most of the time, but still has its flaws.
Zach Holman writes on his blog:
Programming time, dates, timezones, recurring events, leap seconds… everything is pretty terrible. The common refrain in the industry is Just use UTC! Just use UTC! And that’s correct…sort of. But if you’re stuck building software that deals with time, there’s so much more to consider. It’s time…to talk about time.
Zach includes a lot of time-related puns and whole lot of wisdom about programming time.
As we gear up for the launch of Practical AI and more AI/ML/DS related news coverage, I wanted to bring to your attention to this 6-month apprenticeship (compensated) in AI research at OpenAI.
We’re now accepting applications for the next cohort of OpenAI Fellows, a program which offers a compensated 6-month apprenticeship in AI research at OpenAI. We designed this program for people who want to be an AI researcher, but do not have a formal background in the field. Applications for Fellows starting in September are open now and will close on July 8th at 12AM PST.
I love this with my whole heart. 🤤
In total the project took a year and a half to upgrade from Rails 3.2 to Rails 5.2. Along the way we took time to clean up technical debt and improve the overall codebase while doing the upgrade. Below we’ll talk about how we upgraded Rails, lessons we learned and whether we’d do it again.
Congrats to Eileen and the team on this massive effort! Click through to read how they did it and the lessons the learned along the way.
This list is a lot longer than I expected! Alongside each app is an icon indicating whether it’s written in Swift or Objective-C, which is nice for those of us looking for reading material. 💪
Linode Kubernetes Engine (LKE) is a fully-managed container orchestration engine for deploying and managing containerized applications and workloads. LKE combines Linode’s ease of use and simple pricing with the infrastructure efficiency of Kubernetes. You can now get your infrastructure and workloads up and running in minutes instead of days.
If you’ve been following along with the Changelog infrastructure, you’ll be pleased to know we’re rolling out LKE as we speak. We love what we’ve seen so far! Oh and be sure to use the code
changelog2020 (whichever works) to get our special pricing.
If you need a JS runtime that supports TypeScript out of the box and has security as a top-most priority, star this repo and come back when it’s no longer “Segfaulty”.
Feature bullets! 👇
- No package.json, no npm. Not backwards compatible with Node
- Single executable
- Defaults to read-only file system access
- Always dies on uncaught errors
- Supports top-level await
EDIT: it’s worth noting that this project is by Ryan Dahl, inventor of Node.js.
Inspired by Vim’s modal editing, but built to be as simple as possible. This is no fly-by-night proof of concept. It’s 3 years in the making and looks extremely polished.
I’m definitely going to give Amp a test-drive. 👌
Amjith shares a simple git alias he uses to resume work from where he left off. Perhaps you’ll find it useful, too.
Olivier Lacan on why we should all stop using
cd and start using
j (a.k.a. autojump). I’ve been wasting soooo many keystrokes over the years! 😱
mostly’s purpose is to serve as a lightweight, easy-to-comprehend starting point, with a focus on providing a great developer experience while helping you get high quality and maintainable web applications deployed rapidly.
It uses Express for the server and React for the client. Worth a look if you’re starting up a new web project. I dig this point about it:
Nothing is hidden, nothing is magical, and all of the “plumbing” is accessible and simple.
Stripe Atlas has a wide array of guides to running an internet business that are totally open and free for everyone. This guide is on “scaling engineering organizations” and covers everything from recruiting and hiring, training and on-boarding, to retention.
If you haven’t checked this out yet, it’s a 15 minutes or less read.
Nikita Sobolev outlines why they’re a self-described “mediocre developer” and how they survive in such a state. What follows is a bunch of excellent advice on practical steps toward success as a developer.
Ironically, Nikita’s self-professed mediocrity and clear path toward defeating it makes them an outstanding developer in my eyes. 🤩
Go and do likewise.
Dimitri Fontaine shares 3 classic data-modeling anti-patterns. The UUID section lacks strong argumentation, but the real gem in this article is his advice at the end. A snippet:
My advice is to always normalize your database model first, and then only fix the problems you have with that when you actually have them. Well except in those 3% of cases where really, really, it should be done in the design phase of the project. It’s quite hard to recognize those 3% though, and that ability is hard gained with experience.
Experience is the ultimate teacher.
Hackable and configurable to the core, signale can be used for logging purposes, status reporting, as well as for handling the output rendering process of other node modules and applications.
Vuido makes it possible to create lightweight, native desktop applications using Vue.js. Application using Vuido can run on Windows, OS X and Linux, using native GUI components, and don’t require Electron.
Emphasis added. Vuido uses libui under the hood to drive its cross-platform GUI components.
An exciting new project from Nathan Sobo and team:
an experimental Electron-based text editor informed by what we’ve learned in the four years since the launch of Atom … this project is a testbed for rapidly iterating on several radical ideas without risking the stability of Atom
Xray’s priorities are high performance, collaboration, extensibility, and web compatibility. Needless to say, we’ll be keeping our 👀 on this project over the coming months.
Lots of data entry and display components round out this suite focused on businesses with data-heavy applications and products.