Since the Google timer is gone, I have implemented my own. Specify the desired hours, minutes, and seconds, then click start. The timer counts down, and sounds an audible alarm when the time reaches zero.
This mini project, built with completion engine assistance, is a Texas Hold'em poker match simulator. Choose the number of players, and press "Play" to deal a hand. The hand ranks and winner(s) are declared automatically.
It uses Unicode characters for the card representations, which your OS must support for the cards to be displayed. Try it out below!
With AI completion engine assistance I created this fourth mini project, a memory game. I think this is starting to push what's possible with these natural language engines, as I had to finish parts of this manually. It's still largely constructed with pieces from the completion engine.
It's easy for the code to become a mess when trying to generate things piecemeal like this, and it can be frustrating when the engine doesn't understand your prompt. I'm feeling inspired to create my own interface to the completion engine.
The timer starts when you flip the first card. How long will it take to match all the cards?
The third entry in my mini project series. When I discovered there are die face Unicode characters, I had to build a simple dice roller.
You can roll as many dice as you need, and the total value of the dice is conveniently provided.
The second entry of my mini project series. With AI completion engine assistance, I created this divination game. I am amazed how fast a small project can come together using this technology.
That said I noticed a caveat this time around. When I prompted the engine to "Create an array of sixteen interesting yes, no, and maybe responses" the engine returned the verbatim list of responses for an official Magic 8-Ball.
One of the first apps I created was a binary clock, and you should see it ticking away below.
When I first started in web development, I would manually install the required software (Apache, MySQL, and PHP most often) to my local machine. For years I had been setting up a new development environment every time I changed operating systems or bought a new computer. This is always a hassle, and can lead to inconsistencies if some configuration is not the same in a new install.
In 2011, I moved my development environment to a virtual machine using VirtualBox. By setting up the development server in a VM, you can use an operating system and software packages as close as possible to the development server which it will be deployed on. This will help prevent bugs arising from the configuration difference between development and production. It is also nice to be able to shut down the development environment entirely when using my laptop for personal activities.
After working with a development environment in VirtualBox for a number of years, I recently found a software package called Vagrant. With Vagrant, the development environment is defined in code, and can be stored alongside the project code. The provisioning itself is handled by a puppet, which automates the software package installation and setup. It is easy to see at a quick glance what configuration changes you have made, and keeps everything in one spot.
So I've decided to start writing a blog. I've read in a number of places now (most recently from Peter Cripps) how writing can help to clarify your thinking and improve your ideas. I want to see how true this is.
The plan is to post a mix of my thoughts in long form and various technical problems, possibly with my solutions. I don't have a lot of time to dedicate to blogging however, so don't expect there to be much here quickly.
I've started a number of drafts, so content should start trickling in. There is a lot to look forward to here.