skysight-inc/HackerNews huggingface dataset:
> now needs 'repr(C)'

It always has, we lint for this, and the Rust struct layout has been officially left unspecified (making assumptions based on it UB) from before 1.0, anyway.

> One would think that would be 'repr("C")', since here, "C" is neither a reserved word nor a variable, but, whatever.

Neither is 'repr' - they're both just identifiers in an attribute. #[attr("string literal")] is newer and still unstable (as part of the new macro system).

The bit array packing is something we've wanted to do for a long while, but it requires an opt-in along the lines of "disallow taking references to any (sub-byte) fields".

#[repr(packed)] is the same as the C equivalent, be it attribute or pragma, in that it only removes alignment padding and does nothing to booleans.
FP is based on recursion, and recursive types, inductive algorithms are essential for linguistic processing and transformation.
And this is why I make it a point to sincerely believe in the innocence of every person not convincingly convicted of a crime, and even extend compassion to those who were found guilty for the panoply of reasons for which the jury / prosecution / system might have been rigged / biased / broken.

It seems like we make sport of being able to determine the guilt or innocence of people from the comfort of our homes, armchair style, and I do my level best to ignore those discussions wherever possible, or to chime in only for the purpose of reminding them that in America at least, we're supposed to be deemed innocent until proven guilty, and that we aren't privy to proof. Moreover, I subscribe to Blackstone's adage that it's "better to let 10 guilty persons go free than one innocent person suffer."

If more of us were willing to extend such grace to those accused of crimes, perhaps fewer people would have their lives ruined by the wake of a wrongful allegation.
Why does debt repayment or savings not help the ecoomy? It's not like the cash goes under someone's mattress. It goes back into the system.
RabbitMQ is absolute crap. Surprised anyone uses it in production.

If you already have a good Redis infrastructure then you can just use the pub/sub features built into it for your websockets communication.
I think MLs are kind of in limbo in regards to functional vs. imperative and OO vs. procedural programming. While they offer good OO, it's utilized very little. The functional features are used a ton, but don't dare approach the complexity of Scala, Haskell, etc., which is disappointing to a lot of more advanced functional programmers. They have reasonably good facilities for imperative programming, but these are mostly frowned upon. The whole language is, to an extent, a compromise over various paradigms that are very nearly mutually exclusive outside of ML.
Indeed, it's generally assumed that no two versions of the compiler are binary-compatible. ABI stability may come someday, but it's not a high priority at the moment.
Is it actual vi[m] code running in elisp? I thought it was just stuff to simulation a vi[m] like experience.
The world's oldest person is dead. Long live the world's oldest person.
I've heard the concurrency situation with OCaml isn't very good, though I know nothing about that. Weirdly, this kind of bias and the idea that it doesn't have as many libraries for my particular domain (web programming) has put me off it, as much as I'd like to use it.

Using functional languages without Lisp-like macros will always be sort of weird to me, like I'm missing out on something.
Didn't know about this. I'll have to see if I can stay involved with some sort of project--the problem is that, currently, the one I was doing is...well...done.

I don't want to leave the Rust ecosystem, and I'd kill to keep working in it. But I didn't realize that there was any source of general funding from Mozilla specifically targeted at Rust. This whole thing was done simply because I'm bored and had a lot of free time and also we thought it would only take a few weeks. Money was far from the motivation initially, but certainly it occurred to me later on that it's amazing for the resume.
It depends on what you want to do. Opencv is amazing but it doesn't have easy to do high level stuff. It gives you the tools to implement computer vision systems, but you have to put the pieces together.

opencv does not come with models to detect objects and body parts out of the box(except for face detection), so you would have to find tutorials and learn how to do that recognition in opencv.

Building high accuracy detection systems is not trivial, so I would first look into apis from strong companies to see what is available. Start by googling "body part recognition API" and "object recognition API"

Some great detection apis are Google cloud vision, Amazon Rekognition, Clarafai, and there are a few others.
8chan's growth rate looked promising for a time, but I believe it's pretty inactive at the moment.
The original algorithm dates back to something like Netscape 1.1 I think. I think they added color names in Netscape 2.
Thanks.

And now I feel ill.
"On multiple occasions, the firings came within weeks of an employment anniversary, when workers’ stock options were due to vest"

