.NET and Node.JS – Performance Comparison - <AUTHOR> http://www.salmanq.com/blog/net-and-node-js-performance-comparison/2013/03/ <comment><USER2> It's funny how everybody posts their theories of why the benchmark is wrong (or done by the wrong person) and nobody actually tries out the code they think is better. So instead of guessing, let's implement that corrected version of the node.js application and run the benchmark again.

In my case, I admit, I don't have Windows ready to reproduce the result, but then I'm also not complaining about how the test was done, nor do I care about this at the current point.

If I ever have issues with performance of an application, _then_ I will be doing the profiling and evaluating other options. I certainly wouldn't use some benchmark I'm too lazy to reproduce as a basis for selecting the technology to use. Instead, I use the tool I'm most comfortable with, I see the most advantages from or I just like best.

While the OP's benchmark might have been (and IMHO probably was) flawed, at least they provided source code and documentation for us to improve and re-run it. That's way more important than to know who they are and what their motivations might be.

<comment><USER3> Still, there is nothing that annoys me more than when someone who is well versed in one toolset, and new to another toolset has the audacity to conduct a comparison and pretend like they did it correctly.

I'm glad he provided source code, but he clearly doesn't know Node well enough to provide an Apples to Apples comparison. Maybe .NET will blow Node away? Fine, but make sure you know Node well before you do the test.

Still, it's a nice conversation to start. I don't care how much I hate the company that builds it: if a tool is best for a job I want to know about it.

But your complaint that nobody is doing the tests: C'mon, how many Node experts even have Windows laying around?

<comment><USER4> So, what's wrong with his Node code? What's the tell?

<comment><USER5> He doesn't know that node is single-threaded. Take an embarrassingly-parallel task (serving multiple unrelated requests, for example) and pit a single thread against multiple threads. Guess who's going to win?

Depending on the size of the .NET's thread pool, this probably more than accounts for the difference. The drastic inefficencies from not knowing what the async library does are just icing.

</comment></comment></comment></comment><comment><USER6> Another "hey look, node.js isn't good at everything" post. I figured these would have stopped by now.

Why are you using an async sort function when you're not doing anything asynchronous in the sort callback? That's going to entail some overhead obviously, and it also can't take advantage of the sort optimizations v8 implements. Are you trying to show the overhead the asynchronous sort entails? Any overhead it causes would be easily outweighed by whatever asynchronous IO it's doing in that sort function anyway. It is negligible in comparison: not even worth pointing out.

> The key point I want to make is that I am using the async NPM instead of the > default blocking Array.Sort.

I don't think you realize how this works. That async sort function is there to help deal with sort callbacks that already have to do something asynchronous. You're doing something synchronous and using that async sort function for no reason. If you're going to run these benchmarks, use the synchronous sort which can take advantage of certain optimizations. Or, you can also just do something actually asynchronous, which would justify using an async sort in the first place.

</comment><comment><USER7> YAY! .Net sorts bytes faster than Async.js sorts floats. In similar news, Go seems to split strings faster than .Net sorts bytes on my laptop. Fascinating stuff.

<comment><USER8> And PHP serves an empty page faster than Go splits strings. I declare PHP the winner by default.

<comment><USER7> I have bad news:

\</comment></comment></comment><comment></comment><comment></comment><comment>

% time ./test.go "test1,test2,test3"

["test1" "test2" "test3"]

0.00s user 0.00s system 79% cpu 0.005 total

\</comment><comment></comment><comment></comment><comment>

% time php -r ''

0.03s user 0.01s system 93% cpu 0.044 total

<comment><USER9> ...and I have good news :-)

        cd ~
        > empty
        php -S localhost:8080
        ## on the other console
        time { echo -e 'GET /empty HTTP/1.1\n\n' | nc localhost 8080 >/dev/null; }

        real    0m0.003s
        user    0m0.001s
        sys     0m0.000s

</comment></comment><comment><USER10> .NET native list sorting and Node.JS async.sortBy - Performance Comparison

Fixed that for ya.

<comment><USER11> And it's important to note that the comparison does not make sense: TFAA seems to believe "async.sortBy" performs an asynchronous sort (e.g. delegates the sorting to a threadpool) and that's how he implemented his own "SortAsync": to perform a regular Array.Sort in its own task.

But that's not what async.sortBy does according to its documentation, async.sortBy is used to sort using an async comparator/key function e.g. to sort file names using a stat(2) call, the .Net version would have to sort using an asynchronous IComparator of some sort.

edit: plus, for some reason the benchmark explicitly parses the input strings to floats in javascript (and sorts using that), but seems to sort the raw bytes in the .net version. The C# version further performs the string split in the sparked task, where it's performed in request in JS (not that it'd help since — as I mentioned — the sort itself is incorrect)

second edit: to be fair, I like neither technology and am not a specialist in either, I have a pretty basic basic grasp of both and thus may have made mistakes in my cursory reading, if I have and somebody knows better don't hesitate correcting me.

But as you may see from the paragraphs above, as far as I understand the code this comparison is complete nonsense (even ignoring the rather dubious higher level case of reading a single big file in memory at once, sorting it and extracting a bit of stat, which is unlikely to be IO-bound)

</comment></comment><comment><USER9> The author notes about himself:

 _> I work for Microsoft as a software engineer for Bing in Silicon Valley. My group specializes in building platform and experiences for consumers._ ( <http://www.salmanq.com/> )

<comment><USER12> Unless you can point to something incorrect or unfairly biased in that article - why does this matter?

<comment><USER11> It's a benchmark of .Net's Array.Sort to NPM's third-party async.sortBy, not a benchmark of .Net to Node, and the test does not make sense: async.sortBy is used to sort an array on an asynchronous function, it does not perform an asynchronous sort (which is what the asynchronized Array.Sort does)

<comment><USER12> I agree with that and it's a fair comment. I'm just opposed to bias just because someone works for X.

<comment><USER11> And I agree, character assassination is no good.

On the other hand, when the author has a hand in one of the pots it very commonly results in a biased or incorrect comparison if only due to incorrect interpretation of the other tech, so defaulting to dismissal is not a bad heuristic either as first-order filtering to know whether there's a point in spending time in evaluating the post.

Especially when there's no clear up-front disclaimer of the conflict of interest, and here there is not (I went back to check, the post does not specify he works at Microsoft, you have to go and check his about page and/or blog history to realize that he's posting about MS tech all the time)

</comment></comment></comment></comment></comment><comment><USER13> A common cause of slowness in .net web app is multiple database round trips during a single request, all happening in sequence. You _can_ write async database calls in .net but they're not the standard / path of least resistance, and by the time you app is hitting these issues, refactoring it all is a big undertaking.

The results do not surprise me, but what I find more interesting is how different ecosystems and frameworks can encourage your average developer to write scalable or non-scaleable apps. And I still think node's model has a lot going for in this regard.

<comment><USER14> With C# 5's async features ... a lot of code can now easily be non-blocking by default. Even making asynchronous actions in asp.net mvc can have an enormously positive impact on server scalability. Just because you can write synchronous/blocking code doesn't limit the power of the platform when it's written using the latest features.

</comment></comment><comment><USER15> This is terrible. You are benchmarking node.js on exactly the thing everyone knows it is terrible at. Besides that yiur scenario is completely unrealistic and your google efforts Should have tipped you off. There are no results for sorting algorithms on node because nobody sorts on node.js. This is CS102.. Why would anyone ever sort more than 50 items on the server side of a web application.

.net is faster than node but you absolutely failed at showing it.

<comment><USER16> I don't program in nodejs but this is wrong on so many levels. First an honest question: what exactly is it that nodejs is terrible at? Please define it.

Now granted every tool has its strengths and weaknesses this benchmark shows a very large difference in operations that aren't uncommon in web servers.

Sorting in memory should concern you, since caching happens in the memory. Again, I don't know the state of ORM technology in nodejs but any NHibernate user will be able to tell you that level 2 caches are a common thing and they will boost the benchmarks even further if you were to compare it to a nodejs stack.

The only scenario where I see nodejs faster and better than .NET are the very smallish script scenarios like a log receiver etc, where no state is needed and minimal memory footprint is required

<comment><USER17> It wasn't wrong on many levels.

\- For very obvious reasons, JS (or Python or Ruby) would be slower than Java, C# at number crunching.

\- Node.js would handle concurrent connections better than most Asp.Net apps since the framework is non-blocking. Now you could write non-blocking code with .Net, but that isn't how most people write Asp.Net code. OTOH, with Node.js that's the only way you could write an app.

\- I am impressed that Node.js actually performed this well in that benchmark. For a dynamic, hard-to-optimize language, being 2.5x slower than .Net (or Java) code is a fairly good result.

<comment><USER16> So you are saying that nodejs is slower in general, and .NET is slower when people don't know how to program in .NET.

To add on top of that, mvc 4 has extremely easy ways to set up async controllers/tasks. However, these are not needed or even WANTED most of the times. They are only really needed in I/O operations, a sector in which .NET excels anyway since you can get ORM magic happening easily.

Also, don't think non-blocking is really non-blocking. What can nodejs when it's waiting for the SQL lock to be lifted? (If there is any)

<comment><USER17> \- Correct. I am saying that nodejs is slower in general. The reason you would use nodejs is to save development time, and not to extract the last drop of performance. It is for the same reason that people have written so many apps on Python and Ruby.

\- I/O in nodejs is always asynchronous. I/O in typical .Net apps is almost always synchronous, due to programmer choice. This approach is followed in the vast majority of Asp.Net apps. So according to you, this would imply that most .Net programmers don't know how to program in .Net.

\- I can't follow how "ORM magic" is related to I/O. The ORM magic I remember has been a terrible experience for me when I had to use .Net (3-4 years back). We have to write our own ORM to replace EF, since it was dog slow. Including the LINQ expression tree parser, design-time tools etc. You can find this result here: <https://github.com/jeswin/AgileFx>

