The Curious Engineer

All blogs / AI / ML

Another Dev's Two Cents

nishtahir.com

A developer's blog featuring thoughts ideas and all things engineering.

AI / MLSoftware / engineering practiceRust

Posts
100 from 3 Sep 2015 to 25 Oct 2026
Posting
monthly (6 in the last year)
Kind
personal blog
Feed
https://nishtahir.com/rss/

2026 6

  1. Generating balanced cubes for Magic the Gathering
  2. Build your own decision model
  3. Exploring text generation watermarking
  4. 5 projects to build your AI engineering competency
  5. Just because it's work shaped doesn't make it productive
  6. On AI and Learning

2025 18

  1. GMKTec Evo-X2 Ryzen AI Max 395+ Benchmarks
  2. On the DORA 2025 AI Report - AI Adoption and use
  3. Notes on OpenAI's AppSDK
  4. Vector Norms
  5. Notes on - Why do LLMs freak out over the seahorse emoji?
  6. How LLM Structured Decoding works
  7. Notes on the phi-4-reasoning Technical Paper
  8. Writing a backup service for Ubuntu in Rust
  9. Adding Gaussian Noise to a signal in Python
  10. Building an Ubuntu service for my Antec Flux Pro
  11. Notes on the DuckDB UI
  12. Vector Projection
  13. Vector Normalization
  14. The Value of Expertise
  15. Notes on setting up Claude Desktop MCP servers
  16. How to use Azure AI Foundry OpenAI Deployments with the OpenAI SDK
  17. Blocking Spam Email Domains with Self-Hosted Ghost
  18. How to use Bluesky posts as Ghost comments

2024 20

  1. On Ghost Engineers And Proof or a Lack thereof
  2. Reinstalling NVIDIA drivers on Zorin OS
  3. RAG is not just text
  4. Model Collapse is an Information Degredation Problem
  5. Statistics For Programmers - Naive Bayes Classifier
  6. Statistics For Programmers - Bayes Theorem
  7. Statistics For Programmers - Conditional Probability
  8. Statistics For Programmers - Bonus Content: Expressing a Taylor Polynomial in Code
  9. Statistics For Programmers - Introduction to Probability
  10. Statistics for Programmers - Measures of Dispersion
  11. Statistics for Programmers - Measures of Central Tendency
  12. Statistics for Programmers - Frequency Distributions
  13. Statistics for Programmers - Introduction
  14. Reverse Engineering an RDP and WebLogic Attack
  15. I made a Mastodon bot with GoToSocial
  16. Is GitHub Copilot For Everyone?
  17. I looked through attacks in my access logs. Here's what I found
  18. Exploring properties of function composition in Kotlin
  19. Being busy is not the same as being productive
  20. Information sourcing - An underrated skill everyone should know

2023 6

  1. On OpenAI, GPT, and products
  2. Effective Resume Tips - Showcasing your value
  3. It's 2023. Your API should have a schema
  4. Mastodon
  5. On AI-assisted Software Development
  6. What is a Staff Engineer?

2022 13

  1. How to enable SSH Key Verification with Git and GitHub
  2. A (mostly) free FPGA Development workflow for macOS
  3. Running Sigrok PulseView on an M1 Arm Mac
  4. Automating form input with Selenium IDE
  5. How to create a macOS Monterey Installation ISO image
  6. The dangers of pretty much done
  7. The cost of Heroes on your software team
  8. How to get IDEA to detect openJDKs installed with brew
  9. Interacting with WebAssembly memory
  10. Embedded WebAssembly on a D1 Mini with WASM3
  11. Making games on WASM4 with Rust
  12. Let's explore code signing with WebAssembly
  13. The WebAssembly Text Format

2021 1

  1. How to cache Gradle build dependencies to a local Maven repository

2020 5

  1. A first look at Digital Ocean's app platform
  2. A Flutter build failure checklist
  3. Benchmarking Kotlin Collections api performance
  4. On generative art and impressionism
  5. Why it's okay to never "finish" your side projects

2019 3

  1. Rust 2020 - On the Rust Development Experience
  2. On APKs, RATs and Security Vulnerabilities - HondaHack
  3. Programming an Atmega32 using an Arduino

2018 2

  1. Fixing the 'Unknown blob' error with Apache and Private docker registries
  2. How to properly update the Gradle wrapper

2017 3

  1. Visualizing 27 years of mobile devices
  2. Messing with the DSO138. A $25 oscilloscope
  3. Programming the MSP430 using docker

2016 10

  1. Essential docker - talk write up
  2. Pitfalls working with jitpack
  3. Why automated recruitment tools fail
  4. Accident analysis: US Airways Flight 1549
  5. How to get IDEA to detect kotlin generated sources using Gradle
  6. Hands on with Machinarium
  7. Git gud - Talk write up
  8. Is Kanye Zipfy?
  9. Quick tip: Quickly parse and filter data with regex find and replace
  10. Trying out BASIC

2015 13

  1. Automate programming the MSP430 Launchpad on Linux using Expect
  2. Hands on with Tales from the Borderlands
  3. Setting up for Android NDK development
  4. Hands on with Braid
  5. Low power interactions with the MSP430 Launchpad push button
  6. Writing better comments
  7. Up and running with Maven
  8. Why you shouldn't use the double brace initializer
  9. Getting started with VHDL
  10. Fuzzy string matching using cosine similarity
  11. Exploring Java bytecode
  12. Getting into Embedded Systems
  13. My experience with Windows 10