skysight-inc/HackerNews huggingface dataset:
The article compares Google to Microsoft. Microsoft, too, had a dominant position in a lucrative market (and still does, with revenues ~50% higher than Google). Microsoft also underwent a decade of a flat stock price.

Their revenue kept growing during this period. It grew by a lot! But their P/E declined, from the 40s to 12 or so. This is because all of the action (iPod, Google Search, iPhone) was happening outside of MSFT. The "growth genie" was gone, and they transitioned from a growth stock to a value stock, and (as perceived) an innovative company to a company protecting its cash cows.

The article discusses whether Google will undergo the same fate. Being the undisputed leader in online advertising is an enviable position; the question is whether Google can grow to be more than that.
They all have communication issue, or they use too much gadgets as they have lost their social skill.
You've figured it out. Most people interpret defensiveness as an absolute sign that you're a jerk and that you're wrong. It doesn't matter if you're arguing in favor of the laws of physics, if you sound defensive, you will be dismissed as an arrogant idiot.

But anyone who would rush to judge someone so harshly is revealing themselves as the bad person. A little compassion is all that is necessary to see that you meant well.

Take pride in having gotten on stage and put yourself out there. You tried something that would scare most people to death. And you did quite well. Plenty of people like myself have nothing but respect for you and don't think you're a jerk.
So you should feel right at home then! (I kid, I kid, but I'm from New York so you know how I feel)
Why Isn't There a Map-Reduce Language?
This has been eating me up lately - it seems like emerging cloud data processing systems are increasingly similar: they rely on mostly functional transformations of datasets in directed acyclic graphs on clusters. For example:

- Apache Spark

- Apache Storm

- Microsoft Dryad

- Apache Hadoop

- etc.

Other differences are how data moves in/out/around these systems - but these seem less important. If we had a single language, we could have greater portability between cluster computing solutions, and it would allow more work to go into optimizing performance instead of designing the next way of talking about map reduce. Apache Pig exists, but it does not seem general enough.

Is there anything else out there?
It doesn't, it just is easier to scan. There isn't a goal of being completely free of syntactic elements, semicolons went because they were excessive and noisey, colons seem, at least to me (comparing with say, coffeescript) to make it less noisey.
Thanks, very informative. The biggest challenge seem to be that the current people running both te grid and power companies are so conservative that they seem to be the biggest blocker against something line this being created.
More of that effort needs to go into compromises back to Python 2.x as opposed to figuring out how to beat people into going up to Python 3.x; it should not have taken until Python 3.3, for example, for the u'' syntax to return. They need to sprinkle a few well-placed "this is a way to get compatibility with Python 2 and 3 at the same time, without crazy tools, at least as an interim state". When I shifted from Ruby 1.8 to 1.9, there was nowhere near as much of a flag day of pain, even though they were attempting to solve the same overall problem (Unicode), and even though Ruby 1.8 was actually abysmal at Unicode (unlike Python 2, which contrary to many of the people who like to try to carrot people to Python 3, does not have any issues with Unicode; in fact, if anything, Python 2.x is better than Python 3.0 was, as Python 3 decided to "fix" a bunch of things, like filename encodings, which actually should not be assumed to have an encoding :/).
It should be near other PHP micro-frameworks:

- BulletPHP: 3946 lines of PHP code

- Slim: 7329 lines of PHP code

- limonade: 3669 lines of PHP code

- Lumen: 95'220 lines of PHP code

You can't call it a micro framework if it's more than ten times bigger than all the other ones.
"Design is how it works". Maybe. But engineering and software development is also about "how it works".

That Steve Jobs quote seems to have propelled a lot of people doing graphics into a broader field; if it is entirely fair and on whose expense I am not sure.

Secondly. Graphical design today is much more a commidity than it used to be.

Libraries such as Twitter Bootstrap puts professional high quality (albeit generic) graphical design into any boring old webapp. And for 90% it is good enough.

Mind you the reason d'etre for most software developed today is a set of specific tasks not aestethics, not branding or marketing. Good aesthetics may be a nice touch to add and I found that it often helps boring internal IT-projects that they look good and conway an immediate sense of quality. Luckily today it is in within the reach of the average programmer.
Right, so it never really took. My experience is that it doesn't happen by itself, and needs focus from someone to make it work for you, much like you can't just install Jenkins and declare CI "done".
It would be nice to know the breakdown by weekly hours. I suspect this number is just registered drivers.
I don't think you sounded like a jerk.
I think we're almost all in agreement that pitch video doesn't do a very good job explaining Keen IO. I mean, it was posted on HN three years ago as an example of a bad pitch :).

