skysight-inc/HackerNews huggingface dataset:
Well, you're not only making it easier for your colleagues in marketing to be able to make a code change (hey, it happens more than you might think!) but you're also making it easier for your future self to come back to the code base without having to remember as much.

Most important, though, you are structuring the code in a way that provides better actionable understanding of the intent not only to the humans that work on it, but also your intrepid robot buddies, the Swift compiler / static analyzer. Who happen to be extremely helpful allies in this particular language.

In Swift, I would recommend using dedicated types like AccessToken and RefreshToken, instead of plain strings, 100% of the time.
>But, dear people that do this, I'm afraid you appear not to have noticed that portability is your job, not platform vendors'.

That's rich. CPU manufacturers ship C compilers and virtually every operating system other than Windows provides a POSIX interface (and in fact, so did Windows at one point!).

Consider the math; if the platform supports portable interfaces then the vendor did a small amount of work to support a large number of programs. If the programs support the platform then a large number of programs have to do the work to support a single platform.

Windows is quickly losing what little relevance it has left. Today's most relevant platform is the web and end users are accessing it on their phones - and we both know how Windows for phones ended. Windows Server is a bad joke and the servers which power the platforms of today are run on Unicies and programmed by engineers on Unicies. Windows is dying quickly and is simply not important anymore. What few end users they have left are being driven away to Chromebooks and Macbooks by unwanted updates, advertising, and a non-stop barrage of annoying bullshit.
Most of startups fail miserably. Some become extremelly successful.

That's what Macron wants for the country he manages?
A related theory i've heard is that of the "central bank bid": the idea that we now know that if asset prices collapse, central banks will step in and buy enough to prop prices up. That means the downside risk of those assets is much less than it would seem, and investors therefore demand lower returns from them.
The W is called "double-u" because it dates from the era when U and V were the same letter (the consonant and vowel versions diverged) and there was no W letter, but only a doubled-U. The phrase, "I want a veal sandwich on Tuesday" would have been spelled, "I uuant a ueal sanduuich on Tuesday" (or, alternatively, "I vvant a veal sandvvich on Tvesday"). This is also why u, v, and w are consecutive in the alphabet.

This is similar to why the & character is called "ampersand"--it was originally considered a letter, and instead of the alphabet ending in "x, y, and z", it ended in "x, y, z, and per-se 'and'".
Any assertion backed by data from the Ponemon Institute is by definition bullshit.
FYI if it's the bits/atoms treatment you're specifically interested in reading about, it goes back to at least 1995 from Nicholas Negroponte.

https://en.wikipedia.org/wiki/Being_Digital
> The answer is that the -s plural is from the Vikings/Norse

Which is interesting, because modern Swedish has an -n plural (among other plurals) and no -s plural. Compare ögon (eyes) and öron (ears) with their old english eyen and earen. I guess it would follow that Swedish had a lot of Angle Saxon influence in its evolution.
How to Start Plantain Farming in Nigeria: Beginners Guide
I agree, and consider code without comments to be unfinished work, but writing code without comments is not the thrust of this article.

It's just writing clearer code, structured to make more things utterly obvious (to the human, but in many cases also to the compiler).

Code written like this will still need some comments/documentation, but it won't need as much because more things will be completely obvious.
I am definitely interested in something like this, please let me know if/when it goes up.
I want one as a jigsaw puzzle!
Related: https://news.ycombinator.com/item?id=17058189
I've also seen "data point" used when a singular form is required. I think in common usage, "data" is a mass noun like "mayonnaise" rather than a plural.
Does personal experience count? (note also that I indicated that ultimately all of this is just my opinion). Personally I find I mostly end up creating bugs when I don't have a clear enough image of what the proper pre-condition to a loop should be and what its post-condition should be. I therefore believe that code that by its very structure can't easily be assigned pre/post conditions would make things quite difficult. Post-conditions also tend to make it easier to reason that the code is correct (provided they are documented).

