skysight-inc/HackerNews huggingface dataset:
I highly recommend UIKit [1] for anyone looking to pick a front-end framework. It solved tons of design problems that I faced with Bootstrap. Here are a few —

1) Every class name is prefixed with "uk-": a wise decision to avoid conflicts and make it easy recognise the framework classes.

2) Useful generic classes: UIKit has many helper classes to avoid adding another rule—for removing padding, introducing a small margin, rounding the borders, adding a box shadow.

3) Clean theme: The default UIKit theme looks an order of magnitude better than Bootstrap's.

4) Additional helpful components: Loading spinner, Cards, Notifications, Sortable list. Shipping them by default saves a lot of time in searching and integrating them in your application.

5) Default Icons Support: The icons look clean and beautiful and because they are SVG, they don't require a font file. (Although, requiring Javascript can be turning off for some)

6) Much better components: Try creating an input box with an icon in bootstrap; with UIKit it only takes a little markup.

Whenever I develop with Bootstrap, I have to spend half the time muting the existing styles and introducing new ones. With UIKit, it never felt like a problem.

[1]: https://getuikit.com/docs/
Nah, it's just a precursor skirmish for spaces-vs-tabs.
I think they're referring to outer-joined tables.

SELECT a.id, b.name
FROM a LEFT JOIN b ON a.id = b.id

If you get a NULL in the name field, you don't know if that's because there's no record in b for that id, or if there is a record in b for that id but it has a NULL name value. Sometimes that difference will be important.
> 'Hiring practices which can effectively lower the bar for “diversity” candidates by decreasing the false negative rate'

Imagine you have 100 people applying for 10 positions, and the demographic breakdown of applicants (based on current trends in tech) is 20 women and 80 men.

Let's also say that being male or female doesn't give you any special aptitude, and that the aptitude of all candidates regardless of gender follows a normal distribution along a bell-curve.

Because of that and because of Google's standards, let's say that only 25% of all candidates have the skills and qualifications necessary to work at Google, which breaks down to 5 women and 20 men.

Once again assuming a normal distribution with neither men nor women over or underrepresented in skill level, then without any sort of correcting for diversity, candidates would need to be in the top 10% of all candidates to receive a job offer (10 / 100). , this is 2 women and 8 men, leaving us with a false negative rate (i.e. people skilled enough to work at Google but who get declined) of 3 women and 12 men.

But with an eye for diversity, Google decides to hire all the qualified women (5), with the remaining positions taken by men, so 5 and 5, a 50/50 split.

Each of the candidates is qualified and capable of working for Google, but the false negative rate for women has been reduced from 3 to 0. This is what he meant by an effectively lowered bar by decreasing the false negative rate. The women now only need to be in the top 25% of all women candidates, whereas the men need to be in the top 6.25% of male candidates.

There's nothing false or wrong about that statement, it's just maths that happens as a result of the diverse hiring practices skewing the distribution of candidates, with the bar being 'effectively' lowered for the diverse candidates from top 10% to top 25%.

This has the unfortunate side effect that over time, if you are taking the top 6.25% from the non-diverse group (men in this case), but the top 25% from the other group then the non-diverse group will eventually have on average more high-performers (which affects things like salaries, promotions and more).

It's not to say that men are better, just that the hiring practices have been structured to select men from a higher performing percentage of the population. You would get the same results in favor of women if you were only selecting the top 6.25% of women vs the top 25% of men.
Someone above made a point about how there is a big difference between your local market value and the value you bring to the company which I agree with. The way to close that gap is through negotiation and by getting past people's biases.

Even people who are generally logical will be resistant to paying a good south american developer as much as a mediocre developer who is also remote but in Seattle.

Even though I'm from SF this is strangely something I've thought about a lot.
What I would do in your shoes: (1) create a nice portfolio of all your work (omit the Cisco CCNA stuff, if you are looking for work as a web developer that is actually a red flag, just put your web work and claim to have done anything you can reasonably defend in an interview), talk in aspirational language about your passion for the craft of software development and always point out every way in which you were involved in collaboration with designs are in business concerns and how that informed your more technical work because your real passion is for creating useful products that people love, not just banging out code (2) write some blog posts occasionally about functional programming and how to write better tests, (3) instead of saying you are from Central America say you are "currently enjoying living in Costa Rica (a US friendly timezone)" or just completely omit where you are and simply say you are in EST, who cares beyond that??(4) explain that you are an expert in "remote collaboration" (5) humans are experts at sniffing out non-native language speakers. Find a US Native copywriter and have them polish all your copy and pay a designer buddy to make your site look cool and modern, (6) post your resume on Hired, etc (7) ask for $175/hr but expect to accept $150 or so.

