skysight-inc/HackerNews huggingface dataset:
Oh, you are right that finite-state machines make automated verification easier (assuming that by Turing machine you meant Turing complete). However, some people are under the impression that other sub-Turing-complete languages (in particular, total functional programs) are easier to verify than programs in Turing-complete languages. This is false. The only class of languages that are practically "easy" to verify are finite state machines (well, if you call being PSPACE-complete easy; even that is exponential in the program's size!). This is easy to prove (in fact, it is a simple corrolary of the time hierarchy theorem and its proof). In particular, it is trivial to show that the problem of verifying a program in a total language is harder than any problem with a computable complexity bound, i.e. it's complexity is non-computable, i.e. it has "busy beaver" complexity[1]. I'm giving a talk on this precise subject next month at Curry On (http://curry-on.org/2016/sessions/why-writing-correct-softwa...)

[1]: The difference, therefore, between verification of Turing-complete programs and total programs is that the cost of verifying the former in the general case is infinite, while the cost of the other grows like some function that is larger than any function we can ever compute. From the perspective of computing power, both are equally beyond reach.
Is this related to this CPU from ~2006: https://en.wikipedia.org/wiki/Kilocore ? (at least the name is the same and IBM is involved again). After searching a little bit it seems they only use the same name because of the 1000 cores (kilo). The previous chip seems to be related to carnegie mellon.

EDIT: the original source from uc davis: https://www.ucdavis.edu/news/worlds-first-1000-processor-chi...
If it were worth $8 per month to someone else, but not to forgottenpass, that person could just pay forgottenpass $8 per month (or some lump sum equivalent). That this does not happen suggests one of the following possibilities:

1. The domain name is not worth $8/month to someone else

2. The domain name is worth $8/month to forgottenpass

3. The market for domain names is inefficient
Peanuts are called peanuts in the US too.
I initially used Kotlin for a project at work, and I would agree that it is underwhelming. Pivotal had announced official support for Kotlin with Spring Boot, which is what motivated me to give it a try. However, there was no support for the @Transactional annotation in Kotlin at the time, so I ended up writing a decent amount of Java anyways. Then there was a compatibility issue with one of our internal libraries, and I had to rewrite all of the controllers in Java. By the time the project was finished, the majority of the code was in Java, and I hadn't really gotten any benefit out of the Kotlin, so I decided to just use Lombok and replace all of the Kotlin code with Java. My builds got about 3 times faster after that because Kotlin seems to have performance issues with Gradle.

The 1.1 release is promising many features that make me want to revisit it, though: https://blog.jetbrains.com/kotlin/2016/04/kotlin-post-1-0-ro...
I recommend you to build a content management system for a desktop environment.
160 hours a month * ($15 new minimum - $7.25 federal minimum) = $1240 increase in monthly income.

You usually need 3x income to qualify for an apartment, so I would expect people to qualify for $400/month higher rent, changing to $800/month from $400/month on minimum wage.

If people on minimum wage rent a 3-bedroom as roommates, it could cause the price of a 3-bedroom to raise up to $1200 or a 2-bedroom by $800 if 100% of candidate tenants were roommates on minimum wage.

The effect would realistically be lower. The article mentions people on fixed incomes like social security, which of course are going to be priced out. It also wouldn't matter for people who already made $15/hour, unless their incomes increased at the same time.

You could tell which is which by looking at rent for mobile homes. You usually rent the land there and park a mobile home on it that you own. If the cause is minimum wage increasing, I would expect to see the land rent for trailer parks increase. If the cause is techie yuppies moving into the neighborhood, I would expect the trailer parks to be bought out by investors and developed.
People Are Beautiful for Their Achievements
> I have no idea what exactly is being discussed there

Criticizes it anyway .. something something JS is bad. Thanks for your high level input.
re Teamviewer: http://blog.trendmicro.com/trendlabs-security-intelligence/u...

It's our responsibility to not configure hard to secure and easy to exploit remote access on friend/family computers but use on demand solutions instead.

If you need always-on remote access, then it's a requirement to secure it properly, and I will argue there's no need for always-on remote access on friend/family machines. Those aren't usually online anyway, so there's no hurdle to know beforehand and exchange the access token.

That said, I don't understand why anyone would trust an intermediary with access to their computer. Do they have a contract in place to expect a certain level of support and security? If not, there's no explanation I can think of.
Here is what exactly happened
https://www.reddit.com/r/ethereum/comments/4os7l5/the_big_th...
Here is the last line in his essay:

intrinsic limitations of the human mind and approach the task as Very Humble Programmers.

The ironic thing was he was not very humble. He was pretty mean to a lot of people. He had a pretty massive ego.
Advanced programming languages (2009)
Busty Lesbian Nina Elle Fucked by Cameron Dee
It is interesting that when I considered next language to write a side-project in, I was choosing between Ceylon and Kotlin.

In the end I did choose Kotlin. My reasons included:

* support in IDEA

* focus on java interoperability

* nice interop with android

but the main thing probably was, that I trust JetBrains that they will support Kotlin in the long term, while I don't think RedHat has any projects depending on the language.

So, why would you choose Ceylon?
/disclaimer/disclosure/
<<< Because most of the logic is run by peers, its the peers who decide how the system evolves, not the original designers. >>>

I think it is the misunderstanding of how decentralized applications work. The seeds decide about nothing during runtime. In an ideal scenario the seeds execute the application without being able to make any decisions terms of the business logic. That's how the trust between seeds can be established by executing the common functions i.e. Bitcoin mining or performing the Ethereum smart contracts by executing the application.

The issue is, we do not want the peers decide anything or be able to modify anything term of business logic. The objective is that all seeds execute "the" honest, published version of the software. Because such cannot be guaranteed, fundamental security issues exist in decentralized computing, some node can act dishonestly, and therefore vulnerability to 51% attacks and Byzantine Generals Problem exist.
That would be awesome! Thanks for the idea.
It's mostly tech money and foreign investors.

In addition 15$ hasn't taken full effect yet, it is a steady increase to 15 and will only reach that target in a few years.
You could use https://ngrok.com to expose the ports.
Why I love basic auth
> A Palantír is a dangerous tool, Saruman. They are not all accounted for, the lost Seeing Stones. We do not know who else may be watching!

It's weird that this story is considered newsworthy. I skimmed over the article and it looks about normal for the industry. As sad as it sounds, they aren't doing much worse than many other companies out there.
Calling out all seeders
The Muse (YC W12) is hiring fullstack engineers – Reach 50M users
I'm mixed on your views, I agree with your math problem analogy, but I think there is general advice - just as there are general properties of numbers - that can always lead to better financial outcomes if people abide by it.

For instance, what I've always done and it has worked very well for me is the following:

1. Maintain constant revenue stream, even if work is part-time or all you have is just an investment paying dividends.

2. Never purchase anything you can't pay for in cash at that moment.

3. Try to save 10% of your income every month - even in low income months.

4. Don't be wasteful and don't blow money on "small crap" you don't need. i.e. junk food, fast food, trinkets, taking unnecessary trips or riding first class, leaving devices/lights on in your house, gym/any memberships or monthly recurring fees you don't absolutely need.

5. Finally, don't purchase things on a whim.

I've tried to live by these rules my whole life, learned them from my Dad, and they've worked very well for me. I spend money, but usually only for high quality things I research into for a long time before purchasing, like a piano, a plot of land, tools, etc.

I have zero knowledge of actual research into personal or home finance so this example is just my gut intuition based on personal experience, so just view it as a biased anecdotal opinion :)
There's more to engineering than building bridges. Would you discredit electrical engineers, for example, because PCBs aren't hydroelectric dams? While I generally agree with your rhetoric that software engineering is perhaps not as disciplined, it is still a legitimate engineering discipline, imo.
If Brainfuck had the marketing dollars that Typesafe spent then you would see real-world shipping Brainfuck projects. It wouldn't make Brainfuck a good language.
What's the difference between this and jQuery autocomplete (or similar things) ?
Somebody has told me, that this would be bad because "something" (I think entropy?). I didn't understand that.

