skysight-inc/HackerNews huggingface dataset:
> That sucks, but I can't even imagine what the processor ends up executing for the Ruby lambda callback.

That's not a very good question, `if object == nil` will already be a pretty huge number of instructions in ruby.

Now if the question is "could you have this pattern compile down to little more than a null check", the answer is why not? A bit of flattening/inlining should be able to handle it correctly.

And in most fields, the gain in safety way outweighs the almost unnoticeable (against background noise) loss in efficiency.
It is a sequence. Step 1: find something. Step 2: if it is found, do something with it, and optionally find another thing based on that result.

Sounds like programmable semicolon, or a monad, to me.
Paravelo - flying bicycle
Aye, I really struggle with the greyscale icon menus everyone seems to think are super great these days. If they're in colour; fine, I can differentiate quickly enough. But both G+ and now GH seem to think very pale grey icons on a white background will be enough for people to distinguish them.
the oxymoronic 'Christian Science' Monitor website

I'm afraid that's an ignorant and knee-jerk reaction. The name is a legacy thing that is kept around for historical reasons, much like "Young Men's Christian Association" or "National Association for the Advancement of Colored People" or, for that matter, "Kentucky Fried Chicken". The publication itself has been highly regarded for many years and made a pretty bold move a few years ago to focus on the web.
Yea, it would be more interesting if he would have compressed the text with an algorithm that replaces similar sounding letters, using rules like in the SoundEx algorithm.
Show HN: Which startups are working to solve real tech problems? [side-project]
The looping version could keep a static array around to eliminate that difference. I think Fibonacci is a bad example because the student will wonder why they are going to the trouble of dynamic programming when it doesn't save any work. A better example would be the recursive computation of N choose K - because it avoids overflow from computing the factorial-based formula directly - or matrix chain multiplication (http://en.wikipedia.org/wiki/Dynamic_programming#Matrix_chai...).
> "if (ptr == NULL)" is usually one instruction and an instruction pipeline flush. That sucks, but I can't even imagine what the processor ends up executing for the Ruby lambda callback.

Probably a lot more than the null-check, and yet still undetectable against the background of the db call.
There is already a lot of money being spent on medical research. Cancer is a prime example. Cancer Research UK estimates that about 1/3 of us will have cancer during our lifetime, So there's a very large 'market' or political willingness to fund research. There are some dramatic changes at the scientific level (gene sequencing is getting much faster and cheaper), but progress at the treatment level isn't so quick.

The dramatic advances in consumer electronics aren't just about spending. We spend a similar amount on cars, but a new car today isn't much different from a new car ten years ago. Forty years after we landed on the moon, we don't have day trips there. Consumer electronics change fast largely we've been able to make increasingly tiny patterns in silicon, but most of our other technology develops much slower.
Why would you want to write code on a tablet? What happened to »the right tools for the job«?
Can Red Hat do for OpenStack what it did for Linux?
Ask HN: Are there any well established tech startups in Singapore?
Also, is Singapore a good place to do a tech startup?
I guess that's a matter of opinion... they're changing things, and whether that qualifies as improvement is, in most cases, likely to end up being pretty subjective (unless the change is exactly limited to something like "our pages now all render twice as fast!").

And really... do we need to make everything about something Jobs said? The only part I'd agree with here is that "foolish" might apply if they drop the ball by making the UI less usable/intuitive, in which case "stay foolish" is horrible advice and will negatively effect a whole lot of users.
Thank you Yaron! The book looks great.
Not using it isn't really the answer - creating a better mobile experience is the answer. Use this if you want to - change the experience somewhat for mobile.
Cool. Seems like their head is in the right place: designing for productivity and usability. Kudos.
My guess is that he doesn't want to upstage himself. I'm going to wait for what's coming before I form an opinion.
The issue here is that the semantics are weird, an iteration block is expected to iterate 0..n times, not 0..1. I know I'd never expect a loop primitive to be used as a conditional.

And the context manager can't handle this case, as it's not able to skip the block body.
Rust does exactly this.

