skysight-inc/HackerNews huggingface dataset:
Personally I've seen hundreds of projects in many languages called "blazing fast". To me they're meaningless words.

Elixir and Erlang are bad at number crunching, they aren't "fast" at computations like C is. However, because of the amazing piece of tech that is the BEAM, problems that are best solved through multiple processes/actors, concurrency, and distribution appear to be "blazing" fast because the two languages are very good at that type of stuff. Hence the Phoenix web framework being called "blazing fast"—the BEAM is great for servers.
Or just `names[name] += 1` if you're using a Counter.
I agree and pretty sure that was OP POV but that's the same as saying shame on Muslim because of IS attacks. Including a much larger population just because of a single shared characteristic like citizenship or religion is IMHO not a good thing.
I felt accused by OP even if he didn't intended to
I think it's a fair comparison, but here's where it breaks down. The technology already exists and is already widely deployed. I think the reporting has not kept up with the facts on the ground. If the battle against widespread deployment of cameras and microphones is already lost, it comes down to a utilization battle.

For now I think we see parallel construction obfuscating much the tech is actually being used and giving it cover against constitutional challenges. As that changes, the Supreme Court will have to grapple with how much of this Panopticonal evidence can be used in court.

Drive around the Bay Area and almost every single intersection has CCTV aiming down at driver's faces & license plates in all directions. I must assume that's all recorded indefinitely and also feeds license plate and facial recognition systems.
OneNote is just awesome. I use it for everything... I own and mac and use android.
Lots of practice and experience.

Calling it a "knack" kind of downplays the years (decades) of study, work, and effort people put into refining their craft. You could also say Michael Phelps has a "knack" for swimming, but he also did nothing but workout, train, practice and compete for years.
It also helps communicate with colleagues who prefer to leverage their CS background when discussing algorithms, issues, etc.
FWIW I find `mix` miles ahead of what I've used in other languages (never used Java).
If big banks re-released Tether, that would work decently well

The proof of concept is already there.
Exactly. Music major here. I spent a lot of time on Wikipedia, the programming sub-Reddits, and now on here. Making the code run is one thing, but knowing how to communicate with other programmers is important. Speaking the language around programming rather than just the programming languages themselves.
That's an argument for not using an icon font which remaps normal characters but the most common ones use private-use characters which are ignored by screen readers. In which case are these not equally accessible?

<i class="fa fa-globe" aria-label="Picture of a globe"></i>
<img svg="globe.svg" alt="Picture of a globe">

Accessibility is more about process and testing than any particular technology since they all can be done poorly.
I totally agree with your comment. I think that the potential of container schedulers will start showing and will become popular.

Martin Fowler defined serverless as "bringing entire applications up and down for every request". http://martinfowler.com/articles/serverless.html

I don't think that this is what we do with containers, they mostly stay active when there are no requests since they take more than 20ms to boot up.
or google maps
Why Valve’s Handbook for New Employees went viral– and brought back new recruits
Just throwing my anecdote in the ring: I work with a small team (4 devs) in at a non-tech company. The other devs all have 10+ years experience and none even know what SOLID is.

I've never asked, but I'm guessing they don't know about any of the other things you mentioned either.

There's an ocean of small/medium businesses who just need to get shit done and don't need it optimized so it can scale to serve 7 billion people every day while running on a 1997 microwave.

HN seems to overlook that market entirely. Not hip/trendy enough, I suppose. Consultants are billing $250/hr just to write CRUD apps or reports, and they're completely booked.
They'd need to continue paying for their font license.

"The biggest factor is that we have recurring costs: the sync server and the licensing fees for Ideal Sans, Vesper’s typeface."

They'd need to continue paying for their font license.
Transcompiling F# to JavaScript with Fable
> > There are several ways to think about types.

> I don't think misrepresenting types is the way to go. An introduction like I just gave seems simple enough, where a type is a proposition about a program...

chriswarbo's point is: That's one way to think about types. It's not the only way, or even the only valid way. If you're going to disagree with chriswarbo, simply ignoring his/her point and reiterating your own isn't a good way to do it.

Can you demonstrate that your definition is the only valid way to think about types? Can you demonstrate that all other ways are subsets of your way? Those would be useful replies that would actually answer chriswarbo.
Stallman isn't a group of people though, he's one very very extreme case that frankly doesn't matter in the big picture of web accessibility and it probably isn't going to hurt anyone if he can't see every bit of your site as perfectly as everyone else.
If I were pretending to be a startup VP HR, I'd pretend to ask for data showing the value of such a service. In particular I'd need to compare how optimizing for random visitors to the careers page returns value relative to targeted recruiting.

