Double Shot #2329

11 Practical Steps Towards Healthy Power Dynamics at Work - Some patterns for healthier organizations. When Postgres blocks: 7 tips for dealing with locks - A year old but still good advice. Why software projects take longer than you think – a statistical model - The fact that the distribution of actual time to estimated time is skewed & has a long tail has a lot to do with it. About Being Lonely as a Consultant - Roy Osherove reflects on some of the perils of being the hired gun. Ruby 2.7 — Pattern Matching — First Impressions and Ruby – Pattern Matching – Second Impressions- Brandon Weaver digs in. Animating URLs with Javascript and Emojis - Must we? What is UI design? What is UX design? UI vs UX: What’s the difference - A primer from UXPlanet. Nicedoc - Render any markup file hosted on Github as a pretty page. GraphQL Cache - "A custom caching plugin for graphql-ruby." Commit messages guide - Some rules for writing them well. Kustomize - The right way to do templating in Kubernetes - An alternative to helm. Mockit - Open-source Dockerized tool for mocking APIs.

Double Shot #2328

Great developers are raised, not hired - Why mentoring pays off in a tight market. Design Sprints: Storyboarding Tips - Part of a series from Thoughtbot about the design process. Experiments with Holacracy: Why we stopped doing it, and what we learned along the way. - Still sounds like a boatload of unnecessary overhead to me, but hey, it might work for some people. Icons: avoid temptation and start with user needs - How the NHS went from 30+ icons to 11. Nice to see a design process that doesn't just add more bells + whistles. Best Practices for AWS Lambda Container Reuse - Digging into some warm start optimizations. Comparing Kubernetes Service Mesh Tools - Looking at Linkerd, Consul, Istio, and Linkerd2. How We Measure Standards (and why it’s sort of a problem) - It really shouldn't be surprising that big companies use "standards" as another way to gain competitive advantage. Octotree - "GitHub code tree on steroids". There's also a paid Pro version. Want to be happier and more successful? Write about yourself every week. - Status reports don't just benefit your boss. Building Intersectionality Into Your Hiring Strategy - The challenges of ethically managing hiring are pretty difficult to deal with. Here are some ideas to help. AI is not coming for you - "No one has any idea what “artificial intelligence” even means." Micro-promotions and mentorship: the big impact of small actions in an engineering culture - Be good to people. It pays off.

Double Shot #2327

Better Remote Meetings - Ideas on how to equalize participation. Designing UI with Color Blind Users in Mind - Lots of good reminders here. Why we're switching to calendar versioning - I'm seeing more backlash against semantic versioning lately. Webiny - "Developer-friendly Serverless CMS powered by GraphQL and React." Saved by the Schema: Using JSON Schema to Document, Test, and Debug APIs - Advice and a case study from Heroku. Learn TLA+ - Online tutorial for this formal specification language. "An arctic, north-bluish color palette" for all your developer tools. - Architects – Hang Up Your Capes & Go Back To The Code - I never thought of architecture as a profession disconnected from the code, but sometimes it is. Introducing Mozilla WebThings - Working with IoT in your browser. Ikonate - "Fully customisable & accessible vector icons." Sorbet - Type checking is coming to Ruby, like it or not. Scaling Technology and Organizations Together with Randy Shoup - Some strategies for handling large-scale growth.

Double Shot #2326

VSCodium – An Open Source Visual Studio Code Without Trackers - Built from the official source for those who don't trust Microsoft. Why I Switched From Visual Studio Code to JetBrains WebStorm - Or perhaps you'd like to try an entirely different editor. Cross-Browser NoScript hits the Chrome Store - A beta at the moment but I'm pleased to see user control of JS spreading. The Problem with SSH Agent Forwarding - It's lower security that using your jump box to forward the connection. Hire People or Optimize Processes: A cost-benefit analysis for engineering leaders - Digging into some of the hidden costs to make smart decisions. ghacks-user.js - "An ongoing comprehensive user.js template for configuring and hardening Firefox privacy, security and anti-fingerprinting." CSS Sans - Yes, you can build a font entirely out of CSS. The Fargate Illusion - A look at all the things you still need to do even if you're not managing containers. Nothing Fails Like Success - How broken are the current internet business models? Very. Linux Performance: Why You Should Almost Always Add Swap Space - It's a safety net, if nothing else. DevTestOps Landscape Survey Report 2019 - A survey focused on the evolving role of the tester. Keeping master green at scale - Just be glad you're not dealing with Uber's repo.

