skysight-inc/HackerNews huggingface dataset:
There are two specific cases here where the layout is not obvious.

The first is the null-pointer optimization (I think this is the official name but I swear I question myself every time I mention it), in which we use knowledge that an inner struct contains a reference to avoid enum discriminants. that is, Option<i32> will have an extra field up front saying if it's None or Some, but Option<&i32> will just encode None as the null pointer because references can't be null. This also optimizes something like Result<&i32, ()>. The net result is that a lot of stuff that looks expensive is basically free. There has been discussion of extending this to use multiple pointers so that we can hit more complicated enums like Option<Option<(&i32, &i32)>>, but this has thus far not happened.

The second is enums themselves. The discriminant algorithm is not obvious. If you want a discriminant of a specific size, you can pick it with a repr. But otherwise it's implementation defined.

And there is one third thing we have discussed doing but haven't yet. If you have a bunch of enums nested inside each other, having multiple discriminants is a waste. There is no reason the compiler can't just collapse them down into 1 in a lot (but not all) cases.

For anyone who wants to know the specific algorithm for all of this, it's now all in one place: src/librustc/ty/layout.rs
tl;dr I should have been able to get a 4 year degree after taking 3-4 classes. Why do people who have equivalent education need to _waste_ 4 years of their life?

I think that the largest problem is that there is no way for people who have achieved the equivalent or more of a college education to gain the same recognition. But possibly that is just because it affects me directly.

While working a technician type job for years with lots of downtime, I studied CS at home and with my work downtime. I took lots of the free courses from the elite universities and finished them. I read lots of good book, most of the No Starch Press books, and did all the exercises. Then I had the money to fund a four year degree, with high expectations for the higher level classes I persisted through the absolutely painfully trivial, tedious work. I got anxious about wasting so much time not learning, after I was not just out of high school.

I've burnt out on busywork, started neglecting schoolwork for stuff that actually improved my skill, or to drill way deeper into some interesting bit of a class than needed to get to something challenging. I ignored school for side projects that stretched my legs. It really hit when I took 300-400 level courses and realized that i really wouldn't learn anything CS at all. I've even helped nearly 10 other students learn Python which the school doesn't even teach pair programming with them on a very non-trivial project.

But now here I am, way more advanced and capable than a standard graduate, terrible GPA, not going to graduate, and no job opportunities. I don't even care how much I make, I like programming, I like making things, I like solving problems. Probably going to have to go back to what I was doing.

That said I did pick up a couple math tricks, but _wasting_ 4 years of my life for 3-4 good classes which could have been taken in 3 months, not even remotely worth it.

Been here for a while but using a throwaway for obvious reasons.
Anyone notice at the bottom where it says "Our research on LandHere was made possible by funding from the NSA"?
It doesn't look like they store data on the shadow stack, just return addresses, so it wouldn't take double the time. It does look like it would take double the stack space (and depending on how small your function stacks are, double the cache), but the flip one bit implementation definitely isn't the only way to do this.

This is actually pretty reminiscent of how WebAssembly handles stacks. The "real" WebAssembly stack for both local variables and return addresses isn't even within the sandboxed memory addressable in WebAssembly. For values on the stack that require something more sophisticated (e.g. ones accessed via pointers) compilers put them on a shadow stack within WebAssembly's addressable memory. Since WebAssembly doesn't even have an address for the other stack, it's inaccessible baring a sandbox escape, preventing it from getting corrupted and allowing an arbitrary return address.
Buy a U.S. company?
SA really had an amazing culture. I ran GBS FM (a 100% user-contributed online radio station for Goons) and some of my best friends to this day (offline and online) come from that project.
You think you can run artisanal handcrafted websites using cutting edge JS frameworks on that lugubrious relic!?
> Quoting is still a problem. Most answer above. Some below. Many nitpick in between.

One thing I've noticed on Hacker News, Slashdot, and even reddit is that if someone quotes the post they're responding to, they'll invariably post their response below it. And if they quote multiple parts of the parent post, they'll interleave their responses. I don't recall ever seeing a response where the quoted text is below it.

