Hey kids.
Contrary to last week, this one went by quickly. A lot of plot developments have taken place.
TLDR: Moved to Bangalore + found a place to stay; Got a shady cold DM from a scammer; Wrestled with Azure; and most importantly almost finished the import feature.
Nous Updates
You know how last week I was wrestling with how to deploy my import feature on Azure Functions, well I tried that and no amount of free credits is going to make me use that platform for anything more than a VM again.
Deploying an Azure Function is incredibly opaque. There’s no visibility into what’s happening and why something is failing.
The function would deploy but it wouldn’t detect the HTTP triggers I’d set up. I’d also not be able to actually view and find out why.
Dug around for a bit and there are at least 7 GitHub issues regarding this.
https://github.com/microsoft/Oryx/issues/1774
https://github.com/microsoft/vscode-azurefunctions/issues/2529
https://github.com/microsoft/vscode-azurefunctions/issues/3805
https://github.com/microsoft/vscode-azurefunctions/issues/3815
https://github.com/microsoft/vscode-azurefunctions/issues/3777
Posted an SOS message in a group chat and this sums up the responses from everyone:
So I switched over to GCP…
…and got my GCP Cloud Function up and running with good visibility. Such good visibility that I realised that Cloud Functions isn’t at all suited for scraping tasks what with needing to set up playwright/chromium to scrape at every cold start.
So obviously I googled + asked ChatGPT and got recommended to use Cloud Run which runs full containers in a serverless manner. At this point, I couldn’t help but feel that over the last week I’ve just been getting “oversold” on things I don’t need at all.
Like I’m at a shitty car dealership and they’re constantly adding add-ons which sound good but make no sense given my use-case at all (I need a bicycle).
So this morning I scrapped everything, and rewrote my code to run on a simple beefy compute engine with FastAPI. Feels like a weight off my shoulders already. It works. I have visibility. It’s easy to update.
In retrospect, I think I fell victim to over-engineering a solution. Need to be more aware of when I do that now. I’ve learned my lesson.
In other news, I was able to (kinda) meet last week’s deadline and have the import feature up and running locally. This screenshot of the server scrape job took me a week of reading random cloud documentation that I didn’t need to use. It was worth it. If you need an over-engineered edge function deployed on GCP/Azure, lmk.
“I’ll be honest. I’m gonna use it for phishing”
A dude tried to get me in on his phishing scam. It was probably a 17 y/o high schooler who traded some stocks and figured out what a Wells Fargo is. I got a random DM on WhatsApp and I decided to play along.
This is already sus. But I wanted to hear from him what he wanted to do. At first, he was being coy and trying to act as if he was trying to learn red teaming practices.
After I played dumb for a little bit and offered to help him debug, he fessed up lol.
I should contact Wells Fargo probably :P
For more context, I have a blog post on phishing which ended up doing the rounds on Reddit for a bit, I think this dude came across it and decided to get my phone number through my resume and texted me.
You can either have good opsec or you can build in public.
###
That’s a wrap for this week. I shipped my final import feature sitting in a cafe today. This newsletter is being written as I force Prithvi to write and publish his.
Next week
Push the import feature out to a couple of beta testers
Iron out the kinks and polish everything
Should integrate a payment provider to start accepting money.
Prediction: Sam Altman joins back as CEO of OpenAI.
Thanks for reading.
GLHF.
10/10 would be phished again