skysight-inc/HackerNews huggingface dataset:
It seems to me it describes pretty much what happens in C++, but with pythonized syntax, because explaining the exact syntax of all the sigils would be too much for such a short article.
In http://www.google.com/about/company/philosophy/ Google states that "Democracy on the web works":

"We assess the importance of every web page using more than 200 signals and a variety of techniques, including our patented PageRank™ algorithm, which analyzes which sites have been “voted” to be the best sources of information by other pages across the web. "

If they are deciding what is good content or not, that doesn't sound too much "Democratic" to me. They have the right to index whatever they want, but by doing that I have to return to the early ages of the web when we had to consolidate information from different search engines.
The language itself is not very big. The category-theory based abstractions built on top of it, on the other hand... Just look at the lens library.
It's common in enterprise products where the user's first action is in a non-email.

Like I've uploaded version 1 of the plans, added some notes and the system needs to send out an email to everyone, I did the action, it's coming from me, not the system.

There's a reason it's part of the spec.
FAA: Small Drones Will Provide Significant Benefits
Bums, Tums and Downy Calves
You mean top companies like, say, Facebook? Or startups like, Esper? I'm not really sure what your comment is trying to say because it comes across as circular ('they're popular because lots of people use them').

Edit: seems you've added the links I was about to point to.
The example look ill-conceived to begin with. If you want to extend the list that is the first element of the tuple just use t[0].extend([1]). Using an augmented assignment operator makes no sense if the left hand side can not be assigned to. I don't know Python well enough to tell why it does not check if the left hand side can be assigned to before evaluating the right hand side, i.e. why it dos not check that __setitem__ is present. This would make the behavior more similar to a compiled statically typed language where this would be a compile time error and the right hand side would never get evaluated.
I don't like Wall St. But this kind of behavior is not exclusive to or even characteristic of Wall St. There are scumbags in all walks of life.
I won't claim any special knowledge, nor do I have any actual solid research to back up my intuitions.

I can certainly recognize the feeling that O'Caml makes you more productive from when I first discovered it, but that was mostly just because of algebraic datatypes. (And pattern matching which, while not terribly useful in general circumstances, is hugely useful in practical CRUD-like applications.) Polymorphic variants also made the "pro" list.

The biggest boost to my productivity I've ever felt(!) was when explicitly separating different types of effects. (Not just "pure vs. impure", but "uses-network" vs. "uses-filesystem" vs. "pure"... which is why I'm currently sticking with Haskell because it enforces that kind of discipline.

(I'm sure there'll be something better coming along any day now, but...)

Mostly, I hope that problem is mostly a lack of (appropriate) advocacy and education. There's also an absurd amount of inertia which is due to sheer entrenched interests/industries.

EDIT: ... or maybe it's a generational thing. After all this kind of thing happens in every other fast moving discipline without terribly rigorous theoretical underpinnings[1], e.g. medicine or biology.

[1] Don't get me wrong, CS is basically math which is unassailable, but we still have no idea how to (reproducibly) produce stable/well-functioning software.
your comment reminds me of this -

http://spritesmods.com/?art=hddhack&page=7

it makes you wonder how many Linux capable processors actually make up the computer you run..!
I agree. Talking about "Usability" in a GUI context clearly points to something else.
Well of course it will never be exhausted! But you will actually be making progress, and you can always weight things up or down in accordance with how near-term or long-term important they actually are to you. The principle is that you will get things done.
It's nearly impossible to isolate banking system networks these days. As an example, ATMs run transactions through public networks. Customers access their accounts via public networks, etc. Further, network isolation as a primary control fails time and time again.

It's best to focus on the end points and beef up security there. Focus primary security controls on the application and not the perimeter. One of my biggest frustrations as a security professional is walking into an environment where systems which must be highly secure are accessed via simple username & password. All banking applications at a minimum should require x.509 client auth for employees utilizing a private-key stored on a device which is not permanently attached to the system. Monitoring solutions should then be in place to track authentication actions and provide that visibility to security staff and the employee's themselves. That's a pretty basic first step and one I rarely see in practice. Next, rather than isolating networks, start paying attention to the traffic on the networks & limit transactions to known good entities. After that organizations need to consider their customer environment security and how they may be inadvertently compromising it. It's amazing how many times I've gone to a public facing banking portal and spotted third-party JavaScript loaded within the same origin context of an authentication form. One bank I looked at awhile back actually had an advertisement from a third-party ad network on a page where they asked for credentials! That's pretty much asking for their customers and thus their accounts to be compromised.
Improve Your Valentine's Day with JavaScript
I've been learning Haskell off and on for the last five years, and despite the steep learning curve for an imperative programmer it's well worth it. Once you grasp the idea of what not how, and embrace type inference it just gets so much easier.

