Articles
Practical tutorials on Python, data science and frontend development, with code you can run.
24 articles
Why It's Time to Move Your Website Off WordPress (and Why Next.js Wins for Static Sites)
Faster pages, almost nothing to hack, no plugin updates, cheaper hosting. Why a Next.js static site beats WordPress for blogs, portfolios and business sites.
8 Things You Should Try with GPT-6 Astra in ChatGPT
OpenAI's GPT-6 Astra can use apps, browse, build spreadsheets and code. Eight practical things to try first, plus who gets it and what it costs.
Is the Kimi Hype Over? Why Moonshot's Kimi Is Still Useful
Kimi went from viral open model to controversy. Where Kimi K3 stands now, what it costs, the licence catch, and when it's still the right choice.
How to Make the Most of Claude Design: Practical Tips for Better Results
Claude Design turns prompts, files and your codebase into designs, prototypes and decks. How to set up a design system, refine, export and hand off.
Google Just Released Gemini 4 Argon: How to Make the Most of It
Gemini 4 Argon is Google's new flagship with a 1M-token input-output limit. Where it's strong, where it isn't, what it costs, and how to use it well.
Getting Started with Jev AI: The Model That Decides Instead of Chatting
Jev from TypeSafe AI answers closed questions with probabilities instead of text. What it is, what it costs, how to call it, and when to use it.
Is Gemini Flash the Cheapest Good AI Model? Price and Model Comparison
Gemini 3.8 Flash isn't the cheapest AI model, but it may be the best value. Prices of 13 models compared, with real cost examples.
Anthropic Just Released Claude Motion: Animated Explainers from a Prompt
Claude Motion turns your text, charts and images into short animated videos you can edit and export as MP4. What it does, who gets it and how to start.
Build a Sales Dashboard with Streamlit, Pandas and Plotly
Turn a sales CSV into an interactive dashboard in about 70 lines of Python with Streamlit, pandas and Plotly: filters, KPIs and charts.
React useEffect Explained: Dependencies, Cleanup and Infinite Loops
How useEffect really works: the dependency array, cleanup functions, the four causes of infinite loops, and effects you can delete.
React State vs Props vs Context: Who Should Own the Data?
A simple rule for where data lives in React: local state, props, lifted state or Context, plus prop drilling fixes and when to use a store.
React Controlled vs Uncontrolled Components Explained
When a React input should be controlled with state, and when the browser should keep the value. useState, refs, FormData and form actions.
Python Type Hints Explained: Do They Change Runtime Behaviour or Performance?
Type hints aren't enforced and don't change speed. See the timeit proof, where hints are stored, and which tools actually use them.
How Python Handles Method Overloading Without Traditional Overloading
Python has no Java-style overloading: the last definition wins. Use defaults, *args, singledispatch and classmethod constructors instead.
Pandas Series vs DataFrame: Mixed Data Types, Columns and Common Surprises
Series vs DataFrame in pandas 3: why rows become object dtype, integers turn into floats, text sums concatenate and maths aligns by label.
Matplotlib vs Seaborn vs Plotly: Which Python Visualization Library Should You Use?
The same chart in Matplotlib, Seaborn and Plotly, with honest trade-offs for reports, notebooks and interactive dashboards.
Machine Learning Model Evaluation Explained: Accuracy, Precision, Recall, F1 Score and ROC-AUC
Why 99% accuracy can be useless. Precision, recall, F1, ROC-AUC and the confusion matrix explained with a scikit-learn fraud example.
JavaScript Closures Explained with Practical React Examples
What closures really are, why var in a loop prints 3, 3, 3, and how to fix stale state in React with functional updates and refs.
How to Fetch API Data Safely in React: Loading, Errors and Race Conditions
Fix the 4 hidden bugs in fetch-in-useEffect: loading and error states, response.ok, AbortController and race conditions.
Build a CRUD API with FastAPI, Pydantic, SQLAlchemy and SQLite
A complete, tested FastAPI CRUD API: SQLAlchemy 2.0 models, Pydantic v2 validation, a session dependency, PATCH updates and auto docs.