No, Rust solved this problem by using non-nullable references. Closure allocation was a separate consideration.

The question of whether you can invent some arbitrary language that will enable your scenario isn't an interesting one. The problem is languages like Java and C#, which are heavily used and DO have nullable references. This "fix" is not one.
If it's that simple, you'll have no trouble coming up with historical examples of the mechanism you describe having operated with the simplicity you assert.
The screenshot has to be contained in something to separate it from the page around it, and window chrome makes it feel a lot more real and less like a mockup. A black border or something wouldn't quite have the same effect.
If you're particularly bothered by this you can just make your query interfaces uniformly return iterables. Which is what already typically happens in your average low-level DB API, in languages lambdaful and lambdaless.
Cool - did not know about that. Wish I could edit my comment.
They don't optimize to:

cmp r0, #0
beq exit
so disable it in mobile. this is an awesome library I've ben using for months now inside of scrollkit.com. Makes it easy for our users to create parallax effects like those on websites all over the web (which often don't work on mobile).

Thanks Alex for putting this out there and saving me a lot of time and work.
Yep; GMail adopting mystery meat navigation was a real step back, and it's still mildly irritating to use quite a while later. Hopefully this trend, if that's what it is, runs its course before it spreads much farther.
I would love to see some sort of service that logs an IRC channel and condenses down the most popular topics, keywords, users, etc.
So where does this space stand at the moment? Off the top of my head, I can think of:

-this (Digg)
-feedly
-feedbin
-theoldreader

There's probably a ton that I am missing
I'm not saying whether it should or shouldn't be released. IMO there is no "there" to this story anyway, as will be revealed when/if these mysterious documents arrive. My critique is of the naked speculation run rampant on HN, and the post hoc rationalizations for believing wholeheartedly claims which are, at best, dubious and in any case unsubstantiated.

The story doesn't even pass the simplest of tests for self-consistency. An NSA contractor claims that the government is listening to all digital communications, but is somehow able to transfer classified files, taken from the NSA, to a journalist in the UK. If we believe the first part, how could the second part happen? If the agency had such a capability, I would assume that a call between low-level NSA employees and journalists (foreign ones especially) would trigger all sorts of alarms.
Last time that I tried being a regular in ##c, regulars over-zealously referred people away (That's GNU C, go away!) and most often responded by using a bot to deliver an automated message. People scolded me for answering questions sincerely. Maybe just a one off experience, but not a big fan.
This is a pretty neat pattern. One nice bonus is that the code invoking the closure has a chance to do work after the closure. This lets you do nice "scoped" behavior automatically. For example, in his Ruby code:

data_source.person(id) do |person|
person.phone_number = phone_number
data_source.update_person person
end

I would take that `update_person` call and have the `person(id)` method do that implicitly:

data_source.person(id) do |person|
person.phone_number = phone_number
end

(I'd likely optimize for the case where the person wasn't actually modified too.) This way, the caller doesn't have to remember to explicitly update the person.

Another way to look at this pattern is as a poor-man's pattern match. For example, using the pattern-matching syntax of my language[1], you could do:

match dataSource person(id)
case person is Person then
person phoneNumber = phoneNumber
dataSource updatePerson(person)
end

Granted, that's more verbose here, but it lets you have other cases if that makes sense for your problem. Magpie has blocks too, so a literal translation would be:

dataSource person(id) as person do
person phoneNumber = phoneNumber
end

For very short blocks, you can use an implicit parameter name similar to Scala:

dataSource person(id) do _ phoneNumber = phoneNumber

The `do` notation is just syntactic sugar for passing a function as the last argument, so you can also do:

dataSource person(id, fn(person) person phoneNumber = phoneNumber)

How did I get derailed talking about Magpie?

[1]: http://magpie-lang.org/
predictability doesn't imply innacuracy
No bastard ever won a war by dying for his country. He won it by making the other poor dumb bastard die for his country.

George S. Patton

oh the nerd bravado.
I don't mean to nitpick, but that's actually a quote from one of the last issues of The Whole Earth Catalog.

