HNHacker News
TopNewBestAskShowJobs

bnkamalesh

53 karma · joined March 12, 2018

https://kamaleshwar.com
submissionscomments
bnkamalesh··on Show HN: Public chat rooms with ephemeral chat and anonymous signup
haha yea, it's just a coincidence that I built it during this time. Otherwise not a rebel platform, I can't be arsed with governments. In the event of legal issues, I'll simply shutdown and I would literally be unable to provide any logs, chat etc.
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
that was an interesting read (https://junchengyang.com/publication/nsdi24-SIEVE.pdf), thanks for the recommendation. It looks like a good fit for replacing the underlying storage mechanism of Pocache, instead of the LRU. Though I do not think it addresses the thundering herd problem, where the underlying database would be flooded with calls when the cache expires. I think Pocache is focusing more on the caching strategy itself rather than the cache eviction or storage mechanisms. Hence the store is configurable for Pocache.
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
hey thank you for sharing this. Based on what I understand, this package focuses on the underlying storage mechanism itself rather than helping with the cache strategy. It seems like a solid storage extension which can be used Pocache!
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
thank you for the recommendation, was a good read as well. I could even use it to replace how I'm handling the call suppression/debounce mechanism. Though I think Pocache does 1 extra thing, which is to keep the cache updated before it expires, i.e. for keys which are frequently fetched it'd serve up to date data always from the cache. If we only relied on call suppression, then the concurrent requests would just have to wait during the update stage, or the read-through mechanism would keep hitting the main database.
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
aha yes! It's in my todo list to introduce bulk updates. On the other hand, I'll be publishing a batcher package soon which does something very close to what you suggested here. Thank you
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
??
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
interesting, will check out
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
@zimpenfish yes you are right. refetch is initiated on the first Get between 9-10mins, and the timer is reset as soon as the back fetch is successful
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
since the underlying storage is an LRU, I just ignored dead keys. Nope there's no client re-request or retries. That is left upto the "updater" function
bnkamalesh··on Show HN: Pocache, preemptive optimistic caching for Go
interesting, thanks for that. I'll check it out
bnkamalesh··on Webb Telescope Image Sharpness Check
True, knowledge of the universe, our planet etc. being exclusive is indeed very irksome/painful :(
bnkamalesh··on Keyboard lets people type so fast it’s banned from typing competitions
Why do a lot of people use "suspect" instead of "suspicious" :|
bnkamalesh··on The Time Everyone “Corrected” the World’s Smartest Woman (2015)
I'm no way an expert, so even if Ms. Savant beautifully explained it; my puny brain thinks... "how is it different from starting the game with 2 doors?". If you choose again, how is the probability not 1/2
bnkamalesh··on ISS throws away 2.9 tons of trash into orbit
why not push it out of orbit, away from earth?
bnkamalesh··on Opinion: We’ll Have Herd Immunity by April
immunity or not, a lot of people are going to stop caring about it altogether
bnkamalesh··on Firefox 85
Forget Firefox, my brain can't handle more than 10 tabs 0_0
bnkamalesh··on Cargill open-sources Splinter, its ‘blockchain-like’ supply chain software
https://dibizglobal.com would be an alternative
bnkamalesh··on Bring back the ease of 80s and 90s personal computing
Modern day IDEs alone are worth it for me!
bnkamalesh··on Departing senior engineer refuses to introduce replacements to OSS community
Asking a developer community how to follow up after screwing up a developer! That ought to be ironically funny. I think I can relate with Gust more, than the company
bnkamalesh··on Moving from Macbook to Linux
Oh and what about that pristine glass touchpad experience, is that available anywhere?
bnkamalesh··on Moving from Macbook to Linux
I thought Ubuntu stayed on the cutting edge, at least when it comes to 3rd party packages. Not sure about the kernel.
bnkamalesh··on [Show HN] Fastest way to temporarily host a single static HTML file
If you've tried hosting a simple HTML file, be it for sharing with someone or just for the kicks. You know it's a time consuming task. There are some solutions out there but requires registration, or is just tedious and some are on the way of becoming a great experience but not yet there. At least for me, none of the existing solutions worked, and I had a very specific usecase as well!

So I was out setting up custom error pages on Cloudflare. If you've used their service and have setup custom erorr pages, you know they require a URL where your template is hosted, and won't accept the HTML as is. And that's where my journey started, after searching around and trying to use some of the services, finally I hosted it as a Github page. For me it turned out to be a time consuming endeavour and I didn't think it was worth it, and thus HTMLHost.live!

You can find the source code at https://github.com/bnkamalesh/htmlhost/

bnkamalesh··on A new funding model for open source software
Distribution indeed seems to be tricky. Out of the myriad of utilities you use, e.g. React & a string sorting library. Should they both receive the same remuneration? That feels wrong.
bnkamalesh··on Show HN: Currency, a Go package to do currency computations
Currency package helps you do exactly what it says, currency computations. It lets you do sub-unit(e.g. cents is a sub-unit of dollar) manipulations as well. It takes care of carry over values in division, i.e. consider 1 dollar divided by 3, it'll return 3 currency instances with 34, 33, 33 as the values instead of 33.3333.
bnkamalesh··on Show HN: Go error handling with custom package
Errors package is a drop-in replacement of the built-in Go errors package with no external dependencies. It lets you create errors of 11 different types which should handle most of the use cases. Some of them are a bit too specific for web applications, but useful nonetheless. Following are the primary features of this package:

- Multiple (11) error types

- User friendly message

- File & line number prefixed to errors

- HTTP status code and user friendly message (wrapped messages are concatenated) for all error types

In case of nested errors, the messages (in case of nesting with this package's error) & errors are also looped through. The limited no.of error types are only because I assumed too many options and too much customization might lead to some kind of fatigue. Tried making things a bit easier.

bnkamalesh··on Cloudflare outage on July 17, 2020
> They slung some mud not long ago...

Oh, at whom?

bnkamalesh··on Show HN: Goapp, an opinionated guideline for Go web apps
I'm reposting this (https://news.ycombinator.com/item?id=23738278), as a few users pointed out that I should be submitting a URL post and explain in comment.

So like the title says, it's an opinionated guideline to structure a Go web application/service (or could be extended for any application). And my opinions formed over a span of 5+ years building web applications/services with Go. Even though I've mentioned go.mod and go.sum, this guideline works for 1.4+ (i.e. since introduction of 'internal' special directory).

bnkamalesh··on Show HN: Goapp
Oh, thank you for that.
bnkamalesh··on Show HN: Goapp
Though an FYI, we have only 6 web apps. Maybe that's why it's been working fine for us all this while
bnkamalesh··on Show HN: Goapp
Oh, I'm using ELK with docker-compose (free community edition). Running it on a 16GB RAM, 4CPU virtual machine. Have been able to use it for all our deployed environments. RPM of 10k+ (maximum), and have been using it for 5+ months now. And we retain data for 30 days
Page 1 of 2Next →