HNHacker News
TopNewBestAskShowJobs

drapper

115 karma · joined November 18, 2014

submissionscomments
drapper··on Elm in the Real World
Yeah, the JS world currently is very pro-modularization, but I already saw some discussions on Twitter from the React/Flux people how that creates too big barrier of entry for the newcomers. One of the things that draw people to Angular is that it has almost everything that you need included - it's easier to say to someone "just use Angular", than "try React, with Redux, and Router, and Webpack - it will take some time to configure it, but it's worth it".
drapper··on Elm in the Real World
Someone should make an opinionated, batteries-included JS/TS framework like Elm, based on TS, React, Flux.
drapper··on Debunking the Stereotype of the Lazy Welfare Recipient
can you link to any such research? that's a topic I'd love to read more about, but don't know where to start even. thx!
drapper··on Sneaky Microsoft renamed its data slurper before sticking it back in Windows 10
OK, this looked rather scary and also rather unbelievable so I did a quick research and unsurprisingly it turned out this is blown way out of proportion (if not downright wrong).

The article claims DiagTrack collects "your name, email address, preferences and interests; browsing, search and file history; phone call and SMS data; device configuration and sensor data; and application usage". That description is credited to Microsoft itself ("As Microsoft explained"). But if you follow the link it turns out it's not really Microsoft's explanation, but just what some user on official Windows forum wrote. My guess: Windows Technical Preview did (or had ability to do) that and user confused one thing with another.

Next thing, DiagTrack came to Windows (TP) via update KB3022345, so let's check that update: https://support.microsoft.com/en-us/kb/3022345

"The Diagnostic and Telemetry service collects diagnostics information about functional issues on Windows systems that participate in the Windows Customer Experience Improvement Program (CEIP). CEIP reports don't contain contact information, such as your name, address, or telephone number. This means CEIP won't ask you to participate in surveys or to read junk email, and you won't be contacted in any other way."

Of course, it's still possible there's some foul play here, but I'd prefer it would be investigated first and accusations thrown later, not the other way around.

