skysight-inc/HackerNews huggingface dataset:
>It seems simpler, especially on a conceptual level, to just initialize the the duck with everything it could possibly need to be a duck, rather than adding things dynamically.

It is simpler, on a conceptual level. On an implementation level however, it quickly becomes non-simple.

One of the fundamental modularity concepts is 'separation of concerns' - this isn't something you always need to do, but when a concern (a scoped set of functionality) grows large, it should be implemented separately, to keep the conceptual complexity of individual abstractions and implementations minimal.

If I implement all of the logic for handling conditions, importing data, extracting reports, managing permissions, serialization, and resource handling in the same object, it's a very complicated object. I have no way without getting a full mental model of the thing in my head that changing X about it won't break Y, or what parts of code depend on the structure of the results of calling Z.

There are plenty of ways to skin that cat, and different ones are more appropriate in different places.
Often it's correct to extract the logic into a generalizable mixin, which in Ruby would be a module, and then include it into the class.
Sometimes it's better to extract the logic and the concept it represents into another class that has a relationship with the original one. And sometimes it's better to separate the logic and code into a 'context' as DCI describes - I generally prefer Decorators for this, but the Rails community seems to lean toward using modules here also, largely on the weight of DHH's opinion (app/concerns/).
I think the left has taken this approach in America, and let the right repeatedly pick the worst labels for EVERYTHING from the left's perspective.

It's called framing.
Rule of thumb is on average 15% of the value per year, or roughly 1.2% each month. $300/mo would be depreciation on a car worth $25000, which is in line with the value of a new-ish Honda Accord
Here's an interactive Social Security reformer, it's a year and a half old but the basic math still holds:

http://online.wsj.com/article/SB1000142405270230418640457639...

Anyone who thinks Social Security is in crisis is misinformed. It's easily fixable for the foreseeable future without touching benefits. Remove the cap for high earners but keep the current benefit limits.
Purely pedantic nitpicking, but the title feels poorly worded to me.

"Everything is not equally good": for all x and y in the universe of things, x is not equally good as y - seems nonsensical

"Not everything is equally good": there exists some x and y in the universe of things for which x is not equally good as y - seems to be the actual intent of the post

YMMV. :)
This does look very nice, much better than any variant of Android I've seen though the top of the 'welcome screen' (time/date) looks identical to iOS - same font, sizing, and arrangement.
> it has gotten incrementally a lot better

I keep hearing people say this, I keep trying it again and I keep being disappointed and going back to Xfce.

I mean, every time you press Alt, the menu bar at the top of the screen flashes. That's a horrible, distracting misfeature encountered in the first 30 seconds of using the thing.

Not likely to try desktop Unity a fourth time, no matter how many people say “it's getting better”.

> the biggest potential market for a Linux desktop OS is the population of non-geeks

Are you sure? Not as long as Linux is something you have to install yourself. Do you use Unity? OS X manages to be approachable to everyone without alienating most geeks/developers.
Just an aside: I don't think you can really say "dynamic programming enthusiast" to mean "dynamically-typed language enthusiast", since "dynamic programming" already means something quite different. It threw me a bit, at least.
Is there any other quotation-based system that _doesn't_ require you to understand the implementation? Or any language/runtime/library? SQL is different from one DB to the next, and a lot of C APIs are not implemented identically on all OSes.

As to the names, I'm not sure it's safe to assume that "Map" would result in better usability than "Select", for MS's target audience.
Yes, concurrently, but not necessarily in parallel [1]. Here's an example of what the author meant:

while (True);

Executing this within a request will block all other requests in a single-threaded web server.

[1] http://stackoverflow.com/questions/1897993/difference-betwee...
I find it extremely dubious that you could actually infringe on a patent merely by using a consumer product. Disregarding this particular patent, is that sort of claim actually grounded in fact?
Not really. The difficulty of invalidating the patent isn't the real barrier to standing up to these sorts of legal threats. The real barrier is that whether you win or not, it costs $100,000 or more to be sued in a patent lawsuit.

Here are your choices:

(A) Pay up. The extorting patentholder charges you $80,000.

(B) Hire a lawyer to defend you in court. The lawyer charges you $100,000. You also might lose and have to pay damages.

(C) Defend yourself in court without a specialist patent lawyer. Unless you ARE a specialist patent lawyer, you are guaranteed to lose. Pay triple damages plus lawyer fees -- actually, just pay everything you own and go live on the street.

Which would you choose?
Note that the two examples are only the same if all subroutines are global.

The difference is that (usually) methods are looked up where the classes are defined, but subroutines are looked up where they are called. So visibility is different in the case of method invocation.
Conjecture: For all characters c taken from the set of 'A' through 'Z' (inclusive), there is a notation N_c such that { http://www.google.com/search?q=c+notation } is nonempty.
It is too pedantry, when at the end of the article you're suggesting that anyone is sub-genius for simply not caring about the same things that you might! Especially when a significant proportion of developers are not going to be adversely affected by most of these falsehoods (many of which are just the same assumption worded differently).

"Obviously it's very difficult to design a system that doesn't fall foul of any of these, but we could at least strive for better."

If your goal is to achieve some nebulous goal of being "better", then sure. Otherwise, please tell me exactly why am I wasting my time? There has to be a reason, for instance if I'm building a global system that actually cares about acquiring exact/full/legal names and every name you've ever had.

"It's not quite so important for a social network to deal with this, but a government system"

There you go. You almost hit the nail on the head, but again - if your government system is not concerned with collecting every data-point about the person's name, then why should it care?
I didn't have the energy to respond to your comments in detail earlier so I will do that now.

> You gloss over huge sections of algebra

What do you have in mind?

> give no reason as to why you got rid of the 7 first, the 6 second ... third.

I think it is fine as is + math operator precedence //is// discussed.

> So this is what number meant during the whole middle ages.

You guys were all up on my case with the "number" thing. I took a Phil. of Math class at some point and learned that the pre-Newton notions of a numbers (referred to as "arithmoi" to indicate that they are distinct from the modern notion) was principally about the integers. Rationals were treated as separate objects (ratios) and irrationals like √2 were known only through geometrical arguments. I am sure bankers of Venice knew how to calculate too, but the point remains that Newton did something very special when he started using the word "number" to mean Real numbers: a concept which subsumes ints, floats and transcendental numbers. That being said, you and @mturmon are right that the wording could be better. Will fix / clarify.
How I Read Programming Books
In my language Magpie, function calls can have which ever appearance makes the most sense for the operation:

prefix(arg) // for function-like things
arg postfix // for "getters"
arg infix(otherarg) // for method-like things

It's purely a syntactic distinction. Semantically, methods are always multimethods and are not tied to any receiver class. You can freely define new methods that dispatch on existing classes.

I find it works really well, though it brings in some unanticipated complexity. You'll really want multimethods or some form of argument-based polymorphism. Also, scoping get a bit more confusing if you want "overriding" to work like you expect across modules.

See: http://magpie-lang.org/multimethods.html
Join HN: Develop-Test-Deploy Mobile Apps On Demand
We regularly post old articles. Not everything we post is "news." However, common practice is to put the year in the title if it's not recent.
I'm using the last version of the Ikea Jerker desk. Found it on Craigslist for $70. It doesn't adjust height, but IMO that defeats the purpose of a stand up desk. I really need to blog my experience with it. I can't go back to sitting and I've only been using it for 4 months.

http://pic.twitter.com/CSO3QiqQ

I can't bear to sit in meetings anymore. I end up standing behind my chair or walking around the room.
Mobile development issue is not the language. It's the API.

And how would using C# help me deal with the fragmentation issue ?
My End of 2012 Review
R&D is almost entirely tax deductible from what I remember.
It seems that you right with your last statement:

http://benchmarksgame.alioth.debian.org/u32/benchmark.php?te...

based on the "Computer Language Benchmarks Game".
"but you're still not applying this mixin to a poco"

Clarify?
That'd be great. My proposed fix: substantial use. You can only file a patent lawsuit if you are actually using, in some non-trivial way, the technology described in the patent as part of a shipping product or service.
Edition Press Preview: Sharing and linking individual magazine pages
But then we need to do something special for leap seconds. Despite what lots of people think, Unix time is not the number of seconds since 1st Jan 1970, since it doesn't include the 30ish leap seconds that have been added since then.
"automatically" is bullshit - the Congress is (was) capable of stopping it at any moment if they only wanted to do so. Inaction is a decision as well as action, otherwise setting off a bomb would be an unintentional act - I just pressed a button and failed to cancel it until it exploded, but since it exploded "automatically" it is unintentional. Nobody in right mind would buy this, but you're buying the "automatically" thing for some reason.

It just makes it easier to fool people - they fooled you, for example - into thinking they had no choice because it's somehow "automatic". They had all choice in the world, and "automatic" means nothing but saying "this would happen unless we create a law to do otherwise" - which is true for 100% of laws created by Congress, they all happen unless Congress creates another law that says the contrary. They are all "automatic" and all intentional.
I can't stress enough how I think being able to do SQL queries is a must have for cellpones.

Because we all know all the top-selling iPhone / Android apps do ship with an embedded SQL DB right!?
Nice!
Small glitch: shows the visualization twice if enter is pressed twice quick enough.
An Audible Data Privacy Breach
Borrow money instantly
If you're interested in creating a PDF from Markdown, I would suggest that you look at Pandoc (used by wbb). It generates LaTeX from the Markdown and generates a PDF from the LaTeX. I've yet to play with it to see if LaTeX metacommands can be placed in the Markdown.
#ubuntu may be trending but Android ecosystem is still broken
Ubuntu is running on Android & for hackers this is great. But the ecosystem is still fundamentally flawed.
Would that make these literal shell companies?
Whoa, I'm not attacking anything. I like C# a lot, but I think I'm realistic about it -- it's nobody's perfect language, except in the case of "what's a widely-adopted, multi-paradigm language that I can do typical OO stuff in, but also all that cool dynamic and FP stuff they talk about on hackernews all the time? Also, my coworkers need to be able to understand it?" That's why at the end of my reply I say I think it's one of the best "workhorse" languages.

Anyway, I'm sure others will point this out, but var is NOT dynamic typing. It's type inference, which you seem to know, judging by the last sentence in that paragraph. Dynamic typing doesn't just mean that no type is declared -- it means that no type is inferred (by the compiler).
I'm currently in my 2nd year, and from what I gather most of the people aren't enjoying it so far. The first year was mostly pure math (Mathematical Analysis I & II, Linear Algebra I & II, Discrete Math, Intro to Probability) + a few comp sci courses (Scheme, Java and a very abstract Data Structures course).

I came to computer science from a software engineering perspective and less from a theoretical one, so that is probably why I'm not having a ball ;-) Hopefully in the 3rd year, once I get to pick electives I will enjoy it much more.
You can take stuff and eat it for free from a supermarket. It's called shoplifting and people do it all the time. Food should be free, by the way; you seem to think that it shouldn't be and that it's right that people are forced to work for some capitalist because if they don't they can't get money for food.

Your second statement doesn't make any sense. As a user, I consider "ease of getting stuff for free" a feature of a platform. All other things being equal, it's better to get something for free than to pay for it. The difficulty of pirating stuff for consoles is an anti-feature. Your argument is that if X is a feature then consoles would necessarily have it; consoles don't have it; therefore X is not a feature. There is no reason to assume that consoles would necessarily have every possible feature.
San Francisco - Thumbtack - Software Engineer

Thumbtack is Amazon for services. A quarter of a million businesses have listed on Thumbtack, and we connect those businesses with new customers everyday. Unlike many startups, we're well on our way to being profitable.

Our small team is dedicated to excellent engineering and design. We eat meals together everyday cooked by an in-house chef. We work in a beautiful old warehouse in SOMA.

http://www.thumbtack.com/engineering and http://www.thumbtack.com/jobs

Email chris at thumbtack with questions.
if you're writing tests, you should aim for corner cases. for date-based applications that would include the first and last days in the year, leap years, etc.

programming can be a bit less hard if you learn to do it right.
Why do I need to know why laughter improves my health?

Because otherwise someone else on HN will say: "citation needed!"
If you're doing that it's crap code; you should have defined a few named object types. Maybe your "Dictionary<string, object>" is e.g. actually a "PropertyMap". this is not a problem in the c# language.

See also: "primitive obsession" http://c2.com/cgi/wiki?PrimitiveObsession http://sourcemaking.com/refactoring/primitive-obsession
There is not a 1:1 correspondence between Unix time and UTC. For example, what's the Unix time for 23:59:60 30th June 2012?
For reference, here is the 2013 US federal budget [1]. Make sure to sort the spending table by the Total column.

[1] http://en.wikipedia.org/wiki/2013_United_States_federal_budg...
That makes sense. Amusing how it fits so well into the 80/20 rule, too.

One might need those 8,000 additional hours to level-up into the next Tennessee Williams but - as emphasized in 4-Hour Chef and elsewhere - just 2,000 hours puts your far beyond 95% of the world.
Do you have any facts to back this up? The one patent examiner I know is very smart. But he's also part of a rigid system with very clear criteria.

If there's a problem, I suspect it's a systemic problem.
Poor John but lucky us!

The last thing I find is people thinking SQL can solve all the world's problems to "create" new things : )
Stick with dot com by prepending or appending words or letters. For example eYoursite.com or getyourApp.com etc..

If you plan to go with a .net or .org, in most cases you will have to include the tld's with your logos, but not with dot.com unless generic.

Also, I don't recommend domains like .io and .ly unless your site is targeted towards devs/techi people. A while ago there was a site: foundat.io/n . That is extreme domain hacking.
Quick question: wouldn't 1?1:var always return 1?
This looks like a product that I could use. I tried installing it - and found it easy enough to install Kindlegen. When I got to the 'npm install' part, I discovered that I had to install Node.js (at least I assume I did). I then tried running it and found that Grunt was not installed. Maybe update the installation instructions.
Researchers used noninvasive tDCS to release endogenous opioids
It's not a flaw. Arguably it's worse than having a generic mechanism, but it's certainly not worse than having to use explicit callbacks, as in essentially all other popular languages (and previous versions of C#).
Of course the bill is the cause. If they didn't want the tax to raise in 2013, they'd make it permanent in 2010 or extended the current levels in 2012. They did not, which means they fully intended for it to happen exactly like it happened. E.g., have taxes for 77% of households be higher in 2013 then they were in 2012.
> I find LINQ to have been a horrendous misstep ... grows it becomes a terrible cancer -- everything becomes an amorphous blob of stuff, unintuitive, performance-disaster LINQ filters

I couldn't agree less. Any language construct can be abused, but LINQ is not particularly susceptible to abuse, unless you try very hard.
Name information has been optional for PayFlow since the olden days (Signio I think), so there isn't much of a curve to be ahead.

Pg 27: https://cms.paypal.com/cms_content/CA/en_US/files/developer/...
I don't know what your requirements for the handling of images and layout are, but LaTeX does a pretty good job with the type-setting.

If you don't do anything to complicated in your HTML or Markdown, it might be worth trying to generate a LaTeX file and generating the PDF from that.
This is probably what Android should have been. I'm not a big fan of the Dalvik virtual machine layer on Android. It does drain device resources, especially RAM. I also think this type of architecture would have allowed convergence with Chrome OS more easily and cleanly.

I wonder if there is space left in the market for another open source OS though. Most people seem to think Android is open enough.

What gives me hope this could succeed is that the Ubuntu desktop is currently the desktop OS that is most user friendly and has the best user experience (IMO). Bringing Ubuntu's design team's superior skills to the mobile platform might give them the edge they need to become relevant in that space. I love my Ubuntu desktop. I really hope this takes off.
Drive yourself taxi is pretty accurate. In Vancouver it's closer in cost to a bus ride for a couple people going a few km.
I've tried paperless. I hated it. Having printouts that you can write on and highlight and put tags on can make work so much easier in a lot of cases.
No. I have developed (free) software in the past, and I've contributed to larger projects as well, but I don't have as much time for programming anymore. I "make" a living through a combination of squatting, dumpster diving and occasionally theft (only from bad people though).
Exactly, thank you very much.
Battle for number 3 place is on. And ubuntu does not look like an underdog here.
> I don't see how we can ever fix the debt if no one is willing to pay more taxes and no one is willing to lose benefits.

I dunno.. maybe stop bombing every country on the planet that hates us for our freedom..? Just a thought..
> even seemingly innocent notation like {0, 1, 2, 3, ...}

I think that would be OK. There is a fine line between having to define everything and just using the math and letting the reader pick up on their own.

> set membership, as in if x,y ∈ N, then (x+y) ∈ N.

Yeah that was non-sense. It definitely didn't belong so early on in the book. Several people emailed me about this and it has been fixed in print/pdf versions now.

More on set notation: http://cnd.mcgill.ca/~ivan/miniref/set_notation.pdf
I'm no ruby wizard but there are things like wordpress built on top of rails. monologue, enki, jekyll, etc so you give a false dichotomy
It's related to the right-associativity of the assignment operator and its expected semantics. If you write

a = b = c

then it is interpreted as

a = (b = c)

When c = 5 then you expect that

a = b = 5 # which is equivalent to a = (b = 5)

results in a and b set to 5. That's why = must return its right-hand side.
Sounds like Thompson or whoever they are called this week.
> The popular association of mob violence == anarchy is just that, an ungrounded popular interpretation.

You're talking to someone who has studied the issue in depth. I'm not just going from an uneducated assumption.

I honestly think that a "market for force" would quickly result in something akin to feudalism at best.

Can you explain the mechanism whereby different groups weilding force would just agree to disagree and co-exist?

What would happen in practice would be that some groups are defeated, and the others pledge fealty in a kind of feudalistic system which just ends in a dictatorship.

Of course, it would be likely that some particular group (which might even win) would represent some specific ideology, and just turn back into a regular government (such as a constitutional republic).

I'd definitely be supporting the "competing government" in favor of establishing a constitutional republic.
This again..?
I could see that helping. It seems like transcription will prove a serious pain, though.

More importantly, Linux on an old laptop could still support Dropbox. I would have lost a lot of work to a dead hard drive just last week if not for that. It only takes one leak or one energetic puppy to destroy a paper manuscript.
Quite true. Leap seconds cause an epoch repeat. Most minutes have 60 seconds (0-59), but leap seconds make a 61st second in a minute (0-60).
This seems like shifting goal posts. First we're talking about Facebook and half the internet, now we're talking about context-specific technical solutions (and I don't concede that WP is the unilaterally superior blogging option either.)

Moreover, I'm not sure where your disagreement with OP is, since you're simply saying now that for a given set of criteria, a superior choice exists. Which was the message in the first place.
I actually bought a Nokia N900 running Maemo. It sucked. Getting a desktop GNOME/Linux stack to work right on phones is a huge amount of work — maybe almost as much as writing Android from scratch (it's hard to tell due to the budget disparity).
Your page is difficult to read at lunch on my iOS device because you have those floating social doodads on one side. They obscure your content and I don't want to fight it.

This may affect your response rates. Just saying.
The most important thing (imo) is to start ONLY with something that actually scratches an itch you have. If it doesn't match that, toss it. If it does, then the question about the amount of time to spend will resolve itself.
I'm likely going to hire someone to scan/OCR and fix up my pages. It'll likely only cost me a few grand for a whole novel -- a drop in the bucket compared to good editors and all that. But that's assuming I actually manage to write in the first place, which is a pretty big leap!
"Just a reminder"...sure. It's funny how "just a reminder" always sounding patronizing, particularly when there's no good solution that covers every base.

Not only is the tone super pedantic, but the author berates people for creating simple databases based on their simple assumptions.

Fuck that. Not very agile. It's not like we can't update it if there's a large demand for change in the way names are collected.