Good luck.
> An introduction like I just gave seems simple enough

Simple enough for what?

And I don't see why a bit of pedantry about Haskell's type system requires rewriting an introduction that's expressive and actually simple, not just "simple enough" from a certain point of view.
Then you've apparently never been in a technical interview with ALOT of companies.
The problem is that this network-contained concept of "cat face" is still a symbolic representation. It's a much more complex algorithmic symbol than the rules found in something like 1960s Eliza, but its understanding of the world is on the same level.

You can't ask the "cat face" neural network anything about cats. It has no idea what they actually are in relation to the world. A two-year-old human can usually tell you more about cats than you'd care to listen.
(Static) types may be seen as propositions, but this is just one interpretation of them. We can also interpret types as sets (although this doesn't work out very well except in very simple languages), as domains (most commonly), as cpos, as relations over closed terms (PERs), and so forth.

The types-as-propositions interpretation is a particularly useful one because it lets us take ideas from the field of formal logic and apply them to programming. But it is only one interpretation, and not a definition of what types are.

I don't think it's possible to give "type" a good, short definition. For me John Reynolds' definition comes closest: "Type structure is a syntactic discipline for enforcing levels of abstraction." But that's rather a mouthful, and not a good introduction to what types are.

> A type is a proposition, and "This binding has one of these possible values" is merely one type of proposition.

The type that an expression or variable has does not correspond to the proposition that that expression has a certain set of possible values! You're mixing the object-level (the language & its types) with the meta-level (assertions about the language). This is a total misunderstanding of Curry-Howard. Rather, the values an expression might take on can be interpreted as proofs of the corresponding proposition.
If you like this, you may enjoy Mark Richards and John Alderman's book "Core Memory: A Visual Survey of Vintage Computers."

There are some photos from it at http://www.wired.com/2007/07/core-memory/
I think one of things that "millennial" self-taught programmers have trouble understanding is OS. While the need to implement OS functionality is now a niche (like process scheduling), I have noticed that "millennial" self-taught programmers have gaps in knowledge with respect to threading, mutex/semaphore, consumer-producer pattern, synchronization vs. lock-free (blocking vs. non-blocking), concurrency and parallelism. I still feel these are essential topics to understand since these issues often come up in most programming languages (JS, Ruby, Go, etc). When deciding between Nginx or Apache, for example, knowing the difference in philosophy is useful (asynchronous vs. thread-based). One of things that CS trained me very hard was to think about cost; when I programmed before my CS education, the old adage of everything looking like a hammer was particularly true for me. Also, many of the self-taught guys need to use fewer libraries/gems and more stdlib and primitives because every additional include is not always necessary and may unnecessarily increase complexity :)

Pipelining is another concept that I feel self-taught programmers have weaker foundations--many of whom I have worked with write code that waits for all results to become available, while an operation that's blocked by I/O doesn't necessarily mean we can't do stuff with the CPU while we're waiting for the next batch of I/O to come through.

I have also seen self-taught programmers accidentally write O(n!) or O(2* * n) functions and not realize it. I think data structures is definitely a good chapter to have. Especially when writing queries to a data store.

I think explaining how a hash table works would be excellent since it is such a useful and fast data structure. A lot of set-taught programmers sort of treat them like magical black boxes when it's not a very complex data structure yet it's practically O(1) for most insertion/reads/deletions.

Memory management is fortunately something we don't really need to worry as much about. With languages and interpreters that do a very good job of cleaning up after our code and now that memory is relatively cheap, we can afford to ignore it until we need to scale.

Of course, if you have a good product, you can get away with inefficiency and hire CS guys when you have built a unicorn. ;)
You can't... My mistake... I've added my email in the comment below
"beyond the basic concept of not doing obviously stupid shit."

Isn't that exactly the point? Based on one's knowledge, something that is obviously stupid to you could be a completely new concept to someone without that same knowledge or experience. Describing anything as "obviously stupid shit" is exactly the kind of thing that makes new self-taught programmers afraid to engage with others. It is better to give people a break, help them learn, and give them a positive environment in which to do so. This book sure seems like a good step in that direction, whether or not its topic comes up in everyday conversation.
Writing Better Tests Than Humans Can: FsCheck Property Tests in C#
> means just what I choose it to mean

No. Not if both parties don't agree on a common definition, one party can "move the goalposts".

It could mean A one day and then B another. Look at all the trouble with TLAs.
Best avoided for what?

At worst, SVG is as styleable as any graphic or font, at best much more so.

