Skip to main content

Networking

In this micro tutorial I wanted to cover installing RVICTL after installing macOS 10.15 and Xcode 11.  I installed Xcode 11 beta along with the command line tools and fired up the terminal thinking that RVICTL would be available from /usr/bin, but was surprised when I did not see it from the command line.  I started to look all over my machine in the usual places but and was stumped. Finally, I found a solution and that is why I wanted to write this tutorial, to share with you that that sol

A good practice to keep in mind during application development is that you can never assume what kind of network conditions your users will be facing while using your application.  Some users could be on Wi-Fi, some of 4G - LTE, but most likely a lot of your users with be in conditions similar to 3G or an EDGE network, which can be a lot slower than Wi-Fi or 4G.  In these cases it is important to test your application to make sure that any assumptions you programmed into your logic during development do not provide a poor user experience in adverse network conditions.

If there is one thing that I have learned in my career it's that network connectivity is not a binary state.  A network connection goes through many different transitions when setting up the connection, transmitting data, and closing down the connection.  In most cases, a client side mobile or desktop application can simply send the network request and if the client application is offline the request will immediately fail and the application can update the user accordingly (

The landscape of mobile connectivity has become highly complex over the last 10 years. Our modern society has been built around the need to always be up and connected.  And in most cases mobile connectivity works very seamlessly when driving, flying, transferring between cell towers, or even just going on a run - you stay connected.

One topic that I have seen come up a lot over the last couple of years is how to detect internet connectivity in an iOS or macOS application.  This is a topic that really interests me so I thought I would take some time and write a tutorial on how I and Apple recommend that client applications determine network connectivity.  To start, I thought I would provide some context on where this network connectivity model might be applicable.  The main use case is in a traditional client to server communication setting where a client is sending either a GET or POST request to a server, and the serv

TCPdump is one of my favorite network packet analysis tools in existence today.  In the past year I have enjoyed TCPdump so much that I have wanted to learn more about the project.  So, I thought a good place to start would be to get involved contributing on GitHub.  My contributions are not much, but they help me learn the ins and outs of the project and how to use some of the more advanced features as I come up in issues or pull requests.  During my time thus far I have noticed that a lot o

As a long time mobile and server side engineer I have been involved in many different types of projects over the years.  Some small, and some large, but all with one recurring trend; the mobile clients need to consume data from a server to perform a task.  Sometimes this data being consumed is small, and other times the application needs to continuously poll or be notified of new data to keep the application up to date it real time.

Python just received a minor version update to Python 3.7 with many new performance enhancements, added features, and module improvements to the language.   One of the existing Python modules in 3.7 that received some nice new enhancements is the ssl module.

WWDC 2018 Recap
Featured Post

As you may have heard Apple’s World Wide Developer Conference was last week in San Jose, California showcasing all of the latest updates across all of the Apple platforms.  Since Apple and Unix technologies are something I am heavily invested in I thought I would take a few minutes and provide an overview of the Siri and Networking updates that came out of WWDC 2018 that I found interesting.

In the last couple of months I have found myself in situations where I have needed to diagnose transport security issues from from the context of an iOS application.  This often can be difficult from the client side perspective as you may not know anything about the minimum TLS version, preferred cipher suite, or the certificate in use on the server.  Often, the best move you have, if you do not have a direct line to the server side team, is to test different settings to diagnose what works and what does not.