KISS and Decorators
I picked up a UserStory to make a small adjustment.
The story was simple enough as was the required change but… Looking at the code, how was it supposed to work? It looked like it just.. Shouldn’t…
Took some time but I found out, the behavior of the software was defined in the IOC registration, at startup, with Autofac.
PowerShell and Git for the colorblind
My PowerShell, Posh-Git and .gitconfig color configuration because of some red-green troubles with the default configurations.
Git Pull Request Hygiene
It seems that pretty much everyone is using some sort of UI for their git interactions.
Which is obviously fine, until they are about to create a commit, in which case it’s using the “add all changes”-button and commit.
Good PR hygiene starts with keeping your commits small and focused: check your changes and exclude everything that is not part of the UserStory per se.
That’s why I advocate the use of git add --patch which gives you fine-grained control of exactly what you’re going to commit!
Angular Pipes
Pipes: Chainable, declarative display-value transformations to use in your Html.
This post covers:
- All Builtin Angular pipes (json, async, string, array, i18n)
- How to install different locales (currency, decimal, date, percent)
- How to generate, implement and test your custom pipes
- Some examples of custom pipes (ngx-pipes and angular-pipes)
An example:
<!-- This does exactly what you'd think -->
{{ value | uppercase }}
Array.prototype for .NET developers
The Array.prototype functions have been available for a long time but it’s since Arrow functions that “Linq lambda syntax”-like functionality is available in JavaScript.
This blog post explains the most common functions by comparing them to their C# equivalents.
A basic example:
// JavaScript
const result = [0, 1, 2, 3, null]
.filter(x => x !== null)
.map(x => x * 10)
.sort((a, b) => b - a);
expect(result).toEqual([30, 20, 10, 0]);
// C#
var result = new int?[] {0, 1, 2, 3, null}
.Where(x => x != null)
.Select(x => x * 10)
.OrderByDescending(x => x)
.ToArray();
Chrome Extension: Starify Github project links
The Starify-GitHub-Links Chrome extension is no more! 🎉 Long live “Starify Links” because we’re now adding links to, well, everything! 🌟✨🤩 See the new blog post
A free and open source Chrome Extension that adds Github stars badges to all links on a web page.
Before: https://github.com/sindresorhus/awesome
After: sindresorhus/awesome
Security Bootcamp Prep
The next iteration of the itenium Security Bootcamp is at the Michigan Technology Conference 2024. Its vulnerable applications will be running for the duration of the conference: exploit the vulnerabilities (hack!?) and submit captured flags in the Portal website.
Here is how those that will participate can prepare themselves.
If the term SQL Injection does not ring a bell, you may want to start by reading up on that and other vulnerabilities such as: XSS, CSRF, OWASP, …
Angular 17 – What’s new?
Angular 17 has landed with a rebranding, and an a new documentation home which now also offers an interactive learning experience, but what else is new?
There are a plethora of improvements such as:
- hydration graduated from developer preview
- standalone APIs is now the default
- new @angular/ssr package
- improved SSR functionality
- the Signals API is mostly out of developer preview (effect() remains in it)
- new
afterRenderandafterNextRenderlifecycle hooks - Vite & esbuild are now the default for new projects
- experimental view transition support
- automatic preconnect in the image directive
- defer loading of the animations module
- style and styleUrls as strings
- …











