Welcome to my website
Welcome to my home on the Internet. 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.
Also, subscribe to my mailing list, to keep up to date with my work. You can subscribe using the form in the footer of the site.
A map to my writing
If you would like to explore some of the topics I write about, I have some suggestions.
The site has three main sections:
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.
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.
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.
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.
NetworksStart 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.
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.
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.
- Compiling a custom FreeBSD kernel for Parallels VirtualMachine
- Understanding Disk Images by building a macOS Catalina ISO image for VirtualBox [macOS]
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.
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 recommendationsThe 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