This is a list of tools, gadgets, software, and hardware I currently use, have liked, and find worth mentioning.

Personal

Gadgets and Gizmos

Computer and Peripherals

  • Commodore 64: My first computer.
  • Mac Studio: I have a beefy Mac to do my work, content creation, gaming, and streaming.
  • Mac Mini Intel 2018: I use this as a local build and test environment, and experimental server.
  • Intel Nuc: I use this for other random experimentation. It has Ubuntu installed.
  • Logitech MX Master 3S: The fastest scroll ever; you’ll never realize how important scrolling is before you use this mouse. It’s very ergonomic too.
  • Logitech MX Keys: I use this keyboard mostly. It is silent, with a small form factor, and like MX Master 3, it can connect to up to 3 devices at the same time, which is very useful.
  • Das Keyboard 4 Professional: I use this keyboard when I need to type a lot. It has Chery MX Blue keys, making it very clicky and loud, but it’s very satisfying.
  • CalDigit Thunderbolt Station: Adds 18 more ports to your machine for extreme connectivity.
  • InnoView Portable Monitor, 15.6 Inch: I use this as a secondary monitor for streams as a dedicated 1080p source.
  • Anker 2.4G Wireless Vertical Ergonomic Optical Mouse: It’s very ergonomic; it’s a fraction of the price of MX Master 3, and it’s amazingly precise and comfortable. If you need an ergonomic mouse, this is the one.

Home Office / Office

Storage

Disk Management

  • Daisy Disk: I use this to find out what’s taking up space on my disk.
  • Disk Drill: I use this to recover deleted files. I use Backblaze, but in rare cases, I might not have backed up the file, where Disk Drill comes to the rescue.

Window Management

  • Magnet: I use this to manage my windows.

Office Applications

  • Microsoft Office 365: I use this to create documents, spreadsheets, and presentations.
  • Google Workspace: I mainly use this to host emails for my various domains.
  • Grammarly: I use this to check my grammar and spelling. It’s a lifesaver!
  • Miro: I use this to create diagrams and mind maps.
  • World Clock Pro: I use this to keep track of time zones. It’s simple, super useful, and does one thing well. I love it!
  • Wondershare Edraw Max: I use this to create diagrams, mind maps, and technical drawings.
  • Omnigraffle: I use this as an alternative to Edraw Max.
  • Mozilla Thunderbird: I use this to manage my emails when I am fed up with Microsoft Outlook.

Browsers

I use several browsers; my main browser is Safari. It’s memory and battery-efficient, the default browser on macOS. People complain about its extension support, but I don’t use extensions much, so it’s not a problem.

Here’s a list of browsers that I use occasionally:

Programming Languages

Here are some of the languages I use, have used, and liked, in no particular order:

Code Editors and IDEs

  • Sublime Text: I use this when I need a lightweight code editor.
  • Vim: This is the editor that I use in the terminal. I use Vim emulation in any editor that supports it, too.
  • Visual Studio Code: I use this as an alternative code editor.
  • IntelliJ IDEA: I use this as my main IDE, along with other JetBrains IDEs.
  • WebStorm: The best IDE to do web-related development.
  • GoLand: The best IDE to do Go development.
  • PyCharm: The best IDE to do Python development.
  • RubyMine: The best IDE to do Ruby development.
  • CLion: The best IDE to do C/C++ development.
  • RustRover: The best IDE to do Rust development.

Embedded Code Editors

  • CodeMirror: I use this when I need a code editor in my web apps.
  • Monaco: It’s another code editor that I use in my web apps.
  • Codepen: I use this when I need to share a code snippet with someone.
  • Repl.it: I use this when I need to share a code snippet along with a running environment with someone.
  • GitHub Gists: I use this when I need to share a code snippet with someone, but I don’t want to create a repository for it.
  • ObservableHQ: I use this when I need to share a code snippet with someone, but I want to add some explanation to it.

Terminal Emulators

  • Cool Retro Terminal: It’s just to have fun. I typically use iTerm for everything terminal-related.
  • iTerm2: I use this as my terminal emulator.
  • Hyper: A configurable, JavaScript-based terminal emulator.
  • Alacritty: A cross-platform, GPU-accelerated terminal emulator. Very minimalistic. It’s so minimalistic that you’ll have to know tmux to be productive with it.

