skysight-inc/HackerNews huggingface dataset:
One does not imply the other. Whether the schema itself is modified or just the EAV definition does not mean that everybody has the permission to do it. EAV is just the way it is stored/described.
This proposal for a shorter work-week (with pay adjusted accordingly) actually has been tried, but corporations killed it for various reasons, as discussed in an article in Orion magazine: https://orionmagazine.org/article/the-gospel-of-consumption/
Hello Jon, adding an additional data structure has the problem of slowing down the ability to serve queries, and there is a memory overhead problem as well. A lot of time spent when modifying the eviction policy is to make sure there are on speed regressions. Moreover in Redis you can switch on and off the "maxmemory" setting and change eviction policy at runtime: when it's off no resources should be needed, when it is turned on, no pause should happen. So it is very hard to find both the time and space resources in order to implement the perfect solution. However the blog post in its latter part describes the LFU implementation that is now into Redis (unstable branch). This implementation was derived with just a few days of work, I had only that much to work at the problem, but was obtained writing a few simulation programs and traces in order to check the behavior, so I don't think it's an "obvious loser". For instance I can imagine different workloads where it can work better compared to LIRS. For example when you get accesses in "spaced bursts", LIRS, by remembering only the last two access times, may get confused about what data is really worthwhile to take. In teams like your where you have a specific problem to address, and you can test N approaches, you can select a specific algorithm that works the best for you, but in Redis it would be a lot better if there is a more adaptive approach. Intuitively, and by the traces I was able to run on it, it looks like that a logarithmic counter and the halving timer while not always optimal should be able to provide decent performances under different access loads, since in some way, it really is an LFU algorithm (in that the frequency of accesses is retained by the algorithm in a direct way, instead of being guessed by secondary data), so it should not be trivially fooled by odd access patterns. Also being it tunable in the two main parameters, it should be possible for users to improve it for application specific loads. I understand your frustration with LRU implementations, but given you care and have experience on this stuff, I invite you to take a look at the performances of the new Redis algorithm, maybe after all it could work better than expected, or you could be able to do trivial changes to it in order to significantly improve how it works, so that all we could benefit. Regards.

EDIT: p.s. if somebody is inclined to test it, in 24 bits, I'm sure it's possible to implement some kind of LIRS approximation easily, by using two 12 bits timestamps. The problem with a 12 bit timestamp is that all objects having more than 1 hours are ranked the same, but in the case of a cache like Redis, it could be acceptable perhaps... Anyway to try different approaches in the unstable branch is just as hard as writing a few lines of code AFAIK.
To be fair, people do keep sending anti-EU MEP's to the EU Parliament, who are incentivised to be as disruptive as possible. Their entire raison d'etre is the total annihilation of the European project and they represent 1 third of MEPs. And none of them seem to have an alternative. They just want the EU gone.

Let's clarify that the situation is nor entirely the doing of pro-EU MEP incompetence. There are powerful forces at work.
Warning: anecdota.

Having taught music and dancing at various points in my life, I've noticed that -- at least in these sorts of fields that require some sort of body mastery -- the best teachers often weren't the most naturally gifted. They often had to struggle and reason their way through issues in ways that the most gifted/natural musicians/dancers didn't. And because of that, they were often vastly superior teachers simply because they had learned how to think about and articulate a given subject. They could translate the wealth of techniques they had developed to learn the subject to others.

And perhaps, having struggled themselves, they would be more patient.

True, that's all ad hoc theorizing on my part, so I wouldn't promote that as some sort of universal truth, but it's something that I've heard from lots of musicians.

(All of the above is tangential to the OP, btw, which I don't necessarily find that compelling.)
Within the API, proto3 does not have the concept of field presence. All fields are "present" and default to their type's zero value.

Since the client can handle this, there is no need to explicitly serialize default values.
Employed people mange that by not being chained to their desks?
The problem is that then you have K caching algorithms in use, and the memory used by K-1 of them would be better used if given to the winner. The more sophisticated algorithms that use a combination of recency and frequency, like LIRS and ARC, will adapt to most workloads. 2Queues does better than LRU at not letting sequential reads evict frequently accessed data and it's pretty simple to implement, but, in my experience, LIRS seems to evict low probability data faster, letting you use more memory for higher probability data.

Regardless, if you have instrumentation, you can do a lot of testing and offline analysis.
I think it's more that GRPC (Google's RPC-over-HTTP2 protocol) directly supports Protobuf, and not Flatbuffers. All of Google's Cloud APIs use Protobuf (for example the [Speech API](https://cloud.google.com/speech/reference/rpc/) ).

I have to say, GRPC is pretty great. It's statically typed, supports loads of languages, the interfaces are simple to define (basically Protobuf), and it supports streaming requests! Most RPC systems omit that, or only have message streams (e.g. MQTT). Good RPC systems need both.

