skysight-inc/HackerNews huggingface dataset:
> Swipe left on iOS, and you’ll arrive at a screen with Apple News. These are stories curated by your interests that you’ve set yourself with Apple. Swipe left on Android, and you arrive at a feed of stories that Google already knows you’ll be interested in because, let’s admit it, Google knows you better than you know yourself.

It’s funny how you can agree with this paragraph in two completely opposed ways. I read it as “Apple News sounds great - I choose what I want to read”, but the author obviously wrote it as “Google News sounds great, it knows me”.
It will take decades and billions of dollars to meaningfully reduce the amount of guns in the US.

We should get started asap.
But if you compare communities equal in poverty then amount of gun violence correlates with amount of guns.

So either give poor communities heaps of money or take away guns. Or just wait till they shoot themselves, which is current US approach to the problem.
> Most rich countries acknowledge climate change and try to come up with solutions. The big outlier is the US.

You could generalise that to:-

Most rich countries acknowledge <foo is a problem> and try to come up with solutions. The big outlier is the US.

Where <foo> is healthcare, corporate governance, lobbying, women's rights, racism, income equality, prison incarceration rates, police brutality.

Growing up in the UK in the 80's I was fascinated by America and planned on one day visiting if not living there.

Now? If I leave the UK (and I probably will) it'll likely be Germany or Holland, they aren't perfect (what is?) but they look a lot better than the US/UK these days.
> to separate specification from verification

Exactly.

Program logics are superior in this regard: the encourage rather than inhibit separation of concerns. (Not to mention: program logics are more developed and cover a large class of computing paradigms, while dependent types have not grown much beyond the pure functions ghetto.)

I put forward this point to dependent types luminaries all the time. Its difficult to get more than polite silence in response.

* * *

It's partly a social problem: The community working on dependently typed languages and tools typically have most of their programming experience with pure functional languages. Exaggerating only a bit, here is the typical trajectory of a formal methods researcher:

- As an undergraduate writes a lambda-calculus interpreter in Lisp/Scheme/Racket/Haskell

- As a PhD Student writes their own pure language with wacky typing system, and demonstrate its usefulness by embedding a lambda-calculus interpreter in it.

- As a postdoc verifies a lambda-calculus interpreter in Coq/Agda.

- As an assistant professor writes their own Curry-Howard-based interactive prover in some dependently typed language and demonstrate its usefulness by verifying a lambda-calculus interpreter in it.

- After tenure, gets their students to do the above.

2018's POPL has a type-theory in type-theory paper, but none on how programming language theory can improve SAT solving ...

It's an echo chamber. I recently reviewed a grant proposal by some of the more famous dependent types researchers. They proposed using HoTT to verify computational effects. The grant proposal claimed (1) that there is currently no known way to verify effectful languages and (2) that embedding generalisations of effect monads in HoTT is the way to overcome this problem. It seems like these people have not ever heard of program logics?

* * *

A second reason is more serious: the real problem of formal verification is not this-language/that-logic.
In day-to-day verification, it doesn't really matter that much
whether	you are	using this/that	approach. You need to set up the right
definitions and invariants. That's the hard part. Whether you express
them in some program logic or dependently typed system doesn't matter
much, you can usually	transliterate between them.

The real problem is automation.

Better autmation means dramatically better SAT solvers (modern SMT solvers are heavily reliant of SAT solvers). It's just unclear where 10x, 100x, 1000x speedups in SAT solvers should come from. We don't even know how to parallelise SAT solvers well. In the absence of dramatic progress in SAT solvers, what can we do other than tinkering with dependently typed languages and their relatives?
So a foreigner who talks to some people while doing remote work is presenting himself as an authority on the views of people of said country. Well then, I've visited Cancun on a number of occasions. I can say for a fact, that all Mexicans drink Corona beer.

What is baffling is how someone who has no idea what they are talking about, does nothing but make Trump like complaints about bias and how "everyone" likes the dictator etc etc. Troll
Use HTML5, Go and Facebox to verify your face on a web page
But then Apple already Has the Data, Apple Music and iTunes Store.

This is the Tech vs Data question, it seems people value Data a lot more.
Agreed. And I actually fully agree with this being a strong reason not to use macros in lisp. Made a bit more important there, because stepping through a macro involves not just being in other code, but jumping between phases.

That said, my main point is that where many folks used to advise caution, such that instead of promoting lisp, they would create new languages where they could hide some of the magic, it seems that people are gung-ho on many of the higher abstractions now, regardless of the mental costs they bring.
It's a debug log. On its own, this driver doesn't do anything malicious. A malicious piece of software could exploit it, but there's no evidence that any did. Even if it got flipped on accidentally, it would merely log information and not transmit it anywhere.
For those who are only relying their information on the internet and who are not physically present in the Philippines that's a rhetoric.
Err, I'm not sure that's an answer to the question I asked. I thought there might be some context that might help me understand the paper, or any present topicality...
Cartiridges being more than just ROM has been a staple of Nintendo designs all the way back to the NES.

