skysight-inc/HackerNews huggingface dataset:
That "it's too immature" is a great, dismissal line given it's incredibly important for choosing a language to write a safe/secure kernel in. My choice against it as main language would be due to lack of assurance technology made for it. With C subset and/or SPARK Ada, I have a pile of tech from formal specifications to static analysis to test generators to assembly certifiers. Add powerful IDE's & ecosystem to it. Then, even if people don't want that, there's regular compilers for what I produce on countless platforms for increased usage opportunities and extra security through hardware diversity/obfuscation. Rust doesn't give me all this. Not just "immature:" nobody working on most of it at all or with enough effort I know it will be there in 1-3 years when I need it.

That said, I love and encourage your work on Redox plus these other Rust-based kernels. There's no reason to gripe about them that I see. The posts are good for learning like most kernel dev w/ extra language & safety content on the side. You Redox devs in particular are really rolling on it being safe & practically usable. There's just that the gap between what's achievable on high end with Rust and C/SPARK is the size of the grand canyon. Many PhD's worth of work.
Vim's autocomplete is alright, but it can definitely be super-charged by plugins like vim-autocomplpop[0], superTab, and language specific plugins like vim-racer[1].

Vim-autocomplpop is a fairly old plugin, but it still works just fine. It automatically shows autocompletion options as you type like an IDE. This is very handy.

The only downside is that external autocompletion engines like ctags and rope can sometimes cause performance issues. For example, python.vim uses rope to analyze a file, but that can take a while to initialize and crawl directories if you're editing a file in your home directory. Since it's a plugin written before Vim/Neovim's async code, it tends to make Vim unresponsive, so I only enable vim-autocomplpop on projects I'm working on. This isn't an issue if you use Vim's built-in autocomplete (instead of python.vim). I'll get around to rewriting autocomplpop someday and working on a solution to mitigate external autocomplete providers slowing down Vim.

0: https://github.com/othree/vim-autocomplpop
1: https://github.com/racer-rust/vim-racer
It's not like relations with other European countries will immediately cease on leaving the EU.
i think most of the social media content created recently is stored inside mobile apps and and for the most part is not available to be indexed by search engines. apple and google are in a unique position with access to all of that data. i think just like facebook does push its users to make more and more content public apple and google could put in similar efforts and if the right balance is found there could be a new search engine for all content created and stored inside mobile apps
You can shortcut all of these speculative definitions by acknowledging that the free market doesn't exist.
How will this be different from eComStation with $300 business and $20 personal licenses, http://ecomstation.com?

Hopefully this updated OS/2 will run as an AWS/Xen virtual machine.

Edit: mirror at https://archive.is/U1eTf says Arca Noae's Blue Lion will support upgrades from both OS/2 & eComStation, will include VM images for "select hypervisors" and can run ported Linux apps.
For a general overview of printers, try the main 3d-printer chart:

https://www.productchart.com/3d_printers/
Could you recommend a few good projects(err homework problems) where "OOP, FP, and imperative programming" could nicely (and naturally) be used to build a quality solution?
Absolutely - Giphy is a great example. There will be plenty of search engines that will grow to prominence around either a niche content type (gifs => Giphy) or a niche feature privacy => Duck Duck Go).
Well the first question you have to answer is simple : what is the type of self(), your own pid. This is a really hard problem and what stopped SPJ in the late 90s/early 2000s

Then the second problem is that at any given time you can receive a message from another node/process 10 years in the future compared to you, that you know nothing about his code or types. How do you type check it?

Finally, the actor model in general allows unbounded nondeterminism. This is not really something you can build into a static type checker.

The "easy" solution is to make messages an opaque black box that can be anything... but at that point you are leaking static typechecking everywhere.
This isn't true.

Google existed and grew (rapidly) for quite a while before they launched Adwords, which they introduced in 2000. Their growth in '99 was pretty meteoric (prompting a $25M investment from KP and Sequoia) before it rolled out PPC monetization. The Adwords model wasn't new at all-- Goto.com was the first search engine to bet on that model.

Google won because it was a massively better search engine... Not just 10% better-- it was "holy crap" better on a mess of fronts (notably: serving up what you were looking for).
Do you know how much you could do in a month but can't because of bad design choices, overengineered type systems, and dogmatic adherence to the 'every application needs to be written in the language with the best benchmark numbers' myth?
Case in point... that read like propaganda to me.
Using deepmind for generating color palettes is somewhat of an overkill. It is really not that hard a problem.

It is very easy to programatically generate several color palettes from a main color.

It is also wasy to select one or more main colors from a picture.
> if there is a "Competitive Bridge-Engineering

