skysight-inc/HackerNews huggingface dataset:
It is a horrible language. In the same way that hamburgers are horrible food. But they can be damn tasty regardless.

There are plenty of resources around that demonstrate just why it's so horrible. It's inconsistent, easy to shoot yourself in the foot (mainly because of the backwards compatible stuff), some stuff is just plain broken (ISO_8601 for example), yeesh.

But for many web projects - APIs, server-driven web applications, it can be a pretty solid choice.

It's main downsides are the ugliness of the language, shaky history for core commit code quality, and poor usability for long-lived processes. In 2016, these three issues can be worked around reasonably easily (though some danger does exist especially handing a codebase to inexperienced developers).

It's upsides are quite numerous. It's gradually typed, which means it can be used dynamically, but also supports more type-driven DDD-esque work, and codebases can mature over time by progressively adding more static analysis.

The execution environments now available are fast and reasonably efficient. In practice, PHP will beat out CPython and Ruby for most request-response type applications quite handily.

The wider PHP ecosystem is pretty OK. Composer and Packagist are on par with NPM/NuGet/RubyGems, and are easily better than what's available in the Python or Go ecosystems. The quality of packages varies, but in my experience it's on par with the rest - there are some shockers, but there's a lot of solid stuff too.

Unlike Python, it doesn't suffer from massive division - older PHP code can suck, sure, but much of it has been composerified and can be used easily with a bit of Facade or Mediator in newer projects.

PHP has deployment pretty well down, too. Mod_apache is super easy for basic uses. FPM works pretty well for more advanced stuff. It's easier to manage than the likes of the JVM, or even 12-factor type "bundle into an executable and reverse proxy" apps. But you can also do that with PHP as well, if you want to.

Is it my first choice in development environment? Absolutely not. Is it a very effective tool for many applications in 2016? Absolutely. Do I pick it up over Python and Ruby if I'm looking to build a web application? Yes I do.
It's not just about the number of calls you receive.

Typically if you're on call rotation, you're supposed to be able to get near a keyboard in $X minutes (where in our case, $X is about 15, I think). I simply don't want to have to ask myself the question "can I do $activity with my family this weekend?", with the answer potentially being "no, because on-call duty".

I totally agree with your point about a proactive maintenance. Developers can try to make their software easier to operator, and generally do if provided with the right incentives, but that doesn't remove the need for capacity planning, for example.
People always wants to better their lives. No one is pushing for diversity for coal mining jobs. It's just that Silicon Valley is this hot place where you can make a lot of money so everyone just wants a piece of that. And that includes the most entitled, spoiled and loud peace of shits who instead of thinking how to provide value are pushing for affirmative action. It's not hackers' and geeks' only world anymore. Leeches are here.
10 UK START UPS – BUILDING RESTAURANT TECH
The Gitlab clone of this post is already being discussed here: https://news.ycombinator.com/item?id=12712648

Note that both GitHub and GitLab took down the list already.
IME this puts the problem off six months (which might be enough!) but the technical debt interest bill comes calling.

If your algorithm is fundamentally shitty, you can scale it up by brute force for a certain time, then it outstrips your ability to do so, and you may need to apply actual competence to the problem. If you have any on hand that knows your systems.

(I'm a sysadmin. I have full confidence in my job existing for many decades to come. Because even in the future, nothing works.)
I work in ecommerce consulting - most of my clients take CC info on their site, the forms on the checkout POST (over SSL) to the PSP who then return a token to the site, all future transactions use the token.

Most people don't want to bounce customers to a third party site for payment, it really hurts conversions.
Not sure if you are aware, but Vox Populi [0] (fka Community Balance Patch) has done a lot of work improving the Civ V AI and is still under active development (currently there's a beta running to improve the tactical AI (combat) even further). I have over 1k hours played in Civ V and under 200 have been with the unmodded version (before it became forked to CBP, it was known as Communitas Patch).

You can choose to just get the patch or the full package which rebalances the whole game and adds extra features.

[0] http://forums.civfanatics.com/threads/community-patch-how-to...
There are many books talking about UX/UI design, but most of them are quite abstract and do not tell you, when exactly, on which stage of your software development process to apply the knowledge they present. This often leads to a typical mistake done by developers, that I've seen in too many projects, when UI design is considered at later stages of the project, when they are starting coding the UI and all the backend is already done. Because of that, the process is equally important and needs some of your attention.

To achieve really good results in UX design, to do it at the right time, I'd recommend to start not from the books, but from the interaction design specialization on Coursera at https://en.coursera.org/specializations/interaction-design or you can take just intro - https://en.coursera.org/learn/human-computer-interaction. You can take the courses for free and they'll give you the necessary mindset and understanding of process. You'll find that product design actually starts from UX, not ends with it and it defines the necessary requirements framework for the system architecture, which you can use later in combination with BDD/DDD. After that course you can start reading the books (Steve Krug, Don Norman, Alan Cooper, indeed!) and platform guidelines (my favorites are for Google Material Design and Microsoft's Modern UI).

It will be great if someone here recommends some books or articles about UX design process and integration of it into popular agile methodologies.
I explain my job to nongeeks as "computer roadie". My job is to make sure everything is in order, devs' job is to get up there and be Eric Clapton.

People can do both (many roadies are really quite capable musicians). But they're fundamentally different mindsets, and expertise in one is not transferable to the other.
I've written production projects in both go and python. My choice would be python.

Python has a great standard lib which is mature, and not changing a huge amount. It also has a lot of modules that you can pip install.

If you are really worried about performance, you can pick Go, although you might as well just do C++ if you're super hardcore about performance. While the garbage collector has gotten a lot better, it's still a perf hit.

That being said, for most of the code I write, it's only slow in python if I'm doing something stupid. The threading and pool primitives are also very useful.

For simple web services, there are also a number of mature python frameworks (flask, django) that have more features than some of the basic go http server stuff.

It's also a fair bit faster to bootstrap simple CLI programs with python. Argparse is also great.
I visited the donation page and it costs about $500 for 1 developer to work on KiCad for 1 day.

I do appreciate the transparency, but honestly I think my —small— donation would be used better in other free software projects unless I had some kind of vested interest in KiCad.
Even if you only count American deaths, the majority of them were probably caused by spending money on the war that could have been spent elsewhere.
This program is a Trojan Virus that steals data from PC and emails it back to the author. It spreads among PCs through USB drives. It is undetectable by any antivirus software.

It is created only for educational purpose.
Even if a single server failure doesn't wake anybody in the middle of the night, it has to be dealt with eventually. Otherwise dead hardware piles up in your racks. So, work for operators.

But that's just the simplest case. Network congestion needs to be debugged, operating systems updated, security breaches investigated, and so on. To think that these types of activity can be automated in the near future is unrealistic. And burdening application developers with such tasks also seems like a weird choice.

And since you made a point about scale: The larger the scale, the harder it becomes to investigate such issues.
Most of your post is Greek: tracks, vias, copper zones. I'm not sure how anyone can make an abstract design for an entire circuit board from scratch, it how to put one together.
I've been playing with the CBP ever since it came out. It definitely makes the game feel much more polished and well rounded.

I went back and played the base game for a bit on my Linux machine (since DLL mods are not supported on the Linux port) and found it to be a fairly sub-par experience. I'll be interested to see how Civ VI stacks up to CBP.
commitment to freedom (cern.ch)

For example, CERN has been an active contributor to Oracle Database 11g Release 2

The name Oracle comes from the code-name of a CIA-funded project Ellison had worked on while formerly employed by Ampex.

The strong bond between CERN and Oracle puts a powerful spin (on physics?).

In September 2011, U.S. State Department Embassy cables were leaked to Wikileaks. One cable revealed that the U.S. pressured the E.U. to allow Oracle to acquire Sun.

http://openlab.cern/about/industry_members

https://fsf.org/blogs/community/active-management-technology

http://arstechnica.com/security/2016/08/nsa-linked-cisco-exp...
I already specified that this isn't just about laughing, but about laughing at someone's work in a derogatory manner. You seem to be saying "but a laugh can mean other things!" and it's kind of besides the point.
Well for strdup, there is mulle_strdup. Who is Al ? :)
There is nothing wrong with malloc hooks, but they are global and you can't isolate on a per data structure basis.

