skysight-inc/HackerNews huggingface dataset:
Ask HN: Finding remote systems programming gigs
Hi HN,

I'm a dev living in a somewhat remote area of the US (4 hour drive to the nearest major startup city). I and my family love living here and I truly can't imagine ever moving. I've been working remotely for a HFT firm building trading systems for several years, and while I like the company and we're sickeningly profitable, I'm finding more and more I want a change and I'm trying to figure out what to do next.

There are a lot of Ask HNs on the general topic of how to find remote work for those of us unwilling to move to SF or NYC but the discussions are mostly oriented towards web dev, Wordpress and the like and I'm not sure how applicable they are to the work I'm interested in - distributed systems, crypto/security, low latency servers, embedded systems, etc. It seems from my search so far that many of the firms that might like this type of skillset/interest (Amazon, Google, Yahoo, and co) are unwilling to go for remote. I've found a few good options I'm considering applying at (like Mozilla, RedHat, and ISC) but I'm hoping y'all have some suggestions on specific companies or on general outreach opportunities that would help my chances of finding a good fit.

Language wise I'm strongest in C, C++ and Python but I'd love to get paid to write Rust or OCaml or Go instead. And I'd take a very substantial pay cut for the opportunity to write open source code on Linux, especially on a product oriented towards the public good.

Any ideas or comments you have would be much appreciated. Thanks.
There's always room for competition, which, at the end of the day, is good for consumers. Their service(s) might not appeal to you, but it might appeal to the next guy.

Recall what the mobile OS space was when Google launched Android in late 2007? Yep, even Ballmer made fun of the new OS. Today does anybody care about a mobile OS from Microsoft? Sure, we're not talking about the same type of business, but the key is competition, choice.

I remember when Cisco networking devices were virtually the only game in town. Then along came Juniper Networks. Today, Juniper is doing mighty good.

The key to success in a business that's dominated by the proverbial 800-pound gorilla is to find a niche and step in.
3D scroll effects
We use Smalltalk for a good portion of our distributed control system on our semiconductor manufacturing equipment (at least the non-RT critical portions). It's actually sort of awesome to be able to test/rework/enhance the software on the fly as we discover things we'd like to change in the clean room without having to go through traditional implement/build/deploy cycles. There's certainly other caveats about working in the environment we have, but those we can chat about offline :).

From what I've read and played with (briefly), JRebel gives you a bit of this experience on the Java side as well, though I've never used it extensively enough to know if it delivers a comparable experience.

It's not that far removed from what many web application developers take for granted in terms of ability to make/test/refine changes on a live system with ease, but it does bring more of this experience to other functional domains.
>Yes, it's a challenge to be the new guy on the block, but that is just the nature of the beast.

So, we already have a better system (internet), and you want to go back to a worse system? Honestly, I don't know if you're trolling me at this point.
>>Factory farms are the big problem.

Is it wrong to say that factory farms are efficient and therefore less of a strain on resources?
This uses a particular form of a fundamentally simple yet surprisingly powerful class of learning algorithms called regret minimization. CFR is interesting in an of itself as it specializes regret minization to play extensive form games. There are also CFR algorithms to play multiplayer and no-limit games and though the guarantees of optimality are no longer there, the players are still strong (but for now, far away from experts).

The article states that this algorithm is weak to bad players but that's more an artifact of resources and training method; one advantage of minimizing regret on games instead of using linear programming is that online learning versions can adapt to exploit poor play with payoff larger than the game's value.

I've also posted here before that RM solves 2 player Zero sum game more efficiently than linear programming and how it's related to boosting, portfolio optimization and as an abstraction of natural selection.

