qnoid.com
2025
Chaos
In case of emergency break (empty) glass
Countdown
Delta’s 10-year journey to the top of the App Store
Debugging Closed Source Code
A decade of progress in finance is only the beginning
Back in London
A change is gonna come
Interview on the CERN Alumni Podcast
Developing Applications for iOS using SwiftUI
To live without fear
Two more examples of Encoding and Decoding Custom Types in Swift
People, teams, creativity and innovation
Bravery
What it takes
Knowledge
Tired
Back to the 80s and the 90s
Apple's letter to developers
Oh how far the apple has fallen from the tree
What has become of Apple?
Over a year since Apple gave me an ultimatum on Windmill
Fear, support and endurance in the face of adversity
Programming
Debt and borrowed time
Coding challenges as part of an interview
I miss London
The Windmill source code is now public
Hugo
Coding
Evolution
The next 10 years
Open-source
The curtain falls on Windmill
Game Awards
MacBook Pro random shutdown fix
Apple Premium Service Provider
The state of Apple hardware I currently own
The future of Windmill
3 months off Twitter
Taking back control of my life's narrative
Respect the baby steps
Kiva
Reasons I have resigned, quit or was let go of a job.
An Apple Developer for 10 years
Anxiety looks different in men (The Wall Street Journal)
Anthony Bourdain - Parts Unknown
Brain drain
Stavros Niarchos Foundation Cultural Center
Despair
Where is Windmill on the iPhone?
Windmill enters egg
Swift 5.0.x String Performance
A series of steps
Climate <strike>Change</strike> Emergency
Moving the needle
iOS automation - the current state of affairs
Standing on the shoulders of giants
A life filled with music
Greek residency as a European citizen
Primitive testing of a REST API in bash
How to replace the `rootViewController` of the `UIWindow` in iOS
Hiring for diversity
User Accounts
Public Spaces
Cookie free
Nothing but a dream
Anxiety and Depression
Thinking of quitting the software industry
Timing's a bitch
A primer in HTTP caching and its native support by iOS
Diversity and Inclusion
We need to raise the bar on software development
To be celebrated as a human
The price of freedom
Bitwink
Why arent we password free yet?
We need to talk about fizzbuzz
On sacrifices
On mobile
Sound Debugging
How to implement a reusable UIView
How to debug a "class JKserializer is implemented in both" case (Part 2)
How to debug a "class JKserializer is implemented in both" case (Part 1)
iOS implementation of user authentication without a password
Mockups on user identity
A post about user identity that is thought provoking on user authorisation and security, or just utter bullshit
How to trace and debug an iOS crash (Part 2)
How to trace and debug an iOS crash (Part 1)
Metrics of an object oriented world
Making wordings of numbers 27 going twentyseven
How to think of... a hash table (Part 3)
How to think of... a hash table (Part 2)
How to think of... a hash table (Part 1)
How To Think Of... Binary Search
How To Think Of... Macros
On reusability (Part 2) ...Misconceptions
On reusability (Part 1) ...Misconceptions
Why can't programmers... design software?
It's about software design - IASD
Take a step back. Take a deep breath. Take pen and paper
How To Think Of... Aspects
The beauty of software design - Designers Challenge
Urban Legends ...O Is For Object (Part 1)
The Myth ...O Is For Object (Part 2)
Revelations ...O Is For Object (Part 3)
The constructor ...Don't abuse the constructor
State Machine ...Don't Abuse The If
Inheritance ...Don't Abuse Inheritance
Encapsulation ...Don't Abuse The If
Heterogenous Containers... JSON (Part 3)
Heterogenous Containers... JSON (Part 2)
Heterogenous Containers... JSON (Part 1)
Heterogenous Containers... JDBC (Part 3)
Heterogenous Containers... JDBC (Part 2)
Heterogenous Containers... JDBC (Part 1)
Heterogenous Containers... Preamble
What Type Of Msc Do You Think Will Prove More Valuable?
How To Think Of... Recursion
Evaluation ...Don't Lose Your Train Of Thoughts
Conclusion ...Don't Lose Your Train Of Thoughts
Factory type ...Don't Lose Your Train Of Thoughts
Marker Interfaces ...Don't Lose Your Train Of Thoughts
Parse a date with a variable format
Builder type ...Don't Lose Your Train Of Thoughts
Followup to Recursively find and filter files in Java
Reusability ...Don't Lose Your Train Of Thoughts
Do you think that GAE alone is enough to justify learning Python over Ruby?
Can an Abstract Class and an Interface play nice together?
Why is 8 numbers considered a "strong" password?
Reasoning ...Don't Lose Your Train Of Thoughts
Do small code presentations
Use types ...Don't Abuse The If
Immutability ...Don't Lose Your Train Of Thoughts
Class Relationships ...Don't Lose Your Train Of Thoughts
Whiteboard
Preamble ...Don't Lose Your Train Of Thoughts
Polymorphism ...Don't Abuse The If
Introduction ...Don't Lose Your Train Of Thoughts
You need to know grammar, not math to do Object Oriented programming
Be Pissed, Be Polite. Always Say "Good Bye!" (the Reason Behind 'finally' In A Try:catch)
I'm a developer, you are a designer, we get along. We are both Person(s) after all
Focus on your test, leave buggage behind
Everytime you write an init method a developer gets an Exception ...Simply Don't
Apply polymorphism or you will drive yourself crazy