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

On a related note getting my share of data back from OneDrive was a painful exercise - tons of spurious write errors I spent best part of my evening getting everything back to my filesystem. Yes remote by default was enabled without my consent.

I just wonder if it has the three laws builtin.


I just hope they didn't install the evil red eyes at the factory. I often wonder why they do that with robots in films - it's just asking for trouble.


And I’ve just implemented BWT and Inverse BWT in D, earlier today! https://github.com/DmitryOlshansky/compd/blob/master/source/...


I guess this will be killed soon enough, like so many Google projects.


I too adopted Scala in 2014 and was really satisfied with FP side and how it all was tied with JVM. Honestly I always felt that JVM is a nice platform with a horribly verbose “assembly” language that is Java.

Fast forward to around 2020 and I had to organize a team to build search engine in JVM. Given how hard it is to find decent Scala developer I surrendered and did this project in Kotlin. Java devs easily pick up and write sensibly FP-style even code, and builtin coroutines are cool. Even though I had to open up the internals of coroutines to get tracing to work they felt a very welcome change compared to say monadic explicit async.

So for me Kotlin is kind of watered down Scala for typical Java folks and I could tolerate it compared to perspective of writing plain Java.


Why not full VM with JIT? Seems much easier and more compatible with apps out there.


You can also run the full JVM and in fact I'd imagine that's how most of our JVM users actually use it today.


Because the JVM is fairly dynamic so it becomes hard to know which part to prune


Used cucumber as living specification for our search engine. Sooner or later we realized it was just matching a list of expected JSONs with a bunch of awkward Given, And Then mixed in. Scraped that stuff for our own Kotlin DSL, made the whole thing more flexible and faster to boot.


I recall the Zookeeper paper from Yahoo scientist which basically details a more useful version of Google’s chubby. I find reliability and design of Zookeeper fascinating these days cool kids use etcd mostly because of relatively complex protocol of Zookeeper (there is a few implementations but they lack the polish of Java client).


There is a drop-in, protocol-compatible replacement for ZooKeeper - ClickHouse Keeper: https://clickhouse.com/clickhouse/keeper

Many applications depend on ZooKeeper's data model and client libraries, and can't switch to etcd. Things like watches and ephemeral nodes are different there.


iirc problem of the zookeeper was that it was a chunky java application. etcd is tiny go binary. so there is more to it than just complexity of the protocol itself.


I recall playing Warcraft I with my friend over null modem. Kind of boutique LAN party.


Think of page tables this is essentially a table of tables of tables. I also was meh on triple pointers until I found this use case.


Yes, but the third level isn't a "triple pointer", but a pointer to the next level. A page table level isn't just a pointer-to-a-pointer but carries information. So a three-level table doesn't have `void***` in the top level, but `PageTableLevel2*`.


As colejohnson66 noted. I would use typedef table, typedef page, etc. A void* is a pointer to the void. A page table is a table of pages.


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

Search: