I teach SwiftUI to people. I've written books and teach classes. The books don't work nearly as well (because many people just read it instead of actually practicing SwiftUI). The classes I teach ("workshops") are extremely hands on, I try to defer my explanations to after the exercise as much as possible. The feedback is often very positive, and I can tell afterwards that people have really grasped stuff. I know I'm just trying to confirm my biases here as well, but to me, there's nothing better than doing stuff first and then analyzing it.
oh yes, absolutely! I have a system that works well for me. But it's inherent to plain text files that they don't support attachments. It's plain text, after all.
In thinking a bit more, I think the biggest pain point for me is one with plain text in general: it supports no attachments. I have my own system to refer to specific files and built a Mac app that lets me drop a file on a transaction, then it copies that file into a specific folder and adds a tag to the transaction. This could be done so much easier if the data would be sqlite, but then you obviously lose the ability to edit it directly in your text editor.
I've been using ledger (ledger-cli) from the moment I first became self employed (almost twenty years ago). While far from perfect, I'm very happy about it. It's nice that everything is in plain text, which means that I can script things, read everything in VIM, and easily extract data. For one of my two current companies, the ledger file is 2MB of plain text and contains the transactions from 2016 onwards.
While I personally didn't find much value in lots of different "accounts" (categories), it's still been indispensable in keeping track of everything.
Learning double-entry bookkeeping (which tools like ledger use) was really fun (and not that hard in hindsight) and probably a skill that is useful for the rest of my life.
I'm very happy with my career. We run a small website teaching advanced iOS development (objc.io). We write books and make videos. I run it with my co-founder and that's basically it. We have some really good people we work with, but 80% of the time it's just the two of us, and we're pretty aligned in what we want.
When my daughter was born (almost 4 years ago) I switched to not working a lot. Maybe 5-6 hours a day. I spend almost every afternoon with the family (after my daughter wakes up from her nap). In the early mornings I do my workouts. The combination of this makes me really happy.
We make more than enough money (we live a modest lifestyle), even though I could probably make a lot more in a real job. But having the freedom -- both in doing what we want work-wise, as well as having a lot of family time -- is pretty amazing. I have no regrets so far.
We're launching a new Mac app today, Narrated. It lets you create screen recordings that include your webcam.
We built this app in Cocoa and SwiftUI. Cocoa lets us use all the APIs we need, whereas building (most of) the UI in SwiftUI helped us to get this out, iterate quickly and have polished animations.
Apple's Xcode is a free download, the Swift compiler is open source. However, to become an "official" developer on the Apple platforms and publish apps you do need a paid developer account.
We wrote the Swift Talk backend in it. It’s mostly fine, but some parts are still buggy on Linux. For us, there were two or three bugs that took a few hours each (over the course of a few months of development). Apart from that, I loved Swift on the server: it’s the language I know, so it makes things really fast to build for me. The performance is amazing (both in terms of execution time as well as memory usage).
Every added feature also adds complexity (and to be fair, in some cases, removes complexity). I love type classes, but I discovered in playing with Elm and specifically, TEA (The Elm Architecture) that the simplicity is also really nice even if you're comfortable doing type-level programming. There's something about Elm's simplicity that really works.
Interesting. Amazon is a bit unpredictable with pricing. The advantage of the digital edition is that you will get updates whenever we change something. We've done that for the past 1.5 years with the Functional Swift book =).
The other comment in this thread explains it really well. Another point of view: Apple's book is targeted at all sorts of developers, from complete novices to people who've written ObjC for two decades. We target advanced developers, and assume that you are already a professional developer. That allows us to dive much deeper!
I teach SwiftUI to people. I've written books and teach classes. The books don't work nearly as well (because many people just read it instead of actually practicing SwiftUI). The classes I teach ("workshops") are extremely hands on, I try to defer my explanations to after the exercise as much as possible. The feedback is often very positive, and I can tell afterwards that people have really grasped stuff. I know I'm just trying to confirm my biases here as well, but to me, there's nothing better than doing stuff first and then analyzing it.