Can somebody with sense please explain if this is a good or bad idea?
"Civilization" has pretty much always failed at addressing big inter-generational problems.

That was my takeaway from visiting Mesa Verde in 1972 and I haven't seen an example to contradict it yet.
Ethereum already seems to be kind of a complex system and all the suggestions in the article sound awfully like trying to put a few layers of patches over the known weak spots. Especially attempts to prove properties of contracts will likely soon make contact with Rice's theorem [1] or require giving up a lot of the expressibility of the used language. The article also points out that there are unsolved hard problems at the very foundation of smart contracts but then kind of ignores that. To me it seems that what is really needed is thinking again about the core ideas, not patching some code issues.

[1] https://en.wikipedia.org/wiki/Rice%27s_theorem
I've stayed in 22 places of which about 1 out of 4 has lied about their accommodations. One place claimed internet included, turned out they were stealing it from a neighbor and it only worked if you sat the the side of the sofa closest to the window. One place claimed 1 bedroom but was actually a studio with a wardrobe used as a separator. The difference between a 1 bedroom and a studio is whether or not there is a door to shut out the noise of the refrigerator. 2 places advertised parking on premises but didn't have it. I paid for those places so I wouldn't have to deal with searching for parking. Several places have claimed to have internet but when I show up it turns out they only have a MiFi and a notice saying "Please don't use the internet much or it will run out because it has a 5Gig limit for the entire month". And of course I've rented the place for 4-6 weeks as a place TO LIVE not to be a tourist. The last place lied about its location.