As for the Monad quote, well it's use is somewhat limited in Python, however returning a 'trivial' result rather than an exception usually ends up being easier to work with. Which is appropriate varies though, and in Python there's not much reason to avoid exceptions for performance reasons anyway.
The trend of crappy posts from Percona continues they must want attention suddenly.

Percona was best at consulting; their DBA's were worth it. The software maybe close to irrelevant now but not their DBA's.
Much of that has with miniaturization.

Those massive tapes had downright abysmal storage capacities by today's standards.

And binkenlights vanished when ICs could switch so fast that the human eye would just see a steady light (much like we can't see a fluorescent lamp blinking).
I meant neuter! I studied German for three years in school, but my brain got its wires crossed there for a second.
A lot of matrix routines will have sparse matrix support. Though often the line between wanting a sparse matrix and wanting some kind of adjacency-list graph structure can be pretty fine...

Also, only tangentially related, but if you can change your problem formulation to make the matrix of interest sparse(r), that can be a huge win. Two things that have helped me in the past:

- Rows or columns that have mostly the same (nonzero) coefficient throughout. You can normally do some simple substitution to turn them into zeros.

- Rows or columns that are naturally very similar to each other. You can often replace `y` with `y-x` or replace `x[i]` with `x[i]-x[i+1]` to turn one (or `n-1`) columns "mostly empty."
https://news.ycombinator.com/item?id=17161890
This is a key point. The problem is significantly worse because of Java's "everything is an object" philosophy. In languages where data is just data and not a combination of data and behavior, you don't get this kind of problem.
Article misses the broader context. This is from the Germanic roots; existing Germanic languages still have this as a predominant pluralization pattern. German: auge (eye), augen (eyes).
I was lucky enough to play some of their demos in person recently. I was really surprised by the performance (even in VR). I feel like there are at least a few real-world applications that could benefit with regards to visualization. Particularly "organic" stuff - I noticed that voxels were able to capture details like skin wrinkles and anatomy really well (they demoed a beating heart captured from a CT scan).
https://news.ycombinator.com/item?id=17137174
Interesting how people's intuitions differ. For me hiding yet another . method that requires discovery is more burden on the human. I'd rather reach for map/filter => processing.
You forgot:

0) an abstract.
Looks like they just formed a real company https://www.atomontage.com/blog/2018/4/5/atomontage-inc-laun....

One of their investors is an MD specializing in imaging. https://www.atomontage.com/#team-section That'll be their bread and butter.

I always wondering if the community picked up VoxelQuest https://www.voxelquest.com/ and ran with it, but last I looked that wasn't the case.

I'm too old to do serious graphics programming, but might be interested in a voxel engine written in C# with a good community.
Sorry I wasn't trying to undermine the power of unions and what it did for the population in the last decades. I grew up in Europe. But also grew frustrated by the impossible situation it puts startups in, to achieve anything and remain viable.
I just turned 30 and the self criticism has gotten stronger. Mostly, I think, because I feel like time's running out to get adult things done like buy a house, get married, etc.
Too bad their Damascus steel entry didn’t go into more detail about the material or technique, only the water composition it is tempered in. There are interesting references to the origin of various qualities of steel and what shape they are in.
The DMCA does not magically apply extra territorially.

It’s applied through an established legal framework either through bilateral trade agreements or through WTO rules.

The majority of copyright enforcement outside of the US has nothing to do with the DMCA but rather copyright holders using local legal frameworks.

The problem with the GDPR is that it’s extraterritorial application as expected by the EU is also extrajudiciary.

I would have no problem with the EU seeking ways to expand GDPR through new legal frameworks which the people that would be impacted by these changes can actually control through their own political system.

What I have a problem with is the EU essentially forcing compliance through extortion and sooner rather than later it will employ the companies that the GDPR was in spirit intended to protect us from to enforce it.

