skysight-inc/HackerNews huggingface dataset:
> No, you have it all backwards, and that's not what's happening. The compiler doesn't elide code because it is undefined. The compiler elides code because it would never be executed unless it happens to be called with arguments that would produce undefined behaviour anyway.

You're right, it's the interaction between the undefined behavior and the ability to reason about what's possible that's the problem. It's also not entirely pertinent to the overall point, which is that the compiler does know when it elides code, and optimizing out instructions is specifically what this particular issue is about.

> That would be plain idiotic. It is perfectly normal to have tons of dead code, erroring out in that case would just make it impossible to compile anything.

The compiler doesn't need to error on all instances of this, but a flag to have the compiler warn or error if it would remove a unique branch and that branch may exit prior to returning control, that could trigger the desired behavior. If the compiler has enough knowledge to determine redundant code, then it has enough knowledge to know whether it is removing code that is not due to duplication.

C compilers have historically chosen to error on the side of speed, not on the side of safety, and we've built ourselves into a corner. Any new language introduced today that said "well, there's some interesting interactions sometimes if you don't pay close attention, and the compiler/VM might remove statements you write because they are testing those same weird interactions[1] as it things they can't happen" would be laughed out of town.

That the optimizations that C compilers do are complex and have many stages of optimization is not a suitable counter for the criticism that those same optimizations sometimes cause non-obvious interactions with safety checks meant to test the same edge cases that those optimizations take advantage of. That's like someone saying for safety reasons you need to see at least 20 feet of road in front of you at all times per 10 MPH on the highway, and people complaining about how that's not feasible because it would force you to slow down 10-20 MPH occasionally as you went around some turns. Yes. Yes it would. Just because you can do an optimization, doesn't mean you should.

> much of what you are suggesting is actually not in any way even a coherent idea

I'm not the original commenter, but if you're referring to my suggestion of at least warning when entire unique branches of the original code are removed, that's entirely possible. That it might require reworking or ever removing portions of the current optimization pipelines, or cause compilation speed to slow considerably is irrelevant to this particular aspect, because right now we aren't having a discussion of whether it's worth it, but whether it's event possible.

1: As happened here in this case.
I wrote and maintained an IP/UDP stack for an expensive, reliable, industrial packet radio, so you should back off your presumptive, elitist tone.

Sure, they maintain a control TCP channel like ftp but that's a normal pattern. Falling back to other protocols is a necessity because some environments literally lock down everything apart from ARP, DHCP, DNS, HTTP/S and email.

Writing an application-level protocol to make UDP act like TCP or SCTP is a sign of failure to fix issues lower down.

Worse, UDP often gets dropped first when a network is saturated, and it's harder troubleshoot to because it's not connection-oriented stateful and doesn't work with existing tools... debugging now requires nonstandard knowledge inside an app. (Turning a browser into an OS is a metastasizing cancer.)

There are better ways to solve efficient, low-latency content distribution and bidirectional state RPC without reinventing everything every other year.
Machines vs. Humans
What I've come to realize is that what we need is a language that lets you manage your level of technical debt, as in "langc mysource.lang --technical-debt=5". You generally want to start out writing PHP in the beginning of a project. However, at some point the technical debt will force you to enter maintenance mode. At that point it would be nice if you could turn down the compiler's tolerance from PHP-level to Rust-level, via Python and Java. Simultaneously you usually start caring about performance, so you need to move from interpretation to non-GC'd binary. Wouldn't it be nice if you could scale the strictness and compiledness of the language according to how messy and performance-critical your module or program has become? Granted, we'd need several backends for the same language and the compiler would become really quite messy, but it's interesting to consider.
In addition, computer science is not the same as programming.
F# would be particularly well suited for this since it can reasonably do imperative, object, and functional styles. I'm not as familiar with Elixir to make the judgement there. Though I suppose one could also argue for something like Clojure.
Does objective criteria matter if it is a machine that does what you need of it and you find pleasure in using it?

I write this while sitting in front of a modern machine that has as much appeal as a kitchen appliance, yet I regularly dig out an old computer to revive old interests. It is irrational, since that modern machine can easily be used to explore those old interests. Yet the old computer gives me pleasure while doing so, so that is the route that I have choosen.
At least some leagues already provide live feeds of scores and important plays. During NFL games I hang out on a certain irc channel and there's a bot that posts them.
Shinysdr – Software-defined radio receiver application built on GNU Radio
Low-tech solution: cowcatchers.
> Some systems (like OS X) don't let Go make DNS requests directly.