I've really never understood the rationale behind top-posting. It makes it much more difficult to understand the context of the response without having to jump between the original message and the response.

> Threading is easily broken. Especially if Outlook users are involved.

That's because Outlook does not follow the relevant RFCs in terms of maintaining a message through through the In-Reply-To and References headers.

> Formatting is an issue. There is no markdown or whatever for links.

Most GUI clients will make links clickable. There are also conventions such as using astericks, _underscores_, or /slashes/ for bolding, underlining, or italicizing text, but a lot of clients don't render them consistently, IME.

> Some people insist on line lengths and other stuff.

There is an RFC that adds format=flowed to the Content-Type header. Then every line that ends in a single whitespace character will be joined with the next line and wrapped at screen width instead of at the position of the CRLF characters. Clients that don't support it will still see the wrapped text.
eetimes and semiengineering as well as r/hardware (although it's a lot less technical) can be interesting
I may be restating some of what has been said elsewhere, but I hope that this simplifies things a bit.

What I believe the grandparent said was we should slow-roll neural networks where they have severe consequences, as in, life and death.

I agree, slow-rolling the internet would have potentially affected adoption, but the stakes are lower than, say, a self-driving car going off the rails. In those cases, we should probably thoroughly understand how a car can be affected by adversarial attempts at "breaking the algo" before adopting it very widely.

In other words, I wouldn't slow roll the internet because of fears of adversarial behavior, but I would in the face of self-driving cars.

I hope that further discussion could describe how internet security is as life-and-death as self-driving cars, or to the contrary :)
You have this posted anywhere? I'd be interested in studying it.
I remember GBS FM :)

I'm actually really surprised to see this on the front page of HN today. I wonder how many people who actively read/post on HN were also on SA back in the day, or still hang out in Cavern Of Cobol and/or YOSPOS.
A laptop is a tool. As a developer I want to be confident in my tools. If you can work on a Mac, you can work on any Mac: the keyboard is identical, the environment is more or less standard. You invest into learning to develop on Macs only once. Compare that to HP's and Dells: similarly to the Android ecosystem there are just too many variables.
> Mac gamers need a high-speed/low-core-count CPU, the best single gaming GPU possible, and VR hardware support.

So honestly, are there any real "Mac Gamers"? At this point I think everyone knows to just boot into Windows to play games... the hardware isn't amazing for gaming, but games run a lot better on Windows than they do on MacOS on Apple hardware. Feels like "Mac Gamers" debate was settled years and years ago... if you're serious about gaming, even like casually-serious, you wouldn't even consider running MacOS.

It's sad... I remember playing Unreal back in the day on a Mac (one of the colorful case Macs) in college. The game ran so much better than it did on a PC... steam looked like steam, lighting looked better... everything was clearly better on a Mac than any PC I had seen / had access to. But when the latest generation of MacPro was new (ha, 2000 years ago at this point)... I fired up a game on it (running MacOS) to see how it compared... and I got better gaming performance on a $400 off-the-shelf-PC with a $250 graphics card added.

What I would LOVE to see is just a Mac like the slightly older MacPro -- aluminum tower case. With lots of standard expansion slots so we could expand as needed (specifically video cards). I don't think games will ever be optimized for Macs the way they are for PCs, but I'd be happy just switching into Windows on the Apple hardware when I played games.

---

Side note... anyone else play Escape Velocity? I got to thinking about "good Mac games" and that one stands out. Also most of the Marathon series (spiritual precursor to Halo). Hellcats stood out too for being advanced for the time... most everything else came out on PC first though I think.

* EV Nova | Ambrosia Software, Inc. || http://www.ambrosiasw.com/games/evn/

* Marathon (video game) - Wikipedia || https://en.wikipedia.org/wiki/Marathon_(video_game)

* Hellcats over the Pacific - Wikipedia || https://en.wikipedia.org/wiki/Hellcats_over_the_Pacific
This is a fundamental problem with statistical approaches like NNs: we currently have no good idea when our how they will fail; it's the explanation problem.