Not really related to job interviews, but West Point used to do a bridge engineering competition (maybe they still do) where you downloaded a software package and had to design a bridge that could withstand the highest load for the smallest cost. It was pretty accessible and kind of fun to mess around with. I never submitted any solutions, but I think the prize was a scholarship.
Kudos for having this be a slashdot link. A blast-from-the-past reporting on a blast-from-the-past.
How about "it's too immature to properly criticize"?

;-)
> are since basically every shop out there issues developers a Windows or OSX machine

Uhh... What?
Build: A very simple makefile-based build system
It definitely would require a lot of effort. One method could be to collect data from 3D printer reviewers who do that sort of thing (mostly printing Yoda or something). Another would be to add a user-submitted form for collecting the data, but even as I'm typing that out it seems like a crappy idea.

Obviously all of this is coming from the peanut gallery, and would be a lot of effort to add little value, but I was imagining some kind of enlargement like this: http://tobuya3dprinter.com/wp-content/uploads/2014/05/3d-pri...
Camera Is the New Keyboard
False. In erlang, your message passing is "at most once".

If you send a bad message, the receiver will crash or discard it and it is how it is intended to be.

Erlang embrace laws of maths and physics.
for a data parallel problem like that you could vectorize it using the SIMD unit. It never ceases to amaze me at any point how much of silicon real estate just sits idle because no one really bothered to look behind the curtain and tailor the code for a specific architecture. for reference, a recent Intel chip will have 256b wide vector unit (512 for server class chips) that can be treated as a vector of 8/16/32/64b units to do parallel math. at a typical 16b ops you get 16x speedup for practically nothing. plus its considerably more if you have predictable but non standard data access patterns.

now <rant> IMO what the parent commenter was trying to say is often this punchline about premature optimizations used as catch-all justification for all the convenience/expediency related decisions taken. & also it just works well to create future work. unfortunately that never gets scheduled as I have seen management time frame shrink too. almost everyone is in quick & dirty 'working' version to book a success and move on. with this culture if you try to push resolving these 'technical debt' type issues you are just perceived as a downer. </rant>
We're a very long way from being a totalitarian state and likely to remain so for quite some time

The scary thing is that the difference between the UK and the kind of place we might describe using words like "totalitarian state" is now more about how our laws are used in practice than what the laws actually say. The government and its agents already have very broad powers, our courts have already taken surprisingly illiberal positions when some of those powers have been challenged, and we lack the constitutional checks and balances often found elsewhere, more so if the government uses Brexit as a mechanism to remove those deriving from Europe without replacing them. We're basically just trusting that the government and its agents will be decent people and use the powers they have responsibly at this point, but as we've seen with the likes of Trump, that's a dangerous strategy when you don't know who the government will be in the future.
It doesn't seem very thin from here. Encrypted messaging is a mathematical fact that your government is attempting to deny.

If I need a communication to be secret, I will encrypt it, and I don't need special software.
If you are going from 0 -> NUMBER and adding one to a variable every iteration, what will the variable's final result be? NUMBER. The compiler can see this and will just do the following:

s = i = atoi(argv[1]);

Now the loop is gone.

Edit: This will still happen even if you're doing other stuff in there. GCC will attempt to inline and optimize like this. If it is impossible then you will see a loop with most of the stuff factored out of it.
> ... plane crashes ...

One difference is that airlines advertise in mass media, terrorist organizations don't.
You vastly overestimate the difficulty. The reason we're commonly told not to roll our own crypto is because it's easy, and also easy to get wrong and possibly catastrophic if you do. But many perfectly serviceable algorithms are simple and public knowledge. Arguably a scenario where everyone's using their own crypto and half of it's broken is still better than everyone using the "industry standard, pre-backdoored for your convenience" version.

Of course it's utterly trivial to make a one-time-pad cryptosystem, and more practical in 2017 than ever. So what if the keylength must match the message length, my phone has a 32gb uSD. That's a lot of text messages.
I do love these color scheme generators, and perhaps this is a suggestion for improvement, the color vs. dominance of the color seems very important as well. That is, proportionally showing the palette based on how dominant that color should be in an overall end design
Its always about making the right judgement call between optimization and complexity, and sometimes I'm still surprised by what needs optimized and what doesn't.

An anecdote from a project I'm working on. I'm writing some LED control software for light shows and using GPIO pins on various embedded Linux boards (CHiP, Raspberry Pi, Orange Pi) to generate the SPIO-like serial signal I need.

My first draft, for Raspberry Pi 3, is a wonder of compact bit twiddling, doing all the necessary operations to write to GPIO memory in one compact function.

For the second platform, the Orange Pi Zero, I found a Python library for GPIO access that someone had already written, saw that the gpio operations were broken out into separate files and pulled those files into my project. My first thought: this will never be fast enough, and the O-Pi Zero is slower than the R-Pi 3. Luckily, I decided to try it first.

Now the the gory details of writing to memory are hidden in the library and the logic in my code to generate clock pulses and write bits is a lot more clear. I had to tune the code differently - the delays in my code to generate the correct clock pulse width are shorter now that there is function call overhead, but that was easy to sort out with a bit of trial-and-error with a logic analyzer.
There was a talk at the eef17 this week from the OTP team on it. It is on erlang solutions YouTube channel.

Sadly on phone so can hardly link it
Complexity is Too Simple
Where I live in DC, there are plenty of Japanese cultural events that I'm confident are funded in part by their government. My wife studies Chado, an intricate Japanese tea ceremony, and the cost-per-lesson is ridiculously low. No way they could charge so little if they weren't being subsidized from somewhere.
Uber takes its self-driving cars off the road after one flipped over in Arizona
I guess we all support competition. Loyal and fair.

H1B is to get workers without loans from places where diploma have been paid often by public taxes.

Without loans you are more competitive than a worker having to reimburse them.

H1BrainDrain also have a power of captation of publicly founded research that can be patented. (That's why young PhD are so interesting)

It also undermines the competitivity of countries which miss their engineer and have to pay twice the knowledge they founded.

It also ostensibly discourage the workers from unionizing since they have no way of controlling a pool of workers that can leverage the offer.

On the macroscopic level H1B is possible because there is a distortion of competition on the job market.

H1B is heavily biasing the capacity of negotiation on the work market in favour of the companies which uses them.

A market in which you can not win and must play is not a fair game.
Good point, just blindly select several "harmonious" colors are not hard at all. But as some folks pointed out, if we want to also consider the context (where the colors will be used, is it a button? or background? or text?), deep learning is definitely a good fit.
Slashdot.
Wealthfront buys the individual shares that track an index. When shares lose value, they'll sell those and buy other shares that are equivalent.

It worked pretty well for me in 2016. I was up ~11% total and about to deduct about 6% in losses.
"Why does technical overhead take a backseat whenever a microservices vs monolith discussion comes up?"

I don't think it does, but that's kind of off topic.

"In the real world, setting up and maintaining microservices has huge technical overhead, I'd estimate double that of the equivalent monolithic architecture."

I agree.
I think there is room for a horizontal search engine, by making it mobile-first. Even with Siri style conversation agents, mobile search still sucks real bad. If you design bottom-up for a mobile form factor you could have a winner.
To circumvent bad policy like encryption... Use encryption?
You said you are not making a moral point then proceed to talk about selfishness and morality.
“Howard West,” and Epidemic of Black Scrutiny
Interesting and useful but in my opinion some of these are a little bit unfair.

In python level 3 error handling is unpythonic.

I've written libraries on top of apis i haven't memorized.

Also I'd argue that the ability to efficiently start using a new api is a bigger skill.
I wonder what the solution to this can be.

Should the CA prevent people from getting certificates for domains containing the names of 'big' websites and corporations? Should browsers make it more obvious that the website has an EV certificate? Maybe also try to detect phishing URLs?
Dear China,

No need to spend billions. Just don't cancel my flight one week before I depart and everything will be fine!!! :[
This is my extension :)
Well proselytising what ? Because once again, the fact he plays as a Gorean master does not mean he believes women to be subhuman.

This tends to be the problem with most of these things. But in any case we really lack information here.
You might find this useful: https://jbergknoff.github.io/mathjax-sandbox (example: https://jbergknoff.github.io/mathjax-sandbox/#JGVee2lccGl9PS...)
We ban accounts that make personal attacks like this, so please don't (no matter what you're responding to).

https://news.ycombinator.com/newsguidelines.html
i agree! They are also surprisingly useful and not incomprehensible like Regex.
His comments with regards to the lack of compile time checking of the interfaces between microservices couldn't help me but think of GraphQL. Using GraphQL as the layer between microservices could alleviate this issue. Specially if the usual "deprecate, don't version" approach of GraphQL is followed.

Normally GraphQL is talked about within the context of user facing applications interacting with servers but it could be quite useful for strongly typed machine to machine communication.

We already use GraphQL for our client facing API. We're going to start rolling out microservices at our startup and I think we'll use it for communication between microservices as well.
"Splitting a single process into N processes with no shared memory multiples startup memory by N. It takes a much beefier system to run 8 JVMs than one. The same goes for 8 Python processes."

I agree, but I haven't seen the amount of memory ever being a limiting factor when running multiple microservices on a local developer machine. I'd estimate that you can run at least 50 JVM, Python and Node.js processes on a typical single machine, and most applications consisting of microservices have 50 or less microservices.
Brooklyn Psychiatrist
Often I do want to output x/3; is there a way to do that here?
So much energy out there in the space -- yet humans have so little
It's wasted only if it's not traded for something else. But it is.