I don't think this is a reasonable summary of the situation on OS X. That being that if you turn the firewall on and then turn on block of incoming connections on 10.11 and earlier, responses seem to get dropped. Characterizing that as a blanket disallowing of direct DNS requests is misleading. (I'm not defending OS X here, it's just that summaries like this turn into cargo cults.)
The video states the UI is out of reach.. but screen scroll glitch

Being able to move the player's character around would also be useful for goal setting out of local maxima wrt AIs
High speed and really bad latency, maybe.
Might want to add (2016) to the title.
I know what you mean. The words "sterile" or "clinical" come to mind. Chalk it up to another unintelligent fad, much like the 20,000-lumen tiny blue LED lights hardware manufacturers use indiscriminately as status indicators. Lord, I've wasted so much duct tape covering those things...
You see this behavior in politics also.
Their number 1 problem is the name.
super-interesting - thanks.
You'll miss it when its gone.
> Current versions of LED streetlamps are absolutely awful.

Also they flicker too much -- a lot more than any other lighting source. It's utterly hateful and distracting, especially when you're driving or looking at a moving object.

They also fuck up dark adaptation, which makes people materially unsafe. I want the best possible night vision when I'm out alone at night -- to better be able to detect, avoid, or defend myself against any sort of miscreant that might be hiding to ambush me.

This is especially problematic because many of installations of outside lighting are done in order to provide better security, but if they're lights that dazzle and destroy dark adaptation -- this ends up being counterproductive.
(disclosure: long amzn)

Walmart made a smart play with Jet.com, but I think they'll only ever do retail. They won't do AI which Amazon uses to drive more sales of Prime, etc... I also think they don't need to compete with them necessarily. Its good to have both Walmart and Amazon.

I think the closest competitor to AMZN is BABA. Souq purchase was huge to fend off that competition.

I'm long Amazon because they're the best company i see at figuring out a problem and solving to it for the long term with innovative, scalable, solutions.
It's actually an interaction between those two aspects which causes the problem. The compiler makes an assumption that something can't be true because that would mean undefined behavior (and of course the programmer isn't doing something that's undefined), and then a later optimization uses that fact to determine code that tests for that exact undefined behavior could never be run, and removes it. The reasoning by itself is not problematic without it's later use in optimization decisions, and the optimization decisions are not problematic without unfounded reasoning about undefined behavior.

I think that's why people are so caught up on this. Technically, neither action is a problem, but together they obviously caused a problem. Either one in isolation doesn't look all that horrible (even if the undefined behavior reasoning is pushing it).
Proof of stake. Instead of miners trying to make valid hashes, people bet their ether on which blocks will be accepted, and the blocks people bet on the most are the ones that get accepted. (That's Ethereum's PoS design anyway.)

In proof of work, the miners race each other to make blocks. Any time they spend actually validating transactions slows them down; they might find a block and not get their reward if another miner was a bit faster. The transaction fees have to be high enough to compensate for this risk. Since the reward goes up as the coin price goes up, the fees go up proportionally too.

In proof of stake, this race goes away. Blocks are released on a fixed time schedule. The fee no longer has to compensate for risk due to lost time, and instead just has to pay for actual computational cost of the transactions.
Fairness means getting what one deserves.

The world is unfair in many ways, and I thought I was quite specific in my example of this by comparing two baby's: one born with top 1% wealthy parents, and another one born in the bottom 50% income parents. The baby's have done nothing in their lives yet and are equally talented, yet one of them will almost certainly have a much better life.

Unless you want to argue that the rich baby somehow deserves more, I think it's better to assume she was just lucky being born rich. And this luck will extend throughout childhood: positive environment, more friends, better care, better schools, etc.

You are right that this still does not make it unfair. This is all luck. But what would be unfair is when the rich kid gets to inherit all of the wealth, and not pay a disproportionate part of that wealth toward taxes that are needed to pay for the poor kids' education and healthcare, to give her at least some chance to grab an opportunity and work herself to a somewhat better life.
It's very interesting that you were able to see my use cases and come to this conclusion...
Awesome--I've been knee deep learning how C code translates into assembly instructions, learning more about the compilers roles and responsibilities; but in the back of my mind, I aways wonder: why is the C language (or any language, really ) designed the way it is. A more concrete example: instead of "how do closures work in python," I wonder "WHY are closures designed to work this way in python ?"
I probably interviewed the bagged juice folks
I've been on delta flights where flight attendants came onto the plane and started the bidding process in this same exact scenario (last minute crew). I picked up a $600 voucher to arrive at my destination at the same time (different layover).
I actually searched your blog for "pain" and "chronic pain" and didn't come up with anything, so I don't think it's "trivially easy", hence the reason I posted. Due to your attitude, I'm not really interested in pursuing it further though.
Brick-And-Mortar Stores Are Shuttering at a Record Pace
It's not assumed, it's widely known VMs have poor IO performance, that one of the main points for containers in the first place. Short ver: GIYF.
Yeelight basic control
Robust cryptography tends to depend on having accurate-enough time.
This isn't about statically detecting undefined behavior in general, it's about using detected undefined behavior to make assumptions that don't play well with later stages in the optimization pipeline.