Tunneling

  • Ngrok: I use this to expose my local services to the Internet.

Desktop Virtualization

  • Parallels Desktop: I use this to run Windows and Linux virtual machines on my Mac. It’s the best desktop virtualization tool that you can run on a Mac.

Payment Gateways

  • Stripe: I use this to process payments. It’s developer-friendly, with great API documentation and support.
  • Paypal: I use this as an alternative to Stripe.
  • Gumroad: I use this to sell digital products.

Generative Art

  • Midjourney: I use this to create generative art.
  • Nero AI: I use this to upscale and modify my images.

Design Tools

  • xScope: I use this to measure things on my screen.
  • ImageOptim: I use this to optimize images for the web.
  • Paletton: I use this to find color palettes.
  • Sketch: I use this to create designs, I am stubbornly not using Figma as my main design tool.
  • Figma: This is an alternative design tool that I play with.
  • Adobe Acrobat Reader: I use this to read PDFs.
  • Adobe Fonts: I use this to find fonts and use them in my web apps.

Music

Video Storage

  • YouTube: I use this to save screencasts that I’ve created.
  • Vimeo: I use this to save and share videos too.

Video Processing

  • ScreenFlow: I use this to record my screen.
  • ffmpeg: A complete, cross-platform solution to record, convert, and stream audio and video.

Audio Processing

  • Adobe Audition: I use this to edit audio files.
  • Airfoil: I use this to stream audio from my Mac to other devices.
  • Audacity: I typically use this connected to my digital piano to record my music. It can also edit audio files.
  • Izotope RX 10: I use this to clean up my audio files. It is one of the best post-production tools out there.
  • Murf: I use this to create AI-generated Audio transcripts for the tutorials that I create. It’s a great time-saver.

Audio Gear

Streaming Gear

Streaming

  • BetterDisplay: BetterDisplay is a truly wonderful tool! It lets you convert your displays to fully scalable screens, manage display configuration overrides. It allows brightness and color control, provides XDR/HDR brightness upscaling. I use it as a mirror monitor to my 1080p monitor during streaming.
  • Flip Clock: I use this as a clock overlay on my stream. It’s especially useful when you need a countdown timer.
  • Sorry No Sorry: I use this to drop quick notifications like “5min break; BRB” on my stream.
  • Wirecast: I use this to stream to multiple platforms at the same time.
  • Farrago: I use this to play sound effects on my stream.
  • Handmirror: It’s useful to quickly check how you look in the camera before starting a stream. It’s also useful to display a secondary camera source from a capture card if needed.
  • Audio Hijack: I use this to capture audio from different sources and mix them together. It plays really well with Loopback.
  • SoundSource: I use this to control the volume of different audio sources.
  • Piezo: I use this to record audio from different sources.
  • Loopback: I use this to create virtual audio devices.
  • Airfoil: I use this to stream audio from my Mac to other devices.
  • Vox: I use this to play music on my stream.
  • Synesthesia: I use this to create visual effects on my stream.
  • Chatterino: I use this to manage my Twitch chat.

Stream Automation

Stream Music

Mailers

  • Mailgun: I use this to send emails, especially when I want a reliable and programmatic interface.
  • Mailchimp: I use this to send emails when I don’t want to deal with code.

Desktop App Development

  • Electron: I use this to build desktop apps.
  • Phonegap: I used use use PhoneGap for Desktop app development too.
  • nw.js: I use this as an alternative to Electron. It is lighter.

Password Managers and Authentication

  • 1Password: I use this to store anything secret.
  • Authy: I use this to manage my 2FA tokens. The best feature is that it syncs across devices, so if I lose my phone, I can still access my tokens.

Task Management

  • 16bugs: This site has been available since the dawn of time. When I need a simple task management tool, just for myself, /I use it.
  • Agenda: I use this to keep track of my notes action items.
  • Bugzilla: I use this to manage my bugs.
  • Trello: I use this for projects that are more complex than a simple task list, but requires less structure than a full-blown enterprise software project.
  • Confluence: Some say it’s a wiki; I think it’s a “write-only” database.
  • Jira: I wish it doesn’t exist.
  • Things: I used to use it; it’s still a great tool. I stopped using it in lieu of Agenda.