Also when you malloc you know it's malloc, but calling mulle_allocator_malloc it could be something else (your own memory manager). That's the decoupling aspect.
Riiiiiiiiiiiiiiiisk
Declarative API Design in Swift
welcome to the club! AROS does have a decent amigaDOS support
I certainly hate it when merchants bounce me to a different site. It's most likely I will never complete the transaction and just buy from Amazon instead.

If your site sacrifices user experience, I will hate your site. Simple as that. Amazon understands the convenience factor really well.

I hope Apple Pay (on the web) takes off. While I don't like yet another middle man, and I don't care about its security benefits in the slightest, I appreciate the consistent and convenient interface it provides, so I will use it, if offered the choice.
IPv6 coverage in the world
"Someone hacked your store and installed malware"
"Shut up or I'll sue you"

Like wut
If you also have a known (preferably random) value as padding, and you check it at deallocation, it is called a canary, as in canaries in coal mines. It's a commonly used method to find/protect against overflows.

For stack overflows, see -fstack-protector(-...) for gcc and clang.

For heap overflows, it would depend on the implementation of malloc. glibc has mcheck() and MALLOC_CHECK_.

If you're doing this as a part of release testing, ASan (and other *Sans like MSan) is worth looking into.
Slight tangent, so bare with me. Every other week, posts such as this come up, asking how to learn X, so I was wondering if there is any Github repo or some website that keeps track of all the resources posted here?
Show HN: A2g – an extremely simple Angular 2 source code generator
Show HN: StupidKeyLogger- a Terrific Keystroke Recorder
(Web) devs are user facing and sexy, admins stomping the server room aisles are not (or so the reasoning seems to go).

This appears to have been a prevailing notion since the dot-com days, but has acquired new energy since "cloud computing" became a management buzzword.
But how would that NPC know that it is in a game? What if we figured out how to do teleportation or time travel? How would you determine whether that is a feature of reality or whether we discovered a bug in a simulation?
This is a very simple key logging program.
Things to Do After Installing Ubuntu 16.10 'Yakkety Yak'
> They just don't understand that more regulation leads to less supply, which leads to even higher housing prices.

Maybe. Or maybe they understand it just fine and don't care. Prosperous anti-growth types want a) their houses to grow more valuable and b) their neighborhoods to stay the way they are. Some of the leftier ones also don't want poor people to be forced out of their homes. All of these are reasonable things to want. It's just that making them happen has nasty consequences.
I think it's possible to provide an excellent education and make a profit while doing so. (After all, is that not what a tutor does?) But it would need to be done very carefully - the education arm would have to be separate from the corporate in order to ensure integrity. You'd also need a board that was committed to profiting from selling a quality education, rather than maximizing profits. Unfortunately, I think that's where this idea falls apart.
This project is for learning purpose only.
Read "Let's Build a Compiler" by Jack Crenshaw http://compilers.iecc.com/crenshaw/
Sanic – Python 3.5+ web server that's written to go fast
Those stores need to be reported to some entity.
Maby VISA?
Async handlers, Flask-style API, and fast.

Disclaimer: I have nothing to do with this project.
> Most of your post is Greek: tracks, vias, copper zones. I'm not sure how anyone can make an abstract design for an entire circuit board from scratch, it how to put one together.

I do not understand what you're trying to say.
Thanks for the link![1] I should have been more precise.

