skysight-inc/HackerNews huggingface dataset:
"Smartphones are unapologetically devices for consumption."

The vast majority of social media posts being written, photos and videos being taken and edited, and music being recorded and performed with these devices show this is wrong. Anyway, how did most people use their desktop and laptop computers 10-15 years ago at the peak of popularity of those devices?

"They are not real network clients."

This isn't even actually his complaint. His complaint is that smartphones have too-limited battery life. The smartphone battery life we have today would have been considered a miracle 10 years ago.

"They have led to massive centralization."

True enough. Unfortunately, that's how the money which funds the Internet gets made. That said, there's nothing stopping the author from using his smartphone in a distributed manner and helping to build the infrastructure to support the same.

"There are no secure smartphones."

There are no secure networked computers, period.

"They have ruined web design."

I'm not sure web design in general has ever been all that great. The people who practice the art are severely restricted between the demands of their employers and the limitations of the platform. Smartphones have driven the latest changes in fashion, sure. Fashion will change, and the older you get, the less you'll care for it.

"capabilities are all too often restricted by device manufacturers or carriers."

It's true. But I don't think the smartphone is the problem. Microsoft and Intel started talking up the locked-down hardware that only runs trusted code approach 15 years ago or more. Smartphones came along soon thereafter, and are designed along the same lines. It's frustrating, but for a certain class of device, one that you want to Just Work for handling the basics of human communication, I think it's a reasonable tradeoff.

There's still plenty of hardware that lets you do anything you want with it. It's critical that such devices remain available, but with the rise of DIY style hardware--Raspberry Pi and Arduino et alia--I'm very hopeful. The gap between these solutions and high-priced high-performance components will only narrow over the next decade.

Ultimately, though, unless you're manufacturing the hardware entirely by yourself, you have to trust someone. You don't want to trust Apple. But we have to trust the companies who make our wifi chips, our graphics chips, our CPUs, our USB chips. Even our cables soon may be sophisticated enough that they might include the hardware necessary to stream what we're displaying on our monitors directly to the NSA and the MPAA.

Good luck!
Akka actors are not "real" threads, Akka scheduler runs them through available resources.
Facebook made the internet a home for a billion people. Mr Rushkoff is certainly an important voice, but I'll play devil's advocate. We can never know the initial motives or future designs of Zuckerberg et al, nonetheless these actors have built products/services that people demand. They have introduced advanced technology to vast swathes of people, familiarised them with computers, and drawn them into (the periphery of) hacker culture.

Hypothetically, more intelligent/predictive advertising should decrease the quantity of ads we see, and work in the favour of local firms. AI (including predictive-advertising) has the potential for good. People want to support local businesses. With the introduction of localised / native advertising, there is the potential for the business next door to 'get you' as a customer, as opposed to Amazon etc. The 'last mile' problem might work in the favour of small firms.
You make a good point. I did think that in retrospect. Just wanted to develop my skills further in Ansible really.
I don't think those APIs are comparable at all. Mathematics exposes two functions for solving differential equations, DSolve and NDSolve, for symbolic and numeric solutions. In contrast, sage exposes a melange of different functions based on what methods they use internally. This is hugely different in terms of usability. A high school kid doing a physics project might come up with a differential equation without knowing how to solve it manually, but she can expect to simply use the correct syntax to invoke DSolve/NDSolve to get what she wants. You can't do that in sage without learning a lot about differential equations themselves.

By the way, Mathematica's documentation contains lots of detailed examples hidden beneath those little disclosure triangles.
A Contrarian Obituary for a Contrarian Justice
This has nothing t do with voting. You don't need democracy to tax people.

You starting point, like that of the libertarians and anarcho-capitalists is based on an idea that you own what you produce but since you don't own what nature produces this line of reasoning quickly breaks down. You don't own the nature and so whatever you use from it isn't your moral right to keep.
No? In the scala code the timer is started and Actors are created. No warmup anywhere.
https://github.com/atemerev/skynet/blob/master/scala/src/mai...
Stepping stone is VR/AR with tracked toys
F-16 shoots aerial drone out of the sky during training exercise – SOFREP
It will be interesting to see whether the Republicans will be as obstructionist to an Obama SCOTUS appointment as they have been to almost everthing else he proposes.
can anyone tell me how the figured out where the black holes are?