http://wikipedia.org/wiki/Whole_Earth_Catalog
> life is suffering

That's horrible. Life is not suffering, life is joy and happiness. Does Buddhism really believe such a terrible thing?
It looks like the code viewing area was narrowed. If the redesign was meant to put more focus on content, this decision is perplexing.

I wish they'd make a responsive design that would make use of my 24" monitor. Right now I've resorted to writing a Chrome plugin to widen the code viewing area via CSS.

http://github.com/sauravc/github_wideload
Not cheap, though. The train from DC to NY can cost twice that of a plane, depending on the specifics.
To be fair, OP admits limited knowledge and possibility of being wrong. Also, he/she makes some relevant points, though the overall "Bitcoin is dead" argument is muddled. Most of the points of this post have been raised countless times on the btc forums in the past.

The primary issue with this post is that the author doesn't give any reason _WHY_ bitcoin will be supplanted by alternatives- In a similar way, I can say "Google stock is worthless because in a hundred years something better will have taken Google's place". No one would consider that to be a cogent argument.

Yes, currently the price of bitcoin shows that there is great pessimism among investors regarding its viability (i.e. a single bitcoin isn't worth $1000 or more right now, which would be the minimum rational value for a successful currency of this type).

This is because it is not lost on the bitcoin community that btc is a crazy idea and can still spectacularly fail for a multitude of reasons. I think any rational bitcoin user would agree that the chance of bitcoin's large-scale success within the next decade is less than 50%- This is why the reward for any investment in bitcoin right now is likely to pay of 10x-100x in the case it DOES succeed. However, if it doesn't succeed I believe it could only be because the concept of a wide-scale cryptocurrency is fundamentally flawed (I have yet to see any such flaw) not because it gets beaten by the competition.

As for the chances of another, similar, cryptocurrency supplanting bitcoin: I am almost 100% sure this won't happen. The reason for this is that bitcoin is the "javascript" of cryptocurrencies: Any deficiency that exists in bitcoin can be added as an extension to bitcoin and hence can't be a meaningful selling point for a competitor. At best, competing cryptocurrencies can fill niche roles within the bitcoin ecosystem. (For instance, a cryptocurrency with faster confirmations will probably eventually be grafted onto bitcoin payment services, but again only to fill a niche role, with bitcoin continuing as the leading currency.)

(The sole exception I think would be if the core bitcoin dev team were to screw up very very badly somehow, then another cryptocurrency might have a fighting chance.)
Clearly you will be compared to Diet Coda and others. Can you speak about your differentiator. I'm always interested in carrying less hardware so what you say is important to me.
While this may be fun, all of the "why" points are better satisfied with a macbook air. As good battery life, if not better with new machines.
To the author:

Kudos, this looks like a nicely executed library. And thank you for providing an unbroken (at least on computer) parallax implementation - I've seen too many homebrew versions that are utterly, utterly broken. This is incredibly frustrating in cases where this is blocking me from content in which I'm actually interested.

To potential users:

<scroll>
<scroll>
<scroll>
Some things slide around.
<scroll>
<scroll>
<scroll>
Tiny bit of content
<scroll>
<scroll>
<scroll>
More things moving with nothing to do with the content
<scroll>
<scroll>
<scroll>
Tiny bit more content
...

What does this remind you of? Here... I'll give you a hint:

Make a wish.
Now scroll!
>
>>
>>>
>>>>

...

>>>>
>>>
>>
>
****** Stop! ******

It's the 20-teens version of those obnoxious ASCII-art e-mail chain letters [1].

Don't do that. It's not pretty. It sucks, and dollars-to-donuts it's hurting your conversion. Don't impede my ability to read the thing that you want me to read. It's not going to impress me, it's going to make me click elsewhere.

Let's please kill this fad and give clever, ambitious people such as this author (sorry, I couldn't find a reference to your real name) something more useful on which to hack.

