How DeepSeek’s Efficient Model Is Shaking Up the AI Landscape

Deepseek logo

Exciting news this week in the fast-moving world of artificial intelligence! The “DeepSeek R1” model, developed by a small Chinese company, DeepSeek, has managed to achieve what was once thought impossible—competing with OpenAI’s best models using just a fraction of the computational power and cost. This breakthrough not only threatens the dominance of AI giants … Read more

Setting Up Django in a VS Code Dev Container: A Step-by-Step Guide

Running Django in a Dev Container with VS Code

Running Django in a VS Code dev container is a great way to standardize your development environment while leveraging the power of Docker. With a dev container, you can eliminate “it works on my machine” problems and create a portable development setup. In this tutorial, I’ll walk you through the process of setting up Django in a VS Code dev container.

Read more

Python Essentials: What Programmers Coming From Other Languages Need to Know

Python programming language

Welcome to the world of Python! If you’re transitioning from another programming language or if you’ve been dabbling in various languages and decided to give Python a deeper look, there are some essential quirks and features you should be aware of. Python, often lauded for its readability and elegance, does have its unique characteristics. In this post, we’ll walk through a curated list of Python-specific features and conventions to give you a head start.

Read more

WordPress: Movable Type and TypePad Import Plugin + Image Downloader

A coworker of mine has been keeping a blog with Typepad for several years now. As of recently he decided he wanted to switch to using WordPress on one of our servers. This is usually easy; you export your blog from the original site and import it using the appropriate plugin. WordPress provides great plugins for importing a blog from various other sources, so an import usually doesn’t require too much work. The current Typepad plugin has one big flaw though; it doesn’t import your photos! To make matters worse my coworker’s blog is a photography website with several hundred posts and even more photos. The photos are essentially stuck on Typepad’s servers since manually linking each picture through WordPress would be an incredibly grueling process.

I decided the only way to make this work was to modify the plugin and add the much needed image downloading functionality. Thanks to some of WordPress’ excellent building functions and a lightweight open source HTML parsing library I was able to do this with relative ease. Here’s how it works…

Read more

HTML5 Canvas 2D Game Experimentation: Basic sprite movement and map management

Here’s an HTML5 experiment in progress…

HTML5’s canvas element is pretty powerful and easy to use. Rendering images, shapes, and text typically does not require a lot of code. So I decided it would be fun to build a simple javascript gaming engine to see what I could do with the canvas element in a few hours. The type of game being assembled is an aerial view sprite based game. Similar to what you would see in many early RPGs.

This is just an experiment, the code was not optimized for performance, and I do not recommend using it for any projects, however I will post a working engine sometime in the near future.

I ended up doing this all in just under an hour, and I have to say it was pretty easy getting everything to work together. I have not included graphics yet, so for now everything being displayed on the screen is text. I mostly focused on collision detection and sprite movement. Via key presses the sprite will move either horizontally or vertically around the canvas. The sprite will also bump into the edges of the defined map using via the collision detection I wrote. Finally the sprite has been configured to handle parameters such as which direction it is facing, if it is standing still or moving, etc. I might expand these parameters down the road to support things like health or special behaviors.
The explanation of code is broken down into 4 main chunks: the environment, keyboard detection, sprites, and movement. Each code section has unique attributes and functions, and the environment section controls what is displayed on the canvas as well as refreshing and redrawing the canvas.

Read more