skysight-inc/HackerNews huggingface dataset:
There's a subtlety here. Total functional languages are necessary when the language is used as a general theorem prover via propositions-as-types (it is a common error -- but an error nonetheless -- to believe that totality has a non-negligible effect on proving correctness of computations; for all intents and purposes, the halting theorem still holds, as its bounded version -- which is what matters -- does not require self-interpretation for diagonalization). Now, for this to work, any computation that is represented as a function -- how computations are normally represented in functional languages -- must provably terminate, otherwise an inconsistency may be introduced into the logic corresponding to the program (this inconsistency does not apply when actual computations are concerned, only when the program represents a general mathematical theorem). However, computations may be represented not as functions but as monads, too, and introducing a monad that, while not implementable in the language itself, loops forever does not harm the totality that matters to theorem proving.
You can use mailinator.com to get a throwaway email account, or use bugmenot.com to make a throwaway <whatever> account
Individual daemons can be tuned with systemd-run/loginctl linger - but I guess posting snarky comments on HN is way more constructive than RTFM.
are you the guys who pay celebs to advertise that random social media app on their snapchat/instagram with taglines like "more on [social media app i've never heard of and a chance to talk to me"?
really amusing tactics that abuse the core fanbase's rabid enthusiasm for content from their favorite personalities. i never considered that the appstore is probably taking a lot of money from you too
Real UNIXes have long moved to systemd like stacks.

The preach of UNIX culture in GNU/Linux sounds to me like emigrants keeping long gone traditions alive from something grandparents used to speak about.
So then the ability to provide all three is even simpler?
And in the end, it won't make a difference for one remarkably simple reason:

Iranian leadership is ideologically driven. They're committed to maintaining their theocracy because they're genuinely convinced it's their right from God to control women.

(Distinguishing leadership from people because the Iranian people tend to be much more pro-western.)
This is the advice I give the junior devs I mentor. Write your code clearly and for other developers to read (yes that one-liner is clever, but refactor it so someone who just worked a 14 emergency deployment can understand it). Comments are for the why - quirky business rules, environment-specific issues, explaining an algorithm. Etc.
Markdown is simple and easy to read to coders, and others with (for a lack of a better term) mathematical inclination.

It would be really awesome if we could get the current "Word for everything crowd" to use markdown too, and assistive WYSIWYG editors are a lot more attractive to them.
Survival Skills for a Job You Detest
Posix Abstractions in Modern Operating Systems
In my case I actually meant both; I do host my own, and I've locked it down as a private instance only for my family. (I do this partly to play around and learn, but more so for me to teach my kid how to actually use social media but in a safe environment, before letting them loose on the public/uncontrollable silos.)

Here's a screenshot of some of the settings for restricting access on gnu social: http://imgur.com/a/gXy7y
The technical capability is there but my understanding is the sales volume is not present for speciality grades to be profitable.

It is basically an economy of scale problem unless you make specialised grades in large amounts (thousands of Tonnes) it is not economical. The market for that volume is not there.
I live in NYC and most of the Googlers I meet are from the Midwest or East Coast. It sounds to me like you happened to end up with an idiotic interviewer. I would personally chalk that up to bad luck more so than company culture.
DRACOs may be a cure for all viral diseases
I learned to code in a way that the variable and function names also would tell you the why. And otherwise the git log is your friend.

Tl:dr; i only do comments to excuse really stupid code.
"I haven't done any calculations but this is pure BS".

The article does contain calculations, which seem quite believable, e.g the 34 hour period of the oscillations.
I recall quite a few of these solutions letting you post to both the decentralised service and the likes of Twitter at the same time. So your old audience would still see your content, and (theoretically) be gradually encouraged to move over.
Whenever any censorship is done in the USA is the last few years, it's always under the guise of "stopping hate speech". They just take it upon themselves to define what hate speech is, of course. Many, many people have called for violence against Trump or Trump supporters on Twitter and have never been banned.

Azealia Banks, black female rapped who endorsed Trump was banned. Search #FreeAzealiaBanks

Conservative Writer Kassy Dillon, who also endorsed Trump was temporarily banned. Search #FreeKassy

Cristina Laila, who's 'hate speech' was speaking out about Islam's unfair treatment of women, was suspended by Twitter.

Sabine Raymonvile, a black cop, who's 'hate speech' was speaking out that blue (police) lives matter, also suspended. Search #FeeeSabine

Chuck Johnson, free speech advocate and owner of https://www.wesearchr.com/. Search #FreeChuck

@instapundit was also suspended.

