Tag tech
Vector DBs for Data Protection
I was reading up some information on vector embeddings recently and started thinking about different use cases of it. One interesting use case was for Data Detection and Response. The thought exercise I had was that if we are able to track data access patters or data lineage and represent them as embeddings, then the embeddings of any anomalous / nefarious access pattern would have very little similarity with other embeddings.
Using External Functions with OpenAI
An easy way to boost the capabilities of AI models is to provide it with external information that it may not have. e.g. maybe your company has some proprietary data that would never be included while training the models. But if you could provide the model with this info during inferencing, it would be able to provide more accurate results. One way of doing that with OpenAI is via function calls.
Having Fun with OpenAI
AI is all the rage these days. New capabilities, that seemed impossible just a few months ago, show up almost weekly. So I decided to take it for a spin and see what different tasks I could code up quickly. I chose OpenAI, but you should be able to replicate these using any of the other models as well. Printing the text of a html page Book Recommendations Converting csv to json using json_schema Printing the text of a html page The first quick task I tried was to ask AI to print out the text of a html page i.
Will AI take my job ?
Whenever a new technology becomes commonplace, there will be disruptions. Technology and their associated disruptions have occurred throughout history. e.g. The monks / clergy were primarily responsible for making books (by hand). This restricted the flow of knowledge. Then the printing press came along. In the 1920s, telephone companies employed thousands of folks as operators. Today algorithms have largely taken over. Essentially any manual / repetitive task was automated out of existence.
Setting up a private network with Tailscale
I came across Tailscale recently. It’s a tool that lets you build a private mesh network between your devices easily. My use case was to transfer data from my laptop(macbook) to my android phone. Many times I have a pdf doc that I have on my laptop that I wish to read on the go. I usually just email it to myself and download it to my phone, but wanted to see if I can use Tailscale for it.
End to End Deployment on GCP
Table of Contents Disclaimer Introduction Assumptions Architecture Create a Project Enable APIs Create VPC Create Subnets Create Firewall Rules Create Private connection to DBs Create NAT Router Create DB Populate env vars Push container to gcr Create Instance Template Create Managed Instance Group (MIG) Create IPv4/IPv6 address Create Backend Service Setup Load Balancer Cleanup Disclaimer This tutorial is provided “as-is” without any representation or warranties, express or implied.
BioHacks
I recently read a book called “The Gene” (by Siddhartha Mukherjee). It gives a great introduction to the history of our understanding of the human genome. That got me curious and I started playing around with DNA Sequences (in the software world !). I wrote simple functions to do things like DNA transcription, DNA Reverse Complement etc. It is available for anyone to use at: biohacks.jimmyislive.dev/ The backend is AWS Lambda functions.
'Remember Me' using the Go gorilla framework
A ‘Remember Me’ type functionality is something that is available on most websites today. Essentially what it does is that if the checkbox is checked when logging in, the session is kept logged in for a much longer duration (say a week or month). Otherwise, when you close the browser, the session terminates and you have to log in again the next time you visit the site. In golang, it is implemented easily using the gorilla toolkit.
GoCVE
Just released a new tool I have been working on: GoCVE GoCVE is a simple golang based command line tool to query CVE data. All you have to do is download the CVE data and insert it into a local database you run (currently sqlite and postgres are supported). The tool helps you to download CVE data and also populate the DB. You can then use GoCVE to conveniently get, search or list CVE data, from the command line.
Go Docker Container
If anyone is looking for a ubuntu based container with golang 1.13, I just pushed one up to docker hub: docker pull jimmyislive/goubuntu And this container has vim ! (Not sure why many public containers don’t have any editor installed on them.) The Dockerfile used to build this container is available on Github