I see a lot of discussion on the internet about the usage of weak, and unowned objects in Swift. Recently, I was involved in a thread on Stack Overflow discussing the proper usage of weak references and it occurred to me that since I see so much discussion about this topic it would be good to write a post detailing my understanding on the usage of weak references.
This year my employer, LexTech Global Services, offered to sponsor my trip to WWDC 2017 if I was lucky enough to win a ticket in the lottery - and I did! I am very lucky to have received such a generous gesture on behalf of LexTech and it is very exciting from a technology perspective to be attending my first ever WWDC live and in person for many different reasons.
Recently, I was working on some Python code where I needed to keep track of an ordered list of functions to where I could call these functions again at any given time based upon a numeric index. Think of this situation like a list keeping track of an object by index, but instead, I wanted to keep track of a functions by index. My first thought was to try and create some sort of generic object that could manage all of these functions and the specific ordering that I needed.
Designing server architecture to support multiple applications can be a very tricky and intimidating task to take on. So many different things need to be considered when designing your first initial implementation that often times engineers will find themselves over engineering an achitecture all at once instead of building for their immediate needs and planning to scale over a period of time.
I was recently asked in a computational project to generate prime numbers to be used in public key hashing routines. The idea was that I needed to write an algorithm that finds prime numbers between a specific range and then those prime numbers would be randomly assigned to a list and then multiplied together in sequence to produce large complex numbers that would then, in turn, be concatenated together to form variations of public keys.