🔗 Essays on programming I think about a lot

Essays on programming I think about a lot | benkuhn.net Every so often I read an essay that I end up thinking about, and citing in conversation, over and over again. Here’s my index of all the ones of those I can remember! Nelson Elhage, Computers can be understood Dan McKinley, Choose Boring Technology Sandy Metz, The Wrong Abstraction Patrick McKenzie, Falsehoods Programmers Believe About Names Thomas Ptacek, The Hiring Post...

May 29, 2024 · 1 min · 156 words

🔗 LemonAppDev/konsist

GitHub - LemonAppDev/konsist: Konsist is a powerful static code analyzer tailored for Kotlin, focused on ensuring codebase consistency and adherence to coding conventions. Konsist is a powerful static code analyzer tailored for Kotlin, focused on ensuring codebase consistency and adherence to coding conventions. Konsist is a linter that guards the consistency of Kotlin projects by enforcing a cohesive code structure and unified architecture. Konsist guards are written in the form of unit tests (JUnit / Kotest)....

May 24, 2024 · 1 min · 117 words

🔗 dandavison/delta

GitHub - dandavison/delta: A syntax-highlighting pager for git, diff, grep, and blame output Code evolves, and we all spend time studying diffs. Delta aims to make this both efficient and enjoyable: it allows you to make extensive changes to the layout and styling of diffs, as well as allowing you to stay arbitrarily close to the default git/diff output.

May 24, 2024 · 1 min · 59 words

🔗 Catalog of Refactoring and Design Patterns

Catalog of Refactoring Refactoring.Guru makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics. See also: The Catalog of Refactoring The Catalog of Design Patterns

May 5, 2024 · 1 min · 38 words

🔗 PRQL - Pipelined Relational Query Language

PRQL Pipelined Relational Query Language, pronounced “Prequel” PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement For example, “Top N by group”: from employees group role ( sort join_date take 1 ) WITH table_0 AS ( SELECT *, ROW_NUMBER() OVER ( PARTITION BY role ORDER BY join_date ) AS _expr_0 FROM employees ) SELECT * FROM table_0 WHERE _expr_0 <= 1

October 26, 2023 · 1 min · 67 words

🔗 Leporello.js

Leporello.js · Interactive functional programming IDE for JavaScript Your code is executed instantly as you type, with the results displayed next to it. No need to set breakpoints for debugging. Just move the cursor to any line and see what’s happening. Reminds me of some of the concepts from Inventing on Principle by Bret Victor.

October 3, 2023 · 1 min · 55 words

🔗 Google Style Guides

Google Style Guides This project (google/styleguide) links to the style guidelines we use for Google code. AngularJS Style Guide Common Lisp Style Guide C++ Style Guide C# Style Guide Go Style Guide HTML/CSS Style Guide JavaScript Style Guide Java Style Guide Objective-C Style Guide Python Style Guide R Style Guide Shell Style Guide Swift Style Guide TypeScript Style Guide Vim script Style Guide

September 17, 2023 · 1 min · 63 words

🔗 PNGme: An Intermediate Rust Project

Introduction - PNGme: An Intermediate Rust Project This guide is intended to fill the gap between heavily directed beginner tutorials and working on your own projects. The primary goal here is to get you writing code. The secondary goal is to get you reading documentation. If you haven’t read The Rust Programming Language yet, I highly encourage you to do so before attempting this project. This guide does not cover any language features....

September 7, 2023 · 1 min · 73 words
On the left, red switch with a 1 on top, a 0 on the bottom, and turned to the 1 position + on the right a coaxial selector with the input on the bottom, an A and B position of top, and the central nob set to the A position

💭 Mental model for Booleans vs Enumerates

In programming, Booleans and Enumerates are common data types to represent the concept of “choice”. When there are several things to choose from, the Enumerate is the only one to support it, so that’s clear. But what about when you have two things to choose from? There might be some confusion between both data types since either of them supports handling binary choices. The confusion arrises in particular when you want to add the choice of a new behaviour, on top of an existing one....

May 15, 2023 · 2 min · 352 words

💭 PHP shenanigans

Pop quiz about PHP and something we’ve stumbled upon last week, while working on a client’s codebase. ...

April 15, 2019 · 2 min · 294 words

💭 Scala Enumerations Summary

Comparison between different ways of doing enumerates, with scala.Enumeration, case object and Java’s Enum.

May 14, 2017 · 9 min · 1882 words

🔗 Learn Ruby with the Neo Ruby Koans

Learn Ruby with the Neo Ruby Koans Great way to lean Ruby by fixing errors in set of well thought of unit tests.

May 13, 2015 · 1 min · 23 words

🏞 HSL Color

With practice, this new mental map of color will become instinctive: you’ll likely find that it is much easier to create and manipulate color specified in HSL in your stylesheet code than hex or RGB. See also Three Ways You Should Be Using HSL Color In Your Site Today.

January 2, 2015 · 1 min · 49 words

🔗 Learn X in Y Minutes: Scenic Programming Language Tours

Learn X in Y Minutes: Scenic Programming Language Tours Learn X in Y minutes : Take a whirlwind tour of your next favorite language. Community-driven!

October 24, 2014 · 1 min · 25 words

📜 for each desired change, make the change easy (warning: this may be

for each desired change, make the change easy (warning: this may be hard), then make the easy change. Kent Beck

July 3, 2014 · 1 min · 20 words

🏞 (image)

(via What’s wrong with this picture? | Code.org ) Computer science is a top paying college degree and computer programming jobs are growing at 2x the national average . Less than 2.4% of college students graduate with a degree in computer science. And the numbers have dropped since last decade. See also Promote Computer Science | Code.org

March 27, 2014 · 1 min · 57 words

🔗 Type-System Criteria · ongoing by Tim Bray

Type-System Criteria · ongoing by Tim Bray Cri­te­ria Let’s call them the Bánffy-Bray cri­te­ria for se­lect­ing be­tween sta­tic and dy­namic type sys­tems. Sta­tic typ­ing’s at­trac­tive­ness is a di­rect func­tion (and dy­namic typ­ing’s an in­verse func­tion) of API sur­face size. Dy­namic typ­ing’s at­trac­tive­ness is a di­rect func­tion (and sta­tic typ­ing’s an in­verse func­tion) of unit test­ing work­a­bil­ity.

January 24, 2014 · 1 min · 56 words

📋 Learn to Code

Online interactive resources to learn programming: Learn | Code.org — Beginners (concepts), HTML/CSS, JavaScript, Python, Codecademy — HTML/CSS, JavaScript, jQuery, PHP, Python, Ruby Learn Code The Hard Way — Python, Ruby, C, SQL, Regex, CLI Try Ruby: learn the basics of the Ruby language in your browser

January 16, 2014 · 1 min · 47 words

🏞 (image)

This brings us to the magical three step process for becoming an expert at anything: Watch someone Try it yourself and experiment Teach someone else (via Programming Your Brain: The Art of Learning in Three Steps | BitNative ) See also another image representation:

December 17, 2013 · 1 min · 44 words

📜 When I left Sun to go to NeXT, I thought Objective-C was the coolest

When I left Sun to go to NeXT, I thought Objective-C was the coolest thing since sliced bread, and I hated C++. So, naturally when I stayed to start the (eventually) Java project, Obj-C had a big influence. James Gosling, being much older than I was, he had lots of experience with SmallTalk and Simula68, which we also borrowed from liberally. Patrick Naughton (in Java Was Strongly Influenced by Objective-C )...

November 11, 2013 · 1 min · 82 words