Since then I've gotten better about spotting the lies before hand but AirBnB won't do anything about it when you try to report them. Places I've messaged to verify the listed amenities actually exist (like parking), get told they don't actually exist, I then flag the listing, report the issue, check back a few weeks later, no change to the listing.

AirBnB is an evil company because they purposely let people lie about their listings. I don't disagree with you they could be a useful service but as long as their official policy is that false advertising is ok they are clearly not a company with any sense of ethics.
Similar to the baseline advice to learn programming: write a lot. Read good writing, read bad writing and learn to tell the difference. Leaving a piece of writing for 24 hours and coming back to it with a fresh pair of eyes to edit helps. Someone else's eyes also helps, similar to how code reviews help.

Reciting your writing out loud helps too. If it isn't in the desired tone and/or it doesn't sound natural, rewrite it. You may find you need less adverbs than you think.

Books on writing style and techniques help in the way books about algorithms, paradigms, design patterns and other facets of programming help. The key is to implement the ideas you learn in your writing.
Android I don't think so... There are tons of Java code in the Android ecosystem and their developers hate anything that comes from Apple.

So it will end as iOS only.
One Pull Request. One Concern
http://doc.tm.uka.de/SKademlia_2007.pdf

Combine that with using the global overlay only for bootstrapping of common-interest sub-networks and you'll limit the incentives that an attacker will have to attack the global overlay while also reducing the effectiveness because a single non-fake contact will be sufficient to join the subnetwork.

It's not an absolute defense (sybil-resistance without central authority is hard) but in practice it won't be worth it for attackers.
And then your non tech savvy mother sends you a link to this cool website, and you're logged in with her credentials..
The Inside of a Neutron Star
The underlying idea is that it shouldn't handle the wrong type at all, it should fail.

If some function A calls function B with a wrong type, the problem is with function A. So basically, there should be only type tests after IO functions (probably after parsing), the rest can be assertions.
If the JWT is as long as the refresh token, then what's the point of having a refresh token? You would then probably need to get new refresh tokens then to make the session last longer.