Birthday paradox? The title doesn't seem to match the Bloomberg detailed article. The CEO looks like a really bad manager though, but firing near vesting seems to be the least of his flaws.
Show HN: audiff – Create and share audio comparisons online
At computer science at the University of Copenhagen F# has been used for the introduction courses the past couple of years, which as far as I know has been a big success, so I'm doubtful of it not being beginner friendly
Sadly, I'm starting to lose my hope over multicore. It's been in the works for as long as I've used the language with much speculation of it being "almost done" or "in the next release" that have failed to materialize. That said, I don't have the time to really follow along with the compiler's development so take that with a grain of salt.
That's what the parent is talking about. Sometimes companies pay out a large, one-time dividend. The other way to pay out to shareholders is to buy back shares on the market. Each approach has its strengths.
> Do you know how much value a high school type person has in writing computer programs for an actual software company? Something fairly negative.

I highly doubt it is negative. My first development job came when I was still I high school, and I worked on (even sole) projects that were put into useful production for a number of years. While I don't know what kind of revenue my work helped generate, I cannot imagine they made negative amounts of money. It did what was needed, and would have been pretty easy to throw out.

Or maybe you at least need to qualify that statement? I suppose it could see it being true if the student (or anyone of any age, for that matter) has never touched a computer before. I came with programming experience even before starting that job. It is not like programming is particularly difficult to learn.
I think you withdraw after a time and become deeply cynically. For her trump, stalin, mao, the duce, hitler, the italian king.. it must all look like endless repetitions of the same boring theme, broken by endless promises of learning from past mistakes. All your friends are gone- only you - the relic dwell on. Even your sons and daugthers are dead. The lonesome george of mankind.

One of my ancestors comes from a Italian mountain village near Lago di Garda. Those villages are very poor, but also fascinating.
They did a study on longevity and health - in which they found that farmers whos field would run up the mountain and down the mountain lived longer then farmers who fields did not have such height difference.
Very true. I didn't mean this so much as a criticism of the article, but more of an addition to what the article was already saying. I think all the arguments addressed in it are pretty good, but it's not 100% up to date with the current FP world.
That is quite impressive. I remember reading about Mezzano when he first posted it to github. It's great to have seen it come such a long way.
The Lil' Secret That Made McDonalds a $106 Billion Behemoth
I cannot vote in the US while the US taxes my income earned in other countries. This is very weird.
Keep in mind SA forums hated "memes" unless you were really good at it. That made the forums great because it also involved an element of risk so if someone wasn't sure how good their stuff was they're at risk of getting banned.