http://www.pnas.org/content/111/29/10620.full
I agree on the "eliminate" part, especially in a wintry climes. Possibly it could greatly reduce energy usage if this special clothing is worn. But of course, we already have a similar solution: turn down the thermostat and put on a sweater.
I think this is because Apple uses two or three suppliers, so if you're lucky you'll get a Samsung SSD, but if you're unlucky you'll get a slower Toshiba SSD.
Yes. A debt crisis that the US is walking into almost exactly alike, but a decade behind. And nobody cares.
One of the few management books that are still current after fifty years.
I wonder if I'm the only guy out there in his 30s who still plays straight pool?
I've got a pair too but I hadn't given that silver any thought at all until I just read the parent comment. Do you find them much better than any other pair of gloves? I generally don't wear them to work, but maybe I'll give them a shot tomorrow.

The problem with any gloves, even these, is that they separate your fingers and increase surface area, making it a lot easier to lose heat. Mittens are the solution to that, but the problem with mittens is that you lose dexterity and look stupid.
Nice!

Proposal: I'd like to have an ssh multiplayer so I can kill the other players' systemd's. :)
Thanks for this fantastic answer Steve. Comment of the week!
I'm afraid that you misunderstood. I was the one wasting time with you. You're clearly having a problem with maintaining a fitness habit. Don't blame me if don't like the reality. I'm just giving you the cold hard truth everybody else tries to sugarcoat.
But can they plug in the new Samsung SSD (when available) or any of the PCIe-SSDs currently available on Amazon?

My understanding is that Apple (deliberately) changed the physical shape of the PCIe-SSD connector so you could not upgrade the SSD yourself.
Fast lane is a made up political gobbledygook. I think it's fine for an ISP to sell whatever kind of preferential treatment they like to any company which freely chooses to purchase it, with the caveat that they service I'm paying for isn't being degraded.

If Microsoft wants to pay so that streaming stuff to my Xbox doesn't affect my data cap, that's goovy.

If Netflix wants to pay to guarantee they can stream 10Mbps to my devices while my other devices are using the whole 100Mbps that I'm paying for, that's cool too.

If Hulu wants to pay for QoS that prioritizes their traffic to me above my other traffic, that's not cool. Bandwidth management within my home is my domain and I've got my own QoS rules, thank you very much.

When Comcast lets their peering links get saturated in order to force Netflix to pay them, that's absolutely bad. I'm paying for access to the Internet and purposefully withholding the necessary peering to the content I'm interested in means that I'm being ripped off.

TLDR; I believe that ISPs should peer on a settlement-free basis with anyone who can deliver a commercially reasonable level of traffic to any of their peering points, without regard to ratios. And I believe they should be able to sell any kind of paid prioritization they like that does not degrade my other traffic.
If both compilers are correct, which compiler you compiled the program
(compiler in this case) with shouldn't matter for the correctness of the
code; but the generated code would be different. There should be no
difference in the code generated by instances of the same compiler version,
although the code of the compiler programs itself would be different
(i.e. different performance, time of exec...) if they were compiled with
different compiler versions.

Edit: That's all assuming same version of the language being compiled.
That's why they say the go1.x compilers may need to stay restricted to
go 1.4 for their code.

P.S. See Linux From Scratch or osdev.org for more about this
> Call me a conspiracy nut, but now that social media is how most young people get their news, I wouldn't be surprised if the US gov paid people to post and promote bullshit fluff to keep people distracted from major events in the world.

Why pay people to do it when everyone else is already posting bullshit fluff anyway?
Dumb jamming, yes. Smart jamming tries to interdict the enemy's communications. Look into the the more advanced ECM/anti-radar stuff.
And the most fun to read of the bunch I'm sure.
It's really hard to type with cold hands.

http://www.usbgeek.com/products/usb-heating-gloves
I don't agree with your 50% figure. Symmetrical, sure, but remember the blind bets. Once that money is committed, each player can have a higher EV in playing the hand than in folding.

(Related thought experiment - consider a game where each player has $101 in front of them before the hand starts, and then post $50 and $100 blinds. 100% of hands should be played from each position.)
Because when DEC did that in the VAX 11/780, nobody used it. Instructions could be added to the microcode, which was loaded at boot time from an 8" floppy. The VAX 11/780 machine language was designed to allow clean expression of program concepts. There's integer overflow checking, a clean CALL instruction, MULTICS-style rings of protection, and very general addressing forms. It's a very pleasant machine to program in assembler.

