skysight-inc/HackerNews huggingface dataset:
Good discussion here with a couple people that have made the transition offering assistance:

https://news.ycombinator.com/item?id=9611668
That is amazingly beautiful in its own way. For a couple seconds.
Thanks for sharing. I don't have a computer science degree so I find it interesting to hear.

And being in school for those years doesn't tend to make people more stupid, so maybe it had some effect. I think people underestimate how quickly some skills like math atrophy when they go unused, or even more basic skills than that.

It's funny to see such strong regional differences. Here, I believe it's normal for temping agencies to turn people away unless they have a 4 year degree (and a 2-year degree isn't considered valuable). I always get the impression that the Bay area is the most open to people taking this route.
It could be worse, like on my phone:
http://imgur.com/Ig90s55

In wonder what happens if someone has an even lower resolution phone.
Companies Should Stop Growing
A $150 one time cost certainly isn't harmful if they know the one time cost going in. What could be harmful is if the post-launch support is lacking. Especially if they consider deploying Wordpress sites which need near constant updating and a pretty strong knowledge about which plugins to avoid at all costs.
I'm delighted at the lack of any Google Analytics script on the page. Practice what you preach. :-)
SMTP needs this so desperately that it's worth making a customized solution - if there is a chance that making the standard generic would slow its adoption or development, it's probably best to do it this way. None of the others underpin, necessarily, a global communication infrastructure that powers the world of business.
Modern desktop computers are what, a million times faster than counterparts from the 1980's? I will take the TLB misses and reduced efficiency. It's time for safety and reliability to take center stage. Microkernels seem like a great design for that, much moreso than monolithic kernels.
If you like MST3K, definitely check out the Master Pancake series at the Alamo Drafthouse - https://drafthouse.com/austin/series/master-pancake . To be honest, it's one of my favorite things about living in Austin. It's live comedians heckling bad films. I've seen a ton of movies this way. Some movies, this is the ONLY way I'd watch them (I saw their mock of the second Twilight film--even they couldn't make that movie compelling to watch.)

The only negative is that they are so popular that tickets often sell out nearly a week in advance. It's a great way to spend a Friday or Saturday night in Austin.
It doesn't. That was just an incidental piece of detail.

If it makes it more comfortable to you, replace "WebAPI" with any other technology that interfaces your code with the outside world. Maybe a UI toolkit or something.
Top 10 interview questions on java interfaces
The self-healing in Windows' graphics system is pretty awesome and very practical. Also what does 'not perform well' mean? Not well enough for what?
I wish :-(
I can see the doxxing being an issue (although, if you're referring to Milo Yiannopoulos, I think the case might be more complicated), but I think anyone who reads 'kill all men' as a anything more than a rhetorical flourish is being a bit over literal.
There are several problems with this simplified view of the economy. Namely that the inflation rate is not realistically tied to minimum wage in any way.

In your view, why do we even have a minimum wage at all? Obviously if the job is so inefficient at creating wealth that it isn't worth paying minimum wage to do the work, that work needs not be done at all.
Beautiful piece of work. Thank you to the whole development team
Of course they all want you to feel like you're paid above average. :| How much are houses in your area, within a 20 min commute?
Swift has a nice middle-ground here. Functions which can throw must be marked as such, and if you call a throwing function, you must use the `try` keyword. You don't actually have to handle the error there (you can let it propagate, or choose to let the program crash), but you can if you want.

This means there's no implicit control flow. You can always see where a function might throw, or know that a function will never throw. It also means, performance-wise, the implementation is much more efficient than C++-style stack unwinding.

I've not used this in practice, because I've not tried Swift, but I think it's a good approach.

https://developer.apple.com/library/prerelease/ios/documenta...
Ask HN: Remote desktop into personal machine from work machine to start startup?
It's clear to me that work resources should not be used at all when starting a new company. (Or, for that matter, for anything that isn't work related.)

However, dealing with multiple machines can be somewhat of a headache. What would the law say about using a work laptop, when at home, to remote desktop into a personal machine?

I imagine that most people here will advise against this. But where does the line get drawn? Am I allowed to access my personal Gmail account from my work machine, or would accessing my Gmail account from my work machine render every email in that account (including those pertaining to a new company) as work property?

I'd love to better understand the extend to which complete and total separation is necessary: including separate accounts of all sorts (email/Dropbox/Evernote/etc.) and never opening the wrong account on the wrong machine.
Isn't this the talk that leads to the creation of setters and getters. If all items implement a getPrice() function then the caller doesn't care about what mix of vars adds up to that items price in the background, return royalties+tax+whatever..
Thanks, that actually helps, particularly since I sell a competing product (which isn't RO).
> Lack of bitfield support and lack of a "restrict" keyword

https://crates.io/crates/bitflags

Rust automatically adds the appropriate 'restrict' annotations to `&mut T` pointers, or well, does generally, but I think an LLVM bug made us take it off temporarily. Point is, this isn't something that you annotate in Rust like you do in C, you use the type system and the compiler handles it where appropriate. (It's more than just &mut T, like, UnsafeCell will also cause the annotation to _not_ happen, for example.)
I think after a certain amount of time writing code you get a feel for that though, even without a CS degree. Anyone who's opened a terminal knows they don't know everything, but it takes a few iterations of shittily reinventing the wheel before you internalize it. After that things start to smell(?) like someone solved them and then it's a matter of finding the right chapter in a book or set of google search terms.
I've always loved the "Falsehoods Programmers Believe About Xxxx" articles. There's always that junior developer who says, "We need a Xxxx handler! That's easy, I'll write it myself in an hour!" (where Xxxx is either a time, address, name, etc., something with a huge number of tricky potential edge cases). You can just watch the bugs jump into the program as he types. Then you get to testing:

Me: Try this test.

Dev: Oh, didn't think about that one, let's add that case.

Me: How about this?

Dev: What? OK OK, let's support that too.

Me: And this one...?

Dev: Wait, what? How is that even...?

The code is about 200 lines now, and we've blown the afternoon, and it still doesn't properly handle Xxxx, so I'll forward him the "Falsehoods Programmers Believe About Xxxx" article.

Dev: Oh crap, maybe I should have looked for a tried and true library that handles Xxxx....

Me: Yes, grasshopper...
My Firefox on Android does have a readability feature, but for some reason it doesn't activate on this page. Fortunately it looks ok in landscape orientation.
I've seen a roomba in action, and it does a terrible job at cleaning a place. The feeling I got is that it replaces 30 minutes of cleaning with 50 minutes of watching a robot move around, and 20 minutes of cleaning yourself all the spots it missed.
Debt comes in all shapes and forms. Credit cards being one of the worst deals for consumers. Some of the other forms of debt can be very helpful.

If you don't understand it, then yes, you should avoid it. But if you do understand it, you can use it to help yourself.
I don't mean to be undiplomatic, but there's no way I'm going to encapsulate this is an HN comment. Books! You must read books!

If you want something really easy to start with (albeit a surface scratcher), try The Revolution: A Manifesto by Ron Paul.

I don't even understand why anybody thinks that the default position is that everyone benefits from police. The burden is on you to prove that one.
Just open up a browser and make the window smaller.
Page looks great in my text-only browser (no ad-blocker needed). Thank you AdTech Operator, even if it was not intentional.
Idealess-founders was an interesting experiment; that YC tries such things is a defining characteristic.

Theory: it's not the value of the idea in itself, but the motivating effect it has on the founder. An idealess founder goes nowhere. "Going somewhere" is necessary for exploration - even if your destination turns out worthless, you might find something better than you imagined along the way. But there's no serendipity without a journey.

- What is the current theory of the role of founder ideas at YC?

→ What experiment could disprove it?
It's an architecture problem. What makes QNX fast are a few
basic design decisions:

- The basic interprocess communication mechanism works like a synchronous subroutine call - you call, you wait, you get data back. Most slower microkernels have unidirectional I/O as a primitive.

- This is very tightly integrated with CPU dispatching, so that calling a service which isn't currently busy is just a context switch, not a full pass through the CPU dispatcher. This and the above are what make QNX fast. If you do interprocess communication by writing to a socket without blocking, then wait for a reply by reading from one, it takes several extra trips through the CPU dispatcher to call another process. Worse, every such call can put the handoff to the new process at the end of the line for CPU time. If you're CPU bound, this kills performance, in some systems by orders of magnitude. The ability to toss control back and forth between processes at high speed is essential. (This is where Mach blew it.)

- Userspace programs can be placed in the boot image and loaded at boot time. So can shared code objects. This eliminates the temptation to put stuff in the kernel so it's available early in startup. File systems and networking are all in userspace.

How does Redox do in these areas?
What? Consumers in the USA before could have purchased Carrier air conditioners made here. Now they can purchase the same air conditioner made in Mexico.

And we know that prices won't go down. That's not why Wall Street pushes companies to relocate.
The 2,334px × 742px image on the home page is a problem.
It started working for me about 10 minutes ago but before that I was getting nothing going to the page.
I wouldn't dare write my own. I'm not expert enough in TCP/IP stacks to know what I don't know that will hurt me. I was thinking of lifting the relatively simple TCP/IP stack from the Apache licensed Seastar framework. Since that also is built for DPDK and sees production use I know that it should be easy to adapt and probably doesn't have serious flaws.

I'm actually strongly tempted to just to glue Seastar and Go together. That's the lowest risk approach.
There's an inline style on a div that states:

margin-left: 150px !important; margin-right: 150px !important;

Changing the `150px` to `10%` seems to make the site slightly responsive while looking about the same (on my macbook with a 1440px viewport):

margin-left: 10% !important; margin-right: 10% !important;
They're not, but I can see his point. VCs often look for an educational pedigree when deciding who to fund. Here is a great example: http://recode.net/2015/12/03/venerated-vc-michael-moritz-ope...

He's talking about why he hasn't hired any female VCs, but the pattern exists with top VCs in both hiring partners and funding founders. He says: "We just hired a young woman from Stanford who’s every bit as good as her peers. And if there are more like her, we’ll hire them. What we’re not prepared to do, is to lower our standards."

Which says, to me (a state college dropout) that I'd get nowhere with this guy if I wanted to be a VC at his firm.

Now, is it fair that they do that? Is it right? I don't think so--but the pattern unfortunately exists.

Here is an interesting thread from Sam Altman's AMA about the same issue: https://news.ycombinator.com/item?id=11315113

sama: "We looked at our data here last year--we fund founders from a very wide variety of schools, and no school at all, but many of our most successful founders went to 'top schools' and thus it's easy to get the mistaken impression we select for that."
Just a guess: even if your back-end is all OCaml, traders still want to get data into Excel to play with it.
For a site that hates ads so much, I wonder how many HN readers make a living off them.
Maybe the district just had a furlough day to use?
Verizon owns AOL now
Cuba on the Edge of Change
I had never heard of that. I'm fairly sure my team has two people in the "club". Both are quite young and are already principals.
I said 'some integer type' in anticipation of this comment if I'd just said int ;)

Although, the other reason that won't work (which I thought you were going to say) is that it'll end up as -X1XX!
That's wonderful. He argues that libertarian societies will evolve from consumer free choice of law enforcement, toward a situation where all providers collude to form a single set of laws that is convenient for them to provide.

Oligopoly is apparently the natural order of things.
Quick gist: The author surveyed 40 systems which were chartered as fully automated which subsequently incorporated human involvement before the systems were deployed.

Humans get frustrated quickly with systems intended to be fully automated.

There's no such thing as "no human involvement" in an automated system, at most you are moving the human involvement to the development phase.

Automated systems add a lot of value when they surface important decisions to the user.
Of all the times I've ever heard a pressure figure mentioned in casual conversation, I cannot recall a single time where the person was referring to absolute pressure rather than gauge pressure.

In fact, if I were at a party and I mentioned something about "10 psi", only to have someone correct me by saying "actually that's a slight vacuum...", I would assume they were trying to be mean.
Similarly with credit card numbers: most credit cards have spaces between groups of digits in the account number (as it appears on the card), but many web forms will reject the number if it has spaces in it. (I find it much easier to verify that the number I typed into the form is correct if it looks like the number on my card.)

Or web forms will reject a phone number if it has non-numeric characters like "-", which many people would probably think of as an integral part of their number.
Read my comment from above. There are no jobs in which a assembly line worker can easily retrain.

No company on Earth would ensure these types of workers, in the same vein as insurance companies didn't ensure people with expensive pre existing conditions until forced by the gov. If it's subsidized, then just call it what it is: another tax. Unfortunately, the government already runs a massive deficit, so not sure how it can be afforded...
I wondered about this too.

It appears to be because one of their mobile phone service provider's network is managed by Monaco Telecom.

https://en.wikipedia.org/wiki/Post_and_Telecom_of_Kosovo
Are you reading this forum on a Somali-designed computer, or do you believe that industrial-level productivity is a worthwhile goal?
There's really no way to convey my feelings about this sort of thing without coming off as overly negative, but I'll try.

It's kind of a bizarre logic, wherein the author gets to gloat about all of the street-cred of making it while still condemning efforts at trying to eliminate the attempts at color-blindness that have at least partially eased that journey. That seems like a self-defeating game, one that injures future folks while serving to give a temporary soapbox and bonus to the person making the observations.

Also, the bit about ethnic/minority founders being so much more resilient than everyone else is unnecessarily divisive. Go read about the early history of Id software, for example, and then tell me that stealing company equipment at night and fording rivers is somehow easier work than being one of a few persons of color at a YC demo day. Everybody's journey is rough in its own way.

And if you want to talk about the elephant in the room--at the end of the day, what are the numbers? How many minority-owned businesses have succeeded compared to their non-minority contemporaries? How many have gotten funded?

If we are here to do social welfare, and give everybody a shot at the prize, that's one thing. That's the good work of the civil rights movement. But today? Today, America's a business, and despite the whitewashing, what matters at the end of the day is what has the historically the best ROI. And if we want to be honest with ourselves, that paints a very different picture of what works and what should work. That picture is super ugly. It's also pretty lucrative.

And yeah, it's shitty. Then again, maybe we should save our pity and outrage for the dozens of homeless or imprisoned people of color in our cities instead of one dude complaining on Twitter.
It absolutely is a legitimate use case, and would IMO improve security for the type of developers who do use SSH, but don't know what a fingerprint is. It would also make it easier to create secure connections for non-developers, e.g. a SFTP/SCP based file sync app.
So, this is essentially a Windows version of OS X's Fusion Drive?
Up for a pitch?
It only conveys disagreement to people who read that chapter in a pop science book.
L4Linux proved that this can be done quite effectively, and at the time, it performed better than hypervisors like Xen that were growing in popularity. What GNU Hurd is trying to do is decompose the monolithic UNIX kernel host into smaller services, and that's where the complexity comes in.
If prosperity is "having wealth", then redistributing wealth does bring prosperity. But then you could also say that stealing brings prosperity. Could you not?
Great article, misspelling "reuqired" only issue I had.
I knew him for over 15 years... we was a very interesting fellow... he was a diligent mathematician - I think this quote also applies to him: "...it's not that i'm so smart it's just that i stay with problems longer..."
The page can be improved if you remove or self-host your Google Web Fonts.
Wait, all of your phone numbers rhyme?
Upvote. I think it was here someone said something like 'economists are the modern day clergy - paid by the rich to promote ideas that benefit the wealthy'.
> In the current situation, it seems that at the very least we are going to see an increased use of ad blockers, resulting in further damage to internet advertising and national economies

This is absurd. Destroying my focus so you can sell your product does not "damage the national economy".
I would assume the current government may have a hand in it (they have been accused of similar things before)
The bandwidth of POTS is limited to about one decade, from 300 Hz to 3.3 kHz.

Often you don't notice the poor quality while using POTS. But if you ever listen to an NPR show where a journalist is calling into the studio over POTS, it's quite jarring how bad it is.
It's useful if you want push notifications using the W3C Push API. That lets you get notifications without becoming a slave to Google Cloud Messaging [1] or Apple Push Notification Service [2]. This should now work in Firefox and Google Chrome browsers[3]. Microsoft and Apple aren't on board yet.

[1] https://developers.google.com/web/updates/2015/03/push-notif...
[2] https://www.raywenderlich.com/32960/apple-push-notification-...
[3] http://caniuse.com/#feat=push-api
I for one don't hate ads, I hate bad ads, privacy infringing ads, and distracting ads.

And my livelihood had nothing to do with ads.
[Subroute.io] Online C# IDE for Webhooks and Microservices
I've thought about this a lot on a philosophical level. A person goes through life repeating the same mistakes their parents made and their grandparents made before them, and so on. We spend so much time re-learning things that have already been learned. And doing things that have already been done. Imagine how life could be different if we didn't have to start over each time.
I quoted you here: http://exolymph.com/2016/03/19/universal-basic-income-is-it-...
In general, short names tend to be used for the most generic variables. Renaming "g" to "theFunction" in the (|>) one-liner doesn't really clear up anything. Just seeing it applied to something makes it clear enough that it's a function, etc. For something less generic the identifier can introduce the relevance of the variable better. But the thing about functional programming is that much of the code is written to be very generic, and so there's not much room to use longer names.

Also, another thing that I've noticed is that it becomes much easier to deal with short variable names in functional programming, because you know the value of the variable isn't about to change out of the blue. By restricting mutable state and side effects, it's possible to just substitute the values for variables wherever they exist. So for example,

let r = getResult input
let s = "abc" + r
let t = doSomethingWith s
printfn "%d" t

is known ahead of time to be exactly identical to

"abc" + getResult input |> doSomethingWith |> printfn "%d"

Once you start introducing mutable state, something like that becomes a whole lot harder to read because you can never be sure if the values of those variables are changing, so you can't substitute in the declaration site.
Falsehoods Programmers Believe About International Bank Account Numbers (IBANs)
Good work. Not quite an OS like what they're trying to build, though. I've always thought these discussions could benefit from different categories of OS like single vs multi-user, UNIX-like vs non, embedded vs desktop vs server, local vs distributed, and so on. A soft-real-time, single-user OS is much easier to write than a UNIX alternative that's similar in capabilities. So, one can certainly write a RTOS more easily than many applications on servers or desktops but the statement seems apples to oranges applied to mainstream perception of OS's (aka desktops, servers, or iOS/Android).

"The joy I get out of doing it again vastly outweighs the pain of writing HTML by hand, but barely :-)."

Haha. I can't talk given how disorganized my stuff is. Hell, I don't even have a blog: I have text files and PDF's I send to people that ask. Gopher is on another level compared to how I do things.

Nonetheless, it's good to know people that did embedded systems as I'm slowly accumulating knowledge on that sort of thing in my exploration of secure hardware/software systems. Really wish I spent more time on embedded and HDL's back when my brain worked reliably. That's where best bang-for-buck in security and reliability are. The more people write openly on such topics the better. So, consider organizing anything you have on the magic you used to do stuff like that web server.

Side note. I'm peripherally gaining information on doing 8- or 16-bit software for microcontrollers. Hell, I even have some docs (and maybe HDL source) on a 1-bitter although with 8-bit ALU. Do you have any resources I can give to new people showing the tricks people use to reliably do complex or fast stuff with them? SymbOS would probably be high-end of that but I intend to use them in peripheral controllers, monitoring, and such.