Articles are single-page pieces. They have a clear scope and subject of discussion and try to go to the point.
They are different from series which are multi-part pieces exploring a topic in-depth. More akin to an adventure, they do not hesitatet to take many detours.
The world of software development often revolves around open source and free software licenses, known for their transparency and relative simplicity. However, what happens when we pivot towards proprietary software licenses? The terrain becomes a bit more challenging, with a multitude of complexities that need thoughtful consideration.
If you're using .Net and Visual Studio you likely know how important it is to keep your code organized and structured using namespaces. But when you're working on a large project with multiple components, keeping track of all those namespaces can be a challenge. That's where a solution-wide namespace prefix comes in.
Welcome to another programming adventure! Today, we're going to explore the fascinating world of Windows keyboard layouts. Surprisingly, a Windows keyboard layout is essentially a compiled C++ program. So, let's embark on this journey and learn something new together.
As a software engineer, I enjoy tweaking my workflow and discovering tools that make programming more engaging and enjoyable. Recently, I stumbled upon the potential of Chat AI in my development process, particularly when working with structured languages and frameworks. In this post, I want to share my personal experiences and insights on how AI-driven development tools, like ChatGPT, have influenced my approach to projects.
One common challenge faced by WPF developers is maintaining consistent spacing between controls in their applications. Luckily, there's an elegant solution that's not widely documented: using a Style
inside a Resources
section of a container control.
In this blog post, we'll show you how to apply consistent spacing between WPF controls using this technique. This is particularly useful when you want to avoid setting the margin for each control individually.
As a software engineer, I've been contemplating the impact of artificial intelligence (AI) on my profession. While AI has the potential to revolutionize our field, it also raises concerns about job security and the evolving nature of software development. To better understand these issues, I decided to have a conversation with OpenAI's GPT-4 language model. In this blog post, I'll share key insights and ideas from our discussion as we explored the future of software engineering together.
Hello reader, happy new year 2022 (yes I'm more one month and a half late)! It has been a while since I last published something.
Alternative title: "Fix 'Microsoft Learn' examples for 2021".
I am following Microsoft simple introduction to building Windows 10 native applications (see their Windows Learn course). Unfortunately everything is always changing fast (and breaking everything) in the software world and their first XAML example does not build anymore.
After spending a few hours to fix my build I understand enough of the problem to write this short article.
Last Friday evening I was following and discussing the 2020 US elections, while I got a really dumb idea: is there a logic behind Trump's use of ALL CAPS when tweeting? And if yes, can people guess correctly what is actually in ALL CAPS when given a lowercase version?
...
When working on web projects it is often useful and recommended to enable SSL for your development environment. For example if your project works with cookies, it is likely that the server sets the Secure
attribute, ensuring that they only sent to the server over HTTPS. But even without cookies it's a good idea to try to minimize differences between your development and production environments. Fortunately, using Docker that can be done done easily in just a few steps.
...
When I start to use a programming language I always have the following questions:
Some languages such as Go come with simple answers to these questions: go build ./...
, go test ./...
, go get <my module>
, install the official Go extension for your editor. Done. But of course in the case of C++, things are ... different 🙃.
A few days ago we released a new version of HabitCat (v1.9.1) taking in account feedbacks we received from our users:
When reading Svelte 3 documentation of the {#each}
keyword, it isn't clear how to correctly handle the case where the variable we want to iterate on is null
or undefined
.
A common use case is listing the result of an object of type Promise<MyItem[]>
. We could imagine for example that this promise represents the result of an HTTP request. We would first initialized the promise to null
as a way to communicate that we didn't fetch any result yet.
About a month ago we released HabitCat, a simple mobile application to track and develop new habits. We are now learning how to market it, something neither me nor my partner have any experience doing! So far we got a few downloads without doing any form of advertising (other than creating a Twitter account), though that's of course really limited and is mostly from our friends, family, and acquaintance.
...
Since I switched to Windows last year I'm using Microsoft's Powershell as my main shell environment (on my personal laptop). At first I didn't really look into Powershell's feature until around half a year ago when I found the motivation to work on a nicer prompt and spent some time migrating my ZSH profile to Powershell. I ended up creating a different profile that suits my needs, and that I had lot of fun building.
...
Note This article is a part of a series of tutorials "Creating an Electron application with Svelte 3 and TypeScript". ...
Note This article is a part of a series of tutorials "Creating an Electron application with Svelte 3 and TypeScript". ...
Note This article is a part of a series of tutorials "Creating an Electron application with Svelte 3 and TypeScript". ...
TL;DR
I have again an active Apple Developer Membership, thus Disk Info is back on the Mac App Store.
Sources: https://github.com/dgellow/DiskInfo
An short explanation and a debugging session.
...
A weird Apple ID picture, and thoughts on consistency.
...
Small update to follow-up the official HabitCat public release. The app is now also available on iOS, worldwide and for free 😁.
...
I had a very cool surprise today while checking my GitHub profile. Some projects I contributed to have been selected to included to be part of the Arctic Code Vault project, and I am officially an Arctic Code Vault Contributor!
...
Update 20/07/2020
...
A few days ago Youtube's algorithm had a small surprise for me. I had decided to do a simple logo in 3D using Blender for a side project, and somehow the suggestion algorithm picked that fact and decided to list videos of people documenting their progress creatin 3D content. Such as this really cool progress report from Hendy August:
...
I decided to organize my thoughts, ideas, and projects a bit, they are currently spread around GitHub, BitBucket, GitLab, and multiple computers and (physical) notebooks. As part of this move I'm creating this website and blog that will be available at a domain I control: sam.elborai.me.