Skip to main content
Kelvas blog

Posts

2022


Publish automatically Hugo blog with GitHub Actions

·1977 words·10 mins
Repetitive actions are dangerous. Especially if they are simple. We tend to pay less and less attention to them and in the end, we make mistakes. Fortunately it is possible, not to say recommended, to automate these actions. So today, as you may have guessed, we’re going to change the theme a bit and talk about the pipeline on GitHub Actions. The context # I love to write and share, therefore I have this technical blog allowing me to pass on what I learn and what I think is useful to others.

The main.swift special file and the entry points

·795 words·4 mins
Last weekend had started as always: I wanted to learn something new. And that day I wanted to discover console applications in Swift. I’ve read a lot of interesting articles on the subject and I’ll be sure to tell you about it in my own articles very soon. If you have already done iOS or macOS development you already know that the entry point is the AppDelegate or the SceneDelegate.

Swift: @escaping

·850 words·4 mins
Do you know the @escaping statement in Swift? The compiler creates an error asking you to add it but you don’t know why? Don’t worry, we’ll figure it out together. The notion of asynchronism # With the latest versions of Swift, it is possible to use the async and await keywords to handle asynchronism in our application. But if you have coded applications with older versions of Swift, you probably use closures/callbacks for your asynchronous methods:

UIKit ViewController with SwiftUI

·1142 words·6 mins
UIKit ViewController with SwiftUI # If you are curious like me, you must have tested SwiftUI. Personally I like this framework more and more. But I will tell you about my feedback in another article. However I have to reproach it for something: it still lacks a lot of things! And yes, SwiftUI tries to join all the worlds (iOS, macOS, …) in one. The problem is that the task is not easy.

Swift: bounds vs frame

·313 words·2 mins
Have you ever made an iOS app with UIKit? Have you ever made your own views? Customized a user control or a view? Then you have probably already been in contact with the frames and bounds. But how well do you know them? Do you really know the difference between the two? I noticed that for many the answer was: No. So let’s go back to these notions to learn more.

UITextField bug 😱

·156 words·1 min
You may have already had it but there is a bug on UITextField only on iOS emulators (iPhone and iPad). It may happen that when you select a UITextField your application freezes like the picture below: Now that your application looks like this, you cannot do anything and you have to restart your application. via GIPHY This is a bug known by the Apple team and originally seemed to affect only the iOS 13 version.

macOS xattr attributes

·393 words·2 mins
What is a file attribute? # I will probably push an open door, but a file system has attributes on the files. In particular, the read, write and execute of each file and this for the different groups: -rw-rw-r-- 1 kelvas users 5120 Jul 09 04:30 sample.txt But these attributes were not enough for many cases. So an extension was added to the inodes to allow more functionality on the files: the extended attributes or xattr.

2021


The pillars of the software (1/2)

·580 words·3 mins
The pillars of the software (1/2) # Today we will leave the mobile topics and talk about the thousands of software. What I mean here by pillar is the software / libraries that everyone uses directly or indirectly (via other software / libraries). And we will see together that a lot relies on little and that is a bit scary! Actually I wanted to talk about this because I came across this tweet from Mike van Riel (@mvriel: https://twitter.

Segmentation fault and .NET on Linux

·384 words·2 mins
Segmentation fault and .NET on Linux # For some time I have re-enabled one of my PC with a good Linux Manjaro, it’s very convenient to run tens of services continuously without having to leave my Mac on or at home. And I wanted to experience .NET development with VSCode (to do Blazor I admit it) all on my Linux. Of course I follow the Microsoft tutorials to set up the environment and I start here: https://docs.

Incomprehensible errors

·1340 words·7 mins
As you’ve probably gathered from the previous articles, I mostly do iOS and Android mobile. But from time to time, I go outside this mobile bubble to do other things. The interesting thing about doing Xamarin for mobile is that it’s easy to port our application to desktop environments. But when I left my iOS and Android cocoon, I quickly realized that the tools for desktop development were not necessarily as advanced as their smartphone brother.