Kotlin: JVM to Multiplatform

The standard way to start a kotlin project is as a jvm project. Perhaps it shouldn't be, as starting as a multiplatform project is just as simple, and provides more flexibility. At this time, there is no way to automatically create a jvm project as multiplatform, without already selecting extra platforms, but it is very… Continue reading Kotlin: JVM to Multiplatform

Functional Programming Introduction

What is Functional Programming?functional programming is not...why 'functional' then?helicopter view: the big picturebenefits of functional programminglimitations of functional programminglearning guide for functional programmingwhy the weird new terms?The ConceptsCategory TheoryPure FunctionsMonoidWhy bother with MonoidsFunctorMonad What is functional programming? What functional programming is not. Python uses functions such as len("my string") in place methods such as "my… Continue reading Functional Programming Introduction

Packaging and Uploading a package to PyPI

As developers, it can be easy to write messy code or for code to bloat and become unwieldy. When this happens you may start to recognise patterns or repeated code. These repeating patterns should be moved into a class for storing these "utility" functions. As your utility classes grow the classes could become a project… Continue reading Packaging and Uploading a package to PyPI

Dates, Datetimes & Timestamps.

Software needs a way to represent a point in time, a 'timestamp', and the difference between two points in time. TimeStamps: What are the problems to be solved?Absolute Time: UTC Time Zones: Time is RelativeDate/Time from which Perspective?Extra Data: Local TimeOriginal Event Time: Key To Reporting.Local Time Calculation & Complications.Timezone SolutionsDateTime Properties & UsageImplementationGeneralPythonKotlinConclusion: Combining… Continue reading Dates, Datetimes & Timestamps.