Bear Note NOTE!

#robmartinson.me #pinned

This is a work in progress at the moment. Don't expect anything amazing or interesting here, I'm just trying to get the basics working. Who am I? Go read some things about me.

Created: Tuesday, August 13, 2024
Bear Note Need to make a call?

#robmartinson.me

When we first bought our building we cleaned out a lot of old garbage but one thing we stumbled upon was an old pay phone. We’ve since wired it up to a voip adapter and hung it in the main dev room. Cool stuff.

Created: Wednesday, January 15
Bear Note Buchanan Building

#robmartinson.me

Have you been to our space? It’s pretty awesome. Check it out.

Created: Wednesday, December 11, 2024 - Updated: Thursday, December 12, 2024
Bear Note When did you first start doing development work?

#robmartinson.me

In the 90s, having the webmaster@ email address was a status symbol. I was killin' it!

Created: Friday, October 25, 2024 - Updated: Wednesday, December 11, 2024
Bear Note Flutter Thoughts…

#robmartinson.me #flutter

I’ve been on a kick lately sucking up all of information I can about Flutter. Lots of interesting projects and entities using it including large enterprise stuff like Toyota’s in-dash ui. I’ve gone down the path of a variety of different cross-platform mobile and UI tools including things like Xamarin, ionic and even Delphi (I love Delphi!). Flutter definitely feels much more established and accepted than many and I like that it makes it to machine code. May start a ui client for the blog site as a learning project…..

Created: Wednesday, October 23, 2024 - Updated: Saturday, October 26, 2024
Bear Note The Go Language

#robmartinson.me

If you know nothing about Go, here are a few key or interesting points that make it a great tool for our toolbox:

A few things that you might use every day that were built with Go include things like: Docker, Kubernetes, Terraform, Prometheus, Grafana, Caddy, Ngrok, Minio, Etcd

Documentation and Other Resources

Installing Go

To install Go, use brew:

brew install go

Starting a New Project

To start a new Go project, follow these steps:

  1. Create a new directory for your project.
  2. Initialize a new Go module by running go mod init <module-name> where <module-name> is the name of your project. Note: The module name is usually the repository URL but can be any name such as myapp or gitlab.com/limelyte/client/myapp
  3. Create the recommended project structure as shown below.

Project Structure

In general, Go doesn't care how you structure your project and it can be as simple as having a single main.go file for small utility applications. That said, when creating a new Go project it is important to follow a consistent structure, especially for larger projects. Here is a recommended project structure for a Go application that follows best practices and works well for most applications:

myapp/
├── cmd/               --> Main binaries for this project under cmd. You can have multiple binaries in a single project.
│   └── myapp/
│       └── main.go    --> Entry point of this binary. This will be the "main" package.
│    └── myapp2/
│       └── main.go    --> Entry point of another binary. This will also be the "main" package for this binary.
├── internal/          --> Private application and library code specific to this project
│   ├── handlers/      --> HTTP request handlers or controllers. If this is package "handlers" it will be referenced as "myapp/internal/handler"
│   ├── models/        --> Data models: package "models" referenced as "myapp/internal/models"
│   ├── service/       --> Other business logic, services, etc. referenced as "myapp/internal/service"
│   ├── templates/     --> HTML templates
│   └── util/          --> Utility functions: referenced as "myapp/internal/util"
├── pkg/               --> Public application and library code that can be used by other projects 
│   └── mypackage/         This may not be used in all projects
├── configs/           --> Configuration files
│   └── config.yaml    
├── go.mod             --> Go module file,  this is auto-generated
├── go.sum             --> Go module dependencies, this is auto-generated
├── .env               --> Environment variables
├── Makefile           --> Makefile for build automation
└── README.md          --> Project documentation / readme

A simple command line application structured similarly could omit the internal, pkg, and configs directories if they are not needed as outlined below:

myapp/
├── cmd/
│   └── myapp/
│       └── main.go
├── go.mod
├── go.sum
└── README.md

Running the Application

To run your Go application in the above structure, you can use the following command from the root of your project:

go run ./cmd/myapp/*.go

This will build and run the myapp binary and will ensure that all dependencies are included.

Adding Packages and Dependencies

To add a new dependency to your Go project, use the following command:

go get <dependency>

A few of my favorite Go packages, tools and libraries

Created: Thursday, September 19, 2024 - Updated: Friday, September 20, 2024
Bear Note Must-Have Tech Tools for Mac

#robmartinson.me

After 30+ years in the software development industry with 20 of those working primarily on a Mac workstation, here are my top must-have tools for every software developer or technologist working on the MacOS platform. Although I constantly try out new tools and experiment with different workflows, it takes something pretty solid to remain in consistent use.

These tools have proven invaluable in my day-to-day work writing software working with API’s and all other manner of problem-solving. Whether you're a seasoned developer or just a geek, these are all worth a look and can make a noticeable difference in your effectiveness.

Created: Tuesday, August 20, 2024
Bear Note Status of Blog

#robmartinson.me #blog

Summary

First revision of the blog / feed application is up and running. Companion Bear.app connector script that pushes notes containing a certain tag out to the post API every few minutes.

So far, I like it! It syncs from a certain tag or tags from Bear. It allows me to quickly publish and/or adjust content. It’s an easy way for me to quickly push notes or content out to different folks and I think it will be a good feed aggregation point.

Current State

How tags work

Needs / Todo

Ideas and Pondering

Created: Tuesday, August 13, 2024 - Updated: Tuesday, July 22
Bear Note Robotics Automation Challenge 1

#robmartinson.me #Limelyte Technology Group Inc# #robotics

Levi and Tanner came up with a great first challenge for our robotics cars. The general idea is to autonomously navigate from the Buchanan building east entrance foyer, through the dev room, up the ramp to the lab, out through the Star Wars hallway, down the stairs (there will be a ramp), past the bathrooms and all the way through the west hallway to the east entrance foyer.

General rules

Thoughts…

From Luke: this is essentially doing what a Roomba does. You will likely need to create and/or store a set of boundaries or map that you navigate within so your car has an outline to remain within.

Created: Thursday, July 18, 2024 - Updated: Tuesday, July 22
Bear Note Shop night with the @limelytedotcom crew

#robmartinson.me #Limelyte Technology Group Inc# #martinson.shop #shopnight

Created: Thursday, July 18, 2024 - Updated: Wednesday, December 11, 2024