1: http://cluestick.info/hoax/7_Types.htm
Binary ANSI Art in the Terminal
It seems like the reason for the author recommending the use of blocks/lambdas is to put the null-checking code in the `data_source` library, rather than user code. That is, if `data_source.getPersonById` doesn't find a person for that id, the block/lambda doesn't get executed at all, and there only had to be a null-check/not-found-check in one place. In your first Python example, both `.setPhoneNumber` and `.update_person` would be executed, and both would have to be smart enough to not persist anything from a "null object" (assuming data_source.person(id) returned a valid `Person` object with null fields).
He answers this in the section titled "Why I Created Binary" on the web page.
I guess the biggest change is: Nobody's checking it.

I travel without lining up in front of a police guy, showing my passport. A border is sometimes easy to miss.

Took two girls from the US to the meeting point of DE, NL and BE after Fosdem a couple years back. It's .. boring. Taking a picture there seems .. worthless. Yes, more or less just a step away from each of these countries and still - so what? No one cares, you can cross freely.

And boring is good for these things, in my book.
This is a common problem that UI professionals often refer to as "Mystery Meat Navigation".
http://en.wikipedia.org/wiki/Mystery_meat_navigation

It was pretty common during the 90s when screen resolutions were really low and preserving space was a big deal. We're seeing it again now because of mobile friendly responsive designs dealing with the same issue.
Reframing The Optimism of Dissent
Phantomjs handles everything you mention (status codes on large numbers of resources, ajax, deferred loading monitoring and HAR output) with the possible exception of websockets - I have not tried and very little documentation today but it should work. The big limitation is this is WebKit-only right now.

For example: here's the wiki on network monitoring including HAR: https://github.com/ariya/phantomjs/wiki/Network-Monitoring

The API seems pretty clean to me but I guess that is a matter of opinion.
Naomi Wolf of all people said so three days ago.
I'd settle for a regular train that is able to go at what most Europeans countries would consider a normal speed.
The whole reason this analogy breaks down is that letters are independent symbols while levels in an image represent a continuum. There's no mathematical correspondence among letters to exploit, only an accident of encoding. Apples to oranges.

That said here's a particular rant transformed as a whole signal with the DCT and quantized a bit http://pastebin.com/B5zS8W8f
I'm encouraged that they seem to have embraced that simplicity is key. I don't want a feature-filled RSS client; I want the same, zero-frills, experience that I've been enjoying with Google Reader.
http://i.imgur.com/FqTGSoA.png

You shouldn't have to click on icons to find out what they do. There isn't even alt text.

They should have set with devs in a room and asked them - "What do these mean to you?"