with just 2 "ears" I'd expect to be only able to determen a circle, but here is the picture they released: http://content.screencast.com/users/cougarten/folders/Jing/m...

Do i see a warped circle, or the bottom part of one? In the latter case I wonder how they found out.

Are the L-shape sensors capable of seeing some direction depending on which way the phases shift first/last?

If you'd build one of the sensors in reverse you'd see a reversed signal, no? Given that they will have optimized the orientations of both stations this is probably how it worked and I'm seeing just part of a circle, right? That one lonely blob might be an unlikely mirrored version.
Yes, I am sure. M:N dispatcher is used here.

http://doc.akka.io/docs/akka/2.4.1/scala/dispatchers.html
The section about mobile devices being for consumption instead of creation really resonated with me. I still use my smartphone every day, but none of my uses are related to content creation; it's mostly a time killer while I'm away from a desktop.

I've become pretty strict about installing applications on my smartphone. It seems like so many applications just wanna track everything you do and blast ads in your face. And the worst ones even start showing random notifications! To me this just shows a total lack of respect from their part. I always regret installing applications that behave this way.

What's most surprising to me about mobile is that somehow it just keeps getting worse. I've been a smartphone user since the Nexus One came out, and I currently own a Nexus 5X. I don't think I've ever had a smartphone that was as buggy and crashed as often as this!

If you're on Android, I strongly suggest installing Firefox with uBlock Origin and Ghostery. It makes the mobile web much better. But overall, doing anything on mobile feels like a painful chore.
I use Linux and Xmonad. I'm sold on tiling window managers for productivity. Xmonad will run on OSX with some limitations...it depends on Xwindows.
All Late Projects Are the Same (2011) [pdf]
there is a major flaw in the erlang version which causes unnecessary list allocation and garbage collection multiplied by 1 million times. I would try to replace lists:seq(0,9) with a tail recursion.
Even that it's a small list of 10 integers, it is still created 1 million times.

https://github.com/atemerev/skynet/blob/master/erlang/skynet...

EDIT: it seems that list:seq overhead is insignificant - so it doesn't matter, maybe erlang compiler already optimizing it. I even inlined the calls to spawn - it still the same result.
But I found another problem: it seems that some processes are stuck - so if you run benchmark the 3rd time - yo get out of processes.

EDIT2:
Note, that unlike other solutions. Erlang has process isolation, i.e. if there is a panic in one of your goroutines - your entire server will crash, but if there is an exception in your erlang process - only that process will crash, not affecting other processes in your server (unless they linked with it).
Yes, if we make all the implementations do the same thing then we should expect the same results!

The point is exactly to compare different implementations of the same concept. That's always the point in performance comparisons!
JVM has primitives for longs
Still why didn't you did that:

import scala.concurrent.duration.Duration
import scala.concurrent.{Await, Future}
import scala.concurrent.ExecutionContext.Implicits.global

object FutureGen {

def caller(num: Int, size: Int, div: Int): Future[Long] = {
if (size == 1) {
Future.successful(num.toLong)
} else {
val futures = for (i <- 0 until div) yield caller(num + i * (size / div), size / div, div)
Future.sequence(futures).map(_.sum)
}
}

}

object Root extends App {
// Warmup
Await.result(FutureGen.caller(0, 1000000, 10), Duration.Inf)

val startTime = System.currentTimeMillis()
val x: Long = Await.result(FutureGen.caller(0, 1000000, 10), Duration.Inf)
val diffMs = System.currentTimeMillis() - startTime

println(s"Result: $x in $diffMs ms.")
}

This would give Scala: 499ms and Go: 436ms which is pretty neat, since go actually has no type system. (And I'm using the global execution context, which could also be changed) Currently your akka version is slow, since it's creating a new class on every call, so you would have like a dozen more methods to dispatch than my version.
The Erlang code is far from optimal... I'll open a pull req later today.
Lecherous and creepy doesn't fall under terrible behavior?
(2014) which makes this even more mind-bending.
used a iphones for multiple years, but dont need it nowadays. dunno, just dont need it anymore.
Hi bertnb -

You need to look at your comments in an incognito window or when you're logged out of your account. Many of them are showing [dead]. You might want to email HN to let them know.
I think it would be interesting to try http://docs.paralleluniverse.co/quasar/ too (fibers, and actors on top, for the JVM).
Yeah, I was wondering that. There could always be the general overhead in the VM, but the HIPE version (which is compiled IIRC) should be closer. A commenter mentioned that the erlang version would be creating intermediate lists that would have to be garbage collected (see all the lists:seq(0, Div-1) ), but I wouldn't know how to avoid that without writing unidiomatic code. I'm no erlang expert though.
I am sure that I am not alone on HN and having never received a love letter.
Sounds like it would be relatively easy to then optionally pre-parse and automate the variable declaration cutting input considerably (for those who wished it) ... I'm sure that's been done already in such a long lived and popular project.

Thanks for you response and insight. Must give sage a try again.
You are doing God's work.
Plenty of people have mango allergies.
Another microbenchmark flamebait on top of HN? Seriously?

Those things never describe real workloads - in such a view a Porsche is always better than a truck because it accelerates faster. Tough luck if the workload is shipping 20 tons of manure. Put that in your Porsche.
The Metaphysical Astronauts
The best way to check out Phabricator is to go look around the Phabricator instance used by Phacility to manage the Phabricator project itself.

https://secure.phabricator.org/

This gives has all their documentation, applications, and handy nearby search to find answers to the questions you may be thinking about while checking out each application.
"All projects that finish late have this one thing in common: they started late"
If you need to delete code in a codebase full of copy pastes, it's likely that you will need to delete it in many many places and miss some of them. So although the code isn't coupled, it is hard to delete.
Date: 2015
I have been using it for Graph theory research. Most researchers at my univ also uses it. Sagemath cloud is pretty interesting. With the power of Python, I think sagemath can beat rather than compete with anyone.
Jean-Paul Sartre’s Programming in ANSI C

I am pretty sure that is at least a misattribution.
Love Can Make You Smarter
Do remember to actually delete paragraphs though. I've seen long-form articles that were really just several short-form articles that are linked together by a listicle format. If I'm lucky, there may even be a few transition phrases or a narrative that would justify the listicle format.

All these articles may have been good if the writer wasn't so wedded to the long-form format and started deleting paragraphs. But since he was wedded to the format, all the reader sees is a rather meandering and dull piece. It's an example of the sum of pieces being greater than the whole.
You are most welcome! I am not an Erlang expert.
The lab where you breathe exhaust
You may also have a look at SourcePawn from AlliedModders who enhanced it a lot.
Have you ever tried to compile it? With the current residential bandwidth caps in the US it's not even practical to download the (100GB) source.
As a commercial software programmer I'd be happy if open source (with MIT/BSD etc non-GPL licensing) solved the issues that take me the longest time to solve. I could then apply even more levarage in providing more end user value.

Professional software is not like beer or cars, it's about providing the end user tools which maximizes their professional output.
Doctors Suggest Larvicide Cause of Microcephaly, Not Zika Virus
Out of curiosity which Language and IDE do you use?
Could you please open a pull request? Initially, I wanted to compare Akka actors with Erlang actors; perhaps I am unfair to plain old Scala.
No need to use or understand a compiler. Also plain JS has better existing tooling (IDE plugins etc.) than JSX.
A (almost) perfect Elm development environment with Spacemacs
Things you should know about JavaScript events in the browser
The parent comment is precisely saying that they don't all implement the exact same concept. Also, different runtimes will give different results, even if the concept is exactly the same.
Manfred Mohr: http://www.emohr.com/
It shouldn't be. It's supposed to be for 1 year, and be renewable. I've been using it on and off for a few months now, without issue, if that helps. :)
Quillette had a good essay on this recently [1]

Excerpt:

The Kids Are All Right
written by Bo Winegard and Ben Winegard

Loudly chomping on a stick of gum, Emily finished the last few words of her barely comprehensible text message: “BTW..that shit was cray. WTF!! : )” She laughed, and slid back into her seat to listen. The professor droned on about some dead playwright named Shakespeare. Who cares? The monotone began to recede as she opened her laptop and checked her Instagram, eagerly eyeing the number of “likes” her latest selfie had obtained. One thousand and twenty two! This thrilled her. However, her cheer temporarily soured as she remembered that her BMW was in the shop. How unfair. Now she had to ride home with her roommate Rebecca, a nerd who would force her to listen to pretentious “indie” bands on the drive home. Ugh. Her aged, out of touch, and pedantic professor finally ceased speaking of something called Hamlet and dismissed the class. Excitedly, Emily stood up, pulled down her pink “I love me” shirt, and walked out of the classroom. As she entered the hall, she quickly turned up the volume of her iPod, humming along to the lyrics of her favorite pop song: “I’m so fancy/can’t you taste this gold/Remember my name/bout to blow.”

