678 karma · joined November 24, 2017
Can someone explain why that is? My understanding is that adding bots to a server requires Admin/Owner access, who are already at liberty to read all messages. If you don't trust bots scraping your messages in a server, don't you implicitely distrust the owners? Just leave the server?
But why? Are there no Node.js equivalents to PIL??
person_id is a foreign ID for a "person table" that fits well in the relational model. A "person" has various attributes (name, DOB, email) as well as a one-to-many relation to "groups". Groups are a collection of users with additional attributes (e.g. group name).
Now, what if I want to answer questions like:
- how many total events for all persons in group X
- who are the top 10 users in number of events in group X
- which are the top 10 groups in number of events
In this case, the person/group tables are part of the core business logic, they aren't specific to the events table. It doesn't make sense to store it in Clickhouse. Also, this person/group data gets updated sparsely, but "freshness" should be kept at a minimum (< 30secs).The simple approach to the first question would be
- Get all the user IDs in group X
- Filter events by those user IDs
But what if there are tens of thousands of users in group X? And hundreds of groups? Are megabyte-long queries supported in Clickhouse?I'm currently experimenting with Clickhouse, because my dataflow is increasing in size (40M rows right now, doubling every month or so) and my current setup (MongoDB) is at its limits. I would like to migrate the 40M rows to CH, but I also need the metadata for the rows to be in something more robust like Postgres or Mongo. Would you have a microservice that does the queries between the OLAP and relational DBs and does the join manually, exposing that as some low-level API? Or is using the various FDW options (remote tables in Clickhouse, Postgres clickhouse_fdw, etc.) realistic in production?
Sorry for the ramble, it's late here. But I can clarify if necessary.
If the country does not have a good track record, it doesn't really change anything.
AFAIK every department follows this structure for performance[1], so that's about 200k employees.
The promotion system is a bit special for my department, since it's tailored for software engineers (about 40% of the department). The rest of the public service has a more competitive system, more similar to the private sector.
[1] https://www.canada.ca/en/treasury-board-secretariat/services...
For promotions, you give a 1-2hr presentation on the work you've done to a group of other developers and managers not directly working with you. Work done needs to match 51% of the competencies to go to the next level. Usually the pay increase is 10% per level (promotion).
It's practically impossible to get fired. Only way is up.
Snark aside, there's just no simple, hand-waving solution to this. Even if you held the company owners criminally liable for paying a ransom, pretty much any small company will shut down for not being able to afford top-notch security.
It also opens the door to blackmail:
> We've encrypted your files. Pay us $AMOUNT BTC by tomorrow, or your files are gone. And with a recurring payment of $AMOUNT BTC per month, I promise not to report you to the FBI for paying!
For example, in a previous hackaton I used it to combine randomly-generated TTS, music, and video with varying filters: https://github.com/aramperes/code-jam-2/blob/a00e73ec7a912f6...
(The current title is "IBM employee forced to stop kernel work for using personal email address", which is an interpretation likely missing context)