A lot of system would simply not exist if we would have waited for people doing it properly because there is a limited pool of very skilled experts and the demand for IT far exceed our ability to supply. Plus writing good code takes a lot of time and resources, but our society changes now so fast that it very well maybe rewritten next year.

Hence, we are trading computer power to compensate our limited human resource.

E.G: wondering why you see electron apps everywhere now ? Because until now making a beautiful, powerful and modern app with a portable GUI was something only a few people would be able to do. Now any web dev can do it, and they are able to solve problems that weren't solved before because nobody would be available to do it. At the price of performance, memory usage and the use of the ugliest programming language we ever made popular.

It's the same deal as before. When C arrived, Wordperfect died because they stick to assembly. For them, C was wasting resources.

When Java arrived, expert systems were turned to it because it was more productive than to write it in C. We didn't need it to be fast, but the companies wanted their tools to be produced quickly.

Then when the Web arrived, people were laughing about the quality of PHP (initially a Perl hack !). So many bad code, so many security fails, just a terrible, terrible stack of programming debt. But it created the web we have today because it was easy to use, and suddenly a lot of people could just write their web forum. Hell, I learned my job with EasyPhp.exe way before becoming a Python expert.

Nothing here is wasted. It's just implicitly and involuntarily invested.
In my own projects you can start up every microservice with a single command / script.

Yes, having sufficient tooling for microservices does consume resources.
At the start-up I currently work for, I designed the system to be composed of microservices (with Swagger/OpenAPI), even when it might've been easier to write modules, for scalability reasons. Before I was brought on as the first engineer, we had a series of contractors build a poorly architected monolith that had issues scaling. Microservices have enabled us to independently scale different parts of the service as load changes. It's also forced a very strong separation of concerns.

My main complaints are that we've run into various instances where we need to access some data in a different service, so we stuff it into some object so that the next service can pull it from the DB. However this is a solvable implementation issue.

The other complaints I have are that monitoring and profiling are much more involved. Additionally, setting up a new service can be painful if you don't have a template.

Overall, we've had a good experience with microservices and it's enabled us to deploy faster and scale simpler.
Thanks. We've changed the title to make it less misleading.
This is sourced from https://www.thesslstore.com/blog/lets-encrypt-phishing/, which comes from a division of "the world’s leading SSL/TLS reseller" (https://www.thesslstore.com/blog/about-the-ssl-store/amp/).

(Not disputing the data.)
I don't think they forgot anything. You mention your observations among your customers, in order to support a more general point.

They are questioning whether that generalization follows from your observations (using observations of their own).
Give the developers offices with doors. A shut door is a good barrier to casual interruptions.
False dichotomy. The real solution is a language with a strong, static type system (and thus plenty of room for ahead-of-time optimization) that's also concise and productive, such as Kotlin or Swift.
They wouldn't prevent you from making encryption apps. It would be about regulation. You can regulate kinds of encryption (the strength of the algorithms/keyspace etc), and you can regulate who can use it (licensed copies only, or specific businesses only, or types of businesses, non-messaging platforms only, etc).

Then there's how you use it. They could mandate all of X businesses could only use encryption that could be inspected by the state, so either weak encryption, or PKI where you send the government your site's private key or use the state's CA or something. They can also mandate backdoors in encryption used in certain ways. And they can mandate that weak encryption be used outside their country's borders.

All of these are real parts of US laws on cryptography from WWII to 2000 to prevent "export" of "strong encryption", because of course evildoers around the world might make use of these "munitions". US law still regulates how we can use or distribute cryptography around the world. It is illegal in the US to release open source crypto on the internet without notifying the Bureau of Industry and Security. And 41 other countries (including the UK) have similar laws.

The one thing the US has going for it is the 1st Amendment, which makes it illegal for the US to prevent its citizens from making or using crypto within the US.
> cause it has the most people using its service. Its models learn every time you click on a result.

That's why Google dropped the + operator. Lots of people using it hasn't always made it better.

EDIT: I mean, Matt Cutts has a blog post saying that Google dropped the + operator because most people didn't use it, and when they did use it they used it wrong.
Is brutal violence against others not associated with mental disturbation?
> An indian nerd colleague is OK, as long as they too lived and breathed Star Wars, Lego bricks, old NES consoles, and doesn't bring much in the way of his country's culture (except cute and inoffensive dietary and cosmetic differences) etc.

Have you thought that perhaps they emphasize playing with LEGO and NES games and tone down their culture to "cute inoffensive cosmetic and dietary preferences" because they code switch to fit in?
I'd recommend taking a look at gRPC.
Depends on the meat. Grass fed beef tends to be treated well as animals are outside eating their natural diet, etc. Huge difference to a feedlot. Saying that the conditions in a feedlot are universal is inaccurate and completely guts your "indisputable facts"
Frigidere noi si second-hand