The idea for the service was at its infancy and Kyle's ability to articulate it to pg in front of 300 people just wasn't there yet. If you'd like a more up-to-date answer, here's one I wrote to the question "Why wouldn't I just roll my own" that someone else asked in this same thread:
https://news.ycombinator.com/item?id=9378228
It seems from what I've read that this event goes to `chain of custody`, and by nicicacity invalidates ALL digital evidence for EVERY case handled by this police office unless provenance can be reliably established beyond all doubt, and that provenance can be proven not to effect 'original' copies in this or other cases.

It is a catastrophic failure of procedure, that invalidates this, and possibly all copies of this evidence causing it to be judged inadmissible.

From wikipedia[1]:
When evidence can be used in court to convict persons of crimes, it must be handled in a scrupulously careful manner to prevent tampering or contamination. The idea behind recording the chain of custody is to establish that the alleged evidence is in fact related to the alleged crime, rather than having, for example, been “planted” fraudulently to make someone appear guilty.

Regarding other comments in this thread about law enforcement being held to a higher standard, they would be. The higher standard is that when they fail to follow proper procedure like this, the effect is the evidence (and often the entire case) is summerly dismissed, and the defendant cannot be tried again for the same crime. the entire US legal system has this built in bias. Whereas a defendant in a similar position of supplying discovery documents would not be held to the same standard risking summery judgement, and might be able to provide replacement copies for discovery, and continue with the definse more or less normally.

1: http://en.wikipedia.org/wiki/Chain_of_custody
> Google is not going anywhere anytime soon

And this article never said it was. Did you even read the article, or just jump into to defend Google?
> Windows has the CreateFiber() API that creates "fibers", which act like threads, but use "cooperative multitasking". For POSIX, using a combination of setjmp(), longjmp(), sigaltstack(), and some signal (e.g. SIGUSR2) will provide coroutine support though it is "pretty awful". While it is "horrible", it does actually work.

I do this, and it works perfectly well. Here's a full implementation demonstrating this approach: https://gitlab.com/higan/higan/blob/master/libco/sjlj.c

It's been successfully used on x86, amd64, ppc32, ppc64, mips, arm and sparc in several projects.

However, it still has a good bit of overhead. But you can implement this concept absolutely trivially on any platform for maximum speed. All you need to do is save the non-volatile registers, swap the stack pointer, restore the non-volatile registers from the swapped-in stack, and return from the function. If you haven't realized, one function can reciprocally save and restore these contexts. Here's an x86 implementation, for example:

co_swap: ;ecx = new thread, edx = old thread
mov [edx],esp
mov esp,[ecx]
pop eax ;faster than ret (CPU begins caching new opcodes here)
mov [edx+4],ebp ;much faster than push/pop on AMD CPUs
mov [edx+8],esi
mov [edx+12],edi
mov [edx+16],ebx
mov ebp,[ecx+4]
mov esi,[ecx+8]
mov edi,[ecx+12]
mov ebx,[ecx+16]
jmp eax

This turns out to be several times faster than abusing setjmp/longjmp.

I turned this into the simplest possible library called libco (public domain or ISC, whichever you prefer.) The entire API is four functions, taking 0-2 arguments each: create, delete, active, switch.

The work's already been done for several processors. Plus there's backends for the setjmp trick, Windows Fibers and even the slow-as-snails makecontext.