The world seems to be heading towards functional programming, with Swift and the increase in functional constructs in c#. Much easier when the compiler does more work for you.
What Startups can learn from an 85 year old Sushi Chef
> Now running Linux, FreeBSD, OpenBSD, and Plan 9 builders
on Google Compute Engine. (OS X, Windows coming soon.)

What purpose does putting work into Plan 9 support serve other than wastefully gratifying Rob Pike? Most Googlers I've spoken to despise this guy's reactionary lordship over the project, and seeing stuff like this lends evidence to the idea of it being a North Korean situation.
Keep in mind that writing something like this is not actually going to be perceived as helpful to most people who may have difficulty with Haskell. Consider a couple of possibilities.

First, you may be unusually quick, gifted, clever -- whatever you might want to call it. In this case, the new concepts in functional programming might come easy for you. That's great, but to people for whom they don't come so easily, this could easily be considered discouraging, or else bragging.

Second, consider that maybe you haven't advanced as far in learning Haskell as you think you have. In my estimation Haskell can take you up an abstraction ramp, that has no clear and obvious "end." As a research language, higher up that curve is some really mind-blowing stuff. So unless you're SPJ or beyond, I wouldn't be quick to claim that Haskell isn't "unusually hard to learn."

Third, you may be a stage in your life where you can put a lot of free time into learning, but recognize that not everyone is there. In my twenties, I worked much more than full time, and in my spare time worked on yet more programming, teaching myself other languages and environments. Really in retrospect it's fortunate I didn't damage my physical or mental health more than I did. But not everyone is in that boat now. In particular people who are older and have "work/life balance," who are professionals in some form of software development, may find that their employment doesn't offer them much in the way of opportunities to learn another language, and the life part of that work/life balance doesn't allow much time to do so.

Me, I'm somewhere partway up that ramp and proud of how far I've come (I feel like I can use at least simple monads now) but still very aware that there is a lot I don't fully grok (currently trying to get my mind around arrows). And I agree, I completely recommend it, but just maybe don't be so glib to claim it is not hard.
I have been through this dilemma before. Everyone says find your passion, follow your heart and stuff, but what do you do when you don't know where your passion, assuming such a thing exists, lies.
Easy solution, learn as much as possible about all the fields and see if it interests you. Now this leads back to the same dilemma.how to solve this? If you are young, going to a college is the solution.
What if that is not an option? Again a simple solution, take it one day at a time.fixate on a subject and take it easy, dealing with it one day at a time.don't make any future plans, if you have an obsessive nature of planning ahead, try to limit it to next day's plan, nothing more than that.
Move away from a goal oriented methodology to a systems approach; meaning set a few hours each day learning that tech and don't overdo it.keep up this approach for a month and you will notice that you have covered a lot in that subject.If you don't find this subject interesting anymore, then change that subject the next day itself
Keep doing this and you will definitely find certain subject to be of your interest.
Forgive my formatting, typed it from mobile phone
Official FAQ is easier to understand. I recommend reading that first before the article.
Google hires people from the top universities. People with 4.0 GPAs. People who go through strenuous interviews where they are asked questions such as "how would you move the pyramids of Egypt."

You live in their world. This is their world. Assume that they did something right, and you did something wrong.
Absolutely not. Take for example the part about t = [0, 1] followed by t[0] = 2. t[0] does return nothing at all, neither 0 nor any strange complex object. It just evaluates to the memory address of the first element of the array. The idea expressed later that C++ unlike Python treats every piece of code exactly the same no matter whether it appears on the left hand side or the right hand side of an assignment operator is fundamentally wrong.
Thank you, your post-fact thoughts are really (cough) thought provoking, in a good way.

And making a pivot: absolutely. I'd like to get in touch with what I believe in or am passionate about first rather than just jump, but may have to! Having a wife and starting a family in the next couple of years complicates things more than some other commenters, but we are discussing it already. Just got to do something.

