Posts
Does DNS filtering still work?
DNS, or domain name system is how nice names like google.com get translated into an IP address and eventually find the server that has your content.
For this article we are going to focus on website filtering (or content filtering) since the goal is to block access to websites that are deemed inappropriate. This can be blocked by a parent, employer, ISP, or government regulation/policy.
Employers typically have an enterprise policy which gets pushed out to your web browser, and they often have a proxy at the edge of the network which does HTTPS inspection.
Posts
c++ programming quick tips
c++ is one of my favorite programming languages. It has been around a long time (I used it for my bachelor degree) and is very mature. The libraries and optimized algorithms are great to make software fast and efficient.
The downside is more modern languages provide a wide array of features that make development much quicker. One of the main features is garbage collection, which is a memory management technique that Python and many other languages have built-in.
Posts
Default route or full routing table?
When a company/enterprise is signing up with an ISP for internet access, they are able to connect in many different ways, but we are going to go over a couple of the popular methods.
NOTE: This is a brief overview to answer this one question, BGP is very powerful and programmable, so we won’t touch on most of its features.
If the company has its own ASN (Autonomous System Number) they can connect to an ISP and advertise out this number through BGP with the IP space (prefixes) they own.
Posts
Enterprise Companies and ISPs
In late 2020 I decided to do a slight career shift from working in the enterprise world (Financials, Small Businesses) to the ISP space.
An ISP (Internet Service Provider) is how consumers and businesses access the internet. If you are reading this, you are going through one of many ISPs.
I am now on the other side of the fence, and it has been a wild ride! It really is amazing to see how the internet works and what “it” is.
Posts
Some uwsgi settings for Django with StreamingHttpResponse
I have been working with Django quite a bit the last few months, and finally deployed the app into production. The setup uses uwsgi and nginx.
My Django app uses threads quite a bit, and when deployed to development server using uwsgi/nginx, it was painfully slow. As in it took 15 minute to run commands that should take 30 seconds. So it took a while of experimenting, and determined that a setting was missing in the uwsgi configuration.
Posts
Moving to Hugo
I am moving my website over to Hugo. Its a static site generator that uses markdown syntax and a templating system. The binary is written in Golang and it is super fast.
I honestly got tired of all the authentication attempts trying to login to wordpress, it is insane how many of them there are per day. Even with a blocking mechanism in place, still hundreds on just this little site.
Posts
Get the time and date in the future with different timezones in python
I recently had the need to figure out the date and time in my local timezone (Phoenix) for a future appointment. Bookings on a website don’t open until 12:01AM in their local timezone (HST), so how can you determine what date and time that is locally? Don’t want to be late to book! Counting on the calendar can be wrong by a day as well.
Python to the rescue. Two libraries make this easy: datetime and pytz.
Posts
Cumulus and Netmiko
This post will walk through a quick script that connects to a Cumulus switch and runs a command. Cumulus has a virtual machine appliance called VX available for free to run your tests on. Cumulus VX Much of this can be found on the netmiko github:Netmiko There is an examples directory that goes into more details for adding things like concurrency. If you are running this on 10+ switches in series, things get slow!
Posts
How to setup a reverse tunnel with Putty
I see a hundred different guides online but none of them really document the easy way to setup a reverse tunnel.
Q: What is a reverse tunnel?
Great question! A reverse tunnel is needed when you are trying to connect to a client computer from an outside connection. A typical scenario is the device you need access to is behind a firewall or proxy. Since you can’t make a direct connection to it (say you want to VNC, RDP, SSH to it, etc), a tunnel is the best way to poke a hole.
Posts
Create your own local Redhat Package Repo Cache
If you manage a bunch of Redhat Enterprise Linux servers (RHEL), it can be wasteful or difficult to update packages from the internet each time (or you don’t have enough subscriptions). So let’s create a package repository on a local server which will update every night and allow the other internal servers to access it. This is particularly useful if only one server on your network has internet access or you have a slower connection.