Wife is in the other room teaching our 12yo how to be an engineering manager. Perhaps I'll get to retire after all.

Double Shot #2325

Composition over configuration - In the web/JS component world. 339 bytes of responsive CSS - Another take on how to make simple sites look good easily. AWS: How to limit Lambda and API Gateway scalability - Limiting your costs to avoid unpleasant surprises. nact - "Nact is redux but for the server." Designing Better Security Warnings - An excellent look at the design process behind Firefox's certificate warning dialogs. The high cost of slow tests - One of the big sources of paying developers to fart around on company time. Markdeep - "Markdeep is a technology for writing plain text documents that will look good in any web browser, whether local or remote." Rails 6 drops support for PostgreSQL version less than 9.3 - Good to know if you haven't updated your database lately. Irbtools - Extend irb instead of using pry. Microservices Done Right, Part 2: More Antipatterns to Avoid - You must be this tall to successfully deploy microservices. The problem with ‘5 whys’ - This came out of my healthcare industry reading, but it applies to software development as well. The Wide World of Microsoft Windows on AWS - Yes you can host .NET code on AWS if you really want to.

Mildly bemused by the outcry over Sarah Sanders being caught lying. Were people under the impression that the Press Secretary's job is to always tell the truth? That past Press Secretaries never lied?

I mean, I detest the Trump administration as much as the next guy, but c'mon. Be realistic.

Just a reminder that whatever the full Mueller report does or does not contain in the way of evidence, President Trump is still a fucking moron with the compassion of a dead cat.

Actually, come to think of it, I'd rather vote for a dead cat.

Double Shot #2324

I Gave Up on Blocking JavaScript Everywhere - As a NoScript user I'm quite sympathetic to this problem. The DesignBetter.Co library: now available for free download - A pile of free ebooks to level up your design process. Rails 6 requires Ruby 2.5 or newer - Yet another reason to get the foundation updated. - "We’re a not-for-profit project building a free and open platform for discovering ethical alternatives to stuff — whether that means buying from a social enterprise, charity shopping, or learning how to fix your old phone instead of buying a new one." Kiba Pro - Commercially-supported extensions to the excellent Kiba ruby ETL framework. Protections Against Fingerprinting and Cryptocurrency Mining Available in Firefox Nightly and Beta - Yet another reason to keep running Firefox. Ripcord - Lightweight desktop client for Slack and Discord. Announcing Building Git - Why write a book about rebuilding git in Ruby? EdgeDB 1.0 Alpha 1 - "EdgeDB combines the simplicity of a NoSQL database with relational model’s powerful querying, strictness, consistency, and performance." Web Components will replace your frontend framework - Maybe, though I don't know that I'd bet against React's and Vue's inertia at this point. Master of web puppets: abusing web browsers for persistent and stealthy computation - "This paper shows how modern browsers with support for Service Workers can be stealthily connected into a botnet, with a connection that persists until the user closes the browser completely" Break functional and orchestration responsibilities for better testability - Sensible testing for microservices, and how good architecture can help.

Double Shot #2322

Correctness — the paradigm for sustainable software development - And an argument that some languages make this easier than others. El Grapho - "El Grapho is a high performance WebGL graph data visualization engine." AWS App Mesh is now generally available - Buy rather than build your service mesh, at least if you're all-in with AWS. How to use CloudFormation to deploy Frontend Apps to S3 and Serverless Application Repository - A sneaky little AWS hack. Messages on Rails Part 2: Kafka - An introduction to key concepts plus some sample code using Karafka. Programming: doing it more vs doing it better - Writing more software doesn't necessarily make you a better developer. Crash early and crash often for more reliable software - Sometimes it does make sense to use crashing as an indication that you were wrong about the invariants. On Git workflows - With email becoming an increasing disaster area, in most cases git-by-email is not the right way to go. It is your moral obligation to use Firefox - Or at least, it's a good thing to do. Agile and the Software Industry’s Ideology Problem - "[T]he software industry presents an intriguing case study on the nature of ideological monism and the challenge of reconciling the nominal objectives of an ideology with their realization in practice." Um. Sure. 12 Tips For Managing a Remote Team (And Loving It) - Some of the basics to help guide you to success. -

