Double Shot #2420
- Software Architecture Guide - Martin Fowler has published much excellent material about architecture. Here's an overview.
- This is a DevOps Dishwasher - A (somewhat contrived) real world analogy to understand the relation between costs, batch size, and automation.
- JavaScript: The Modern Parts - Some history and the suggestion that JS is not the tire fire that it used to be.
- From Mac to Linux - the setup I've grown to love - One developer's journey. I expect to be taking a similar one if I buy another computer.
- Things I Learnt from a Senior Software Engineer - A year's worth of osmosis.
- Postwoman - A somewhat minimal API client in the spirit of Postman and others.
- Find Time-Consuming ActiveRecord Database Queries with QueryTrack - Monitor your application's slow queries with Slack integration.
- Firebase Firestorm - A Firebase ORM designed for use with Typescript.
- Outline - Team wiki and knowledge base with open source and hosted options and a batch of integrations.
Double Shot #2419
- Why Do We Need Application Servers in Ruby? - Ever wonder why you automatically stick in puma or thin or unicorn in every project?
- pgcmd - Non-interactive PostgreSQL query tool that outputs JSON.
- Git is eating the world -And GitHub is eating git.
- Why Does Developing on Kubernetes Suck? - The K8s ecosystem continues to be too complex for me.
- New framework defaults in Rails 6 - A piece of the upgrade process you might have missed.
- Using TypeScript with React - How (and whether) to combine the two.
- Awesome Rails development with Docker, Kubernetes and Telepresence - Setting things up when your application depends on Kubernetes services.
- Next steps to ensure transparency, choice and control in digital advertising - Google claims to have a better alternative to just blocking tracking cookies.
- Deconstructing Google’s excuses on tracking protection - Google is full of crap.
- Introducing nushell - A new shell, written in Rust, with some radical breaks from existing shells.
Announcing the Beterra Wiki
This is sort of a joint side project of A Fresh Cup and my employer: the Beterra Wiki contains organized links in a few categories that I pay particular attention to these days.
You'll find a bunch of book reviews (primarily of engineering and software management and leadership books), as well as link collections. The most developed of the latter are aimed at microservices development and engineering managers, but there are other things. Over time I'll likely grow this collection, though I've got no intention of trying to become the next index to the entire web.
The site is organized as a wiki just because that makes it easy to maintain. I suppose if I were hipper it'd be an awesome whatever site on GitHub, but that's too hip for me. It's not open to outside editors, but if you really, really think you have something to contribute and want to pitch in, feel free to drop me a line and make your case.
Double Shot #2418
- Why Everyone Loves Remote Work - There's a big lump of survey bias here, but also some useful tips.
- Jekyll 4.0.0 Released - Perhaps I should upgrade.
- Some Thoughts on Estimation - Ron Jeffries' thoughts are always worth reading.
- About GitHub Package Registry - It's here in limited public beta, it has some nice features...but at the end of the day, it's Microsoft. I'll stick with RubyGems.
- Most startup theory is ex-post, therefore bs - I've read a ton of startup, management, lean, and leadership books in the past few years. And yeah, the number that are really worthwhile is pretty low.
- Google Is Tightening Its Grip on Your Website - If you use AMP, that is. I'm enough of a curmudgeon that I prefer less Google, even if it means less traffic.
- Announcing notqmail - An official announcement of this reboot of qmail.
- Starship - Cross-shell prompt built in Rust with visual cues for common info.
- Customisable email templates in Rails made easy using panoramic and liquid-rails - I haven't used liquid in years. Can't say I really miss it, either.
- How to return to the flow faster - One developer's solutions. YMMV.
Double Shot #2417
Being Engineer 1 at a new startup is a possibility if you're in Austin. I've worked with Josh before, and I'd happily work with him again.
- React NodeGUI - "Build performant, native and cross-platform desktop applications with JavaScript + powerful CSS like styling."
- Demystifying Rails - Free online book from Launch School that dissects some Rails internals to remove the magic, or at least explain it.
- Never work as a software engineer in a Startup! - Why you should think of yourself as a Product Engineer instead.
- [CVE-2019-15224] Version 1.6.13 published with malicious backdoor. - The ruby rest-client gem got compromised. Fortunately the bad versions were yanked pretty quickly, but if you use this gem you need to check.
- Gems yanked and accounts locked - The official RubyGems list of problems.
- Deep code completion on your laptop - Code completion via deep learning without using the internet.
- Google Images Restored - Chrome and Firefox extension to reverse the latest changes.
- Guildma malware is now accessing Facebook and YouTube to keep up-to-date - Honestly, I think the best software developers are working in malware these days. A fascinating analysis.
- Emoji Driven Development in Ruby - Why yes, you can include emojis in your source code.
- A Rubric for Open Source Documentation - Some things that might make your project more approachable.
Double Shot #2416
- Tech Interview Handbook - "Carefully curated content to help you ace your next technical interview." Personally my advice is to avoid Leetcode-style interviews like the plague, but if that's not realistic, it's worth taking a look at this.
- Platform Agnostic TypeScript Template (PATT) - "PATT is a template for multi-platform TypeScript applications with serverside authentication, database and storage support. PATT can span mulitple devices natively including Web, Desktop, Android and iOS."
- Maximizing features and functionality in AWS CloudTrail - An overview iwth some tips.
- Puppybbs - Puppy was the first BBS software I ever ran, back in those pre-internet days. I'm inordinately happy to have discovered the source is still available.
- API Guard - "JSON Web Token (JWT) based authentication solution with token refreshing & blacklisting for APIs built on Rails."
- How Slack Harms Projects - Something of a jeremiad.
- Durable Sidekiq Jobs: How to Maximize Reliability of Sidekiq and Redis - Configuring things for higher reliability.
- OpenDrop - Protocol-compatible open-source AirDrop implementation.
- Better SSH Authentication with Keybase - Managing access via a CA model and Keybase teams.
- How to build—and manage—a self-improving team - It doesn't just happen, but it's worth the effort.
Double Shot #2415
- Highlights from Git 2.23 - I've started using git switch and git revert.
- Typesetter.css - Custom stylesheet designed for a nice default presentation of semantic HTML.
- Shared Git repository over ssh for multiple users - A tutorial for the times when full-on hosting is overkill.
- Decorating Ruby - Part One - Symbol Method Decoration - Start of a 3-part series on some useful metaprogramming techniques.
- Nixery - "Nixery is a Docker-compatible container registry that is capable of transparently building and serving container images using Nix."
- Arcs of Seniority - A multifactor look at some of the traits of senior developers.
- Describing fault domains. - A technique for thinking through failure modes and redundancy in distributed systems.
- Maybe we Should Stop Creating Inscrutable CLIs - Maybe we should, but the neckbeards will have palpitations over the very idea.
- Sourcehut welcomes Bitbucket refugees - Now that Atlassian is sunsetting Mercurial support.
- The mindsets of hiring companies, recruitment agencies and recruiters. - Recruiting is broken.
Double Shot #2414
- Finding a New Git Host - I suspect this is not the only person thinking about leaving GitHub now that it belongs to Microsoft.
- Software 2.0 - "Programming without code" is having yet another resurgence. Those who do not remember the original 4GL pitch are apparently doomed to repeat it.
- Documenting Software Architecture - An overview of some of the available options.
- 3 Kinds of Good Tech Debt - Like it or not you're going to postpone things, so it's best to be intentional about it.
- Advanced multi-db techniques in Rails 6 - A walkthrough of some of the new capabilities.
- How to run a successful team retreat - A framework to build your own retreat around.
- TensorFlow 2.0: Dynamic, Readable, and Highly Extended - I don't really keep up with deep learning but I think these changes are important.
- Remote Mob Programming - A manifesto of sorts.
- SSL Configuration Generator - Handy defaults from Mozilla.
- Reactide -"The first dedicated IDE for React web application development."
- pokemonsay - "Pokemon version of cowsay with CLI and API." Because why not?
Double Shot #2413
- mastotool - A Mastodon statistics generator.
- Designing the Right Things - It makes me happy to see the growing conversation about doing the right thing, instead of being an efficient nitwit (or worse).
- Extended Validation Certificates are (Really, Really) Dead - An expensive boondoggle bites the dust.
- The Horror of Microsoft Teams - Some reasons to prefer Slack. Though enterprises will continue to prioritize single-vendor and control, so I expect Teams to succeed just fine.
- Magic comments in Ruby - More serious languages call these things "directives."
- 25 Lessons I’ve Learned as a Developer - Worth skimming, reading, or pondering, depending on where you are in your own developer journey.
- Gitfox - Another desktop git client with subscription pricing.
- Introduction to Memory Unsafety for VPs of Engineering - Or for anyone else who wants to understand the basics.
- Clearbit's approach to management - Rules of thumb that are the TLDR for their internal handbook.
- Introducing the New React DevTools - New stuff for those on the cutting edge.
- Why Software Remains Insecure - "How the benefits of quickly building bad software have so far outweighed the downsides."
Double Shot #2412
- Rocketman - A pure Ruby pub-sub framework.
- Parallelism in PostgreSQL - A look under the hood.
- Introducing the ‘aws-rails-provisioner’ gem developer preview - Easy transition from your local dev environment to Fargate.
- Open Startups List - A bunch of companies experimenting with radical transparency.
- NoHQ - "Helping founders, managers and executives building effective, scalable and healthy remote teams that work" through a mix of free and membership content.
- Distributed systems vocabulary. - Learning to talk the talk.
- Rotten Apple: Right to Repair Roundup - Apple continues to evolve in directions that ensure I won't buy any more of their products.
- Shortcutery - Learn application shortcuts via online practice. Sketch right now, with the promise of more to come.
- Developers mentoring other developers: practices I've seen work well - A good overview of the mentoring process.
- New – Trigger a Kernel Panic to Diagnose Unresponsive EC2 Instances - And you thought kernel panics were a bad thing.
- Building Your First Product Road Map - A process & structure.
Double Shot #2411
- A Year of Working Remotely - I suspect that most articles about remote work tell you more about the worker, and this one is no exception. But if you're only dabbling with the idea, it's a good starting point of things to think about.
- The problem with Agile Transformation Programs - Success stories for "big Agile" are usually politically-motivated and very selective in the story they tell.
- Maintainable Rails - Free email course from Robby Russell, who has been in Rails longer than most of us.
- Dadroit - Client-side JSON viewer designed for large data files.
- Awesome-Selfhosted - "This is a list of Free Software network services and web applications which can be hosted locally."
- The Rule of 2 - A heuristic for dealing with unsafe input from the internet.
- bashfs - Merge your command shell and your file system, just in case you're not confused enough already.
- What Does a Coder Do If They Can't Type? - Things still aren't great, but non-typing input is getting more possible.
- Serverless Functions With WebAssembly Modules - Compile WASM to C and launch from Node.
- The Virtuous Circle of Software Delivery - What reducing cycle time can do for (many? most?) software organizations.
- An Introduction to Svelte - Another frontend web framework worth looking at.
Double Shot #2410
- Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk - The release version is here. Are you ready?
- Newman Postman: command line Collection Runner - Tool to integrate your Postman API tests with your CI process.
- Rails 6: Introduces explicitly adding rails server handler option - Another tiny improvement in the new version.
- GitHub Actions now supports CI/CD, free for public repositories - Is there a whiff of "embrace & extend" here?
- JSON Pizza - Easy online formatter for JSON files
- What happens when you run Rails new? - A look at the file structure of a new Rails 6 project.
- μ-service (Micro::Service) - A new Ruby framework for service objects.
- Topaz - Framework code for a personal developer's website.
- GTFOBins - A "curated list of Unix binaries that can be exploited by an attacker to bypass local security restrictions."
- Arcane Office - A "decentralized office suite with high-security and zero-knowledge on your data." Free in beta.
- Qanairy - "Automate quality assurance with codeless software testing. Spend less time finding, creating, and maintaining your automated tests with the power of AI." I'm skeptical but may kick the tires.
Double Shot #2409
- Documentation - your secret weapon - Don't let agility (or laziness) be the enemy of maintainability.
- Don’t Underestimate Grep Based Code Scanning - You can spot a lot of problems without paying for fancy static analysis tools.
- Docker in 10 minutes - Basic concepts & commands.
- Introducing git-revise - An alternative to git-rebase for patch-based development.
- Object storage with Backblaze, Rclone, MinIO and s3cmd - Setting up backups on this stack.
- Using TensorFlow.js to Train a “Rock-Paper-Scissors” Model - A sort of Machine Learning "hello world."
- Why is modern web development so complicated? A long yet hasty explanation: Part 1! - I blame JavaScript.
- Fullstaq Ruby: First impressions, and how to migrate your Docker/Kubernetes Ruby apps today - Definitely worth a look if memory pressure is an issue for your application.
Double Shot #2408
- Input - A flexible set of proportional-spaced programming fonts.
- Syslog : The Complete System Administrator Guide - A technical dive into this venerable protocol.
- Why I Turned Down an AWS Job Offer - Because their contract terms suck (to be fair, that's pretty much universal across large tech companies).
- What if I called FLUSHALL on your Redis instance? - Another threat to consider.
- BlazingSQL is Now Open Source - A distributed GPU-accelerated SQL engine under the Apache 2 license.
- Stop designing products for random people - Some segments of your market are more important than others for getting design right.
- Jekyll 4.0.0.pre.beta1 Released - Coming with some breaking changes.
- Freedombone version 4.0 - Take back the internet by hosting your own services and networking with like-minded people. I fear this ship has sailed but I admire those who are trying to turn it around.
Double Shot #2407
- Reactive and Component Frameworks for "Old Fart" Programmers - A high-level conceptual overview.
- iTerm2: Showing the PHP, Ruby or Node version in your status bar - Custom status bars are a nice alternative to custom bash prompts.
- Improving our performance, accessibility, and SEO with Lighthouse audits - What you can discover through Chrome's devtools.
- Microservice Architecture at Medium - Thinking through high-level considerations.
- Our 6 Must Reads for Cutting Through Conflict and Tough Conversations - Conflict-resolution tactics you should know about in a small group setting.
- Introducing the PLONK Stack for Cloud Native Developers - Prometheus, Linker, OpenFaaS, NATS, Kubernetes.
- Hackathon Starter - A big heap o'Node.js boilerplate.
- All the best engineering advice I stole from non-technical people - Guidelines and thought starters for engineering managers.
Double Shot #2406
- Seeing Through Silicon Valley’s Shameless ‘Disruption’ - Yeah, this.
- Sampler - A way to build charts of the results of shell commands with configuration via YAML.
- Artichoke - "Artichoke is a platform for building MRI-compatible Ruby implementations. Artichoke provides a Ruby runtime implemented in Rust that can be loaded into many VM backends."
- OWASP Cheat Sheet Series - "a concise collection of high value information on specific application security topics."
- mobius3 - "Continuously and asynchronously sync a local folder to an S3 bucket."
- bashblog-ng - A bash script for maintaining a blog, with many bells and whistles.
- PartiQL - "SQL-compatible access to relational, semi-structured, and nested data." Note that this is an AWS effort, though at least somewhat open.
- Toward a bastion-less world - If you're on AWS, you can leverage their infrastructure instead of building your own bastion hosts (or allowing direct SSH access to all your servers).
Double Shot #2405
- The business case for diversity is a sinking ship - Diverse hiring is important because it's right, not because it's profitable.
- Load balancing: Beyond healthchecks - It's pretty danged hard to write a load-balancing algorithm that does the right thing across a variety of failure modes.
- Fast and flexible observability with canonical log lines - An interesting approach to making logs more useful.
- Announcing HashiCorp Vault 1.2 - HashiCorp continues to do good work in the secrets management space.
- Don't ask if a monorepo is good for you – ask if you're good enough for a monorepo - A look at some of the failure modes of monorepos.
- git-o-matic - "A tool to monitor git repositories and automatically pull & push changes"
- Ethical alternatives to Google reCAPTCHA - You probably don't need a captcha at all, but if you do, you don't need one that screws with my privacy.
- Serverless Components - Chunks of functionality for the Serverless framework (not to be confused with the more general notion of serverless computing).
Double Shot #2404
- Goodbye Docker: Purging is Such Sweet Sorrow - Switching to Podman, Skopeo, and Buildah.
- Loki, the tail and grep for Kubernetes - Some observability plumbing for k8s.
- Ten Things Serverless Architects Should Know - The world according to AWS Lambda.
- Using logs to power up your Rails development workflow - Why you should be tailing the development log as you work.
- Fullstaq Ruby Server Edition: a server-optimized Ruby distribution - The apt and yum repos are ready for testing.
- Context Binding in Ruby - Another one of those things I always need to look up.
- Runbook: A Ruby DSL for Gradual System Automation - Some glue for putting tasks together.
- OverVue - A prototyping tool for Vue developers.
Double Shot #2403
- Algorithms & Data Structures and why studying them is good for interviews - Well, for some interviews.
- Container Platform Security at Cruise - "Best practices for enterprise-grade Kubernetes security."
- Simple Two-way Messaging using the Amazon SQS Temporary Queue Client - File under "I didn't know you could do that with SQS."
- grapheneX - "grapheneX project aims to provide a framework for securing the system with hardening commands automatically."
- Rails 6.0.0 rc2 released - The train, it is coming.
- Minify Your SVGs - How and why to do this.
- How to build a generative engineering culture - "A generative engineering culture is one where nothing seems to fall through the cracks, “we should” gets prioritized and becomes reality, and original ideas and value come primarily from engineers, rather than management."
- GitMeme - Easily include gifs in your PR reviews and other comments.
Double Shot #2402
- Sky-High Software Stocks Are Beginning to Look Like They’re Forming a Bubble - Barron's looks at some of the silliness in non-GAAP financials. I continue to be astounded that the Silicon Valley darlings get away with this crap.
- Why GraphQL Performance Monitoring is Hard - Because a single endpoint can handle a wide variety of loads.
- Work with Cluster Mode on Amazon ElastiCache for Redis - Get more reliability & availability (by spending more money, of course).
- notqmail - A community-driven fork of qmail. If you don't know what that is you probably don't need it.
- Some things that might help you make better software - A mix of cultural and process factors that are worth thinking about.
- This Ain’t Disney: A practical guide to CSS transitions and animations - Get yourself up to speed on these tools (and perhaps use less crappy JS code).
- The Feedback Log - Another simple tool for management.
- LF - A new "fully decentralized fully replicated key/value store."
subscribe via RSS