What is settled science is that the collapse of the wave function happens due to different causes for different observers. Example: Take two detectors A and B and place an apparatus in the middle that emits two entangled photons in opposite directions. In the lab frame, both particles will reach the detectors at the same time, so that both detectors cause the collapse of psi simultaneously. In contrast to that, two observers moving to the left and right respectively will see one of the photons reach its respective detector before the other photon reaches his. Thus, for one observer it's detector A causing the collapse (and B then only receives a disentangled photon) and for the second observer it's the other way around. Hence the causal chain of events is reversed (which is forbidden by special relativity).

Now, the problem here is obviously the collapse of the wave function itself (and the faster-than-light propagation of the disentanglement which, however, is widely accepted). Since we still don't know how the collapse actually works[2], it's likely (and I think assumed by most physicists nowadays) that the non-unitary(!) collapse should be replaced with a different mechanism. (Such as decoherence[3] but there are still a lot of questions remaining.)

So it is in this sense that I say that the wave function (in our formalism today) cannot be an actual part of reality because it only works until a collapse occurs. That doesn't mean, though, that the quantum states themselves (given by the wave function in intermediate times) can't correspond to reality. In fact, as I said myself, quantum uncertainty doesn't have anything to do with a lack of knowledge. That is, the view that quantum states merely represent statistical properties of an underlying state (which a priori might be part of a hidden variable theory) is wrong. While I think this was known before 2012, the PBR theorem gives a very general proof of that.

[1] The full article without pay wall can be found here: https://arxiv.org/abs/1111.3328v1
[2] https://en.m.wikipedia.org/wiki/Measurement_problem
[3] https://en.m.wikipedia.org/wiki/Quantum_decoherence
Face Proximity Detection with JavaScript
You should have the equivalent of an undergraduate degree in mathematical statistics (calculus, linear algebra, et al). It should take about 4 years of full time study to achieve that.

Forget about the code part. It's the least difficult part.
I constantly see various posts regarding credit card skimming and find it curious why 2 factor authentication is not enforced for all transactions. It's a simple solution, having someone's credit card info is not sufficient to make a transaction.

Note: I am not from the USA. The 2FA solution is the default in my country, and I have literally never heard anyone lose money because of skimming.
I have compiled a list of the best resources for getting started with ML, I highly recommend it, it is a great place to get started:

http://blog.digitalmind.io/post/artificial-intelligence-reso...
BST is GMT+1, and UTC ~ GMT, so 20:30 BST should be 19:30 UTC
import cgi

Also, the httpd communicates to the CGI program via environment variables so one can also write their program in assembly.
Well, as an absolute last resort, you can use Freenet or Dat to store your list.
There's a lot of hate against 3DSecure around here because a lot of banks and stores (seems primarily in the US and U.K.) have extremely poor implementations of it.

Horror stories on here range from having the 3DSecure in an iframe to having horrible "secret question" style inline enrollment

My banks implement it decently - weird third party URLs (albeit with the banks name on the EV certs), but using mobile 2FA apps or hardware card readers for the verification. One of my banks enforces 3DSecure for their debit cards (but not credit cards) since all domestic stores support it.
:/ Pretty clear that your "operator" is my hourly tech in both our examples.

> To think that these types of activity can be automated in the near future is unrealistic.

Uh, a bunch of those are automated in multiple companies. Or at least to the degree where only exceptional cases are seen by human eyes. And then those exceptional cases become more use cases to address next quarter.

> And burdening application developers with such tasks also seems like a weird choice.

I think this is where we're talking past each other. I'm saying that some companies can specialize Developers in to internal/infrastructure tooling. That then drives down the cost & impact of exactly the use cases we're talking about. Which (in theory) drives up total productivity for those applications or services that generate revenue.

> And since you made a point about scale: The larger the scale, the harder it becomes to investigate such issues.

