Read the transcript
Jeroen Leenarts: Hi, welcome to
the 29th episode of my podcast.
I had to switch things around a
little bit this week. So a
Monday, when our record my
normal episodes, I didn't have
any space available in my house
to be able to do a proper
recording. So I published my
interview of Thursday on Monday
and today, Thursday, I am
releasing my regular episode.
Just to speed things up a little
bit. This week, this is what I'm
going to talk about permanent
and temporary tabs in Xcode
connected to Wi Fi
programmatically in iOS with
Swift, thread safety in Swift.
How necessary are the program
fundamentals, dynamic libraries,
and code replacements in Swift
file private versus private in
Swift, the differences
explained, packaged swift
getting started with the SPM
manifest file. So let's dive in
and get started. This is
something that I see a lot of
people miss in Xcode, and that's
the permanent and temporary taps
feature. In his article,
Leonardo explains what the
permanent and temporary taps
feature is about in Xcode. It is
something that is quite normal
in pretty much any decent cocoa
app on a Mac. But it is
something you need to be aware
of. Have look at Xcode and see
that the tab titles can either
be italic or regular font. The
regular formed bonds are
permanent, and the italic fonts
are temporary. So if you open
another file, then temporary tap
gets changed. Double click on
the type and the file becomes a
permanent tap. More details in
article by Leonardo. For his app
switch buddy, Philip had to come
up with a way to actually be
able to change the Wi Fi network
of the current users device. In
his article Philip explains with
some network extension code and
some other professions, how you
can actually request the system
to change the Wi Fi network to a
specific network that should be
available when you try. It's a
nice rate and a short overview
of features that is not used too
much in iOS. thread safety in
Swift concurrency is the entry
point for the most complicated
and bizarre bugs a programmer
will ever experience because we
all at the application level
have no real control over the
threats and the hardware.
There's no real way of creating
unit tests that guarantee your
system to behave correctly when
used by multiple threads at the
same time. In his article, Bruno
likes to share some of his
favorite methods of assurance,
thread safety, as well as
analyzing the performance of
many different mechanisms. BRUNO
also wrote an article with the
title how necessary are the
Programming Fundamentals? It's a
bit of a long form writing that
Bruno has created to actually
reflect upon the fundamentals
that underlie computer
programming and fundamentals.
Then I'm talking about more
computer science type of things,
knowing how specific algorithms
work, what specific data
structures are like, in this
article, Bruno reflects on these
topics and tries to evaluate how
important these things actually
are. And actually also why
specific companies are actually
very intentful on querying and
quizzing you on the specific
topics in any job interview that
I'd like you to take. So I think
it's it's a very nice overview
of some reasoning that might be
behind companies, querying a
querying new on these topics,
but also, it gives you some
backstory on why investing some
time to learn some fundamentals
about the fundamentals can be
very worthwhile for your regular
programming work as well. Tabor
is again back with a nice
article on dynamic library
packages.
Debo is again back with a nice
article on dynamic libraries and
cult replacements in Swift, how
to load a dynamic library and
use native methods whistling in
Swift. In his article, he
explains all about the magic
behind swift UI prefuse. He
already published an article
about building static and
dynamic libraries using the
Swift compiler. So if you don't
know what a dynamic library is,
follow the link in his article
and learn a bit more about that
before starting on this article.
It's a it's a very in depth
technical article that explains
a lot of the details that are
involved with libraries and
dynamic libraries in Swift. So
if you want to know a bit more
on how things work internally,
this is definitely one of those
articles that you want to read
from start to finish. And to
bring things back a bit more to
practical day to day
applications of Swift language
features. Here's an article by
Antoine formulae. It's about
file private versus private in
Swift and the differences
explains. File private and
private are part of the access
modifiers in Swift these key
words together with internal
public Open make it possible to
restrict access to parts of your
code from code of other source
files and modules. The private
access level is the lowest and
most restrictive, whereas open
access is the highest and least
restrictive. In his blog post,
Antoine will explain the
difference between two very
close friends on these access
modifiers namely found private
and private. It's a very useful
modifiers use File private, but
in his article Antoine explains
a bit what it does, what scope
it provides, and when it's
actually useful to use File
private instead of private. And
as a final article that I want
to mention, Leo has an article
on pecks, Swift again, which is
a very practical article that
explains how you can get started
with the SPM. Manifest file.
It's a very useful and practical
guides to get a bit more
introduced to get introduced a
bit more into this topic. So if
you don't know too much yet
about the NPM, package manager
and SPM manifest file,
definitely check out the article
and the previous article that
Leo has written on these topics.
And these articles of the past
one and a half week I want to
mention or maybe
the matchable protocol by
elegant chaos. For the last few
years, the default setting for
all the Swift code that elegant
chaos has written has been open
sourced as a result, elegant
chaos has accumulated a vast
number of Gator proposals and
Swift package manager packages.
However, aggregate chaos has
been really bad at telling
people that they exist in this
post he tries. In this post
elegant case tries to fix that
by talking about one small
package that elegant chaos has
recently created being
matchable. The match bowl
protocol defines a way to
compare two objects structures
over L is for equality. Unlike
equatable protocol match pool
works by trial and error when it
accounts when it encounters a
mismatch. You can view this as a
sort of assertion of equality.
The original motivation for the
matchable protocol has been unit
testing, where it's often
necessary to compare two
instances of something and
useful to be able to identify
the exact point of divergence.
Elegant chaos still sees this as
the primary use case of for the
protocol. But elegant chaos has
split it out to a standalone
package, and it may be useful
for other people, you could
probably guess where you need to
look. I mentioned the name
already eight times away. That's
nine. So elegant chaos.com And
that's 10. I'm not going to do
the donees Monday morning tweets
this time around, because it's
not Monday. But I will be back
with that topic on my next
episode that I plan to record
come Monday. The good news is is
that of the home remodeling all
over inside is now done and the
end result is simply amazing. So
I look forward to enjoying my
house now again, in a more
normal fashion without all these
builders walking in and around
my house. I have some cool stuff
planned for you all. I did
recordings with Jordi, Phillip,
Dominic and Reiner. They
subscribe to my feeds and you
will get it the moment that it
becomes available. If you become
a bot fan at pop dot fan slash
app Force One, you can get early
access and I will upload the raw
recordings sometime tomorrow.
And that's it short and sweet.
Talk to you again next time.