If Python does decide to go this route, I'd certainly appreciate if the devs could be directed at libco for consideration. It'd save them a lot of trouble making these, and it'd get us some much-needed notoriety so that we could produce more backends and finally have a definitive cothreading library.
It's absolutely not a sandwich. "Open-faced sandwich" is a travesty of a name for a lone slice of bread with something on top. We should call it what it is. A disappointment.
That's the Kerbal way. First they hit it from the side because they run out of control fluid (say, electricity, in Kerbal terms); then they landed a-ok but tipped over. Next time they'll probably miscalculate the suicide burn and - because it's SpaceX - fourth time's a charm.
Have you tried Nim[rod]? Seems to be pythonesque in almost every way, except speed, in which it is goesque.
I like Objective-C for that.
So... how do I get past the second gem?
Perhaps it would be prudent to buy land that will be near oceans.
Thoughts on HTML5, a Flash Developers Hopeless Rant
What Perl6 rewrite? Perl6 is a specification. Are you referring to various compilers that have been implemented over the years as rewrites?
I noticed a while back that what really made me want to use python 3 is new features. Several script I use currently has a bunch of try-except that looks for functionality, and then monkey patch some python 3 feature into python 2. This will only get worse until library support allows me to switch.
It's because there's a rule that every time you are going to start indenting more, there's a colon first. Since whitespace is rather invisible, it's a concession they make to make scoping more clear.
This is programming 101. Kind of odd that this hits the front page of HN.
Wow, live-code-reload for Android devs, finally!
Alternate (better) solution to the author's problem: Use a language where all parameters are named, like Smalltalk or Objective-C.

document addObserver:observer forNotificationNamed:'load' isWeak:false.

xhr openURL:options url type:options type async:options sync negated
I believe you and I understand the problem (I make planes for fun, so know a little bit about aerodynamics and CG) .. but what I think is that the wings could indeed be mounted to the rocket higher up the frame, over the legs - so when the legs deploy at the bottom, the wings deploy as well over the top - they'd be part of the same leg structure, only extended all the way to the top of the rocket body. Actually they'd need to be rotors, a kind of mini-wing, to spin the rocket body on descent, for drag .. like maple seed wings that flip out in the last stage of the flight envelope.

Well of course all this sounds easy, but KISS principles apply I suppose. Still, I could see this happening at some point in the future ..
Just yesterday I've deeply regretted installing Python3, because some build scripts (atom-shell, a fairly new project) failed badly. Things like that happend regularly. Right now I can only install both Python2 and Python3 and adjust my PATH variables, depending on what I want to do.

The Python community beeing so split and "backward-oriented" is really the main reason why I wouldn't consider Python, though I like many aspects of the language.
The Arm specification primarily focuses on the protected mode opcodes used by applications. This is why Arm application binaries are portable across machines.

The real mode opcodes needed to bring up a kernel are a mess on Arm, with each manufacture using their own instruction set.
You can feature detect at runtime. And or pick a subset. It is complicated but workable.
It is disappointing, isn't it? This is the market for which 16 GB isn't just a niche need anymore - and I sorely wish there were more MBP dev machine competitors.
Good to see that you agree with someone for a change.
What happened to/at redhat?
the knowledgebase will be back soon. -> https://access.redhat.com/labs/registrationassistant/#/rhel6/1-3

and i can't seem to yum anything.
Just make it faster and everybody will move. No need for fancy new stuff... I'm eager.
Look-and-feel is very much a part of design, and that includes both industrial design and interface design (in addition to other related fields like fashion or graphic design). So Dieter Rams minimalism is very much a visual language and owes a great deal to art deco and the bauhaus.

But design doesn't always have to be useful. For example the work that a game designer does is all about distraction and entertainment, and has little to do with making things understandable. In fact game design is about creating problems for people more than anything else at times.

I'd also be wary of the fashion to bash fashion and the decorative arts: A good knowledge of the decorative arts and art history are critical if you want to be a good designer. And I would also add to that a good designer should be a well rounded person as well: You should know a little bit about theater, literature, music and many other things.