Putting a great deal of reliance on a system in that situation seems like a great mistake. "It looks like it works under normal circumstances" is not very reliable.
Art should be made because of art
The first time I think I saw the idea was [0], but I don't know if this is the post that got linked in the discussion threads. Rust didn't have fuel at all until after my changes, and I don't think it's necessary to use it as a limit unless you're letting the optimizer run on the optimizer's output until it stops changing. The number of optimizations Rustc can run is already finite because it doesn't do so.

nonetheless, the idea isn't original to us.

0: http://blog.ezyang.com/2011/06/debugging-compilers-with-opti...
This is a really interesting avenue to explore. How easy is it for humans to misunderstand something such that it leads to "catastrophic" failures. Here, a catastrophic failure could be something as simple as a huge fight between two people for a simple misunderstanding. If humans can have "breakdowns" based on simple misunderstandings, what are the cascading effects from a simple misclassification that can happen?
Have you looked at the Nikola website recently? They switched to hydrogen fuel cells plus a battery.
No, he's right. I changed it after I saw his comment.
$800 is not cash, it's airline vouchers with a lot of limitations and an expiration date (1 year). More money would have solved the issue, people on that plane said there were people told the gate agent they would volunteer if the offer is $1600, but gate agent just laughed about it.
I finally decided against it and went to the department of linguistics for the thesis. Nothing special, just an average thesis.
Intel last year released a preview of their Control-flow Enforcement Technology instructions, which appear to implement these proposed extensions (shadow stack + indirect branch tracking): https://software.intel.com/sites/default/files/managed/4d/2a...
Yay we get to live another day!
Thanks but FX conversions and duties would kill any benefit there. I appreciate the thought though.
Apologies; I thought 80 columns was ok for everything?
I'd say it makes very little sense. You can say "long live the world's oldest person" all you want; everyone realizes it's not going to happen.
https://baqqer.com for hardware/maker-y stuff.
Clearly it was bell-bottom pants.
> And yet they claim it's a systems programming language.

C++ also doesn't guarantee a stable ABI, and even the C ABI is only de facto standardized on various platforms, nothing is provided by the language standard itself.
Yes, because Aaron was not faculty.
As someone living in Japan with friends in Korea, this is rather true.
I don't see how you could not notice a difference for any workload between a pentium class CPU and an i5 class CPU. You'll notice a difference by just opening Chrome.
I laughed and then tried to invite you on HN mobile... Joke's on us I guess.
Usually, when the "what we'd like to see in {iOS,macOS}++" articles come out, it's just a couple weeks before Apple announces the new features and I shake my head because it is already way too late for the feedback to reach Apple.

In this case, if you believe the rumors that development on the new Mac Pro is still very early, it actually seems like articles like this and [1] might do some good.

[1] https://carpeaqua.com/2017/04/09/a-software-developers-mac-p...
Ask HN: Strategy/sites for searching for Internship?
For the people trying to find software engineering internship in US internationally.

What is the strategy for searching SE internship?

Are there way sites that provide the list of companies that hire interns internationally with good compensation?
This site is pure click bait.
Yeah, we all remember the worldwide celebrations at the turn of the last century, 2001-01-01.
How often do the jlp bytes occur randomly in memory? Is this a pattern that never shows up in x86 assembly?
Ugh, same here. That killed it for me.
Zero Hedge is the Breitbart of economic news. I'm not saying you're wrong, but using them as your source does not win you any points.
... Nice for whom? I'm sure xyz would love to turn a profit.
I agree with a lot of what you said, but I'm not sure about the "looked down upon" part.

My impression is that the sentiment is more typically one of concern and/or alarm. It's a concern that these "cultural" Christians are deceiving themselves about following Jesus, and are therefore at significant risk of not having eternal life.

I think what many of these evangelicals find particularly vexing is that they don't know how to reach out to these "cultural" Christians without so offending them as to make them permanently unreceptive to the discussion.

