The macOS Apps I'm Using
A developer shares his updated list of essential macOS apps and tools for productivity, development, and system management.
Sebastian Witowski is an independent Python consultant, freelancer, and international speaker based in Poland. With 10+ years of experience—including work at CERN—he specializes in Python development for finance and energy trading, covering web development, ETL pipelines, and technical workshops.
55 articles from this blog
A developer shares his updated list of essential macOS apps and tools for productivity, development, and system management.
A developer explains why they prefer using simple Makefiles for project automation, citing consistency and ease of use across different technologies.
A developer details automating a TradingView subscription service using n8n, Python, Telegram bots, and web crawlers to handle customer access and emails.
A developer shares their experience setting up a Stream Deck for productivity, comparing Windows, MacOS, and Linux support, and offering configuration tips.
A developer explores creating a global mute/unmute macro as a free alternative to buying a Stream Deck for productivity.
A guide on improving remote work communication by avoiding vague greetings, unscheduled calls, and meetings without agendas to boost productivity.
A developer shares personal experiences and advice on overcoming social anxiety to network effectively at tech conferences.
A beginner's guide to implementing Continuous Integration (CI) for Python projects, covering automation of testing, formatting, and deployment.
Compares using pre-commit hooks vs. CI pipelines for automating code checks, discussing trade-offs like speed, feedback, and handling slow tests.
A Python developer shares advice for conference organizers, covering both in-person and online events, based on years of attendee and speaker experience.
Compares performance of Python's map() function and list comprehensions through benchmarks, showing list comprehensions are often faster.
Explores the performance trade-offs of inlining Python functions vs. keeping code modular, showing a speed gain at the cost of readability.
Explains how Python's pathlib module simplifies cross-platform file path manipulation, replacing older os.path and glob methods.
A comprehensive guide for aspiring tech conference speakers, covering proposal writing, preparation, slides, demos, and networking benefits.
Explores Python's four string formatting methods: old %-style, template strings, str.format(), and modern f-strings, comparing their features and use cases.
Explains why to use 'is' instead of '==' when comparing to None in Python, covering performance and correctness.
A developer's rant about Excel's frustrating limitations, including the 31-character worksheet name limit and unexpected numeric storage quirks.
Explains Python dictionary comprehension, compares its performance with for loops and dict() function, and provides benchmark results.
A developer shares their journey from Evernote to Obsidian for note-taking, detailing setup, customization, and sync options.
Compares performance of dict() vs {} for creating dictionaries in Python, showing {} is significantly faster due to bytecode differences.