A common trick was to have a logic chip sit between the ROM and the console, doing bank switching. This allowed a game to consist of much more data than could be fitting directly on the data lines provided.

Some games, particularly those sold in Japan, had improved sound chips for example.

And by the time we reach the SNES, Nintendo used this to even introduce rudimentary 3D acceleration in the form of the SuperFX chip.
Furthermore, I've tried to pay lots of people in bitcoin over the last couple of years, and often the response is "fake money? no thanks, I want real money please".

Largely from the same people who complain most loudly about inequality. You can lead the horse to water, but you can't make it drink...
I don't understand your logic. You acknowledge that low quality of life is a huge part of what pushes people to commit crime, yet you'd rather take away their weapons instead of doing something about poverty?

We have 101 guns per 100 Residents[1]. Do you really think removing guns is a viable option at this point? What makes you think this wouldn't be met with violent resistance from people who want to defend their constitutional rights? Even if we _could_ remove all guns, wouldn't those in poverty just begin using knives, acids, and explosives like they do in other countries? Why not make people's lives better instead?

[1] https://en.wikipedia.org/wiki/Estimated_number_of_guns_per_c...
Show HN: Visual search app powered by Tagbox
Consider, though, the Haskell functions "curry" and "uncurry" which transform functions between these two styles. They are different types, so I don't see how it is a misrepresentation.
This would be an excellent point if there existed a methodology that people do manage to follow.

Some of the failure I've seen can be partly explained by people who wanted to have their cake and eat it. Who wanted, say, the promised advantages of Scrum but were not willing to pay its costs (lack of long-term plans and fixed finish dates).

That's not all. It's part of the explanation for some of the suckage I've experienced.

I do blame people for not making up their minds. The people who invented scrum were willing to give up some parts of long-term planning, and got remarkable results for that. They are not to blame when others later failed by not giving up blah.

Maybe some blame should go to conslutants who oversold the benefits of Methodologies without stressing the costs. "YES YOU ACTUALLY HAVE TO DO THIS, IT WILL WORK BADLY OTHERWISE".
For those of us that only follow the latest on bitcoin at a high level, I think it is difficult to determine what are the points of disagreement. When I first read about bitcoin on HN in 2010, and read the whitepaper (and went to their IRC channel), I certainly don't remember thinking that non-mining nodes were that important. However, now I'm not sure, and many people making arguments on all sides seem to have good arguments at various times. I am hoping more people with good knowledge of the issues weigh-in here, rather than the over-politicized subreddits.
The "spin" is included in the reports given out by those gov agencies ;) It's a pretty neat way for the government to manipulate its people.
> Facebook sometimes does good

Maybe in the past, when it was still a free for all, and governments hadn't woken-up to the power of social media. Since then, Facebook has "learned its place" and it seems to become increasingly more "optimized" toward government propaganda.
Yes. I think GoldMoney issues those kind of cards.
> use the model checker before writing a proof to get a counterexample.

Lovely, they should have taught me algebraic geometry that way. /s

Trying to write proofs without knowing a priori the truth value of the proposition to be proved builds character, and it's an important part of developing mathematical maturity. It forces you to develop intuition for what could or could not be true.
> A peer is a node, which is a client that validates all transactions and blocks in the blockchain.

According to the white paper, Section 5, a peer is a miner. That has not changed, regardless of attempts to redefine the paper. To be a peer, you MUST contribute proof of work.

Running a non mining node gives you a copy of the blockchain data that you can trust is valid according to the rules you used to validate it. It does not make you a peer.
60 or so years ago, many of the main tricks of functional programming today were far too expensive in terms of memory to actually be used. So, I find this claim somewhat hard to take at face value.

More, early lisps were far more up front about their imperative abstractions. Something that we try our damnedest to hide from folks nowadays. In ways that are actually hard to fully explain. Used to, you were given an array of functions not just as a programmer, but as a user of the machine. The "side effects" of the functions were the point of them. They literally made the machine do something.

So, yes, functional has always been a defining element of lisp. I can fully support that statement. The defining element, though? I have a hard time supporting that one.
You're missing the context of the encounter.

Police were called when someone saw an occupant of the hotel room brandishing a weapon. The responders don't just walk up and cuff the man and woman because they are not sure if these are the armed people and are trying to stay out of a theoretical field of fire from the room.

