HNHacker News
TopNewBestAskShowJobs

andrioni

345 karma · joined May 1, 2014

submissionscomments
andrioni··on Chongqing, the Largest City – In Pictures
It's a ZDF documentary, I imagine DW only got the rights to show the translation outside of Germany.

Here's a link to the original: https://www.zdf.de/video/dokus/megacitys-wenn-es-nacht-wird-...

andrioni··on Tarsnap outage postmortem
You can just pay extra for extended or infinite retention. https://www.backblaze.com/cloud-backup/features/extended-ver...
andrioni··on Amazon DynamoDB On Demand
One use case where it would be beneficial is for tables that have batch-style patterns, where you (at least in my experience) need to provision a good enough baseline before autoscaling kicks in.

In some cases I've seen, autoscaling can manage going from ~500 to 10k WCU without heavy throttling (as the burst capacity can handle the five~ten minutes before autoscaling kicks in), but not with a smaller baseline. On tables with hot shards, the baseline usually has to be higher.

andrioni··on Nobody knows how to cite 4chan mathematicians who solved an interesting problem
It's not entirely uncommon in mathematics to see citations to "personal communication with [insert name of other mathematician here]".
andrioni··on Ions: Develop cloud applications by deploying to a running Datomic cluster
This kind of clause is usually known as a "DeWitt clause"[1], after a University of Wisconsin professor who benchmarked a couple databases, including Oracle (which performed poorly). Oracle/Larry Ellison didn't react well to that and decided to forbid benchmarks.

[1]: https://danluu.com/anon-benchmark/

andrioni··on EdgeDB: A New Beginning
Does it mean it will be possible to use EdgeDB with hosted Postgres databases, like RDS and maybe Amazon Aurora (on Postgres mode)?
andrioni··on EdgeDB: A New Beginning
Is EdgeDB going to be Postgres fork, extension or a service that uses just uses Postgres as a storage layer (like Datomic)?
andrioni··on EdgeDB: A New Beginning
It seems more similar in spirit to triplestores, which are pretty neat all things considered. It also reminds me a lot of Datomic, but without the Clojure-ness and immutability.
andrioni··on Google's AlphaZero Beats Stockfish In 100-Game Match
44 million, according to their paper, and they used 5000 TPUs, which are capable of 4.6×10^17 operations per second.

(The operations the TPU can run are far simpler than what supercomputers can do, but just for the sake of comparison, the current top supercomputer in the world can do 1.25×10^17 floating point operations per second)

andrioni··on Is there data on the quality of management decisions?
>So, using sports as a proxy is not the same as management decisions where there are no well-defined criteria or expected value.

Wouldn't it make his result even stronger? If the thesis fails to hold even in better conditions (like when there is a well-defined expected value), it should also fail to hold in worse conditions.

andrioni··on Bitcoin ‘Ought to Be Outlawed,’ Nobel Prize Winner Stiglitz Says
Aren't the bitcoin transaction fees actually higher than what you would get with banks? I don't know how it works in the US, but I can do free almost-instant transfers inside Germany with no problems at all, including for online transactions (like Amazon).
andrioni··on What are some of the most disliked programming languages?
Not only that, but also languages you dislike enough to tell everyone who reads your CV you won't work with them, like ACow_Adonis said. I know many people who avoid R as much as they can, but would rather work with it than be unemployed.
andrioni··on Kotlin Features I miss most in Java
If you want to stay in the JVM, Scala supports some pattern matching, including your examples:

  def functionReturningMultipleValues() = (List(1), List(2), false)
  val (l1, l2, b) = functionReturningMultipleValues
evaluates to:

  l1: List[Int] = List(1)
  l2: List[Int] = List(2)
  b: Boolean = false
and

  val first :: _ :: third :: rest = List(1, 2, 3, 4, 5, 6)
to

  first: Int = 1
  third: Int = 3
  rest: List[Int] = List(4, 5, 6)
Of course, if you already are familiar with Common Lisp, Clojure might be a better choice.
andrioni··on Extending per-second billing in Google Cloud
One thing of note is now both Google Cloud and AWS charge at least one minute per instance (AWS used to charge a full hour, and GCP ten minutes).
andrioni··on Apache Arrow and the “Things I Hate About Pandas”
Spark SQL does exactly that: declarative graph dataflow computations + a multicore (also distributed) scheduler and executor, although it doesn't really scale down that well to a single machine and the execution layer happens mostly on the JVM, even when using PySpark (with an ungodly mix of of serialized Python and JVM objects and code).

