Sunday, November 26, 2023

Think week 2023 (actually think weekends :))

In keeping with the tradition of "Think Week" during my holiday vacation, I am preparing to make progress on my GCPro golf course design.  Note: I am finding it easier to be creative when not tied into constraints of using Think Week for work related subjects.  In my previous iterations, I never knew if any of my efforts were actually going to be used.  This time it's different and I am finding it easier to be productive.  Think week has been changed forever!  I think this is more in tune with what Bill Gates might have had in mind actually we he came up with the idea.  Not that previous think weeks didn't help me, just being 100% in control of my destiny here is definitely leading to more productivity and energy.

A few private repos have been created:



  • OPCD Blender Buddy:    Plan is to automate bunker modifications to create some variability in the edges.  Working of example from C.E.Simgolf and trying to make basic modifications quicker for your medium level courses... Not going to replicate full mastery from C.E but hoping to get a "light" version that at least is quick and easy to make bunkers look a bit more natural

  • UnityAction:  Plan is to create a scoreboard to pull data from Firebase DB that will be populated from apps created in the FlutterAction project

  • Flutter Action:  Plan is to create flutter application that will enable score entry from Windows, Chrome, Android and iPhone.  Dedicated to the memory of Mr. K - my friend and former employer who introduced me and subsequently all of my friends to magic of "1 down automatic press".  This is truly the "Cadillac" of golf betting similar what Texas Holdem represents in poker.

  • Shader:  After sending my first finished holes through the OPCD process and planting trees, I realized that getting colors / textures correct is going to be a major part of the process.  This has let me into researching Unity Shaders and diving into Materials Creation
    • a 3D image is not just one file, but a composition of several file that the shader will then use to create a lifelike representation.
    • The learning curve here is extremely steep but it's fascinating stuff.  
    • I did make a breakthrough in discovering this free Materialize product: https://boundingboxsoftware.com/materialize/
      Not only does this software make creation of the different maps that are needed for 3D rendering, it goes a long way in showing what the difference is between the maps themselves.  


              


Sunday, September 10, 2023

Golf Course Design

 Adding a new hobby.  Looking forward to getting my Golf Simulator setup running, so I am creating a local course I play so that I can practice.

First attempt at using tools like Unity, Inkscape, and  Blender.  

It's a good relaxer from coding helps to reset and recharge.

Below is just the first few holes in Blender.  




Thursday, July 20, 2023

Finally took another look at MPS after years in Eclipse Ecosystem

 In 2007, i attended a No Fluff Just Stuff conference where Neal Ford did a presentation on Domain Specific Modeling.  I was mesmerized.  From that day, I decided to learn what I could about this discipline in an attempt to raise my levels of power and productivity.  

Anyway, for some reason, I decided that I would try to use the Eclipse Modeling tools for DSL generation instead of MPS.  It may have been because I had tried doing Eclipse RCP and EMF as early as 2003 and the eclipse ecosystem seemed like the place to be.

Eclipse was an exciting ecosystem for quite some time.  The guys at Itemis and Sven Efftinge developed XText and XBase -- it was great.! Eventually though, I moved off Eclipse as IDE to IntelliJ and by then working in Eclipse seemed like a forked effort.  I wrote some integrations with projects like Papyrus but documentation was always hard to come by.

15 years pass and I come across this post from Markus Volter

https://www.youtube.com/watch?v=R6uoaxVV_2s


Amazing!  AND there is literally tons of documentation and videos out there on this!

This actually makes quite a lot of sense.  ChatGPT should be able to learn a simpler DSL language vs general purpose language.  Which leads to interesting equations

Developer -->. Force Multiplier 1 (DSL) ---> Force Multiplier 2 (ChatGPT). 

In other words, if you can first get DSL to write code for you (Code Generator approach) and then get ChatGPT to write code that writes code, it should prove to have a positive effect on productivity.

More to come!..   Kind of wish i had followed Neal into the MPS world but I guess I finally got here.

Update 7/22/2023 - I would highly suggest taking the JetBrains MPS for the Impatient Course.  Mind blowing how much is packed into this product.

https://cogniterra.org/course/28










Monday, July 03, 2023

Argo CI CD for PRs using Tekton for testing

 The idea is to use both Argo and Tekton for testing PR with e2e tests.  


I will start on Ubuntu and then try to get it running on a Mac Silicon machine.  Note above Bitbucket has been replaced by GitEA


Install requirements

kubectl
kind
postgres client
PostgreSQL on Kubernetes
Argo on Kubernetes
GitEA on Kubernetes

PostgreSQL install (for Bitbucket) :  https://phoenixnap.com/kb/postgresql-kubernetes

Argo install:  https://shashanksrivastava.medium.com/install-configure-argo-cd-on-kind-kubernetes-cluster-f0fee69e5ac4


Both of the above installations are simple via Helm charts.


 

In terminal with psql client:

postgres=# 

Install DBeaver database GUI

sudo snap install dbeaver.ce

Create gitea database


Install GitEA from Helm Chart

https://gitea.com/gitea/helm-chart/

kubectl create secret generic gitea-postgres-secret \

  --from-literal=POSTGRES_USER=<postgres-username> \

  --from-literal=POSTGRES_PASSWORD=<postgres-password> \

  --from-literal=POSTGRES_HOST=<postgres-host> \

  --from-literal=POSTGRES_PORT=<postgres-port> \

  --from-literal=POSTGRES_DB=<postgres-database>


persistence:
  enabled: true
  existingClaim: <existing-pvc-name>

database:
  type: postgres
  host: <postgres-host>
  port: <postgres-port>
  name: <postgres-database>
  user: <postgres-username>
  password: <postgres-password>




helm repo add gitea-charts https://dl.gitea.io/charts/
helm install gitea gitea-charts/gitea --version <chart-version> -f gitea-values.yaml

Create a user in GitEA with a testRepo



Saturday, May 28, 2022

Pixie

 


Pixie seems be pretty easy to install on minikube in ubuntu.   


https://help.ubuntu.com/community/KVM/Installation

https://github.com/kubernetes/minikube/issues/7677

https://docs.pixielabs.ai/









Sunday, January 16, 2022

4000 Micro VMs in 90 seconds

 https://www.youtube.com/watch?v=Eh0sTEN2azc

Firecracker and Spot Instances.

4000 Micro VM's in 90 seconds????

Saturday, January 08, 2022

The phoenix rises - Openstack installed with Ubuntu microstack

 The new openstack install process is quite a bit simpler to say the least.  Took 15 minutes to get a 2 node cluster up ... I had spent quite a bit more time than that failing to get Openstack Helm running LOL.. 



https://ubuntu.com/openstack/install

Followed the instructions for multi node and it was really easy. 

Time to give firecracker a go on some of the VM's created in Openstack.