Posts

Showing posts with the label Tooling

2 Cents on Github Co-Pilot

Image
Github Co-Pilot is in high hype right now. Co-pilot is an IA/ML tool that allows engineers, coders, in general, to get more productivity from their IDEs and Editors. Right now co-pilot is on early access, I had to subscribe and wait for +3 months to get my access. There are things that need to be improved for sure but overall I can tell it's a pretty cool and yet useful piece of technology. Of course, it raises ethical and IP concerns. Like would private secret source code be used from one company to another? In the land of the AI/ML we never know what will happen so I did not actually use for Real code, to be safe I did not even use it on my main IDEA (IntelliJ for Java)  - I did it in VSCODE where I used it much less and that sense I could isolate from the rest of my personal projects. I have a SlideCast with some thoughts and later there is a live demo with some cool co-pilot in action.

Writing a simple REPL in Go

Image
Go is a great language for writing tooling. It's very easy to produce a self-contained binary in go which makes very easy to distributed tools written in go. Today I want to show how easy is to write a simple REPL in Go. REPLs are quite popular in Functional Programming community like Scala, Clojure, and Haskell. Today even Java has a REPL :-). Cassandra has interesting REPL called CQLSH  which allow local and remote connections. Currently, I'm thinking to write REPLs for some things I´m working with. REPLs are great for productivity and context. No to mention the could reduce and simplify discovery and troubleshooting. You might be thinking Gosh to write a REPL is tough we need to have parsers, print things nicely with colors, use tab completion, remember all previous commands. and one and on... I'm a full fledge REPL might require more work however a basic and simple version is something we can do in less them 5 minutes so I won't be doing any complicated parser or...