This all depends on how good you really are of course. Another US bias (possibly valid) is that php developers are paid less. Bone up on Elixir/Phoenix or another hot language/framework + react native, do a cool side project even if it is quite small.

IMO if you did all that you'd have plenty of work at high US rates. (just for comparison, $32K/yr is about $16/hr, you can definitely get up to > $100 or $150/hr)

All that investment and the resultant relationships have real value so step 2 of course is to hire a couple of your buddies who are also good at slightly better than local market rates...
Blockchains are the first digital life forms – all 7 signs of life
I'm quite late to this thread, but I worked on Watson very briefly (not on the core development, but overall system performance improvements).

I think there's a major misunderstanding of Watson which isn't helped by IBM's Marketing efforts. IBM Marketing has been slapping the "Cognitive" label on everything and is creating unrealistic expectations.

The Jeopardy playing Watson (DeepQA pipeline) was a landmark success at Information Retrieval, its architecture is built largely on Apache UIMA and Lucene with proprietary code for scaling out (performance) and filtering & ranking. I'm not an expert on IR so I won't comment further. This is very different from Neural Nets that are all the rage in ML today.

I'd like to point the following links from David Ferrucci [1] the original architect of Watson and this technical publication at aaai.org [2].

The DeepQA pipeline wasn't fluff, the intention was to take this question-answer pipeline and apply it to other verticals such as Law and Medicine, essentially replace the Jeopardy playing Watson's corpus of Wikipedia, Britannica etc... with Legal and Medical equivalents.

Given its runaway PR success, the Watson brand was applied to many other areas which haven't been successful but I'd like to point out what the original product was here.

[1] https://www.singularityweblog.com/david-ferrucci-on-singular...
[2] https://www.aaai.org/Magazine/Watson/watson.php
"the type of an interface is nil" is that even possible?
Without going too deep into it, some kind of system that allows spending somewhere only if gains/improvements are made elsewhere.
>programming and CS jobs in general are one of the jobs on which you can generate the same value being on-site or at the other end of the world.

This is one of those things that seems like it should be true in principle, but doesn't seem to be true in practice. I don't believe my employer is generous. I'm certain if they could generate the same value for a significantly lower cost they would.
You're correct that I went a bit further than Chesterton himself did. But not a lot further.

By the way, I linked to the wrong Wikipedia entry. The one I linked to (and that you found the strange quote in) appears to be an internal document, explaining the principle of Chesterton's Fence to would-be Wikipedia editors. I should have linked to the Wikipedia article instead: https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton.27...
Yeah, I did link to a particularly dense and unapproachable section of the manual.

ZT is designed to just be an end to end encrypted virtual LAN for anything you want to dump across it.

There's also a library implementation which effectively gives every app its own cryptographically-derived address (if that's what you're into).
You know what? It's fair. I'd downvote me for saying "hope I don't get downvoted" too.

On a side note, I'm glad at least one other person listens to The Band. Rock and roll is not dead!

(Or it is, if Lester Bangs in Almost Famous is to be believed).