Unfortunately, it was slow, at 1 MIPS, and had an overly complex CPU that took 12 large boards. (It was late for that; by the time VAXen shipped in volume, the Motorola 68000 was out.) The CALL instruction was microcoded, and it took longer for it to do all the steps and register saving than a call written without using that instruction. Nobody ever added to the microcode to implement new features, except experimentally. DEC's own VMS OS used the rings of protection, but UNIX did not. One of the results of UNIX was the triumph of vanilla hardware. UNIX can't do much with exotic hardware, so there's not much point in building it.

There's a long history of exotic CPUs. Machines for FORTH, LISP, and BASIC (http://www.classiccmp.org/cini/pdf/NatSemi/INS8073_DataSheet...) have been built. None were very successful. NS's cheap BASIC chip was used for little control systems at the appliance level, and is probably the most successful one.

There are things we could do in hardware. Better support for domain crossing (not just user to kernel, but user to middleware). Standardized I/O channels with memory protection between device and memory. Integer overflow detection. Better atomic primitives for multiprocessors. But those features would just be added as new supported items for existing operating systems, not as an architectural base for new one.

(I'm writing this while listening to Alan Kay talk at great length. Someone needs to edit that video down to 20 minutes.)
Middle-click usually pastes stuff you selected on Linux, so not everyone.
However if I enable autoscrolling then middle-click works as you described, quite useful!
I'll do some tests applying Facebook's strategy to focus on certain schools. I still don't believe that Turkish people would pay for the service / ads. But you've provided some really nice insights.
Lobsters are closely related to Spiders... yet are considered a delicacy. I even think to my self as I eat lobster, "spider, spider, spider" yet I never get grossed out at eating it. On the other hand I can barely hold a spider much less eat one...
If they allow >8GB RAM and have a proper keyboard+trackpoint combo (with actual buttons instead of trying to copy's Apple's design) - sold.
An excellent question, I hope someone weighs in.
This worked like a charm on Firefox! It is also much better when squinting.
That's actually a step in bootstrapping the system. Generally, to bootstrap a language a new language involves building a minimal bootstrap compiler/runtime that is just enough to be able to rebuild the full system:

1. build bootstrap system with existing tools
2. compile full system with bootstrap
3. compile full system again with new compiler

Or something like that.

Edit/Note: The OP linked document is a pretty good explaination of the whole process as well as the implications ...
Interesting enough, the current 64-bit ObjC runtime does something similar, with so-called "tagged pointers".

https://www.mikeash.com/pyblog/friday-qa-2013-09-27-arm64-an...
Proposed benefits:

- Direct browser to browser communication.

Except it’s not, because everything goes through a router, so how’s that different from using an HTTP server in terms of moving parts?

- Can work outside of browsers.

So can HTTP.

- Allows independent microservices.

Again, so does HTTP.

- Has push and pub/sub.

Ok, but so does anything based on websockets, I don’t see how that’s an argument for this protocol.

To extend that reasoning, there are many things sockets may be better for but I'd like to hear the arguments specifically in support of WAMP.
Limit is almost a different game than no limit holdem. Simply put: Bluffing is not a problem you need to solve to win in Limit holdem.
Ah ha, I was wondering this too since I've seen it do the rounds before.

The print version is so much more readable with a wider body and no comment clutter!
It has come down by about 50% in the last year.
Apple... The iPhone 6's screen size.
> Out of 79 valid style properties (not counting vendor prefixes) the author found 372 in use

What were the most common invalid style properties?
Not all regulation is the same.
Uncompressed 16-bit 16K for mastering high-quality 4K content? It is thought 8K will be the final TV resolution - for that you'd need 32K for a good quality output - I guess even current DDR3 would be too slow, not mentioning SSDs.
That's a great point! Maybe you should log an issue or make a PR and fix it for everyone (except those who copied and pasted). This is exactly why it's a good thing for smaller modules that do one thing well, because when a tiny bug pops up everyone can automatically apply the patch.

I did do some tests a around this, but it showed nothing substantial. The comparison solution is much faster overall, the only point it falls down is with all lowercase strings where an early return would obviously be faster. Even a regexp was faster in some cases. It's highly subjective.
I've realized this breaks a willful ignorance I have over animal-based food. Coming from afar, I can put aside the realities of meat eating and imagine chickens and cows dancing hand in hand in a lush green field enjoying their short lives.. (and yes, I can do this, otherwise I'd be a vegetarian.)

