Bookmarks tagged with #programming.
Show all
Show all
Value-Oriented Programming
The research Val programming language uses value-oriented programming. Lucian Radu Teodorescu explores this paradigm.
Saved
on: 2023-02-08
PSR-14: Example - Access voting | PeakD
So far in our 5 part series we've dug into the details of Events, Dispatchers, and Providers. An awful lot of flexibili... by crell
Saved
on: 2023-02-01
My PHP enum style guide - stitcher.io
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
Saved
on: 2023-01-17
Furby 1998 source code : David Hampton, Wayne Schulz : Free Download, Borrow, and Streaming : Internet Archive
The source code of the firmware used in the 1998 Furby.The patent wrapper containing it was obtained and scanned by Sean Riddle (seanriddle.com).
Saved
on: 2023-01-09
sarven/unit-testing-tips: Unit testing tips by examples in PHP
Unit testing tips by examples in PHP
Saved
on: 2022-12-21
Steve vs Matt — How two developers approach the same problem | Laravel News
It's common to see two programmers who code the same feature differently. 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!
In this post, we'll explore at a high level the key concepts and defining characteristics of video codecs. Then, to further demystify them, we'll even implement one from scratch in about a hundred lines of Rust.
Tags:
#programming
Saved
on: 2022-12-19
I have nothing to declare but my strict types — Webkudu
Improve your PHP code in just 1 minute by adding strict types! Part of a series focused around PHP/Laravel/MySQL/Coding.
Saved
on: 2022-10-26
We’re drowning | snarfed.org
Matthew Childs / Reuters We live in a golden age of software reuse. We've never before had such a wealth of freely available code, in so many languages, so easy to find and install. And yet, we're drowning. We slap together rickety rowboats and toss them out on PyPI Ocean and npm Sea, then act…
Saved
on: 2022-10-20
quine-relay/QR.rb at master · mame/quine-relay
An uroboros program with 100+ programming languages - mame/quine-relay
Saved
on: 2022-10-06
Good design means it's easy-to-change — Matthias Noback - Blog
Software development seems to be about change: the business changes and we need to reflect those changes, so the requirements or specifications change, frameworks and libraries change, so we have to change our integrations with them, etc. Changing the code base accordingly is often quite painful, because we made it resistant to change in many ways.
Code that resists change I find that not every developer notices the “pain level” of a change. As an example, I consider it very painful if I can’t rename a class, or change its namespace. One reason could be that some classes aren’t auto-loaded with Composer, but are still manually loaded with require statements. Another reason could be that the framework expects the class to have a certain name, be in a certain namespace, and so on. This may be something you personally don’t consider painful, since you can avert the pain by simply not considering to rename or move classes.
Saved
on: 2022-09-28
Experimenting A New Syntax To Write SVG
It's been a while since I introduced a new syntax to the css-doodle project
to solve my own problems.
While I'm not sure it would be useful elsewhere,
I need to make some notes before I forget the details.
Saved
on: 2022-09-27
Algorithms in PHP: Deques (circular buffers & linked lists) – A Walk Within
In the previous post, I talked about priority queues. But in my explanation of an alternative implementation, I neglected to mention a few things: The alternative implementation isn’t for pro…
Saved
on: 2022-09-13
Ask HN: What's the best source code you've read? | Hacker News
Saved
on: 2022-09-11
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. This is a short writeup on the thought…
Tags:
#programming
Saved
on: 2022-09-06
Patterns.dev - Modern Web App Design Patterns
Learn JavaScript design and performance patterns for building more powerful web applications.
Saved
on: 2022-09-06
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…
Saved
on: 2022-08-27
Why do arrays start at 0?
It's not the reason you think. No, it's not that reason either.
Tags:
#programming
Saved
on: 2022-08-25
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together – @hgraca
In my last posts I’ve been writing about many of the concepts and principles that I’ve learned and a bit about how I reason about them. But I see these as just pieces of big a puzzle. …
Saved
on: 2022-08-17
“Code” 2nd Edition Now Available!
In a startling disruption of the space-time continuum — and a violation of the basic maxim of publishing that nothing is ever on time — the publication date of the 2nd edition of my book Code: The Hidden Language of Computer Hardware and Software was bumped up by 12 days. That means that the publication date is today and the book might be available from your favorite book vendor. (Or perhaps not quite yet.)
Saved
on: 2022-08-08
Story Points Revisited
This is RonJeffries.com, the combination of new articles, XProgramming, SameElephant, and perhaps even some new items never before contemplated.
Copyright © 1998-forever Ronald E Jeffries
Saved
on: 2022-07-10
It's 1997 and you want to build a website - The History of the Web
You have a few options. How much time you got?
Saved
on: 2022-07-06
Benchmarking serialization | PeakD
I benchmarked PHP's native serializer vs code export. You won't believe what I found!... by crell
Saved
on: 2022-06-29
On the use of enums | PeakD
When should you use PHP enums, and when shouldn't you?... by crell
Saved
on: 2022-06-29
A few that come to mind: Hosting SQLite databases on GitHub Pages or any static ... | Hacker News
Tags:
#programming
Saved
on: 2022-06-25
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.
People who consider themselves software developers see people trying to use no-code solutions to do things that the no-code solutions are not good at, and they get frustrated that the capabilities of those tools has been overestimated.
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. Follow this tutorial and start using it today
Saved
on: 2022-06-21
Some Monolog logging best practices | Parthenon The Symfony SaaS Boilerplate
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.
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…
Tags:
#programming
Saved
on: 2022-05-28
Much ado about null | PeakD
Null is problematic, but why? Let's see why, and let that guide us to new alternatives.... by crell
Tags:
#programming
Saved
on: 2022-05-16
Hexagonal architecture and Domain Driven Design | Towards Dev
Introduction of the Hexagonal Architecture that implements the DDD (Domain Driven Design) introduced by Eric Evan in the “Bleu Book” : Domain-Driven Design: Tackling Complexity in the Heart of Software
Saved
on: 2022-04-12
Ultorg: General-Purpose, User-Friendly Database Software
Ultorg is a general-purpose, user-friendly database app that connects to your existing data, in spreadsheets or relational databases. Query and edit data across tables and relationships, without manual coding or custom CRUD app development.
Saved
on: 2022-04-01
Top Laracon Conference Presentations
Laracon is an ongoing series of conferences and events about the Laravel software development framework. We use Laravel pretty heavily at Icehouse Ventures because it powers our Investor Portal. I’ve learned a lot over the years from the various Laracon conference recordings. The topics range from basic coding best-practises to advanced systems architecture, database design, … Continue reading Top Laracon Conference Presentations
Saved
on: 2022-03-18
Tooling Manufacturing | Gooseberry USA Manufacturing
We are ISO 9001:2015 certified, and we specialize in delivering tooling solutions and component manufacturing.
Our services include:
Tooling:
Molds/patterns for Aluminum Die Casting: GSPM, LPDC, and HPDC.
Molding plates and no-bake tooling.
Core box
and more.,
Saved
on: 2022-02-21
MonoLisa
A font family designed for software developers. Font follows function.
Saved
on: 2022-02-15
Ask HN: Best books on managing software complexity? | Hacker News
Saved
on: 2022-02-06
Blog by Juliano Lima
I'd like to present five books that have changed my mind about software development showing me lots of concepts, techniques and tips. Let's see them and why I they were so valuable to me
Saved
on: 2021-11-28
Power Fx: Open source now available - Microsoft Power Platform Blog
The preview release of Microsoft Power Fx is now available as open source on GitHub You can now freely integrate this Excel-like, low code programming language in all of your own projects.
Tags:
#programming
Saved
on: 2021-11-18
The Dependency Injection Paradigm
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. From the philosophy and history of science courses I’ve followed, I remember that scientists working with different paradigms have great difficulty understanding each other, and appreciating each other’s work.
Paradigm Shifts An example of a paradigm is the theory that the sun revolves around the earth. To a certain extent this is a fruitful theory, and it has been used for thousands of years. There’s of course another paradigm: the theory that the earth revolves around the sun. This is also a fruitful theory, and it can be used to explain a lot of observations, more than the previous theory. Still, people got angry with each other for moving the earth out of the center of the universe. Paradigm changes, or shifts, occur when the old theory has been stretched too much. It becomes impossible to hold on to it. Then some people start to experiment with a completely different paradigm, one that sounds totally weird, but in the end proves to have more power.
Tags:
#programming
Saved
on: 2021-11-13
Recommendations for productivity tools/libraries? : r/PHP
Saved
on: 2021-11-06
Alan Kay on the context and catalysts of personal computing
Alan Kay — “father of personal computers" — is best known for his work on personal computing 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
Important, Read This First 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. “You just need to charge more!” says the company […]
Saved
on: 2021-10-08
Running in Production Podcast and Interviews
A site where folks talk about running small and large web apps in production. Topics include tech stacks and DevOps / deployment tips.
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. The input is an HTTP request, which is a plain-text message that gets passed to the web server, the PHP server, the framework, and finally a user-land controller. The output is an HTTP response, which is also a plain-text message that gets passed to the client. If my app needs the database to load or store some data, that data too is in its initial form a string. It needs to be deserialized into objects to do something and later be serialized into strings so we can store the results.
Saved
on: 2021-09-15
Introducing Riverside 2.0: A Powerful Content Creation Platform
Riverside 2.0 introduces automated editing tools, transcriptions, iPhone app upgrades, full HD screen-share recordings, and more!
Saved
on: 2021-08-19
It looks like a product but is secretly a subscription
The mental minefield of capex and opex
Saved
on: 2021-08-03
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. I don’t believe there’s a single “correct” technique; this is one system that works well for me. However, my system does have one critical characteristic that I believe any effective estimation technique should have: it captures both time and uncertainty.
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. This is true, but you should learn how anyway.
Tags:
#programming
Saved
on: 2021-06-24
An incomplete list of skills senior engineers need, beyond coding | by Cami
For varying levels of seniority, from senior, to staff, and beyond.. “An incomplete list of skills senior engineers need, beyond coding” is published by Camille Fournier.
Saved
on: 2021-06-22
Writing better Regular Expressions in PHP • PHP.Watch
How to write more readable, self-explanatory, and effective regular expressions in PHP.
Saved
on: 2021-06-16
What it means to run a monolith on AWS Lambda
A stable software development model combined with the elasticity of serverless solutions.
Saved
on: 2021-05-31
The data model behind Notion's flexibility
Notion’s data model enables the product’s most foundational component: blocks. Through blocks, we allow users more flexibility over their information.
Saved
on: 2021-05-19
Hosting SQLite databases on Github Pages - (or IPFS or any static file hoster) - phiresky's blog
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. But if you want to use a
Saved
on: 2021-05-03
Do not mock what you do not own | The PHP Consulting Company
Saved
on: 2021-04-26
Nodes – a new way to create with code | https://nodes.io
Nodes is a new way to create with code.
Saved
on: 2021-03-07
When Objects Are Not Enough
Alan Kay mentions in a talk that the Smalltalk don't scale quite well to big teams and infrastructure. However, he had some ideas on how to make OOP scale.
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. I’ve changed my mind: constructor injection is the right way for any service object, including controllers. And controllers shouldn’t be unit tested, because:
Those unit tests tend to be a one-to-one copy of the controller code itself. There is no healthy distance between the test and the implementation. Controllers need some form of integrated testing, because by zooming in on the class-level, you don’t know if the controller will behave well when the application is actually used. Is the routing configuration correct? Can the framework resolve all of the controller’s arguments? Will dependencies be injected properly? And so on. The alternative I mentioned in 2012 is to write functional tests for your controller. But this is not preferable in the end. These tests are slow and fragile, because you end up invoking much more code than just the domain logic.
Saved
on: 2021-03-02
Free Software, Not Free Support: My Reply Template — beberlei.de
Over the last weeks I have seen a few people tweet or write about the burden of
open-source maintainership or being a public person in a programming community.
Saved
on: 2021-02-27
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 between these layers is superficial after all. I’m not going to write again about what the layers mean, but here is how I decide if a service goes into Application or Domain:
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. “It’s not by the book,” as he said, but it solves a lot of the issues he encountered over the years. I’ll try to summarize his approach here, but I recommend watching the full talk as well.
Hexagonal architecture Hexagonal architecture makes a distinction between the use cases of an application, and how they are connected to their surrounding infrastructure. Domain logic is represented by pure code (in the FP sense of the word), surrounded by a set of adapters that expose the use cases of the application to actual users and connect the application to databases, messages queues, and so on.
Saved
on: 2021-02-23
Successful refactoring projects - Prepare to stop at any time — Matthias No
Refactoring projects 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. The refactoring project is considered a separate project, and soon starts to feel like “The Big Rewrite That Always Fails” from programming literature.
The work happens in a branch because people actually fear the change. They want to see it before they believe it, and review every single part of it before it can be merged. This process may take months. Meanwhile, other developers keep making changes to the main branch, so merging the refactoring branch is going to be a very tedious, if not dangerous thing to do. A task that, on its own, can cause the failure of the refactoring project itself.
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:
It would be too much work to replace all the work that the framework does for you with code written by yourself. Software development is too costly for this. Framework maintainers have fixed many issues before you even encountered them. They have done everything to make the code secure, and when a new security issue pops up, they fix it so you can just pull the latest version of the framework. By not using a framework you will be decoupled from Symfony, Laravel, etc. but you will be coupled to Your Own Framework, which is a bigger problem since you’re the maintainer and it’s likely that you won’t actually maintain it (in my experience, this is what often happens to projects that use their own home-grown framework). So, yes, you/we need a framework. At the same time you may want to write framework-decoupled code whenever possible.
Saved
on: 2021-02-17
Why I Built Litestream
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 | Divio Documentation
Find the software documentation system for Divio. Includes comprehensive tutorials, how-to guides, technical reference and explanation. Learn more here.
Tags:
#programming
Saved
on: 2021-02-03
Software development topics I've changed my mind on after 6 years in the industry - Blogomatano
At some point, I realized I would've argued the exact opposite position on a lot of topics just a few years ago.
Tags:
#programming
Saved
on: 2021-01-24
Clean Application Development - Nomad PHP
Presented by Adam Culp @adamculp
Presented on October 24,2013
No matter what level of development we are at in our careers we all face a daily battle to write good code for ourselves and others, deliver finished applications fast to satisfy business, and ensure everything is properly tested to prevent end-user fails. In this talk Adam Culp will discuss what “clean application development” is, and how it can help us win those battles. The talk will provide practical and usable examples to, integrate into your workflow, and continue to grow into good habits.
Saved
on: 2021-01-19
Context switching costs more than we give it credit for. - Thinking Through
(4 min read) Batching things by function can skyrocket your productivity.
Saved
on: 2021-01-18
Gitbar - Il podcast dei developer italiani
Gitbar è il podcast per sviluppatori italiani dedicato alla programmazione e allo sviluppo web. Ogni giovedì un nuovo argomento con brainrepo.
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…
Saved
on: 2021-01-15
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
Emily Jiang performs live coding of building 12-factor microservices using MicroProfile programming mode and gets them running Open Liberty and Quarkus.
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
CloudConf 2020 Live Streaming
Registrazioni degli interventi live di novembre 2020...
Saved
on: 2020-11-27
The Value-Effort Matrix: A framework for thinking about work - Human Who Codes
The Official Web Site of Nicholas C. Zakas
Saved
on: 2020-11-19
Voice Driven Development by Emily Shea – Deconstruct
Saved
on: 2020-11-05
CMU 17-313: Foundations of Software Engineering - CMU 17-313: Foundations of Software Engineering
Tags:
#programming
Saved
on: 2020-10-31
An Intuition for Lisp Syntax
Read Essays by Stepan Parunashvili
Tags:
#programming
Saved
on: 2020-10-26
Transparent Session Management with Sessionz - Nomad PHP
Sessionz is a new PHP library that adds a custom session manager to your application. On top of this custom manager, you can mix any number of specific handlers into a stack to deal with your data:- Write sessions out to the default, filesystem-based session store.- Cache session data in-memory for faster reads (and faster performance).- Encrypt stored data so it’s protected at rest. Synchronize data to an external storage system so multiple application servers can reference it.In this lightning talk I’ll cover both what Sessionz is (how it handles sessions transparently within your application), how it works (the SplStack implementation of callback handlers), and how you can extend it with your own custom handlers.
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
With the rise of JSON columns, it can be handy to safely cast to and from value objects.
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. One diagnosis and cure is easy to identify: our engineers aren’t prioritizing quality, and we need to hire better engineers or retrain the ones we have. Of course, you should feel free to replace “engineers” with “Product Managers” or “executives” if that feels more comfortable. It’s a compelling narrative with a clear villain, and it conveniently shifts blame away from engineering leadership. Still, like most narratives that move accountability towards the folks with the least power, it’s both unhelpful and wrong.
Tags:
#programming
Saved
on: 2020-10-22
Readable Laravel | Spatie
In this **completely free** series, we'll explore best practices on how to write maintainable and readable code.
Tags:
#programming
Saved
on: 2020-10-21
PHP for Beginners: Data Handling - Nomad PHP
Join us as we discuss data handling in PHP
Saved
on: 2020-10-13
Monolith -> Services: Theory & Practice - Kent Beck - Medium
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. Second, you want some benefit you aren’t currently…
Tags:
#programming
Saved
on: 2020-10-07
Are you a good Code Scout? - Nomad PHP
Speaker: Matt CockayneScouts are taught to be adventurous, considerate, thoughtful, effective, diligent, ingenious, thorough, earnest and effective! All of these qualities are ones that we should be striving for as a Developer.I will prove that being a Good Scout and being a Great developer are are the same thing. I’ll take you through the actions and attitudes taught to millions of kids aged 7-18 and how you can apply those practices to what you do in your code.
Saved
on: 2020-09-30
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
We all have a finite amount of time to live, and within that mortal countdown, we devote some fraction towards our work. Even for the most career-focused, your life will be filled with many things beyond work: supporting your family, children, exercise, being a mentor and a mentee, hobbies, and so the list goes on. This is the sign of a rich life, but one side-effect is that time to do your work will become increasingly scarce as you get deeper into your career.
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.
Three simple rules To accomplish framework decoupling you only have to follow these simple rules:
All services should get all their dependencies and configuration values injected as constructor arguments. When a dependency uses IO, you have to introduce an abstraction for it. Other types of objects shouldn’t have service responsibilities. Contextual information should always be passed as method arguments. Explanations Rule 1 Following rule 1 ensures that you’ll never fetch a service ad hoc, e.g. by using Container::get(UserRepository::class). This is needed for framework decoupling because the global static facility that returns the service for you is by definition framework-specific. The same is true for fetching configuration values (e.g. Config::get('email.default_sender')).
Saved
on: 2020-09-12