Workflow Management

  • IFTTT: I use this to automate my workflows.
  • Zapier: This is an alternate tool that I sometimes use.
  • n8n.io: I use this when I need a bit more programmatic access to my workflows.
  • Camunda: I use this when I need a full-blown workflow engine.
  • Jupyter Notebooks: I use this when I need to create interactive notebooks.

Journaling

  • Clearful: I use this to keep track of my daily journal. Best guided journaling solution ever!

Knowledge Management

Nowadays, Agenda is my main tool for keeping track of my notes, but I use other tools to complement it too.

  • Obsidian: I use this to keep track of my notes.
  • TiddlyWiki: A lesser-known tool; really useful.
  • Scriviner: I use this to write long-form, structured content, like articles, books, etc.
  • reMarkable: I use this to take notes and to read books. Its tactile feel is almost—but not exactly—like writing on paper.
  • DEVONThink: I use this to store my documents, notes, and other files. It has an amazing full-text search feature, that helps me find what I want, when I want.

Communication

  • Discord: I am a member of a lot of tech discord s/ervers.
  • Slack: I use this to communicate with my colleagues.
  • Zoom: I use this to communicate with… well… everyone.
  • ICQ: I used to use this.
  • Mirc: I used to use this.
  • WhatsApp: I use this to communicate with my family and friends.

Developer Tools

  • Homebrew: I use this to install software on my Mac. It’s typically the first thing I install on a new Mac.
  • Kaleidoscope: I use this to compare files and folders.
  • Dash: I use this to find documentation for programming languages, frameworks, and libraries. It is also an excellent text autocompleter.
  • Tower: I use this to manage my git repositories. It’s the best git client out there.
  • Sublime Merge: I use this as an alternative git client.
  • Lens: I use this to manage my Kubernetes clusters.

State Management

Again, all of these do more-or-less the same thing. I use Redux when I have a choice, but I don’t have a preference.

JavaScript Frameworks

All of them are similar and serve a purpose. I use React when I have a choice, but I don’t have a preference.

Visualization Libraries

Again, my choice is D3 when I have a choice, but all of these libraries get the job done. Rappid or JointJS is especially useful when creating interactive diagrams that you can manipulate and connect nodes with lines and arrows.

Functional JavaScript

  • Ramda: If you like Haskell, you’ll like Ramda.
  • RxJS: I use this when I need to do reactive programming.

Static Sites

  • Docusaurus: I use this to build my documentation sites.
  • MkDocs: I use this to build my documentation sites.
  • Gatsby: I use this to build my static sites.
  • Jekyll: I use this to build my static sites.
  • Next.js: Another tool with a similar theme.

Local Servers

  • http-server: I use this to serve static files locally. Fast, easy to run. Gets the job done.
  • Apache HTTP Server: I use this as a static file server, too.
  • NGINX: I use this as a reverse proxy, and as a static file server.
  • HAProxy: I use this as an alternative to NGINX. 

Message Queues and Stream Processing

  • Apache Kafka: I use this to process messages.
  • RabbitMQ: My go-to message queue.
  • ZeroMQ: I use this when I feel extra nerdy.
  • PubNub: I use this when I need a managed message queue.

Search and Indexing

  • Apache Lucene: I use this to index and search documents.
  • ElasticSearch: I use this to index and search documents.
  • ELK Stack: This is the typical production stack for ElasticSearch.
  • OpenSearch: I use this as an alternative to ElasticSearch, especially when licensing is a concern.

Log Aggregation

  • Fluentd: I use this to collect logs.
  • Papertrail: A log aggregation service that I use frequently.
  • Honeybadger: I use this to collect logs and errors.
  • Hotjar: I use this to collect user behavior.

Monitoring

  • Prometheus: I use this to monitor my applications.
  • Grafana: I use this to visualize my metrics.
  • Kibana: I use this to visualize my logs.
  • Kiali: I use this to visualize my service mesh.

GraphQL and Friends

  • Apollo: I use this to build GraphQL servers.
  • Prisma: I use this along with Apollo.