Dear Paris: Sorry about Notre Dame. I'm sure I can't feel the pain of an actual Parisian, but this is a loss to all of humanity.

Also sorry that our President is such a fucking moron.

Double Shot #2321

The Zero Bug Policy - Just put all the bugs at the top of the stack, ruthlessly. Creating Flow and Value in Product Development - John Cutler walks through some agile/lean best practices and why they're important. Water.css - Straightforward single-file CSS for simple sites. There's a demo site. You Might Not Need Integration Tests - Especially if you have a working canary deployment strategy. PostgreSQL performance on Raspberry Pi - Yes, it can be done. Even parallelized. dbdot - Convert PostgreSQL schemas to DOT files (which then make pretty pictures). My experience has been that by the time you want this tool the schema is too complex to print, but YMMV. How to Design Perfect (Software) Products - "Simplicity Oriented Design," an attempt to avoid the dumpster fires that come out of many large design processes. Lynis - Lightweight tool for security scanning. A Detailed Overview of AWS API Gateway - Learn about the actual magic inside. jQuery 3.4.0 Released - This should be the last release before things tool up for 4.0. Working as a UX-lead - A peak inside this job, from someone who has it. Rails::Pretty::Logger - Drop-in Logger replacement with a web UI that includes drilldown debugging.

Double Shot #2318

TypeScript and Babel, a match made in heaven - Looks like we're safely past the phase of these two tools not playing nicely with each other. slim - "slim will build a micro-vm from a Dockerfile. Slim works by building and extracting a rootfs from a Dockerfile, and then merging that filesystem with a small minimal kernel that runs in RAM." Pock - Display your MacOS dock on the TouchBar. I may try it. Then again I may just put masking tape over the freaking thing. Introducing Warp: Fixing Mobile Internet Performance and Security - Cloudflare is getting into the VPN business. Capybara::HeadlessChrome - "A nice and tidy Capybara driver for headless Chrome. Even supports file downloads!" OKRs Aren't Going to Fix Your Communication Issues - I'd go further: if you're just playing "OKR Theater" you're going to make things worse. A Roadmap for Eliminating Patents in Open Source - Technical discussion of whether the doctrine of "patent exhaustion" might simplify the legal landscape. The Founder’s Guide to Discipline: Lessons from Front’s Mathilde Collin - "The bottom line is more simple: are you disciplined enough to make it happen or not?" Lots of good actionable tips here as well. Lessons learned from jerks in the Internet - How one site discovered and dealt with a denial of service attack. The Unreasonable Effectiveness of SQL - "In fact, SQL is the most successful 4th generation language." Setting boundaries at your job as a programmer - "If you don’t enforce that boundary between work and non-work, you are sending the message that your time doesn’t belong to you."

Double Shot #2317

PostgreSQL DBaaS Calculator - How far will your dollar go with cloud database hosting? developers[] - "An array of developers," a site collecting survey responses and looking for development wisdom. You're welcome to take the survey too! Feature flags with TDD - Twitter thread with some good advice. Maily - Rails engine to let you work with emails in the browser during development. Technical Debt? Probably not. - "Whoever is pushing us for more now isn’t going to turn all fairy godmother tomorrow and slack off." ungoogled-chromium - "Google Chromium, sans integration with Google." Ruby 2.4.6 Released - This is the final non-security 2.4.x release. TypeTalk - "This is a proof-of-concept of a SmallTalk like live coding system running in the browser, based on TypeScript." Gimli - VS Code extension featuring visual tools for frontend developers, now on Kickstarter. Timeless Design Principles - There don't seem to be programming languages that force you to adhere to good design principles - but it's been possible to use those same principles for decades across multiple languages. Malicious remote code execution backdoor discovered in the popular bootstrap-sass Ruby gem - Kind of a big deal. If you're using this gem you need to take steps to protect yourself.

Double Shot #2316