The idea is to make the refresh token last for say a few days, and the JWT for say 10 minutes. Now, every 10 minutes the client needs to use the refresh token to get a new JWT. The maximum time a client can have access to the service without a valid refresh token is 10 minutes. All the requests made in this window of 10 minutes would be deemed authenticated by verifying the JWT, and without having to go through the database or cache.

Now, say a user of a web app clicks "log me out from all my devices". The user's access needs to be revoked from everywhere they are logged in. If you invalidate all their refresh tokens, then in a max of 10 minutes they would be logged out from everywhere, as their refresh tokens would no longer work and the JWT duration is only 10 minutes.

This approach is essentially a mid-way or a tradeoff between using traditional sessions and JWT. "Pure" JWT is stateless and hence cannot support individual session revocation.
The only way to invalidate sessions in "pure" JWT would be to invalidate the key or certificate used to sign the JWT, but that would invalidate everyone else's sessions as well and hence is not very practical.

Since with this approach you implement sessions plus JWT, it's more complicated than just using sessions. JWT should be used for such applications when the latency or load benefit is significant enough to justify the added complexity.
For applications that do not need session revocation, however, JWTs are a convenient way to implement sessions without needing a DB or cache layer.
As of 1.0 Kotlin has solid Java compatibility, @Transactional definitely shouldn't be an issue. What features are compelling for you in 1.1? They are nice, but generally just a nice sugar. I don't really miss any of those. I suggest you to try it now, if you have a chance.
That article doesn't look at if or how a MBA brings value. It mainly points out that a MBA is not a differentiating factor in easily finding a high-paying job, unless it was acquired from a highly regarded MBA program anymore.
The reason being that, since MBA programs are money makers for their teaching institutions, they expanded like any rabbit population would do without predation, and with rabbits also getting into the Matrix, since you can earn a MBA from the cozy cushion of your pillow in your bedroom.
I'm using this password calculator: https://extensions.gnome.org/extension/825/password-calculat...

It's basically a SHA1 of an alias and a secret (similar to amelius' approach https://news.ycombinator.com/item?id=11932624). I've also started recoding the extension for Windows and other DEs: https://github.com/jhasse/pwcalculator
then you wrote a bad extractor. Scanning forward is against the format. Zipping up a zip file is a perfectly valid thing to do. If the inner zip is stored uncompressed you'll have 2 headers at the end. If you scan forward you'll fail.
IANAL, but I think what might turn out most problematic for TheDAO in the end is not the soft fork/hard fork proposal or even the loss of trust, but their - often quoted - own terms of service[1]:

> The terms of The DAO Creation are set forth in the smart contract code existing on the Ethereum blockchain at 0xbb9bc244d798123fde783fcc1c72d3bb8c189413. Nothing in this explanation of terms or in any other document or communication may modify or add any additional obligations or guarantees beyond those set forth in The DAO’s code.

That document is the single link that connects the Ethereum toy world with the world of real, legally enforceable contracts. If any court actually takes that clause seriously and treats the DAO code as legally binding terms of service, I think that could have two consequences:

1) Intent: The terms written on the website don't say anything about crowdfunding, voting processes or the supposed purpose of the DAO. They do however say very clearly "the code is the law" and even point out that this will cause risks for the investors, should the code contain bugs.

That writing IMO makes the current argument that the attacker violated the "intent" of the contract very hard to argue.

2) Contract amendmends: As far as I know (as a layman), legal contracts may only changed of all affected parties agree to the change. Therefore, if the DAO code should be treated as a legal contract, you could interpret the soft fork as an amendment - even though not all of the DAO token holders were asked for agreement. In the most extreme case, the attacker could sue and demand that his "theft" is cashed out, even if the soft/hard fork proposal is accepted.

[1] https://daohub.org/explainer.html
It's a good idea if you're using a secure secret or if an attacker doesn't know your exact method.
Depends a bit on how deep you want to learn but I found using underscore in javascript helpfull https://smthngsmwhr.wordpress.com/2014/02/02/eloquent-javasc...