API Methodologies

  • REST: I use this when I need to build a RESTful API.
  • gRPC: I use this to build microservices.
  • MQTT: I use this when I need to build a lightweight messaging protocol.
  • Websockets: I use this when I need to build a real-time API.

Databases

  • MongoDB: Unless there is a specific constraint, I use this as my default database.
  • ArangoDB: I use this when I need a graph database.
  • CockroachDB: I use this when I need a distributed database.
  • CouchDB: I use this when I need a light document database.
  • PouchDB: I use this when I need a portable document database.
  • PostgreSQL: I use this when I need a relational database.
  • MySQL: This is my second pick for a relational database.
  • Redis: I use this when I need a key-value store.
  • Neo4J: It’s another graph database that I use.

Source Control

  • Git: I use this to manage my source code.
  • GitHub: Like Twitter, but for source code.
  • Artifact Hub: I use this to find and store Helm charts. Gitlab: Similar to GitHub.

CSS Frameworks

  • Bulma: I use this when I need a simple CSS framework.
  • Tailwind: I use this when I need a more complex CSS framework.
  • Tailwind UI: I use this when I need a UI kit for Tailwind.
  • Bootstrap: It’s a reliable CSS framework, too.
  • Foundation: I use this when I need a CSS framework that’s not Bootstrap.
  • BEM: I use this methodology when I need to write CSS from scratch.
  • SMACSS: I use this methodology when I have a larger CSS codebase that needs to be maintained.
  • Styled Components: I use this when I need to write CSS in JavaScript.

Icons

File Managers

  • Forklift: I use this to manage my files.
  • Transmit: I use this to transfer files around.
  • The Unarchiver: I use this to extract compressed files.
  • Path Finder: It’s a good file manager, too, but I find it a bit bloated.

System Diagnostics

Books

  • Audible: I use this to listen to books.
  • Kindle: I use this to read books.

the Cloud

  • AWS: Yes, it’s expensive compared to the competition. Yes, it’s complicated. Yet, it’s a cloud that I can count on.
  • Azure: I use this when I need to use a remote Windows virtual machine.
  • Linode: I use this when I need a simple Linux virtual machine. It’s cheap and reliable with fanatical support.
  • Digital Ocean: Honestly, I use Digital Ocean mostly for its documentation. They have excellent technical articles. Also, it does not make a hole in your wallet, and it’s reliable; so you can use it for any kind of production setup.
  • Hetzner: I use this when I need a cheap, reliable, and dedicated server. It’s a German company, so you know it’s reliable.

Video

Cloud-Native Tools

  • Kubernetes: I use Kubernetes to run my applications in clusters in a cloud-native and declarative way.
  • MetalLB: I use this to expose my services in Kubernetes, especially for bare-metal clusters.
  • Helm: I use this to package my applications in Kubernetes.
  • CertManager: I use this to manage my certificates in Kubernetes.
  • Istio: I use this to manage my service mesh in Kubernetes.
  • SPIRE: I use this to manage my service identity in Kubernetes.
  • SPIFFE: SPIFFE is the protocol that SPIRE uses.
  • VMware Secrets Manager: I use this to manage my secrets in Kubernetes.
  • CoreDNS: I use this as my DNS server in Kubernetes.
  • Docker: I use this to build my containers.
  • DockerHub: I use this to store my containers.
  • ExternalDNS: I use this to manage my DNS records in Kubernetes.
  • NGINX: I use this as my ingress controller in Kubernetes.
  • Traefik: I use this as an alternate ingress controller.
  • Envoy: I use this as lower-level proxy.
  • Cluster API: I use this to manage my Kubernetes clusters.
  • Keycloak: I use this to manage my identities in Kubernetes.
  • Min.io: I use this to manage my object storage in Kubernetes.
  • Multus CNI: This is especially useful when you need to manage multiple network interfaces in a Pod.
  • Open Telemetry: I use this to manage my telemetry in Kubernetes.
  • Open Policy Agent: I use this to manage my policies in Kubernetes.

AI/GenAI/ML/LLM/etc Tools

I have “pro” subscriptions to all of these tools. I use them for all kinds of research and content creation.

  • ChatGPT: I use ChatGPT as my sidekick when I need to discuss anything.
  • Claude: I use Claude in a similar way to ChatGPT.
  • Perplexity.AI: I use this for research purposes.