Thanks for your reply - I've saved your email address for the future :)
Breaking the mouse entirely probably isn't the greatest of frontend design patterns.
Of course, if you believe they were taught that by their political allegiances via an agent provocateur, as you suggested, the two statements are one and the same :)
Bunnyhopping from the Programmer's Perspective
For the record, Despaña in SoHo will serve Asturian sidra and will provide the little electronic spout you need to drink it properly without getting the floor all wet.
College students often feel at the time that they are completely overloaded with work and barely getting through (in some cases that is true, especially students who are working or non-traditional). But looking back, it is pretty clear that although I worked hard in school, I could have worked so much harder, and also that never in my life again will I be in an environment that was so _supportive_ of just learning. Not just in classes; in fact, my college experience was _especially_ supportive things learned outside of classes. And also, at 20, 21, 22 -- there are very good reasons those are the traditional college years. Our brains are just able to _soak_ up ideas so quickly at that age. They aren't wise, they can't necessarily integrate everything, but we are _sharp_ then! (Usually...)
Besides the arrow keys, you can move forwards or backwards by clicking on the left or right edges of a slide.
A lot of people are talking about discipline and how to make yourself do the important things- but do you know what those things are?

My problem is always identifying my goals. Once I know where I am trying to go, I usually prioritize pretty easily.

Do you have goals? Do you know what is most important to you?
I would think 99% of visitors are interested in a single number. Why show them a list of numbers?
One thing I don't like about OCaml is that I always find myself writing the same things, like "to_string" functions for my variant types (although there must be some ways to alleviate this burden).

Also, when your programs use abstract data types you lose the benefits of pattern matching. In that case, I'm happier with languages like Go or Ada with a friendlier syntax.
The term usability is correctly used. GUI programming mostly consists of manipulating APIs - emphasis on the "I". They are not user-facing but still are interfaces.
I agree that software estimating is absolutely possible and often necessary. However, it's important to keep in mind that software engineering has much less in common with the more traditional engineering disciplines than they have with each other. A big difference is the ability to heavily iterate on a design after it's been shipped (not in all cases, and within limits, but still generally much more than a structure or physical machine). So we often see procurement cycles which treat software development like a construction project or equipment manufacturing (because the organizations making the purchase--enterprise and government--have built their procurement processes around that sort of project) even though that cycle does not necessarily match the way software "should" be built.

FWIW, that procurement inefficiency represents an opportunity for software entrepreneurs who have the patience to deal with the sub-optimal process. It also probably represents an opportunity for large firms, in terms of how to cut down on software expenses (presumably by bringing development in-house, although that obviously comes with its own overhead).
I am from the Smalltalk community (very, very friendly) and just recently got into Nim but my experiences so far has been positive. Sure, more "heated discussions", but I have so far attributed that to possibly younger participants and also a strong IRC presence. I would also say that most of the harsh language I have seen has had a "tongue in cheek" tone to it. Also, I would claim its a very selected few people that like to engage in that kind of heat - thus not representative in any way. But also good that its brought up - I don't like such a tone either.
simple to get started, focus on overall experience and fun without security getting in the way. An app for regular users :-)
Sorry if I'm being dense, but how does that relate to what I wrote above?
My rebuttal to: “Why learning to code is so darn hard”
One thought on the verbosity of type classes vs. ML modules/functors:
As a framework developer, if I have a more powerful abstraction (supposing ML functors/modules really are more powerful), then even if abstracting is more verbose, it might result in an even better end-developer experience, if that explicitness is limited to the core internal part of the framework.

In other words, that verbose application of functors etc, might only need to be written once in the internals of the framework, but could enable more powerful features for users of the framework with little or no additional verbosity. This is just one thing I've noticed happen in a very specific case and it might not be true in general. Really learning Haskell type classes is still on my list of things to do, so please forgive me if I've misspoken.
FBI wants to hide how cops are spying on you via “stingray” cellphone tracker
Markov Robert Frost

another day yet knowing how way leads

has made all the sky proclaimed the furthest

who sight along it was neither wrong

who favor fire but if i could not

and ages and stopped the sky proclaimed the

to call me back in fire some say

showed or shone i could

another street but not to explain i have stood

plowed the difference

lies pointed for destruction
> Most Googlers I've spoken to despise this guy's reactionary lordship over the project

Wat‽ Talk to more of us. From where I sit (ie. not related in any way, just an observer who happens to be a Googler) the go team is fantastic.
Very well written. Depicting current state of the Treasury market. Somehow nobody cares until something is gong to happen and they are going to need a scapegoat.
Again, it depends.

On the client. On the contractor. On the relationship between the two. On who gets to decide. On the relative competencies of all involved.

The worst possible scenario is where a fundamentally incompetent client meets a fundamentally uncaring contractor, who pushes for the latest razzle, flash, and dash (all of which increase downstream contracting potential). It's a "market for bicycles" problem.