I've gone well off the thread and into the wilderness here haven't I?
QtechPluz (it's all about tech....)
Tesla Shows How Traditional Business Metrics Are Outdated
He specifically said 'decreasing the false negative rate', not 'increasing the false positive rate.' That is explicitly worded (he could have been more succinct) to imply that all people hired by Google are good enough to work at Google. He is saying that IF you are already good enough to work at Google, then your odds if you are from a protected minority group are better than if you are not.

You are right that people interpreted that sentence differently, but those interpretations were wrong.
Yep, Dying. No new companies built any infrastructure or anything on IBM mainframes.
if you are bad at negotiation you should hire someone to do it for you.
It's not supposed to be, it's an example of a basic innocuous statement about population distributions that will set some people off for some reason. After all, quantitatively that statement just wouldn't explain the gender ratio being as big as it is.
Someone has to front the money though, and there have to be developers who believe that they are going to make their money back. sigh The US is profit-driven, so developers go where the money is at. No promise? No money.
I think it started the same way batch files did -- although of course shell came earlier. "Hey let me put the stuff I type in a text file":

mkdir foo
cp myfile foo/
ls foo

"Then I don't have to type it over and over". The "interpreter" was probably a 20 line function inside the interactive shell, or maybe just a single if statement to redirect stdin from a file and not a terminal.

That started sometime in the early 1970's. Along the way, people added loops, conditionals, functions, various hacky expression languages (test/[, find), many external utilities like sed/grep, full-fledged languages like awk/make, etc.

And today we have on perhaps 50 million+ machines an unbroken chain from 45+ years ago.

It's kind of amazing... If you can somehow score languages by how old they are plus how widely used they are, shell is probably #2 behind C.

C has had a ton of effort that has gone into cleaning it up, deciding upon semantics, standardizing it, evolving it. Shell has had POSIX, which was like 30 years ago, and that's about it.

In summary, nobody "decided" -- it's an amazing and horrible instance of evolution :)
It's something I thought about creating too, but it seems to miss a lot of variables, solar and wind is not constant during a year so it should be yearly not weekly, it seems USA specific it should be able to take solar or wind data per country there is massive variation of rate depending on the region, also consumption is geographic dependant.

And it crashes on my iPad after few seconds.
This is exactly what a system that incentivizes diversity without considering base rates can be expected to produce. A naive version of "perfect equality" with 10% group X, 10% group Y.. equal is equal right?
"No one is forced to employ or be employed"

Pretty sure most people who live paycheck to paycheck would disagree.
FWIW, I worked on a switch/case for Python about ten years ago and abandoned the effort because it reached a dead-end.

Without the ability to mark variables as constants, a switch-case can't implement an efficient jump table. And without a jump table, a switch/case statement is merely syntactic sugar for an if/elif/elif chain.
That's true for proprietary software as well. Hell, most software is a remake of something that existed in the past. You can find examples of original free software projects that have caused real change (one that comes to mind is the whole Zones/Jails/Containers thing), but that's not really a good measure of whether free software is succeeding.

There are countless free software projects that were created as alternatives to proprietary software and have exceeded the original by orders of magnitude. If you want to look at a measure of success other than "amount of work you can do with free software" then that's what you should be looking at. Improvement and innovation often doesn't come from some massive new technology, it's always gradual improvements that really make the difference.
You can fix that with exceptions :)
Fed up with housing prices, Bay Area buyers look to Sacramento and Seattle
Sure it's uncomfortable to talk about but it's becoming increasingly important that we do. Without understanding why a phenomena like the STEM/leadership gap exists we can't hope to fix it. Diversity programs really aren't working - Google is at 80/20 for tech which is just about the same as the industry (78/22) (Department Of Labor). My policy is 'Fuck Chesterton Fences'(FCF). I don't want to live in a world of rusting fences.
Actually, you can, and just using passwords! Using a PAKE protocol, the client and the server can prove to each other that they know a certain password, without revealing it.

And you can even tie that to TLS: https://en.wikipedia.org/wiki/TLS-SRP
Well, from my point of view it's less work to implement it than it is to argue removal from Gecko (which could happen, but it would take a while). Stylo must have Gecko parity, whether it's by adding more features to stylo or unshipping features from Gecko. We've done the latter in some cases for nonstandard stuff folks no longer use.

I don't really know what the future of MathML is. Some folks seem to still use it, though less often on web pages.
I love the stuff the Archive keeps coming up with. I'm glad I finally started donating to their cause last year.
I'm a junior developer in a megacorp, where I sometimes think about how I'm not getting the salary I could be getting if I moved to SF, negotiated a bit harder, pushed for quicker promotions...

But I'm not the lowest paid person in the office. Even the junior devs who started well after I did and haven't had as many raises aren't the lowest paid in the office.

I'm fairly sure the lowest paid people in the office are the cleaning contractors who come in after hours, almost certainly with far less flexibility, worse working conditions and worse job security than the programmers whose mess they vacuum.

Not that this stops me from pursuing career progression, but it'd be nice to see software developers show a bit of solidarity with people who aren't lucky enough to be able to work with tech and who live paycheque to paycheque, rather than discussing how they're going to negotiate their way up to being in the global 0.5%.
The ancient art of leading teams
Very few out of the box machine learning services work other than speech-to-text by the worlds greatest company in that field (google). It's not a case of roll your own but find companies that can help you deliver s solution to your specific problem. (That is my business)
This is the absolute bullshit of Watson. What it could be is a series of very good datasets and then being able to build models (based on recipes) and deploy them. It's so unbelievably clunky though. And Bluemix? Urgh
Interesting idea. One thought would be add encryption and signing to the routing. Meaning unless you have the right permissions, your packets won't even get to the destination.
Like the thousands of unemployed people? Some haven't eaten for years.

That's not what he means, just like that's not what you mean.
Where are you getting that 20% from?
Stripe, definitely Stripe
It's not uncommon to let capable junior devs run a small project with someone more experienced having oversight.
> I couldn't shake that feeling I got from my first gig in programming. That feeling that I am actually the one making this work, and I'm also perfectly capable of talking with people and selling it-- and yet they make millions and I make a tiny fraction.

So... do it. The author claims to be just as good at business and selling. So... do it. If you're sour about it and think you can do it, then do it.

HN used to be a place where people understood that it took more to running a tech business than being a programmer. Pounding the pavement is hard. Getting clients is hard. Securing funding is hard. Legal work is hard. Securing staff is hard. Dealing with burn rate is hard. Finding market fit is hard. Complying with regulations is hard.