The only downside I find is that it is rather complicated (in design; not use).
I use all three, depending on the task. Haskell is compiled and relatively speedy, as well as being great for writing custom parsers (plus in a lot of situations it parallelizes very easily). One thing I find Haskell to be really useful for is coercing large unstructured datasets into a format that is easier to feed into Python.

For instance, I once had to write a parser for the data coming off of a digitizer being fed by a rather complicated radiation detector array. It's in an obscure and somewhat bizarre binary format that is pretty tedious to work with because it involves a lot of state in the parser, plus the files are pretty enormous (they describe every radioactive particle hitting every detector in the array over several hours of measurement). My colleague wrote a horribly tedious script in Python to parse it that was complicated and agonizingly slow, but I was able to write a very natural 80-line Haskell program in a few hours that was several orders of magnitude faster as well as much more robust. I was just massaging the data to feed into Python, but it was far far easier to do in Haskell.

So I find for some tasks I want to reach for Haskell, because it's natural to express the solution in Haskell. Other stuff I wouldn't even consider it, especially for stuff like data processing and plotting Haskell is not as elegant. Right tool for the job and all.
Also known as Bélády's algorithm.
If someone better informed than me can please explain - where and why would something like Protocol Buffers be useful?
I didn't want to go into detail since that'd make this post huge, but each one of these had a definite moment of realization.
Uber is Fucked
This is my view as well.

Very curious to see what will happens when Uber stop financing the customers rides. Will they ever be able to make money?
Plus so far all their side projects using the technology (uber eat, delivery, etc) look like failures.
I think a better way of thinking about what we want than "repetition" is "independent corroboration".
One thing to keep in mind is that Turkey has had at least 4 successful military coups in the last century, so the people are traumatized in that regard and you won't find many who would support any military-led coup at all, even if it were to remove a full-on dictator.
Right. I somehow mixed up my own wishes with what Jason Scott's comment actually says. Moreover, in the comment after that Lars writes the sentence "I hand over the gmane.org domain to you". I mistakenly took that for a reply to Jason, and understood that "you" was Jason and the Archive -- nope, Lars was saying "here’s what I hope somebody could make happen", and "you" is still undefined at this moment. So the future is uncertain.
Well, to be fair, people probably won't be dumping their stock over this news.
OK... you are nevertheless talking about some end user having the power to modify the database schema, which IMO is a bigger headache.
This coup thing is very well organized and trust me. I'm secular and not following mainstream media. Mainstream media didn't say anything about US or who's behind this. But I'm telling you the truth, these people or gulenist people whatever you call are supported by some organization or people residing in North America.
I think this is suitable for less important and publicly available information in sites. If a site has a lot patient users who would wait for this content to load then may be it can be tried. ;)
Most of the major radio astronomy observatories maintain archives (e.g., [0]). Of course, they mostly use highly directional dishes pointed at the sky, but local radio signals can create interference[1]. So, those archives provide some probe/record of terrestrial RF spectrum. Of course, those telescopes are generally placed in radio-quiet locations.

[0] https://archive.nrao.edu/archive/advquery.jsp

[1] http://www.gb.nrao.edu/IPG/
> So how come the death penalty is seriously considered an improvement in 2016?

This is primarily to make it difficult to oppose Erdogan. Earlier, an opposition would mean - jail time and potential release sometime in the future. Now, an opposition would mean - you have to sacrifice your life. Basically, the government has upped the stakes against dissent.
It's the only physical music medium I'm really willing to buy, CDs are useless since I use streaming services and cassette tapes are just bad. The fact that there's a boom in vinyl is great for me because I love the art and colored vinyls that often are made.
check this out: http://google-opensource.blogspot.com/2008/07/protocol-buffe...
Show HN: Eppstein’s k shortest paths in the web browser with OpenStreetMap
Obvious throwaway.

Do NOT work on Quartz or Athena or WSQ.

I have worked on two of these. I have seen the code for all three. These systems have too many WTFs to count.

They have lead to technical crisis at both JP Morgan and Bank of America Merrill Lynch. At Bank of America Merrill Lynch, the crisis lead to resignations of the chief architect and the CTO.

Stay away.
Yes. Life scientist here. This is 100% on point. It seems that most people who comment that we need 100% published repetition aren't aware of how the process currently works as you describe it. Repetition happens regularly if not in the majority of published research. It's just that it often doesn't get written up in a way that one can easily see the connection with the previous work. Citations are supposed to help this problem but because citations aren't just links and are hidden behind paywalls (a whole different can of worms), its not easy to see what's been replicated vs. not.
But Erdogan can be subject to the same penalty, especially now that they're getting rid of political immunity.
Much more than simple majority vote, Democracy as we'd like to understand in the western world is about (1) Checks and Balances and (2) respect for individuals and minorities who are not in the ruling side. So it is not about Democracy vs Dictatorship, but Democracy vs Authoritarianism.