If you believe that society is deteriorating as traditional values and moral verities decay, Emily is your worst nightmare: vain, selfish, impulsive, and dismissive of anything of transcendent value. You are also not alone. Many moral theorists, from Hesiod to Russell Kirk, have warned about the selfishness and moral vacuousness of the next generation. Recently, researchers have put forward data that seem to at least partially support such pessimism about Millennials. In fact, Jean Twenge’s excellent and entertaining book about these Millennials is tellingly entitled Generation Me.¹ She and W. Keith Campbell followed this book with the more ominously titled, The Narcissism Epidemic.²

Yet in this essay, we will forward a more optimistic perspective, arguing that although some of the data Twenge and her colleagues have advanced are correct, their interpretation of them is not. Some indicators of self-regard and even narcissism have increased from the 70s through to the 2000s, but these increases don’t reflect increasing narcissism; rather they reflect increasing humanism–a general emphasis on the value of all individuals, including the self.³

The kids are not only all right; in many ways, they are better than we are.

[1] http://quillette.com/2016/01/05/the-kids-are-all-right-2/
Added Erlang on Windows numbers, added .NET synchronous numbers.
Well, if I'm not sure I ask. And I wasn't sure. :p
Have one left? I'd like to join as well :) Email is in bio -> Thanks!
Firefox doesn't have the tap delay when you use the meta viewport thing to make your page unzoomable. CSS touch-action is still not enabled: https://bugzilla.mozilla.org/show_bug.cgi?id=960316
iTimeTraveller is to be released next year.
I'm pretty sure this doesn't measure what it claims. It's a mostly sequential flow with very little meaningful concurrent work going on. I would imagine a for loop would put all of those to shame. I'm not sure why anyone would optimize their runtime for what's basically yet another process ring benchmark but I know it's gotten slower over time on a couple of the measured cases because it's just not a real example and making this fast trades off other things like good scheduler balancing.

Also check out Pony if you want something were spawn and send become basically free. It'll run pretty close to for-loop speed for the number adding which should be a baseline calculated in all implementations.
Show HN: AwwKoala – another wiki in Go with a KISS sensibiltity and listifying
Is the Akka version doing reflection on each iteration or does it just look like it?
What you're saying could be taken two ways.

1. That the time (including start-up time) for something on the JVM would be longer because the JVM needs to start up.

2. That Go producing a native binary is automatically faster at things.

In reference to the first, the benchmark timings are started when the software actually starts running.

In terms of the second, being a native binary doesn't mean faster. Go still has a runtime. It's just included in the binary.

Go's performance advantage is probably a few things. Go was made to spawn millions of goroutines and Go uses primitive types. I don't know all that much about Scala, but I believe it doesn't do primitive types which means that every one of those Int objects requires following a pointer to get to the value. That's overhead. EDIT: this looks like it's wrong as Scala has a bunch of pre-defined classes that extend AnyVal and correspond to primitive types in Java.