Is that enough yet? It's not hard to search twitter for people being pissed about prominent conservative bans.
That may be true for 3D games. But for things like Dash, a documentation standard, I doubt it matters.
After supporting everything Windows under the sun since 3.11 I've grown to loathe it. I've been working with Mac OS and mostly Linux for the past few years and when I can avoid it I will not touch Windows anymore. Mostly for all the reasons already mentioned but also because after getting used to the "freedom" in Linux I just feel trapped whenever I have to do something on Windows. The only positive thing I can see is the Windows Core edition coupled with (the still improving) Powershell, but it's still not the same.
it is weird how you could ignore new startups, then use their products later
this is not just an app i like, i actually was going to build this, but when i saw it, i downloaded, tried it, then forget about it
don't be disappointing if small people are using it at the beginning, just keep improving it
How to Increase Productivity of Your Company with Payroll Software
If getting the right answer isn't adequate, what's the point?
-I don't know how to find (and evaluate) libraries in C

you can replace C with any language. you're evangelising about the toolbox you know instead of learning about the hammer you are familiar with and don't want to learn how to operate
Assuming typora uses electron-builder (which most electron projects do), then it's just a config setting for their build pipeline, yes.
Saying that HTC phones were ugly until the 1 series is judging past design by todays environment.

Back in the early smartphone days the HTC "chin" was the talk of the town. A bold design move that had people on the street talk about your phone. You could recognize it from a mile away, and the owner would always be happy to tell you that they love their chins.

The back of the HTC diamond is something we today will consider ugly and corny, but back then it was a really cool design.

Today's HTCs are pretty, but boring and don't stand out.
Hurm -- I just had Avira and Windows Defender flag it as unsafe. They both said they detected Adware/Filefinder.IL

Is that a common missed signature? Does it have a common pattern?
I switched from Emacs, had already read https://gist.github.com/nifl/1178878 a few months prior which got me REALLY curious about Vim. I was using Emacs Prelude before and spent vast amounts of time customising my Emacs.

Then coworkers suggested spacemacs after I talked about an Emacs/Vim hybrid and tried it afterwards, oh boy :)