I've wondered sometimes if a big reason adherents of a particular religion feel threatened by encountering those of other religions, is that forces them to confront their own doubts about their own religion's veracity. If one's sense of eternal wellbeing is hinged on having chosen correctly, I would imagine that's a terrifying thought.
Rather than manually, how about with a tool assist?
Don't miss the jack. Do miss the freedom of using any headphone.
JCooley @ Synopsys was great help on Usenet in the early 90s. I don't know what's up about that now.

EDIT: But still ... the tooling is pretty stable. I don't know that I would turn to an HN-like community to help me put a (frankly, pretty vanilla) module on a CPU bus from the Broadcom family. I know how to do that. You can go down the stack (at which point everything is proprietary) or you can go up the stack (at which everything is software). No?
Is it worse than clicking random links on Reddit, other than maybe you can't see the url first?
>Somehow despite their "disastrous desktop machines" and disappointing laptops, they are the highest revenue PC manufacturer in the world

No they're not; they're the most profitable mobile phone manufacturer who also happens to make PC's.
No, x repos are just eXtra.

/x/exp is expiramental.
Our goal was removing the Taliban, and taking the right to police residents of the country, particularly Bin Laden, without the need of jurisprudence. Set up a friendly government, take over sovereign right. What am I missing here?
Thanks! That looks good. I didn't mean any extensive chapter on OpenGL and the like, just some examples of linear algebra commonly used in computer graphics.
This makes no sense, because the only reason a higher proportion of bogus patents would increase the interest rate charged is because it would increase the risk that the patent returns very little in revenue (the higher interest rates aren't increasing profit, they're covering higher risk).

I think what'd you'd actually see is specialist patent funding actuaries and patent evaluators making an interest rate bid dependent on the actual patent and inventor in question, much the way insurance industry works. The direct competition would be business loans, and maybe that'd be essentially what they were - secured business loans.
North Korea can't even get a missile to fire, yet SpaceX is able to launch a rocket into space and have it land itself back on a drone ship in the middle of the ocean. This should be enough evidence alone that free markets and capitalism is vastly superior.

North Korea is a propaganda machine, and frankly their 1960's technology is a joke.

EDIT I'd be curious to know the people that are down-voting what country they are from.
Complete Installation iFunBox iOS 10.4 to iOS 10.4.1 Windows_Exe – Mac_Dmg
What sort of scenarios require 3 or more USB ports simultaneously on the go? I can understand at a desk, but I'm having a hard time imagining a non-contrived scenario where you would need them regularly on the go.
Hey you're right, my bad.
They are returning it to stock holders - however, it is not tax efficient to do this by simply paying dividends with profits. By offshoring the money they can minimize taxes, and still pay stock holders by taking massive loans with the cash hoard as security, effectively repatriating the money without paying taxes.

As an aside, they are not mainly paying dividends to get this money to stock holders. Pushed heavily by large Apple owners like Icahn, apple is buying back it's own stock - effectively paying dividends by raising the stock price. I don't recall the exact details why, but somehow that ends up also being more tax efficient. Eg: https://www.google.com/amp/s/www.forbes.com/sites/antoinegar...

Source: https://www.amazon.com/dp/B014BR46P2/ref=dp-kindle-redirect?...
It may be a pain to only use one connector, but the protocol itself compared to a lot of external busses is a lot nicer. One of the big things ethernet gives is a lot lower latency. The ear is pretty latency-sensitive, with voice latency of 15 milliseconds being a threshold where most people can start noticing. Because of the polling nature of USB, you've got to wait for the bus to ask for data, which means you're going to have at least a couple of milliseconds of latency. Also, because Ethernet is a many-to-many protocol, you can do things like have the synchronization clock on the same connection as data, so you don't need to run a million clock cables along with your data cables.
The article specifically states that the OECD analysis estimated 'payroll taxes, federal income tax, state and local government taxes.'
> AKA you write your structures out directly as binary data.

What does that even mean? Depends on what the output should be and how much control you need, I guess.

