Getting Classy With Inheritance In Lua

We’re going to cover the basics of inheritance in Lua. Lua doesn’t have native classes, so don’t expect things like multiple inheritance or similar to be practical. I basically have never used inheritance in Lua in any serious capacity outside of very few specific situations.

We’re going to cover basic inheritance using the default “class system” in Lua, how to add functions, and how to override functions.… Read the rest

Framing Serverless Architecture

Serverless architecture is a newer design paradigm for application development as well as platform hosting. It is the natural evolution of SaaS, PaaS, and IaaS to fit the development space. The obvious question is how exactly does serverless architecture handle being “serverless”?

Serverless architecture isn’t actually serverless, but the the creation, maintenance, and culling of servers is completely transparent to the “user”.… Read the rest

Approaching Your First Project in a New Language

The first time you have to jump a language for a new project is one of the most frightening parts of being a developer. I previously had to jump between languages for pet projects and solo projects, but I never had to start a large scale project from the ground up in a language I’d never touched before. It was definitely an intimidating prospect, but it was the only way to push forward in my career, so I pushed myself as hard as possible.… Read the rest

An Introduction to TCP/IP

RFC 1122 and RFC 1123 define the basics of the TCP/IP Model. The OSI Model may be a bit more useful for defining troubleshooting steps and more popular for discussing network issues, but TCP/IP won the standards war. The TCP/IP model is adverse to layering overall, but it does have layers nonetheless.

The TCP/IP model is based on the DARPA concepts for ARPANET and was adopted for widespread use for military networking in the 80’s.… Read the rest

Lua OS Library

We’re going to go over the default OS library included in Lua. This library is very useful, but is also platform specific. What works on one OS may not work on another.

Once you start using an OS library, you run the risk of your code losing portability. If you use a clock or the time for a random number seed, it’s not going to impact your program (except possibly cryptographic functions), but how do you get a list of files in a directory?… Read the rest