The real failure I see is that many lesser engineers think that they can sprinkle some design on what they're doing. Another sin I see is that while hacker culture is a great thing, design isn't something that you can learn in 48 hours from courseware. In fact I've spent my entire career doing design and I'm still learning new things every day.
I like Bay Cities a lot but Canters and Langers are pretty great spots too. Mario's in Glendale is really rad. Berges in La Cañada puts an interesting spin on things with Armenian style bread. I think you just gotta leave your East Coast mentality at the door and be a little more optimistic. There are plenty of good places to eat out here.

Of course you're never gonna be able to find everything everywhere. That's what makes all these parts of the world unique.
Awesome work!
And I just realized it's the same guy who created ImpactJS.
Awesome developer!
CleanMyMac 3.0
The Real World Doesn't Have Undo
So it's not actually incompatible with BSD/MIT.

As for the GPL, I think you missed section 7 - "Additional Terms":

Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:

e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks
NOTE: I am neither an Emacs nor a Vim user but I'm interested in editors (and developing one).

Here are the results from the latest SO developer survey. The data may be biased, but it looks like vim outnumbers emacs by 5:1: http://stackoverflow.com/research/developer-survey-2015#tech...
This post seems to conflate language and implementation. IMO, Python 3 the language has tons of improvements and no regressions. The grief on the internet about Python 3 makes me seriously wonder how many people who don't like Python 3 have actually tried it yet. (There are legitimate critiques of Python 3, but they're few on the ground and none are presented here.)

The suggestions in this post are mostly changes to the implementation (i.e., make it go faster), not the language itself. While CPython 2.7 and CPython 3.4 (implementations) surely have interesting implementational differences that don't boil down to just language changes, I'm not aware of them.
Rebooting a 1970s satellite with modern software and hardware
Please don't link paid articles.

Free link : http://www.wired.com/2015/04/docker-raises-95m-silicon-valle...
Is Your ‪‎Website‬ Ready for Upcoming ‪‎Google‬ Update?
Keybase.io storing secret pgp keys
Is there a thread discussing the ins and outs of transmitting and storing your secret pgp key in keybase.io ?
But even there, I would prefer:

[document addWeakObserver: observer forNotificationNamed: 'load']

and

[document addObserver: observer forNotificationNamed: 'load']

Assuming for a second, that the non-weak observer should be the normal case.
Why I Built a Website for My Balinese Taxi Driver
An alternative using ES6 object parameters:

function addObserver(observer, func, { weak = false } = {}) {
if (weak) {
// ...
}
}

addObserver(observer, 'load', { weak: true });
Given enough money, a JIT can be made arbitrarily fast, it seems (e.g. - JVM, LLVM bitcode interpreter)

Given time, don't assume any particular language implementation will always be faster. Go might only run faster than Javascript on the odd years, depending on corporate budgets for compiler / VM tuning the previous year.
Boolean is harmful, period.

https://existentialtype.wordpress.com/2011/03/15/boolean-bli...
>People keep saying that, but they leave out the fact that the worst school districts--but urban ones--also have the highest per student spending.

It's hard to follow your jumbled sentence. However, it appears you're implying low income areas get the most funding.

That's a right-wing myth that's spewed from places like the Heritage Foundation when they attempt to profitably indoctrinate the public into privatizing schools, etc.

The truth of the matter is The Education Law Center has found that low-income public schools spend $3,000 less per student than their wealthier counterparts, amounting to $75,000 less per 25-student classroom, yet low-income districts contain many more students likely to have higher needs due to poverty, English Language Learner status, or disability.

http://www.elc-pa.org/wp-content/uploads/2013/02/ELC_schoolf...

So, if we are to examine the realities of the situation, we find that the kids with special needs who desperately need more funding -- often get less.

Also, if you've ever had personal experience within schools located in low-income neighborhoods as many teachers and myself have had, you'd know this very directly.

You can certainly find anomalies, but to prop up anomalies as the norm reeks of agenda instead of truth-seeking.

