Here are some of the things I did in the tech-sphere on 2020.
- Solve sudoku puzzles programmatically without using brute force. It was a pretty fun project to do, as I like doing programming challenges every now and then and this was one that I had pending for a while.
- Documenting Swift Packages with SourceDocs. See SourceDocs 1.0.0 for details on new features added.
- Using DateTemplates in SwiftUI for custom date formatting
- Using AWS DynamoDB from a Command Line Swift Application
- Getting started with async/await in Swift
- Hello, World! On building an over-engineered blogging solution, for fun!
Swift on AWS Lambda
Back in May, Swift AWS Lambda Runtime package was announced on Swift.org. I was really stoked, since I had been interested in building Lambda functions in Swift for a while, and so far, while doable, the support was limited. With this new package backed by the Swift Server Work Group, everything changed.
Since then, I’ve had the pleasure to work on several projects using AWS Lambda and Swift.
Despite the coronavirus, and despite being online, WWDC was big this year. BigSur and SwiftUI “2.0” looking very promising, and new Apple Silicon!! It was fun month to experiment with Xcode 12 beta, SwiftUI and multi-platform SwiftUI applications for macOS & iOS.
Carthage vs. Swift Package Manager
The introduction of ARM processors for macOS caused a lot of trouble for Carthage. Swift Package Manager in the other hand, with native support included since Xcode 11, introduced support for embedded resources (SE-0271) and binary framework distribution starting with Swift 5.3.
Published Open Source
I released several open-source projects in 2020, here is the list:
- Blog - my new over-engineered blog engine for blogging with GitHub Issues
- Stripes - configurable SwiftUI stripped background
- ObjcCrashDemo - to showcase Obj-c interoperability issues with Swift optionals.
- DateTemplates - declarative way for building date templates and no longer worry about
- DynamoDB demo - Using DynamoDB from the command line, in Swift
Open Source Contributions
Own maintained repos:
Not many contributions to third-party open source repos, to be honest:
- XLForm, for distribution via Swift Package Manager.
- Lottie iOS, minor updates for Swift Package Manager support.
- Soto for AWS, added support for STS Assume Role operation.
- Swagger, some documentation.
- Swift AWS Lambda Runtime, minor documentation.
Some GitHub Statistics
For 2020, these are some numbers (including both private and public repositories):
- Submitted ~385 pull requests (the vast majority at work)
- My most starred repo is SourceDocs with 268 stars
- Started 11 new (private) projects that didn’t finish, and a couple others that are in progress.
Amazon Web Services
I’ve been using Amazon Web Services for over a decade. I remember when back in 2009 (or 2010?), Kyle Wiens from iFixtit did a talk at Central Coast Code Camp, showcasing how to use EC2 instances behind a load balancer. Back then I had web servers running on Rackspace Cloud, but I was sold on AWS.
This year I did some AWS training and got certified as AWS Certified Developer - Associate.
It’s been an intensive end of the year, with much training and studying besides day-to-day work.
This article was written as an issue on my Blog repository on GitHub (see Issue #11)