HN user

atonparker

53 karma
Posts0
Comments28
View on HN
No posts found.

It seems to me like you and the author agree about what good OOP should be (encapsulated state, message passing), except they argue that "traditional" OOP is not useful, and you see Traditional OOP as Good OOP. In fact, "good" is not used a single time in the article so I don't see how they could be constructing a strawman against it. I'm guessing the author is using "traditional" in the sense of what is traditionally taught, which in my experience was closer to Java beans and FactoryFactory classes. In other words, a terrible misinterpretation of Alan Kay's ideas.

If you actually look at the framework they are presenting, it pushes the developer towards many of the "good OOP" points you made. So I'm not sure exactly what you're arguing here.

ES6 is beautiful 10 years ago

Why can't we just be honest about it? "Welp, this is what we've got. We shouldn't be surprised, since this is what happens when we design by committee. Now let's make the best of it."

Lots of people are being honest, this article included. Don't disguise your different opinion as "the truth". Not everything can or should have a consensus.

We've tried node.js as a managed VM a few times before this. One of the biggest pains is logging. Despite documentation implying that JSON logs are supported (can't find this anymore, maybe it was removed), we still haven't been able to get GCP to read JSON logs. You lose out on all of the nice filtering and request grouping provided by the GCP log viewer.

The issue is here[0] and it would seem they still haven't addressed it a year later.

[0] https://code.google.com/p/googleappengine/issues/detail?id=1...

There is a very real problem here, and you don't have to search hard for it. An entire sub-population of this country was disproportionately sentenced to felony convictions. If we don't recognize that for what it was, we are condemning a generation of black people to just "suck it up, because we're thinking about the future now". That is a mistake because these people are part of the future, and they deserve a fair chance in it. Laws preventing felony offenders from finding work in their field only make sense if the felony conviction actually made sense. Preventing non-violent drug offenders from finding work in the burgeoning drug industry is as nonsensical as the offense they were charged with.

You can't just hit a reset button on racism and say all our mistakes our behind us, now we're all on the same level. Especially not when those mistakes were felony charges with lifelong consequences.

I read the entire article. The man was duly convicted of a crime in Oklahoma. He broke the law, regardless of what anyone thinks. Fast forward to when black people owning property in certain places is now legal and this guy wants a piece of the action, but...he cannot legally do so because he fled from his master. Should we undo his conviction? No. He was tried fairly and found guilty based on the laws of the time and place. His fault. His color has nothing to do with it, and quite frankly, I'm sick to death of everything in this country now revolving around the blacks, sodomites, and women.

Laws are made by humans, and there is no guarantee that they are fair or ethical. The man in the article was caught with a couple cigarettes filled with a shredded plant (the illegal one, not that legal yet much more harmful plant). He served a felony for it because we instituted a draconian and racist class war under the guise of "saving the children from reefer madness". This country is finally instituting some sensible drug legislation, but the people that were most disproportionately affected by the War on Drugs are now disproportionately locked out of this new market. That is neither fair nor ethical.

The double defection outcome is undesirable because they each serve 2 years. The double collusion outcome is desirable because they each serve 1 year. The other two options are more desirable for each prisoner, but would never happen. Either they can't trust each other and both defect, or they can trust each other and both collude.

Likewise, taxes paid for selfish reasons cannot necessarily be optional, as you suggested. If the tax is optional, you cannot trust your fellow citizens to pay it, and therefore you won't pay it. But a compulsory tax removes that distrust.

My point is mainly that you can be selfishly motivated but still require consensus. The author supports Scandinavian policies not (entirely) because it helps everyone else, but because it helps themselves. Yet they still recognize that everyone must participate for it to help anyone at all.

I'm not trying to make any claims about how efficient a socialist system is. Simply arguing against the point you made about paying optional taxes.

If this were true, then taxes would need not be compulsory, as it would be in an individual's best interest to pay them.

In the prisoners dilemma, it is in both prisoners' best interest to defect, but that outcome is undesirable for both of them. In the same vein, it usually isn't in an individual's best interest to invest in their community, because they could gain more individual wealth by not sharing it with the people around them. But that is a great way to create a few very rich people and a lot of very poor communities.

So do Scandinavians pay high taxes for selfish reasons? Obviously they don't think that paying higher taxes for universal health care will make them richer than their neighbor. Say you vote to lower the tax rate and dismantle universal healthcare. Suddenly you have a few extra thousand to invest in the market each year. That move was certainly in your best interest. And then your house is foreclosed because a purely random onset of cancer cost you two hundred thousand dollars in medical bills. The definition of "best interest" has changed quite a bit.

People are really bad at making long term decisions, about themselves[0] and their community[1]. Compulsory, high, and progressive taxes certainly sound like "we know what to do with your money better than you do" and that is hard to swallow. But when you consider them in the context of game theory, it's more like "we can achieve more together than alone".

That being said, it will always depend on the trustworthiness and efficiency of the government, and that is a very difficult thing to achieve. Fortunately for the Scandinavian countries, they seem to have it pretty well figured out.

[0] http://www.forbes.com/sites/maggiemcgrath/2016/01/06/63-of-a...

[1] https://en.wikipedia.org/wiki/Flint_water_crisis

I think you misread the parent. They were saying that specifically family care is foisted on women (more often). In just the previous sentence they assert that men face an equal but opposite pressure.

You seem to be out of date. npm 3 uses a flat directory structure, only nesting dependencies when there are two different versions.

That misinformation aside, all package managers are agnostic about how large your dependency tree is; the large trees are purely a consequence (or choice, depending on your outlook) of the community. Could you imagine a package manager telling you you're using too many or too few dependencies? If you want fewer dependencies, use fewer dependencies. npm won't get in your way.