The main advantages of Spacemacs, IMO, are its community creating good quality layers, the concept of layers itself (think of it as a group for a major mode and its associated minor modes - makes config a lot cleaner), running almost everything through helm-mode (which isn't fun to integrate that well yourself), and its space leader key (hence spacemacs) on top of helm-mode giving you self-documenting navigation through every single command.

So saving files becomes "space f s" opening files is "space f f" and if you idle a few seconds at any point helm-mode shows you all the possible options, so its very easy to learn gradually.

I gotta admit I jumped headfirst into its tutorial and when I had completed it went on to read the full Spacemacs documentation, so most of the the learning curve was rather easy over a week or two, yet months later I'm still learning new things :)
One of the best ideas I saw here on HN was someone saying that they will mentor their employees to add comments to their code exactly under one condition: you add a comment above it explaining why the comment below needs to exist.

That's a pretty interesting way to enforce some discipline in the commenting process, basically by adding some necessary friction into it (while also keeping it generally simple).

Curious if there are people who have tried this approach or a similar system, and how it worked out?
If you change code, then you should change any comments about that code.

Comments that don't match the code should be flagged in code review.
It doesn't matter how it's supposed to work. If it produces the wrong results then that's how it works in reality. After all if it's not working how it's supposed to work why not change it? If nobody is going to fix it that means the true intention was to produce that "wrong" result in the first place.

H1Bs are bound to the employer and a transfer costs $1k - $3k in legal fees. There's even an optional premium fee to ensure that it will be processed within two weeks instead of two to six months. Sure the new employer may cover this but it's obviously going to be priced in the salary.

Such a system pressures the employee to stick with their current employer even though it may be a suboptimal choice.
Not mentioned in this article is the effect that dynamic typing vs. static typing has on how you comment. It is common practice in Clojure, for example, to heavily document every function, because it is a dynamic language and there are no other obvious ways to indicate the types of arguments or the function's return value (though that is gradually changing in the language, but not entirely). This practice is so encouraged and standard in Clojure that all functions can be defined with language-standard documentation strings that become a part of the function definition, which can then be looked up at the REPL.

Some statically typed languages don't suffer from this particular problem of making types clear, so you will see comments less, and reserved more for cases where logic is hard to parse conceptually. But some static languages have a similar problem due to type inference, which causes commenting in the same fashion as a dynamic language.

I am of the school of thought that except for making types clear, the best way to comment your code is to make the code as clear as possible so that it is obvious without extra explanation. Often, you can refactor a clumsy or confusing piece of code in a way to make its intent clear.

But sometimes you cannot, and that's where comments come in.
To me, one of the greatest weaknesses of OpenBSD (and I say this as an avid OpenBSD user) is not having a system manager like solaris smf or systemd. Launchd is a pain to configure, so I don't really consider it a solution.

Opting out of systemd is hard because systemd is the only package which actually solves these problems reliably, and is enthusiastically maintained. Logind is the only maintained implementation of ConsoleKit. xinetd works fine, but it operates outside the loop of the system manager, which makes socket activated services harder to monitor and configure and prevents them from being started before xinetd itself.

Say what you will, but systemd is relied upon because if they didn't rely on it, the functionality they need would not be found elsewhere.

I think these are all growing pains. As the system gets more complex, we are starting to realize that we can't afford to maintain two or three wrappers and sets of configs for the device manager process; we can't afford to maintain a handful of different metadata-enhanced logging systems in each daemon; we can't afford to maintain adapters and configs for a bunch of login managers. This is exactly the same kind of pain which made portable UNIX an overnight commercial success. People yearned not to have to maintain a port for every computer they run on. Today they yearn not to have to have to ask five daemons different questions for the same answer.
I am comfortable in the JavaScript universe.

Are you comfortable in the JavaScript universe or in your JavaScript universe?

While I'm reasonably comfortable writing JavaScript on my projects, I feel that if I where to walk onto a random JavaScript team I'd have no idea what was going on and equally if a random developer where to pick up my JavaScript project the first thing they would do would be to re-write everything to conform to their 'universe'.
With Linux that's trivial to know.
There are two problems:

1. Totality doesn't guarantee that your program would actually terminate. A program that loops 2^100 times never terminates, yet is provably total. It is possible that empirically programs that are proven total turn out more likely to terminate, but in that case there is no need to enforce totality everywhere. You can prove termination whenever you like.

2. Proving totality can be extremely hard (yet another reason not to enforce it everywhere). So much so that Xavier Leroy, the world-expert who wrote CompCert, the only real-world, non-trivial program ever written in Coq, found termination proofs so difficult that he skipped them in CompCert, instead inserting a counter that he thought would suffice and throwing a runtime exception if it ever runs out before the function terminates.

As to total programming languages, safety-critical real-time software sometimes makes use of languages that are finite-state-machines, a far more restrictive model than Turner's total language. Nevertheless, bear in mind that even for FSMs, program verification is not generally tractable. How easy it is to verify a program depends almost entirely on one thing: how simple your algorithm is. All sorts of linguistic restrictions or safe runtimes can help prevent very important classes of bugs (like memory safety) that are local program properties, but do very little to make the cost of more global, logical properties affordable (which isn't surprising given that even the most restrictive computation model, the FSM, doesn't yield generally feasible verification).
The Actor Model in 10 Minutes (2015)
Any examples? That sounds like it might get awkward when it comes to reuse.
Obviously. Just look at the encryptions of any other facebook owned software.

They just add encryption because it is a useful buzzword for the masses. And non techs may somehoe feel safe.

In the end any of their encryptions is worth nothing without public audit anyway.
This maybe true, but it is a sign to the rest of the world that type of behavior is not acceptable. This act may not change Iran, but it may well help change many other places.
No one wants to look through a lengthy git log to find the reason something was done to a particular block of code!
IMO there are two legitimate places for comments:

- Public facing APIs where you're very specifically clear about how something works, to be consumed by people who don't intend on or need to read your code

- Explaining away seemingly weird code, odd choices, things new developers might think are mistakes but aren't, choices that may not on the surface appear to be important for performance, or solving edge cases etc.
Well for me it doesn't really seem like that. I want all the things in coreutils. I don't want all the things in systemd, and I don't want unnecessary inter-dependence between them (e.g. udev, journald etc).

I find these kinds of discussions a bit strange. I don't want it, it's made my system both less stable and less easily to hack around with. So I'm not going to use it. If you like it, go for it!
Yes, if data can be used to potentially locate somebody, like a combination of zipcode, birthdate and first name, it is considered PII (Personally identifiable information) and those strict policies would apply.

I'm responding to a comment that said trusting Google == trusting ALL Google employees, which is not true. Trusting Google with your data is believing that having some convenience (a mail service like Gmail, an intelligent assistant, etc.) is worth the risks you are talking about: Google drastically changing their policy, or being bankrupt and acquired by less scrupulous owners, etc.

Let's not just act like anybody at Google can look at your data and play with it, or a disgruntled employee will suddenly click a button and release all users' data on pastebin...
It is possible and better to use Android without Google, and more
That would surprise me at some point. Kind of counter intuitive. Good to know, thanks for the info.
How to create readable code that explains itself should have more focus. It's not just about naming classes, methods and variables, but also about structuring your code. It's quite possible to create a method with the perfect name that is over nine thousand lines long and difficult to understand.

This can be very subjective, but code complexity metrics can help identify problem areas. I find that areas with high complexity often benefit from refactoring into smaller pieces making it more readable and self explanatory.

If you can't structure your code to explain itself, perhaps commenting isn't such a bad idea, at least it would be a record of your thoughts at the time, until someone else comes a long and hopefully cleans it up.
7 Criteria for Selecting Mobile Application Testing Tools for Your Business
I have up on Windows because of defender. Can't turn off. Registry hack let's me turn off till next patch. Then it's back. Current PC will be last windows PC I ever buy.

All I lose is games, but will stick to PS4 for games. For anything else my windows PC is dead to me.
This is an awful position, and I absolutely urge people to read the linked article, that was wrongly/partially cited:

https://www.theguardian.com/world/2016/sep/30/boycott-of-wom...

EDIT: it seems my point does not come across.

I will cite the american chess champion: "I will NOT wear a hijab and support women’s oppression." Women's oppression in Iran is not just about the hijab. It's about women not being able to do what they want. This boycott is going to have strong, negative, repercussions on women sportsmanship in Iran, which is what the Iranian chessmaster said in my linked article.
And a comment explaining why is especially useful when the code is a bit more dense and hard to follow - which is unavoidable at times.

IMHO, your default mode should be to not to comment because you should instead focus on 'code as comments' - the code should be easy enough to read that it explains itself. Occasionally (for the reasons you pointed out) you need to fall back to english prose to explain those 'whys'.
Callbacks First, Then Promises
This isn't accurate. You can certainly write iOS apps and distribute using the Enterprise distribution mechanism for a number of use cases.
Show HN: Free and easy geoip API thanks to Cloudflare and Heroku
One more justified case for commenting is in my opinion when you have to work around some bug or specific behavior of 3rd party library by doing unusual construct.

If you comment that part, it will be much easier to read the code and avoid changing such construct. I know it should be covered by tests anyway, but it will save some time for your coworkers.
> no one still has come with a golden response

SMF or Nosh
Isn't a short comment a much quicker method to get why something has been done that way instead of having to check git log? Also, if you rely on git log for that, don't commit messages become unnecessarily long and detailed?
pre-market it's down ~17%, so I think you missed your window.
> creators have rights that can not be removed (not even voluntarily) before that.

Doesn't that defeat the purpose of licenses? The principle of a license is exactly giving up rights on copyrighted work.
Why Aren't You Blogging Yet? Tips for Getting Started
I've been using this project on GKE for ~2 weeks now in combination with the nginx ingress controller.
I have it configured to use the DNS challenge to get new certs so I don't have to expose an extra port as well.

It feels liberating to just get an SSL cert for any subdomain I need and have the whole process abstracted from me.
No idea, to be honest. I'm not really using Windows actively any more, but complaints about heuristics detections crop up all the time.

EDIT: I've just uploaded a test electron binary I made myself to see whether it triggers on all of them. 0 detections for mine, but mine are always digitally signed. I'm not sure whether and how that affects heuristics, but theoretically it should.
It's the future (original 2015 article on the state of JavaScript)
Disney paid $4B for Marvel which had an easy path to profit because of Disney's background. Disney paid $4B for Lucasfilm which had an easy path to profit because of Disney's background. As a shareholder I would be offended if they made an offer even half those prices for Twitter which has a product that isn't even in Disney's wheelhouse. I am confused why Disney is even in this conversation at this point.
Names are exactly as easy to not change at comments are.
I tried 3.1 for a couple of weeks and thought is was OK but not great, then I wanted to install TeX (emTeX) and didn't have the disk space for both, so back to DOS. By the time I could afford a larger disk I had discovered Unix and never looked back. My computer has always felt like my computer.
The people that make these suggestions don't do code reviews.

I'm sort of surprised that the argument wasn't based upon "the principles of DRY"
These aren't even in the same league of similarity. Dumping chemicals harms society -- even those who are not participating in a particular market. Apple dumping a dev? Not even remotely close. A company should have the right to terminate a business arrangement provided the terms of the contract governing such an arrangement are upheld.

Imagine it this way: you are a contract developer, should you have no right to terminate a contract with a client under the terms of the agreement? Almost every contract I'be ever signed as a developer has some form of "either party can terminate this agree with <some days> notice."

From what I am reading here, we want to hold Apple to different rules than the ones we ourselves routinely follow?

I get it: Apple should give the guy an explanation. However making laws to require it? That's absurd. Should there be a law that when a girl (or guy) doesn't accept a dinner invitation that they provide a valid reason? That's really what this comes down to. And no, Apple isn't a monopoly. This company can still sell their products, just not at that particular store.

I feel bad for the situation, but extending government power into private business relationships is a bad idea. Contract law already covers this.

Society isn't harmed by this company not being able to sell on the App Store. This isn't dumping chemicals into rivers or denying service based on skin color.

If the developer was wronged, he could file a lawsuit. However given that the contracts governing the relationship were known in advance, the situation is just the realization of the risks inherent in doing business.