> would we call Le Penne a dictator as well?

What would you call Chavez or Maduro? If not dictators (after all, "There is already too much democracy in Venezuela" according to their supporters), certainly they are the leaders of an authoritarian kleptocracy.

> Democracy means what the majority votes win.

No. Voting is just the end stage of a much longer process, backed by the credibility of the Institutions to which the people put faith in.

> Isn't the current situation in Turkey just another case of shock doctrine?

No. This is you trying to fit your worldview into the events.
>> "Saying that all experts are bad teachers is like saying all <insert ethnic group> are <insert stereotype>."

To be fair, the linked article makes exactly 0 claims about "all experts." Instead, the claims pertain to "experts," which could be fairly interpreted as "some experts" or even "a preponderance of experts."

If the article meant "all experts" it surely would have said so. Neither the string "all experts" nor "every expert" appears in the linked article.

I know my objection seems pedantic but I see this happen all the time, where someone makes a claim about e.g. "bicyclists do X" and then someone else gleefully and sanctimoniously jumps in with an objection like "How can you stereotype all cyclists like that, you are a terrible person!" When in fact the original claim explicitly did not pertain to "all cyclists" but rather merely to plural "cyclists." But now the claimer is super vilified as a cyclist-hater.
I disagree with the premise:

> "We’d all agree that to teach a subject, you must know the subject. So you’d think that experts would be the best teachers, but they’re not. The question is why?"

That is like saying that dogs are animals so you'd think all animals are dogs.

Moving past of it, I took a class on education which is probably the best class I've ever taken in my life. First they made us create a 1 sentence stating our goal for the teaching material we were going to create. Then we created the content outline and then they made us ask ourselves how the student would profit about each of them for the course objectives. We realized how many of the things we added were abstractions we learned through the years and totally unnecessary for a beginner in the subject.

To make the group assignment, we created a series of concrete tutorials where, through concrete examples, we tried to add a specific (or more) new material on each one while strengthening the previous learned lesson (each would build on each other).

I am interested mainly in group learning (though I do some one-to-one), so another important point is the speed of the learner due to previous abstraction models. While on one-on-one you can tune up/down to the person, with group learning the most you can do is to put them in knowledge groups or try to automate it (which is quite hard). For instance, unless we are talking about kids, most people know that you read top to bottom in English/most languages and left to right, so explaining that about programming is not only unnecessary but it makes your course boring. Then depending on the level you can skip variables, or variable types.
Sadly the JSON format they chose isn't actually suitable for high-performance web apps. Web developers who use protobufs will continue to get by with various nonstandard JSON encodings.
IMO, instead of a GPU, much of the rendering could be done on a "Vision Processing Unit" like the Movidius device - cheap, low-cost, power efficient http://www.movidius.com/
I wish these kinds of things didn't happen in the real world, but they do. Management wants it fast and cheap, wether it's good, they have no clue, they probably don't trust their engineers who speak too much gobbledigook.
So they hire the cheapest sob they can find, if he screws up, the next scrub can take his place, and that one might in turn get fired if the first one made too big of a mess to refactor ("What do you mean, you fixed this bug and now there are TEN MORE? We're already over budget and you were supposed to have finished last week. And don't give me your technobabble excuses!").
Happens more often in places ran by wannabe get-rich-quick type entrepreneurs.
I find the exuberance around cycling from this primarily California audience fairly grating.

Cycling is great... in the handful of months the weather allows for it in northern states.

It's also frustrating that cities are looking to make driving worse, but not (generally) to build rail infrastructure to make transit better.

I was once enthusiastic about carless urban life, but after experiencing it for a while... all the things you mentioned are likely to push me out into the exurbs.
Theory:
Successful projects always result in inelegant code until such a time that it can be rewritten with hindsight.

Fact:
There are more successful projects not written in Smalltalk.
COUPLE IS GOING ON 2ND WORLD TOUR ON SAME BIKE
Using Bitbucket's issue tracker to track bugs/features in my personal projects. Previously I just used a todo text file, but there are a lot of advantages to have it online.

Riding a bike.

Learning how to draw (I was trying to start several times, but always give up at some point).
Like climate science, right? Let's set up a statistical meaningful set of equivalent earths, and start doing some serious peer review.
Same here. Living in a city with many hills it was a chore at first. But now it's pretty great.
> Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages.

From https://developers.google.com/protocol-buffers/
The general assumption when reading the Daily WTF has always been that the names have been changed to protect the guilty, but the facts and mistakes are very real.
Doing the right thing in one instance of one aspect of "free speech" is not "protecting free speech".