I should also mention that I agree that funding alone certainly isn't the only issue. How the funding is applied is very important as well. However, when funding is woefully short in the first place and kids don't have the materials and supplies they need for a proper education, we have a core problem there.
IMHO, static linking, be it using a mechanism alike what npm is doing or be it plain-old static linking of binaries also means "you link it, you own it".

For every package, you link statically, you as the parent package owner become responsible for all security flaws of all the packages you link statically.

And by "responsible" I mean: Every dependent security announcement of a dependent package also becomes your security announcement.

If you're AWESOMY 1.1 and you link statically against openssl and openssl announces a security flaw, then you better and quickly release AWESOMY 1.1.1 with an accompanying security announcement too.

Are you willing to do this? Do you trust the chain of dependencies all the way down to also be willing to do the same?

As a responsible developer, I'd much rather delegate that responsibility away to a packager or even the user, especially with well-known libraries like openssl.

If I'm owning AWESOMY 1.1 and link dynamically against openssl, then I don't have to do anything when openssl releases a security announcement. I can, if I want to, inform my users to maybe update openssl, but with some likelihood they are already doing this anyways for some other package.

For me as a developer, this is considerably more convenient.

Yes. Static linking has huge advantages for me as a developer too, but it also comes with a great many additional responsibilities I'm personally not willing to take on, also because I don't trust my dependencies to be as diligent about their dependencies.
Nginx HLS adaptive bitrate module
This year I've been spending a lot of time learning Python as I can tell, even being a longtime Rubyist, that Python is the better language for teaching and for general purpose usage...and since Python 3 is already pretty mature, I figured I should just pretend that Python 2 doesn't exist...

Well, after a month of studying, using, and teaching the language...all I can say is, the conflict between 2 and 3 definitely lives up to the hype :)...Most of the changes make sense to me, and even as a "do-whatever-you-feel-like-aesthetically" Rubyist, I appreciate what Guido did/attempted to do in the clean-up. But things like lambda...there obviously was no easy answer...I love lambdas, but it's so functionally limited and awkward in Python that I also see Guido's point about just removing it from the language (ultimately, he gave up on that)...

But what about the built-in reduce()? Again, it's another function that I instinctively reach for as a Rubyist...and yet it's so awkward in Python that, again, like lambda, maybe it should die? But in this case, Guido halfway-won, and now it's been pushed into the functools package. Mmmkay. And so it is with so many of the 2 to 3 changes at the interface level...as a newbie, it's just mostly amusing since I have no legacy code to port over, but I definitely understand the strife.

But the conflict is still hard to avoid as a newbie...many of the most used guides (LPTHW, Codecademy's Python track) are just done in Python 2...LPTHW says right up front to stay the fuck away from 3.x. I don't think Codecademy even bothers to mention what version they're teaching...obviously, beginners don't need to get into the version wars, but as soon as they get past Codecademy and start Googling around, they're going to be in for some surprises.

Hell, the act of Googling is itself affected by the version-wars...everytime I google for commands/subsections in the official Python docs, the version 2.x docs are always at top. Sometimes the 3.x docs don't even show up. At least I know that there's a 3.x and how to manually switch to those docs...imagine all the novices who are also Googling for references...it's not hard to think that the cycle of 2.x indoctrination is propped up by the simple fact that 2.x docs/help are always at the top of the Google results.
Dell report revealed attacks on SCADA system are doubled
Bluebird is for promises. Mentioned above if you read.
It's a worthless phrase unless you have some understanding of the likelihood of malice based on whom you're dealing with.

If you're dealing with malicious people, then that phrase completely loses its already low value.
Flashlight – do anything with a keystroke
Obama and Congress go off the rails trying to fast track TPP
You've probably read this over and over, but for me there were 2 reasons why Python 3 wasn't a top priority: 1) lack of support in some libraries --- this got a lot better; 2) lack of support on Google App Engine.

On the other hand, I didn't find the new features in Python 3 appealing enough to make me fight the above drawbacks.

Last but not least, while I use most of the tools I've developed in Python on a daily basis, they are just that: tools meant to make my life nicer.