skysight-inc/HackerNews huggingface dataset:
"If NASA's Remote Agent[1] had been implemented in Haskell, OCaml or ML, do you think debugging DS1 would have been as simple as connecting to a REPL and changing some definitions in a living core?"

Erlang in particular is known for rock-solid support for this, and Armstrong never advocated for pure functional languages.

"Sure, you can use a simple array to build a b-tree, but don't you want to explicitly state that variable x is a b-tree if that's the case?"

You can do this in Erlang with atoms.
I find this interesting. I mean, personally, I agree that the word 'we' quite often makes it sound like the speaker is (to me, offensively) including people they oughtn't in the group they are speaking of. Especially when talking about my company, I feel like I'm weaselling when I say 'we' - like saying "Mistakes were made" (I mean, sometimes I say that, but when I do, I'm saying it, you know, for effect. Making fun of the idea of trying to dodge responsibility for a mistake. I mean, after Reagan said it in all seriousness, I don't think the phrase could be used non-ironically.)

But, I often find that people that are better 'team players' than I am? they prefer the 'we' - one of the people I work with gets irritated when I try to break 'we' down into him or me.

"We're in it together!" is what he says. All our company activities are supported by both of us. And, while that's not completely true, it's mostly true of most things. His 'we' I think, is just as valid as my 'there is only you and me' - it's just a different way of looking at cooperation.