That's not to say this isn't an awful video to watch. The officers scared the guy so much that it was impossible for him to comply.
What are the features require to develop a Bitcoin Wallet App
Are you from Philippines?
From what I know people there are quite happy of Duterte work despite the overzealous rhetoric.
If you are in US I can't see how can you criticise him given that death penalty is quite widespread there and a lot of times the trial is a farce especially if you are black.
> It feels then more like a religion.

Oh wow amen to this. I've started calling one of our managers "Reverend". Particularly when he begins a meeting with a statement that's starting to sound a lot like "we are gathered here today to...".
> separate safety from the much more complex liveness

True, and with program logics, you can choose partial correctness vs total vs generalised correctness.

Itt's even worse in practise. With many contemporary dependently typed languages you'll have to worry about termination even during programming, even before thinking about verification.

The Curry-Howard prover advocates seem to regard this as a solved problem ("just distinguish programs from proofs by way of a typing system, problem solved") but has this solution been implemented in any mature systems as of 2017?
> Isn't a node a process on the network that is mining blocks?

Yes, see section 5 of the white paper referenced in OP. It is quite clear what "peer" means in the context of Bitcoin. Others are mistaken here.
Software methodologies don't work because we're not getting the fundamentals of software development right. Reorganizing your kitchen layout won't help your restaurants if your chefs are still struggling to make scrambled eggs.

The most important thing any software team needs is proper logging, monitoring and metrics. No matter how great your process and engineering culture, you'll need logging, monitoring and metrics; things will happen. The worst part is that this is relatively cheap and simple to do (at the scale that most of us operate on), with huge rewards, and most teams still do it wrong. Whether they're logging too much noise, or collecting metrics that show what's right vs what's wrong, or swallowing exceptions, etc. This is the litmus test.

Next are automated tests. Unit tests, integration tests and fuzz testing. The downside with this is that it takes a long time to master. Yes, it costs time at first, but that's why you have senior developers who should be able to use tests to save time and teach others from their mistakes (like too much mocking).

Finally, code reviews and pair programming. Almost every line of code is an opportunity to teach and to learn. No methodology or tool can help if you hire junior programmers and don't do pair programming (or some other really involved mentoring, but I don't know of any).