To comment on the binary vs text digression - computation overhead is probably not that much if the data is converted to a (non-portable) internal DOM representation and then typeset / rasterized anyway. And is bandwidth/storage overhead? I assume a short video quickly outweighs the costs for 100%, or in extreme cases 1000%, overhead compared to a compressed DOM representation. And the human factors are definitely there.
Seshat Global History Database
It's very sad. Halo was originally announced at MacWorld:

https://www.youtube.com/watch?v=6eZ2yvWl9nQ

but history did not go that way....
Does someone pay you to defend billionaires?
lol that number cOmes from the fact that in japan nobody checks who is alive so that folks can get the pension of the deceased for a long time. thaT was uncovered a few gears agp. so Japanese data is utter bullshit.
If the eventual goal is nuclear tipped missiles, high tech isn't so important, at least for the missiles.

Almost accurate isn't just for horseshoes and hand grenades.
Mine only has 4GB ram but it's otherwise quite powerful, and has an M.2 slot. There is a very big range covered by chromebooks, even among the cheap options.
A big part of Reddit's success has been the ability for any user to create a new subreddit for any topic. And a big part of the SomethingAwful forums' success has been having subforums for a whole lot of different general topics.

I wonder why no-one's made a forum site where anyone can create subforums the way reddit does subreddits (or have they?). There are still major benefits to proper chronological forum-type discussion, but forums for different things are spread in small groups all over the Internet and you have to discover, learn the interface, and sign up for every one separately.

I don't know if you could also make it a paid service like the SA forums in this day and age, but the $10 entry sure kept the site running and kept the spam and some of the idiots out as well (particularly since if you got banned you had to pay another $10 to come back).
The RSS feed links are here https://changelog.com/subscribe
Kazakhstan spells out plans for alphabet swap
> But I think, the long-lived, are not the best sources of information on how to live long.

That's a mighty fast conclusion there, young shot! Given that historically, "most of the people were wrong most of the time", combined with the fact that most centenarians seem to live and advise entirely against widespread modern beliefs about mental nutritional medicinal and social health, all leads to the very real possibility that they're in fact inadvertently on to something.. =)
Not by default, no, but what I mean that if you're debugging you can just enable debuginfo and that will contain the descriptions of the types including all fields, with the right offsets and everything.
According to the BBC[1], while North Korea has successfully detonated five times, it is exponentially more difficult to get the package small enough to fit on a missile.

[1] - http://www.bbc.com/news/world-asia-pacific-11813699
I would say subscribe to a couple subreddits. The level of discussion is not as to the point as I find HN tends to have (which is a good thing in my opinion), but there are quite a few different ones with varying levels of discussion and acceptance. So I wouldn't expect the HN version of hardware there, but something different.

To start you off, I subscribe to the following:

https://www.reddit.com/r/electronics/

https://www.reddit.com/r/AskElectronics/

https://www.reddit.com/r/ECE/

https://www.reddit.com/r/DSP/

https://www.reddit.com/r/ComputerEngineering/

https://www.reddit.com/r/FPGA/

Note that there subreddits related to a specific product where discussion focuses on that specific hardware. They tend to by hobbyist, but that's as close as you can get.

https://www.reddit.com/r/esp32/

https://www.reddit.com/r/esp8266/
My use case:

1. Logitech mouse dongle

2. Disk/Stick

3. Phone

I ended up buying a Bluetooth Logitech MX Master instead, best mouse ever.
The TS response makes sense in light of the other issues your desired behavior would cause.
Be careful with doing this - the serialized identifier for the type needs to be separate from the type name or else you can never rename.
This is a conversation I've had many times over the years. I've come to the conclusion that other than as a very cursory skills check, interviews are best performed simply as a test to see how well you get along with a person.

The first few weeks will tell you if they're going to work out or not, and if not, it's better for all involved to move on quickly. They will either perform their duties as an adult, which includes working without constant oversight, or they won't. And if they can't do so, out they go before the probationary period is over, because you can't train someone to care.
Introducing EShares 4 (Coming April 22)