With Farm 432 in my kitchen, however, the idea of life multiplying to keep my belly full is right in my face. How sickeningly first world.. :-) I actually wondered if it was a project designed to evoke such reflection.
It's KDE. Albeit not the standard KDE desktop.
I'm curious, as the document doesn't mention it, what is the benefit of bootstrapping? Is it primarily to allow future development to happen in the bootstrapped language, instead of the lower-level language (C in this case)? Or is there some other benefit I'm missing?
what language progress? this is Go we're talking about :)

(before the downvotes start raining, my joke is referring to the Go compatibility promise, not the lack of whizbang blinkenlights)
Thanks! If you create a project, you'll find a rock-solid request queue and user-feedback implementation: https://www.dropbox.com/s/fz9c8bae97bqxi3/think200-queuing-d...

The app's about 85% done. I'm very open to how development can progress on this. That being said, I won't be offended if think200 doesn't fit Assembly's model.
I'm 41, grew up playing with my Dad, who is now 74 and my Grandfather. He was a straight pool player from Missouri, usually called it 14-1.

My best run is 17.
Nonetheless, it isn't going to reach the point of the government dropping atom bombs on their own country. The US has forests, cities, and mountains; good partisan country. Heavy weapons aren't effective in these terrains. Even the actual Nazis were held at bay for weeks and months by armed urban uprisings.

The more realistic scenarios don't actually involve the military itself turning against the people. It's far more likely that police will overstep their bounds a little and try to go house to house, and one reason they don't do that, outside of exceptional circumstances that the public will back them up on, is the fact that doing so is actively dangerous.
a) Yes it is, but when the never-endingness and unregulated internet is a thing, most people lack the self control to stop.

b) Nearly everybody I know wastes their time. I can’t find a single person who doesn’t go crazy on the internet. People are not to be trusted at the most basic level. They are duplicates of each other, consuming the easiest of material day in, day out, relaying it to each other, discussing it, embodying it. Questions like "what book did you read last?" and "discover any new albums recently?" do not exist in their universe. They have no concept of shame, only ego. If you asked them "why don't you read books?" the answer will be "because I'm not into books". The real reason is because they were distracted from the good things in life, to a point where the bar has been brought down so low that books become "hard" not "fun". Math becomes hard, doing anything exerting effort beyond consumption becomes hard.

c) Those are GOOD forms of entertainment. Reading false news, engaging in internet shit throwing, all things that don’t actively increase your “human capital” are detrimental.

d) I mentioned my grandmother and those simple goals precisely because she will never realize them or strive for them if she had internet, which she won’t, which is the whole premise of the hopes in the first place (meaning her situation is so bad that if she could enjoy even those simple pleasures everything would have been worth it).

e) That is literally my exact point, the fact these communities exist is awful, it dupes the mind into believing you are connected. You aren’t.

I don’t trust people at all until they give me a reason. We are all fundamentally scum. The only reason we aren’t is because infrastructure and quality of life fill our voids enough where we don’t rely on killing one another. Take a mans meals away for 3 days and he’s a different person.

We are fundamentally weak, and to break that curse it takes a lifelong journey of dedication and struggle. If you picture this journey on a timeline, the internet becomes a little hole early on in the journey, a booby trap of sorts.

I realize the irony in posting this, but HN is the only website I go on besides reading documentation directly related to my job + sideprojects.

Do you see where I'm going with this? The net effect of the internet is negative, not positive. You may say that everything is sped up, and everything is, but the side effect of that is that it made us shittier humans, not to each other, but just at being ourselves. Being comfortable in our own skin.
You can use the DIMM slot for the DDR bus interface, but not used in the traditional way DRAM would be. The DDR interface is extremely fast, and can be purposed for uses other than the standard row/column/select/precharge etc commands.

You would likely need chipset support for it to be used in this fashion, though.
We have servers like this, and under a surprisingly large number of load scenarios you only get a little speedup. There are use cases where it's helpful, but there are lots of little things that slow down performance that aren't disk-bound, like single-threaded waits for a piece of networking code to timeout, or waits for code that's CPU bound, they all add up.

I used to dream of what you're talking about, but from my own experience in the last year, it just doesn't matter that much for the daily experience using a computer. 16GB of RAM is plenty right now, SSDs are very fast for many tasks, I'd look at upgrading your internet bandwidth after that if you want your computer to feel faster.
Earth is far from running out of resources. Earth had limited charcoal resources until coal was found and then the other fossil fuels. While fossil fuel is limited at an accelerating rate of consumption (maybe 100 years or more), it doesn't mean there aren't other forms of energy to pick up the demand, given economic development. Think: nuclear, solar, wind.

But really, people aren't just mouths to feed, they are also hands and brains for thinking. Collectively, they add more to each other the more there are, provided they are allowed to develop themselves. The restrictions they face are mostly ideological and political, not related to physical supply or logistics.
TED Talk: Bill and Melinda Gates: Why Giving Away Our Wealth
Let's call a spade a spade here. Government's don't care even a little about protecting their people with the surveillance bills that come from events like this. They're just using events as an excuse to grab power from the people. We all know that. If they did care, they'd be pouring money into driver-less cars to reduce road fatalities. Let's stop even attributing decency and sense to government actions and just admit they're power grabs.

The EFF is already probably too aggressive/extreme in their messages for most of the public, so I see why they say it this way. But we don't have to be PC about it. This article should be titled "Governments, please mar the trajectory at Charlie Hebdo by claiming you care about it."
Yep, exactly. We want to write our compiler in Go, now that the language and libraries are good and stable.

It's a process we started more than a year ago: http://golang.org/s/go13compiler
This is not a problem according to http://www.riotgames.com/legal-jibber-jabber. I am only not allowed to use the logos and must include the paragraph.
HP is working on a new architecture based on computers with just a buttload of persistent RAM, but so far it's vaporware.
Plus, what would be the effects of breathing in cold air all day long, while warm yourself? Not great for respiratory health I'd imagine.
Depends on your definition of "easy"... assuming your markup is being generated on the server or using templates or whatever (in other words, a loop), you can add a different class to each table cell that is in the 2nd column.

Or if you don't need IE8 support you could use the nth-child selector (e.g. .my-table td:nth-child(2) { text-align: center; }).

In some cases I would argue one of these techniques would be cleaner / better than adding a <col> element just for a styling hook. But in other cases I agree with you that it would be nice if <col> styles propogated.
A few things that stuck out:

* `content` is in the top 5 properties?

* Glad to see nobody else uses two colons on pseudo selectors.

* I can't believe how rare rgb color usage is! 0.4%? hsl I can believe.

* I'd be interested to see how many sites use `!important` (the correct number in a style sheet is zero).
And the Jews?
Geez, spoiler aler... never mind...
If Japan and other aging countries created a sovereign wealth fund funded by taxes during "boom" times, like Norway has done, then it wouldn't be as dependent on a pay-as-you-go system. This fund would be held in other currencies and could be drawn down as necessary to keep the local currency stable in the absence of exports.

True, much of the domestic economy would be providing care to older people (and few tangible exports) but distributions from the sovereign wealth fund would ensure the Japanese still have a high standard of living.

Pay-as-you-go social security systems are the real problem, not low birth rates.