Recent submissions

Comment · 7 years ago
What new product can they offer? What new ideas do they have? Is there any sign of the originality that was on display 10 years ago?
Comment · 8 years ago
The Internet is part of the real world. Whatever you dislike about the real world, you will probably eventually dislike about the Internet. And to save what you like about the Internet, you have to go into the real world and fight for it. Thomas Anderson has to leave the Matrix and go into the real world to save all the people who think they are living normal lives in the Matrix.
Comment · 8 years ago
I agree about Kessler. Why would she write an essay about Yegge? Slow news day? Writers block? Who cares about Yegge's blog post? How did she even find it? Still, QZ has a big audience. QZ is popular in Silicon Valley. I feel like once something is up on QZ, people are going to respond to it.
Comment · 10 years ago
I currently work for a client who has decided to shift away from PHP and towards Python. They had a monolithic PHP app with perhaps 250,000 lines of code. Now we are developing a series of Python apps in the microservices style. We've decided to develop everything as Python 2.7. We are not looking at Python 3.x. There are a few reasons. Some libraries that we want are in Python 2.7. And Amazon only supports 2.7. And we are not wild about Python 3.x's attempt to imitate a classical object oriented style.

We would look very closely at a Python 2.8, if it existed.

Comment · 10 years ago
Regarding Muslims in the USA, I worry about those in government who might revive this line of thinking:

"The very fact that no sabotage has taken place to date is a disturbing and confirming indication that such action will be taken."

— General John L. DeWitt, head of the U.S. Army’s Western Defense Command

Comment · 10 years ago
I loved jQuery when it first appeared, but it is from another era, for sure. The rise of the Single Page Application was one big strike against jQuery. Frameworks such as Angular 1.0 emerged which relied on jQuery, and the software built with those frameworks revealed the dangers of mutable state, especially when combined with something async like Ajax. Anyone who has worked on a large Javascript project is eventually burned by mutable state. Then other frameworks such as React and Om Next emerged, which advocated for immutable data. The team behind Angular realized their mistakes and tried to fix them, so Angular 2.0 was a radical re-write of Angular 1.0, and yet despite that, more and more developers continued to flock to something like React. The immutable frameworks offer the idea that all state should be held in a single immutable atom, and the views should merely be straight reflections of the state that is held in that atom. One could still potentially use jQuery in the background to handle the actual update of the DOM elements, but there are many other ways of updating DOM elements, and many of those other methods are more efficient than jQuery, so jQuery's importance has declined.

Back in 2007, if you wanted to add some simple visual effects to your CRUD app, then jQuery was like a gift from God. But nowadays, given the complex systems that people are building, jQuery has less to offer. It never had an opinion about managing state, so it leaves the core question of building a large app to other frameworks, and those frameworks have various built-in ways of updating the DOM, so the ease-of-use offered by jQuery is no longer such a noticeable advantage.

Comment · 10 years ago
"when a community and its moderators tend toward free-speech absolutist positions."

But oddly, this doesn't describe HN, because another aspect of the moderation is in favor of blandness, for the sake of avoiding flamewars. In college I was taught that good writing entailed taking strong positions, but the moderation here sometimes sees strong positions as being the same as flaming.

Comment · 10 years ago
From the Notes, this is a very sad story:

"I am Muslim, born in Massachusetts. I love my faith. Muslims in the US are very scared. Both my mom and wife wear the hijab, so I'm always worried they'll be attacked in the street. Even in the Bay Area it's a concern. Of course I encourage them to continue; it's important not to be affected. A few years ago, my mom and sister were at a farmers' market in Boston, what seems like a liberal setting. A big guy ran up and called them terrorists, started spitting at them. My 60 year old mom and 20 year old sister were really intimidated. My sister cried for the rest of the day. People stood by and watched. I give them the benefit of the doubt; they were taken off guard. We have to be aware of our surroundings and be ready to act. It takes mental preparation, so you don't end up reacting like a deer in the headlights."

I am worried what happens to a diverse country, such as the USA, when it elects a leadership that is vocally anti-immigrant. We are about to find out. All of us need to do what we can to minimize the kind of bigotry that might escalate under anti-immigrant leadership.

Comment · 10 years ago
There have been some fantastic conversations on Hacker News about type systems. I've learned a lot about the different arguments for dynamic typing, versus strict typing, versus gradual typing. Java's type system may or may not have represented new thinking when it was under development in the early 1990s, but it certainly seems a bit dated in the year 2016. The limits of the Java type system have been discussed both here on HackerNews and also elsewhere, many times.

