skysight-inc/HackerNews huggingface dataset:
Thanks for the clarification, I don't use python very often myself. That does underscore that there's really not a normal conditional there though.
I think wildfly also uses serialization to store session state when scaling horizontally.
It does include them. The map gets populated with the band we know at the time we knew about them (note how France gets filled in just before it gets conquered by Rome)
LEGO(tm) brand bricks
And the preprint: https://arxiv.org/abs/1805.09223
The JRE has had arbitrary code execution attacks on serialization. The leaked classes eventually invoke a class loader and instantiate your binary code as a new java class.
It was also submitted at https://news.ycombinator.com/item?id=17163910 under another indirect URL, although that article did at least add a whole bunch of "What is a despot?" waffle to the original video. (-:
Wouldn't that imply that the equivalent of a while/else loop would be a for/except loop, not a for/else loop?
I think it's worth keeping the comment around for that exact reason. It underscores that the concept really is confusing and mislabeled.
It should be possible with enough elbow grease to build an engine based off voxels imo, seems like some combination of lazily generating voxels based off simple primitives and being able to generate what the "inside" of something looks like on the fly gets you most of the way there through the rendering problems at least, right?

Now whether that's worth it or not is an open problem.
Honestly, I would just not use it wherever possible. It's a wart on the language, and there are plenty of semantically superior alternatives. I would rather wrap in function + use return over break, use a sentinel value, or raise an exception over using the else block.

If there's anything I've learned, it's that just because a language has a feature, doesn't mean it should be used.
Possibly because a superclass or interface are marked, and it is inherited? The problem is that (excluding the new filtering mechanism) deserialization is unscoped - any class in your code, a third party library, or the core VM is fair game in an attack.
Also USSR and Middle East.
Did you remember to disable your swap file/partition?

https://stackoverflow.com/questions/22988824/why-swap-needs-...
Good news, removing serialization will irrevocably break RMI.

And yeah, it would be nice if eventually a spring cleaning could remove some of the mistakes - Enumeration, Date/Calendar, Hashtable, ClassLoader, etc.
This site does something weird, I haven't seen before. As you scroll around the page, not clicking on anything, it adds entries to your stack of visited pages! You then have to hit the back-button N times to get out. It's stealthily redirecting to itself or something like that.

