Welcome to my website
Welcome to my digital garden. Here you'll find my notes and thoughts on whatever topic I'm currently exploring. Feel free to browse around.
I'm not very active on social networks. I prefer to share all my content through my website. So here is my recommendation on how to keep track of what I'm working, my tutorials, apps, notes, etcetera.
Subscribe using RSS to my blog feed. You can use any RSS Feed reader, but I would recommend NetNewsWire if you are on a mac.
You can also subscribe to my newletter to get a mix of old-school internet and hands-on tech advice.
A map to my writing
Start here
If you would like to explore some of the topics I write about, I have some suggestions.
The site has three main sections:
- Guides
The guides you'll find in this section were created to help you understand specific topics in a practical way. The guides are not meant to cover all the details of each topic, but to give you enough knowledge that you can confidently navigate the topic. The guides should give you enough information, so you at least know what to look for when faced with problems while working on the specific topics. - Blog
Contains articles that cover topics that I find interesting. A lot of time and effort goes into writing these articles, they include examples and resources. The main idea is to explain the concepts clearly so anyone that finds the articles can understand and apply the concepts. - Notes
Here you'll find short content with a smaller scope. You can think of this section as general notes of interest that don't cover topics in depth but can be useful/interesting as reference. - Shop
Right now, the shop features high-quality, curated content that will help you better understand topics I've worked on and researched for a long time. Also, buying any item from the shop helps support my work and covers the costs of running my website and other expenses. - Cheat-sheets
As the title implies, you'll find cheat-sheets of programs and utilities I use often.
You can browse each section if you want to explore the content of the site. If you are looking for specific topics and you want to read what I've written about them, the following sections contain my suggestions by topics.
Networks
Start by reading the macOS network programming in Swift. If you are planning on building a network application, you should find a lot of useful information there. If you prefer to read on the site there is scattered information on the following posts:- Using Kernel Queues (kqueue) notifications in Swift
- Using BSD Sockets in Swift
- Understanding SwiftNIO by building a text modifying server
While a lot of the information exists on the blog posts, the guide contains the latest updates, so I would encourage you to get the guide. The whole list of network-related articles can be found here.
If what you are looking for is more on the side of network configurations, you should look into the following guide FreeBSD Jails and VNETs.
macOS & iOS development
If you are looking to build applications on Apple ecosystem, here are a few posts that I would recommend to check first:
- Understanding the RunLoop model by creating a basic shell
- Understanding a few concepts of macOS applications by building an agent-based (menu bar) app
- [YouTube link] Talk - Understanding a few concepts of macOS applications by building an agent-based (menu bar) app
- Creating a Launch Agent that provides an XPC service on macOS using Swift
If you want to check more posts on this topic, I would suggest you check the following link with all the posts on Apple ecosystem development.
Security
If you are interested in security, reverse engineering, and low-level code, you might find the following articles useful:
- Extracting entitlements from process memory using LLDB
- Understanding buffer overflows using Radare2
- Using Radare2 to patch a binary
There is more under the security tag.
DevOps
Under this topic you'll find server configurations, automation and general operations and development topics, here are a few recommendations:
- FreeBSD Jails and VNETs, a guide.
- Meditations on Directory Structure for Terraform Projects
- Compiling a custom FreeBSD kernel for Parallels VirtualMachine
- Setting up a Kubernetes Cluster in Amazon EKS using Terraform
If you want to explore more, check the DevOps tag. You'll find more topics that cover Xcode projects, git, and general *nix related posts.
Interesting topics
Some other tags that you might find interesting:
- Swift - Many interesting Swift topics.
- Ruby - I write a lot of scripts in ruby.
- Vim - I don't know what would I do without this editor.
- Systems programming - Articles that cover topics that can be useful when working on systems-level code.
- Command line tools - Articles related to building command-line tools.
- Notes - General notes.
General recommendations
The easiest way to check if I've written something about a topic I didn't mention here is to do a google search with the topic plus "rderik". If I've written about that topic, you should find it on Google. I've put a lot of effort into creating content that is useful for other technology enthusiasts. If you find some mistakes send them my way and I'll gladly correct. Feedback is always welcomed. Ok, that should give you enough to get you started. Go explore the site!
Why use RSS?
I remember the days when I used to go for information, read news and articles at my own pace and at my own time. Now, everything seems to be urgent. We need to keep up with all the notifications and scrolling feeds, or we'll miss something.
Going back to RSS seems to be a good compromise, I can decide when to read any articles, and I'll be the judge of my own filters.
RSS gives back some control to the readers and also to the creators. I want to be a good Internet citizen and help whenever I can. So I think giving you the chance to filter and decide when to read is better than to press you into using any specific social network or app or distract you with more notifications.
Ok, enough talk about my website. Go on and explore it! I hope you find the content interesting and helpful. Also, feedback is always welcome, and for me, it's always exciting to hear from you.
Derik