Very nearly as bad is when you're dealing with an organization with deep hierarchy but little ownership -- nobody within the organization really carries responsibility for the decisions they make, and everyone carries impunity. Literally, immunity from punishment. This is an evolutionary situation of variation without selection (or rather the variation acts on the individual level while selection operates, if it does, on the organization as a whole). Poor decisions happen here regardless of whether design happens in-house or out. The problem isn't one of propriety, but of impunity.

Small but focused clients, with ongoing relationships with small but focused contractors, often give you the best results. Here you've got a client which does have a strong sense of accountability, but lacking in the ability to retain dedicated talent. The contractors depend on both their repeat business and word-of-mouth. This often gives rise to some of the best design in terms of overall usability.
"It's best to focus on the end points and beef up security there"

Not the way I'd do it. Defence in depth means securing everything. Starting with the perimeter, working inwards to individual apps - on both clients and servers. Every resource needs to be secured. That means spending cash, and the amount of cash that should be spent should be proportionate to the value of the asset being protected. If you have a server application or service, put an application firewall in front of it, so that both internal and external access goes through it. Don't just write a threat model, document the threat tree. Don't trust your employees, your software, hardware or building security. And don't trust the bosses either.

It's analogous to having a bodyguard. If you're in the bedroom and leave your bodyguard in the kitchen for a private conversation, the bodyguard and his big six gun are going to be of absolutely zero use when ninjas come crashing through the bedroom window.
It might be nice if you italicized that rather than flagging it as code. For regular text, line-wrapping is a good thing.

I realize that's just my opinion though.
You're moving the goalposts. First, Aleynikov is "arrested" on GS's say-so. Now he's being prosecuted on their say-so. By the time Aleynikov is arraigned, expertise has been engaged. What makes this an especially pointless debate is that the trial uncovers that he did in fact take valuable source code!
Nice find. I setup a Kolab + Ubuntu server based email for myself and family a few months ago and it has been running great. If anyone would be interested in a writeup let me know.
I wrote the essay and seems it sparked a good discussion in here :-) Can't comment on it all but the point I tried to get across was actually very closely related to the style of thinking most of you promote in here - focus on the outcome not the output, iterate fast and expect uncertainty in both cost and outcome. The principles I present is trying to do exactly that (IMO) while providing the structure to make informed decisions in terms of prioritization and risk.

Basically - Make it short and simple for the team to estimate stuff so they can spend their time focusing on what's important (which is NOT worrying about whether 4 or 8 hours remain before you hit you original estimate and the stress, drop in motivation and even potential blame games that might follow from that) - and be disciplined enough about data to answer all the other questions people will ask anyway. Estimating in time sucks!

And as I wrote, yes you can skip registering time on the individual user story if you find yourself in an environment where that is doable. You will loose a bit of data to make better informed decisions but I'll admit following the 80/20 rule that you probably should not do it if you can avoid it.

Once the structure is set up it actually is quite lightweight (especially for the team but also the person collecting the data, both with and without the per user story time registration) and having at least some amount of real data does in my experience provide better and faster decisions in most contexts.

But anyway, whether you agree or you don't thank you all for discussing and sharing. Never in a million years expected close to 13.000 users from 6 continents to visit my blog in less than 24 hours (and still rising)

BR
Jesper
I laugh whenever someone tells me that they never buy anything over the internet. Their reasoning is that they're afraid of hackers going after online transactions. It seems to me that most of the serious security problems reside in the places that keep your money or access to your money, such as banks, credit cards, or even businesses such as Anthem, etc.

Another problem that I've seen from banks is that they all use Microsoft Windows for most of their employees. That's got to be the worst OS in terms of security. Not saying that you can't break into other systems, but it is so much easier under Windows.
Show HN: A Unixy approach to WebSockets
You can also click on the vertical area between slides to go forward/back.
That was actually my main objection to modules vs. typeclasses: The burden often seemed to land on the users of libraries. Typeclasses are usually effortless as a user, though there may be a multitude of sins[1] hidden behind them.

EDIT: Don't get me wrong, there are also advantages to being able to explcitly declare two structurally identical modules as different, but in practice I find that newtypes suffice.

[1] FlexibleInstances, UndecidableInstances, etc. :)
I would try to talk to the contractors. As a contractor myself, the only reason I would drop a client is if they stopped paying me. There might be a reason they jumped ship....
How the heck do people come up with these equations? Is it purely mathematical knowledge, knowing what functions look like when plotted?