Arsh's Newsletter

Subscribe
Archives
February 10, 2025

“We used to look up at the sky wondering about our place in the stars. Now we just look down, worrying about our place in the dirt.” - Cooper, Interstellar

Hey there! I’m really excited for you to read this week’s newsletter because I explored a bunch of cool things last week which I can’t wait to share with you!

Interesting links for the week

Instead of sending a bunch of random links your way, these are all things I’ve read or seen and found interesting and relevant enough to share!

  • How to Read and Write CSV Files Using Go

  • Privilege isn’t your problem, Excuses are

  • Creating A CLI In Golang

Something that sparked my curiosity

I was recently getting back into building small projects just for the fun of it and I decided to start with the plain old simple todo list. I wanted to create it in Golang as a CLI application. But I didn’t want the plain old UI. I wanted something fun. This is when I discovered the Lip Gloss open source project. Lip Gloss allows you to create really pretty UIs for your terminal applications and is pretty simple to get started with. I’d recommend checking the project out just to experience its beauty if nothing else :P

Golang puzzle of the week

Complete the function FirstMissingPositive that takes a slice of integers as input and returns the smallest missing positive integer that does not exist in the slice. The solution should run in O(n) time and use O(1) extra space (in-place modification is allowed).

package main

import "fmt"

// TODO: Implement the FirstMissingPositive function
func FirstMissingPositive(nums []int) int {
    // Your code here
}

func main() {
    nums := []int{3, 4, -1, 1}
    result := FirstMissingPositive(nums)
    fmt.Println("First missing positive integer:", result) // Expected output: 2

    nums2 := []int{7, 8, 9, 11, 12}
    result2 := FirstMissingPositive(nums2)
    fmt.Println("First missing positive integer:", result2) // Expected output: 1
}

The smallest missing positive integer will always be in the range [1, len(nums) + 1].

You can write solutions to this in the Go Playground and share the link with me on LinkedIn to get a shoutout in next week’s newsletter!

Who’s hiring?

  • Chainguard is hiring for Senior Software Engineers across the globe.

  • Pulumi is hiring for a Senior Frontend Engineer gloablly.

  • Firefly is hiring for a remote Customer Success Manager in the US timezones.

Don't miss what's next. Subscribe to Arsh's Newsletter:
Blog X LinkedIn
This email brought to you by Buttondown, the easiest way to start and grow your newsletter.