Archives for Janis Lesinskis' Blog


Sun 21 April 2024
Viewing HEIC images in gnome Image Viewer
Sat 20 April 2024
Trolleys and society
Mon 15 April 2024
What travel mode does to dating apps
Tue 09 April 2024
2024 solar eclipse
Wed 06 March 2024
Why you shouldn't pay for premium extras on swipe based dating apps
Sun 03 March 2024
AI image manipulations and online dating
Tue 27 February 2024
Low quality course advertisements in 2024
Sat 17 February 2024
Commodities accounting concepts
Mon 01 January 2024
Are pets keeping people single?
Fri 10 November 2023
Finding system temperature from the command line
Wed 08 November 2023
Optus outage and cashless payments
Wed 08 November 2023
Optus outage and cloud software
Wed 08 November 2023
Mobile vs desktop browsing in 2023
Tue 07 November 2023
Bumble red flag advertisement
Sat 04 November 2023
Content moderation inversion
Fri 13 October 2023
Brexit and voice referendums
Sun 08 October 2023
Iron dome economics
Thu 21 September 2023
The death of full employment
Thu 21 September 2023
You don't have all the time in the world
Tue 19 September 2023
End of the golden era of internet searching
Fri 01 September 2023
Spinning rust drives
Wed 30 August 2023
Weight gain goal
Sat 13 May 2023
Gold hits record high in USD and closes a week above 2000 USD/ounce
Mon 01 May 2023
Dealing with Shopify page bloat
Fri 21 April 2023
Bud light boycott
Tue 18 April 2023
Prime marks and typography
Tue 11 April 2023
Weighted average lease expiry
Wed 22 March 2023
Online chess hiatus
Wed 22 March 2023
Another reason to avoid dating apps
Mon 20 March 2023
Glycosphate and the breakdown of discourse
Mon 20 March 2023
Determinism in research code
Mon 20 March 2023
Exit liquidity shills
Sun 19 March 2023
Collateral crisis psychology
Sun 19 March 2023
Luna a modern case of hyperinflation
Sat 18 March 2023
Bags of rocks at the LME warehouses
Tue 14 March 2023
How cheaper computational power has changed banking
Sun 12 March 2023
2023 Avalon Airshow
Sat 04 March 2023
The markets for metals
Fri 03 March 2023
A useful postgres explain tool
Fri 03 March 2023
What is a commodity
Sat 18 February 2023
EBDITA and accounting games
Sat 18 February 2023
Mindat.org is amazing!
Sat 18 February 2023
Central bank interventions and price discovery
Thu 16 February 2023
I'll be talking about failure demand tonight
Wed 15 February 2023
What makes metals valuable
Mon 13 February 2023
Foundational chemistry ideas needed to understand metals
Mon 13 February 2023
What is a metal
Sun 12 February 2023
Functools cached_property
Sun 12 February 2023
Metals series introduction
Mon 26 December 2022
Looking back at the RPA hype cycle
Sat 03 December 2022
FTX and madoff, simlarities and differences
Sat 03 December 2022
pdfsizeopt
Mon 28 November 2022
The QR code restaurant experience
Sun 13 November 2022
The fall of FTX
Wed 09 November 2022
Demand destruction anecdotes
Mon 07 November 2022
The 2006 debasement of NZ coinage
Mon 19 September 2022
I quit Twitter
Sat 10 September 2022
Expensive lettuce and cheap sushi
Sat 10 September 2022
Violence in 2022
Fri 09 September 2022
Some predictions for the upcoming era
Thu 08 September 2022
GameStop short squeeze part 3
Mon 08 August 2022
Setting the ssh key for a git clone
Wed 06 July 2022
The death of the six PM news
Tue 31 May 2022
Practical Pylint usage
Mon 30 May 2022
The myth of the unbalanced government budget
Sun 29 May 2022
Crypto crash update May 2022
Sat 21 May 2022
Crypto's Lehman moment
Wed 18 May 2022
Where is your line in the sand?
Mon 16 May 2022
Economic sanctions and vodka bans
Sun 15 May 2022
Why I stopped using Ebay to sell things
Sat 02 April 2022
Daylight savings ready to wreck my sleep again!
Wed 30 March 2022
Oscars and CMBS
Wed 02 March 2022
Russia-Ukraine conflict crypto grifting
Mon 28 February 2022
Bastiat on legal systems and morality
Mon 28 February 2022
End of another aviation era - the Antonov 225
Mon 21 February 2022
Debugging an issue with Pelican
Sun 20 February 2022
Hot takes for clearing the Ambassador bridge
Thu 17 February 2022
My bank workshop experience
Sat 12 February 2022
The limits "no code" solutions
Mon 24 January 2022
That annoying Matt Damon crypto advertisement
Thu 13 January 2022
Rapid antigen test profiteering
Tue 11 January 2022
Omicrons extreme transmissibility combined with far milder symptoms is forcing policy changes
Wed 05 January 2022
Transitory inflation means permanent purchasing power reduction
Sun 02 January 2022
Engineered timber
Sat 11 December 2021
Where is money created
Mon 29 November 2021
A change in the common knowledge in the markets - last weekend of November
Sat 27 November 2021
Learning from history
Thu 25 November 2021
Bank bail ins
Thu 25 November 2021
Problems with Celsius
Sat 06 November 2021
2021 crypto ponzi schemes
Wed 03 November 2021
What a difference a few years makes in crypto
Sat 30 October 2021
Why is so much financial advice bullshit
Fri 29 October 2021
Why do stable coins matter
Thu 28 October 2021
Futures markets lower prices, both in good and bad ways
Fri 22 October 2021
Is this the end of Melbourne's COVID lockdowns?
Sun 03 October 2021
I don't like daylight savings
Fri 01 October 2021
Meanwhile over on the VIX...
Fri 01 October 2021
V shaped lies
Thu 30 September 2021
"Maximum" salaries
Wed 22 September 2021
2021 September 22 Melbourne earthquake
Tue 21 September 2021
Fast things happen slowly then quickly
Sun 19 September 2021
Finally getting around to publishing some monetary policy articles
Wed 15 September 2021
13 years since the failure of Lehman Brothers
Tue 14 September 2021
Getting CORS to work with Flask
Sun 05 September 2021
Another reason why piping the outputs of curl into bash is a security risk
Sun 05 September 2021
Why things have been quiet here lately
Tue 31 August 2021
Type annotations in Python 3.7
Wed 11 August 2021
Numpy and mypy type checking
Tue 10 August 2021
SQLAlchemy and mypy type checking
Sun 18 July 2021
Beware of Python assertions in production code
Fri 16 July 2021
Sentinel objects and mypy type checking
Mon 05 July 2021
Javascript support in this blog
Sun 04 July 2021
2021 mid year update
Thu 10 June 2021
Australian open tennis 2021
Wed 09 June 2021
WordPress enumerations
Wed 02 June 2021
Hard rubbish day 2021
Tue 01 June 2021
Geoclue and other annoyances
Sun 16 May 2021
Politics of unproductive debt
Thu 13 May 2021
PFOF and Bernie Madoff
Thu 13 May 2021
The Eddie Murphy trading rule
Mon 29 March 2021
std::cout and uint8_t
Sun 28 March 2021
JIT logistics and tail risks
Fri 26 March 2021
The fmt library
Thu 25 March 2021
id est
Tue 23 March 2021
Backup of Quora content
Mon 22 March 2021
Deleting my Quora account
Sat 13 March 2021
Why isn't version control on the curriculum
Thu 11 March 2021
How wide are the underlying data types for Python integers
Wed 10 March 2021
The state of C++ education in 2021
Tue 09 March 2021
GameStop short squeeze part 2
Sat 06 March 2021
Vending machine controller test platform
Fri 26 February 2021
Legacy networking protocols
Wed 24 February 2021
What are the markets smoking?
Wed 24 February 2021
The calm before the commodities end of month rollover storm
Sun 31 January 2021
TIL a precise definition of eurodollars
Sun 31 January 2021
The pandemic of mindless contactless payments
Sat 30 January 2021
A quick introduction to the mechanism of stock short selling
Sun 10 January 2021
Knowing when to give up on legacy projects
Sat 09 January 2021
What are "no code" solutions?
Sun 03 January 2021
Dependency management in code files is not great
Fri 01 January 2021
2020 is over!
Wed 30 December 2020
Financial spam emails ratio
Wed 16 December 2020
Who owns bank deposits?
Mon 14 December 2020
Nosocomial
Wed 09 December 2020
Australia desperately needs to start learning from others about covid
Tue 08 December 2020
2020 collectables
Fri 04 December 2020
I've been asked to make a list of reading suggestions
Wed 02 December 2020
Why price impacts from Quantitative Easing can be delayed
Sat 21 November 2020
The Expensify election email
Thu 19 November 2020
Spotting financialization when looking for work
Tue 17 November 2020
The USA presidential election process
Sun 15 November 2020
This site now has a sitemap.xml file
Thu 12 November 2020
Solar panels and car sales, a financialization story
Sun 08 November 2020
Please stop making arbitrary password restrictions
Wed 04 November 2020
2020 USA election
Mon 02 November 2020
Slack capacity and food supply chains
Thu 15 October 2020
Good developers care about their tools
Fri 09 October 2020
The story of Lasseters reef
Wed 07 October 2020
Making the post date more obvious
Thu 01 October 2020
Impacts of a dependence on backpackers and other foreigners on farm labour during a crisis
Wed 30 September 2020
WeGrow
Sun 27 September 2020
Is this blog now popular enough to be plagiarized from?
Sat 26 September 2020
Margin investing is psychologically corrosive
Fri 25 September 2020
Canned audience sounds during the pandemic
Wed 23 September 2020
Please don't exclusively use Twitter for communicating important announcements
Wed 16 September 2020
Why can't we house the homeless?
Fri 11 September 2020
The decline of the average level of experience in the software industry
Wed 09 September 2020
What negative prices look like
Tue 08 September 2020
Fake comment discussion scam
Fri 04 September 2020
Calling the top of the NASDAQ rally
Tue 18 August 2020
Default parameters and sentinel objects
Wed 12 August 2020
Could we see geographical divergence in Australian culture?
Thu 06 August 2020
Gold breaks 2000 USD/ounce
Sun 02 August 2020
A bitcoin long squeeze
Sun 02 August 2020
The stonks market
Sat 01 August 2020
End of another Australian airline era
Thu 30 July 2020
The Kodak stockmarket moment
Mon 27 July 2020
Today I learned the real reason why there's reeding on the sides of coins
Sun 26 July 2020
What is this thing called science
Thu 23 July 2020
The Chatham House Rule
Tue 21 July 2020
The future of automation products
Tue 21 July 2020
The great RPA rebranding
Mon 20 July 2020
Automation has a narrow window of recognition
Sun 19 July 2020
History of the automation industry
Tue 14 July 2020
Today I learned about poaceae
Sun 12 July 2020
Fixing the bug with the series sort order
Sun 12 July 2020
Natural sorting and pelican series
Sun 12 July 2020
I'm freezing new long form articles for a while
Sat 11 July 2020
Cache invalidation and UX
Sat 11 July 2020
A handy git command
Sat 11 July 2020
Python's data model and intuitive operators
Thu 09 July 2020
Today I learned a new word - disinflation
Thu 09 July 2020
Creating a topo map - day 10
Mon 06 July 2020
Creating a topo map - day 9
Sat 04 July 2020
Creating a topo map - day 8
Sat 04 July 2020
Trading card games and competitive play
Thu 02 July 2020
Creating a topo map - day 7
Wed 01 July 2020
Creating a topo map - day 6
Tue 30 June 2020
Creating a topo map - day 5
Thu 25 June 2020
Why I'm not a Dropbox customer anymore
Wed 24 June 2020
Creating a topo map - day 4
Sun 21 June 2020
Git preview for a single file?
Sat 20 June 2020
Initial bankruptcy offering
Sat 13 June 2020
Templated email... almost
Thu 11 June 2020
Creating a topo map - day 3
Wed 10 June 2020
Creating a topo map - day 2
Tue 09 June 2020
The new LinkedIn look and feel
Tue 09 June 2020
Creating a topo map - day 1
Tue 09 June 2020
Creating a topo map - intro
Mon 08 June 2020
PHP turns 25
Tue 02 June 2020
The MIT licence is community hostile
Tue 02 June 2020
Today I learned a new word - Gerontocracy
Mon 01 June 2020
Death during the COVID19 pandemic
Sat 23 May 2020
Personal impact of COVID19
Mon 18 May 2020
Common sense
Tue 12 May 2020
PyPi web API
Mon 11 May 2020
Updating your setup.py files to the newer format
Sun 10 May 2020
Stockfish vs AlphaZero
Tue 05 May 2020
Demand shocks and toilet paper
Sun 03 May 2020
Air quality
Sat 02 May 2020
End of an Australian airline era
Wed 29 April 2020
Number pyramid problem
Mon 27 April 2020
Maker vs manager schedules
Tue 21 April 2020
Creating your own user events in pygame
Mon 20 April 2020
Unicode whitespaces in Python
Thu 16 April 2020
The HTML abbreviation tag
Thu 16 April 2020
Finding out what a python script imports
Tue 14 April 2020
Pylint false positives with C extensions
Thu 09 April 2020
Have we reached peak Python?
Sun 05 April 2020
Software workloads in the COVID19 world
Sat 28 March 2020
Stringly typed functions
Thu 26 March 2020
Platinum status quarantine
Wed 25 March 2020
LaTeX support on this blog
Tue 24 March 2020
One percent a day
Mon 23 March 2020
Daily writing goal
Sun 22 March 2020
Preparing for a break from playing billiards
Sat 29 February 2020
Happy leap day!
Mon 17 February 2020
What causes Pylint no-member false positives and how to deal with this
Mon 27 January 2020
Sorting IP addresses in Python
Tue 07 January 2020
Myriad
Wed 25 December 2019
Page requests to the metal - Backend web framework
Mon 23 December 2019
Build system options in 2019
Thu 19 December 2019
RAM usage 50 years after Apollo
Tue 17 December 2019
Different techniques for debugging code
Thu 12 December 2019
Finding the versions of imported modules in Python code
Mon 25 November 2019
Page requests to the metal - Backend implementation
Mon 25 November 2019
Page requests to the metal - Backend - What happens on the server
Mon 25 November 2019
Page requests to the metal - frontend
Mon 25 November 2019
Page requests to the metal - hardware level
Mon 25 November 2019
Page requests to the metal - introduction
Mon 25 November 2019
Page requests to the metal - Network stack - From frontend to backend
Sat 23 November 2019
Debloating
Sun 03 November 2019
Running pip as a Python module
Sat 05 October 2019
Daylight savings transition tonight
Tue 01 October 2019
Falsehoods people believe about Australian time zones
Mon 30 September 2019
Why I now hesitate to use TeX
Sun 29 September 2019
How important are portfolios to developers
Sun 04 August 2019
Various ipsum text examples
Fri 02 August 2019
Using the Python markdown library
Wed 31 July 2019
Representing keyboard shortcuts
Sun 21 July 2019
Different ways to drop into an interactive python shell
Wed 17 July 2019
Modification date information matters
Wed 03 July 2019
Forwards compatibility with Python generators
Fri 28 June 2019
A day in the life of a package maintainer
Thu 27 June 2019
Deprecating module level variables
Tue 25 June 2019
MDB and vending machines
Tue 25 June 2019
Forcing connections to be HTTPS only
Mon 24 June 2019
Site redesign
Wed 19 June 2019
Backend update
Sun 05 May 2019
PyCon USA 2019 poster session poster
Wed 01 May 2019
PyCon USA 2019 coming up!
Thu 11 April 2019
Getting Altair to render inline in Jupyter
Fri 08 February 2019
Girls In Tech San Francisco workshop
Mon 12 November 2018
Pair programming with beginners
Sat 01 September 2018
PyCon Australia 2018
Fri 20 July 2018
A couple of questions about mypy
Sat 14 July 2018
Python's __hash__ function is not a cryptographic hash
Sat 23 June 2018
Limiting the runtime of Python unit tests
Sun 27 May 2018
Pytest fixtures with Flask
Thu 24 May 2018
Renaming Git branches
Fri 11 May 2018
Moving commits from one repository to another.
Mon 07 May 2018
Enforcing foreign key constraints with SQLite
Sun 22 April 2018
Python self references
Wed 14 February 2018
TIL: Install options for pip in requirements.txt
Fri 09 February 2018
TIL: Python import machinery details
Tue 06 February 2018
Logging uncaught exceptions in Python applications
Sun 24 December 2017
TIL: Python hashing implementation details
Sat 09 December 2017
2017 tech thoughts
Fri 25 August 2017
Interfacing Python with C or C++
Tue 11 October 2016
Getting the MMAP array library on PyPi
Wed 05 October 2016
CompCon 2016
Sun 25 September 2016
Generating python bindings from C++11 with pybind11
Sun 25 September 2016
Deprecation warnings in python
Sat 24 September 2016
Which techniques help us be more productive?
Fri 23 September 2016
Testing for exceptions with Jasmine
Tue 16 August 2016
PyCon Australia 2016
Sun 06 December 2015
Using LaTeX for fast document generation
Mon 19 October 2015
Python's comprehensions syntax for java developers
Fri 12 June 2015
Virtualenv ubuntu
Sun 28 December 2014
Django inheritance
Sun 21 December 2014
Using Travis CI with Django
Sun 24 August 2014
Booleans in Django templates
Tue 05 August 2014
Using virtualenvwrapper with Fabric
Fri 18 July 2014
Code repair 2: Fibonacci and standard deviations homework (part 1)
Fri 18 July 2014
Code repair 2: Fibonacci and standard deviations homework (part 2)
Sun 06 July 2014
Lessons learned from my first attempt at making a footbag database website
Mon 16 June 2014
Useful linux environment setup info
Mon 26 May 2014
Pelican image format issues
Sun 25 May 2014
Code repair 1: the problem with rand()
Sun 25 May 2014
Code repair series introduction
Sat 24 May 2014
Setting up Pelican on PythonAnywhere
Mon 19 May 2014
What am I doing with my life?
Sat 17 May 2014
A c++ project organization trick
Wed 14 May 2014
Nearly disastrous mistake
Mon 12 May 2014
Aiming billiards shots
Fri 02 May 2014
Using git without an internet connection
Sun 27 April 2014
Creating an effective Python web development environment
Tue 22 April 2014
First post