drapper··on The Story Behind the New WordPress.com
Never mind the product, look at that list of React components (https://github.com/Automattic/wp-calypso/tree/master/client/...)! Any chance this will become a separate framework?
drapper··on Django 1.9 alpha 1 released
I think not, but Meteor or Keystone.js might get there some day.
drapper··on React on ES6+
Possibly decorators proposed for ES7 would be a solution here? Babel and TypeScript already support them.

By the way, TypeScript recently (in nightly) gained support for JSX, so we can now have all of this ES6 stuff + types on top of it.

drapper··on Revisiting how we build Firefox
That reminds me of what Vivaldi is trying to do (https://vivaldi.com/)
drapper··on Top-CEO Pay Isn’t Driven By Talent, New Study Says
that happens now already, so we need to fight with it anyway
drapper··on Is ReactJS really fast?
When I was using Angular I thought doing something like

  setTimeout(function() { $scope.$digest(); }, 0);
was an ugly hack and a sign of angular's leaky abstractionism showing up. Is this considered a good practice now (or always was)?

Edit: just to clarify, I'm asking because in OP this was given as a one of the way to fix Angular speed issues.

drapper··on WikiLeaks publishes 30,000 leaked Sony documents
"This archive shows the inner workings of an influential multinational corporation. It is newsworthy and at the centre of a geo-political conflict. It belongs in the public domain."

Yeah, right. Some of is of public interest, sure, but then find it, edit it and publish the results. Ah, I forgot, it's not how wikileaks operate. For them making everything public is good in itself (except, of course, when it's about themselves).

drapper··on Gotchas from Two Years with Node
Some good stuff there, but I thought "don't do any heavy processing in consumer-facing node.js instance" was part of Node's 101.
drapper··on Greece draws up drachma plans, prepares to miss IMF payment
I'm full of ambivalent feelings towards Syriza, on one hand they are (were) a nice breath of fresh air, a promise of some positive change, on the other: they turned out to be kinda arrogant, kinda short-sighted and pretty bad at diplomacy. Politics isn't about being right 100% of time (not that they were), it's about being effective, and in that they are lacking badly. Seems they entered this whole thing with this cocky approach of "now we'll show 'em, them dumb fucks!". They've got their wrists slapped for that and now complain again on how bad EU is treating them. Hard to get sympathy for that.

Good article on this from Foreign Affairs: http://www.foreignaffairs.com/articles/143294/david-gordon-a...

Some quotes:

"Yanis Varoufakis, the Greek Finance Minister, for one, singled out Italy for having debt that was “unsustainable,” which served only to infuriate Italian Finance Minister Pier Carlo Padoan"

"Within a day of winning the Greek election, he (Tsipras) called the Russian ambassador and protested the EU’s statement condemning Russian-backed Ukrainian separatists for an attack on civilians in a Mariupol market"

"But even then, Greece could have survived its mistakes were it not for one other fatal decision: to move forward with its electoral platform before renegotiating its debt, increasing government spending without the requisite funds and reversing or stalling key reforms (...) All these factors positioned Greece to buckle in its negotiations. It was simply hemorrhaging far too much money far too fast to hold its position."

drapper··on Yanis Varoufakis: How I became an erratic Marxist (2013)
I think most common way of thinking about Marx' work today is that he was often right in describing what's wrong with the capitalism, but he was mostly wrong at the solutions.

Marx' apologists point out, not without a reason, that one of the problems with the attempts of bringing his theories to life is that those attempts were done in countries not well suited to do it. Marxism, according to Marx, was supposed to be another step in the evolution of capitalism, yet it was tried in countries that didn't yet have any capitalism or had it in some very immature form, e.g. in post-tzar, soviet Russia.

On the other hand he was claiming that capitalism is unmaintainable and will fall by itself and that didn't happen either.

drapper··on The billionaire’s typewriter
I remember that some time ago many people were wondering what's the point of Medium, how they're gonna monetize on it, etc. and I think the answer is perfectly clear nowadays - they want to be a youtube of written content.

Just as many people treat youtube as a get-go place for their video/music content needs (many people start to treat it as their TV, especially kids), Medium hopes people will, in time, treat Medium as the only magazine/newspaper/blog-place they need - and that should also push traditional media to utilize it (same as happens for TV channels and youtube). This is a long-term plan, but given how Internet tends to favour natural monopolies (see Google, Facebook, YouTube) it might actually work. Even if they will fail at this someone else will probably succeed.

drapper··on You Don't Know JavaScript Book Series
""You don't know x." titles considered harmful."
drapper··on NewSQL overview
Better one is on the next slide:

- SQL as a primary interface

- ACID support for transactions

- Non-locking architecture

- High per-node performance

- Scalable, shared nothing architecture

Michael Stonebraker

drapper··on We Need to Break the Mobile Duopoly
It's actually 19$ for individual developers nowadays: https://msdn.microsoft.com/en-us/library/windows/apps/jj8634...
drapper··on Explore the Swiss Leaks Data
House of Commons will be all about that today http://www.theguardian.com/news/live/2015/feb/09/hsbc-files-...
drapper··on Ubuntu smartphone offers alternative to apps
Not sure about the other things you mentioned, but "all of your social networks in one single messaging hub" functionality was removed in 8.1 update (which, apart from that one change, made Windows Phone really so much better), but, MS says, it's gonna be back in Win10.
drapper··on Ubuntu smartphone offers alternative to apps
The phone it is based on is probably this: http://www.bqmobile.com/products/details/0e5e9019-78e8-4d44-...
drapper··on Scala.js no longer experimental
More and more languages have that now (F#, Ceylon, Haxe,...), I wonder how well it works in practice, especially in terms of:

- libraries availability

- code size and speed

- debugging capabilities

- ...and interoperability with JS (I recall that F# uses TypeScript definition files, that's a nice approach)

Anyone has more experience with it?

drapper··on Google SoundScript: faster OOP for JavaScript
Yes, but let's admit it, the presence of classes will inevitably lead to their ever-presence, if only for the fact that they are what most people coming from other languages are used to.
drapper··on Google SoundScript: faster OOP for JavaScript
> You're still creating a bunch of objects. Unless you are a mashocist (...) you are still going to want to reuse methods between those objects.

Aaaaaaand solution for that doesn't have to be a class (or something pretending to be a class), but for example a collection of functions/methods that you attach to an object, so you for example assign behaviour to data. This is something that Reginald Braithwaite for example advocates.

drapper··on Sublime Text 3 builds picking up steam again
Given the discussion here, it seems there's a clear need for a text-editor that's cross-platform, fast (like ST, unlike Atom), open-source (like Atom, unlike ST), very configurable (like Atom and ST), easily extensible (like Atom) and easy to use/grasp for an user accustomed to typical windows applications (like Atom and ST, unlike vim and emacs).

Seems to be something like this could be done using QScintilla. Qt would give it an excellent cross-platform support, Scintilla a good editor with a speed of C++, and the ease of development and extensibility would be possible thanks to either PyQt (Python) or QtQuick (JavaScript). Just a thought...

drapper··on Destructuring and Recursion in ES6
Don't want to come off overly bitter, it's certainly interesting, but I'd like to see some practical uses of this, besides reimplementation of map() and other "low-level" functions...
drapper··on Never trust a corporation to do a library’s job
It is, partly at least, check http://blog.archive.org/2012/08/07/over-1000000-torrents-of-...
drapper··on From Node.js to Go
Say you have a function that can operate on various types, for example you'd have a function in JS like:

  function addKey(input, key, value) { input[key] = value; return input; }
this will work on either Objects or on an Array. But if you have static typing and no generics to make it work you have to either:

- create two versions of the same function, one for Objects, 2nd for Arrays

- use any as a type of input - this will work, but you will loose most of the benefits of type checking, e.g. you will be also able to pass Number as an input and compiler won't complain, it will be detected as error only on runtime and other things (your function will also return any so further on in the program you won't know what type is used).

With generic it's easy, you write the function once and when you call it you tell what types are used:

  // definition:
  function addKey<X,Y,Z>(input:X, key:Y, value:Z):X { ... }
  // call:
  var a = addKey<Array<string>,Number,string>([],0,"fubar");
With this particular example there are probably other ways as well (sum types, common interface) and also compiler may actually detect passing Number as an error (depends how smart it is), but there are more complex cases, where lack of generics will lead to a lot of copy/pasting and boilerplate.
drapper··on Node.js Flow – Callback Hell vs. Async vs. Highland Streams
http://6to5.org/docs/usage/transformers/#async-to-generator
drapper··on Node.js Flow – Callback Hell vs. Async vs. Highland Streams
...and you can also have something like that using Bluebird.coroutine() (https://github.com/petkaantonov/bluebird/blob/master/API.md#...) or co (https://github.com/tj/co, see also https://github.com/koajs/koa)
Page 1 of 2Next →