I’m no stranger to trying out different search engines, and I’m quite fond of switching out the technology I use for new ones to see what sticks. In the past, every time I’ve tried switching to DuckDuckGo, the inevitable would happen. One too many times, I wouldn’t be able to find what I was really looking for, so I’d search the same thing on Google and be more satisfied with the results. I’d eventually switch back to Google Search yet again, with somewhat broken hope but somewhat better search results.
I’ve stuck with Google Search for at least all of my
Most major software projects require some sort of database to persist data for users to access. At least that’s how we usually think. The problem is that databases introduce a lot of complexity to our software and infrastructure which is often unnecessary. Put in other terms, they also just cost a lot of money to run compared to just using compute. So when designing certain products for the web, it’s useful to consider other possibilities besides spinning up a new instance of your favorite database[^1].
Persisting State on the Client
The web platform has progressed light-years beyond the simple HTML that
When Cities: Skylines II was released last October, I was thrilled to be able to play the successor to one of my favorite games of all time. But looking at the platforms that this sequel was available on, I was less thrilled to find that I could only play it on Windows. As I've talked about before, switching over to using a MacBook as my primary computer has actually been a pretty seamless process for me -- with this being the notable exception. I wasn't going to let something as trivial as the operating system stand in the way of
After recently recreating my personal website from the ground up, I've been reflecting a bit more on blogs and the internet more broadly. As someone born after 2000, I never really got to experience the internet in the same way that many talk about what "used to be". I never experienced AOL chat rooms, IRC channels, or when forums used to dominate the internet. The internet that I came to know was one of centralized platforms: Google, YouTube, Facebook, Twitter, Reddit, you name it.
As much as these companies have come to control the modern internet, it's refreshing to interact with
I have been using Windows as my main operating system for just about my entire life. From a laptop running Windows 7 to a Surface Tablet running Windows 8 (gross, I know) to a few other devices running Windows 10, I’ve been through all of the recent iterations of Microsoft’s core product. After recently buying a MacBook Pro, I wasn’t quite sure what to expect. I didn’t love Windows, but I didn’t mind it either — so switching to an entirely new operating system was mildly intimidating.
Despite all of this, I can’t look back now. To my surprise, it only
As more of our lives move into the digital world, we must keep our online accounts secure. Weak security will inevitably lead to real-world consequences. Almost all banks have some form of online banking, and an insecure password could allow thousands of your dollars to be in a hacker’s hands. Even impersonation could be a threat, with a hacker being able to extort your friends on email and social media under the guise of a friendly gesture.
In the physical world, criminals were limited by geography: you only needed to worry about someone in your neighborhood picking the lock on your
As I’ve talked about in other posts, Docker is an amazing tool to virtualize applications without the traditional overhead associated with virtual machines. Naturally, the networking options in Docker are just as amazing. There are many different options for networking in Docker, such as bridge, host, overlay, ipvlan, macvlan, or even none. For a great rundown on these types, consider watching this video by NetworkChuck. But today, I’d like to walk you through how I’ve addressed [^1] Docker networking in my own home lab.
[^1]: Get it? Addressed? Networking? Sorry...
One of the most important concepts in networking is network isolation. Within
It’s safe to say that humans have done a lot of cool stuff in the times we’ve been around. From the wheel to electricity to the Internet, people have created inventions that have revolutionized our daily lives. But one invention – an invention we can’t contribute to a single person, or even a group of people – is often unnoticed. Human speech, the ability to transmit ideas from one person to another using words and other cues, is just about the most revolutionary invention (if you can even call it that) of them all.
It's no wonder that a system such
In the year 2022, the average technology consumer has many different computing devices. One person, assuming they have the means to afford such devices, may own a Phone, Tablet, Laptop, and Desktop Computer, just to name a few of the devices many use in their daily lives. But as the tech industry is able to fit more computing power into smaller form factors, it raises an interesting dilemma. At what point is the computing power of our phones enough to power our desktop computers?
Typically, we associate the size of a device with its computational power – and this is still
A few months ago, I made a post outlining some of the things I did with docker on an old desktop computer running Linux on it. While that was more of a high-level overview of the process, this will be a more detailed tutorial of the process of creating your first few Docker containers.
But first, what is Docker? AWS, a popular cloud service platform, puts it best when it says that:
> Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers that have everything the software needs
If you’ve spent any time on the Internet, you might have heard of an “IP address” before. Maybe you even have a vague idea of what they are, like how every computer on the Internet has one to communicate. My goal is to provide you – an average person – with some clarity as to what IP addresses actually are, why they’re used, and how they affect you.
Right off the bat, I want to set some expectations. This isn’t going to be a deep dive into IP addresses by any means, but it will get somewhat technical. If that scares
Dynamic Host Configuration Protocol, or DHCP for short, is one of the most useful protocols for a network admin. For large networks with hundreds or thousands of end devices, configuring each one manually with an IP Address would be tedious and error-prone. DHCP allows admins to define a range of IP Addresses and specify other configuration info for devices to obtain automatically. However, like most protocols, it has a security downfall: DHCP Spoofing.
!DHCP spoofing attack diagram
DHCP spoofing is when a malicious actor sets up an alternate DHCP server on a network to provide false addressing and configuration information to clients.
07:56 AM, September 5, 1977. Shortly before Voyager 1’s launch, a few strips of aluminum foil were just added for extra radiation shielding – the same stuff you’d use in your kitchen. But on that date, history was being made. The first probe to cross into interstellar space was launched, and humans might not be the only ones that know about it. Attached to the probe is a twelve-inch gold-plated copper disk with information about Earth. Its audience wasn’t for any of us, but rather for intelligent life on other planets. But to truly understand the Voyager Golden Records, we
The Internet is the way of the future. We use it for everything: chatting with friends, completing assignments at school, and watching our favorite TV shows at the end of the day. But we don’t typically don’t think of how the Internet has negatively affected our lives because of how ingrained it is in society. How do we fix these issues? Slow down the internet.
Making high-speed internet less accessible to the average American would positively affect society, as it would limit Internet addiction and intrusive tracking technologies while maintaining all the positive aspects of information sharing that have made the
Hi Internet, this is my first blog post about some of the cool things I have recently been experimenting with. I wanted to have a record of the projects I'm doing in my free time, and to be able to show it to others. Without further ado, let's get right into it.
The Origins of this Project
At the beginning of 2021, I got interested in mining cryptocurrency. I wasn't doing it for the money, I just thought that it was cool that I could sell my computing power. Using a program called NiceHash on my main computer, I mined Ethereum