Going Go Programming Recent Posts


How Packages Work in Go

Since I started writing code in Go it has been a mystery to me how best to organize my code and use the package keyword. The package keyword is similar to using a namespace in C#, however the convention is to tie the package name to the directory structure. Go has this web page that attempts to explain how to write Go Code. http://golang.org/doc/code.html When I started programming in Go this was one of the first documents I read.

Running Go Programs as a Background Process

I have been writing Windows services in C/C++ and then in C# since 1999. Now that I am writing server based software in Go for the Linux OS I am completely lost. What is even more frustrating, is that for the first time the OS I am developing on (Mac OSX) is not the operating system I will be deploying my code on. That will be for another blog post. I want to run my code as a background process (daemon) on my Mac.




Understanding Defer, Panic and Recover

I am building my TraceLog package and it is really important that the package logs any internal exceptions and prevents panics from shutting down the application. The TraceLog package must never be responsible for shutting down an application. I also have internal go routines that must never terminate until the application is shut down gracefully. Understanding how to use Defer and Recover in your application can be a bit tricky at first, especially if you are used to using try/catch blocks.

Documenting Go Code With Godoc

As you know if you read my blog, I have been building a set of new utility packages so I can start developing an application server I need for a new project. I am brand new to Go and the Mac OS. Needless to say it has been one hell of an education over the past month. But I don’t miss Windows or C# at all. I made some progress in my coding and wanted to build documentation for the code.


Thread Pooling in Go Programming

After working in Go for some time now, I learned how to use an unbuffered channel to build a pool of goroutines. I like this implementation better than what is implemented in this post.  That being said, this post still has value in what it describes. https://github.com/goinggo/work Introduction In my world of server development thread pooling has been the key to building robust code on the Microsoft stack.

Why Go Programming

For the past 20 years I have been writing server based and application software on the Microsoft stack. First in C/C++ leveraging the Win32 API and then in C# when .Net first was released. Over the past few months I have realized that trying to build scalable code on the Microsoft stack is becoming impossible. Why, Technology and Cost!! Let’s start with the licensing. Luckily I was accepted into the Bizspark program.




Ultimate Go Schedule


Location Start Date End Date Class Enrollment
Miami, FL Saturday, May 20th, 2017 at 9:00 AM Sunday, May 21st, 2017 at 5:00 PM Ultimate Enroll Now
Utrecht, Netherlands Thursday, June 1st, 2017 at 9:00 AM Saturday, June 3rd, 2017 at 5:00 PM Ultimate Enroll Now
New York, NY Saturday, June 10th, 2017 at 9:00 AM Sunday, June 11th, 2017 at 6:00 PM Data Enroll Now