ActiveInteractor - A fresh implementation of the interactor pattern that also draws inspiration from Active Model. JavaScript Coercions Grid - A maze of twisty little edge cases. PeerJS - JS wrapper for WebRTC to let you easily build peer-to-peer functionality. Color Blindness Considerations for Designers and Content Managers - Yes, you should think about these things. Timestamps and Time Zones in PostgreSQL - Did you know there are two types of timestamps in PostgreSQL? Yeah, neither did I. Why You Should Never Save Passwords on Chrome or Firefox - Because if someone gets physical access, deciphering the stored passwords is trivial. Evaluating 8 Months of Building a Rails Vue SPA - Bottom line: after initial configuration, it worked well. Ruby API - Full-text searchable Ruby documentation. Ruby's Creed - I see I'm not the only one who's less-than-happy with some of the recent syntax additions. State of DevOps Survey - This is the one used to create the Accelerate State of DevOps Report, and you can take it now. How to transition into a Developer Relations career - If you like both code and people, this might be the career for you.

Eldest daughter has now reached the point where she won't get her breakfast if someone else is in the kitchen. I am so sick and tired of this prima donna privileged behavior that I could spit. Not going to miss this when she moves out.

Double Shot #2315

red - Terminal analysis tools for JSON logs. GitPitch - "Modern slide decks for Developers." This gives you slide decks in Markdown, with a variety of paid extra features available. Understanding Agile Values & Principles. An Examination of the Agile Manifesto - Free 60-page eBook via InfoQ. Engineering Management Distilled: A guide to one-on-ones - Some advice with the end goal of "the primary goal of the one-on-one is to build and maintain an efficient information channel between you and the people on your team." Super Graph - "Instant GraphQL API for Rails. Zero code." But a fair chunk of configuration, of course. Fear - Option, Either, and Try monads implemented in Ruby. Announcing TypeScript 3.4 - Yup, static-typed JS is still evolving. Coaching Tools – The Narrative - Narratives are hugely-useful and hugely-underused tools in my experience of development.

Double Shot #2314

A complete guide to threads in Node.js - Just in case your life wasn't complicated enough already. Dumpster Diving through Dotfiles: Better Git Logging - A few useful aliases Junior Developer Koans - Or maybe the Senior Developer is just a jerk. LOOPY - Graphical tool for exploring system relationships. Call for testing: OpenSSH 8.0 - Coming soon to clients and servers near you. Why I miss Rails - This is why I mostly haven't left Rails. The status of Ruby memory trimming & how you can help with testing - There's some exciting work going on in this area. RailsDiff - Diff of boilerplate from version to version of Rails, an invaluable aid when upgrading.

Double Shot #2313

Lambda optimization tip – enable HTTP keep-alive - Specifically when working with DynamoDB. John Maeda: “In reality, design is not that important” - Some rethnking from the head of inclusion and computational design at Automattic. Agile as a Corollary to Twyman’s Law - "In software, the greatest source of waste is building the wrong thing, period, not building the right thing slowly, not building the wrong thing slowly, just flat-out building non-value-adding crap." Ops School Curriculum - A crowdsourced outline and reference of knowledge for operations engineers. Was MongoDB Ever the Right Choice? - Making tech decisions by following the cool kids isn't always the smartest thing you can possibly do. Rails 5.1.7 has been released and Rails 5.2.3 has been released - Go forth and patch. Why bother with What Three Words? - "W3W is a closed product. It is a for-profit company masquerading as an open standard. And that annoys me." Merging OpenTracing and OpenCensus: Goals and Non-Goals - Two standards that hope to become one.

Double Shot #2312

Passwordless ZSH history -A tidbit for the paranoid. Good news: Remote work is more accepted. Bad news: You might not want it. - Looking at the results of a Robert Half report. I doubt the numbers here match those in software. Refactoring To Higher-Order Functions - A functional programming exercise in Ruby. Kroki - A unified API to convert many plain text diagram-definition formats into images. Best Practices for Managing Remote Teams: A Psychological Perspective - Some notes on making remote work better by intentionally designing the work environment. Pong - Self-hosted uptime monitoring application. Monolith vs Microservices - Some things to consider about making the tradeoff. Storing UTC is not a silver bullet - Nothing ever is, alas.

Show more

A Mastodon instance for Rubyists & friends