Hacker Newsnew | past | comments | ask | show | jobs | submit | coolgoose's commentslogin

What? Tables are responsive, they auto adjust widths or columns, you can control which are fixed width and which are fluid.

Yes. You can specify width as fixed, percentage, or leave it blank.

Here's an old all-tables site of mine.[1] Try resizing the window. Works fine. It won't narrow down to mobile dimensions well, though.

[1] https://downside.com/news.html


The person I was responding do linked to an article about tables for layout, not tables for data

110% :P (or well more public transport so less cars ? :P)

But he was a footballer, some managers in it are like Alex Ferguson was baking goods, not knowing football

Still hoping Opel will be covered

My 2 cents, just make the damn meetings 20 minutes or 50 minutes, and start at sharp. I absolutely hate the 5 minutes past, as I am ALWAYS late on them, or 5 minutes early.

Fixed time makes it so much easier to reason than random stuff.


You are comparing apples to oranges, and go is pretty strong typed


I'm comparing a program with itself.

Go only has basic types and interfaces to emulate duck typing (structural typing). The type complexity in Go is rather on the low side of things.


I don't get why people don't just use vue... with no build step, just including it.


I am so confused about this message

Sounds like an sqllite performance tuning issue than anything else.


I'm guess but it probably depends on who's being choked here. If it's the caller, then it may be the overhead of individual deletions for each record when using the record APIs. If other users are being choked, it may refer to locking.

Naively, I would expect SQLite to be able to delete tens-of-thousands (or even hundreds) of records per seconds, since it's simply appending deletions to the WAL.


check the benchmarks here https://trailbase.io/reference/benchmarks/ its clear thats a lot of overhead on top of sqlite


https://github.com/pocketbase/pocketbase/blob/master/tools/s...

I wouldn't be surprised if that's the performance issue. It seems to be used as in memory cache for all (?) collections and uses a mutex to access them, even on reads. Most (properly set up) databases are pretty good keeping things cached and with a local socket the latency is low. With this setup I'd be very careful to do my own general purpose caching. The solution here is likely very sub optimal.


Thanks this is very helpful, can you please look at the code more, specially around inserts and reads why its so slow?

I am a lowly frontend developer who got into the SQLite hype due to twitter and DHH from Rails, didn't know how bad SQLite was.


I've just started with go a few weeks ago, so take my info with a grain of salt.

Pocketbase uses a mutex for all the data reads and writes. That means that every write will block any readers for the write duration. If you do a lot of writes this will become quite inefficient quickly. You need some kinds of locking to write data, but if badly implemented it will pretty much roll back all concurrency advantages, you pile up goroutines that just wait to do something.

A good database does go very sophisticated steps to minimize locking, essentially you should expect from a modern database that most reads are lock free. Still it helps to understand how they coordinate locking and concurrency to optimize your applications. I.e. usually you design reads to be ultra fast and do writes in healthy bulk sizes which is also still fast but will net out to have minimum lock time. Slow reads should be done read only replicas or at times there isn't any load. So sqlite isn't slow/bad at all, if you use it correct, like any other decent database.

Below the sqlite WAL mode is explained. It is magnitudes more sophisticated then what pocketbase does. Pocketbase literally negates all that by their own locking strategy. It would likely be more efficient if the just remove their cache layer and fine tune sqlite for their use case.

https://sqlite.org/wal.html

Also if you require a very high amount of writes, that is realtime writes, as opposed to writes that can be delayed, you pretty much enter tough terrain. You need to make very deliberate choices and pay a lot of attention to system design depending on your requirements. So if something falls over from a high amount of writes, it because it's hard.


(Similar disclaimer: I'm not an expert on PocketBase implementation details)

I don't think the referenced `Store` is used in the SQLite access path and PocketBase uses SQLite in WAL mode. Besides, in cases where the `Store` is used, it uses a read/write lock to allow for concurrent reads.


I am by no means an Ai fanboy, but not using translation tools feels odd?


I thought the same but from another perspective, it's better to explain things in a language you dominate and let others translate it to theirs, which might be a good or bad translation; than translate it yourself to a language you don't dominate and the others always get a bad translation. At least in the first case new people can come with better translations.

This is all assuming translation tools always translate things wrong, which they do when it comes to programming terms.


One doesn't exclude the other. You can use machine translation and clearly marking it as such, and then let people override them if there is the necessary contribution activity.


This and the lack of proper a hrefs is the biggest pet peeve of mine with a lot of spa's


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: