Read the transcript
Jeroen Leenarts: Hi, my name is
Jeroen Leenarts and I've been
developing software for over 20
years developing iOS app for 10
years, and I'm running the Dutch
Cocottes for over nine years. If
you're an iOS app developer, you
should listen to my podcast
because it will keep you updated
on interesting articles,
conferences and events you might
not have heard about. In this
episode, I'm going to talk about
my swift EuroStoxx secondary
skills as a developer, building
things and raising children,
Swift type placeholder, what is
it and when to use it? Logging
in Swift, Swift UI, adaptive
stack views, how to add text
input actions to iOS push and
local notifications, how to
force to large text in Swift UI,
enumerating and counting test
components in Swift. And a
number of conferences, iOS dev
UK, app builders 2022,
AppDevCon, and swift conf. So
let's get started. So as you
might have noticed, I skipped
one of my episodes with my
podcast, because I was just too
busy last week, and just didn't
have the energy anymore to to
record episode 75. Last week. So
I have a bit more news articles
in this episode. And we'll
update you on all the things
that have happened over the past
week, because it's it's been
quite a journey that I had when
when traveling to Swift heroes,
actually. So yeah, so last week,
I really was preparing myself to
do a talk with my colleague at
swift heroes. The talk was
titled, secondary skills as a
developer, I will link to the
slides of that in the show
notes. video will be available
later. And yeah, it was just so
weird getting back to in person
events. Again, this was actually
the first conference I've been
to, that I've attended and
presented that for over two
years. So you can imagine that
it's, it was a bit nerve
wracking in a way, but also very
enjoyable, and a whole lot of
fun. Because of the entire
workload, just trying to
compress a week's worth of work.
I just didn't have the time left
anymore on Monday and Tuesday to
to record an episode. And on top
of that, from Wednesday on, I
was traveling, and on Thursday
and Friday, I was in Italy, at
swift IRS conference. And then
on Saturday evening, I was
planning to record my podcast,
but then things happened. I will
tell you what happened later.
But first, let's talk a little
bit about straighter was the
conference, the first one I've
been to in two years. It was a
nice conference, nice venue. It
was in a car museum in Italy,
and you know, Italians with
their cars. Well, that's, that's
a whole bunch of epic cars that
that were lined up in that
museum. And the venue was a nice
auditorium style room, where
some great speakers also a lot
of sponsored speakers lots. So
you could tell a little bit that
that was the case. In fact, my
presentation as 50 euros with
Amos was also a sponsored slot.
But we specifically chose to do
a talk that was off products,
not on the stuff that that we
were there to represent as a
company that was stream. So
yeah, we did a talk about some
things we think you should know
as a as a software developer. So
the secondary skills in our
presentation, Amos, and I
touched upon nine different
things that we think you should
learn as a software developer.
There's also a nice discount
code still available for my lead
developer book with discount
codes go trifft heroes. So
definitely have a look at that
one as well. All in all, it was
really nice to go to the
conference, I met a number of
people who have only met online
before. And also I was able to
see a number of colleagues in
person for the first time. So
that was Adam, Amos, and Martin.
So that was really cool to see
them in first for the first time
since I've been working with
them for over five months
already. Yeah, it was a great
time, good food. Nice weather
actually, because
in the Netherlands, it was
really cold. While in Italy, it
was like 15 to 20 degrees
outside which is which is tshirt
better for me might be a bit
different for you, depending on
where you're living worlds but
they are very enjoyable and
there was a lot of sunshine. So
also the impromptu things you do
around the conference grabbing a
coffee having a meal with people
you don't know yet. That was
very nice. And also the pizza
was really good. And the pasta
was really good. And the meat
was also really good in Italy.
So we definitely made sure that
we had the entire range of
culinary experience in Italy as
well. So yeah, all in all very
good. And then I had to travel
back Friday evening, the day
before I was supposed to travel,
I was checking my flight because
that's what you do like the day
before, check your flights to
make sure that you're not late
or too early on the airport
because times can of course
change with a flight. But then
in order wisdom KLM decided to
outright cancel my flight. And
yeah, I noticed that the time
was different and I looked more
closely to date was different.
KLM decided that I was supposed
to fly a day later, bright and
early in the morning 620 So
yeah, it was there was an extra
day I had in Turin tried to make
the most of it. Did some
sightseeing with with some some
buildings and also City Centre
of children which was which was
nice. Also made sure to get my
souvenirs for my family. But
then yeah, I'm not one to really
stroll around around the city
for like hours on it. So at some
point, I just went to the
airport and met up some people
who were traveling out as well,
that was a nice break of pace
for me. But most of the time, I
was just relaxing. And well,
playing around on my laptop and
just doing some things and
catching up, in a way good. And
then I spent the night in in one
of these sleeping pots on the on
the airport, which was, which is
small, but it was manageable.
And then on, on Sunday morning,
I was finally able to fly out
and get home and see my kids and
family again. And it was a bit
of a bummer, because my daughter
had her first gymnastics
competition on Sunday. And due
to this whole thing, I didn't
make it. I was too late to catch
that. But my wife, she sent me a
number of videos, and had a good
chat with my daughter
afterwards. She was not happy
that I wasn't there. But she she
understood. And I definitely
made sure to indicate to her
that I put try my best to be
there next time. So yeah, it was
a bit of an experience traveling
to Swift heroes conference was
good travel back when I was
actually traveling was quite
nice as well. But it was a bit
of a prolonged wait I had to do
in the airport. Let's now dive
in on some other things here to
go with the conferences or the
articles first, let's do
conferences first. So there's a
number of conferences that I
think are very interesting right
now to have a look at. And I
will name them in order that
they are going to be performed.
So that's the date that they are
going to be done. So the first
one is app builders 2022.
That's, they call it a lapse
intuition. So it's basically a
hands on workshops with a number
of mentors. And they announced a
number of mentors already, that
it would be having on a roster.
And there's some great people in
there, for instance, at Tim
Condon, Dominic Houser, Leah
sunshine, and a whole bunch more
people not going there myself in
person. But by the looks of
things one of my colleagues
might be traveling there. Yeah,
if it's if you want to get some
workshops, under your belt, on
specific topics, have a look at
app builders.ch Because I think
it will be a really nice,
different style conference to
attend. There is at DEF CON Jun.
22 Jun 24. That's, that's a
cross platform conference. So
cross platform in the sense that
will be presentations on
Android, iOS, and cross platform
toolkits or frameworks. This is
a conference that's been ongoing
for a number of years.
Previously, it was called M DEF
CON,
I think it was. And yeah, it's a
really nice conference in
Amsterdam. And they try to make
it bigger each year. But this is
their return after COVID. So I'm
very much looking forward to see
how they execute on this one
again, also, coca had snow, the
meetup organization that I'm
involved with is good friends
with the company behind the app,
DEF CON. So if you go to app DEF
CON, you will most likely be
able to meet me there, because
it will be attending there in
person representing the CO cats
and I'll most likely, so have a
look at them as well, if you're
looking for a conference in
Amsterdam in June, by the way,
App Builder CH is in
Switzerland. The third
conference I wanted to mention
is iOS dev UK. So that's a
conference that will be in the
start of September, September 5
to eighth. And it's a conference
that is deep, deep deep within
the parts of the UK called
Wales. And so if you if you
traveled to Birmingham by plane,
then you still have like a three
hour train ride to go to
actually get to the to the
location, which is okay, but be
prepared to travel by train a
lot when you are in the UK. And
if you if you land on the stance
that London then it's it's four
and a half hour train journey
you have to do if the weather is
nice, I'm told that the train
journey is epic. So definitely
don't be don't be put off by the
train, right? Because if you're
lucky, it will be really cool.
And also the conference itself.
It's a very bespoke conference
that is on a university campus.
So I'm looking at the tickets
now and they have like an early
bird conference with three
nights accommodation. This
ticket includes admission to the
conference plus three nights
ensuite accommodation with
breakfast on the university
campus. So that's really nice.
That's also really cool company
team ticket for conference
tickets each with three nights
accommodation. And that's just a
better deal on on their regular
ticket and you can book an extra
night at a bed and breakfast. So
that's if you go for the total
UK experience because traveling
in the UK by only staying in bed
and breakfasts is like really
cool and it's it's different but
very enjoyable. Interesting
because that the conference,
they organize the conference,
but they also make sure that
they have a place for you to
stay in the university campus.
So that's if you log back to
those days that you were still a
student We are at a university
campus, I think this is the best
opportunity to you can get to
like the authentic experience
again. Another conference is the
Swift con conference in August,
and it will be August 17 and
18th. It will be in Cologne,
Germany. So nice thing about
this conference is that you have
already announced a number of
speakers there. And they have
announced Donnie walls and boss
Brooke, Christian Tyson and
Peter Freeza. As, as conference
speakers, and they still have
their CFP open. So definitely
check it out. And if you look at
the past speaker lineup, that's
really amazing. There are some
names and people in there that
are enjoyable to have as, as
conference speakers any day of
the of the week. So Swift
comm.com, have a look at them as
well. I'm still looking into
organizing do iOS, myself,
that's the conference I
organized with CO cats now. And
most likely sometime in June,
we're going to look on whether
or not we will execute the
conference for October. So we're
gonna have like a three month
lead time to make sure that we
can perform the conference well,
but yes, Cocottes No, we wanted
to experience in person events a
little bit more, before we pull
the trigger on organizing the
conference or not. So that's a
lot of things, I already covered
some personal things. Yeah,
they're installing the wallbox
for the electric car this week.
So hopefully, they don't mess up
too much of my day tomorrow,
because there'll be installing
it on a Wednesday and then like
a couple of weeks later, than
the utility company will come
along. And they will upgrade my
my power grid connection so that
I can have like more voltage and
more power on my system so that
I can, once the car arrives, I
can charge it more quickly.
My son is really looking forward
to getting the new car, I don't
know I mentioned to him, we will
be getting a new car in a couple
of months. And all of a sudden
our current cars which which are
a couple of old banners, he
really thinks they're like,
about to break down like each
day of the week. So he is very
concerned when getting on the
car that's concerned as a four
year old can be really, but he
constantly asks if the wheels
will fall off and things like
that. So very funny, actually.
So yeah, that's it for the
intro, really. So let's dive
into the articles of this week.
First article is by Jordan
Morgan. And it is titled
building things and raising
children. So it was a it's not a
technical article. But it is an
article that that hits home for
me very much, because I'm pretty
much dealing with similar
workloads, as Jordan seems to
deal with. So you have like a
family life and you have other
work type activities going on in
different areas of your life at
the same time. And in some way,
you need to make sure that you
keep everybody happy, right,
because you have like your
family, you have your employer
or clients or customers and you
want to make sure that
everybody's happy. Well, there's
one thing that that Jordan very
much advocates for, and make
sure that you prioritize the
things that are important to
you. And I think if you are
living as a family, I think the
family goes first in any area
that you have to make decisions.
So yeah, just to recap his
article, he did it himself in
his article, actually, make sure
that you have your life
priorities straight, make some
small habits to help yourself
work on stuff, that's a really
cool thing that he put in his
article. And definitely check it
out for that. And don't compare
your output against other people
who likely have more time than
you. And that's true. Because if
you do all these things, you'd
have like a family and kids and
you have different projects
going on. You cannot compete in
productivity while always with
somebody who's fully dedicated
to a single thing. And the
fourth thing is consider if you
really want to take on side
projects, because sometimes you
just have to make sure that you
have the time for it. And if you
don't just don't do it, find
small parts of your day or
routine where you'd have time to
make some progress. So any thing
that moves the needle just a
little bit that's already
progressed, just make sure that
you are okay with something's
just taking much longer than you
would have wanted initially. So
that's good advice overall, but
check out his article yourself
good bits in there, I think. So
the second article is called
swift type of placeholder what
it is and how to use it. So
certain wrote an article about
type placeholders. That's a new
feature in Swift 5.6, available
in Xcode 13.3. And the concept
is straightforward type.
Placeholders allow you to write
types with type placeholders,
which directs the compiler to
infer the type where underscore
is used. So certain lists a
number of examples of when and
where you could use these type
placeholders. So you can imagine
that sometimes you just want to
skip explaining to the compiler
What type is actually in a
variable. So the question is,
why do you need type
placeholders? And the article of
saloon goes Here's a bit of
detail on when you could use it,
why you would use it and what it
actually does a little bit under
the hood. So and in what ways
type placeholders can actually
be beneficial for your coding.
So definitely have a look at his
article, I found his article to
be the most concise and complete
overview of what swift type
placeholders in Swift 5.6
available in Xcode 13 Portree
actually are.
Then, Majeed has a really cool
article on logging in Swift,
because I noticed that logging
is very often under utilized
feature of the ecosystem that
we're working in. And logging
can really help you catch those
books that are harder to find
with the debugger. So sometimes
you just things happen in
production. And if you have good
logging available, and you have
a way to capture that logging
actually, then that you have a
fighting chance of figuring out
what his book is and how you can
deal with it. So Majeed writes
an article titled logging in
Swift, and he goes into what's
the OS package in iOS can do for
your basically allows you to
define a logger and lock with
it. So you can access these
device logs by connecting device
to your Mac, and then having a
look with the console app. But I
think there's also a way that
you can dump the logs on your
device, and then share them from
the device. If you use OS
logging on iOS, you will want to
get those logs from an end user
device that is not near your
computer, you can request them
to do something specifically, it
is hard to talk them through it.
But if it's like this really
special snowflake kind of book,
you might want to try this. And
that's actually called sis
diagnose lock generation. Unlike
crash lock, six sis diagnose
locks are not written
automatically by the operating
system. They are generated by a
manual trigger by the end user.
So if on an iOS device, you hold
down, volume up, volume down,
and power for 250 milliseconds,
then you have to wait for like
five minutes. And then if you
look in the Settings app, under
Privacy analytics analytics
data, you will actually find
files there with a prefix sis
diagnose, that contains all
kinds of information about the
processes and the logging the
device logs that were running at
the time of the trigger of the
SIS diagnose. So the best way to
extract a sis diagnose is using
the iOS device crash report
tool. But you can also share the
SIS diagnose file from the
Settings screen on your device.
For instance, with AirDrop it's
a bit of an involved process.
But you can actually get runtime
logs from a device by an end
user, if you are using the OS
lock package by by Apple. So
just something I wanted to add
on top of the article by Majid.
So onto the next article by
usual love.com, Swift UI
adaptive stack views. It's a
nice article on how you can use
Stack views in your iOS
codebase. And how you can
actually use Stack views in a
really cool way by switching
from horizontal size class to
vertical size class. There's
also some dynamic type involved
in because you want to fill the
available space if you switch
orientation of the Stack View.
But yeah, it does take some work
to get that work correctly. And
in his article, Keith goes over
the steps that you need to take
to make sure that when changing
the size class of your stack
view, you can increase or
decrease the font size by using
dynamic funds. And that's a
really cool trick to be aware of
when dealing with stack fuse in
your iOS application. So that's
why I wanted to include this
article this week. Then there is
a really nice, short article by
Natasha for Deva. It's titled
How to Add Text Input actions to
iOS push and local
notifications. And this is a
quick reminder really, that when
you're dealing with
notifications, you can actually
put buttons on your notification
and have specific behaviors
behind those buttons. And in the
article by Natasha, you get a
quick overview of what are some
of the things you can do with
these specific texts and button
based notifications, and how you
handle these these inputs. So
really cool, quick reminder that
a notification is much more if
you want to than just a piece of
text that is displayed to the
user. Then there's a second
article I wanted to mention by
Soren and that's titled How to
force two lines of text in Swift
UI. Switch why text will take as
many lines as possible to render
its content by default. If you
want, you can limit the number
of lines with the line limit
modifier. There's no way to set
a minimum number of lines. If
you have a layout that needs to
be present at an equal height,
this might be a problem. So
there are cases that you want to
make sure that your text is
always rendered as two lines in
this article by saruni. You will
get an insight in how you can
modify the behavior of a text
element in Swift UI and make
sure that it is always rendered
as if it is Two lines. So this
doesn't mean that the text will
be broken across two lines. But
it just means that text elements
on screen will render itself
with the height that it would
need to be able to run the two
lines. And this allows you to
have much more stability in the
layout of your user interface,
if you so desire with Swift UI.
And then there's the final
article by Gabriel. And it's
called enumerating and counting
text components in Swift UI
sometimes necessary to enumerate
or just count various components
of text in your app. And yeah,
in this article, Gabriel goes
over a number of things you can
do to count text, and also to
count specific components within
your text. So you can imagine
that sometimes you want to count
letters, sometimes you want to
count words. But then if you're
counting words, so you want to.
It is just a fun little overview
of different ways that you can
deal with texts and counting
what's actually in your text
content. And yeah, I just found
it refreshing to just read about
some of this basic algorithmic
stuff that is soft for you by
Swift. But still, it's good to
know that there's a lot of text
manipulation and counting and
inspecting that you can do with
Swift. And that's it for this
week, it's a bit of a longer
episode, because I needed to
catch up a bit on all the
content of last week, I hope you
enjoyed it. And I am thinking
hard about how I am going to
approach my podcast in the next
few months. Because I had some
time on the airport last weekend
to really think about where I'm
at with my podcast and wondering
what I want to do. And I noticed
also, in part by the article by
Jordan Morgan, that sometimes
with my podcast, my podcast has
had more priority than my family
life sometimes. And I really
want to make sure that that does
not happen anymore. So I will
promise that I will continue
podcasting, my regular episodes.
But it could very well be that
my interview episodes are not
going to be as regular each week
as they have been over the past
one and a half year. Because
yeah, it just takes a lot of
work to do the interviews,
because especially if you bunch
a couple of these interviews
together, then you're like
recording like an entire night.
And yeah, I think I need to
reevaluate a little bit of what
my priorities are. I do enjoy
podcasting. So we'll keep doing
it. So no worries there, but
trying to figure out a little
bit on how to do this. And maybe
someday I will be able to just
get some additional sponsorship
go with a podcast that allows me
to hire an editor and make sure
that I just can focus on the
recording aspects of a podcast
and have somebody else take care
of all the editing and making it
all look nice and making sure
that there's ready for upload
somewhere else in provider. So
just wanted to share that I keep
on podcasting you keep on
listening, subscribe to my
newsletter. You can find that
one at app forest one.net Enjoy
a week and talk to you again
next week.