It also looks like the Scala code is passing back a Long even when the value is still small enough to fit in an Int. That's doubling the amount of memory when that memory only needs 64-bits near the end stages. By contrast, the Go code does `sum := 0` which I'm not actually sure how that's working. If I initialize a 32 bit int without specifying it, I see that I wrap around (http://play.golang.org/p/PiiMZmEzKp). So, I'm not sure how initialising it to 0 and then adding to something over an int32 works. Maybe Go uses a different default int depending on platform?

Go's implementation is also simpler. In the Scala version, there's a receive method and the sub-actors just pass back when they're done potentially causing a bunch of switching. Go, on the other hand, creates all the goroutines and only when that's done starts receiving from them. In the Scala version, the program might think that there's value in switching from creating the sub-actors to receiving from them - and they should pass back very quickly. The implementation here in Go doesn't allow for that switching.

When dealing with something as synthetic as this, all of these little things matter.
Is the .NET version actually spawning any threads at all? It uses Tasks to collect the results, but all the work is done in the main thread by the looks of it.
theres a lot of nitpicks on code and go vs scala.. but .net is more flexible and annihilated both by a fair margin as well..
Yes, I did implement that once. It's in the Sage Notebook (see here http://doc.sagemath.org/html/en/reference/notebook/sagenb/mi...), but nobody implemented it for the command line, and I haven't reimplemented in SageMathCloud worksheets yet. I've opened a ticket: https://github.com/sagemathinc/smc/issues/419
Show HN: Come develop addons for Pulse CMS
Couldn't that have been found by turning on the signed-to-unsigned conversion warning?
I took this survey about 18 years ago, a year or two after it was introduced. The rather-small class, on the whole, answered with completely made-up information and joked about it afterward. I can't say that fear of retaliation was the reason for everyone, but it certainly was for me. IIRC the survey was technically anonymous, but the N was very small in our case, and everyone handed it over to teachers in the clear.
I think the .NET core implementation is flawed... Task.FromResult doesn't actually happen on another thread, it returns an already completed Task synchronously. You might want to use Task.Run instead.
As long as we're rewriting the calendar, I have a bone to pick with Hanke-Henry.

Just make every month 30 days, and tuck five or six intercalary days at the end of the year according to the standard leap year rule. These intercalary days will be holidays for visiting family, and we'll shift them and New Years so that they will occur in the spring, where weather is generally more conducive to travel. Additionally, the 1st of every month will be a holiday, "New Month Monday," for celebrating whatever you want to commemorate for that month. For countries that want more holidays, add your next one on every [fourth | second | single] 15th of the month.

Countries that want fewer holidays will be excluded from our new time utopia on principle.
> I would imagine a for loop would put all of those to shame.

Indeed, see ".net sync" version. The point is to measure process spawn/message passing performance.
.NET core impl has 2 versions, async and sync. Task.FromResult is synchronous, yes. Look closer :)
If a compiler could proof that creating the channels/go routines/what-have-you does not influence the arithmetics (e.g. because only associative operations are used and the order doesn't matter), it could constant-fold the loops and just output 499999500000 directly.

I don't know any compiler (and language implementation) that can do that, though.
Smartphones outsell computers 5 to 1 and for the next billion smartphone users a smartphone will be their first computer. Dismissing them as mere refinement of what went before is to ignore the scale of their impact on the world.

One may as well dismiss laptops with modems as "more fully featured telegraphs", or "smaller mainframes".
I believe all (or at least most) of the "quotes" have been re-purposed/altered by the [blog's] author. e.g. "Every line of code is written without reason, maintained out of weakness, and deleted by chance" is based on Jean-Paul Sartre's actual quote[1] "Every existing thing is born without reason, prolongs itself out of weakness and dies by chance."

[1] https://en.wikiquote.org/wiki/Jean-Paul_Sartre
A-Motherfucking-Men

Fucking Steve Jobs was a literal piece of controlling shit and all of his products deserve the dumpster.

Sheep get slaughtered.
Indian govt asks banks to build toilets and make India open defecation free
In this case, the code is coupled; it's just that it's coupled through the programmer. :/
.NET version has 2 variants for exactly this reason :) Single-thread version is fastest of course.