Linux Distributions

My “go-to” distro is Ubuntu: Stable, reliable, and easy to use. I switch between distros from time to time, to see what’s new, and to learn new things though.

  • Ubuntu: My “go-to” distro.
  • Fedora: I use this when I need to use a RedHat-based distro.
  • Arch Linux: I use this when I need to torture myself.
  • Kali Linux: I use this when I need to do some penetration testing.
  • Gentoo: Is another alternative I use. 
  • Linux Mint: I use this when I need to use a Debian-based distro.
  • Manjaro: I use this when I need to use an Arch-based distro.
  • Elementary OS: Is a different flavor of Ubuntu that I use from time to time.

Backup and Recovery

  • Backblaze: Great backup solution that you forget it exists. In a world of complexity and lock-in, Backblaze is easy yet high-performance, 1/5 the cost with no gotchas, S3-compatible, and open to a lot of use cases—my go-to solution.

Transpilers

I have no definitive choice when it comes to transpilers. I use whatever is available and works for the project at hand.

I prefer Parcel if I need a zero-config transpiler, and use Webpack if I need more control.

Unit Testing

These tools are dime a dozen, too, and they mostly do similar things. I pick whichever is available and works for the project at hand.

  • Cucumber: I use this to write BDD tests.
  • Gherkin: I use this to write BDD tests.
  • Mocha: I use this to write unit tests.
  • Jasmine: Similar to Mocha.
  • Jest: Similar to Mocha.

Load Testing

  • BlazeMeter: I use this to run load tests.
  • Flood.io: I use this to run load tests, too.
  • JMeter: I use this to run load tests, as well.

Browser Emulation

  • Puppeteer: I use this to emulate browsers and test UI components.
  • Selenium: Selenium is a bit date, but it is a great tool still.
  • Cypress: A similar tool that I use.
  • WebdriverIO: Another similar tool with a growing user base.
  • Karma: I used to use Karma for the same purpose too.
  • zombie.js: Insanely fast headless browser testing.
  • Sauce Labs: I use this to run my tests in the cloud.

CI/CD

  • Jenkins: I use this to run my CI/CD pipelines. It’s old, it’s ugly, but it works like a charm.
  • Travis: Another CI solution that I use sometimes.
  • Circle CI: I use this when I need to run my CI/CD pipelines in the cloud.

Chat Widgets

  • Crisp: I use this to chat with my visitors. Even it’s free version is more than enough. And the paid version is very affordable, unlike alternatives like Intercom.

Blogging Platforms

  • Ghost: I use this to run my blog.
  • WordPress: This is my second choice when it comes to blogging.

Markdown

  • Marked 2: I use this to preview my markdown files.

Learning

  • PluralSight: I use this to improve myself technically.
  • O’Reilly: Another learning platform that I visit frequently.
  • Udemy: When I cannot find anything in the above two, I try Udemy.
  • HBR: I use this to improve myself professionally. It’s a great source of information on how to be a better leader.

Long, Long Ago

Websites that I visited eons ago, and they are not popular anymore, some of them are even extinct (and I provided web archive links for them instead).

  • QuirksMode: I used to visit this site to learn about browser quirks.
  • Evolt: I used to discuss accessibility, usability, front end development, and the new web.
  • WebMonkey: I used to visit this site to learn about web development.
  • The List: It is the first mailing list that I was actively contributing. I learned a lot there. Some of my mentors were active contributors there too.
  • CSS Zen Garden: Table-based design was becoming out of fashion, and CSS Zen Garden was the place to realize how a single HTML document can be styled in many different ways.
  • A List Apart: I used to visit this site to learn about web development.
  • JavaScript Garden: I used to visit this site to learn about JavaScript. It was a great resource when you want to have a quick reference.
  • CodeProject: I used to visit this site especially when I wanted to learn about Windows development. I had quite a few articles published there too.
  • Four Guys from Rolla: I used to visit this site to learn about ASP.NET development.
  • Java Ranch Big Moose Saloon: I used to visit this site to learn about Java development.
  • java.sun.com: Once upon a time, Java was free, as in “free beer”.
  • astalavista.box.sk: I used to visit this site to learn about security.