You can monitor this: stay on the page, and then every once in a while right click on the back-button in Firefox (or however it's done in your browser to pop up the forward/back list). See the growing number of repetitions of the page title in the list.
They were clocked twice as fast because they worked less efficiently internally. The 6502 will read or write exactly one byte per machine cycle; the Z80 equivalent of the machine cycle is the T-state, of which it will spend 4 per instruction byte, 3 per operand or data byte, and 8 (I think?) per data byte read due to an instruction with a prefix. As today, though for different reasons, throughput of CPUs of the time was limited by memory bandwidth, and the Z80 has at least a 3-4x disadvantage here.

This does make the Z80 sound much worse than it is. A 6502 instruction takes at least 2 cycles, which for certain types of instruction means a cycle wasted. TXA and ASL A take 2 cycles, for example, even though both are one byte. It's 1 cycle to read the byte for the instruction, and then 1 cycle effectively wasted. The equivalent Z80 operations take 4 T-states, on the other hand: just the cost of reading the byte for that instruction.

The Z80 also has the upper hand with some more general instructions. LDIR is 21 T-states per byte for the equivalent of a memcpy, where the equivalent 6502 loop might approach 9 cycles per byte only with multiple unrolls, while being far less general. The Z80 also has 16-bit operations, which the 6502 lacks entirely. It's 11 T-states to add one register pair to HL, which is the sort of thing the 6502 will take 15-18 cycles over, and that only in the best case.

But it's not entirely a wash - in fact, quite the opposite. The Z80 has no analogue of the 6502's X-/Y-indexed addressing modes, and with only 3 register pairs (IX and IY being uselessly slow) you'll struggle to keep the necessary addresses live - a pain for anything that's table-driven. (It's 10 T-states to load the address, then 4 to replace the low byte with the index, then 7 to fetch the value there. The 6502 can do that whole lot in 4 cycles. You can also load the other index register this way, then use that to load the accumulator: 8 cycles for a table-indexed table lookup.) The 16-bit operations are annoyingly specific, and for many types of operation you need to shuffle data through the accumulator and back again. In practice this stuff typically negates the Z80's apparent register count advantage.

When I first read through the Z80 data sheet, the thing seemed basically magical by comparison to the 6502! But once I tried to actually write any code, I found there'd typically turn out to be this fairly consistent 4:1 T-state:cycle ratio. You can engineer situations where the Z80 is hilariously better... but they'd be engineered. For typical code, you can expect 4:1. You'll need a lot better than double the clock rate for the Z80 to win.

(Interesting and possibly relevant interview with Sophie Wilson, ARM designer and formerly with UK's Acorn, that touches on how memory bandwidth can influence CPU effectivness: http://www.computerhistory.org/collections/catalog/102746190)
I mean there are a lot of causational arrows. In central Japan, for example, there exists an ultimate monopsony consumer of all engineering labor. Their salary scale is known to middle schoolers. All engineering labor is priced against that scale, sometimes directly, because that scale informs what they'll pay subcontractors and then the magic of consulting math replicates that scale across the supply chain.
In regards to the 'cool hysteria' and bandwagon jumping stupidity of humans, classic solutionist mistake being made by the Australian Government: Find a problem that we can solve with Blockchain!

https://www.itnews.com.au/news/turnbull-directed-dta-to-stud...

“Lots of vendors were [also] coming to government and talking about blockchain.”

Not a good way to determine expenditure...
I (perhaps mis-)read the subtext as being that violence is a historical, hence tolerable and perhaps even inextricable, part of reform movements. The literal point seemed obvious, so it didn't occur to me as a possible topic of discussion. In retrospect it's not obvious, as leaders of movements are regularly blamed for the shortcomings of a few followers.
'The last "great empire" in Europe was perhaps Germany in the 1940s.'

Not the Eastern/Soviet Bloc?
Seems to be a nice location too, plenty to see around the museum
Ask HN: Help deciding between Angular and React
We have a product that is currently using Ionic 3, and we are deciding what to do since we are moving away from native apps in favor of a full web based experience. It is a small app with a very limited number of pages.. but heavily used by end users.

We are taking this opportunity to do a major UI redesign that will look identical on all devices -- no requirement for an app that looks like a native app.

Our current dev team is comfortable with Angular, since our current app uses Angular 5 -- so we are leaning towards sticking with what we know. That said, I would love some thoughtful advice from this community to help me navigate from our current state of our product to the next.

A couple of specific questions I would like answers to:

Is the community size difference between Angular and React of concern?

We have a small team right now, and plan to scale up over the next year... is hiring new developers going to be a lot more challenging if our solution is in Angular?

And if there is anything else I should be considering, anything is appreciated. Thanks HN!
So to be clear most "code" shipping frameworks in jvm land use jar files. Big data systems are not using native serialization for either code or data.
Data has to be obtainable and is often dimensional.

How would you have measured the speed of light in the forties? Even having lots of test cases, you wouldn't be able to deduce something like that with test cases alone.
You can't do much with 94 seats in the Bundestag if nobody will work with you. It's a big signal for larger parties that shows what they might try to gain some votes though. Only in the US though is the actual government now controlled by a right wing, populist.
Least surprise doesn't mean everything is documented. It means things behave analogously to everything else
> Matrices have to be truly spectacularly large to benefit from Strassens

I don't have personal experience with other mmult methods, but Wikipedia says Strassen's algorithm is at least beneficial at matrix sizes that fit in cache. I have had occasion to deal with matrices of large dimension (though usually sparse, and usually not square) and those numbers don't seem crazy at all. Are they that far off-base? (Wikipedia does say that Coppersmith-Winograd tends to never be a useful improvement.)

In any case, perhaps a more friendly response might be to point out that Strassen's algorithm tends to "bail out" into regular old matrix multiplication for small `n` anyway, so this still helps provide a speedup.
I don't think you are interpreting that comment in this context the way I would. It is possible for an employee of a Japanese company to have a $91k salary and, also, a high internal status, resulting in non-pecuniary benefits as described.

It is extraordinarily unlikely that employee is an engineer.

(For additional "It's complicated!" context: I believe his bosses likely considered the offer they made him to be a plum. My ex-employer had a similar terminal outcome for distinguished engineers, where you'd be given a laboratory, perhaps an assistant or two, and total freedom. Is that a particularly compelling terminal offer? No. But it's an offer better than 99.8% of employees in the engineering track have. The mere fact that it is obviously better than what 99.8% of engineers get is a component of the offer; Japanese megacorps figure out that giving you money to purchase status is inefficient when they can simply award you status directly.)
") # There you go

Also, nice counterexample.
all web applications use serialization to do session replication. Now this is safe as the both stream ends are controlled by the developer, and only if they are stupid, (instead of malicious) will there problems. Still if java serialization goes away, this will be the most widespread impacting change in the java ecosphere wrt changing how serialization works.
That's deeply "unpythonic"
Ugh, don't remind me about the data contract serializer. Silent failure for unexpected ordering of XML elements is boneheaded default behavior.
Cardgames.io
Interviewing the Interviewer
Um, I'm a native speaker and might say "I sat next to two Australian persons on the flight."

Admittedly, it's more likely I'd say "I sat next to two Ozzies on the flight." (No, not Aussies, Ozzies. Like Ozzy Ozbourne. Because that's how it sounds to me when Aussies say 'Aussies.')
"Not that homeopathic or Ayurvedic is not necessarily effective"

Homeopathy is not effective. It cannot be effective.
Speed of light has been experimentally determined long before the 40s. The discovery of the speed of light being constant lead to the special relativity (aka before GR which is the E=mcc). http://www.speed-light.info/measure/speed_of_light_history.h...
ASCII Dashboards
...and then you realize that's why you shouldn't use it, right?
That's one of the best tells to detect non-Americans when communicating in writing only. Get them to talk about uni and how much they enjoyed maths.
The fact that you think cryptocurrencies and internet is comparable pretty much says it all.

If you had said blockchain vs internet then it might have made for a marginally plausible line of reasoning. Blockchain at least has some proven real life applications that scale.
I normally couldn't care that you guys try to slip a thinly-veiled advertisement into any HN discussion that concerns ZFS but, geez, c'mon guys, this is really pushing it.

At the very least, throw in that mention of the HN discount.
Speaking of Python, pickle is `eval` soooo be a little careful with that one.
True. I think there was a Money cocoapod that used your trick. But you can’t do anything with them you would normally do with the base type unless you add a ton of logic.

Also in F# you get the type Meter/Hour if you divide Meters by Hours. Which multiplied by an Hour value gives you the distance traveled at that speed in that time.
Also missing mention of the Cyber 205 and the Illiac IV.
> In the US you have no meaningful way to choose true libertarian politics for example

Sure you do; political expression isn't limited to general election voting.

> With more than two parties it had to become more about content than affiliation and identity.

The US has many more than two parties. A stable state of two competitive parties is the effect of limited meaningful choice presented by the system used for general elections, not the source of a lack of choice.
No.

In your scenario, they've searched 100 people with no probable cause (what is a sniffer dog doing, if not a search?), and then done a much more intrusive, stressful, and embarrassing personal search of 5 people, also with no probable cause or presumption of innocence, in order to catch one person.

Being basically accused of a crime and physically searched by men with guns is much more than an "inconvenience" in my opinion.

A system that accuses 4 innocent people of a crime for every guilty person it catches, is in my opinion a broken system that should not be employed.

My opinion of course, you may be happy with a much higher level of police intrusion into your life. Gotta stop those dangerous drug users!
Last time I dived into details, the communication protocol for HDFS was serialized java objects using the built in serialization mechanism.

Edit, they switched to Protocol Buffers in 0.23

https://wiki.apache.org/hadoop/HadoopRpc
There is a big difference between being the 'best possible' and being the best out of a variety of crappy alternatives.
As a matter of trivia, probably not. The iteration mechanism just happens to check for StopIteration, and does not automatically handle any other type of Exception, which would require a usual try block.

So StopIteration can be thought of as an equivalent idea to “emptiness” of an iterator, either an empty container, an exhausted generator, etc.

And since emptiness is most often handled as falsiness in a bool context, it’s in some sense the natural notion of a “false” iteration condition.

This is all incredible mental gymnastics though. But (speaking as someone who loves Python) there’s unfortunately a lot of that in Python.
The historical use of u and v can be seen in the Lord's Prayer from 1538:

> Our father whiche art in heuen,

> halowed be thy name.

> Let thy kyngdome cum vnto vs.

> Thy wyll be fulfylled as well in erthe,

> as it is in heuen.

In the first line we see how U was used within words for both U and V ('our' and 'heaven'). In the third line we see how V was used for words starting with U (as well as words starting with V).

Of course, this isn't universal, there are counter-examples of U used initially and V used medially!
'Fahren Sie, fahren Sie, dann brauchen Sie keinen Treibstoff' (Drive, drive, then you do not need fuel) - Erwin Rommel
I'm rusty on C#, but I believe the equivalent would probably be [Serializable] types being read from a Stream using a BinaryFormatter or SoapFormatter. A malicious stream could include any known types in the system marked as [Serializable], and as they are deserialized any associated static constructor/no argument constructor/property setters could be called.

In the JSON case linked, I presume there is a root type given when you are attempting to deserialize a document. However, if one of the properties of that type is ambiguous (say System.Object), and the deserialization algorithm looks for a 'type' property in the JSON with a class name to determine what is instantiated, then there can be all sorts of unintentional types that might be built by the processing of that malicious JSON.
which just seems like a really weird use case, and smells like a goto.

That's exactly what it's for. In C, this is a pretty common pattern:

for( ... )
if( ... )
goto found;
/* else not found */
...
found:
...

I remember when I had to use a bit of Python and lamented its lack of goto, then came across this "else loop" and thought "yes, they even thought of that."
Very interesting. My only criticism? Perhaps too much of a focus on procedural justice.

Peter Thiel has a great talk on how one of the biggest problems in western societies is that we have moved away from having a determinate view of the future, to an indeterminate one. This has been driven in big part on the idea that process matter more than substance. https://www.youtube.com/watch?v=iZM_JmZdqCw

E.g. Lawyers are more concerned with society having a fair process or procedure for doing things, than its advancement.
What is your definition of benefit? Pushing workers to pee in bottles is not a cumulative benefit to humanity.
It's too important in life to challenge yourself completely. That comes in many many forms. Allowing your brain to travel to places you're not determining is among/probably the most enlightening.
The biggest cause of vulnerabilities in Java serialization is that the class is part of the serialization format, so an attacker can cause the serialization to produce classes that you aren't expecting.

Json.NET seems to allow the same behavior, but has it disabled by default.

> In fact the only kind that is not vulnerable is the default: TypeNameHandling.None
You are conflating comments with documentation.

Comments are low-level, documentation is high level.

"self-documenting" removes the need for comments, not documentation. Ironically.
It is a marker interface. You are supposed to consciously opt-in.
The article is making a simpler point than that. If I show you the table:

A	B	C
1	4	3
20	45	15
8	15	7

And so on for some arbitrary number of rows, you can look at the table all you want but you will not perceive "A+C=B". It's just not written there. To get A+C=B you have to generate something else in addition to the table, namely a hypothesis- but this is a creative act, not an empirical one.
A similar article on how to optimize SGEMM on GPUs using OpenCL - https://cnugteren.github.io/tutorial/pages/page1.html
Atlas shrugged
I read this for the first time during the summer I graduated from college and was backpacking through South America. It struck me like a thunderbolt, putting into words principles that I strongly believed in but had not seen in print elsewhere.
> which would be better for everyone.

I agree that the spacing would be, overall, better, but that, by no means, guarantees that the monopoly would be better. We have plenty of historical evidence to the contrary.

It's important to keep this particular economic "law" in perspective: it's a very specific, negative effect of competition. It doesn't mean that competition on the whole is undesirable.
In my experience if you have even a little smoothness in your problem's cost manifold, taking advantage of gradients is invaluable to sample efficiency. Many losses which don't seem differentiable can be reformulated as such - you can look around and see a wide array of algorithms being put into end-to-end learned frameworks. If the dimensionality is small, second-order methods (or approximations thereof) can do dramatically better yet. However, I'm also a fan of evolutionary algorithms. I see no reason why evolutionary rules can't be defined with awareness of gradient signals.
That's a pretty bad non-article even for Fluffington. Especially since no ruling was made yet on the Chipotle case
There are so many great alternatives available. It's a no-brainer. I applaud.

[edit] so why the downvote? We have YAML, JSON, protobuf, Thrift, Avro. Yup, these serialize "contents" rather than "structure + contents" but one gets interop with other technologies for free. Every tech mentioned above is so simple to use that removing Java serialization is a no-brainer.
That models movement in relativity in a logical 2-dimensional way, but doesn't show the 3-d visual effects like Slower Speed of Light does. It runs in much weaker machines though.
Netherlands of course, Spain as well
I was amazed to discover that oranges used to be called "noranges" but "a norange" was corrupted into "an orange".
Emyth
> This is akin to if an Islamic country suddenly stopped requiring the veil in public. Women in conservative Islamic countries typically suffer vitamin D deficiencies because they can't go out in public without being covered head to toe. It has significant negative health consequences.

Used to be Iran didn't require it [0].

One of the captions on that page ("to protect the achievements of women’s right in the [preceding] 70 years of Iranian history") made me curious, so I did a quick search and found something interesting [1]. Apparently, the liberation they were defending in 1979 was actually forced upon them generations earlier.

[0] https://rarehistoricalphotos.com/women-protesting-hijab-1979...

[1] https://en.wikipedia.org/wiki/Kashf-e_hijab
The table at the end of the article, showing roughly Teraflops as a function of year. I'd be interested to see a corresponding table for minicomputers, microcomputers and other desktop machines such as GPU's.
Yeah, compared to my contrived example, U and V were usually differentiated for typographical reasons and not perfectly interchangeable (kind of like the S and the "long S" that looks like a lowercase "f", e.g. in the phrase "Congrefs of the United States" in the original Bill of Rights).

Another weird gray area between ligature and letter are the "æ" and "œ" characters, which are mainly used as ligatures for the British spellings of "foetus" and "encyclopaedia" but were, at some times, seen as actual letters. American spelling reforms erased this particular weirdness from our dialect.
Can you rob the video card out of them?
Blockchain for business to business data circulation – LEMOCHAIN
I dunno about true character, maybe levels of maturity. Learning patience and dealing with stress comes with age. Anyone can do it.
In wikipedia and numerous references, I get the impression that EAs, evolutionary algorithms, are a huge and fuzzily defined field.

With Genetic algorithms, just one kind of evolutionary algorithm, the fitness, the mutation and the crossover function seem to require the implementor to look at the problem domain and "come up with something" whereas once you have a goal, gradient descent requires lots of tuning but is more or less defined, you can track how well you're doing and so-forth.

Perhaps there's something I'm missing. Pointers would be welcome.

Looked at:
https://en.wikipedia.org/wiki/Evolutionary_algorithm
https://en.wikipedia.org/wiki/Genetic_algorithm
I'm currently reading a used hardcover copy I picked up for a few bucks.

About halfway through and it's been largely uninteresting bureaucratic fluff, from the perspective of an engineer. This has been one of the slowest reads for me in a very long time. Normally I end up inhaling the books I read, this thing I can't wait to put back down every time I resume.
Indescribable feelings entrepreneurs go through