You shouldn't use SVG for things with first-class support in HTML, sure, but for anything else it is a good solution, afaict. Can you give a counter-example?
IMO the joke is that Snapchat is worth $18 billion, that is pure insanity.
An exclusive inside look at how AI and machine learning work at Apple
France, Germany Want Encrypted App Makers to Help Stop IS
Fair enough. I'm sure it's workload dependent, and also I have not tested huge data sets. I'm most interested in the overhead of virtualization and (separately) compile times.
That, yes.

But also because a significant amount of even the day's top popular topics have in the end very little relevance and impact to most businesses.

Which doesn't mean it's not interesting, though.
> I don't think that does what you think it does:

Heh, just proved my point. Reduce won't be missed.
I don't hate them. I've used python more than once, and will continue to do so. And I think it's great teaching material. It's a good scripting language. But I think its drawbacks far outweigh its advantages for large projects.

All your examples are programming gimmicks, and I've yet to see stuff that solves actual hard problems. I'm not interested in programming for programming's sake. I want to use it to make my computer do useful stuff.
Anyone want to estimate the monthly server/font licensing costs?
I went to a very large music store in a heavily trafficked area of Portland recently and realized how useless this type of store has become. Unlike a bookstore, it's not fun to "browse" music physically, we have become spoiled by services such as spotify.

Here is what it looked like inside, nearly empty of shoppers:
http://i.imgur.com/kcrYKG6.jpg
This is pretty much going to be my thesis, but you will have to wait a few years :)
It's not pedantry, it's a basic definition. There are plenty of languages with stronger type properties that can't be captured by types-as-sets. While the current introduction may be simple, it's also wrong.
Reading your comment, I now wonder if there's a way to sell (formally transfer) these indie projects. Like how patio11 sold BingoCardMaker thru a broker.

Then someone like you could take a swing with a different business model.

Maybe a few dollars upfront and a tiered royalty model, to minimize risk for both sides.
There is bias in the risk of their decision: hiring someone given that (s)he is good is not important - the important thing is that (s)he is good given (s)he is hired. That's why they are conservative in their selection process.
I deal with this stuff regularly, but not daily. I'm sort of the go to guy on the team when things start to feel CS'y. It isn't PhD level stuff.
Here's another perspective. Let's say the company you joined has a culture that is big on sports, specifically American football. A lot of the people on the team care about the sport, make jokes about it, and make passing references to the current events in the game. If you're the kind of person who cares about fitting in, you might just read up on the game and perhaps browse the sports page headlines so the comments and jokes don't go totally over your head. You know when to laugh.

This type of book can help with the cultural roadblocks non CS degree wielding programmers may have. There are many cultural code words that CS degree holders use and being up on those can make an "impostor's" life easier.
Only one guy has to beat it for it to be widely disseminated, though.
It is mostly Python, both the monolith and SoA. A few services are Java, e.g. for talking to Lucene. The github site actually gives a reasonably complete view of the stack via the various tools we have for integrating with various parts of the stack.
https://yelp.github.io/
No D in your list?

/ goes to a corner to cry...
Mobile Audio Processing and Memory Bus Bandwidth and Load
Yeah, the latter is definitely a plus, isn't it.
Why would it not?
What about gccgo? "Gccgo, however, supports all the processors that GCC supports" Source: https://blog.golang.org/gccgo-in-gcc-471
"I have cars where you can plug in the music, or go through Bluetooth, and Bluetooth just sounds so flat for the same music."

Is there any more effective way to kill your own argument dead than this? Surely Bluetooth doesn't downsample, compress, or otherwise process the underlying audio while it sends it, which means that this "bluetooth is bad" argument basically comes down to his subjective audiophiliac bias that's not been borne out by any scientific test?
6 Top Skills of Exceptional Pricing Managers
I just realised you can't DM on HN. My email is me[ at ]robinjulius.com
I never claimed it was the only valid definition, but the current set-theoretic definition is simply wrong. The propositional definition is at least right (and fairly common), and isomorphic to other definitions.
Previous gig I worked at had a decade old codebase for just the web app that was a bit over 2.5 million according to one of the chief engineers. That wasn't even the complete product just a small piece.
"Why Night Owls Are More Intelligent Than Morning Larks"
https://www.psychologytoday.com/blog/the-scientific-fundamen...
Performance will rarely be deal breaking. Instead people will toil away with slow systems and just accept it. It doesn't mean that they wouldn't be much happier with a faster system.

We recently replaced a system whose online store took about 900ms to respond, and their back end admin section on average around 1.7 seconds. It obviously wasn't deal breaking since they lived with it for 3 years but it still was still ridiculous, and definitely had an impact on both their productivity and bottom line.
It's easy, fast (both Development speed and Page Views), and can deploy anywhere with a few clicks? It has no novel concepts that require learning something new. It has a plethora of existing code, documentation, frameworks, and StackOverflow answers to solve almost any problem (albeit, not always correctly).

Its the lowest barrier to entry web language - and honestly, I'm ok with people writing shit PHP. It gets good Ideas out there quickly - allowing the business to grow without a focus on the Development. This creates opportunities for sharp developers to come in and work on proven ideas.
>The weakness to BJJ is that if there's more than one person, things can get hairy for you, and the training doesn't focus on this much (or at all in most places I think).

If there is more than one person, things are going to get hairy anyway. Although some boxing/muay thai could help to some extent.
Lever is hiring engineers in SF – Join a 50/50 men and women team
> (Static) types may be seen as propositions, but this is just one interpretation of them. We can also interpret types as sets (although this doesn't work out very well except in very simple languages), as domains (most commonly), as cpos, as relations over closed terms (PERs), and so forth.

Right, I wasn't advancing the propositional definition as the only one, merely as one that sufficiently captures the generality, because the article's current definition of types-as-sets is insufficiently general.
CodeTalk: A better way to talk about code
The one you should be going to is Music Milennium on East Burnside and 22nd.
Basically any other backend is equivalent. Javascript (on the backend), python, ruby, anything.

Not a knock on php on my part, PHP is equally suited.

I would have personally probably chosen Flask (python).
I'm not talking of the proprietary license, but of the exchange between buyer and seller. I've never talked to an Oracle salesperson, but I doubt that they'd say that the software isn't guaranteed to run and/or be useful.

The same goes for FOSS when a consulting company is involved: they say that the software will work; my point is that that's the most likely way in which a large enterprise can run FOSS.

There are other ways, of course: the decision can come from a high enough manager (or even from the CEO or CTO) who's willing to take the risk, but, indeed, they are taking a risk.
Erm, ARM partners ship 30x as many cores every year as Intel[1]. ARM is the one with scale.

The actual difference is Intel has proprietary fab technology one or two generations ahead of TSMC etc.

[1] The actual numbers for 2014 are: Intel shipped 400 million chips, ARM partners shipped 12 billion chips.
How big is the list we're talking about?
This is exactly true. Even at places where the primary money-making IP is a truly novel application of some algorithm, 99.5% of the code are "supporting actors": an API onto that algorithm, plumbing up through layers of middleware, bindings to other languages/frameworks, integration code to shim it through some legacy system, a CRUD interface, etc. My guess is that Google's search code is actually just tiny island of real computer science surrounded by a vast ocean of plumbing, frameworks and middleware, and that when you're hired there, chances are you're not going to be working on that island.
> That's true for all programming languages.

I'm pretty sure that when I define abstract types in ML, I can often arrange things so that they mean what I want them to mean. For example, I can define set and heap types that are impossible to use in any other way than as sets or heaps. Of course, I still have to manually prove that my implementation is correct, but the language guarantees that, if my implementation is correct, it's impossible to misuse.

The problem with Go is that the type system is too dumb to actually enforce such things, so the names of your types are nothing but declarations of good intentions. So you might as well use a dynamically typed language, since you have nothing to lose but the verbosity.

> Are you claiming that there exists some language where bugs cannot happen because it is "type safe"?

No, I didn't say that.
Refactoring Production Code with Experiments and Scientist.NET
What bug?
ag was initially written as a faster ack. Maybe ack has caught up since, though.
> What's funny about your example is that using a set in that situation would be an example of premature optimization. If your entire list of receipts fits into memory users won't notice a difference between a list and a set.

That's completely untrue if you're running this check often enough.
I kind of hope the opposite really. I hope that one fine day, a billion years from now, a mighty intelligence that started here on lowly earth finds another like itself somewhere out there and they drink a star together and show each other the youtube videos of the tiny creatures that somehow gave birth to them.
Yes, it´s a lot more complicated than that.

Fundamentally, it´s an issue of scale. It can be proven that central planning is the least efficient form of organisation at scale, because the information capacity of a hierarchically organised network will always be less than that of a mesh or federal mesh system.

However for small systems, those network capacity limits aren´t reached - so it doesn´t matter, and there´s also a joker in the pack for mesh networks, in that if they can´t self-regulate their traffic, the resulting broadcast storm (which socially we are now in worldwide) will drive their good-put (user traffic) to very low levels.

Besides the information capacity issue though, there are also considerations of command and control, so if you have a central planner that really knows what they´re doing (and the issue of information capacity is essentially that most central planners can´t), then that topology will be advantageous. Especially in competition with other centrally planned organisations - like Microsoft say.