skysight-inc/HackerNews huggingface dataset:
I still don't get the Internet of Things.

The mental calculation just doesn't work out for most things. My personal rule of thumb is:

benefitofmeaccessingXremotely(X) - costofotherpeopleaccesingXremotely(X)*riskofthathappening

Benefits being low for most things, costs high, and risks...uhmm...nah. Only exception I can think of is very limited amounts of sensors (eg. is X on?).

What's the benefit of me turning on a gas stove remotely? Almost none. What's the cost of someone else turning on my gas stove? Really high. How much is the risk? Way too high.

Then there's smart devices, another component of IoT. But how much smarts do we actually want? Screens are nice. Making my shower multi touch isn't (capacitive touch + water = no bueno. Imagine water from hell scenario and no way of turning it off with your wet hands). Fridge compiling shopping lists automatically? Neat. Cheap android tablet that comes with a fridge glued to it? Nah.

The only utility I see is locally connected devices. Using your phone as a remote. That seems handy. To a certain degree, we have that. Extra points if I don't need to download an app for everything, because don't you dare tell me that your blue-tooth on/off switch needs a 15mb .apk. If I gave one about the 14.9mb of branding you're including, I'd download your press kit.

There's some utility in home IoT wudget-thingimabobs, but I'm almost certain we'll mess it up to no end in our excitement. There'll be some legitimately useful products coming from it, but most of it will be utterly cringe worthy in retrospect.

/rant('IoT')
An excellent answer. It's alarming how easy it is for young, childless, well-off people to simply not have any capacity to understand these points. I say that having been such a person, so it really is sad how long it can take to learn such lessons!
I had a palm III and the handspring palm V, both were gifts and they were ok. Losing everything multiple times when the AAA batteries died was very not fun.

I remember a few little games and calculators. Never felt compelled to pay for anything.

When I had a palm windows mobile thing circa 2004, that was when I saw the light. As horrible as the platform was, having a browser and google maps on the road was like having superpowers. My wife and I took a 5 week Road trip honeymoon, and basically pricelined our way across the country. Amazing.
Everything but size is solvable by building a small PC to use it as TV controller, no?
you didn't have to use so many words
That doesn't answer the question, which is an interesting one. Where in the dry cycle does shrinkage occur? If you dry on hot to slightly damp, do you get the same level of shrinkage as cool to fully dry? If so, why haven't I ever seen a dryer that starts hot and transitions to cool as the clothes dry out?
The concerns in the first paragraph could perhaps be addressed by having volume thresholds before regulation kicks in. If your internet-connected special purpose device has more than N unit sales, more than $M dollar sales, or is offered in more than K brick-and-mortar stores, then it is subject to security regulation.

I too am not in favor (at this point) of requiring licensed assessors to approve software after it is complete, at least for most products. Embedded medical devices, vehicle control systems, and things like that probably should have an outside assessment.

I'd be happy for now just having some rules to try to make it so IoT device breaches are mostly due to bugs in the implementation of a good design, rather than due to the producers not having a clue about security.

I think we are fast approaching (if we have not already past) the point where good security practices are something that almost every programmer and software architect should know and practice. There should be basic coverage of this in the standard computer science/software engineering curriculum, and there should be more extensive coverage as an optional part of the curriculum. If you take these optional courses, your degree is "B.S. in Computer Science and Computer Security" (BS CSCS). (There should also be a way to get this training outside of college, and get some sort of certificate that you have had this training).

Those making products that reach the thresholds for regulation should have to have someone with a BS CSCS (or a certification of equivalent security training) who signed off on the architecture, development standards, and testing process used for the product.

My expectation is that as everything (for better or worse) gets connected, the vast majority of CS students will go for the CSCS option and so people with a BS CSCS will not be significantly harder to find or more expensive to hire than people with just a BS CS, and so even small new companies should be able to afford them once they get past the point of the founders doing all the work and start hiring employees.
c++ is a great language but a lot of the inheritance system is regrettable at best.
Happily, what we're now talking about is a matter of policy, not of principle.