I don’t see the EU being able to enforce the GDPR even internally without essentially deputizing the likes of Google, Amazon and PayPal to enforce it across all of their customers in order for them themselves to be compliant.

Even with the fines possible under the GDPR the EU can not enforce compliance by targeting 100,000’s of small companies without going essentially bankrupt.
It can however effectively target the big ones and worse make it impossible to operate within the EU without using their “GDPR complaint” platforms.

The GDPR might be a great thing on paper and even in spirit but the uncertainty and the inability to enforce complex regulation on a mass of small entities would likely cause it’s real world repercussions to be quite different than from what was imagined or intended.
When I thought about this, I first agreed, then I thought that from the perspective of the interpreter it is else as in checks the condition and then goes to else if the condition is false. So I think it is not so much unintuitive, as it is consistent in a not immediately intuitive way.
You might like to look into TMS: http://www.tmswiki.org
Because the software controller uses Windows system calls (SetupAPI & DeviceIoControl()) and not DirectInput. Can't do it in hardware for the reasons I mentioned in the op.
A full implementation of the attack on IOTA's hash function
The Hope Conference link you posted is very informative. It is maybe one of the most detailed discussions I have seen regarding LinkNYC. I would highly recommend watching it. The Voice article is excellent as well. Thanks for sharing.
Snowhash in Rust with Wasm
>>By some estimates [0] Millenials are spending just $20/day!

You may have missed the word "less": "By some estimates, Millenials are spending $20/day less than they were in 2016." The Gallop Poll[1] referenced in the Business Insider article shows that avg. spending by adults aged 18-29 was $93 in 2008 and $74 in 2016.

[1] http://news.gallup.com/poll/215618/young-adults-report-spend...
What I am betting on is precisely that reluctance of the populace to stomach brutality. Whatever political victories are achieved through escalating violence are ultimately empty until a fundamental rejection of brutality is achieved.
The end of this video appears quite stable. But there were tons of lengthy stable periods prior to that!
The book The Unfolding of Language[1] describes the forces that shape how language evolves. One is extending the use of a pattern (e.g. "en" for plural), even in cases like this one where it wasn't technically appropriate. Another is the use of metaphor. E.g. "discover" used to mean "to remove the cover of", but now its meaning is purely metaphorical and the literal meaning has been mostly lost. Another is laziness: slurring long compound phrases together until they're effectively one word. A lot of conjugations/declentions are a result of this. I recommend this book if you're interested in how languages change over time; it's very well written.

EDIT: Another fun fact is that words sometimes begin to mean their _exact opposite_. For example, "wicked" used to mean "evil", but in England (and elsewhere, but especially England) it's started to mean "sweet".

And there's always the great consonant shift:
https://en.wikipedia.org/wiki/Grimm%27s_law

[1] https://www.amazon.com/Unfolding-Language-Evolutionary-Manki...
I don't think that's a good analysis or refutation of what actually happens. What actually happens is the formation of political parties: All the candidates on the "left" would prefer that anyone on the "left" wins over someone on the right, so they merge into a single candidate in order to ensure they have the winner. The other "side" does the same. But then, given that there's only one candidate for each side, they get pulled toward the center as describe.
All floating point integer operations with values smaller than 252 are exact. Most floating point operations with small values with few significant figures are precise.

Fraction, and there are fractions like 1/10 that cannot be represented precisely in base two, much like 1/3 cannot be represented precisely in base 10.

Beyond that, there's the usual issue of pushing out the least significant bits, but that's insurmountable while working in finite precision.
Bones – A simple Scheme compiler for x86_64 systems
Yeah I get that it can be useful, but I just don't like ending a loop in two different ways. It just seems too easy to end up writing something like:

for x in sorted_list:
if x == to_find:
print("found")
break # we've found a match
elif to_find > x:
break # match is not possible
else:
print("not found)
You're right, it was introduced in 1.1 (February 1997)
Grammatically plural nouns denoting single objects is something that occurs in multiple European languages (and perhaps others), not only English.

English French Slovak
pliers pinces kliešte
pants pantalons nohavice
scissors ciseaux nožnice

All plural. The singular "kliešť" exists, but it refers to an insect: the tick. The word "nohavica" is used when referring to just one of the pant legs. (E.g. one being rolled up, getting wet, or being sewn differently, or other such contexts.)
Here's my version targeted for the original 8080 hardware, in C: http://8bitworkshop.com/v2.1.1/?platform=mw8080bw&file=game2...
Is there a specific area of interest here? Are you working on anything in particular?
> As someone that has done both, you might be right.

I don't think he has done both. He wouldn't have asked in such a case.
Yea, I was surprised to find thriving Latin & Esperanto Wikipedia groups.
I like it! Makes perfect sense, it's short, and since then "belongs to" the for, it makes sense for a break or exception to break out of both. On the other hand, under your suggestion someone still has to learn the meaning of then, it's not fully explicit. Since "Explicit is better than Implicit", if we are not optimizing for brevity I have these two suggestions that are more explicit alternatives to your then suggestion.

--------

Suggestion 1 (horrific suggestion):

Call this keyword finally. This implies that no matter what the finally part will execute. This is like defining never as a synonym for true, so that if(never) always executes. Why would anyone ever do that!! Hardly any choice in a design is as bad as explicitly saying something different from what will happen. So this is a terrible suggestion.

--------

Suggestion 2 (good suggestion):

Call this keyword ifthru. (Thru being an abbreviation for through). As it says, this one will run if the loop completed. Another way to read it is if execution continued "through" the end.

So your example might read:

for i in l:
print(i)
ifthru:
print("iteration finished without breaking or exceptions")

This is extremely explicit about the condition. I picked it to be short while remaining explicit. The elif keyword is an existing precedent for mispelling for the sake of brevity.

It also alerts the reader that logically there is a condition here. After all, semantically every block could start with the "then" word in English. Semantically, when you break you could also be considered to be "through" however in this case the ifthru keyword wouldn't serve any purpose at all, since it could just be on the next line. The "if" alerts the reader that there's a condition here..

I hope you'll agree that my second suggestion is pretty good :)
And Ireland is ‘ruled’ by Michael D Higgins, who has a similar role to Steinmeier, rather than Leo Varadkar, who has a similar role to Merkel. Odd.
The way I explained how "else" pairs with "if" in preceding inner block is more of a mnemonic device than anything; "logically" was probably the wrong word.

Python is probably not as simple as some like to claim, but this is not really any kind of special case. To have a special case, you need to have a normal-case behavior that is then broken: for instance, a function f(n) that "computes the factorial of n, unless if n is 1 in which case it returns 42" contains a special case, because n = 1 used to have a normal-case behavior of f(1) = 1. Special cases require the user to learn of its existence, or they will be bitten by it.

In this case, there isn't any special-casing: the support for "else" after a "for" block doesn't have any predetermined "normal-case" behavior. In most other languages, such a construct is simply not supported. Python adds a new behavior here without breaking any existing behavior.
That's a good point! Because the compound noun rules in English normally call for all nouns, other than the head of the noun phrase, to be singular.

This applies to the singulars that denote single objects too: scissor lift, pant leg; not scissors lift or pants leg.

According to this principle, it should be datum point, where only the head noun point may be pluralized.

"Datum point" exists, but I've never seen or heard it in use; it's just a "confirm by Google".
In a sense, raise/except is a goto.

Go-lang decided against exceptions in part because they are equivalent to gotos.
Accenture and PwC et al show there's unicorns in consulting, but not many.

There's also the in-between/both approach - Oracle and Salesforce are both "Here buy our shit!", followed up very quickly with "Here, you need our services department and a support contract to make that shit work".
Building a WebRTC Video Chat Application with SimpleWebRTC
https://twitpic.com/4a52sh

A survey on this feature was done at Pycon 2011. Maybe things have changed since then, but at the time, most people didn't understand what for/else did.

I think it's a bad construct because, as many have mentioned, a lot of people make the commonsense interpretation that the else block will only execute if the for block did not.

Note, the link above come via Jeremy Avnet in the comments of this blog post.

https://nedbatchelder.com/blog/201110/forelse.html
I too, have issues from my childhood that have driven self-criticism. Over the past 18 months I have been able to put those things behind me.

For me it was, and is, all about my faith. This article doesn’t acknowledge that aspect of healing, but this has been very real in my life. I’d recommend reading the book Wild at Heart by John Eldridge for anyone curious.
> However I'm struggling to find a use case for the python for-else definition where you don't end up doing something like 'result=something; break' anyway. What would be the point of breaking if you don't have any results? And if you have such a situation, wouldn't an exception make more sense?

This is also useful for an accumulator and sentinel case. Say you're parsing a file and need to grab a null-terminated string:

result = ''
for b in file_bytes_iterator:
if b == '\0': break
result += b
else:
throw ValueError("String is unterminated")

result will contain the parsed string, and file_bytes_iterator will be ready to return the first byte after the terminator, to continue parsing the file
You also don't get this behavior if you restrict the scope of serialization. The problem here was that Java wanted to make virtually any object potentially serializable. This required all sorts of deep hacks that circumvent various language guarantees and open the door to vulnerabilities (as well as encumber new features, as serialization could interact with anything). A new serialization mechanism would be restricted to classes for which serialization makes sense, basically classes that, as you say, represent data rather than data with complex behavior.
Abstract: In all theories, psychedelic drugs are mind revealing.
Distributed App Deployment with Kubernetes and MongoDB Atlas
I hope I'm not alone in feeling I've spent a fair bit of time with negative or doubtful people who take a passing interest in my positive unreasonableness.

Cultivating, maintaining and protecting a healthy and positive inner dialogue is so important, as is avoiding doubt worshipping. It's interesting the type of negativity that positivity attracts.

Recognizing doubt worshipping is incredibly beneficial to learn to recognize.

Little by little, aware, or unaware, doubt worshippers spread seeds of doubt, attempting to validate and plant their own self-doubt by projecting their interpreted self-doubts on others. Some seeds of doubt eventually sprout if they make up too much of the energy and mindset around us.

Many doubt worshippers take things very personally even if someone seems happy or is stretching their own boundaries. Society in many ways supports seeking external validation before inner, and buying back our self-worth through many external forms.

I try to surround and anchor the world around me with as many creators, who are creating, in as many ways as possible. It's helped me to remember that innovation can only exist in a mindset of possibility, and keep a buffer between the negativity that can be around.

People who hang onto positivity much longer than most are also great to learn from. Many have learnt how to demonstrate being genuinely happy or supportive of others - something that doubt worshippers don't do for themselves.

Among doubt worshippers, self-criticisms can be found presented as rational thought, skepticism of thought or logical behavior. One question that reveals individuals practicing negativity is: Does it mean there is no understanding of something if a someone hasn't understood it yet and chooses to be skeptical? It would be interesting to explore if faithless cynicism really is productive.

There's a big difference between thinking less about yourself, and thinking less of yourself. One frees you up, the latter can debilitate.

We all can identify behaviour like this in our lives, and sometimes in ourselves. There's benefit from trying to be aware of this. I don't have any answers or desires to change the behaviour of others, only to be able to be free to be as hopeful, and positive as someone else might want to be doubtful and self-defeating.

Learning how to push forward, with incremental and additive effort is much different than pushing yourself through self-criticism.

It's nice to learn to genuinely not give a f about what the world thinks, only what you think, and how well treat yourself, and as an indicator of that, how well you treat others. By setting our own bar, haters often reveal themselves to be doing little themselves and will see what they want to no matter you may want to show.