I know that things finally got better after EF4. But I haven't worked much on .Net of late.

<comment><USER18> > I/O in nodejs is always asynchronous. I/O in typical .Net apps is almost > always synchronous, due to programmer choice. This approach is followed in > the vast majority of Asp.Net apps

Nitpick: actually Node lets you do synchronous IO ([http://nodejs.org/api/fs.html#fs_fs_readfilesync_filename_op...](http://nodejs.org/api/fs.html#fs_fs_readfilesync_filename_options)). Sometimes you can chose to use synchronous IO, for instance to do something in the initialization phase of your server.

</comment></comment></comment></comment></comment></comment><comment><USER19> Until Mono becomes 100% supportable, _none_ of the advantages of .NET outweigh the misery of having to use Windows for development and serving.

<comment><USER12> What do you mean by supportable? I was happily using mono for a number of custom servers in a similar way a couple of years ago. You don't need any huge frameworks to make mono really useful.

<comment><USER20> What, you mean, unless you're doing something useful like trying to write a web app?

<comment><USER12> Writing web apps may seem like the only thing people do lately, but it's not. Given a choice of a number of languages and runtimes available 5 years ago for example, .net/mono was a perfect choice for a daemon dispatching jobs to a number of usb dongles where having a good ffi (p/invoke), nice io abstraction, async actions and database interface was important.

This is something you write from scratch. No big frameworks are involved. If I ever find I need MVC.net, I'll probably go with a completely different language.

<comment><USER19> What if you already have code written in MVC.NET?

</comment></comment></comment></comment></comment><comment><USER21> One main thing I found missing was the OS that the tests were run on. I am not even sure if Windows can be seen as intended OS for node.js. Was the comparison between .NET on Windows vs Node.js on Windows? That might not be fair on the node.js side.

PS: I am a .NET fan, so I want fair comparisons, if I were to use them :)

<comment> trust-me I've run a few small test to see how Windows and Linux implementations of Node compare and Windows came on top every time. I think Microsoft put a lot of effort into a proper port, using Windows excellent I/O Completion Ports. Plus I don't think Google could ignore Windows performance when developing V8.

</comment></comment><comment><USER22> So .NET with its massive, stable, mature native sorting libs is faster at sorting than async.sortBy, which is about 25 lines of JS. Well, no surprises there.

<comment><USER11> Worse, it's a complete misuse and misunderstanding of async.sortBy: TFA implements a "SortAsync" by performing a Sort call in its own task, byt async.sortBy uses a task (an async callback) as its key function, so it calls and waits on a callback for each item in the original array where SortAsync TFA's SortAsync just blasts a single native Sort when the task runs.

</comment></comment><comment><USER23> async.sortBy is for sorting the results of an array of asynchronous functions. It is not an asynchronous sort. Let's see how it fares with process.nextTick(function(){array.sort()}) (or better still, threads-a-gogo).

</comment><comment><USER24> I find all the framework comparisons or this technology vs. that technology somewhat interesting, but quite often useless in terms of decision making. Evaluating very specific routines and functionality of framework A vs. framework B is roughly equal to evaluating the performance of carburetors in two racecars. If the only thing I'm interested in is carburetor performance, then I doubt I'm going to win many races.

What comparison do I find useful? The one that incorporates everything my application must address -- db queries, page rendering, cpu activity, memory consumption, operations, maintenance, etc. Given that I need lots of things for my application, single-point comparisons just really don't provide me with much value.

</comment><comment><USER25> Javascript is slower at sorting numbers then .Net!

 _mind blown_

</comment><comment><USER26> Well, THIS is going to bring on the haters.

(keep in mind, microsoft haters, that microsoft is currently a HUGE proponent of node.js - a lot of the Azure Mobile Services and the like are built on node)

</comment><comment><USER27> i might have missed something but it looks like the .NET version sorts by the string values and the nodejs one sorts by calling parseFloat on the string values first. presumably this is going to slow down the nodejs version.

</comment><comment><USER17> In terms of VM performance, nobody would doubt that .Net (or the JVM) would outperform V8; especially in number crunching. If anything, the benchmarks are only proving that Node.js is fast enough.

However, I would guess that typical Node.js apps would be better at handling concurrent connections than typical Asp.Net apps; since Asp.Net apps are not usually written in non-blocking style.

</comment><comment><USER28> I posted this comment: "It's obvious that you're new to Node.js.

First of all, you should be aware that Async.js is a mere flow-control library. It does not offload work to separate threads, and neither is it able to parallelize work. Internally, it mostly does bean-counting (but very helpfully so).

As you can see in the source [https://github.com/caolan/async/blob/master/lib/async.js#L35...](https://github.com/caolan/async/blob/master/lib/async.js#L359) async.sortBy simply uses Array.sort for the actual sorting. The only reason you'd want to use Async.sortBy is if the values that the array of "keys" is not known beforehand (and needed to be loaded through io - asynchronously). This is clearly exemplified in the documentation. <https://github.com/caolan/async#sortBy>

The implication of this that your call to async.sortby can be replaced by a call to array.sort. This will remove two unnecessary runs of async.map, inflicting a potentially huge performance penalty.

You do need to pass array.sort a comparator function, otherwise it will sort lexicographically (see [https://developer.mozilla.org/en- US/docs/JavaScript/Referenc...](https://developer.mozilla.org/en- US/docs/JavaScript/Reference/Global_Objects/Array/sort) ). That said, I'm not sure what the actual contents of your input file is. In your .Net example, you do not seem to bother to convert the array of strings to an array of ints (or floats). I think that .Net sort will sort an array of strings lexicographically as well. Furthermore, in the node.js example, you seem to be content with returning the resulting median as an int, not as float. Do the input "decimals" in the input file represent ints or floats? Do they all have exactly the same amount of decimals? Are both the Node.js and .Net algorithms doing the same thing? I think not.

Finally, we get to Array.sort. Array.sort blocks. Depending on the multi- threading efficiency of the underlying algorithm of Array.sort (which I don't have insight in), the code may not be able to use all available system resources. Keep in mind that Node.js is single-threaded. I practically don't know anything about .Net, but I assume it will magically start new processes and or threads if the runtime deems this beneficial. For Node.js, you may want to try the Cluster api, <http://nodejs.org/api/cluster.html> . You could try seeing if performance increases by adding one or more extra server processes.

I can't comment about the quality of the .net code since I don't have any experience with it.

I think it would be fair (and very educative to others) if you'd rerun the benchmarks with 1\. Async.sortBy replaced with array.sort 2\. with both .Net and Node.js algorithms fully doing the same thing (i.e. let them both sort either floats, ints, or strings), and 3\. at least one extra server process for Node. I think most interesting would be if you'd made the changes step-by- step, and run the benchmarks at each step.

My guess is that step 1 would give the biggest difference. Depending on how you decide to resolve the differences in the two algorithms, performance of your .Net code may be slightly affected. It could potentially be speed up in fact, if somehow it's able to sort ints (or floats) faster than strings. The actual job of sorting probably overshadows it all though."

What do you guys think of this?

<comment><USER29> Good break down of .NET Array.sort

It's kind of funny he talks about it being fast for due to non-blocking IO:

 _One of the key reasons most argue is that node.js is fast, scalable because of forced non-blocking IO, and it's efficient use of a single threaded model._

...then goes on and sets up a benchmark which is more dependent on CPU than IO. Not to mention as mentioned here that benchmark itself is flawed.

In my experience Node is faster in the case of most web apps that select a row from the db, read network requests to do aggregation, or update a column in a db. Anything that does do CPU computation generally uses a native hook or a different tech altogether.

<comment><USER3> "...then goes on and sets up a benchmark which is more dependent on CPU than IO. Not to mention as mentioned here that benchmark itself is flawed."

Thank you. It amazes me how some people can write code in a framework like Node without even understanding the event-driven paradigm's strength and weaknesses. I was sitting there reading it, and then he states he is using a file sort??? WTF? As if anyone would use Node for that purpose.

</comment></comment></comment><comment><USER30> Parsing floats rather than letting JS loose typing handle it for you kills your sort algorithm: <http://jsperf.com/parse-or-no-parse-sort>

<comment><USER23> "<" on strings is lexographic.

<comment><USER5> As noted elsewhere, lexographic sorting is how the .NET version is doing it.

</comment></comment></comment><comment><USER31> Technologies are tools in a toolbox. The bigger your toolbox is, the more complex and wonderful things can be built. For any given problem there are a number of parameters involved: available resources (skillsets, fun factor, hardware platform, OS, budget restrictions), time to market, expectations on scalability/security, functional requirements and so on. Thinking that one tool is inherently more suited to all tasks and problems is the equivalent of the old saying about the hammer.

</comment><comment><USER32> I want to ask several question:

1\. How many threads does the .Net Runtime use?

I know little about .Net, but I know C# is like Java. The Jvm with servlet will use many threads to serve, so that many cpu cores will be involved.

However, this is not the case for node. One node process will use just one thread(thought it is not the exact fact).

So it's unfair int programming model.

2\. What's the hardware you use, how many cores is there?

</comment><comment><USER28> It seems the blog had a kind of "invisible" filter on the comments, which made it appear there were zero comments, or one (your own) if you had posted one. Now a whole pile of comments have become visible (manually approved I think). Funny to see all the reactions. Most commenters were probably not aware of one another.

</comment><comment><USER33> Comparing 'Subject A with one thing that is good at' with 'Subject B with one thing that is bad at'.

Interesting!

</comment><comment><USER34> If you do research and analysis NOT to find out the answer to a question but rather to JUSTIFY the answer you have decided (without evidence) is correct then the value of the results is nil.

</comment><comment><USER35> I'm sure someone can write an optimized algorithm for Node.JS that will be much faster than his (seemingly naive) implementation. Until then, I see a lot of bluster.

</comment><comment><USER36> It looks like right around 35 parallel request .net reaches the balmer spike. <http://xkcd.com/323/>

</comment><comment><USER37> The benchmark should has a new try further, when Asm.js will be added to V8. Sorting arrays of numbers could have another speed.

</comment><comment><USER38> Can't we all just get along: <http://tjanczuk.github.com/edge/#/>

</comment><comment><USER39> On which platform (OS) the NodeJS is running?.

</comment><comment><USER40> And here I thought perhaps the largest driving force behind node was the ability to use shared code on server and client.

</comment><comment><USER41> Is there some tech law that states that when someone does a benchmark or comparison, it is almost always incorrect?

There should be.

</comment><comment><USER42> Microsoft trolling HN? trollface.jpg

</comment><comment><USER43> This benchmark makes no sense at all. Just a trolling of an official troll.

</comment><comment><USER44> nice try Microsoft!</comment>


My search for a MacBook Pro alternative - <AUTHOR> https://medium.com/broken-window/my-search-for-a-macbook-pro-alternative-e549ea2b2dee#.15iywwt02 <comment><USER2> I think part of the frustration with the new MBP is the realization that the alternatives are kinda shoddy. The "state of Linux on Mac" article that hit the front page recently was really a reminder about the attention to detail that makes Macs great. Whereas other manufacturers keep dedicated GPU framebuffers powered up even when using integrated graphics (because the display is connected to the GPU), Apple connects the display to a custom multiplexer so the dedicated GPU can be completely powered down. Thunderbolt controllers draw 2W at idle, so Apple implements a non-standard ACPI function to power the chip down when nothing is plugged in.

I've been looking to replace a 2013 15" rMBP and nothing else fits the bill. I can get a T560 with a low-power dual core CPU that weighs almost a pound more when you configure it with a battery as big as the one in the MBP. Or I can get an XPS 15 where you can either get a Retina display or 10 hours of battery life, but not both.

Surface Book comes close but it's only 13". And Microsoft had a ton of execution problems with power management and sleep. Apparently building a good laptop is really hard. Even Apple seems to have fucked up power management and GPU integration in the latest MBP.

<comment><USER3> _> Thunderbolt controllers draw 2W at idle_

Shit, seriously? Do you have a cite for this? 'Cause that's wild.

<comment><USER2> [https://lwn.net/Articles/707616/](https://lwn.net/Articles/707616/)

<comment><USER3> Wow. Explains a little bit about battery life when Thunderbolt devices are active. Thanks.

</comment></comment></comment></comment><comment><USER4> The author is missing two HUGE points in favor of MBPs: battery life and assistance.

Just today I went out at around 12 PM, worked non-stop in a nice cafe' until around 4:30 PM, went to buy some stuff, worked for 2 more hours, came back and realized I still had 30% left. That's insane (I'm using multiple VMs, IDEs, Chrome etc.). Especially considering that I feel the upgrade to Sierra has decreased battery life considerably.

Now, THAT's what you want from a laptop. Good performance, great materials and not having to panic if you forget the charger at home.

Apple's customer care and global warranty are universally known. They will even replace your battery for free (under warranty or Apple care) if its capacity goes below 80% ([http://www.apple.com/batteries/service-and- recycling/](http://www.apple.com/batteries/service-and-recycling/)).

(MBP early 2015 with 16 GB RAM, 512 GB SSD)

Note: I'm not an Apple fanboy (my phone is Android, never owned an iPhone) but when a product is great you just have to admit it.

<comment><USER5> This is no longer true with the 2016 MacBook Pro's. So far I love my new Mac, but the battery is absolute crap.

<comment><USER6> Agreed. Battery life on my 2016 15" MBP is abysmal. I get maybe 4 hours of web browsing time. Open up an IDE and it drops to like 3 hours.

</comment></comment></comment><comment><USER7> I also concluded Dell XPS 13 or Thinkpad Carbon, but never did a writeup. Still have not bought anything.

I want: 16GB, no touch bar, good keyboard, retina screen. I want a stripped down OS X, there are so many processes on El Capitain that just take up memory, distract me, and clutter my screen. I want zfs, not apfs.

I do not want to lose weekends trying to get the webcam or the fans working in Ubuntu. I'll miss homebrew if I use Ubuntu.

I feel like a person with no country. Somebody please pick up the torch that Apple dropped and make a laptop for developers.

<comment><USER8> > I'll miss homebrew if I use Ubuntu.

You'll prefer homebrew over aptitude...? I assumed the draw of Linux over OSX was proper package management.

<comment><USER9> Actually, there is [http://linuxbrew.sh/](http://linuxbrew.sh/), which is a fork of Homebrew, if one insists on using brew :) An advantage of brew over apt et al. I imagine would be simplicity, e.g. you don't need to add PPAs, import keys etc. Though I should add that in my limited experience with linuxbrew, I still had to deal with custom flags/builds/whatever in case of compatibility/version problems.

</comment></comment></comment><comment><USER10> MacBooks are supposedly "overpriced", except he couldn't find any entirely comparable hardware--not even counting the value of having macOS. So in what sense are they overpriced?

It seems the other manufacturers care about this market niche even less than Apple does.

<comment><USER11> They're "overpriced" because you can buy more GHz, cores, GB ram, and GB storage for drastically less money.

What you can't find is screen resolution, quality of the keyboard, trackpad, and hinge, battery life, and general polish ("marketing") along with the other specs, while still costing less.

<comment><USER12> I agree, but I wouldn't characterize polish as "marketing". Polish includes design cohesion, build quality, choice of materials, a philosophy of engineering in service of the user experience (consider the comment elsewhere in this thread about how Apple has bespoke handling for Thunderbolt to allow it to power down at idle), and software/hardware integration. It's arguable that Apple has slipped in some of these areas, but none of them are "marketing", and all of them contribute to the sense of quality (and to cost).

<comment><USER11> I agree, but I think most critics of Apple would claim that only specs are real, and what we're talking about here is an illusion created by branding.

<comment><USER12> I think we're on the same page. Apple's relatively costly products will be seen as an especially bad value by those who do not see value in polish and attention to detail (or who believe polish and attention to detail -- particularly Apple's --- are a marketing illusion).

</comment></comment></comment></comment></comment><comment><USER13> I've given up on trying to find the perfect developer laptop and have instead gone for the desktop/chrome book combo.

I built a desktop with equivalent hardware specs to the MB Pro (2x8GB Ram, Intel i5-6600 3.30 GHZ, 750GB SSD, and a GeForce 1060 6G video card) for a little under a thousand dollars, and I dual booted it with Windows 10 and Fedora 25.

I set up Ubuntu 14 with Crouton on my Acer Chromebook 14. I basically have it in my bag all the time, and when I'm doing work on the go I'm in Ubuntu, and I'm in ChromeOS while in class/Internet surfing.

Essentially I do school work and hobby programming on my desktop, actual work on the computer in my workplace, and for everything between I have my chrome book. Between github and Dropbox (and my work's ssh server) I don't have problems syncing anything. Plus that's still cheaper than the bottom of line 13 inch MB Pro.

</comment><comment><USER14> I wouldn't consider purchasing a laptop with a non "retina" screen in 2016.

Back a few years ago when I bought a 15' retina pro the leap in usability was tremendous. Other laptops' screens and displays looked terribly outdated in comparison.

Give me a slower processor, even a smaller hd - but I need the super-high-res screen.

<comment><USER15> Honestly, why? What's the difference? Are you a graphic designer?

ED: Note to joshkpeterson--you are apparently hellbanned.

<comment><USER16> There is actually one really useful factor, which is being able to view phone displays at 100% resolution without scrolling.

</comment></comment></comment><comment><USER17> "With every passing year, the latest and the greatest in software is becoming more CPU hungry and memory intensive. "

Maybe we shouldn't be calling it the latest and greatest? Maybe it's just the latest?

<comment><USER18> Not all uses of extra resources are bad. A "good" use of CPU or memory is any added safety such as guards against memory corruption, extra checks at run time, cryptography, etc. It may also be that in order to add sanity to web browsing, E-mail, etc. you must devote cycles to spam detection or removal of other unwanted content. Some of these things are only being done now because computers are finally good enough.

Unfortunately, there are plenty of wasteful examples too. One seems to be pure laziness. There are programs, I'm convinced, that have some kind of gigantic VM in them just to ease porting efforts; probably emulating half a damned operating system just to save somebody a few weeks of coding (heaven forbid they learn something new about each target OS instead of just trying to make a quick buck). It's disgusting on the desktop but even worse on mobile where every short-cut by a developer literally cost users money in data, battery life, etc.

</comment></comment><comment><USER19> I got the latest gen Thinkpad X1 Carbon, and I couldn't be happier. The keyboard is fantastic, and it's powerful despite how feather light it is. I'm only disappointed by the tinny speakers.

<comment><USER20> This. Loved the Carbon, eventually traded it in for a mac, but only because I couldn't figure out why our unit tests didn't pass on any linux variant I tried. (Super weird).

<comment><USER21> This is always the proper way to fix a failing unit test.

<comment><USER20> After a full week, with everyone at my company offering suggestions no one could figure it out...we now have a semi-permanent todo: figure out why our unit tests don't work on linux.

<comment><USER22> File system case sensitivity?

<comment><USER20> Linux to Mac... Don't think so

</comment></comment></comment></comment></comment></comment><comment><USER23> Apple achieved the perfect personal computer back in 2013. OSX Lion running on the 13 or 15 inch retina was a killer product. Now they are regressing.

<comment><USER24> No worries. In two or three years we can collectively weep in reminiscence of Apple's glorious days, when they sold the first gen with the TouchBar and macOS Sierra. That was a great combo for professionals! 10h battery life! The ak47 keyboard! One plug to rule them all!

Now they're wasting their time with useless gimmicks like HoloSiri and I still can't get more than 128GB of RAM.

<comment><USER23> Actually if you look at the reviews for the 2013-2014 MacBook Pros, there unanimously near perfect or perfect on every major tech site. Its very hard to find actual criticism for those models from when they were released.

This doesn't hold true for the current gen, which outside of design choices, have legitimate hardware issues like poor battery life, inconsistent palm rejection on the mouse, and last gen processors.

</comment></comment></comment><comment><USER25> Am I the only one that has been just fine with 8GB RAM? I'm running glassfish, IntelliJ, and serving JS over gulp. I have multiple browsers open with lots of tabs. I also have several other applications running. I have yet to notice a problem with RAM.

<comment><USER26> Multiple VMs cut into that.

<comment><USER27> Yeah, or doing builds in side a VM. Gets really slow if the linker / compiler starts swapping etc.

</comment></comment></comment><comment><USER28> Does anyone use linux on a laptop and mind mentioning the battery life they get? I joke that I'm trapped by apple because it's the only way to get battery life and POSIX on the same machine.

<comment><USER29> I picked up an X250 last year w/ the extended 6-cell battery primarily for the better battery life.

With TLP setup, I'm able to get 8-10hrs of battery life w/o issues (I've gotten up to 13hrs if all I'm doing is editing text).

According to powertop, I can get power usage to go to over 18W on full load (100% CPU/DRAM, 100% display backlight), but under my normal setup (wifi, 30% display backlight) idle power consumption is about 4.8W - my idle states never goes below C6/pc6 even running the latest 4.8 kernels. (Did the SATA power state stuff ever get fixed?)

</comment></comment><comment><USER29> One thing that this and many other analyses seem to fail to distinguish when comparing MBPs is that the 13" and 15" models are two very distinct lines.

The 13" are basically an ultraportable, with 15W "U" processors and the 15" are thin and light workstation class machines - they have Intel's beefiest 45W "HQ" processors (and the option of an overpriced mid-tier mobile GPU).

Almost all of this article's recommendations are for a MBP 13 replacement, which IMO is less compelling - you can get some things that are cheaper (and w/o a soldered in SSD), but nothing that's outright better, especially when things like fit and finish and battery life are taken into account. I think the best alternative now is the new HP Spectre x360 - it has a FHD screen with comparable color gamut, comparable battery life, and you can get twice the RAM/storage as the MBP 13 while still paying 1/3 less.

If battery life (and a high-end CPU) is important to you, then your best option for a 2016 MBP 15 alternative... is probably the 2015 MBP 15. Battery life is the real razor here. The 2016 MBP 15 does 10h on wifi, 8.6h w/ h.264 playback, but a measly 0.9h under full load. The 2015 MBP 15 will get you 7.5h on wifi, 6.8h w/ h.264, but 1.75h under full load. The i7-4770HQ/i7-4870HQ/i7-4980HQs, while older, actually performs about the same/better to the new Skylake processors. ¯\\_(ツ)_/¯

Of all the PCs out there, I'd say the XPS 15 9550 might be the closest competition - it has a great 100% sRGB / 89% Adobe RGB UHD screen option and is half the price of a similarly speced 2016 MBP 15 (although you'd probably be able to find a 2015 for around the same price) but half the battery life (just over 5 hours) when on wifi, and even close to a year in, still has some buggy firmware (screen flicker at lower levels, waking up from sleep under vibration) that sadly seems typical for PC vendors. [1]

IMO, the most compelling reason to get a PC laptop is if you need a beefier GPU, but you'll need to be aware that you'll be making some trade-offs (and making a time investment for swapping OS's).

(Screen gamut and battery numbers are all from Notebookcheck, who seem to do the best laptop reviews around.)

[1] [https://www.reddit.com/r/Dell/comments/5g0lh7/new_bios_1216_...](https://www.reddit.com/r/Dell/comments/5g0lh7/new_bios_1216_released_for_xps_15_9550/)

</comment><comment><USER30> I've used an MBP for the last two years (15" model) and had to replace it as it got damaged. The biggest issue I had with it was the keyboard. I didn't like it. I come from a 327X keyboard tradition :) I found the build quality, the weight, the display, the battery life to be quite awesome. It was also pretty quiet.

I looked at the new MBP and didn't like the price (even though the company pays) and didn't like the new touch bar, I use the function keys. I also didn't like the changes to the ports.

I'm typing this from my new Lenovo ThinkPad Yoga. So far I like it. It does have a cheaper feel but I find I type faster on this keyboard (though they seem to have copied some of Apples' bad design, IBM ThinkPads used to have nicer keyboards). The display is good. There's a built-in digitizer and stylus (which I haven't tried yet). Being able to flip the display around and stand it upside down is a big space saver where it comes to using external keyboards (which I'll probably do most of the time). It's lighter than the MBP (14" vs. 15" though). Being able to flip the display around to make a thick tablet seems like a nice feature, we'll see how much I end using it. It's a little noisier than the MBP. Battery life seems good so far. I have my HDMI port, DisplayPort, and 3 USB ports.

If the MBP was slightly cheaper, lost the touchbar, kept the HDMI port I'd probably go for it. If it could do this Yoga flip/stand that'd be a nice bonus. Page-up/down would be nice too ;)

</comment><comment><USER31> AHHH You missed the best machine thats under the radar.

SAMSUNG series 9. runs linux like none other and is a fantastic machine in 15 inch lighter than all the competitors.

</comment><comment><USER32> One of the things that's been infuriating me about the Macbook line is Apple's refusal to go above 16GB. I'm constantly hitting that limit with my VM heavy workload and bloated tools. In my search I keep coming back to the Thinkpad T460p wondering if the bulky plastic case is worth the tradeoff for the raw power. It's maddening I can't have both.

<comment><USER33> To be fair, this seems to be a limitation from Intel (not supporting over 16 gigs of LPDDR4 RAM), not Apple.

<comment><USER32> If the T460p can do it Apple could too.

<comment><USER34> You said earlier:

"In my search I keep coming back to the Thinkpad T460p wondering if the bulky plastic case is worth the tradeoff for the raw power. It's maddening I can't have both."

That's the thing. It's a trade off. If Apple could make a laptop with >16GB RAM AND a sleek design AND good battery life, they would do that. But they can't.

</comment></comment></comment></comment><comment><USER35> I wish it was just a hardware search, but I always find the other OS alternatives have a gotcha or two for my needs.

Off topic, I have the new mac book pro 15" model (coming from 13" macbook), and I have started to have severe wrist pain. I am not sure if it is because of the new gigantic trackpad or keyboard. I am trying everything short of returning it for now.

Any one else having this issue?

<comment><USER36> Is it carpal tunnel syndrome? Try to avoid resting your wrist on a surface while typing. Also consider a better keyboard layout like dvorak or colemak.

<comment><USER35> Thanks for advice. I have had what I imagine is carpal tunnel syndrome 5-7 years ago but it had went away when I stopped using a mouse and just used trackpad. This feels just like that again.

To avoid resting wrists, do you generally use a pad that supports your forearms then or just hold arms/wrists up? My pain has always been just my right wrist which I use on trackpad.

<comment><USER37> FWIW, if possible and if you haven't already, I'd suggest trying an external trackball mouse.

Particularly the Microsoft ergonomic ones, or the equivalent Logitech ones.

Microsoft discontinued the one I use now (coming up to about 10 years and still going strong) but this mouse from Logitech seems similar:

Logitech M570 Wireless Trackball:

[http://www.logitech.com/en-in/product/wireless- trackball-m57...](http://www.logitech.com/en-in/product/wireless- trackball-m570)

It made a big difference in how (less) stiff my right hand wrist (trackpad / x230) felt in just a few days of use.

Definitely better than the trackpad or a regular mouse, IMO

<comment><USER38> I get pain in my wrists from touch pads so I always have a mouse with me. I stopped believing in ergonomics when I worked for 3 months at a kitchen table without any issues. As someone who had huge issues in the past. I guess you gotta find something that works.

</comment></comment></comment></comment></comment><comment><USER24> So the result is... three notebooks with the same processor and SSD capacity as the MBP, two of which also max out at 16GB?

I mean – the "reasoning" at the start is:

        With every passing year, the latest and the greatest in
        software is becoming more CPU hungry and memory intensive.
       Therefore, it is important to have at least 16 GB memory
       and the latest processors in my machine.

But it appears the real differences are simply price[0] and his preference for cheap plastic housings?

Also:

        Lenovo has a long tradition of making laptops that last
        for many years. Their ThinkPad flagship line of laptops
        is targeted at developers and business users and has a
        cult following among this user base.

No. IBM had a long history. Lenovo has a long history of preinstalling crapware, and making enough money off it to buy the Thinkpad line.

        Made for professionals on the go...

Oh! This is a Lenovo PR effort. Sorry for disturbing, please move on.

[0]: Possibly. Considering the whole article boils down to nothing but price, it's surprisingly laking any information about the prices

<comment><USER39> You're spot on here.

I've been critical and bitchy about Apple of late, but they make the best laptops in the world, period. Just the touchpad alone tells the story.

People claim that they need to do all sorts of things to justify 32GB laptops or running a dozen VMs. I don't see any evidence that these people really exist in significant numbers.

<comment><USER40> > People claim that they need to do all sorts of things to justify 32GB > laptops or running a dozen VMs. I don't see any evidence that these people > really exist in significant numbers.

I agree. Especially for programmers, I understand needing beefy specs if you have _super_ heavy compiler workloads and/or do heavy GPU work, but how many people is that really? And wouldn't most such people prefer a desktop anyway?

I am a software engineer and my personal machine is the supposedly ultra-wimpy 12" Macbook, and I love it. It legitimately handles every workload I throw at it (including running multiple VMs) and it's so tiny and portable that it's basically a zero-cost proposition to take it everywhere I go, which is amazing. To me, sacrificing convenience for spec-sheet wankery is just silly, but I've met a lot of people who I think would probably disagree with that, like it's some badge of nerd honor to be walking around with a 5 lb brick of RAM that's rarely if ever going to be more than 1/4 utilized.

I am not super stoked about the touch bar business, though. It seems like a solution in search of a problem; the main draw of Apple laptops for me has been their refined execution and lack of gimmickry. I am glad that my machine dodged that bullet.

<comment><USER27> _And wouldn 't most such people prefer a desktop anyway?_

Well yes in terms of specs and performance, but you can't take that with you. If you do GPU work you'll really want a discrete GPU with a complete featureset. Some people were complaining about the new MacBooks having AMD cards, I presume because most DL frameworks perform best with (or in some sad cases only support) CUDA libraries.

</comment></comment></comment></comment><comment><USER41> The Thinkpad's trackpad might be worse than Apple's, but it is a moot point. Once you get used to the red nipple joystick thing, there is no going back. This probably sounds silly, but it really is a game changer once you get used to not having to pick up your hands from the keyboard to move the mouse.

<comment><USER42> The track pad on the X1 carbon is worse than Apple's, but the keyboard is heavenly.

</comment></comment><comment><USER43> The biggest complain for new MBP, is memory. And those who complain the loudest..... are ... programmers.

Not Graphics Designer, Video Editors. Programmers. Specifically Programmers who uses lots ( or more then a few ) VMs.

May be as programmer, you should really care about what your programs resources usage are. The problem is i am seeing lots of bloat in Apps.

And i still dont understand why you need 4 VM in a programmer's workflow. It seems something that is deeply flawed.

What a lot of these people are complaining then, is simply price. But APPLE HAS NEVER, in the life time of the company, offered cheap or value ( Tech Spec ) for money machines. Their product with new design, whether you like it or not, has always been EXTRA expensive on the first cycle.

<comment><USER44> I laughed at this, because for me it's true. But they I got a little annoyed:

> May be as programmer, you should really care about what your programs > resources usage are.

Maybe you shouldn't tell others how to do their jobs or how they should prioritize their work :)

But for me it's because I distribute my Rspec specs across a bunch of VM's to cut down test time.

Anyway, I think the new machines are overpriced and have poor specs and execution. You could say they added their value in other ways, but thats been on the slip for a while now too.

</comment></comment><comment><USER45> The begining of this article explains pretty well why I prefer an MBA to anything else. For other companies, the same product line has completely different products, with different build qualities, specs, compatibility, etc.

With an MBA, I can just pick it up, and stick ArchLinux onto it. No need to check if this particular one had the bad build quality or not.

Other companies need to start learning from this example and get their shit together. We don't want 20 product lines, which each vary every month. We want to be able to pick a laptop without a week's worth of research!

</comment><comment><USER46> This guy fails to mention that the CPUs in the X1 and MacBook Pro are in a different league.

The ULV chips in the X1 are comparable to the non touchbar pro and MacBook but not the one with the touchbar with the big boy CPU.

</comment><comment><USER47> What about something Sager / System76

<comment><USER48> I used to have good luck with those, but the last one I ordered had a dodgy GPU and lackluster build quality; I had to RMA it, which was a bitter pill considering how much I'd liked the brand. But the previous machine I had from them was going on 6 years old, and after that experience I wasn't confident about owning one of their modern machines for that long out of warranty. (Full disclosure, I actually ordered from Eurocom, not System76, but they sell the same base models. No complaints about Eurocom, which is a terrific company, just the machines that they rebrand.)

I wound up with an Asus UX303UB - it was about $500 cheaper, much lighter, slimmer, sturdier, included a touchscreen, and had better or equal components on all counts except the discrete GPU, which is a fairly wimpy 940m but good enough for my purposes. It also works great out of the box with Mint 18 / Xenial. My only complaint is that the design doesn't emphasize replaceable parts, but the important parts still seem to be accessible and you pay a price for slimness.

Sadly, I'm not sure how much life the Sager / Clevo kind of brands have left in them, if they can't corner the 'durable and functional brick' market anymore. There are some genuinely solid prosumer offerings, these days.

</comment></comment><comment><USER49> I've been looking at the HP Elitebook 1030. Since it's a "business" model, you can even custom order it without Windows (they install FreeDOS) and a matte screen. But since it's a "business" model I can't find much in the way of people who've actually tried it with Linux. But HP claims I can return a custom order, so I might just try it. If only it had USB-C charging...

</comment><comment><USER50> I'm also not thrilled with the current round of Apple hardware. The main thing that will keep me on MacOS for this round is that I really like the extra modifier key. Dropping it means I have to change up all my keyboard shortcuts and/or reconfigure everything to use the windows key as super or hyper. I'll overpay this round and see what's up in 5 years.

<comment><USER51> cmd / option / control / shift

"win" / alt / control / shift

what's the extra modifier on the macbook keyboard?

> have to change up all my keyboard shortcuts and/or reconfigure everything to > use the windows key as super or hyper

having a single modifier dedicated to my window manager is something I _sorely_ miss, using a MBP. cmd is used for everything, I don't want to use trackpad motions to reach other desktops. Just a huge disaster.

Hammerspoon is likely going to be the only reason I ever consider buying a MBP.

<comment><USER52> Also, Shortcat. [https://shortcatapp.com/](https://shortcatapp.com/)

</comment></comment></comment><comment><USER53> I was pretty close to deciding on the XPS13 until I realized it only supports Ethernet by a thunderbolt dongle, and Linux doesn't seem to support thunderbolt hot plugging. So basically I wouldn't be able to plug in an Ethernet cable without rebooting. Are there any good Linux laptops that don't rely on thunderbolt, or am I making to big a deal of it?

<comment><USER49> Why not USB 3 or USB-C? (The TB3 port is also a USB-C port.) E.g. [http://plugable.com/products/usb3-e1000/](http://plugable.com/products/usb3-e1000/) or [http://plugable.com/products/usbc-e1000/](http://plugable.com/products/usbc-e1000/)

</comment></comment><comment><USER54> Im actually looking for the same thing, my shortlist is very similar to OP's except that I find 13" laptops too small. Sadly this seriously restricts the choices you can make, all the hype now is these devices.

I think I'll settle for the XPS 15, it has amazing design, good specs, my only issue is that the SSD models are a bit too expensive.

<comment><USER55> If you're feeling saucy, it's easy to buy a non-SSD model and then buy an SSD to stick in it. The downside is you end up with the smaller battery to accommodate the hard drive. (Unless you consider that an upside, in which case, win.)

<comment><USER16> Or buy one with a really small SSD and upgrade?

<comment><USER55> That's actually what happens. The low-end models have cheap ssds used as a cache. I'm not sure there's a model that ships with a literally empty nvme slot.

</comment></comment></comment></comment><comment><USER56> I would pay touchbar prices for a 15" MacBook Pro which has function keys instead. I tried one at an Apple store recently typing in vim for nearly an hour. No matter how hard I tried, I just couldn't bring myself to like the touchbar :/

<comment><USER57> It's not quite the same (muscle memory retraining required) but I've changed the keyboard configuration on my Mac so that Caps Lock maps to Escape (I realised I never used the caps lock key when I was writing COBOL and I'd kept my pinky on the shift key most of the day - so the Caps Lock key on my Mac has always been bound to nothing until recently). It's not perfect but it does mean you get that nice tactile feedback that you'd get with the real escape key.

I think it'd be interesting to see what vim would be like if there was touch bar support (hoping iTerm will do something here eventually) and I could have my most common commands be bound to a 'key'

</comment></comment><comment><USER58> I've also been looking for a replacement to an aging ThinkPad. My favorite option right now is the fashionably boring p50 from Lenovo. It's heavy and ugly. But you can get it with Xeon processor, multi TB drives and 64GB RAM.

Swoon.

</comment><comment><USER59> Every time I read one of these articles I feel thankful for what I already have, my beloved Macbook Pro without the touchbar madness. I don't know what I'm going to do when this thing eventually croaks.

</comment><comment><USER60> Meh, I don't think it's time to look for a MBPr replacement yet. The 2015 model is still pretty decent.

</comment><comment><USER61> The first link to the ThinkPad X1 is broken.

Pointing to 'op.lenovo.com' instead of 'shop.lenovo.com'

</comment><comment><USER62> the i7 in the maxed out Pro is quad-core, not "dual core". I didn't really get anything from this piece at all.

<comment><USER63> You might want to check on that. In my country, it is listed as dual-core.

<comment><USER64> I have one. I can confirm it's Quad core, not dual. Might be a typo on marketing material.

<comment><USER64> Hardware Overview:

      Model Name:	MacBook Pro
      Model Identifier:	MacBookPro13,3
      Processor Name:	Intel Core i7
      Processor Speed:	2.6 GHz
      Number of Processors:	1
      Total Number of Cores:	4
      L2 Cache (per Core):	256 KB
      L3 Cache:	6 MB
      Memory:	16 GB
      Boot ROM Version:	MBP133.0226.B00
      SMC Version (system):	2.38f5

<comment><USER65> That is hyper-threaded virtual cores. Only got 2 real ones.

</comment></comment></comment></comment></comment><comment><USER66> That's a lot of work.

Shame on those manufacturers for making their products so difficult to dissect.

I agree with the sentiment of 'keeping alternatives', but given how much we use our laptops, I'm willing to pay an extra $500 for a 'known quantity' (the high end laptops by those mfgs. are generally expensive, i.e. maybe $500 cheaper than Macs, if that).

Thanks for doing this, I'm going to stick with my Mac.

Happy to consider alternatives as they come about.

</comment><comment><USER67> I got one of these during the last sale (paid under $1,000):

[https://goo.gl/qlBt8A](https://goo.gl/qlBt8A)

Very nice machine. Used it on two coast-to-coast flights. Plenty of battery life left after the flights.

I see some reviews from people claiming it overheated and failed.

Well, if you read their reviews they actually say stuff like "what's the point of a laptop if you can't put it on your lap".

One look at the machine and you see it has a vent on the bottom and one on the side. Which means that if you block the bottom vent by having it on your lap or on a blanket while in bed, well, you are going to cook it. And cook it these people did. Gotta use your brains folks!

Even laptops without the need for cooling airflow can overheat if placed on something like a blanket or the carpet.

That said, this is a common design "feature" of many laptops. Not a deal- breaker at all. In my case I always conscious of this stuff (probably because of being an engineer) and it has never been an issue. I keep a "lap desk" just like this one by my bed and couch just for this reason:

[https://goo.gl/hS9pd3](https://goo.gl/hS9pd3)

I should have bought half a dozen of them.</comment>


Why is East Asian earwax different from black and white people's earwax? - <AUTHOR> https://www.straightdope.com/columns/read/9939/why-is-asian-earwax-different-from-black-and-white-peoples-earwax/ <comment><USER2> I've wondered the same! Earwax has been a proxy to categorize race in U.S. history. What is Latinx, or American Indian earwax like?

<comment><USER3> Isnt Latin a very general term, as in you could have mixed Native, Black or White ethnic heritage.</comment></comment>


How to Have a Business Conversation - Ben Stein - <AUTHOR> http://finance.yahoo.com/expert/article/yourlife/29225 <comment><USER2> Sounds a lot like a cliffsnotes of Dale Carnegie's Win Friends & Influence People.</comment>


Show HN: VPN with automatic region routing, port-forwarding and custom filtering - <AUTHOR> https://www.oeck.com <comment><AUTHOR> Hi everyone,

We recently launched our VPN into a free, open beta and so far have had good feedback. We wanted to show HN our VPN and see if we could get some feedback from the community.

Our VPN works differently to other VPN services, in that we have implemented automatic region routing for select services. Added to this, we have made our port-forwarding work in a manner that whichever server you connect to, it is always reachable by an automated domain. We have also added the ability for users to create custom DNS block lists as well as use our built-in filtration.

We would love to hear feedback for those who decide to give it a go. Please note, it is still in beta and we are ironing out bugs. So if you do find a bug, please report it to us.

Regards, Peter @ Oeck.

</comment><comment><USER2> Well, my first feedback is that the home page takes an astonishing 2 minutes 15 seconds to load, and when it does generates console errors from a blocked script (matamo.js) every few seconds. I'd look into that.

<comment><AUTHOR> Hi sho,

Yes, this is embarrassing...

We found the issue, it is a setting in Apache. This is due to the torrent of traffic we just received. We were not expecting it, but there it is. We are fixing the cause now and everything should be back up and running very soon.

It is actually good it happened during Beta. That's a "bug" that we can now fix.

EDIT: Fixed. If you get some time, please try the service and let us know what you think so far.

Regards, Peter @ Oeck.

</comment></comment><comment><USER3> For some reason the text fades in, then disappears. You seem to have a js error.

<comment><AUTHOR> Hi xori,

Can you please provide more information. One which page is this happening, which browser and OS are you using?

Regards, Peter @ Oeck.</comment></comment>


How Bitcoin Works Under the Hood [video] - <AUTHOR> https://www.youtube.com/watch?v=Lx9zgZCMqXE

<comment><USER2> I haven't been able to watch the video because I am at work, but I do have a question.

The statistics on mining now show that it is quite unprofitable - [http://blockchain.info/stats](http://blockchain.info/stats) Even if those figures are taken with a grain of salt, its clearly not the profit machine it once was.

Given that running a mining rig is becoming less and less profitable, won't we end up in a situation where the only people running rigs are the ones that have a vested interest in keeping the technology going... Probably reducing the total size of the network down to a small group of collectives. Even worse will be when there are no new coins being mined, profitability will be reduced even further - and the mining difficulty will be massive given all the dedicated mining rigs in the market from the boom time.

I jumped on the bandwagon early this year and speculated, gambled, purchased and ended up cashing out before the issues with Liberty Reserve arose and caused issues with my ability to deposit/withdraw from MtGox. So I have spent quite a bit of time using the technology, but have been out of the loop for a few months now.

<comment><USER3> At some point the motivation for verifying transactions (mining) will become the attached transaction fee.

At this point laws of supply&demand become applicable: If the number of miners gets small, transaction fees will rise and mining becomes more profitable.

Of course this is all theoretical. The network might die if the number of people accepting bitcoins as payment becomes too low.

</comment></comment><comment><USER4> Another cool BitCoin video which is not very technical, but has impressive visuals:

[http://vimeo.com/63502573](http://vimeo.com/63502573)

</comment><comment><USER5> If you can generate a new public key for every transaction, how does it know what previous transactions to refer to as an input? I have a feeling it has something to do with how key signing works, like signing your old key with your new one or something, but I don't really know much about that.

</comment><comment><USER6> Very good video. Wish he had said a few words about how it all started and who is behind the technology.

<comment><USER7> [https://en.bitcoin.it/wiki/Satoshi_Nakamoto](https://en.bitcoin.it/wiki/Satoshi_Nakamoto)

</comment></comment><comment><USER8> Seems very accurate.

<comment><USER9> One (small) thing that isn't correct is that your Bitcoin address is not the public key. It's actually hash of the public key [1], using RIPEMD-160 and SHA-256 algorithms, with a network type and a checksum added to it, then encoded with Base58 to make it shorter and prevent typos (Base58 doesn't have similar looking characters like O - 0 and I - l).

Also, somewhere in the middle of the video it is said that all inputs have to be spent entirely in the outputs, but this is not correct as well. You can send less amount than you have in your inputs and the resulting difference between the sum of your inputs and outputs is the transaction fee, that is mentioned later in the video.

These are very minor things though, and overall, this is a very good video, probably the best I've seen covering the technical aspects of Bitcoin.

[1] [https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_a...](https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses)

<comment><USER10> True, I still need add a note in the video about the public key. As far as I know, this doesn't impact the security of the system, just makes addresses easier to pass around. Also true about the inputs. It's extremely hard to explain Bitcoin piece by piece without telling some fibs along the way!

</comment></comment></comment><comment><USER11> when is this pathetic fad going to die?

<comment><USER12> I don't understand what would motivate such a post, or the hoax submission you posted previously. Care to explain?

<comment><USER13> He probably lost money speculating, and now he is hate-posting.

<comment><USER14> Don't feed the troll.</comment></comment></comment></comment>


Segway Ends Production - <AUTHOR> https://www.fastcompany.com/90517971/exclusive-segway-the-most-hyped-invention-since-the-macintosh-to-end-production <comment> 1-6 I thought Xiaomi Ninebot bought out the Segway brand as it came under legal fire for making Segway clones. Xiaomi Ninebot is producing more Segways than ever with no end in sight.

Edit: It's only the U.S. unit which is getting canned.</comment>


My Adventures With the Trip Doctors - <AUTHOR> https://www.nytimes.com/interactive/2018/05/15/magazine/health-issue-my-adventures-with-hallucinogenic-drugs-medicine.html <comment><USER2> Sorry in advance for the length.

The big takeaway I got from the article was that the ego actually resides in the Default Mode Network and that psychedelic experience almost completely deactivates it.

This allows me to construct the idea that meditation, which removes focus from sensory experience and concentrates it in the DMN, is akin to working on your self rather than obliterating and reconstructing it, if only for a short time.

This idea survived only as long as it took for me to search 'dmn meditation', which reveals that concentration meditation _also_ reduces DMN activity.

So why did I feel that meditation increased activity in the DMN? Well, when I was learning meditation all those years ago, the usual stepping off point is through concentration practices, which obviously will quiet the DMN down through task-focus. Eventually you reach the point where you can go exploring in the spaces of your mind.

But the sheer magnitude time investment needed to self-induce into trance and the cognitive effects I'd seen in people who really identified with doing lots of it warned me off of it pretty early.

I instead settled into a pattern whereby every few years I'll sense the need for a reboot, then self-induce for awhile, until it didn't seem to be all that helpful anymore. The last such session had me doing inductions every few nights and slowly pulling back on how deep I go before ending the session.

Now I understand that a person's mind builds up 'structures' over time and they need to get swept away every now and again for good health. I was leery of psychedelics for so many years for the same reason I didn't want to do hardcore meditation.

Essentially, it's the 'ego-shattering' nature of turning off the DMN for so long that makes me wary of it. Good to do every now and again, but I don't like what happens when you do it often. I've conversed with many people who have done this to themselves, and they present as drug addicts to me, not as fully-functioning, let alone super-functioning, humans. Rather than grow as human beings, they're growing as some weird alien species.

So my own personal journey has me organize my life around greater DMN activation with occasional breaks, like to do programming work or play ping pong, then every once in awhile trance out and break through to a new understanding. It's very important to me to integrate trance experiences, I spend a lot of time on it, and it's one reason trance induction is just too heavy to do regularly.

<comment><USER3> > I've conversed with many people who have done this to themselves, and they > present as drug addicts to me, not as fully-functioning, let alone super- > functioning, humans. Rather than grow as human beings, they're growing as > some weird alien species.

An alternate hypothesis to explain the weirdness of these people is that perhaps those who have taken their place of mental residence too far closely overlap with those who lack the social awareness to know that presenting psychedelics as an integral part of routine life in today's society will get you regarded as insane. This _can_ happen to people, and those who have this happen to them are particularly noticeable while I suspect those who have deeply moving experiences and are able to successfully incorporate them into their daily lives to positive effect keep those pieces of their backstory under especially stringent wraps.

Anecdotally, I was able to implement an enormous increase in my function as a human being resulting from my reflections on my psychedelic experiences. In all areas from mental health to human relationships to technical skill development. The current state of my own experience of my life and the experience of all those who are part of it confirms. The primary psychedelic experience that spurred on these changes occurred about 3 years ago, and was the result of a recreational trip gone very wrong. Today, I continue to microdose 1P-LSD to subjectively beneficial effect.

<comment><USER4> Similar to how people say that transgender folks don't ever pass. It's not that, it's that you only notice the ones who don't.</comment></comment></comment>


Scaling Agile Development at Spotify - <AUTHOR> https://news.realm.io/news/scaling-agile-development-at-spotify-mdevcamp-2016-serruya/ <comment><USER2> 12 people is considered a small team?</comment>


Understand - A novelette by Ted Chiang - <AUTHOR> http://www.infinityplus.co.uk/stories/under.htm?2

<comment><USER2> Ted Chiang's "The Merchant and the Alchemist's Gate" novella was read (by J.J. Campanella) on Starship Sofa back in 2008, it is one of the best things I've read/listened:

[http://www.starshipsofa.com/2008/03/23/aural-delights- no-15-...](http://www.starshipsofa.com/2008/03/23/aural-delights-no-15-ted- chiang/)

"Understand" is available on archive.org:

[http://archive.org/details/TedChiangUnderstand](http://archive.org/details/TedChiangUnderstand)

More stuff is here: [http://www.sffaudio.com/?page_id=4811](http://www.sffaudio.com/?page_id=4811)

<comment><USER2> Also good for keeping track of Ted:

[http://tedchiang.blogspot.ca](http://tedchiang.blogspot.ca)

which mentions that "Story of your Life" was optioned for a film directed by Nic Matthieu (also working on Robotech) and adapted by Eric Heisserer.

<comment> salty-horse Not sure how good that resource is. It was last updated on 2012, and things happened since then :)

It doesn't mention his new story The Truth of Fact, the Truth of Feeling, available at [http://subterraneanpress.com/magazine/fall_2013/the_truth_of...](http://subterraneanpress.com/magazine/fall_2013/the_truth_of_fact_the_truth_of_feeling_by_ted_chiang)

Or a recent appearance at the EXPO 1: [https://www.youtube.com/watch?v=_632pic1PlU](https://www.youtube.com/watch?v=_632pic1PlU)

<comment><USER3> Oh my God, a new Ted Chiang story.

I have to say, having read everything he's written, I'm curious what a full novel would look like, though I'd be happily content if he just came out with a short story/novellete/novella a year forever. He just puts so much thought into his world-building it's incredible.

</comment></comment></comment></comment><comment><USER4> Ted Chiang's short story collection, "Stories of your life and others", contains some of the best writing I've read in my life.

</comment><comment><USER5> Ted Chiang writes some amazing stuff. "Lifecycle of Software Objects" is a personal favourite.

<comment><USER6> All his short stories are worth reading. My favourites are this one, Story of Your Life, and Tower of Babylon.

<comment><USER7> I couldn't stand Story of Your Life. I felt it made no sense from a physics point of view, and if you're not going to do that then why write science fiction at all? (Whereas I very much enjoyed Lifecycles of Software Objects)

</comment></comment></comment><comment><USER8> Was also recently available on BBC Radio Four Extra. ([http://www.bbc.co.uk/programmes/b007jtyf](http://www.bbc.co.uk/programmes/b007jtyf)) Sadly, not still available there. (But probably available on Usenet or in a torrent.)

</comment><comment><USER9> I thought this was an interesting story, but in the end, it was also completely pointless. The premise was good, but instead of following the premise to its logical conclusions based on our current understanding of the world, he proceeded to just make up _everything_. But what really killed it for me was that the ending was terrible. I don't want to spoil anything, but the events that led to the ending pretty badly contradicted the abilities of the protagonist (notably the self-awareness and "meta-programming").

</comment><comment><USER10> While "Understand" is nice, "72 letters" seem even more brilliant.

Ted Ching usually puts into a short story an amount of ideas some other authors would expend on a trilogy.

</comment><comment><USER11> I would pay a ridiculous amount of money for a Ted Chiang novel - "Story of Your Life" is one of the greatest short stories I have ever read, and others like "The Merchant and the Alchemist's Gate" are spectacular as well.

</comment><comment><USER12> He isn't very prolific, but each thing he writes is incredible.

</comment><comment><USER13> Inspiring, seductive... I sound like the back of any book reviewed by the main stream, but _the work is good_!

To me, at least...</comment>


@TwitterHR For Future Reference, Use BCC When Rejecting Applicants - <AUTHOR> http://www.techcrunch.com/2009/02/17/twitterhr-for-future-reference-use-bcc-when-rejecting-applicants/ <comment><USER2> I don't mean to gripe, but why is this interesting? The HR staff at a startup made a common and mildly embarrassing mistake that is unlikely to be of any long-term significance.

<comment><USER3> You must be new to TechCrunch.

<comment><USER2> Sure, TC has a lot of crap. It doesn't all need to be posted/upvoted at HN, though.

<comment><USER4> I tend not to read TC unless I see a link to it someplace else. Sadly though, it seems that only the snarky/elitist/gossipy posts get linked.

</comment></comment></comment></comment><comment><USER5> I'll be the last to say that was stupid, not that long ago I made a similar gaffe. Ever since I have the autocompletion in my email address bar set to off, and I would advice everybody that deals with sensitve data on a regular basis to do the same. It's all too easy to send an email to entirely the wrong person like that.

Oh, and another easily avoided error is 'reply to all'.

</comment><comment><USER6> Twitter in now under the microscope of the public and media so they have to take extra steps to preserve their image. Of all their departments, HR should be the one that best represents their brand/company and this oversight is unprofessional and hopefully not indicative of a problem with their corporate culture.

</comment><comment><USER7> easy mistake to make

</comment><comment><USER8> Could have been worse - they could have twittered the rejection.

<comment><USER9> dr @applcnt, thx! ur grt, othr ppl too - got smbody else, but maybe ttyl!

<comment><USER10> I don't know very many people who use SMS shortcuts on Twitter.</comment></comment></comment>


SXSW Interactive is Dead - <AUTHOR> http://blogs.sfweekly.com/shookdown/2010/03/sxswi_is_dead.php

<comment><USER2> My attitude is that you find what you're looking for. SXSW is definitely connecting with an audience, and which audience it connects with will change over time. If you're drifting out of the core audience, then admit that, accept that, and move on.

Personally I had a blast. And I had some very interesting conversations with some of the very folks he was complaining about. I'm glad they were there, found it relevant, and enjoyed themselves. They will be back next year, and that is a good thing.

However I am more of a back-end person. It was fun, informative, entertaining, but mostly not particularly relevant for me. So I'll likely take my own advice and not come back. (Though I may change my mind if I'm lucky enough to be asked to be on a panel again. And there were some _very_ good sessions.)

</comment><comment><USER3> _the same vague shit people say every year_

Odd, I thought her blog post was quite specific about the things she was complaining about.

I'm given a lot of pause by how many techies can't wrap their heads around the idea of people minding drunken assholes, gropers, and thieves.

EDIT: And looking at both posts, isn't both of their objections exactly "a crowd of new attendees that I don't want to meet"?

</comment><comment><USER4> I think SXSW was a mess this year - but it was still a worthwhile conference to be at.

Was advertising everywhere and totally in your face? Yes. Were there a million people trying to get into the parties? Yes. Did all the panels totally suck? Yes (this is something the author totally failed to mention BTW.)

The benefit to going to SXSW is to see / meet people in your space. The most important part is just being there, and getting awesome introductions. The noise is totally outrageous. I don't think anyone launching a product (including us) would be able to make huge waves unless you already had nice little buzz going.

SXSW is amazing because everyone from SF, LA, NYC, Austin, and a million other places come together expecting to meet people.

One last thing - Nick posted this comment: I am part of the mid-to-high- profile blogger/media crowd; I'm entitled, but I know how shitty I sound saying that I'm entitled. We're the crowd who demands VIP access.

Dude you are so lame it hurts. All these parties were the same. Do you really need to get drunk and have awkward social media conversations at 3 AM? Do I really want to watch an overweight blogger try to ride a mechanical bull? Sure the parties are fun (for a moment) but like btilly said, its all about what your looking for. If I am looking for a party I would much rather go to music (hot girls,) you go to interactive to get a feel for the people in the digital space and what they are trying to do. But yes... last year was a little cooler.

</comment><comment><USER5> "It was cooler before you people showed up"

We see this with twitter, message boards, and (heck) anywhere people gather. I want to be in the cool club, but no one after me because "those people" don't get it or are lame. Who is "worth" following? Same feelings, different groups.

<comment><USER6> Yeah, this is so common (most of all among hipsters) that it must just be an effect of human nature. I remember how amusing it was when Nirvana unexpectedly hit the bigtime and all the indie types who had been raving about them as gods suddenly were forced into "Nirvana sucks, they sold out" mode. Cognitive dissonance in action!

If other people steal the emblems of my identity (by liking the same band I like, or going to the same conference I do), it's as if they're stealing my soul. Worst case scenario, I might have to admit that I'm not that different from the average guy. That's a bitter pill for a lot of us, especially those who were raised with or otherwise acquired the idea that we're exceptional or superior.

An interesting irony about this is that the ego dynamic underlying it all is so primitive and so identical.

<comment><USER7> It's more of a natural diffusion of common sociological binding properties with increases in cohort size than ego.

In small, cohesive groups communication IS simultaneously MORE efficient and MORE intimate.

As the group size grows, the differing mixtures of shared properties amongst its participants grows. There are more total possible channels for signal- based bonding, but also more noise. With choice comes confusion, ambivalence, and even rejection.

In the extreme case, the original cohesive set of properties in the "core culture" can be bifurcated or disappear altogether.

It's no different than what happened on the original Fidonet, The Well, or the infamous AOL-invasion of the academic Internet.

SXSW has simply gotten too big for the original cultural center to hold.</comment></comment></comment>


10 Years SeL4: Still the Best, Still Getting Better - <AUTHOR> https://microkerneldude.wordpress.com/2019/08/06/10-years-sel4-still-the-best-still-getting-better/ <comment><USER2> Will it be possible to run a web browser on an SeL4 kernel some day, or is that completely beside the point?

Obviously, formally verifying a modern web browser with a javascript engine and everything is a whole other undertaking, so I'll leave that aside. But the notion of using a very secure kernel as the base OS is appealing. Even if a hostile site broke out of the web browser, SeL4 should keep it sandboxed. Presumably, SeL4 could enforce isolation between different browser tabs. Is this something we can look forward to in the future, or are the performance expectations of modern javascript heavy web sites out of line with what SeL4 is likely to deliver?

Anyway, there are plenty of other applications beside the web, so glad to see that SeL4 is being used in real world deployments.

<comment><USER3> Technically, a capability-based desktop OS makes perfect sense. In practice, the microkernel people have been polishing their kernels and about to start on userspace next year... for 30 years.

(One exception to this is QNX which was killed off by weird business decisions.)

<comment><USER4> > QNX which was killed off

Are you sure? The latest version is only ~2 years old, and they still seem to be hiring: [https://bb.wd3.myworkdayjobs.com/QNX](https://bb.wd3.myworkdayjobs.com/QNX)

<comment><USER3> It looks like the desktop version of QNX was killed off in 2014 although they stopped promoting it much earlier.

</comment></comment></comment></comment><comment><USER5> This is a great view on history of seL4. Is there a list of use cases where seL4 is being used outside academia?

Also, I would like to know why Google didn't go for seL4 and instead created Fochsia?

I wanted to mention that we wanted to see if we can use L4 for isolating our network filter from Linux kernel (trustability) but instead we opted for bitvisor (much simpler code base but not verified).

<comment><USER6> We're using seL4 as the basis for one of our products which is focused on characterizing components, systems, and their failure modes. Mostly targeting critical "Cyber-Phyiscal Systems" and "Software-Intensive Systems of Systems".

We have a little operating system, or enough of one to facilitate building the rest of our product atop of it, that goes along with seL4. We'd planned to open source parts of it fairly soon, but prioritizing hiring a few more folks (BD, PM, Eng.) has put that effort on-hold temporarily.

Building things with seL4 is easy to do wrong, despite being given a variety of very low-level verified primitives to work with. You still need to put it all together _just right_. CAmkES is supposed to make this easier, but our experience with it wasn't very good, so we took the hard road and created a Rust-based application framework to go over the top of everything.

<comment><USER5> > seL4 is easy to do wrong

This was our main stopper. seL4 would benefit greatly to teach how everything can be fit together, and where everything can be expected to go.

<comment><USER6> We overcame this with a significant amount of Rust-i-ness and effort in understanding the guts of the kernel and how it implements its assurances.

Basically by providing setup, resource management, and communication abstractions that you just can't get wrong because doing something dumb that would be entirely nuts and/or would result in difficult to deal with run-time errors (as the kernel enforces some of its guarantees) ends up being rejected by the compiler ahead of time.

</comment></comment></comment></comment><comment><USER7> Are there any resources for running SeL4 on a raspberry pi or other arm SBC'S? The article mentions hypervisor support, which makes me think it'd be a possible way to run Linux on top of a secure RTOS. Working in the embedded world and I ponder what could be possible with a high security hypervisor.

<comment><USER6> seL4 isn't an RTOS, FWIW.

There is hypervisor support, sort of. Insofar as there's enough there to build your own hypervisor (we ended up needing to do something like this), and there's a sample VMM for a very specific host and guest target combination available that's created via CAmkES.

Making an seL4-based hypervisor truly cross-architecture capable as well as generalizable for different host and guest target configurations is a non- trivial, painstaking, arduous task. In fact making anything on seL4 truly cross-platform isn't easy. The kernel doesn't provide much in the way of unifying abstractions over the architecture differences. The different architecture details are mostly thrust onto you to figure out what kind of abstractions _you_ want to make.

The MCS (mixed criticality support) stuff in seL4 getting mainlined should make it theoretically possible to invent/create a hypervisor that enables you to run MCU oriented RTOSes & applications in an isolated context atop non-HRT hardware. Data61 has mentioned that they're going to take a whack at making some part of an AUTOSAR stack that runs in a context like this, but I have no idea how far along that is. Separately, we're looking at leveraging the same underlying capability for a variety of different adjacent purposes.

That said, there are a variety of supported platforms you can already build seL4 for: [https://docs.sel4.systems/Hardware/](https://docs.sel4.systems/Hardware/), our experience has been that some work better than others. It's possible to run in QEMU as well to get started.

<comment><USER8> How is seL4 not a hard RTOS?

It even has proof of worst case time (WCET), which to my knowledge no other non-trivial RTOS does have.

I'm very confused now.

<comment><USER9> seL4 at the moment doesn't have kernel interrupts. The kernel relies on run- to-completion and "incremental consistency" partly because IPC in seL4 is already short so the time window for a kernel interrupt to be needed is also correspondingly small, and because it makes proofs easier. Of course, this means there's possibilities of long tail latency for interrupts to be delivered to userspace if the kernel needs to run a long operation.

<comment><USER10> My understanding of seL4 is that the kernel never really needs to run a long operation because it does so very little. For instance filesystems would be a usermode process, along with nearly all drivers. Isn't that why the MCS stuff works - the kernel may not be able to interrupt itself but that doesn't matter because it can interrupt userspace, which is where 99% of traditional kernel code ends up?

<comment><USER9> That's not quite true. It's not solely because seL4 does little. seL4 maintains low interrupt latency through "preemption points" \- basically points where the kernel can and can only context-switch while maintaining global consistency.

Keeping in mind I'm not an expert on this, I dug up these papers when I was vaguely looking, they may be useful to you:

"Improving Interrupt Response Time in a Verifiable Protected Microkernel" [https://ts.data61.csiro.au/publications/nicta_full_text/5391...](https://ts.data61.csiro.au/publications/nicta_full_text/5391.pdf)

"To Preempt or Not To Preempt, That Is the Question" [http://ts.csiro.au/publications/nicta_full_text/5859.pdf](http://ts.csiro.au/publications/nicta_full_text/5859.pdf)

<comment><USER10> Thanks, that's super helpful.

<comment><USER8> AIUI there's only one such preemption point, in some resume-able operation to do with cleanup. Every other operation is short enough.

Thus interrupt latency is guaranteed to be very low, even if the interrupt happens while the microkernel is running.

It is my intuition that the "it's not a RTOS" has to come from something else, like some non-implemented API that's expected in an RTOS or the like. The required services might actually be implementable as non-privileged tasks.

<comment><USER10> Maybe it's just slight conservatism. If all existing RTOS' have pre-emptible kernels and yours doesn't, perhaps you'd rather let the market decide you've built an RTOS rather than stating you have and risking an argument over terminology.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


"Leave.eu poll was 52 48... Polling companies don't have any credibility left" - <AUTHOR> https://twitter.com/Arron_banks/status/746776528453775361 <comment><USER2> The problem with polling the public these days is that your equally polling people who may not even vote, or in recent UK referendum, not eligible to vote.

</comment><comment><AUTHOR> Arron Banks had a "US strategist"[1] help poll 20,000 people[2], a sample size much larger than YouGov and others[3].

[1] [https://twitter.com/Arron_banks/status/746280064652836864](https://twitter.com/Arron_banks/status/746280064652836864)

[2] [https://twitter.com/Arron_banks/status/745907822194466816](https://twitter.com/Arron_banks/status/745907822194466816)

[3] [https://ig.ft.com/sites/brexit-polling/](https://ig.ft.com/sites/brexit- polling/)</comment>


Jack Dorsey's Twitter Account Suspended - <AUTHOR> https://twitter.com/jack <comment><USER2> Any reason(s) why?

<comment><AUTHOR> It's back online after being suspended for at least 15 minutes. Weird, but probably just a bug.

<comment><USER3> My theory (not substantiated in any provable way) is that:

1) there is an automated system recently implemented that suspends accounts that receive a set number of reports within a set period of time 2) jack's account is a constant target for reporting, specially by detractors of his platform 3) his account received a recently increase in attention thanks to all the news about his efforts to sanitize the twitter environment and turn it into a safer space

The combination of these three factors may have accidentally led to his account to be suspended.

As I said, there is nothing to substantiate this theory apart from flimsy speculation</comment></comment></comment>


My Problem With Klout Scores: Beyonce Gets a 50 - Without Ever Sending A Tweet - <AUTHOR> http://www.disruptiveconversations.com/2011/03/my-problem-with-klout-scores-beyonce-gets-a-50-without-ever-sending-a-tweet.html

<comment><USER2> Klout has me on a score of 56 and ranks me as a curator, which means "You highlight the most interesting people and find the best content on the web and share it to a wide audience. You are a critical information source to your network."

I don't think I have ever retweeted anything, and I very rarely share links on twitter, and when I do it is to my own blog. I mostly just troll people and make lame jokes.</comment>