UPDATE: hover seems to work now to figure out what the button does. Not sure if this was just my browser or they literally fixed it in the past hour.
As an American who lived in Italy in the 90s, it was a notable difference to me that people are legally required to carry papers. US law descends from English Law, and as I understand it, the different legal philosophy from continental Europe includes ideas about whether you are a citizen by your own rights as a person or whether those rights are conferred from the state or at least somehow authenticated by the state. (I'm probably getting the language wrong)

Anyway, the distinction is abstract, and probably has few real world implications, but legal requirements to carry identification, or to register your official residence are among them. It is also an issue that comes up when people are confused outside the US why we have issues around voter ID laws.

Though I can't speak to the ease of relacting between EU countries as an EU citizen, I can imagine that the UK could give the impression of being more open just because you don't necessarily have to enter an imposing building with door buzzers to obtain registration which might feel like you are having to ask permission.
If you really want to contribute and fear for your actual account, you can still create a fresh new one and just use this one to add some comments where you feel to.
This is one of the amazing aspects of OSS that so many seem to miss. It opens up the possibility for these types of initiatives that most closed source projects will never receive once the core developers walk away.

Great idea. Hopefully great execution for those still on older versions of Rails.
Binary Expansion of Numbers in Python
I may be wrong, but I put the medians at a similar price. Both systems can go cheaper or more expensive. This is a little frustrating because 1 hour between major metro areas can cost 50-100x the 1 hour subway ride from the Bronx to Coney Island. In part this is because the train sets it's prices based on competition from airplanes.
One word: Hyperloop.
The chute might be why: false sense of security. As a safety measure, it's like an air bag in a car. It can turn some bad situations into ones that are somewhat less bad. But I get the impression that a lot of Cirrus pilots treat it as a get-out-of-jail-free card instead of the last-ditch safety measure that it is.

There's also the danger that comes with any expensive, high-powered, prestigious airplane, namely that people with more money than time will see it as a great place to start flying and will end up exceeding their abilities and experience. For an earlier example of this, see the Bonanza and its reputation as a "doctor killer". Flying is tough, flying high-performance aircraft is tougher, and people with lots of money may try to take shortcuts they really shouldn't.
Thanks?[0]

[0] http://xkcd.com/903/
Keep in mind the solution Google still provides as I have documented* based on common search.

*http://web-wanderings.blogspot.com/search/label/rss
> Instances can't be explicitly imported either.

You can import only instances by saying "import A.B.C.Instances ()" where A.B.C.Instances is the name of the module where the instances are defined.
> No, Rust solved this problem by using non-nullable references.

1. its option types provide a number of combinators which use closures, it wouldn't surprise me at all to see this kind of stuff in rust (might even be more efficient, no need to allocate and return an option)

2. and blocks are heavily pushed for use in Rust, all iteration is closure-based for instance

> The problem is languages like Java and C#

I've no idea where you got that from, TFA merely used java to illustrate the "language without syntactically lightweight functions". COBOL being a turd didn't stop people from investigating objects.
> Inevitable death awaits while we throw ourselves into the business of living.

Everyone eventually dies. This is a meaningless sentence.

> When a loved one dies, that breaks you down, melts the ice block of arrogant I-know-what's-up thinking.

And it does a whole lot more than just that, and the cost is way too high for such a minor lesson.

> That is absolutely a gift to the living

Are you crazy? A gift? A gift is something the recipient wants. No one wants the lesson you are offering (even assuming it's something valuable, which I'm not convinced is even true).
They're contractually obligated to support it for at least a year for me, and after that commercially viable software is commercially viable software.
Been using NewsBlur and I been liking it so far.
This struck a chord. Maybe lesson is the better word, but gift rings true for me in my experience.

I wouldn't call suffering a lesson, it just is; that is the gift, the whole thing.
The analysis also implies that time spent on the airplane has no value. With powerful electronic devices and in-flight internet, this is getting less true. You'll be less productive on an airplane, surely, but the value of that time doesn't have to be zero. That increases the gap yet further.
My demands are quite morphous. As a person who is only of public interest due to leaking information about the NSA, I would perfer he clarify what exactly the NSA does. Good intentions about "public discussion" don't help if the public discussion he provoked is uninformed.
Video: "Father of Video Games" Nolan Bushnell on Learning through Gaming
The signup form isn't working for me in the latest Firefox. I click the submit button and nothing happens...
I have this problem all the time when using various minimal websites on my tablet. I can't mouse over for a tooltip, so if I don't recognize the icons I just have to start randomly clicking and hoping I don't end up being redirected to my mail app or something.

Finding the right balance between casual consumers of github and developers who live in it all day must be challenging, though.

EDIT: I didn't realize that the front page for a given repo shows text in the sidebar. Good on them, I like that compromise.
It should be noted that this implementation is far better than a lot of the more naive implementations out there. Pretty significant reductions in jank, accomplished by some better animation techniques and scroll watching functions.

Still, as most people have realized, performance is extremely varied for parallax or any other scroll-based, animation heavy interactions. Nonetheless, it will almost certainly improve in some way in the future. People are learning new ways of interaction based on scrolling that go beyond "move this static page upward", and as those new interactions mature, space will be made for them.
could you have this pattern compile down to little more than a null check

The answer for C# and Java, which this issue was directed at, is no.

Email me if you want details.
foreach (var myObject in dataSource.getObjectsByID(id))
{
myObject.DoStuff();
}

Twasn't so hard, as long as you don't make your data API return singletons.