Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
biokoda
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
17 ms
·
121.
▲
by
biokoda
11y ago
Rust FFI is not nearly as simple as Nim's interface to C where you pretty much just call C functions.
122.
▲
by
biokoda
11y ago
I never said spinlocks are better in every situation. I'm saying they are better in this situation (SPSC queue).
123.
▲
by
biokoda
11y ago
The only way to test it out is with code. In my own tests spinlocks turned out to provide the highest throughput. I do not care about the problem enough anymore to go try out your implementation. If you implemented a lock free queue, you sh
124.
▲
by
biokoda
11y ago
Locking is cheap, switching a pointer around is cheap. The only expensive thing is waking up a thread that is waiting on a lock. Spinlocks avoid that problem, which is why they outperform other implementations in terms of throughput (of cou
125.
▲
by
biokoda
11y ago
Probably the best key handling method is employed by Biocoded app. It uses the same encryption protocol as signal (Axolotl ratchet) and it only stores half of the decryption key locally. The other half is on the server.
126.
▲
by
biokoda
11y ago
If all you're doing is passing pointers from one thread to another, lock free is not a very good choice. Try a trivial spinlock based implementation. It will outperform it easily.
127.
▲
by
biokoda
11y ago
Considering their criteria Erlang/Elixir seems like a huge omission from the contender list.
128.
▲
by
biokoda
11y ago
> I'm not a erlang expert but the use of the case statement is not considered a bad practice? Only by people who see the world as black and white. There is absolutely nothing wrong with case.
129.
▲
by
biokoda
11y ago
No it is not. http://stackoverflow.com/questions/14388706/socket-options-s...
130.
▲
by
biokoda
11y ago
What's common is both are based on kqueue/epoll. Erlang then provides a very elegant interface on top of it.
131.
▲
by
biokoda
11y ago
> A more standard-friendly solution is MPEG DASH Standard friendly yes. But not nearly as widely supported. Apple HLS runs on adroid, iOS, a large number of set-top-boxes, flash and now javascript.
132.
▲
by
biokoda
11y ago
> are closed source, so they are completely unverifiable. They can still be verified by third parties if Whatsapp/iMessage wanted to do it. No company can satisfy security purists, because they can't make a living out of it. We
133.
▲
by
biokoda
11y ago
It's an overly simplistic example.
134.
▲
by
biokoda
11y ago
Appending 1 to functions is quite common in Erlang for cases such as that. You cant find a good naming scheme for small fragments of ideas.
135.
▲
by
biokoda
11y ago
Lets play devils advocate. Does pretty == readable? I consider this: foo(X) -> case X of bar -> void; _Else -> undefined end. More readable than: foo(X) -> foo1(X). foo1(bar) -> void; foo1
136.
▲
by
biokoda
11y ago
Axolotl Ratchet protocol which is currently the safest end-to-end encryption method is pretty new.
137.
▲
by
biokoda
11y ago
Please keep in mind I'm just trying to give you advice on how other employers might view you. Your github/bitbucket just looks like bunch purposeless code. I presume it's your game? If I were to make a judgement from looking
138.
▲
by
biokoda
11y ago
Speaking as an employer (not in France though). What do you have to show me that you are capable? I place next to no value on formal education. But it will get you a foot in the door if you have no actual work experience. It at least tells
139.
▲
by
biokoda
11y ago
- Correct. - Incorrect. They are all inside a single LMDB file. So there is not an open file handle for every actor. > How do you coordinate safe schema changes across all actors? Before committing a schema change, we test it against the
140.
▲
by
biokoda
11y ago
Yes it has been very stable for us.
141.
▲
by
biokoda
11y ago
Yes. An ActorDB setup is made out of any number of clusters. Raft only runs within a given cluster.
142.
▲
by
biokoda
11y ago
- No but the key point is you will be creating this index in small steps. Adding an index is a change in schema, schema updates are always executed "per actor". This means actors who are currently not doing anything, will not perf
143.
▲
by
biokoda
11y ago
You understand correctly. My point was LMDB does not have checkpoints/compaction steps where it "silently" in the background copies data around. When writes are large, this is an important point. LevelDB/RocksDB type sto
144.
▲
by
biokoda
11y ago
ActorDB is not a distributed clone of MySQL. So yes you must know which actor you are querying. This is why we say it is mainly a database for apps. If your queries are always hitting a specific user, then you make that user into an actor.
145.
▲
by
biokoda
11y ago
> Do you have any prominent users running this on their production deployments? Not that we know of unfortunately. We use it for basically every project that we do. It's definitely not some side project. It is the core of everything
146.
▲
ActorDB – How and why we run SQLite on top of LMDB
(blog.biokoda.com)
51 points
by
biokoda
11y ago
|
17 comments
147.
▲
by
biokoda
11y ago
Their android app description says they need an IP enabled network. GSM is not it. They may have it in their lab, but it's not in a real life useful product. Because it is not possible.
148.
▲
by
biokoda
11y ago
No they don't. It's not mentioned anywhere on their website.
149.
▲
by
biokoda
11y ago
No one has that
150.
▲
by
biokoda
11y ago
> Yeah, basically with PostgreSQL it boils down to the fact that even if a client receives an error on commit, its writes may in fact have succeeded -- and it cannot assume that they haven't. This is true for almost every database.
More ›