Going Go Programming Recent Posts


An RSS Feed Searching Framework Using Go

This article was written for and published by Safari Books Online Back in May, I finally decided that it was time to move away from the Microsoft stack to Linux. The cost of developing, licensing, and purchasing cloud computing on the Microsoft stack is too expensive. My company was approved for BizSpark, which made development possible for a small company like mine, but what am I going to do three years from now?

An Open Source Debate

This article was written for and published by Safari Books Online If you read my article titled Analyze Data With MongoDB and Go, then you will understand the context of this debate with the idea of open source. That article talks about an application we are building, and it publishes some of the proprietary data we are gathering. It also shows techniques we are using to perform the data analysis. This has caused a passionate debate among the business partners in my company.

Understanding Pointers and Memory Allocation

In the documentation provided by the Go language team you will find great information on pointers and memory allocation. Here is a link to that documentation: http://golang.org/doc/faq#Pointers We need to start with the understanding that all variables contain a value. Based on the type that variable represents will determine how we can use it to manipulate the memory it contains. Read this post to learn more: Understanding Type In Go In Go we can create variables that contain the "value of" the value itself or an address to the value.

Analyze Data With MongoDB and Go

This article was written for and published by Safari Books Online My company is building a mobile application called Outcast. The idea behind Outcast is to give people who love the outdoors the ability to get ahead of the weather. By analyzing real time buoy, tide, lunar and solar data with user preferences and experiences, the application can deliver relevant information and forecasts. The user helps with the forecasting by providing an experience review after their outdoor activities have ended.



Object Oriented Programming in Go

Someone asked a question on the forum today on how to gain the benefits of inheritance without embedding. It is really important for everyone to think in terms of Go and not the languages they are leaving behind. I can’t tell you much code I removed from my early Go implementations because it wasn’t necessary. The language designers have years of experience and knowledge. Hindsight is helping to create a language that is fast, lean and really fun to code in.

Singleton Design Pattern in Go

Multi-threaded applications are very complicated, especially when your code is not organized and consistent with how resources are accessed, managed and maintained. If you want to minimize bugs you need philosophies and rules to live by. Here are some of mine: Resource allocation and de-allocation should be abstracted and managed within the same type. Resource thread safeness should be abstracted and managed within the same type. A public interface should be the only means to accessing shared resources.

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.




Ultimate Go Schedule


Location Start Date End Date Class Enrollment
Atlanta, Georgia Thursday, March 9th, 2017 at 9:00 AM Friday, March 10th, 2017 at 5:00 PM Ultimate Enroll Now
San Francisco, CA Tuesday, April 4th, 2017 at 9:00 AM Wednesday, April 5th, 2017 at 5:00 PM Ultimate Enroll Now
San Francisco, CA Tuesday, April 27th, 2017 at 9:00 AM Wednesday, April 28th, 2017 at 5:00 PM Data Enroll Now
Miami, FL Saturday, May 20th, 2017 at 9:00 AM Sunday, May 21st, 2017 at 5:00 PM Ultimate Enroll Now
Utrecht, Netherlands Friday, June 2nd, 2017 at 9:00 AM Sunday, June 4th, 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