Deciding that a statement must be true because otherwise it would contain undefined behavior (which is assuming the developer won't cause undefined behavior), and then using it's truthiness to elide the check the developer included to attempt to make sure they weren't causing undefined behavior is some contorted reasoning that I'm confident isn't something that compiler authors decided specifically should be included, but instead is an unfortunate interaction between two separate aspects of compilation.
Story is also on Fox Business: http://www.foxbusiness.com/features/2017/04/21/northern-new-...

This is not a new issue, the states have aging demographics and now are looking at visa related problems as well for seasonal workers. Maine and Vermont also don't have a big city like Boston to draw on.
These two comments are not mutually incompatible. There is also a reason I've been heard to say that Not Invented Here syndrome was invented at Bell Labs.
> According to what definition?

The dictionary's.

> You can't just throw out "circular definition is fallacy" and dismiss the idea.

Your definition was illogical, and I dismissed it, so yes, I can.
This is about performance reviews and not about managers. Although you can argue effective management does not require managers. What you missed is autonomy. That's the key. Alignment (join the company), autonomy (trust), effectiveness (facilitate).
For those not overjoyed at the idea of spending $22 per bulb, G7 Power makes [1] a low-color-temp bulb on an E12 base. I have several, in various accent lamps and nightlights, and they produce a pleasantly orange glow that's much warmer than the 2900K specification suggests.

[1] https://www.amazon.com/gp/aw/d/B00CRHG63Y/ref=pd_aw_lpo_60_b...
>You know how twitter killed off all those nice third-party twitter clients a while ago? With this tool, even the creators of the app can't stop people from creating alternate UIs for chat/payments/etc.

The only reason Twitter can stop that now is because the force of law stands behind their admonitions. How would Ethereum stop Twitter from suing a big alternate app vendor? The barriers that exist to prevent this are already non-technical.

>You know how AWS went down a while ago and github (and a zillion other sites) stopped working? With this tool, you could log into a repo manager (several are in the works) and there is no single point of failure that can take it offline.

Ethereum is an append-only system such that data inserted cannot be revoked? I know how btc works but have only glanced at Ethereum. I know programs are registered as parts of the blockchain, but all data and assets? If not, how do you ensure there is no point of failure for an interface like GitHub, or do you just mean the code to run it will always be available since it will be in the chain?

>You know how you wanted to send money from Taiwan to the US and the bank wire was declined despite repeated attempts and without any clear explanation and your money was trapped in a bank account in Taiwan?

Again, this is not a technical limitation. The banking system has every ability to move those numbers around. They are declining to do so without disclosing the reason. In this case, Ethereum/Bitcoin are not functionally different than using any other non-seized liquid asset. Someone could refuse to honor your ETH/BTC transfer just as easily as they could refuse to accept your USD transfer.
Larry Wall tried, with some success. A Lisp / Scheme codebase could also be transformed along these little nest.
Yeah, don't want the harsh white, but once upon a time there were bulbs that created natural warm light that wasn't dim and didn't cause the environment to yellow out.
You're missing the trust piece.
Yeah, the best solution here is to use multiple chrome profiles with one for each account. Google's multiple sign-in is incredibly buggy and is a huge pain when integrating with their oauth APIs
WOW I AM a PRINCESS
Do ISP's keep detailed logs as far back as 2005?
they should have named it after a fruit ... like mangodb or something
Tomorrow's Cities: Singapore's plans for a smart nation
Watch your attitude. I'll take a bet that the person you're replying to contributes to foss far more than you do.

If GP were "selfish" he wouldn't give a rat's arse about sysvinit in the first place, but in this community you clearly don't know the first thing about, there is such a thing as compatibility-friendly development. If a config you don't like is popular, you still end up having to support it; that is why all the popular python projects I wrote are still Python 2 compatible. If I wanted to have it my way, it'd all be Py3.6 only.
Yes, what a gem of a man.He also posted his email address in the comments for a young high school student for any further help. He is 88 years old now, I hope he is in good health.
Mango IS tasty. Much more tasty than cockroach IMHO. Still though, I doubt the name is much of an issue.
It's quicker to teach a language by pointing out how it differs from a similar language that the student may know.
do you think its because they got old and fat?

(sorry for being snarky, there is a huge subjective difference between r5 and r6)
My bedroom has philips led that claim to be the most efficient and they're warm white
>It is unlikely that there is a company in the US that has a security team that hasn't heard of H1.

You'd be surprised. HackerOne is relatively new, just several years old. Does everyone know OWASP, almost certainly yes. Does everyone know the BSide community? No.

Anyway, H1 can act as a shield, in this case. On the other hand, companies like WhiteHat or Rapid7 are probably more well-known since they will probably spam your security team on a regular basis trying to sell their products.
Goodness gracious, get a $50 blender and just toss a bunch of random plants in it. 10 seconds clean up, tastes good, lots of fiber and is filling.

I've realized now why I'll never be a startup billionaire, I'll never be able to come up with a stupid idea nobody needs and doesn't work well and makes the planet and humanity worse off while telling everybody around me I'm making the world a better place.

The video the company produced on how to use the machine is also ridiculous [1]. There's how many steps involved setting up and using the machine? I need an app on a phone and wi-fi to set it up? And after I go through all these steps and get my juice, there's even more steps?

"cut the pack open and empty the pulp into your compost"

"rinse thoroughly"

"keep the packs in a box"

"when you're ready to send them back come to our site for a shipping label"

"burn some dinosaurs on your way to the UPS store to drop off your processed, empty, rinsed juice packs"

This can't possibly be real life.

1 - https://www.youtube.com/watch?v=-i0UugILBJg
https://news.ycombinator.com/item?id=14167637
Why is Chicago's lighting important? It's not exactly new - I live in a small rural town in the south west of England (Yeovil, Somerset). We sprouted new lighting spectra last year (or earlier).

Chicago - major city (you've heard of), Yeovil - small town (you haven't).
Really interesting writeup. The contraption has parallels to some of what we do with software: automating a legacy system without completely reinventing it.

For such an accomplished practitioner, the author made one glaring mistake:

> We will use one solenoid on each side of the snares, thus doubling the force

Clearly they have a system with one solenoid pulling from each end of the same thing. This does not increase the force at all. Pulling on a rope with one end fixed is just as good as pulling on both ends (from the rope's perspective there is no difference).
Data Science Weekly Newsletter – Edition #178
If you wife counts the cost of commuting, dress clothing, supplies/materials, paying others to cook/clean/care, taxes... does this even make a profit? What is the point?

Meanwhile, there is an impact on family life. There are only 168 hours in a week. Take out 56 for sleeping, 60 for work... now down to 52, which is 7.43 hours per day. In those 7.43 hours you must cook, eat, bathe, poop, shop, make love, commute, exercise, and more. I don't think that really fits. Something is not getting the time required.

Is there a good reason she persists? Would she feel unvalued as a stay-at-home mom? Does she fear that she might be inadequate? Does she somehow think she'd be a failure if she chose a traditional role? I hope you would still respect and value her if she did that, and that she knows it. (don't just assume she knows it -- and she may hesitate to believe you if you say it, due to upbringing or peers)
It's more efficient in the manufacturing phase (1 LED instead of 2 or three.)

But a 3 LED RGB light can produce softer light, with more lumens per watt.
I could be wrong but it seems to me that the near-unreadability of blue commercial signage at night is probably another aspect of this whole category of concerns.
There's no wheels - would a plane be required to taxi to fly at a US airport?
Bitcoin began as a whitepaper because it's a runaway thought experiment. I'm sure Satoshi would've done things a little differently if he truly expected to become a billionaire from it.

There's nothing wrong with that, but it's a little excessive to assign such heady altruistic qualities to Satoshi as if he/she/they knew ahead of time what bitcoin would become. The infamous "$15k pizza" clearly demonstrates that bitcoin began as a toy and people got a kick out of it when people started treating it as real currency.

I really respect bitcoin's implementation as a thought experiment/"let's try this crazy thing" project. I think its use as a permanent basis for a real-world currency and/or a storage/execution platform for programs is misguided.

It'd be a shame if we elevated the experimentation of one intelligent person to be elevated into religion and never their mistakes, instead of respecting their intent and leadership and developing improvements that reference the work without memorializing it.
How getaccept achieved 100% uptime
For First Time Since 1800s, Britain Goes a Day Without Burning Coal for Power
I can't agree more. I think a lot of the pieces to enable such a compiler stack are there--gradual typing, extensible parsers, and so on, but nobody has put them all together into a single place.
I completely agree with you.

A simple conversation with someone is far more telling then having someone fixate on a single problem for 40 minutes
well personally I thought fleshing out a distributed key-value store atop thousands of raft groups whilst maintaining strong consistency guarantees would be their number one problem but I think we might have different definitions here.
If it's a publicly traded company, shareholders might be able to sue.