Newsletter #32 - macOS network programming in Swift Sep 13 2020

Hello, and welcome to issue #32!

How are you doing? I hope everything is going well wherever you are. Things seem to have been settling down around here, so I’ve got more time to write. I completed my guide on macOS network programming in Swift. It covers three main frameworks:

With that, you should be able to build a wide range of network applications in macOS. As always, my guides are “pay what you want”. Including $0.00, so they are free, but if you find them useful and want to support me, you can buy them. Networks is a topic I always found fascinating, it is at the core of the Internet. But network programming also touches other areas like security, system administration, software engineering, and telecommunications. So it is a broad topic, but super fun to explore. Have a look at the guide and build some network applications, I bet you’ll have fun.

Read More...

Newsletter #31 - Understanding SwiftNIO by building a text modifying server Aug 26 2020

Hello, and welcome to issue #31!

I’m still amazed by how the Internet has become such a fundamental part of society. I wonder what the world will look like 100 years from now. And all of this runs on protocols created decades ago. It’s truly fascinating.

As you can tell, many of the posts I write are related to networks, and this week is no exception. I believe that we all have some responsibility to try to make the world a better place, and we, as technology enthusiasts, can make it better by building the infrastructure for future communication. So maybe I can give back by teaching what I’ve learned about networks. Hopefully, all of us can be part of building a better future.

Read More...

Newsletter #30 - Building a text-based application using Swift and ncurses Aug 6 2020

Hello, and welcome to issue #30!

Sometimes I feel a little nostalgic of the “good old days” when the command-line received so much love. I still believe that it is the most useful tool if you want to increase your productivity. Using graphical interfaces feel sluggish compared to a fine-tuned terminal interface. Typing is faster than moving the mouse across the screen, especially if you have a big monitor. So when everyone is so excited about SwiftUI or React, or any other graphical interface framework, I go back to working on the command-line.

Read More...

Newsletter #29 - How to read passwords and sensitive data from the command-line using Swift Jul 26 2020

Hello, and welcome to issue #29!

I hope you are well where ever you are. These are weird times we live in, a lot of terrible news around the globe. But that doesn’t mean that we can’t make it better. Make sure you help improve your little part of the world, sometimes small gestures have a big impact on people’s lives (including our own).

These last few weeks, I’ve been busy working on a few open-source projects, trying to give back to the world of open-source. And having a good time doing it. The following are some of the project’s I’ve been contributing to. And a tool I’ve open-sourced for everyone to use:

Read More...

Newsletter #28 - Understanding the Swift Argument Parser and working with STDIN Jul 8 2020

Hello, and welcome to issue #28!

I’ve been working with computers for most of my life, and especially on *nix systems. It always surprises me how much there is to learn. It’s always interesting to read about the history of some part of the OS that you thought you understood, and learn something new. That happened when I was reading the following article:

Tales From a Core File - Lessons from the Unix stdio ABI: 40 Years Later

Read More...

Newsletter #25 - Using the script command to record a terminal session May 27 2020

Hello, and welcome to issue #25!

How is your week going? I hope you are doing ok.

A lot of exciting news this week. First, there is a new jailbreak for iOS. Whatever your stance might be with jailbreaking. I’m always impressed by the depth of knowledge and ingenuity of the jailbreaking community. Many people view it as something wrong and illegal. But it has some real security benefits, it allows researchers to deep dive into iOS and help find vulnerabilities that otherwise would be known only to bad actors. As the famous security researcher Patrick Wardle shown on his research used in a NYTimes article. He used a jailbroken phone to continue the analysis he was doing on an app suspected of spying his users. Very interesting stuff, if you are into Apple security, you should check his writings.

Read More...

Newsletter #10 - Command-line argument parsing using Swift Package Manager's SPMUtility module Nov 22 2019

Hello,

Have you ever wondered why the home directory is mapped to ~? Or if you use vi, why use the letters H, J, K, and L to move?

These types of questions are the ones that keep me up at night. Not really :D, but I find them interesting.

I found answers to many of these questions in this article:

https://dave.cheney.net/2017/08/21/the-here-is-key

The author explains how the “Lear Siegler ADM-3A terminal” influenced so much of our current computing. Check the keyboard for the terminal. See how most of the keys match some of the “conventions” we have today. It’s a fun read about computing history.

Read More...

Newsletter #3 - Understanding the RunLoop model Oct 4 2019

Hello,

This week I spent some time away from the computer relaxing and visiting San Francisco. Had such a good time with friends I haven’t seen in a long time.

This week’s post was about understanding the RunLoop. We used a basic shell implementation to show how to use different input sources on our RunLoop. There are not many examples on how to do this, and I feel that the RunLoop is central to the macOS architecture, and understanding it helps us design better applications.

Read More...

Newsletter #2 - Using BSD Sockets in Swift Sep 27 2019

This week was fun. It was the first time I got an award for one of my posts on Reddit. It’s always fun to receive messages from people that find my posts useful.

You can see the post with the little badges on top :) here:
https://www.reddit.com/r/swift/comments/d915ja/using_bsd_sockets_in_swift/

I usually share my posts on Reddit. I find it less cluttered with random posts (unless you subscribe to random subreddits). I don’t use Twitter much, but I think I’ll start using it as Seth Godin uses Twitter, mostly a feed for the blog. I want to share more content but spending time on Twitter takes time from researching and writing. So I’ll probably won’t pay much attention to it. Anyways, let me know if you have any thoughts on using Twitter.

Read More...