If you can do all of this (I can't - I have no entrepreneurial bone in my body, and am a lifer salaryman), then do it. It's very satisfying even if you're not made filthy rich from it. But don't sit there as a salaried employee complaining that you should be given the lion's share because you do 'all the work'. Chances are, you're missing a hell of a lot that is being done.

Thankfully the author is actually following up on this, but I see this kind of mentality a lot in our industry.

Short form: if you think you can 'do all this' and you're sour about not getting enough money for your skills, then you only have one option towards satisfaction: do it.
I made Plain Email [0] just because I couldn't find any email client with clean work flow without distractions. I use it pretty much every day. Thinking about open sourcing it - just can't find the time to refractor it nicely.

I also built news aggregator 10HN [1] with throttling (ten best articles every morning and every evening). I use it daily and it helped to fight my procrastination a lot. It's also interesting to watch the data how stories evolve and get popularity.

[0] http://www.plainemail.com/
[1] http://10hn.pancik.com
Understanding X is one thing, having to provide a demonstration of that to others, that is considered adequate to others, is another.

Understanding the reasons for X before trying to change X is separate from needing to show why the present time is right for changing X.
I'm not sure the ex-Googler would disagree with you on this, though. There's even a section titled 'Non-discriminatory ways to reduce the gender gap' that clearly indicates he at least is not opposed to reducing the gender gap.
Part of the problem is that even traits that are linked to better performance should not be considered qualifications.
That is a beautifully-written article.

The IEEE hardware and IETF software guys have been busy adding complexity to the networks, with so many legacy protocols (when everyone just uses TCP/IP) and extra ports (when everything happens on port 80 - seriously, even email is now on cloud services).

I can't get LTE because of political problems. So I just gave up trying to be online, and started caching everything possible.

Meanwhile, storage is getting larger capacity, smaller size, and cheaper. I've got a 512GB SD card in my pocket all the time, with a backup of my laptop in case my bag gets stolen.

My phone does everything offline if possible. Offline MP3 music. Offline maps. Wikipedia. StackOverflow. Hacker News. FML. UrbanDictionary. XKCD. The few YouTube videos I actually want to see again.

The only thing I need Internet for is communication. To send a message, I walk around looking for open WiFi and type my message to them on Facebook Messenger. If they need to reach me urgently, they can just use my phone number (which keeps changing every 6 months for the same political problems).

What if access points had large caches with mirrors of the content people want? Instead of asking Google's server in the US to send me a map tile, what if I could just get it from the local WiFi AP's web server? It would be much faster, and save so much trouble with networking.

Sure, there are some things that people need the network for (e.g. new content, copyrighted material). But so much else is free of licenses, and would be possible to mirror locally everywhere.
I completely agree that communication and people skills are necessary to be a great programmer.

But consider that in order to get a job as a programmer, I first had to spend 4 years taking relatively intensive courses in math and computer science (even longer if you go back to elective courses in high school), and empathy was not an important factor in getting through my coursework or examinations. Sure there are other paths into the industry, but no matter how you get here, the fact is that learning to code is intensive.

Consider also that a large portion of the population can't pass a FizzBuzz programming interview (at least if Jeff Atwood is to be believed). And if you can't write FizzBuzz, no amount of empathy in the world is going to make you a good programmer.

So yes, "soft skills" are tremendously important. But "hard skills" take priority. And whatever the cause may be, the fact is that right now there is a larger proportion of men than women who possess those hard skills.
If you don't have anyone else making you an offer, then you're worth that amount.

That's how much that counterparty has offered. It may not necessarily be how much you're worth to that party, let alone some other party.

They may be bluffing. They may not have enough money at the moment. And so on.

If later on they get $10 million income and they can't continue without you, then even though they are still paying you $X you can easily find out you're worth more by threatening to leave.

You're worth whatever it costs to replace you in the open market.
I love it, way to go! You should submit it as a "Show HN"
1. You should charge for it. Maybe after a month of monitoring or something.
2. Give more actionable responses. Maybe some links or directions on how to fix the issues.
3. Can you make any money on affiliate links to paid certificates? If not, direct people to Letsencrypt when their cert expires.
But anyone can say or write something idiotic and inflammatory (just for the sake of argument, let's assumed that the memo was such), would it have become this huge thing if he didn't work at Google? If not, then why is Google placed on such a pedestal and why do we lionize and in turn pillory Googlers? I think part of the problem is the place Google occupies in the popular imagination. It's sort of this lightning rod and poster child of Silicon Valley. Had this happen at most company, it would have simply been an HR issue at that company.
> the reason why, yet you're paid table scraps -- it's because that's what you're worth.

That doesn't make any sense and sounds like everyone is always paid fairly. That's far from true.