Ibis (also by Wes McKinney) does the first part, but it offloads scheduling and execution to the underlying database you are using.

andrioni··on China Blocks WhatsApp
Although China has such a large market (and potential to close the market if need be) that not being able to expand outside of China won't be a problem for a long time.
andrioni··on Readers on food inequality in eastern Europe
>That European chocolate in American supermarkets is quite often the lowest-quality stuff from here.

I guess this is somewhat universal: the only Brazilian cachaças available here in Germany are the worst ones in Brazil, but they have insane prices (e.g. 12€ for one that isn't worth the 2€ it costs in Brazil).

andrioni··on iPhone X
Well, but Mac OS X (then OS X, now macOS) was called "Mac OS Ten" and it actually followed Mac OS 9.
andrioni··on Mesos Borgs Google’s Kubernetes Right Back
Mesos actually handles the lower level part (determining which machines are up and which resources they have (CPU, memory, disks, network ports, GPUs), running tasks on machines, isolating resources from each running task on each machine, either with its own containerizer or using Docker, etc), but the tasks themselves and their scheduling details (how many tasks to run, should it try to run each task on a different machine or not, etc) are determined by the framework you are using. There are some popular "meta-frameworks" (like Marathon and Aurora) that abstract away the Mesos interface and let you just say "run five instances of this Docker container, one per physical machine". They also might handle higher level details, like service registration/discovery, rolling updates and more.

>Because they are not down. Their shares are just sent to another worker from the pool seamlessly.

Eh, depends on what you consider by "seamlessly": basically if a node goes down, everything it was running will be rescheduled and ran again on other nodes, but this might take some minutes, and ensuring this failure is not perceived from the outside depends entirely on you. Disk management is entirely up to you also, so you have to roll your own SAN if you want to have something like that (at my company Mesos disk space is completely ephemeral, and truly persistent state is always stored on S3 or external databases).

andrioni··on GObject
How did Microsoft solve it with their C++ APIs? I've never ventured much into Windows programming, but I remember hearing that MFC uses C++, and newer stuff is mostly C++-based.
andrioni··on Dijkstra was right – recursion should not be difficult
It does the optimization by default, the annotation is to ensure it raises a compilation error if it actually fails to optimize.
andrioni··on “We will stop updating and distributing the Flash Player at the end of 2020”
It's actually pretty weird that would stop distributing it, especially since they still distribute a Shockwave Player, and well, Shockwave has been completely dead for long time now.
andrioni··on Redshift Spectrum – Exabyte-Scale In-Place Queries of S3 Data
>The downside is that the table takes 600GB of disk space compressed which is a major chunk of our cluster.

And that it probably takes one hour or more to fully reload it if you ever need to.

andrioni··on Kazakhstan spells out plans for alphabet swap
>Yugoslavia -> Serbia and Montenegro

And before (soon after WWI) it used to be officially called the Kingdom of Serbs, Croats and Slovenes.

andrioni··on Most Electronics Being Banned on Certain US-Bound Flights
The linked article (at least right now, AP via Bloomberg) actually says the ban is indefinite.

>The ban was indefinite, said the official.

https://www.bloomberg.com/news/articles/2017-03-20/some-elec...

andrioni··on Scaling Financial Reporting at Airbnb
I don't know the volume of transactions they have, but in my past experience with SAP it was extremely hard and expensive to implement and make it scale (1~2 years for the initial implementation and migration and 10M+ USD spent), and we weren't even that big (~3M sales orders per year). Debugging it was also a nightmare, and they still had frequent data integrity issues, even just between SAP modules.
andrioni··on AWS London Region (eu-west-2) now available
AFAIK AWS doesn't fully build and manage their own datacenters, they usually just lease a bunch of space in an existing one that's good enough.
andrioni··on AWS London Region (eu-west-2) now available
Elasticache is still there, and it is still getting updates and new features: Redis got bumped to 3.2 a few months ago, and they also added managed sharding support.
andrioni··on Talks that changed the way I think about programming
>Are there things that transpose memory organization?

Not exactly what you asked, but if you look at most subroutines in linear algebra libraries like LAPACK, they tend to have extra arguments so you can tell if your inputs are already transposed and/or conjugate in order to have more efficient memory access.

andrioni··on Data Wrangling at Slack
The other way around: Avro is supported by pretty much any language out there, while you can't even write a Parquet file on Python, and even reading it is pretty hard.
Page 1 of 3Next →