The problem I had with full on functional stuff was seeing what the point is - ok you could replace your for loop with some weird recursive stuff which the compiler will turn back to imperative behind the scenes so it will run quick but I had a trouble seeing why. However replacing some javascript loops with underscore stuff I was able to see how it was more compact and less bug prone. Also it doesn't take long to get.
It's subtly different - you can store all the actual data in the token.
A curious omission, same with snapshot shipping. You'd think that Apple of all companies would be behind those and tie them into Time Machine.
Phishing is generally 1. run a command or 2. give me your credentials. To prevent these you need good solid technical controls like U2F for password based authentication (which is origin bound). Similarly binary whitelisting will prevent most users from running rogue executables.
Thanks for confirming what I suspected.
The grand-grandparent of your comment talked specifically about tests in static vs. dynamic languages.

Your comment just solved the problem by ignoring the latter, not much of a contribution to say the least.
How the Verge Totally Misrepresented the DAO, and Bitcoin
An IRC bot is always fun to write.
No company finds leaks that way (assigning different truths). Finding leaks is a matter of looking to see who accessed which documents.
Don't want to hijack this thread, however, it is mildly related:

What projects are perfect for learning Erlang (which might involve both the functional and concurrent aspects of the language)?
Why do people keep recommending these incredibly insecure passwords... replacing vowels with numbers will do little...

Ugh
The number of existing bootstrapping nodes do not solve the fundamental problem of current centralized bootstrapping. Not even if a virtual box costs $1 instead of $10. The issue is how a connecting node knows about other nodes in the network, and the current propagation of this information i.e. the DNS or IP of the seed nodes introduces centralization.

The closest and best solution for this problem was the early days idea of Bitcoin to use IRC to publish the listening seed information, but IRC still not decentralized, so IMHO decentralized bootstrapping is a real problem which we need to solve.

I kicked out a discussion for this at https://groups.google.com/forum/#!topic/streembit-dev/Xl2DpG...
Evolution of C programming practices – Unix 1973–2015
No ISO layout filtering.
Ngrok.com for ssh tunneling.
Yes scala is complex, but your scala code doesnt have to be. The reason that std collection lib and scalaz code is hard to read is their inclination to push the limit of utilizing the advanced scala features to make their usage really easy.

That being said scala is not for one who wants to plateau quickly. It takes years.
Ultimately, you don't need to learn every single Scala feature to get started using it. As a Java developer you only need to learn a few differences before you can start using it as a "Java with better syntax" (var/val/def, static/object, Object/AnyRef, void/Unit, interface/trait, <>/[], []/()), learning the Scalaisms later on as you go.

You don't need Scalaz to write Scala code. You can even ignore most of the standard library while you're starting out, and use the Java equivalents.

SBT might seem pointless at first, but the same thing applies there. You don't need to use it, plugins for Maven and Gradle are available. But once you do switch, you'll see how much nicer it is.
Again, you may not be correct. I would have to ask my bookkeeper what our labor cost is, I'm not that involved in mine anymore, but it's not that much higher than food cost.
Can't recommend Ngrok enough... saved my bacon and makes testing on devices so easy and painless.
Food for Hackers: Integer Factorization
That list is funny.

My preferred line is the first one: "Logic is a systematic method of coming to the wrong conclusion with confidence". It applies to so many behaviors in various fields.

Then there is one I am not sure I agree with, it really depends on what "level of management" means: "The degree of technical competence is inversely proportional to the level of management". In my experience, technically-challenged engineers, but who somehow end up with management/supervision roles, also s.ck at that too, big time, so much that you'd wish there was a universal law against it.
VS Code Insider gets tabs
The “C Is Efficient” Language Fallacy (2006)
If you like math at all, www.projecteuler.net/problems is worth a look. They pose math related problems that are intended to be solved programmatically. Once you've solved a problem correctly you are given link to the problem's forum page, where others people have posted their solutions.

Whats truly great is that you are forced to solve the problem on your own, and then you can see how others did it, both in your chosen language(assuming it's a somewhat common language), but also a myriad of other languages.