Protecting free speech is about a framework of process, transparency, inclusion, and democracy.

Yelp is not a transparent, inclusive democracy with processes in place to ensure we can each express ourselves freely. It is a business, driven by business decisions, run by business people, for its customer, in the interest of it owners.

Period.
I look at it a bit differently. Would Redis be better today if antirez had raised $10m and hired 50 engineers and then gone out to maximize profit? Certainly that option existed. Personally I doubt the end product really would be that much better, and it would be a tragedy to lose such a great piece of free and open source software.
My understanding of Smalltalk is extremely small, but, this is an apple to well a tree, so smalltalk images and docker images are both ways to persist some sort of state at runtime, however, Smalltalk images are more like configuration while docker images are more of an entire environment.
Steam is just as bad as the Microsoft store is what it boils down too. Centralized control over games you've paid for. It doesn't matter who it is, it's not good.
Top-10-hottest-female-nfl-reporters-2016/
No, it isn't.

You calculate the fair market value of the public resources you used, and subtract what you paid the public for them. If it is positive, you have a publicly-supported project.

So if you use that government-paid intern for several hours, you ought to pay their agency or department $7.25 for each. You pay for what you use, and there's no problem.

If you work in a government-built facility, and you pay rent for your space, there's no problem. It doesn't matter that the public is your landlord. The space has a market value, and you pay it. There is no net transfer of value to your project at the expense of anyone else. If someone else could make better use of your space, they could have paid higher rent to get it.

If you're accepting a grant, that makes it a bit more difficult for you. If you get $50000, you would have to pay back $50000, plus the interest and the administrative overhead for processing your grant request. And then there's the value of the risk premium and moral hazard. You would have to find some other source of funding to "close" the research, and it would have to do it before starting work. Otherwise, potentially profitable projects could get privatized just before triggering the public release requirement, and the money sinks would be left as public.

If you use public funds to buy equipment for a publicly supported project, and then later want to use it for a private project, you have three options: lease it from the public project, or pay the depreciated value of the equipment to buy it outright, or make your private project publicly-supported.

It isn't any more complicated than the GPL copyleft. If you use GPL'ed code, you have to make public everything you do with it. If you don't want to do that, don't use GPL'ed code.
> Nowadays there's a certain danger of the same thing happening (not repeating experiments), even in the famous field of
physics. I was shocked to hear of an experiment done at the big accelerator at the National
Accelerator Laboratory, where a person used deuterium. In order to compare his heavy hydrogen
results to what might happen with light hydrogen, he had to use data from someone else's
experiment on light, hydrogen, which was done on different apparatus. When asked why, he said it
was because he couldn't get time on the program (because there's so little time and it's such
expensive apparatus) to do the experiment with light hydrogen on this apparatus because there
wouldn't be any new result. And so the men in charge of programs at NAL are so anxious for new
results, in order to get more money to keep the thing going for public relations purposes, they are
destroying--possibly--the value of the experiments themselves, which is the whole purpose of the
thing. It is often hard for the experimenters there to complete their work as their scientific integrity
demands.

-- Richard Feynman, "Surely You're Joking, Mr. Feynman", pp. 225-226
- removing optional values is actually quite nice. In practice, I end up checking for "missing or empty string" anyway.

- the "well-known types" boxed primitive types essentially add optional values back in. And depending on your language bindings, may look the same.

- extensions are still allowed in proto3 syntax files, but only for options - since the descriptor is still proto2. It seems odd to build a proto3 that couldn't represent descriptors.

- I still don't understand the removal of unknown fields. Reserialization of unknown fields was always the first defining characteristic of protobufs I described to people. I actually read many of the design/discussion docs internally when I worked at Google, and I still couldn't figure this one out. Although it's certainly simpler…

- Protobufs are the "lifeblood" (Rob Pike's words) of Google: the protobuf team is working to get rid of significant Lovecraftian internal cruft, after which their ability to incorporate open source contributions should improve dramatically.
Show HN: CoFoundersLab, meet 250,000+ entrepreneurs online
The difference being that Erdogan has all people who would announce such a penalty neatly tied up in his pockets.
Asking questions is what I'm talking about. Going with "he knows what he's doing" is not asking questions.
This 80-line solution sounds very interesting. I'd love to see more examples of this particular strength of Haskell. Are there similar parsing projects that you can point to that are open source and worth looking at to better understand this use case of Haskell?
10K Google Wi-Fi kiosks are collecting millions of faces and MAC addresses
It gets harder to make assumptions about what tables are there when you want to migrate things. I also think it's a hassle if you want to do something like have multiple tenants in a single DB (not impossible, I suppose).