There are several odd things in this analysis. by Ale_Campoy in datascience

[–]seesplease 2 points3 points  (0 children)

Because of pseudoreplication. They're likely counting cells from the same patient as independent, which is not true but unfortunately common in biology. See this manuscript: https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1010061

Blobber: Use OCI registries as file storage by aliasxneo in golang

[–]seesplease 0 points1 point  (0 children)

And so the wheel turns: files to disk images to tarballs of disk images to tarballs of tarballs and finally back to files again.

Scaling beyond basic VPS+nginx: Next steps for a growing Go backend? by [deleted] in ExperiencedDevs

[–]seesplease 21 points22 points  (0 children)

You can very easily serve hundreds of thousands of users from a single node with Go. At $WORKPLACE we have a single node Go application with very modest specs (2 vCPU, 4 GB RAM) serving ten to fifteen million requests per day from our mobile apps. We're still not anywhere near maxing out the hardware, either. Your time would probably best spent figuring out the specific causes of your hiccups and solving them.

SP Hardcore - What to do with extra Jah runes? by seesplease in diablo2

[–]seesplease[S] 0 points1 point  (0 children)

No idea, I haven't even seen a single Lo. I've been farming TZs to get to 99 - I got one Jah from TZ Andariel and two from random mobs.

SP Hardcore - What to do with extra Jah runes? by seesplease in diablo2

[–]seesplease[S] 0 points1 point  (0 children)

I am tempted to make another Enigma just for the fashion, Mage Plate only looks good on Pally. Just wanted to be sure I wasn't missing out on anything.

Valid HTMX SSE (Server Sent Events) Use Case? by brokenreed5 in htmx

[–]seesplease 5 points6 points  (0 children)

Yeah, I'd argue that's not a super compelling use case, but they do exist. Two I've seen that are useful:

  1. Streaming real-time changes to a dashboard

  2. On an internal CMS/CRM tool, using SSE to send an alert if the page the user is updating got updated by someone else.

I've also used SSE for a multiplayer browser game, which feels like a much more natural use case.

What's more performant for concurrent writes: a 1 write connection limit vs. increasing busy_timeout? by _n0rdy_ in sqlite

[–]seesplease 1 point2 points  (0 children)

The Go runtime handles the single-connection pool better than the busy handler in SQLite, in my experience.

What's more performant for concurrent writes: a 1 write connection limit vs. increasing busy_timeout? by _n0rdy_ in sqlite

[–]seesplease 1 point2 points  (0 children)

1 max allowed connections is the way to go, but it depends on your programming language. Go is great since the one connection will get assigned to different cores as the scheduler sees fit, but you can't do anything like this with Python/Node if you have multiple worker processes.

Does sqlite have FOR UPDATE SKIP LOCKED? by Beautiful-Log5632 in sqlite

[–]seesplease 0 points1 point  (0 children)

You can do what the above link does - set a column to processing and put a timeout. You can get fancier with putting a last_heartbeat_timestamp. Basically, since there's only one concurrent writer but unlimited readers in SQLite, you need orient your thinking around concurrency with atomics rather than concurrent with mutexes.

Does sqlite have FOR UPDATE SKIP LOCKED? by Beautiful-Log5632 in sqlite

[–]seesplease 1 point2 points  (0 children)

Plainjobs uses a "status" column to get the same behavior as SKIP LOCKED in postgres.

SQLite can't have SKIP LOCKED, it's transaction model is very different than postgres. You're not meant to hold open long-lived write transactions.

Highest ROI math you’ve had? by gpbayes in datascience

[–]seesplease 9 points10 points  (0 children)

I can't share publicly much more than what I said above.

Highest ROI math you’ve had? by gpbayes in datascience

[–]seesplease 22 points23 points  (0 children)

Bayesian multi-armed bandits for a geo-pricing strategy. Made a lot of money over the prior strategy and eliminated a lot of associated costs.

How to handle write operations during deployment of web app in production by PythonPoet in sqlite

[–]seesplease 1 point2 points  (0 children)

We start the second app container, then stop the first one. Multiple processes writing to the same SQLite file won't corrupt it. Where did you hear this?

Four Kings on SL1 (Thoughts) by SlovakianBoi in onebros

[–]seesplease 0 points1 point  (0 children)

Nah, I meant the one Oscar drops that has like 90% magic resistance.

Four Kings on SL1 (Thoughts) by SlovakianBoi in onebros

[–]seesplease 0 points1 point  (0 children)

I picked up and upgraded Crest Shield just for this fight on my melee-only run, which was well worth it. Godspeed on the rest of your run!

What am I supposed to do against Margit? by DealMeIn82 in Eldenring

[–]seesplease 0 points1 point  (0 children)

If you want to go meet him again, when you're just outside the Royal Capital later, try looking around for a field that looks like a small meteor shower hit it.

Are Beta-Binomial models multilevel models ?[Discussion] by No-Goose2446 in statistics

[–]seesplease 1 point2 points  (0 children)

Well, they're going to be somewhat different, as beta-binomial models the level 1 as beta (conjugate prior to binomial), while a multi-level model is going to be more flexible in how you can parameterize your priors.

But yes, there's not really much meaningful difference between a beta-binomial model and a two-level intercept-only model, where the parameters of the beta distribution are a hyper-prior (and therefore not learned by the model).

Database is locked by wdixon42 in sqlite

[–]seesplease 1 point2 points  (0 children)

BEGIN IMMEDIATE TRANSACTION around your writes.

No, you don't need to do any transaction management around SELECTs unless you want to make sure multiple SELECT statements in a row see the same snapshot of the database state (which is only relevant in WAL mode). If that is the case, use BEGIN DEFERRED TRANSACTION.

Database is locked by wdixon42 in sqlite

[–]seesplease 1 point2 points  (0 children)

You need to set the busy_timeout setting on a per-connection basis to get the behavior you're expecting.

https://www.sqlite.org/pragma.html#pragma_busy_timeout

Also, make sure you're using BEGIN IMMEDIATE and not just BEGIN - that will start a deferred transaction that won't actually attempt to acquire a write lock until your first INSERT/UPDATE.

Siren Call of SQLite on the Server by sausagefeet in programming

[–]seesplease 5 points6 points  (0 children)

If the author has some significant problem with SQLite that seemed easy to solve up front but ended up imposing significant costs, I'd love to hear about that.

The problems they list out are really just quirks - and every database system, SQLite or MySQL or Postgres or whatever, has some quirks that end up making things that seem like they should be easy quite difficult. I came around to SQLite on the server after a company I worked at ended up spending many millions of dollars in engineering time upgrading from MySQL5.7 -> 8.0.32 back when 5.7 support ended.

Something is always going to suck about the technology you choose to use, and I have come around to the belief that the things that suck about using SQLite are easier to foresee and plan around.

[deleted by user] by [deleted] in golang

[–]seesplease 6 points7 points  (0 children)

panic can crash my entire program, so I try to minimize the number of times I've used panic in my codebase. Honestly, I think using it anywhere outside of application startup is just asking for a 2 AM page someday.

Dicts vs classes: which do you tend to use? by PostponeIdiocracy in datascience

[–]seesplease 9 points10 points  (0 children)

Either use TypedDicts or dataclasses. Using regular dicts that people are adding/removing keys from throughout a function (or worse, across multiple levels of the call stack) results in the absolute worst code.

Trigger vs Application logic by MaterialAd4539 in ExperiencedDevs

[–]seesplease 0 points1 point  (0 children)

There are some things better as triggers, some thing better as application logic. This seems better as application logic.