Speaking of the community, it is primarily what people like about node and npm. Sure, there are lots of bad packages. That's a side effect of javascript being the lingua franca of the web. Everyone and their grandmother is writing npm packages, so of course there are going to be a lot of bad ones. _But there are also a lot of good ones._ npm has driven web development forward at such a fast pace, I wonder how anyone can't appreciate what it's done.

Finally, some stats: ~230,000 packages, ~3,300,000,000 package downloads last month. That is a lot of users for something fundamentally broken. I can only wish to work on such "broken" software.

I've loved using 1Password for Mac, and the Android app is pretty nice too. Unfortunately, 1Password for Windows has always lagged way behind. I wish it got some more attention, because the experience and feature set is so inconsistent between platforms that it really makes me scratch my head sometimes.

Really happy to see that this is a free upgrade, however. I've got plenty of loyalty for them.

Something like http://rollupjs.org which statically analyzes your ES6 dependency graph and creates a bundle with only the parts you need. The author included an image that rips at ES6 syntax, including the new import statements. A tool like Rollup couldn't work with dynamic exports like `module.exports = foobar`.

This article mostly seems to be saying "my problems don't require your solutions". So don't use them. We all know jQuery still works.

A more charitable reading would be "don't use complex tools to solve simple problems". That's a fine piece of advice when your problems are simple. Simple problems rarely stay that way. Most of these articles lamenting the state of front end development make a similar concession:

If I see a section on my app that is really hard to with Pjax/Turbolinks and jQuery, I’ll bring in a library/framework like Vue.js, React, Angular. All good choices for doing really complex forms(although I find Angular to be the best at this), with a ton of conditional validation. You know what though, these are the outliers in my experience, not the norm.

Sure, adding a form to your front page can be done with a couple lines of vanilla javascript. But you suffer the cost of a framework or library at the start of a project because it pays dividends at the end of a project. When you have to filter a list of ten thousand items as the user types, you'll probably wish you could use virtual DOM diffing. When you have to step through a series of ten asynchronous requests before updating a view, you'll probably wish you could use async/await. When your site takes five seconds to load over 3G because of your single monolithic codebase, you'll probably wish you could tree-shake your dependencies. The tools mocked by the author have real uses, he just refuses to see them.

A very important one I can see is that Blade targets back to Java 6, whereas Spark only targets Java 8. This makes it available on slow moving platforms like Google App Engine.

If you need to make 30 million function calls per second, the ES5 counterparts aren't off limits. I hear the performance argument against early ES6 adoption from time to time. But the bottleneck when running javascript on the client or the server is almost never language constructs. Network requests, disk i/o, database queries...they're all going to take many thousands of times longer than a prototype lookup. We should write succinct code first, then optimize the slow parts.

It wasn't just a "guy". Both the reporter and the closer are project members and committers of an open source project. pkasting could have at least provided some reasons why the feature request won't even be considered. Without any real counter points, maybe the "guy" does know better.

NPM 2 was and is not broken. There are ~200,000 packages on the NPM registry, and ~2,700,000,00 downloads in the last month. In the past four years it has done wonderful things for node.js and javascript development in general. The nested dependency tree worked great on *nix systems. Was the max path on Windows annoying? Of course it was. But stop pretending like it completely prevented you from accomplishing anything. And if you were deploying to a Windows server why did you pick an ecosystem and package manager that has always made it clear that Windows is a second class citizen? There are always trade offs.

Now NPM 3 has worked around the utterly idiotic max path on Windows at the cost of slower installs. That's also annoying. It's also temporary. Just wait a little, and keep using NPM 2 if speed is your top concern.

Swintec Typewriters 11 years ago

I was surprised. I had no idea typewriters were still in use, or at least in enough use to be sold new.

What infuriated you about it? It isn't a smooth scroll, sure, but it suits the content. I get much more annoyed by sites that try maintain smooth scrolling while still presenting "slides" of information. Then you spend 80% of the time scrolling through useless transitions. This site felt pretty easy to consume.

How does it work? I get that a bidet is going to be cleaner than paper, but it seems like the continuous stream is an important factor. I can't really visualize how using a wet hand is going to do anything but make a mess. Sure, you wash your hand afterwards...but you just wiped a bunch of unsanitary water around a place that doesn't get a lot of fresh air.

I'd pick the enriched solitary confinement over having to socialise with the general prison population any day, wouldn't you?

Do have experience with either? I believe the "enriched" solitary confinement you're proposing would be more maddening than you think. I agree that the US has a problem with criminals creating new networks inside of prisons, but stripping away all real interaction is throwing the baby out with the bath water. Functioning members of society need to know how to interact with each other. If you believe that prisons should rehabilitate, you should agree that they need to encourage safe, respectful, and real interaction with strangers.

Sure, here is a toast shape: http://imgur.com/x86KzRb Took about 10 seconds as well.

Again, the anchor point tool is necessary here. First you drag the top line up to add split anchors (or cusp nodes, haven't ever used that term) to the two adjacent points. Then you can use either the anchor point tool or the direct selection tool to adjust the two new anchors.

The anchor point tool is essential to using Illustrator. You can read more about it under "Convert an anchor point precisely using the Convert Anchor Point tool" here: https://helpx.adobe.com/illustrator/using/editing-paths.html

One feature Adobe Illustrator is sorely lacking (afaik) is grid snapping for anchors. They will snap to objects, lines, and points, but grid snapping would be really helpful.

Not to take away from how cool this site is, but that is actually really easy to do in Illustrator.

- Draw a box with 4 sides.

- Use the Anchor Point Tool (shift + c) to select the top line and drag it. The adjacent points will split their anchors.

You can use the Anchor Point Tool to convert points between corner mode, mirrored anchor mode, and split anchor mode. Not sure if those are the official terms.