For those who want to consider arguments against Java's style of strict typing, 2 things I would recommend include "Agility & Robustness: Clojure spec, by Stuart Halloway":

https://www.youtube.com/watch?v=VNTQ-M_uSo8

He offers a chart that shows the strengths and weaknesses of strict typing versus unit tests versus the run-time checks offered by Spec. It's worth a look.

The discussions around gradual typing have been interesting, but to see how far the limits of this can be pushed, I would suggest everyone check out the Qi/Shen programming language:

https://en.wikipedia.org/wiki/Qi_(programming_language)

"Qi makes use of the logical notation of sequent calculus to define types. This type notation, under Qi’s interpretation, is actually a Turing complete language in its own right. This notation allows Qi to assign extensible type systems to Common Lisp libraries and is thought of as an extremely powerful feature of the language."

This next quote is from someone who has spent a long time experimenting with different Lisps:

"Qi (and its successor Shen) really push the limits of what we might call a Fluchtpunkt Lisp. I suspect it requires a categorization of its own. A few years ago I was looking for a Lisp to dive into and my searching uncovered two extremely interesting options: Clojure and Qi. I eventually went with Clojure, but in the intervening time I’ve managed to spend quality time with Qi and I love what I’ve seen so far. Qi’s confluence of features, including an optional type system (actually, its type system might be more accurately classified as “skinnable”), pattern matching, and an embedded logic engine based on Prolog, make it a very compelling choice indeed."

http://blog.fogus.me/2011/05/03/the-german-school-of-lisp-2/

Mark Taver, who created Shen, posted a comment and then turned it into an essay here:

"The underlined sentence is a compact summary of the reluctance that programmers often feel in migrating to statically typed languages – that they are losing something, a degree of freedom that the writer identifies as hampering creativity. Is this true? I will argue, to a degree – yes. A type checker for a functional language is in essence, an inference engine; that is to say, it is the machine embodiment of some formal system of proof. What we know, and have known since Godel's incompleteness proof [9] [11], is that the human ability to recognise truth transcends our ability to capture it formally. In computing terms our ability to recognise something as correct predates and can transcend our attempt to formalise the logic of our program. Type checkers are not smarter than human programmers, they are simply faster and more reliable, and our willingness to be subjugated to them arises from a motivation to ensure our programs work. That said, not all type checkers are equal. The more rudimentary and limited our formal system, the more we may have to compromise on our natural coding impulses. A powerful type system and inference engine can mitigate the constraints placed on what Racketnoob terms our creativity. At the same time a sophisticated system makes more demands of the programmer in terms of understanding. ...That said, not all type checkers are equal. The more rudimentary and limited our formal system, the more we may have to compromise on our natural coding impulses. A powerful type system and inference engine can mitigate the constraints placed on what Racketnoob terms our creativity. At the same time a sophisticated system makes more demands of the programmer in terms of understanding. The invitation of adding types was thus taken up by myself, and the journey to making this program type secure in Shen emphasises the conclusion in this paragraph"

http://www.shenlanguage.org/library/shenpaper.pdf

I'm only quoting two favorites of mine, but of course I could post a hundred examples, all making a similar point. Java's style of strict typing is both weak and incomplete, and yet overly rigid at the same time. It's worth noting how many other strategies exist, that deliver more robustness, with greater flexibility.

Comment · 10 years ago
I am surprised you were downvoted. The 4 points you make seem straightforward, and are accurate.

The timeline for economic damage (from global warming) is fairly long. Even in the worst-case scenario, the Earth as we know it is still recognizable for the next 50 years, and all of the seasons and climate patterns remain roughly the same. The major changes will tend to show 50 to a 100 years from now.

Also, I'd like to point out that the increasing acidity of the oceans is a much worse problem, in the long-term, than the warming of the atmosphere. Carbon washes out of the atmosphere, and ends up as acid in the oceans. At current trends, in less than 100 years the oceans will be more acidic than at any point since the Cambrian Revolution. It is not clear that life in the oceans can survive with those levels of acidity (other than organisms that live in volcanic vents and love acid).

Comment · 10 years ago
So why can't Google find it? If it is an article, an essay or a series of lectures , Google should find it.
Comment · 10 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton