itroot

Joined 12 years ago

Karma
150
Submissions
36
Member since
Jan 31
Hello! My name is Ivan. I am passionate software developer. My personal page is : https://itroot.org E-mail is itroot <AT> itroot.org
View on Hacker News

Recent submissions

Comment · 11 months ago
Yeah, I see it as a radical anti-establisment resource. I would not call it a complete nonsence though, for me it's a place where you can "get" thinking of folks who are opposing "the System". So there is some value.

I'm not political or activist of any kind. However sometimes it makes sense to get understanding how other people think, so sometimes I read comments here and there.

HN has its own bias as well. Usually the quality of discussion here is quite high though.

Comment · 11 months ago
I'm from Russia (currently in Moscow), and I can read your comment just fine without VPN. BBC won't open... which is fine, as I jump straight to comments as many do here :))) .

Also do not miss twitter and facebook. Youtube is working (so far) with no ads.

Also stuff like WaPo is perfectly acessible. Sometimes I skim through it (also mostly comments), then check ZeroHedge to get the opposite view.

So a lot of info is acessible. Quite a few of resources are blocked on the other side though.

I surely can use VPN but prefer not to unless that required for more intellectual activity then reading news.

Comment · 3 years ago
I think you can just ask for it. IMO it's better to specify more what kind of mentorship do you need.

I have experience in mentorship, and now I'm mentoring a FE guy who wants to move into go development. It very interesting and fulfilling to help another person to achieve theirs goals.

Comment · 5 years ago
It's a complex question. I had experience of working with ~60petabytish system back in 2016, and there a lot of things to cover (not only storage):

* network access - do you have data that will be accessed frequently, and with high traffic? You need to cover this skewed access pattern in your solution.

* data migration from one node to another, etc...

* ability to restore quickly in case of failure.

I would suggest to:

* use some open-source solution on top of the hosted infrastructure (Hetzner or similar is a good choice)

* bring in a seasoned expert to analyze your data usage/storage patterns, maybe there are some other ways to make storage more cost effective, that simply moving out of AWS S3.

Comment · 6 years ago
I also do not want to push... I just want to play with that robot by myself, and see if kid will be interested to join. It's just fun thing to do!
Comment · 6 years ago
:-) it will be nice from some point of view...
Comment · 6 years ago
Guy from Russia here. Not an expert, but I feel the pain when my country looks so negative in the news.

First, I wish Alexey fast recovery.

Second, Alexey wasn't a popular politic figure in past time, I believe that his peak of popularity was in 2013-2015.

Third, I think no one here is actually benefiting from this tragic event... the whole story just seems quite strange. Frankly, there a lot of more simple approaches that can kill a man - no need to use sophisticated things like chemical weapons (which actually doesn't work as intended).

I hope that this story will be more clear pretty soon.

Comment · 6 years ago
You can have several clients. If you do not have long-live write transactions, performance will be fine.
Comment · 6 years ago
https://www.sqlite.org/appfileformat.html - it is OK to use sqlite that way! =)
Comment · 6 years ago
I recently impletented an extension to sqlite - https://github.com/itroot/sqlite-brotli-compress - that adds ability to compress blobs to sqlite via brotli, and I think it is trivial to add any compression format to sqlar (with some format extension, of course). But sqlar I believe is not very popular, and just an example of how sqlite can be used.
Comment · 6 years ago
If you are doing this for analytical things, setup with one database is OK. But, imagine that you a running something on production with sqlite, and database is really big. It is hard to : VACUUMizing, creating indexes and so on. In that case it's great to shard this thing, even it will be several files on one machine (of course, if you have data that can be sharded, like different users data can be stored on different dbs.)
Comment · 6 years ago
I think that this applies to all modifying operations - INSERTs, UPDATEs, DELETEs.

It's perfectly ok to write to sqlite from different processes in the same time, but to achieve good results it's better to:

* use WAL mode - so the readers and writers do not block (you can turn on it with `PRAGMA journal_mode=WAL;` in CLI, and it's better to add `PRAGMA main.synchronous=NORMAL;` also).

* all concurrent writes will be queued by sqlite3 lib and done in sequential manner, and if any write attempt will wait longer that BUSY_TIMEOUT ( see https://www.sqlite.org/pragma.html#pragma_busy_timeout ) , it will return error.

Snippet

  # setting things up...
  itroot@l7490:/tmp$ grep -i pragma ~/.sqliterc
  PRAGMA journal_mode=WAL;
  PRAGMA main.synchronous=NORMAL;
  PRAGMA busy_timeout=1000;
  itroot@l7490:/tmp$ sqlite3 test.sqlite 'CREATE TABLE records (id INTEGER PRIMARY KEY, record TEXT);' > /dev/null 2>&1

  # running 10 parallel processes that inserts numbers from 1 to 1000...
  itroot@l7490:/tmp$ echo {1..1000} | xargs -n1 -d' ' -P 10 -i% sqlite3 test.sqlite 'INSERT INTO records (record) VALUES (%);' >/dev/null 2>&1

  # getting number of records
  itroot@l7490:/tmp$ sqlite3 test.sqlite 'SELECT count(*) FROM records;'
  count(*) = 1000
Comment · 6 years ago
Yep, that's a great use-case! However on such amounts of data I would recommend to split it to several databases - backup, replication, vacuum will be much easier and better. Doesn't applies to sqlite3 only =) . I assume that you data is immutable or append-only, and there is rare writes with lots of reads?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton