Today I am pleased to announce the public release of version 1.0 of Isahc , an HTTP client for Rust that I have been working on for more than 3 years now. This has been a long time coming and has involved a lot of my spare time, so I am quite relieved to see it finally ready! Check the official announcement post on Isahc’s snazzy new discussions page for a deep dive into some of the major changes.…
PHP just recently celebrated its 25th anniversary since it was first introduced, which is quite the achievement, considering it still powers a large slice of the Internet today. I don’t write much PHP anymore myself as I’ve more or less moved on to new and different things, but I am incredibly grateful to PHP. It was one of the first “real” programming languages I really invested in to learn…
One of my more recent projects that I have been putting a lot of effort into is a Rust HTTP client called cHTTP , which I introduced on this blog over 18 months ago . Here I want to share an update on the direction of the project, and also give some detail on what months of late evenings and weekends produced in version 0.5 just published today. For more context, if you want to know more about…
Every once in a while I’ll be involved in a conversation about dependency management and versions, often at work, in which the subject of “dependency hell” will come up. If you’re not familiar with the term, then I encourage you to look it up. A brief summary might be: “The frustration that comes from dealing with application dependency versions and dependency conflicts”. With that in mind, let’s…
I am a heavy Git user. I use it every day at work, I use it almost every other evening for personal projects, notes, and anything else I can find a use case for Git. I’ve also been using it for a little while, since at least 2012 (approximately), and one of my favorite Git features is aliases . Aliases let you add your own short little subcommands to the Git command by adding one-liners to your…
As promised, I have returned to post a follow up to my article last month . In it, I ask if the GPD Pocket computer can be used as a development machine and, if so, what the experience is like. Well, first thing on the table: It actually works. I was surprised at how much this little device could accomplish in such a small form factor. The performance definitely won’t wow you, but it has enough…
Do you remember back in the day when “netbooks” were all the rage? Those mini-laptops from the late 2000s that compromised computing power for a small form factor and a competitive price tag? I just recently re-entered that world with the GPD Pocket , a modern netbook-like device that boasts reasonable specs in a tiny package. Unlike the netbooks of yore, the performance of the GPD pocket is…
Friends, today I have two messages to share with you. The first is to introduce to you a new library for the Rust language that I have poured some of my tea-powered energy into, so that you may be informed of its purpose and design. The second is much more significant; that is, to discuss an attitude I have observed in general amongst the Rust community. First, let me introduce to you cHTTP : a…
Firstly, Twitter’s 140 character limit is too short for sharing thoughts longer than one or two sentences. I regularly question my development practices and sharing my internal debates is a good way for me to analyze the arguments, but I tend to sound incoherent when I use Twitter for that purpose. What better place to do so than on this blog? Expect to see more frequent, albeit shorter, posts…
There are three types of developers in the world: Those who occasionally use the terminal for compiling, version control, or for handy scripts. Those who swear a GUI is better for everything. Those who prefer to use the terminal for most everyday tasks and always have at least one open. Category number 1 seems to be the most common in the wild, but if you know me, you know I fall squarely into…
You might notice a fresh look down below in the comments. That’s because I am no longer using Disqus to host comments on. There’s probably been plenty written about the state of Disqus, and frankly I’m not all that pleased with Disqus as of late either. Somehow it changed from a comments system to a weird, forced social network that you need to log into before commenting. What’s more, Disqus has…
No, I haven’t forgotten about this blog. In fact, I plan on experimenting a bit more with it than in the past – perhaps you might find it useful or interesting, for some strange reason. A number of interesting things have happened during the last several months, so this is a catch-all dump of most of those things. Since I suck at introductory paragraphs, let’s just get on with it already. No more…
Iterators are awesome. Maybe you’ve heard this before and already are an iterator master, but for a surprisingly large number of programmers, the term “iterator” is a scary term that reminds you of your confusing Software Engineering class in college. I’m here to illuminate on what iterators are, why they matter, and how they are used. When wielded properly, they can help you write code that is…
As a programmer, I spend a lot of time working on the computer. Most of my time spent developing involves using an IDE, text editor, or the terminal. Even when I’m not writing code, I work with text a lot, like writing this article, for example. In the past, I didn’t pay a whole lot of attention to fonts (other than in web design), but I have definitely come around and realized how significant it…
Hello again! As promised, I am back with this post to share with you the results of my survey about Promises in PHP, as described in my previous post . If you want to download a copy of the results, scroll to the bottom of this post where I have a report attached. First off, I’d like to thank everyone who took the survey! (You know who you are.) As of this writing, 62 people took the survey, which…
I’d like to talk briefly about a new survey that I’m trying to distribute. It’s nothing amazing, just a really short poll to try and help me gage people’s opinions using Promises for handling asynchronous code. Let me explain why this survey is important. I am currently working on an architectural redesign for Evflow , an experiment in asynchronous code with PHP. I started the project mid-2014 and…
One of my current “toy” side-projects at the moment is a better PHP API client for Slack . There are a handful of incomplete ones already on Packagist , but I decided to add another one to the list anyway. It uses Guzzle for making regular API calls, and PHPWS (a WebSocket library) for connecting to Slack’s real-time messaging API. It’s actually a pretty cool project so far, though it still is…
This is a guide for people just starting out with C++ and need an easy way to write and run C++ programs on their Windows machine. If that sounds like you, then hopefully this guide will be of some help to you. Step 1: Choose an editor The first thing you will need to make your first C++ program is a text editor. There are a ton of great editors out there and there isn’t a particular one that is…
A new year has come; 2014 is gone and 2015 is here. Just like the old year has been retired, I’ve decided to retire my old website and bring an entirely new redesign live. Now I am not really into the whole “New Years Resolution” concept, but the idea of starting fresh on a blank slate has merit. I had been meditating on this for a few weeks and concluded that I really need a fresh start in many…
When you are designing a website, colors are your bread and butter. Layout, balance, and organization are all important, but if your colors are bland, flashy, or poorly coordinated, then all your work will have been for naught. This applies to pretty much any other kind of design as well as web design. Great color schemes can make or break a website design, and a great color picker should be a…
If you have been paying attention to developments in the web development community recently, you probably know what CSS preprocessors are. If not, I would encourage you to check them out and play around with them. I understand they aren’t for everyone (it does require a more complex workflow), but in general it can help you keep your CSS cleaner and more modular. Check out this awesome post by…