Yeah, that depends. More data can wash out the signal. Or the right tool can use more samples to isolate the root cause. We're hiring https://aws.amazon.com/careers/
An advantage over valgrind f.e. is that the same test works on Windows to Linux to OS X without having to interface with different tools. The use of the "allocator" struct enables you to isolate your code to test, so that other caches do not obscure the result. The thing is, it's not just a wrapper, but also a decoupler.
Lies, Damn Lies and Advertising: Chevron ad relies on a gullible public
SQLite Release 3.15.0
How is that related to the development of KiCad in a meaningful way?
> it really hurts conversions

This. We saw about 50% would prefer on-site transactions, 50% would prefer off-site transactions (PayPal or Amazon payments). Remove one of the options and half your customers just disappear.
I think there are few professions where people screw up a little bit (sometimes literally) and it gets logged, measured and escalated so frequently than in SW.

Computers are unforgiving. Humans err. This really needs to be at the forefront when selecting personal - developers and managers. The answer can't be all forgiving. It can't be you are fired. And it probably should not be ad-hoc all the time. Company values matter if they are lived by.
I think that this is a horribly impractical advice, and I keep seeing it everywhere.

With modern tools and frameworks you can start learning and applying what you know on practice almost immediately.

Check out Keras and the book "Deep Learning with Python"[1]. They have enabled me to train my first ANN in 2 days, and get to the point of building a MNIST recognizer in a month(and I was reading it pretty slowly).

Sure, if you're coding it from scratch and must understand every signle detail, you do need like 10 years and 3 PhD's. But that's not a wise way to learn.

I recommend to take the simplest tools, and apply them to practical projects immediately. That will give you the general overview of how things work, and then you will learn the details as needed.

[1] https://machinelearningmastery.com/deep-learning-with-python...
Apple Weekly 2016/41 is out. Why does Siri seem so dumb?
Being founder of a startup, I often get into position as this. I think there is alot for founders too to learn form this small story. Thanks for sharing.
Rail is efficient due to the low slopes that are required by the steel-on-steel friction, required to accelerate/brake through the wheel/rail interaction.

And yes, the only mode of transportation that is cheaper than rail with regards to cost per tonnage is sea transport. In passanger transportation, it really depends on the distances and on the speed of transportation. People tend to pay a premium for point-to-point speed, and although airway transportation is unbeatable in that regard the time to get to the nearest airport and required to board end up adding a travel time penalty between 1 and 2 hour. This means that high-speed rail tends to be, by far, the best mode of transportation between destinations that are distanced up to around 400km.
> On the contrary if site owners could be harmed by the name of their sites being on such list on GitLab or GitHub, then GitLab or GitHub are responsible according to the DMCA.

Nope. DCMA is about copyright, and we have not gotten to the point where someones URL is copyrighted.
sad but true, i guess rest of the world should all adapt to this approach and just ignore US overdose epidemics, because it doesn't matter, right?
TAOCP is so much superior to CLRS it is not even close. At the end of each section of CLRS they ususally mention Knuth anyways.

Knuth's writing is clear and amazing. It really makes the history of computer interesting.

Pretty typical of the author of the post who did not complete TAOCP to say it is somehow flawed for being too cryptic.

Why is the author concerned about what others have read or not anyways? It seems he more concerned about proving he has read more than others.
3DSecure and the Visa equivalent (don't remember the name) are not really what I meant by 2FA.

To make a transaction:

-add items to cart

-enter card details

-you are redirected to 3DSecure if it's enabled

-you are redirected to a page of your bank where you enter a One time Password(OTP). It's a simple 6 digit number sent to your mobile phone and is unique for every transaction.Enter OTP.

-transaction is confirmed.

So even if someone has my card details they can't make any transaction (unless they also managed to steal my phone).

Sorry if my original comment was not clear.
@gwillem thanks for doing this important investigative work.
> The tube capacity is proposed to be less than 1000 passengers per hour. That doesn't even compare well with the capacity of a single lane of highway

It takes 3 to 5 airplanes departing per hour to get near that capacity.
UCT student upsets Newton’s apple cart with her demand that #ScienceMustFall