Open in app

Sign in

Write

Sign in

Benjamin Cane
Benjamin Cane

544 Followers

Home

About

Published in

ITNEXT

·Pinned

Forcefully Closing TCP Connections in Golang

Working with TCP servers is a great way to become familiar with low-level network communications. When writing applications that communicate directly over TCP sockets a multitude of socket management steps are required. Actions that you typically don’t have to take for a typical HTTP-based application. Sometimes, those extra management steps…

Software Development

7 min read

Forcefully Closing TCP Connections in Golang
Forcefully Closing TCP Connections in Golang
Software Development

7 min read


Pinned

How to Structure a Golang Project

A while back (2020), I published an article on How to Structure a Go Command-Line Project. Within that article, I stated that while there are many recommendations on structuring Go Projects, there is no set standard. The lack of a standard causes many new Gophers to question the best way…

Golang

5 min read

How to Structure a Golang Project
How to Structure a Golang Project
Golang

5 min read


3 days ago

A Quick and Practical Reference for tcpdump

Note: This is a republish of a 2014 article (cleaned up a bit with ChatGPT). I am moving my old content to Medium, so forgive any dated material. In this article, we’ll delve into tcpdump, a tool that people either master completely or use with basic knowledge, often referring to…

Networking

12 min read

A Quick and Practical Reference for tcpdump
A Quick and Practical Reference for tcpdump
Networking

12 min read


Nov 25

Simulating Network Latency for Testing in Linux Environments

Note: This is a republish of a blog post from 2012 (clean up via ChatGPT). Sorry for the dated content; moving old posts to Medium. In specific testing scenarios, such as simulating a Wide Area Network (WAN) environment, it becomes necessary to introduce artificial network latency. …

2 min read

Simulating Network Latency for Testing in Linux Environments
Simulating Network Latency for Testing in Linux Environments

2 min read


Nov 25

Understanding a little more about /etc/profile and /etc/bashrc

Note: This article is a republish of a 2013 post (cleaned up by ChatGPT). I am migrating my old content to Medium; forgive the dated material. While troubleshooting an application’s failure to retain the umask setting specified in the root user’s profile or /etc/profile, I discovered something intriguing. …

Linux

2 min read

Understanding a little more about /etc/profile and /etc/bashrc
Understanding a little more about /etc/profile and /etc/bashrc
Linux

2 min read


Nov 25

Ten Nmap Commands Every Sysadmin Should Know

Note: This article is a republish of a 2013 blog post; I am moving content to medium to take down my old blog. Medium doesn’t support backdating… Forgive the dated material. As a sysadmin, knowing your tools is crucial, and one of the first that comes to mind is nmap…

Linux

2 min read

Ten Nmap Commands Every Sysadmin Should Know
Ten Nmap Commands Every Sysadmin Should Know
Linux

2 min read


Published in

Level Up Coding

·Jul 31

Test Smarter, Not Harder: Harnessing Table Tests in Go

I’m a big fan of testing; it is a critical part of software engineering and how reliable software gets built. I am also a big fan of making tests easier to manage and maintain. …

Programming

7 min read

Test Smarter, Not Harder: Harnessing Table Tests in Go
Test Smarter, Not Harder: Harnessing Table Tests in Go
Programming

7 min read


Apr 3

Socket Options & Go: Multiple Listeners, One Port

The net package in the Go standard library abstracts away many low-level networking details, making it easy for Go developers to create complex applications. However, the standard library can confuse developers who want to explore more advanced networking features like setting socket options on listeners. Today’s article is going to…

Golang

6 min read

Socket Options & Go: Multiple Listeners, One Port
Socket Options & Go: Multiple Listeners, One Port
Golang

6 min read


Published in

Level Up Coding

·Feb 1

Boosting Resilience with Graceful Shutdown in Cloud-Native Golang Applications

Graceful shutdown is vital to building highly resilient systems in a cloud-native environment. When we build cloud-native applications that follow the “cattle and not pets” philosophy, creating and destroying instances of applications is standard operating procedure. This article will discuss why it’s important to implement graceful shutdown mechanisms and how…

Programming

11 min read

Maximizing Resilience with Graceful Shutdown in Cloud-Native Golang Applications
Maximizing Resilience with Graceful Shutdown in Cloud-Native Golang Applications
Programming

11 min read


Jan 2

Maximizing TCP Throughput in Linux: Understanding and Tuning Send and Receive Buffers

A standard performance tuning recommendation for distributed systems running on Linux is to adjust the tcp_rmem and tcp_wmem Kernel tunables. But what are these? Why are they important? How do they work? In today's article, we are going to explore the tcp_rmem (Receive Buffer) and tcp_wmem (Send Buffer) work and…

Networking

6 min read

Maximizing TCP Throughput in Linux: Understanding and Tuning Send and Receive Buffers
Maximizing TCP Throughput in Linux: Understanding and Tuning Send and Receive Buffers
Networking

6 min read

Benjamin Cane

Benjamin Cane

544 Followers

Building payments systems at American Express. Author (https://amzn.to/3kuCFpz). Open-source contributor (https://github.com/madflojo).

Following
  • adrian cockcroft

    adrian cockcroft

  • Erik Engheim

    Erik Engheim

  • Sultan Meghji

    Sultan Meghji

  • Jaana Dogan

    Jaana Dogan

  • AirbnbEng

    AirbnbEng

See all (29)

Help

Status

About

Careers

Blog

Privacy

Terms

Text to speech

Teams