A simple example: There use to be a forums poster who posted just screenshots from old NES video games that was always super relevant so he was never banned (usually if you just post a meme with nothing else in the post you'd get banned).

Another one: The whole concept of tricking users into reading a long fictional story that started one way and eventually delved into some other topic altogether. I guess you'd now call it a bait-and-switch (w /an anti-clamatic ending).

That too was started (or at least popularized) on SA. A user named, "Hakan" posted a lot of fictional stories that were pretty good and always had a twist ending. Imitators who tried to copy him but sucked were told, "You're No Hakan." Then that catchphrase became too memeish and was banned from the forums (unless again your comedic timing of the phrase was hilarious).

Edit: Even the meme of, "Read post, then read saw username <username>" meme, seems to have come from Hakan/SA which was a "meme" where you'd read a story, get tricked by it and make a post just to specifically say you were tricked. That got banned pretty quickly as well but it's so common in reddit and other parts of the internet now.
The premise here is that many people (most, even?) are not as interested in career growth and learning once they hit 50 as they were right out of college.

That fact is what makes many people consider software development a dead-end job unless you get into management at which point the growing and learning becomes much more like other professions.
Exceptions in ML languages are very similar to those in Java. The reason for that is simple: they are simply a good way of dealing with computations that might fail. Having said that, exceptions are best used (in any language) where you want to deal with the failure way up in the call stack. If you catch the exception right where it occurs, you should just use a safe method that reports a failure in the return value.

Speaking as a Haskell programmer, never use exceptions. You can get away with this advice because the Either monad allows you to have the behavior of exceptions (namely, at any point you can "fail" a computation and have the error automatically propagate up to the handler). However, this approach relies heavily on having a type system more advanced than OCaml's in order to be reasonable.
No open source jackhammering, but their wives still expect weekend house renovation
A Beginners Guide to Personal Injury Claims
An article about how to be an "ideas guy."
Keras-TensorFlow-GPU-Windows-Installation-Tutorial
Richard Stallman – “Free Software and Your Freedom” (Philadelphia, PA)
the toolchain was pretty damn bad for years. it's only very recently gotten better with the rise of opam, oasis and some decent build systems.
Does "minimal" really matter when you'll probably take this and run this through all kinds of code bureaucracy (powered by NPM) which will end up with probably like 1MB of JS files?

Also on top of that you'll probably include bunch of 3rd party javascript that wastes tons of user traffic, such as ads, analytics, etc.

I'm being half sarcastic half realistic. When was the last time you cared about 2KB reduction in your CSS files? If you did, you're probably focusing on the wrong things. The only people who should be thinking about these size reduction is sites on a scale of Google or Facebook or Amazon where every kb matters in terms of their operational cost. But these companies probably roll their own.

So who is the "minimal" selling point really for?
Yes, when this has been brought up in the past people have determined that it is acceptable to use repr(C) for this use case.
> So just write those 100 lines of boilerplate.

Although I agree with your ide, I've written some boilerplate code before to do something very similar. As the project grew its become a constant source of bugs where someone has updated the code for one type and not another. At this point they're too far gone to have any hope of merging them, but had I known two years ago how much hassle it would have caused I would have refactored it into common code
What is "money returning to the US"? If Apple US foreign activities earned income, they need to tax that income. If Apple Ireland earned income, they need to tax that income in Ireland and there is no "repatriation" tax.

Apple says Apple Ireland has no income since all of its profits go towards paying licensing fees to Apple US. So it's income for Apple US, but they haven't paid the tax on it?

Right now that money seems to be in limbo with no one having paid any tax on it. If Apple wants to recognize that as US income, surely they should be paying the tax on it. But let's not create some tax holiday so large companies can pay zero tax on foreign activities.
Well in the former case, the employee has stuck it out and really is fully entitled to the shares -- and in most scenarios, has to pay tax on them right then and there.

Most likely in that scenario they got a better offer and probably did a good job. Arguably the cliff worked in keeping them around just a little longer.

I can't imagine many scenarios where the company firing at 364 days purely to avoid the vesting makes sense. Why hang on to someone so long if they're not adding value?
When I hire a carpenter for some building work, I'd rather hire somebody who has built his own house, or at least renovated an old one into something homely than the guy who lives in a derelict trailer.
Yup! Take a look at Discord, they're really popular and they're using Electron for almost all of their applications.
> But mostly it's just a smokescreen to ignore how terrible our corporate income tax system is and it's rates are among the highest in the world.

I think it makes sense to look at outcomes. It's a fun intellectual exercise to look at the thousands of pages of tax guidance from many tax advisors on lots of different structures within a complex tax system, and analyse the tax rates, which include some high top-end marginal rates.

But at the end of the day, tax revenues as a percentage of GDP in the US are 26%. That's well below the EU (world's largest economy, biggest block of developed countries) of 35%, and well below the OECD (world's largest economies) of 34%.

It's kind of a myth that the US has some of the world's highest taxes. Perhaps it has some high tax rates, but after all the exemptions and deductions etc, the result is a relatively low tax burden, about 1/3rd lower than the average of other developed countries.
Judging by the downvotes I got for that comment people are so sensitive they don't even like it when you point it out.

People, grow up.
The OOM killer, the graphics and audio stack (arguably a userland problem, but still), various other things. A lot of the baggage inherited from being Unix-ish.
I think John Romero is just glossing over the details since it's a (cray) Cray story. The PC was id's primary target platform and Carmack surely knew that Win32 is where things were headed. He ended up moving to NT as his development platform. Here's his .plan from a little later that talks about this in some detail:

http://rmitz.org/carmack.on.operating.systems.html
Get a LinkedIn. Build up a portfolio on a personal website. Hop on Fiverr and do some work there. Solicit on Craigslist or see what people are looking for. Don't let them take advantage of them, but charge a fair price.

Web Design will definitely be one of your strongest points, especially WordPress. The first website I ever did was for a charitable organization and I never charged them. I even hosted their website for about 6 years before they finally wanted their own web designer and host (they were located in another country, and I'm in the USA).

My second website was $250 and with each website and the demands that came with them, my price went up. I'm still relatively cheap in my pricing, charging anywhere from $500 - $1200 for non-custom work, and of course, custom work means touching of WordPress core code or theme code adds to the price.

Good business to get into... always keep learning. Keep this philosophy with all your clients:

"If you are fair with me, I will be fair with you. Here is my price."

It has always worked for me.

You can also get a few small websites under your belt and go around your neighborhood to local shops and ask them if they'd like a website. Good luck.

You can also get a shared host at a place like DreamHost ( http://www.dreamhost.com/r.cgi?1405127 ) and charge a couple bucks a month or for the year for hosting. I charge my clients $5 a month to host their websites. Not much, but it pays for your hosting and other services on there.
I can hardly imagine this working well, but I'm driven to install it and give it a try. Thanks for the link; maybe it will be magical!
Just to clarify, it's not concurrency that's the issue but parallelism. You can write nice concurrent code pretty easily, but writing code that runs on multiple cores is still a problem. Also, if you're interested in using OCaml for web programming, there is some pretty cool stuff you might wanna check out [1] [2] [3]. That said, there's no great solution to the lack of macros :/

[1] https://github.com/dannywillems/ocaml-for-web-programming

[2] https://github.com/rizo/awesome-ocaml#web-development

[3] https://facebook.github.io/reason/
[2]
Mileage is probably not representative when you're in a university setting being taught by professors in an intro course versus a professional trying to use a multitude of the data science libraries and having trouble tying it together. Python has a zillion books published and a large percentage of them are beginner oriented. F# has only a few books and they are almost all for experts.
You can't always swap. For example, you may want to use a movable but non-copyable type to keep un-aliased access to a single resource (see linear/affine types) and the compiler treating the move source as dead is useful there. Or maybe you don't want to allocate anything for the move target because the resource you're managing is expensive.

Keeping track of when a destructor gets called is not a huge problem at all. From the user perspective it's airtight, proper uninitialized value analysis in the compiler make it impossible to screw up. From the implementation perspective all you need is the occasional flag on the stack (whose value is already calculated) for situations like `if ... { use_by_move(obj) }`, and a rule against moving things out of fields that you're otherwise not responsible for destructing (you can still swap there).
I don't think the birthday paradox is relevant here.

A decent statistical test would be to gather all firings within some radius around work anniversaries (let's say 6 weeks), and see if there's a statistically higher chance of the firing happening before the anniversary than after. If it's egregious, you'll see a lot more before than after.
Beating Crafty is enough to prove that it can beat any human.. that is quite an achievement, or atleast a notable result. Of course, its easy to criticize without having played chess or doing any research. Going by Crafty's ELO, it would win against Magnus Carlsen 80% of the time
Yeah, I believe Demonoid had its beginnings rooted in SA (or at least some connection,) which was definitely the most popular.

Dreamhost also had beginnings on SA, they used to give steep discounts to SA members.
This sort of decision is probably why John Carmack is now CTO of multi-billion dollar corporation Oculus VR, and John Romero is... umm... well, I think he lives in Ireland now?

Mind you, you might also like to count how many awesome genre-defining games Carmack worked on after Romero got the boot...
I was the one who replied with that, asking him to resend without PGP, for two reasons:

1) both of our MTAs do STARTTLS. And gmail is only TLS.

2) 99% of the PGP-encrypted emails we get to security@golang.org are bogus security reports. Whereas "cleartext" security reports are only about 5-10% bogus. Getting a PGP-encrypted email to security@golang.org has basically become a reliable signal that the report is going to be bogus, so I stopped caring about spending the 5 minutes decrypting the damn thing (logging in to the key server to get the key, remembering how to use gpg). But I recognized him as a knowledgeable person from the Internet, and I knew (1), so I just asked him to send without PGP to save me 5 minutes.

Even if I'd used PGP, I would've just replied cleartext anyway to our security@golang.org list, except all the MIME would've been garbled and unreadable.

In summary, the PGP tooling sucks (especially in gmail, but really everywhere) and it's too often used by people who are more interested in using PGP than reporting valid security issues.
Many of those were personal income tax dodging, corporate tax dodging is usually island tax havens or Ireland recently (Apple/Facebook).

Personal income tax dodging is bad as that is where most tax revenue comes from. Taxes should probably be lower on income as well though to discourage tax games and retaining more tax whales (wealthy tax payers). People of all brackets need more money in their pocket for this consumer economy that hasn't really rebounded.
Thanks for the links and info, I'll be looking into Ocaml more.
Is Uber's position defensible given a competitor with enough resources?
Concept is great! The screenshots don't inspire a sense of it working effectively though. I don't think raw sentiment analysis is enough. 'Good' news to me has one or more of the following qualities:

- It's actionable
- It's informative in a pragmatic sense
- It invokes a positive emotion, such as curiosity, wonder, appreciation, hope, fascination, delight, laughter
- It doesn't aimlessly invoke apathy/fear/anger/disgust/disappointment/hopelessness
- It has substance and is more than a mere report or thin and reflexive reaction
- It isn't tailored to reinforce a specific political agenda
- It's within a domain of interest
- It makes be better equipped to deal with the world

That rules out almost all news articles and virtually all of the examples in the screenshots. I don't think that kind of selecting can be done purely with a sentiment analysis.
I wanted to see the user agent and request headers, since there's another comment about other sites being blocked.

I simply looked at basic web server logs. It's a beta site with hardly any traffic, so the only log entries were myself and those from the three users from Urlroulette. I was surprised to see the same IPs were still making requests when I went to close the terminal a while later.
Ask HN: What's the Hacker News of hardware?
You realize that (due to load-balancing algorithms) you probably won't see that (theoretical max) 250 MBps to a single device, yes? From one device to the QNAP you'll still see at most 1 Gbps (usually -- there are some exceptions).