You don't feel like paying taxes so that our society can support artists, fine. You might not feel like paying taxes to maintain rural roads (after all, you never drive there) or a public education system (you can pay for your kids' schooling). And that's all fine, but you're already doing all that, just in a relatively clumsy way.

"Taking more money from" you to support my family is something that taxes and society have done from the very start.

This just shifts the bar a bit further. It's a matter of degree and not of kind.
Yes, when I had a Palm, IIRC I scouted around for apps and there were many, probably not just on a Palm company store, but third-party sites too. I remember one called Pippy, which was a port of Python to the Palm. Used it a bit. But it used to crash somewhat often, so gave up trying to do any real apps with it on the device. A pity. Would have been cool to have custom apps on it, that too done in a productive language like Python, and maybe accessing / controlling the hardware.
He probably doesn't care either.
I didn't mean copy-paste reusability, I meant packaging code into reusable modules (e.g., NPM packages, Ruby gems).

This has nothing to do with OO, really. But I don't disagree with your point about immutability.
Can't break be simulated by something like MaybeT? And forWithBreakM :: [a] -> (a -> m (Maybe b)) -> m [b] that stops when f yields Nothing? (isn't this actually sequence . forM?)
I've learned more from this comment thread about EU monetary policy and the euro than I did in college. Thank you.
I wonder what the simplest changes to the codebase are that would make it much smaller. I wonder if there are tools that would make suggestions.
It's always easier to see the blub in someone else's language and not in our own.
> This article is more about "how to find out what an MVP might be".

I think that's it in a nutshell. I agree with you that the article is sloppy with the term "MVP", and should instead be calling these steps in the process "experiments". On the one hand, their point about multiple experiments being required is an important one. On the other, it really should be the case that when someone claims to have built an MVP, that they have a product and have solid evidence that it's viable. (I suppose one can never know for sure that it was absolutely minimal.)

So an experiment is not an MVP, but experiments are what one does having set out to build an MVP.
My be instead of prohibiting insecure products we can just put labels on them? Want to buy shiny new thing from kickstarter, be my guest, but it'll have a huge SECURITY NOT CERTIFIED label on the side or something like that.

Which will not turn away a dedicated geek, but will give a hint to an average soccer mom.
And what's the point on saying so in a way I can read? A hellban or slowban, which have been applied to me in the past also, are more effective. smh
It only short-circuits to the end of the do block. But once you leave the do block the error isn't propagated anymore.
JSF Search Expressions Deep Dive: PrimeFaces, BootsFaces and the Standard
You are wrong. 10x guys care about product outcome rather than fretting languages. 10x guys certainly use Java in their toolset.
Which is reassuring but not absolute, if the NSA did have the ability to break that stuff the strategic advantage would be so high it might be classified at an entirely different level.

It is of course impossible to say without evidence.
> Why is this comment down-voted?

1. https://en.wikipedia.org/wiki/Whataboutism

2. https://en.wikipedia.org/wiki/And_you_are_lynching_Negroes

3. https://en.wikipedia.org/wiki/Tu_quoque

4. https://en.wikipedia.org/wiki/False_equivalence
SPEC is a geometric mean, so 0.5% is very significant.

(Assuming you are accurately measuring the parts)
That's an exceptionally clear, well-written book, and I recommend it without reservation. And it's free online, so anybody who's curious can just check it out.
Which browser are you using? I'll have to test to confirm in iOS Safari, but the notifications at least work fine for me in Chrome and Firefox on Android.