Technical debt is real. Most of the time people don't have time to do things right is because they didn't take the time (or didn't know how) to do things right in the first place.
For me, the real issue is ownership. I come from a finance background and have seen "business people" often run technology into the ground because they simply can't let go of ownership or control. They want to define too much and leave little in the hands of the developer. Development managers can be just as bad with their overarching methodologies. Really bad ones can stifle the creativity of their developers by micromanaging and just end up making people miserable. I personally don't follow any particular methodology, but instead, I agree with each team member a well defined deliverable and deadline, and just let them get on with it (with whichever methodology they prefer). The only thing we stipulate as a firm is the version control system and test procedures. The whole team has an informal chat once a week or so to make sure things fit together properly - no daily stand up rubbish. It's not complicated or even that structured, but it works and my colleagues seem happy. Basically our philosophy is, hire good people, make them responsible for something, and let them find the best way to deliver. And definitely don't tie them up in stupid admin tasks as stipulated by the latest fad.
If force is overwhelming then you are overwhelmed and put in the metal box. There's no posdibility for you to meaningfully resist so there's no reason to kill you.

The killing is only possible by mistake at any stage of this process.

Even on the first one. They collected a fine from you and you have no money to buy yourself life saving medicine and you die. They killed you by taking away you last money at the moment your life depended on it.

Probability of killing you obviously increases as escalation progresses but never reaches 100%
Bitcoin Cash follows this paper much more to a tee than Segwit Coin.

Back to low fees, on chain scaling, and the future of p2p cash!
> you'd rather take away their weapons instead of do something about poverty?

I'm just pointing out it's cheaper solution to resolving gun violence.

> Even if we _could_ remove all guns, wouldn't those in poverty just begin using knives, acids, and explosives like they do in other countries?

Mostly knifes I guess. But it's harder to kill a person accidentally with a knife then it is with a gun. Almost all gun death are accidental. Killer just wanted the victim to stop doing something or to punish him/her for some percieved transgression and it wasn't supposed to be capital punishment.
Technically this is a fork of gittip/gratipay, but the key difference is that they've done paperwork required to operate as a financial institution, and avoided the "gratipocalypse": https://gratipay.news/gratipocalypse-42fd0ec0d9e8

Currently they have chicken-egg problem of attracting users, but I'm hoping they'll grow, because gittip was great at its peak.
I like the article, and agree mostly. Though I've come to look at it a little different.

Agile/waterfall/etc are PM methodologies used to manage software devt projects. Especially Agile has limited use beyond software devt.

Methods of deving software are things like: domain driven, data models first, TDD, etc.

Then there are programming paradigms: OOP, FP, Actor based, etc.

So the set of "techniques" the article lists in one list are of different types. All of these have to be evaluated against the people that have to use them (don't for OOP on an FP team, or vise versa) and the type of problem to be solved (TDD is less usefull for a simple UI project, than for a complex algorithm involving time and lots of corner cases).
Hats off to CSW/Kleiman/?/Finney for what they did. They opened pandoras box. No going back now.
> the validation that ensures that consensus is maintained between nodes

That's a terrible misunderstanding. If nodes can reach consensus by simply agreeing on transaction validity, then what purpose do you believe miners serve?

The definition of a node is provided in Section 5 of the white paper mentioned in OP. The logic that explains "why you must mine in order to be a peer" is explained in Section 4.

Non-mining nodes are trivial to Sybil, they are "one-IP-one-vote" per Section 4. Only miners are "one-CPU-one-vote." That is why nonminers (what you call "nodes") are not peers to the system, but rather leeches / relays.
Actually, the first banks, along with the first money and the first markets, developed from the palace economies of early city states. Originally the proto-bank maintained records of what each person had deposited with the temple, what had been given to various people, and what was available to give. Those ledgers recorded each type of deposit (wheat, cloth, olives, etc.) with a different unit; the innovation that gave rise to money was the transition to a single unit of account.
> Now the transaction fees are exorbitant.

All the remarks about the skyrocketing fees can be cut short by pointing out that Bitcoin Cash (which is much closer to the Bitcoin described in the white paper than Bitcoin Segwit [BTC]) doesn't have this problem. Just like Satoshi Nakamoto said that the block size limit could be raised once blocks started to get full, the developers of the Bitcoin Cash software also say the current max. block size of 8 MB can be raised if the blocks get full.
>Of course the AI is not planning with intent

Isn't it, though? It has an intuition built up from the memory of millions of games it's played before. It knows that one step now leads to a good situation later. What other definition of "intent" can you use where AZ's playstyle doesn't fit the criteria?

And does having intent even mean anything when the goal is to win? If I intend to pursue a certain specific action plan, is that somehow better or more appropriate to the game than playing with infinite flexibility wrt the possible trajectories of the game through state space?
Pinterest Marketing Checklist for Entrepreneurs and Bloggers
Trick to Restrict WordPress Site Access by IP or Logged in Users
Michael Brown was shot because he was charging at a police officer.

https://www.nytimes.com/2014/11/25/us/witnesses-told-grand-j...

Lumping him in with actual victims does actual victims a disservice.
Hotmail Şifre Değiştirme Sorunu Yok etme, Hotmailde şifre değiştirememe problem
I think this is bullshit. I tend to get on pretty damn well with most of my co-developers. The friction comes with managers trying to fit us into weirdly-shaped boxes.
The bureaucrat versus the entrepreneur
"As creative destruction has drained from the economy, however, it has entered politics."
http://stumblingandmumbling.typepad.com/stumbling_and_mumbling/2017/12/entrepreneurs-vs-bureaucrats.html
Well articulated nostrademons, feel free to email me of ideas that you think are suitable low-hanging fruit but still not tackled by the tech community at large.
Ask HN: How do you grade a job ad?
When reading through a bunch of job ads what are the soft and hard metrics you use to grade its quality?
I do.

Seriously went over your list expecting to find something I didn't know - but I can explain them all, without needing to look up wikipedia.

I may read too much.
Programmers on a deadline don't want to spend months building character on every software component.
Can a broken Net neutrality with a tier system make the internet better?
If we pretend that Net neutrality is repealed and almost all ISPs start having just the major websites ( Netflix, Facebook, google... ) for a basic price and the rest cost extra.

Wouldn't that sort of bring back the internet to how it used to be before all non-technical people started using it. Because the people who would actually put down the extra money to get access to all sites would probably be those who really care about technology, freedom and so on.

If the rest of the internet outside these free basic services was small enough there might also be a lot less pressure from industries about copyright and so on because it wouldn't be worth it for them.

So in the end it might actually lead to that the internet would be a lot more free in the way it used to be and the people would be more caring.

Could that happen?
W. Dai, “b-money” (1998)
Silly title!
Interesting.

This run's counter to a lot of my experiences. I don't tend to see much office politics at all with software developers. Maybe because salary isn't tied as closely to rank and it's so easy to shop around and jump ship if you feel like you're getting fucked.
Laws for Creating Trust in the Blockchain Age
Replace programmers with mathematicians who already have character and intellectual integrity.
Clearly, the only way forward is to make programming attractive to mathematicians, since making mathematics attractive to programmers has largely failed.
If an unarmed man charges at you, you don't have the right to kill them. Police forces all round the world manage fine with battons and other non lethal weapons.
That’s the best way to do it of course. But then you’re adding 100mb to each instance in your load balancing layer.