@callmidavidi
iAccount based inAfrica
About this account
- Account based in
- Africa
- Connected via
- Africa App Store
Account-level information from X, not a live location or the device used for a specific post.
Pinned Tweet
Since I’ve added some more number of followers……
Let me reintroduce myself properly
I’m David Uchenna (friends call me Dave).
I’m a software/embedded systems engineer. Basically I bully computers into doing stuff, building websites, mobile apps, backend systems, and messing with embedded stuff sometimes.
Right now I’m the Lead Engineer at @flinckapp. It’s an agricultural social marketplace that connects farmers and people in the ag space. We launched on the Play Store, hit over 200+ users in the first 3 months. My job is building and scaling the product so it actually helps real farmers and ag folks connect and do business.
Outside of Flinck, I stay busy with side projects and client work.
Recently I built a lead generation tool that saves freelancers hours, you just type a niche (like “dentists in Lagos”) and it searches the web, pulls public emails & phone numbers, then spits everything out as a clean CSV or even ready for WhatsApp. I also built a full website for my aunt’s fashion brand and I’ve worked on projects for other clients & companies, but they’re NDA.
I’ve done hackathons too (won 3, made top 10 globally in one recently) and I’m currently in a remote lead backend engineer role.
I love building in public. You’ll see me posting about what I’m coding, the tools & frameworks I’m trying (yes I have opinions), wins, fails, and random dev life stuff. I’m just a young engineer grinding, shipping products, and sharing the journey.
I’m open to collabs, opportunities, feedback, or just chatting about code and ideas. DMs are always open ya!
David Uchenna retweeted
Lmaooo and lose millions of dollars? If they ever do this just know you're never ever ever getting subsidized plans again. Everything will be API pricing
hi anthropic and openai, how about you make coding models only accessible to actual professionals? that way we don’t lose our jobs to people who can’t even read the code they’re shipping ri?
i’ve been staring at my codebase like a total stranger 😭
i mean, of cause i started it off, but codex took over, now i’m lost
we got this before GTA VI😂?
well, i’ll be daammm…..
🚨 PS5 EMULATION MAY BE HAPPENING A LOT SOONER THAN PEOPLE THINK 👀
• AnyPS5 is taking a completely different approach to running PS5 games on PC
• Instead of traditional emulation, it attempts to relink PS5 executables into native Windows/Linux applications
• PS5’s x86 64 AMD architecture makes approaches like this particularly interesting
• PS5 shaders are being recompiled into SPIR V for Vulkan
• Generated shaders are already successfully passing SPIR V validation
• An actual PS5 game can execute _start and reach main
• The game can get through significant initialization
• It can already display the game logo AND begin loading the main menu
• The current test eventually crashes around frame 168
• There isn’t even a public AnyPS5 release yet
getting an actual PS5 executable this far through a completely different approach is INSANE progress this early.
Between AnyPS5 and the other PS5 emulation projects progressing right now, that whole “PS5 emulation isn’t going to happen” it’s unfolding right before our very eyes.
David Uchenna retweeted
Y'all store your otps directly?🤔
Might be unnecessary
I hash every otp created and store in a cache, when a user enters an otp within the time window, it tries to compare the hashes.
Each attempt is what is persisted to the DB for rate limiting.
is it better to store otps in the database or just throw them in cache?🤔
genuinely curious what people are doing in production
David Uchenna retweeted
You mean: autrans.online
“log.Fatal” logs the message and then immediately calls “os.Exit(1)”.
that skips every defer, so you get no cleanup (DB/Redis connections left open, logs not flushed, workers not stopped cleanly) and no graceful shutdown.
in a service with Postgres CDC, sharded workers, and Redis, that’s the opposite of what you want when something goes wrong after startup, lol.
the usual pattern is to return the error all the way to main, do the cleanup there (or via context cancellation), then log and exit.
“log.Fatal” is fine for tiny CLIs or the very first config check before any resources exist; once the process is a real service it’s better avoided.
Implemented automatic Redis cache invalidation with Postgres CDC via phylax.
Uses sharded routing with ordered workers per key and singleflight to handle cache stampedes.
Benchmarked it over 1M+ writes and invalidated every single one with 0 drops.
github.com/codetesla51/redis…