However, native mobile apps are definitely on the roadmap.
This calls for game of http://blockbattle.net/, where tetris IS like chess.
The situation will slowly improve with time as wisdom and expertise with software diffuses throughout industry. Right now, software is a crude tool in most industries, with little understanding among the decision makers. That's why the best software is found in pure software companies. (However good or bad Microsoft software may be, it's still true that Microsoft >> Ford >> Honeywell.) Over the coming years, better software practices will suffuse through non-software industries, and the CEO of the company that makes your toaster will need a gut level understanding of software in the same way he currently understands inventory management.
This is a great resource, thank you. Being tall with a long torso, trial and error buying t-shirts has been torturous and expensive.
>Are they looking to profit? Sure. Does that mean that profit is the only motive? I don't think so. It takes guts to jump into a totally different area from what a company primarily does.

Not that much guts needed, when you have billions at your command. It would be more gutsy if it was a much less rich company doing it. That's not to say that it is a bad thing, though.
Fact check:
( source : https://www.uoguelph.ca/foodinstitute/system/files/Food%20Pr... )
Food Price Report 2016 UNIVERSITY OF GUELPH ECONOMIC BRIEF
4
Prepared by
the
Food Institute of the University of Guelph
12/10/2015
"In 2014,the Food Institute of the University of Guelph predicted that overall food prices in 2015 would
rise by up to 3.0%. As stated in our revised report in February 2015, this prediction was based on a
much stronger Canadian dollar versus the American currency. For 2015, overall food price inflationary
patterns were consistent with our predictions. "

I know you said "fresh food", but it is January. It would not be surprising that some prices double around this time. I know that "fresh strawberries" are triple the price where I live.
Static Showdown, the serverless hackathon. Back on Feb 20-21
OT: I researched the savings to American pockets. Going from $4/gallon -> $2/gallon saves American $500 Billion annually. I included the savings from the cost of food as well (food cost had a direct correlation to oil prices).

How much of that is going to be pumped back into the economy is unknown, but the amount is sizable.
You would also expect, some amount of savings globally on food and fuel. So net, this might give the global economy a bit of a boost.

OT OT: It also surprised me why Obama administration never, framed the Iran Nuclear Deal as a $2/gallon or $1/gallon victory for American people. It would have been more sticky.
Just a side-note (I'm not an Intel employee, but I'ven't seen much Intel awareness re: their tooling here [they're fairly bad at reaching out to this community, but they have tons of free tools available that'll save your team money if you're doing anything that's not IO bound]):

* http://ispc.github.io/ -> An Intel front-end compiler for "SPMD" that targets LLVM, which has proven to be useful.

* PIN -> Dynamic analysis, free. Think DTrace and Valgrind on steroids. (Not open source, I'll take what I can get)

* ICC -> Their compiler suite gets little love on HN (though there aren't many engineers who really write computationally intensive stuff here, or if they do I suppose they just throw Amazon instances at it), but it's so cheap for what you get. Such an extensive tooling set out of the box at around the pricing of VS (both of which are well under 5k for 1 seat re: their highest version).

My team has done a few jobs where we've jumped in using Intel tooling and both shifted and tightened the 1st-3rd quadrant computational time by literally 3-5x and 10-20x respectively by basically just using the Intel tooling and being fairly familiar with it. Shameless plug & all ;)
10x guys let the tools do the hard work, like IDE to look up standard library's basic functions.

Which language has standard library small enough that people can memorize the whole thing?
A detailed post related to this: https://people.gnome.org/~michael/blog/2013-06-13-under-the-...
According to the paper "Asymmetric Proof of Work based on the Generalized Birthday Problem" (appearing at NDSS 2016, a top security conference) http://orbilu.uni.lu/bitstream/10993/22277/1/alex-dmitry-asy... the Cuckoo puzzle is amenable to parallelism, and thus potentially a "time-area" tradeoff. What do you think?
With the happy side effect that $billions are not going to Saudi Arabia, the ISIS that succeeded.
Nope, I happily pay money for schools, roads, government, police, etc. I vote for almost every tax increase that comes to the ballot. I do understand why people keep trying to make this argument because it's far more effective than the "let's pay people to make art and not do unfun jobs" argument.
And sometimes it's hatetris http://qntm.org/files/hatetris/hatetris.html, the tetris that hates you.
This reminds me of the discussion on the definition of "Object Oriented". It's a term of art that means a specific thing in the context of programming. [1]

"Minimum Viable Product" is also a term of art to describe a specific concept and can't really be broken down word by word. If you look at Eric Ries, Steve Blank, and Frank Robinson they have a specific meaning for MVP that matches The Macro article.

See for example [2] where Reis says "It is not necessarily the smallest product imaginable, though; it is simply the fastest way to start learning how to build a sustainable business with the minimum amount of effort."

[1] See this hilarious interchange http://c2.com/cgi/wiki?HeInventedTheTerm
[2] The previously mentioned http://techcrunch.com/2011/10/19/dropbox-minimal-viable-prod...
>It would be my responsibility to work harder because all of this money has to come from somewhere.

You don't work because it's your responsibility to make the economy function. You work because people give you incentives to do so. UBI just changes the incentives slightly: You can choose whether you want the minimum or whether you want to earn some luxuries.

You can argue about how many people are going to take the latter choice, but it's ludicrous to suggest you would be forced towards it by your "responsibility" to the economy.

>No one is going to pay me more under UBI than I earn now because I work harder.

If lots of people stop working, then those who continue to do so will become a lot more valuable, and companies will have to pay them more as a result.
Eloquent.
I think these two paragraphs sum up the article well.

It didn’t take long for Target to figure out the underlying cause of the breakdown: The data contained within the company’s supply chain software, which governs the movement of inventory, was riddled with flaws. At the very start, an untold number of mistakes were made, and the company spent months trying to recover from them. In order to stock products, the company had to enter information about each item into SAP. There could be dozens of fields for a single product. For a single product, such as a blender, there might be fields for the manufacturer, the model, the UPC, the dimensions, the weight, how many can fit into a case for shipping and so on. Typically, this information is retrieved from vendors before Target employees put it into SAP. The system requires correct data to function properly and ensure products move as anticipated.

A team assigned to investigate the problem discovered an astounding number of errors. Product dimensions would be in inches, not centimetres or entered in the wrong order: width by height by length, instead of, say, length by width by height. Sometimes the wrong currency was used. Item descriptions were vague. Important information was missing. There were myriad typos. “You name it, it was wrong,” says a former employee. “It was a disaster.”
i am infinity better with a pair (can solve problems i cant solve alone) but you have to build the company culture around it. i am a founder, I pair with my partner, we think we can scale the company this way. You can't force it into an existing company. You hire different types of people when you're pairing full time, and that's just the tip of the culture iceberg.
Just making a clickable link for convenience: http://harddrop.com/wiki/A_deadly_piece_sequence#Alternating...
> Taking care of my family involves me working hard, so why are you willing to make me work harder so that others can work less?

Because when you decide you'd like to launch a startup, you don't want the failure mode to be “I lose my house and live out of my car”.

Because in a year when you or a family member develops a debilitating disease, you'd want there to be an option available which is better than “I go bankrupt and end up on the street”.

Because if you or a family member decides they want to switch careers, go back to school, etc. you'd like food, health care, etc. not to be a major source of stress unless you're independently wealthy.

Because if you or a family member ends up in a bad relationship and needs to leave in a hurry, the answer isn't hoping there's room at a shelter because all of the landlords in town want a deposit or there's a year delay getting the subsidized child-care needed to actually be able to get a job.

Most of the people in the United States who go bankrupt were willing to work hard and didn't think that would happen to them. That went well until they had medical bills, a major employer left the area, etc. and they either couldn't work or were unable to find a job. People like to say you should keep 6-12 months income in the bank, which is certainly great advice but even if you're one of the relatively fortunate people who can afford to save that much money it can disappear faster than expected if more than one thing goes wrong at a time.

As a society we've decided we don't want to live in a world where poor people die on the street (or are forced into terrible jobs, begging, prostitution, etc.). The problem UBI tries to solve is that the existing systems are incomplete, often create bad incentives, and require hugely expensive bureaucracies to review people at every step of the way. Providing a consistent income to everyone avoids things like someone getting the support they need to get a job, working hard and then having it all fall apart when they get a raise which is large enough to disqualify them from housing/child-care support but not large enough to replace it.

It doesn't get rid of the incentive to do more, however, unless you really think that most people in society will hit the basic minimums needed for life and never want nicer food, housing, entertainment, etc.
If it helps, I've called Rust over JNI. Fairly easy in fact though I recommend judicious examination of examples on the web first.

Cargo is also very helpful in this regard.
Yeah, there are transformations that we could apply to the code to make it work. But those transformations aren't trivial in the general case: how about breaking out of multiple loops or returns out of the function from inside loops? At some point, the transformations that we'd have to do would get so complex they'd hinder the programmer's mental model of what code will get generated. We'd also have to do a fair bit of work to make sure the optimizer can figure out what we're encoding so as to not lose performance.
Answers like this would make sense if we didn't already spend billions and billions a year to address those exact topics, or if I was saying we shouldn't have any welfare programs at all.
If you know about the dunning Kruger effect and then apply knowledge of imposter syndrome you can power a small turbine with your self-image as it flips back and forth.
Calling it a long shot is almost like an over-estimation.

And vetoing the sale of a billion dollar company because of the super niche spy case? Yeah, no, that isn't credible.
Ricky's co-founder here. Loved reading about your story-- found it by ctrl-f-ing your name after seeing your comment above :)
What's a "user downmod"?
But of course your experiences and hardships shaped who you are as a person too.
actually the second line won't be cleared. A hole will be left where you're thinking each of the top blocks would fall into.
https://wiki.documentfoundation.org/Development/Easy_Hacks
So, this is actually only true for natural loops :)

In particular:
"Consideration of only enter_freq is based on the concept that live Out
of the entry or header of the Loop is live in and liveout throughout the loop."

This is demonstrably false for loops with >1 exit, or multiple latches.

IE it assumes that there is a single loop exit and latch that everything goes through.

That said, most compilers, however, including GCC, just don't care about loops with these kinds of weird control flow structures, and either duplicate nodes, or just don't consider them loops (https://gcc.gnu.org/onlinedocs/gccint/Loop-representation.ht...)

More interestingly, it's not clear why the patch should make any difference at all, nor is it explained. It just makes an assertion that it is better to do it this way ("
This increases the updated memory most and more chances of reducing the spill and
fetch and better assignment.")

(Expanded on this a bit to make it more clear).

When calculating the cost of spills/moves/etc, usually you want to take into account how often a block is executed. This is because you often have multiple places you can put spills/moves/etc to get a register. Multiplying by entry/exit frequencies tells the compiler "If you need a register, it is more expensive to spill something that occurs in a block that happens all the time, than something that occurs in a block that happens infrequently". As an aside, calculating predictions on loops ånd nested-loops statically is non-trivial (it requires estimating the trip count of each loop).

In any case, this patch changes the move/spill cost calculation to avoid taking into account the exit frequency of blocks (well, really edges, but let's ignore that) in loops, under the argument that it should be the same as the entry frequency.

The problem with that is exactly the last sentence.
It shouldn't matter.
This change should, in practice, be a no-op, or at best, is a random cost model change.

From another perspective, it just divides all the previous frequencies of things in loops by 2 compared to what they were before (assuming the exit frequencies are sane. If they are not, that is a problem to be solved instead of this one). There is no given reason this is a necessarily good thing to do :).

Basically, i'm not sure this patch will go in, because it's not clear it's really solving whatever underlying problem exists.

I expect someone to come along and tell them to provide better analysis of where exactly it's helping and what the cost numbers are that this is changing "for the better".
But you can't clean the bottom line with only S-blocks.