Bookmarks tagged with #programming.
Show all
Show all
The Grug Brained Developer
Introduction this collection of thoughts on software development gathered by grug brain developer grug brain developer not so smart, but grug brain developer program many long year and learn some things although mostly still confused grug brain developer try collect learns into small, easily digesti
Tags:
#programming
Saved
on: 2024-10-01
Building Maintainable PHP Applications: Over-engineering vs under-engineeri
Overengineering (or over-engineering) is the act of designing a product or providing a solution to a problem in an elaborate or complicated manner, where a simpler solution can be demonstrated to exist with the same efficiency and effectiveness as that of the original design.
Tags:
#programming
Saved
on: 2023-12-31
Building a Better PHP Project: What Tools Should I Not Miss?
I've just been handed a PHP project that's a bit of a blank slate – no static analysis, linters, coding standards, or tests have been used so far. N
Saved
on: 2023-12-15
(11) A Philosophy of Software Design | John Ousterhout | Talks at Google -
John Ousterhout, Professor of Computer Science at Stanford University, discusses complex techniques on how to become a more confident coder. John is excited to announce that he just published the first edition of a new book on software design, based on material from a software design class he has b
Saved
on: 2023-10-25
The Grug Brained Developer
Introduction this collection of thoughts on software development gathered by grug brain developer grug brain developer not so smart, but grug brain developer program many long year and learn some things although mostly still confused grug brain developer try collect learns into small, easily digesti
Tags:
#programming
Saved
on: 2023-10-25
Base64 Encoding, Explained
When you're programming, it's easy to get by with a superficial understanding of many things. You can easily fool yourself by thinking that you are programming when you are blindly copy + pasting code from Stack Overflow or some random article you stumbled upon.
Tags:
#programming
Saved
on: 2023-10-23
Write more "useless" software
After my last blog post about Hurl, someone asked me, and I quote: "... why?" The simple answer is "for the joke." But the longer answer is that useless software1 is a fantastic way to explore and experience the joy of computing. Play is an important part of exploration and joy.
Tags:
#programming
Saved
on: 2023-10-19
Choose Boring Technology
This is the spoken word version of my essay, Choose Boring Technology. I have largely come to terms with it and the reality that I will never escape its popularity. Here are my other talks, my website, and some Medium posts.
Tags:
#programming
Saved
on: 2023-10-02
PodRocket - A web development podcast from LogRocket - HTMX with Carson Gro
Listen to podcasts and build your library in the YouTube Music app.
Tags:
#programming
Saved
on: 2023-09-22
Inside New Query Engine of MongoDB
Discussion on HackerNews and Lobsters. MongoDB has recently released a new query engine coming in version 7.0. I was one of the people working on this engine during my 2 years in MongoDB and I would like to share some technical details about it.
Saved
on: 2023-09-21
What I Have Changed My Mind About in Software Development
Lately I have been thinking about what I have changed my mind about in software development. Here are the things I came up with: Self-documenting code. I used to think that the names of the classes, methods and variables should be enough to understand what the program does.
Tags:
#programming
Saved
on: 2023-09-11
Design Patterns in PHP 8 Series' Articles - DEV Community
Design Patterns in PHP 8 Series' Articles Back to Max Zhuk's Series Jul 20 '22 Design Patterns in PHP 8: Singleton & Multiton #php #webdev #programming #oop 71 9 3 min read Jul 22 '22 Design Patterns in PHP 8: alternative implementations #php #webdev #programming #oop 51 4 2 min read Jul 31 '22 Desi
Saved
on: 2023-09-08
Commit Mono. Neutral programming typeface.
Click to focus page. Commit Mono is an anonymous and neutral coding font focused on creating a better reading experience.
Saved
on: 2023-09-07
Benefits of separating core code from infrastructure code
When it comes to software design and software architecture, there are many theoretical approaches with fancy acronyms (like SOLID, CUPID, DDD, hexagonal architecture, clean architecture, …).
Tags:
#programming
Saved
on: 2023-09-01
Hypermedia Systems
For web developers frustrated with the complexity of modern practice, those looking to brush up on web fundamentals, web development shops looking to bring their apps to mobile, and any workaday programmer looking for an introduction to hypermedia and REST.
Saved
on: 2023-08-18
htmx ~ Locality of Behaviour (LoB)
Carson Gross “The primary feature for easy maintenance is locality: Locality is that characteristic of source code that enables a programmer to understand that source by looking at only a small portion of it.
Saved
on: 2023-08-16
Testing without mocking frameworks.
Over the years, my coding practices have changed a lot. From hacking away until it works to TDD/BDD/DDD and everything in between. One of the biggest changes in my developer career has been when, why, and how I test my code. In particular, my view on mocking frameworks has changed a lot.
Saved
on: 2023-03-28
sarven/unit-testing-tips
In these times, the benefits of writing unit tests are huge. I think that most of the recently started projects contain any unit tests.
Saved
on: 2022-12-21
Steve vs Matt — How two developers approach the same problem | Laravel News
It's very common to see two programmers who code the same feature differently. But it's much less common for those two programmers to see eye-to-eye and remain friendly.
Saved
on: 2022-12-21
Hello, Video Codec!
It can't be overstated how crucial video codecs are to the products we use every day. Without them, we wouldn't be able to watch videos on YouTube or meet remotely via Zoom.
Tags:
#programming
Saved
on: 2022-12-19
quine-relay/QR.rb at master · mame/quine-relay
If you are using Ubuntu 24.04 LTS (Noble Numbat), you can follow these steps. First, you need to type the following apt-get command to install them all.
Saved
on: 2022-10-06
Granular interfaces — Sebastian De Deyne
A few weeks ago a spec change for an application we're working on forced us to refactor part of the codebase. It was food for thought about the flexibility granular interfaces provide, and choosing the right abstraction at the right time.
Tags:
#programming
Saved
on: 2022-09-06
Patterns.dev - Modern Web App Design Patterns
Patterns.dev is a free online resource on design, rendering, and performance patterns for building powerful web apps with vanilla JavaScript or modern frameworks.
Saved
on: 2022-09-06
GitHub does dotfiles - dotfiles.github.io
Your unofficial guide to dotfiles on GitHub. Why would I want my dotfiles on GitHub?
Saved
on: 2022-08-29
The mystery of “when women stopped coding” – the triketora press
NPR did a Planet Money podcast in 2014 posing the mystery of “When Women Stopped Coding”. The writeup online includes a striking graph of the percentages of women in different fields of study, plotted out over the last few decades.
Saved
on: 2022-08-27
Why do arrays start at 0?
I was at my wits end for this newsletter after my first two ideas hit research barriers. Then someone linked me this story about why arrays start at 0 and bam I had my topic. Specifically, arguing that said link is wrong and does not, in fact, fully explain why arrays start at 0.
Tags:
#programming
Saved
on: 2022-08-25
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together – @hgraca
This post is part of The Software Architecture Chronicles, a series of posts about Software Architecture. In them, I write about what I’ve learned about Software Architecture, how I think of it, and how I use that knowledge.
Saved
on: 2022-08-17
Story Points Revisited
I like to say that I may have invented story points, and if I did, I’m sorry now. Let’s explore my current thinking on story points. At least one of us is interested in what I think. Stories, of course, are an XP idea, not a Scrum idea. Somehow, Scrum practitioners have adopted the idea.
Saved
on: 2022-07-10
Code vs. No-Code | Jason Morris
There was a conversation on Twitter this week that helped to clarify my thinking about something, and I wanted to share. There is a sort of tension between “code” and “no-code” (sometimes “low-code”) solutions.
Saved
on: 2022-06-23
Running PHPStan on max with Laravel | Laravel News
Over the last few years static analysis in PHP, and more specifically Laravel, has become more and more popular. With more people adopting it into their Software Delivery Lifecycle, I thought it would be a good time to write a tutorial on how you can add this to your Laravel project.
Saved
on: 2022-06-21
Some Monolog logging best practices
Logging can help to debug massively. Today, we'll go over some of the best practices for logging with Monolog I've learnt over the years. One of the first things that makes reading logs easier is the ability to group the logs together.
Tags:
#programming
Saved
on: 2022-06-04
How do Video Games Stay in Sync? An Intro to the Fascinating Networking of Real Time Games.
Have you ever wondered how real-time games can keep multiple clients in sync even when there are large latencies between users? How can you see other players reacting to your actions near instantly, in spite of the fact that the communication between your computer and the server is not instant?
Tags:
#programming
Saved
on: 2022-05-28
Steve Schoger / User Interface Designer
This nifty print-it-yourself poster is a great reference for developers to hang near their workspace. For best results, follow the directions provided below.
Saved
on: 2022-04-13
Hexagonal architecture and Domain Driven Design | Towards Dev
When we correlate DDD and Architecture, many of us think of Microservices. But this is not the only one implementation for DDD concept. Hexagonal Architecture is also a good candidate for implementing DDD correctly and it is a very good architecture in general described by Robert C.
Saved
on: 2022-04-12
MonoLisa
As software developers, we always strive for better tools but rarely consider a font as such. Yet we spend most of our days looking at screens reading and writing code. Using a wrong font can negatively impact our productivity and lead to bugs.
Saved
on: 2022-02-15
Five Books that Changed My Career as a Software Engineer
Hi folks, It has been a long time since my last post. It’s time to back to writing, better late than never(or better late than even later).
Saved
on: 2021-11-28
Power Fx: Open source now available
We are very excited to announce the preview release of Microsoft Power Fx as open source. Under the MIT license, you can now freely integrate this Excel-like, low code programming language in your own projects.
Tags:
#programming
Saved
on: 2021-11-18
The Dependency Injection Paradigm — Matthias Noback : Blog
Paradigm; a nice word that means "a theory or a group of ideas about how something should be done, made, or thought about" (Merriam-Webster). In software development we have them too.
Tags:
#programming
Saved
on: 2021-11-13
Culture matters
Three major tools that companies have to influence behavior are incentives, process, and culture.
Saved
on: 2021-11-09
Recommendations for productivity tools/libraries?
Hi, just curious what are the tools/libraries/techniques/etc that save you the most time developing web apps on a daily basis? Thanks
Saved
on: 2021-11-06
Alan Kay on the context and catalysts of personal computing
Alan Kay is a prolific computer scientist often referred to as the “father of personal computers." He's best known for his work on object-oriented programming languages, windowing graphical user interface design (also known as GUIs) and for leading the team that developed Smalltalk.
Saved
on: 2021-10-17
20 Things I've Learned in my 20 Years as a Software Engineer - Simple Threa
You’re about to read a blog post with a lot of advice. Learning from those who came before us is instrumental to success, but we often forget an important caveat. Almost all advice is contextual, yet it is rarely delivered with any context.
Saved
on: 2021-10-08
Learn How Others Are Running Your Favorite Web Frameworks and Tech Stacks in Production
A podcast where folks talk about running small & large web apps in production. Topics include tech stacks, lessons learned and DevOps / deployment tips. Full stack developer. Author of web development and deployment courses. Technical death metal enthusiast.
Saved
on: 2021-09-23
How We Got to LiveView
I’m Chris McCord. I work at Fly.io and created Phoenix, an Elixir web framework. Phoenix provides features out-of-the-box that are difficult in other languages and frameworks. This is a post about how we created LiveView, our flagship feature.
Saved
on: 2021-09-23
Where do types come from? — Matthias Noback - Blog
In essence, everything is a string. Well, you can always go one layer deeper and find out what a string really is, but for web apps I work on, both input data and output data are strings.
Saved
on: 2021-09-15
My Software Estimation Technique - Jacob Kaplan-Moss
Last time, I explained that, although estimating software project timelines is hard, you should do it anyway. With that background, I want to go into some detail and share the technique I use when I need to develop a project timeline.
Tags:
#programming
Saved
on: 2021-06-24
Software Estimation Is Hard. Do It Anyway. - Jacob Kaplan-Moss
It’s well-established that estimating software projects is hard. One study by HBR found that one in six IT projects had cost overruns of over 200% and were late by almost 70%. Another study by McKinsey found that IT projects are on average 45% over budget and 7% over schedule.
Tags:
#programming
Saved
on: 2021-06-24
An incomplete list of skills senior engineers need, beyond coding | by Cami
Saved
on: 2021-06-22
Writing better Regular Expressions in PHP • PHP.Watch
Regular Expressions are powerful, PHP but they are not known to be readable, and more often than not, maintaining a regular expression is not a straight-forward task. PHP uses PCRE (PCRE2 since PHP 7.
Saved
on: 2021-06-16
What it means to run a monolith on AWS Lambda
Let's talk about the elephant monolith in the room. It's easy to associate monoliths with legacy, weird, outdated, insecure code. A beast developed for decades that nobody wants to touch because they'll break it and it is impossible to wrap your head around everything.
Saved
on: 2021-05-31
The data model behind Notion's flexibility
Today, that information mostly remains siloed across tools. Take cloud-based document editors, where pages are their smallest atomic unit. Information is locked inside of pages and files and folders — that’s reminiscent of how things were done a century ago.
Saved
on: 2021-05-19
Hosting SQLite databases on Github Pages
I was writing a tiny website to display statistics of how much sponsored content a Youtube creator has over time when I noticed that I often write a small tool as a website that queries some data from a database and then displays it in a graph, a table, or similar.
Saved
on: 2021-05-03
Do not mock what you do not own | The PHP Consulting Company
Saved
on: 2021-04-26
When Objects Are Not Enough
I've been looking up resources on the roots of Object-Oriented Programming - a.k.a. OOP. This journey started because there is a trend in the Laravel community of using Actions, and the saying goes as that's what "Real OOP" is about.
Saved
on: 2021-03-05
Testing your controllers when you have a decoupled core — Matthias Noback -
A lot can happen in 9 years. Back then I was still advocating that you should unit-test your controllers and that setter injection is very helpful when replacing controller dependencies with test doubles.
Saved
on: 2021-03-02
Does it belong in the application or domain layer? — Matthias Noback - Blog
Where should it go? If you're one of those people who make a separation between an application and a domain layer in their code base (like I do), then a question you'll often have is: does this service go in the application or in the domain layer? It sometimes makes you wonder if the distinction bet
Tags:
#programming
Saved
on: 2021-02-25
Talk review: Thomas Pierrain at DDD Africa — Matthias Noback - Blog
As a rather unusual pastime for the Saturday night I attended the third Domain-Driven Design Africa online meetup. Thomas Pierrain a.k.a. use case driven spoke about his adaptation of Hexagonal architecture.
Saved
on: 2021-02-23
Successful refactoring projects - Prepare to stop at any time — Matthias No
A common case of refactoring-gone-wrong is when refactoring becomes a large project in a branch that can never be merged because the refactoring project is never completed.
Tags:
#programming
Saved
on: 2021-02-17
Should we use a framework? — Matthias Noback - Blog
Since I've been writing a lot about decoupled application development it made sense that one of my readers asked the following question: "Why should we use a framework?" The quick answer is: because you need it. A summary of the reasons: So, yes, you/we need a framework.
Saved
on: 2021-02-17
Why I Built Litestream
tl;dr—Despite an exponential increase in computing power, our applications require more machines than ever because of architectural decisions made 25 years ago. You can eliminate much of your complexity and cost by using SQLite & Litestream for your production applications.
Saved
on: 2021-02-12
About
There is a secret that needs to be understood in order to write good software documentation: there isn’t one thing called documentation, there are four. They are: tutorials, how-to guides, technical reference and explanation.
Tags:
#programming
Saved
on: 2021-02-03
Software development topics I've changed my mind on after 6 years in the industry
Things I've changed my mind on: Things I now believe, which past me would've squabbled with: Typed languages are better when you're working on a team of people with various experience levels Standups are actually useful for keeping an eye on the newbies.
Tags:
#programming
Saved
on: 2021-01-24
Context switching costs more than we give it credit for. - Thinking Through
When I was a junior engineer, one of the best advice I got from a seasoned principal engineer was to batch things, stack rank them in preferred order (by time, size, impact, or priority), and execute. And, be careful when batching them.
Saved
on: 2021-01-18
Gitbar - Il podcast dei developer italiani
Conversazioni sullo sviluppo software fatte davanti a una birra.
Saved
on: 2021-01-15
It’s not legacy code — it’s PHP. Vimeo has been using PHP in production… |
In the last year, Vimeo developers have written backend code in lots of languages — PHP, Go, Ruby, Python, NodeJS, Java, C, C++, and a bit of Rust. In 2004, we started with just one: PHP. It was an ideal language for brand-new startups like Vimeo.
Saved
on: 2021-01-15
Tools for better programming
Recently I discovered these tools that have helped me to control the quality of my code.
+ https://github.com/rectorphp/rector
+ https://github.com/
Saved
on: 2021-01-13
Build Your Own Text Editor
Welcome! This is an instruction booklet that shows you how to build a text editor in C. The text editor is antirez’s kilo, with some changes.
Tags:
#programming
Saved
on: 2021-01-10
Why your team doesn't need to use pull requests
Github introduced the pull request practice, and features to support it, to make it easier for people who run open-source projects to accept contributions from outside their group of trusted committers. Committers are trusted to make changes to the codebase routinely.
Saved
on: 2021-01-03
No Country for Old Developers | Hacker News
Saved
on: 2020-12-28
Micro - Micro is a platform for API driven services development
Tags:
#programming
Saved
on: 2020-12-22
Live Coding 12-Factor App
Jiang: I'm Emily Jiang. I work for IBM. Actually, I'm based in IBM, UK down in Hursley. I'm the Senior Technical Staff member in IBM. I mainly work on open-source projects, MicroProfile, Open Liberty as an Architect.
Saved
on: 2020-12-20
Refactoring Am I Rent Stabilized
Revisiting the code of a five year old project.
Tags:
#programming
Saved
on: 2020-12-14
The Value-Effort Matrix: A framework for thinking about work
Your product owner comes to you with a request, and suddenly your stomach is tied in knots. There’s something about the request that doesn’t sit right. You blurt out, “well, that’s a lot of work,” because it’s the only thing that comes to mind.
Saved
on: 2020-11-19
Voice Driven Development by Emily Shea – Deconstruct
(Editor's note: transcripts don't do talks justice.
Saved
on: 2020-11-05
CMU 17-313: Foundations of Software Engineering - CMU 17-313: Foundations of Software Engineering
Skip to content 17-313 Foundations of Software Engineering¶ This Week¶ Recitation None! Office Hours Held on the first floor lobby of TCS.
Tags:
#programming
Saved
on: 2020-10-31
An Intuition for Lisp Syntax
Every lisp hacker I ever met, myself included, thought that all those brackets in Lisp were off-putting and weird. At first, of course. Soon after we all came to the same epiphany: lisp’s power lies in those brackets! In this essay, we’ll go on a journey to that epiphany.
Tags:
#programming
Saved
on: 2020-10-26
(5) C Course (The Basics) - YouTube
Learn C++ by building a crossword construction program from scratch. Free and fun! 12 hours of video instruction plus exercises. See www.codingforcrosswords.com
Saved
on: 2020-10-23
Casting JSON Columns to Value Objects with Laravel – Jess Archer
Have you ever wanted to access an attribute of an Eloquent model as a value object, similar to how Eloquent lets us work with dates via Carbon? Most value objects have multiple attributes. That's part of what separates them from primitive types like strings and integers.
Saved
on: 2020-10-23
Managing technical quality in a codebase.
If there’s one thing that engineers, engineering managers, and technology executives are likely to agree on, it’s that there’s a crisis of technical quality.
Tags:
#programming
Saved
on: 2020-10-22
Readable Laravel | Spatie
VacanciesAboutBlogDocsGuidelines Kruikstraat 22, Box 12 2018 Antwerp, Belgium info@spatie.
Tags:
#programming
Saved
on: 2020-10-21
Monolith -> Services: Theory & Practice
How can we get from a monolith to micro-services quickly? Can’t answer that question. First, “quickly” is right out the window. You didn’t make this mess in a month; you’re not going to fix it in a month.
Tags:
#programming
Saved
on: 2020-10-07
Work on what matters | StaffEng
I've taken to using the word "energized" over "impactful." "Impactful" feels company-centric, and while that's important, "energized" is more inwards-looking. Finding energizing work is what has kept me at Stripe for so long, pursuing impactful work. - Michelle Bu
Saved
on: 2020-09-25
Lessons interviewing 200 engineers: the perfect process to manage tech deb
Saved
on: 2020-09-17
A simple recipe for framework decoupling — Matthias Noback - Blog
If you want to write applications that are maintainable in the long run, you have to decouple from your framework, ORM, HTTP client, etc. because your application will outlive all of them. Following rule 1 ensures that you'll never fetch a service ad hoc, e.g.
Saved
on: 2020-09-12
Violating the Dependency rule — Matthias Noback - Blog
I write about design rules a lot, but I sometimes forget to: Mention that these rules can't always be applied, Describe when that would be the case, and Add examples of situations where the rule really doesn't matter. The rules should work in most cases, but sometimes need to be "violated".
Saved
on: 2020-09-08
Refactoring PHP - Christoph Rumpel
Refactoring is the process of modifying and restructuring code without changing its functionality. When I first heard about it, I was like: Why would anyone do that? It took some years until I fully understood the concept and that the working code is not always good.
Tags:
#programming
Saved
on: 2020-09-03
18.S097: Programming with Categories
Summary: In this course we explain how category theory—a branch of mathematics known for its ability to organize the key abstractions that structure much of the mathematical universe—has become useful for writing elegant and maintainable code.
Saved
on: 2020-09-03
Dialects in Code: Part 1 - Ross Tuck
For a long time, I’ve been interested in how different folks can use the same programming language in radically different ways. I’ve privately used the term “dialects” to describe these different approaches.
Tags:
#programming
Saved
on: 2020-08-27
CQRS and Event Sourcing for dummies | Codurance
Saved
on: 2020-08-27