He just has a much more communal way of thinking, while I (I say in part because I have more experience with communal decision making, but I don't know how true that is) prefer to think in a more structured hierarchical way, where a person has responsibility for a task and they delegate off parts of that task.
I see a bunch of caveats here.

The basic issue is that OOP is easily hyped and far too easily taken too far. My favorite OOP environments are decidedly un-OOP in specific ways (Moose, for example, has very transparent data structures, which is really useful).

The first big criticism I have is with the idea that "state is the root of all evil." I think the truth is more nuanced than that. State is, in many cases, extremely necessary to track. The problem is that state errors create bugs that are very difficult to track down (you can eventually figure the state out, but how did it get corrupted)? A better approach I think is for state to be approached declaratively and with constraints. This is why things like foreign keys, check constraints, etc. in the RDBMS world are so nice. In fact good db design usually has a lot to do with eliminating possible state errors. Wouldn't it be great if OOP environments gave that possibility! Well, Moose does to a large extent (another thing I really like about it).

A lot of it comes down to the really hard question of "what should be abstracted?" The correct answer is a question, "what makes your API most usable?"

This is why I think it's important to be able to move in and out of the OOP worlds, and why OOP taken too far runs into the problems the author mentions, but that it also doesn't have to.
> search quality is adequate to quite bad. Example: "amazing spiderman rotten" (I was looking for the rotten tomatoes page for that movie that just came out, entered a typo) gave the right page for google, while the right page is not amongst the 20 top results in ddg.

I tried this in DDG. The Amazing Spider-Man (2012) for Rotten Tomatoes appears in the zero-click info box. I wonder if that was done in response to your comment, or if it's been like that all along. From using Google, it took me a long time to get used to the info box, as I'd somehow mentally ignore it even though it was always starting me right in the face.
The title is misleading: I understand by princess it means a girl that comes from a wealthy (and corrupt) family, but using it on the title to drive confusion was unnecessary.

To clear any doubt, the article references to a congresswoman that said "fuck them" after tax raises and welfare cuts were announced, and not the princess of the royal family. She alleged she was referring to the opposition party, but it's also possible she was directing it to the working class.

Now, being this alarming, I found this more interesting : raises on IRPF[1]. Wow, that's really a good way to increase business, occupation and entrepreneurship (outside the stinking startup incubators).

We, freelancers and bootstrappers, are more screwed. It costs a fortune to be a sole trader.

Meanwhile, tax amnesty for some foreign companies that move their headquarters here.. yay

[1]: http://en.wikipedia.org/wiki/Income_tax_in_Spain
How to Check if Your Yahoo, Gmail or AOL Passwords Were Leaked
X2 Balance and Power: My Review
OFFTOPIC - Man I can't believe how often I am coming across "sexist in IT" stuff now. I read your second link and I thought to myself it all makes sense. Demanding that compsci have more women is like demanding [insert women dominated field here] have more men, even though most men just aren't interested in the stuff. Why bother? Why not just let people work on what they want to work on?

Is this making me a sexist misogynistic jerk? I am not trolling, I am honestly curious. Explain to me why I am wrong. I will reflect and make up my mind and be intense and stuff.
Last time I checked the purpose of a business was to make money, when I see an easy way to do things I take it.

It's the smart thing to do. I have a feeling that if Instagram pivoted towards curing cancer that investors would go ape shit.

Likewise if someone put a billion dollars on the table and told me I could have it either by writing a photosharing iphone app or curing cancer, I'd sure as hell sign up for option a and not option b.
That's a very good question!

Although SRP may not be timeless, or even seminal (though I doubt this last statement), I found this paper to be beautifully written. Its concepts are very very clear. Above all, the paper seems to be so alive and enjoyable.

For these reasons, besides the practicality of SRP, I suspect that this paper may well turn out to be a classic.
How is Python's documentation any different? Do you think it's too verbose? Having used both, I'm not sure I see much of a difference aside from Python tending to document an entire module in a single page.
What about the benefits of abstraction? I'm not going to introduce hyperbole on how I think this article is overstated, and instead I'm going to ask HN members who have more experience with functional programming how they leverage concepts similar to abstraction with Haskell, clojure, or erlang, etc?
What’s wrong with that if you know beforehand?

Not everything will be on Kickstarter. This is not a systematic push to move responsibility to the customers. It’s just a fun distraction.
Seems pretty standard for a commercializer. The goal is to take some existing research funded by someone else (out of a university usually, though sometimes a corporate lab or government lab) and turn it into a product with the minimum additional modifications.
Tips From The Drill Master|How to Power Drill
I probably would have stayed with Digg if they had implemented one feature: "ignore all by X". I wish I could have, for example, hidden all posts by MrBabyMan as easily as I hide all Farmville updates on Facebook.

Instead, they kept tweaking their design and algorithms until I got annoyed and left.
What I'm saying is that in Lisp it feels like a natural part of the language. There's not a big leap from:

(defun add-two (x) (+ 2 x))

to:

(defmacro add-two (x) `(+ 2 ,x))

(And much more complex macros are still readable if you know the rest of the language.)

Whereas in Scala the macro facility looks different enough from vanilla code to have to be learned separately.
But why the hell should that be the case? Look at iFixit’s teardown. It didn’t look at all like the battery was firmly glued in.
ouch now the theme goes to 5th world war (3rd world war = cold war 1945-1990, 4th world war = unilateral war 1990-2010, 5th world war = cyberwar and arab spring)

We had at least two housebreakings, where nothing was stolen! Instead someone tried to deploy a trojan by rebooting systems from USB the first time, but reboots had been noticed by Nagios, and failed totally 2nd time, because desktop systems had been migrated to use truecrypt and server systems had been locked behind a stable metal door.

I don't think that this was related to WW5 (stuxnet/flame), but normal industrial espionage. But industrial plants are extremely vulnerable to cyberwar, because they don't have internet, and are therefore badly maintained, and often never updated after installation.

My preferred remote maintenance is to use a cell phone USB stick, that is normally locked in a safe at the customer, and only plugged in on demand after a phone call. Our system will use this stick, if its the right one, to create an internet connection and OpenVPN.
I cannot fucking wait for this.
Even in Lisp it's kind of interesting that s-expressions alone don't give you a convenient enough notation for macros. You really need backquote-comma-splice as well. I'd like to know more about when and how macros became popular in Lisps. I suspect it's closely related to this notation.

Backquote-comma-splice is so useful for building symbolic trees that it's an example of what Whitehead famously celebrated:

http://introtologic.info/AboutLogicsite/whitehead%20Good%20N...

Off topic, but if you read that piece it's interesting how much of what he says applies also to programming, yet how controversial it remains in the realm of programming languages.
I expect this to be a busy thread.

I think the point about state has some traction. For example, Chaper 15 of Effective Java (awesome book on Java, btw) is entitled "Minimize Mutability," so I think this idea is one that has caught on even in fairly traditional OO languages.

As for the other points... I do think sometimes that using OO to model real world objects may not always be wise, esp. if the result is a deep hierarchy, as in the OO 101 example of, say, Boston Terrier < Dog < Mammal < Animal < Thing... And then someone changes Dog and gives your Boston a tail... I dunno. I have only vague intuitions here, but perhaps the "objects as models of reality" might be perfectly suited for reality simulators of some sort that require stateful elements a la Sim City but not generally. Or, perhaps a better example: You could model a chess game as classes of Pieces on a Board, with methods like King.isInCheck(), or Queen.canMoveTo(Square) but this to me seems clumsier than simply having an 8x8 array of enums with the logic living in functions and not inside individual pieces.
Sources Say Facebook to Launch Job Postings Board
HN. I've heard of every tool you mention on HN.

I've heard of others at the Atlanta Meetup for iOS Devs and at conferences.

Btw, you didn't mention PaintCode or App.net, I suggest you look at both of them, as well as cocoa-pods, and KIF (by Square)
Languages that are "OO" and languages that are not (in this case functions and data structures) are semantically equivalent.

Q.E.D.
Nice contrast of "because the passwords were stored unencrypted, the long list of usernames and passwords were posted in text for all to see" and "at Yahoo! we take security very seriously and invest heavily in protective measures to ensure the security of our users and their data across all our products".

These companies, with huge resources, are always telling us how seriously they take our security and privacy after they fail to take the most basic measures. I call that criminal negligence and lies.
>Your biggest friend is your competition.

I dont get this. For example how can Google gain anything by maintaining a really good relationship with Bing.(which in fact they dont!)

Conversely,it seems like you can build traction by picking fights with your competition.Ex Tesla vs Edison, Google vs Bing, Apple vs Microsoft.
I usually do a search on Quora,Stackoverflow/Stackexchange, and Hacker News when I'm looking for a service.
"if we told you, it would be unsecured!" doesn't sound like AES... It sounds like they're using _entirely_ security through obscurity.
While this is slightly off topic, using "we" instead of "I" when representing your company is a very important concept that goes beyond being a team player. The use of we vs I is a liability issue, and knowing when to use which is critical to not getting sued (e.g. - "I believe that the design is adequate" vs "We believe that the design is adequate" or "I would never hire a redhead" vs "We would never hire a redhead").

Internally, I agree with you that one should always take full credit for their work, good or bad (at least verbally...). Externally, one should always remember what context your statement may be taken in, especially the context of a courtroom.
Bildungsurlaub: Germany’s Unusual Training Vacations
> This gives me an all-new appreciation for Lisp.

I'm a Lisper who's also programmed in Scala. (And for the record, I'm not a Lisp purist - in fact, there are a number of things I really like about Scala).

But I'm not sure how I feel about this change. Scala can already implement things like DSLs through creative use of type inference, etc.

> It's nice to use standard list operations in a macro instead of needing to learn AST magic.

The power of Lisp's macros come from it's homoiconicity, which is something I could never have appreciated before learning Lisp - in fact, I didn't even understand its significance until I wrote an implementation of a Lisp compiler for the first time. (For the record, it was a better learning experience than it was a compiler, but that was the whole point).

The best explanation I've seen of homoiconic macros is one written by a well-known Perl programmer. http://lists.warhead.org.uk/pipermail/iwe/2005-July/000130.h...
(In a way, it makes sense that a Perl programmer would be the best at explaining what homoiconicity is, given that its extreme heteroiconicity is the underlying cause of many of the common criticisms of Perl to begin with).

That email is mostly accurate, and it includes this gem:

> Source code generation is unreliable and inadvisable in every language except Lisp.

This is where macros really shine. Macros allow you to generate source code reliably - or put another way, they let you refactor your code far more than you ever thought possible. (When you realize how easy it is to write Lisp programs that recursively define other valid Lisp programs, it's not hard to see why it's such a favorite of the AI community![1])

But here's the catch - for the kind of reliability that MJD talks about, you need to have the internal representation of the language be a fundamental data structure in the language, not just the textual representation.

Why's that? It's simple:

> It's nice to use standard list operations in a macro instead of needing to learn AST magic.

In Lisp, the internal representation is a list. The AST is a list. There's no 'instead of' here... macros are simply AST magic made simple....!

[1] http://en.wikipedia.org/wiki/Technological_singularity
Yes, a Lisp-like language could use a giant conditional for a generic "length" function. But that's not how the source code usually looks, and there are Lisp compilers which optimize it so it's not done as a conditional.

In CLOS, it will look as a separate DEFMETHOD for each type you want to define the function on, and these can be in separate modules. DEFMETHOD will just extend the generic function. And the function itself can be optimized to use the normal tricks -- things kind of like vtables -- to optimize performance.

The S3 example is a bit facile since (1) S3 objects are like mud, they're all the same and (2) they map cleanly to the OO paradigm since they encapsulate discrete chunks of external state. At the other end we can throw around examples like BLAS and LAPACK, whose functions are much closer to the "functional ideal" (ignoring mutability, here). For example, if I want to solve a linear equation, how do I express that as a single dispatch method? Does it go on the matrix, or on the vector? Or do I have to create a new object from the two called LinearSystem, just so I can invoke a single method?

We think about things in terms of coupled data, as pure functions, and as dirty generic functions (like the Lisp example). The only real lesson is that people get pissed off at languages that force them to shoehorn everything into one category (like Java).
Well how would you explain moral rights then? They're certainly nothing to do with copying.

Your original point (http://news.ycombinator.com/item?id=4242918) is certainly wrong - Zed can revoke the licence at any time, and you have to stop using the software.
Some of you may be familiar with Hackernews.
Show HN: How to play lottery for FREE
This is pretty cool, let's hope it doesn't push the currency higher.
This TED talk is relevant and very interesting/disheartening: "Jeremy Jackson: How we wrecked the ocean", http://www.ted.com/talks/jeremy_jackson.html

It was enough to make me stop eating fish.
If you can create a hit travel site, the pennies don't matter.
How to completely, utterly destroy an employee’s work life
Can you explain what rule this is? I'm highly curious as to what rule can solve all derivatives, and it might be useful for me.
I would love to see a framework developed - like Lean/Agile Startups - that specifically deal with a scientific process for startups across all/most verticals.

Just like I can use the principles of Agile Software Development to build my product, I would love something similar for marketing.

I know there are many theories - AARRR from Dave McClure is one that jumps to mind, along with the long-tail of SEO landing pages like BCC & Patio11....but there isn't a coherent, or rather I don't know of one, framework that pulls it altogether.

Anyone care to take a stab at this?

I am sure many founders would find this immensely useful.
Working From Home? Beware a Career Hit
You know I think this misses something.

OO vs. FP is just a matter of whether you focus the nouns or the verbs.

I am working on gigantic OO system right now. And the OP is correct. OO sucks. OO is about minding together a bunch of crap and getting it to slightly, only slightly less crappy. But it can do that and for that I am grateful.

FP is about constructing something that is completely elegant from the start. If you can do that, it's great and you will be doing far, far better than OO. Not comparable.

The problem is that so far few have been to construct elegant, uh, cathedrals. And when you've already got a huge, sinking mess, you can't use FP to fix it. Not comparable again.

Neither is better or worse. But they're wildly different. Now, if someone figure out how to not write messes, FP is simply a win. Of course it happens that I wrote my mess from the ground up so I'm pessimistic about the mess-avoiding thing. But hey, it might work.

But I think it is important to say that the two philosophies aren't comparable.
Dicts are objects.
Meh. Added spam to shared links. Buggy app that got worse and more bloated with every update. Finally stopped using the beta when they started crippling features like plain text selection. Now I suppose they'll sell my data to FB. Many of the worst aspects of the startup bubble reflected in one short-lived company.
Because they want to promote discussion and exchange opinions, and maybe advice others against something that they think is a bad idea. To just silently avoid stuff is a very stifling and unproductive way to handle things.

They do not badmouth OOP. It is not a human being with reputation and feelings. They criticize its usage.
From my own experience, without Internet, I will probably end up playing offline game and watching movies. So game dev and cd/dvd rental services are way to go.
I doubt that the Democratic political culture would be considered conservative anywhere in Western Europe: they do the normal leftist thing of trying to build power through coalitions of victim groups, trying to raise taxes on the rich, and so forth.

I can assure you that in the UK, replacing the NHS with an EU-wide health care system would not be seen as conservative, whether you see it as "pro business" or not.

What policies of the Democratic party do you think would be considered conservative?
Siri: Which is the best smart phone ever?
eh. most people don't correctly fill out their taxes.

Did you pay your use taxes? (actually, I believe that has been simplified, in california, allowing you to pay a flat fee now.)

If you ordered anything from amazon tax free, well, you should have filed your use taxes. I know one person, besides me, that does, and I pay someone else to do it.

There are all sorts of other little gotchas, even if you are an employee on a 1040EZ.

Also, this complexity leads to incredible risk; I mean, I generally don't mind paying taxes. (I mean, I'd like to pay less, but eh, I've shopped around, and the rates here are pretty okay for what I need and what I get.) but I fear nothing like I fear the tax man. With almost any other tax mistake? the worst that can happen is corporate and personal bankruptcy.

Now, screw up your taxes? yeah, you aren't particularly likely to go to jail, I mean, assuming you weren't trying to commit fraud, but it is pretty easy to end up with a whole lot of debt that you can't run out on.

Because of this, I outsource nearly all my accounting and bookkeeping. and yeah, it costs money, but as far as I can tell? it's the only insurance I can buy against one of the very few (likely) events that can put me in debt for life.

(Now, obviously, this is only scary because I have a low-margin business with revenue that is substantial compared to my personal earning power; if the IRS reclassified some of my revenue as income? it wouldn't take very much to put me in the red. If you are on a 1040ez and you miss your use tax and get audited? eh, it's not a bankruptcy event.)
Dynamic linking seems to be a rather straightforward technical argument. I'm not sure what to tell you if you can't or won't parse it.
Headlines were bait before there were hyperlinks. Nothing new there—you're just seeing the process for the first time. Also, this doesn't take away from the substance of a very well-reported article.