skysight-inc/HackerNews huggingface dataset:
What you say has strong kernels of truth. The problem I have is the unstated conclusion, "therefore users must suffer". There are many mitigating approaches that DON'T require making the users' life hell.

Before I begin, please understand I am not directing my criticism at you personally but rather the policies that you are defending.

To your points:
1. Large scale environments with heterogeneity have approaches available like desktop virtualization or app containerization that ensure apps can be packaged in a self-contained way so that there's less need for full-OS control.

Secondly, your remote wipe scenario makes no sense. If the device is stolen, you WANT your personal stuff wiped too! The root issue is highlighted by your re-imaging scenario: lack of regular, automated network backups. But that has very little to do with ownership amd control, and everything to do with the backup service quality and user training.

2. You're absolutely right about compatibility, but you'll notice the dodge to the original point. "Security" was defined as the reason for the use of a certain browser, not "Stadardization". Which we both know is horseshit - IE 6 has been long deprecated , unsupported, and a massive security hole, for example, to the point that its just budgetary negligence to keep insisting on that version. But again we get to "why hate IT" - its not standardization in reason, it's lying to your customers to cover up poor service.

4. I've run ops for multi tens-of-thousands of desktop environments and I have rarely seen that level of sign off required for non-standard applications except in highly secured (classified) contexts. It's draconian and unnecessary. Also note the misdirection: draconian approvals have little to do with "this requires documentation", it has to do with "preventing change". Of course exceptions require documentation, and at least line managerial approval, but requiring senior approval is a big red neon sign that the stated policy of the organization is "fuck change", rather than "embrace change and manage risk".

Finally, to your point:

"The specific program is not the issue. IT in the enterprise is all about centralized/standardized management and configuration. Every deviation from the standard is gonna increase the burden of maintenance."

I agree with the first part. The latter part is where I say "that's the cost of doing business". The problem we have with much of old IT today is an operations-penny-pinching "change is bad and our processes are designed to prevent it" mentality rather than a balance between delivering new value and keeping it running, where "change is the norm and our processes are designed to manage it".

Look man, I get where you're coming from, but after dealing with senior business execs for a long while, I feel IT-as-is is untenable. without a rethink, the abject hatred that many business people have towards IT will grow and rogue systems will flourish. Its like the PC days of 1983 agajn. The price to be paid by technology professionals for this acrimony will be large, similar to what mainframe professionals went through.
The point is that some people that come out may face immediate discrimination and possibly physical violence. Not everyone is tolerant of someone being gay and some of those people will take actions to fuck you over if you come out. Because of this, some people do not want to reveal that information and they have a right to do so.
So taxes are voluntary? Awesome.
Paper tablet reveals future tablets to be thin and flexible as paper.
Imperative programs read like English. Functional ones read like Apache.

The Main difference is, a functional programs mainly talks about what things are, not what they do. For instance:

// C(++)
int square(int n)
{
return n * n;
}

-- Haskell
square :: Int -> Int
square n = n * n

The C code reads like a procedure to follow: "return n times n to whoever called you" (I'm anthropomorphising square(), here). The Haskell code reads like a description: "the square of n is n times n".

That was the first major difficulty. Now the second one: functional code is often like reversed imperative code:

// C(++)
int compute(int n)
{
int x = foo(n);
int y = bar(x);
int z = baz(y);
return z;
}

-- Haskell
compute :: Int -> Int
compute n = baz (bar (foo n))

-- alternate definition
compute n = baz . bar . foo $ n
where g . f = \x -> g (f x) -- function composition
f $ x = f x -- function application

So, in the Haskell code, you see that the data flows from right to left, instead of top to bottom. Like Unix pipes, only reversed.

The final difficulty is getting used to the fact that functions are passed around directly. In C++, Java, or Python, we often pass around objects, who may or may not hold the same methods than the others that where passed around in the same way (that's polymorphism). Subtype polymorphism is neat, but most often, you need it because you want one method to change depending on various factors. A simpler way to do this is pass around the function directly.

That leads to some powerful, though uncommon in the imperative world, idioms. For instance, you can write your own customized loops. Imagine for instance that you want to process lists in Haskell:

-- A List is either
data List a = Empty -- an empty node,
| Cons a (List a) -- or a cons cell,
-- with an element and a list.

Now let's process the list

inc-all :: List Int -> List Int
inc-all Empty = Empty
inc-all (Cons e l) = Cons (foo e + 1) (inc-all l)

dbl-all :: List Int -> List Int
dbl-all Empty = Empty
dbl-all (Cons e l) = Cons (foo e * e) (inc-all l)

See how much they have in common? There's a way to factor out that, with a map:

map (a -> b) -> List a -> list b
map f Empty = Empty
map f (Cons e l) = Cons (f e) (map f l)

Note that the first argument is a function, hence the (a -> b) between parentheses. Using it is very simple:

inc-all l = map (λe -> e + 1) l
dbl-all l = map (λe -> e * e) l

And Haskell can make it even more concise, with what we call partial application. Haskell functions actually have only one argument. Multiple arguments are simulated by having the function return another function. Here:

add :: Int -> (Int -> Int)
add x = λy -> (x + y)

Which is the same as:

add :: Int -> Int -> Int
add x y = x + y

Or even

add :: Int -> Int -> Int
add = λx -> (λy -> (x + y))

So, inc-all and dbl-all above can be written as:

inc-all = map (λe -> e + 1)
dbl-all = map (λe -> e * e)

Without those fundamentals, one doesn't stand a chance at understanding real world functional code. It's just too different. It's no harder, though. The main difficulty here is to change your mindset.

Now I haven't talked about macros…
From the home page of the late Michael John Muuss : "Unlike every other document on the Web, this page is in final form and completely finished. grin"
Founder of GoCardless here.

GoCardless makes it really simple to set up Direct Debits (ACH in the US). Direct Debit is a really cheap & simple way of accepting recurring payments - for stuff like subscriptions & regular invoices.

For example, something like 75% of the UK pay their gas, phone & electricity bills by Direct Debit. GoCardless is making that infrastructure available to smaller businesses, optimised for the internet. This used to be surprisingly difficult.

We're certainly not going head-to-head with credit cards, and the system is not suitable for some e-commerce because of the slow payment timings (payments take 2 days to clear). But it's great for regular payments (Hosting, SaaS etc) - long-term regular credit card payment plans typically see 5-10% failure rates, whereas we see in the region of 0.5%.
It's not aimed at the blog post, but addressing the comment from jpwagner.
You can Walk around with WASD.
I'm always amazed at how modern the world was in 1890-1910. I recently learned that the train line I take to work every morning (Metro North's New Haven line) was electrified in 1907!

At Disneyland, Tomorrowland has an exhibit the Carousel of Progress. While it's ostensibly about the advances in home technology over the last 100 years, what really strikes you is how quickly it becomes recognizably modern. Electric lighting and cooking became common in the 1920's, and by 1940 you've got a dishwasher, television, etc.
I didn't say anything approaching what you claim the attitude is.
My point was that small talk, particular cabby small talk, almost always involves false assumptions, and this has nothing to do with being ignorant.

Otherwise, they have exactly the problem you mention in the last sentence. They see people from all walks of life. If they didn't make some set of assumptions (be it about sexuality, gender, typical behavior of males, typical behavior of females), they'd never be able to engage in any small talk, lest they offend someone's sensibilities.

As I said, you may find this offensive, but it's not about ignorance.
I don't believe the explanation in the article.

Lisp variants can be seen as a scripting language equivalent -- with efficient compilation. It was (and still is, to a large degree) an obvious win compared to Perl/Ruby/etc.

Academic stigma and/or culture clash with scripting users is what I'd guess. Or maybe it just is lack of hype?

But I don't expect to see an explanation. It is a larger mystery than dark energy to at least me -- why didn't lisp take over the world 10-15 years ago when the scripting languages started going?!

Edit: pjmlp, I talked about the last 10-15 years and compared with scripting languages, so hardware/AI winter/IDE are earlier/later problems. (Today, a lack of libraries might be the worst problem, except for Clojure(?).)
Meet Diego-san, a robot baby than learns
England has no such thing as common law marriage. It's a persistent myth. When one partner dies or leaves the other is left with very few rights.
Show HN: Fashiongram - Shoppable Instagram Fashion
Hey,

Link here: http://apluscontent.de/fashiongram/

First off: This is obviously a super simple MVP. I know 'Refresh for more' is not a great solution, neither is the 'hover for more info'.

But you should get the idea about what it does - it links popular Fashion on Instagram with online shops in one click.

Content is added manually by checking for images/captions with links from the popular feed, and putting useful "combinations" into a database.

Code might be far away from best practices, but I'm a hobbyist coder with limited experience in PHP/MYSQL/CSS/HTML.

Feedback is appreciated (especially in terms of legal/copyright issues). Thanks a lot!
You "haven't noticed it" because you know ONE guy?

http://en.wikipedia.org/wiki/Anecdotal_evidence
> You sell the dear currency in odd-numbered lots (to exploit
> people's inability to do fourth grade math -- sad but broadly
> true of the industry), for example, 7 dragons eggs for $10, 15
> dragons eggs (one free dragon egg!) for $20, etc.

At the risk of embarassing myself through terrible fourth-grade math skills, can you explain how selling in odd-numbered lots is exploitive? Or do you just mean that at the $20 level it's not precisely one free?
I thought Versus Maths was Race for the Galaxy for a second and got really excited.
Partner is annoying in a romantic context. It's ambiguous forces a person to ask (internally if nothing else "business or romantic?")

Boyfriend or girlfriend work just fine. Husband or wife if you're that serious.
I have been reading HN for half a year without ever bothering to login, but this post was so inspiring for me that I had to chime in and say 'thanks'. Never compromise. This is just what I needed.

As well, I really like the muscle metaphor. :)
That webpage is a nightmare to use. I love almost any kind of maps though, so it was worth it.
Without paying too much attention to the essay's content, the simplest explanation is that Common Lisp, Scheme and Clojure are more compelling.

Lispers are always tempted to blame Lisp's niche status on being too advanced, but it always sounds a bit like a smug non-answer to the job interview classic "what's your biggest weakness?" One friend who likes the syntax plus the existence of reader macros does not prove the syntax is not a big issue.

That said I think his conclusion is pretty sound, though you'd be hard-pressed to find much evidence of Unix-friendliness in C# or Java.
Found the first tutorial:

http://nscookbook.com/2012/12/ios-programming-recipe-1-creat...
Totally off topic, but if the author of the post is reading this, please reconsider the fonts you've used on your blog. It's quite difficult to read as it. Compare and contrast your current design with this http://www.readability.com/articles/4xlr1wov.
How is the author acting like he's trying to educate anyone? He's saying that casual conversation regularly forces him to correct someone, lie to someone, or evade answering someone regarding a fact about who he is.

I can imagine that regularly responding with "I'd rather not talk about it" when people make basic, friendly conversation is not a pleasant option. And it really doesn't seem the same as saying "good" when someone asks me how my day is.
Tesco effect: How big firms quietly own little brands
Shadows are kinda blocky. And some weapons would be nice.
As European, the price one has to pay for the Mac ecosystem vs what one might earn selling apps, it is not worth the investment.

So I am still waiting for a Mac hardware free version of Mac OS X.
Outside of maybe very conservative areas or muslim countries I would imagine a cab driver being perturbed by gay people would not be in the business very long.

I don't hang around in typically "gay" circles or even know that many people in general but I know enough gay people that homosexuality is not surprising for me at all.

For the purposes of casual conversation with strangers, if someone asks about a wife surely it's simple enough to say "I'm not married" and allow them to assume whatever they like unless you feel like sharing more.
How to get business ideas at University
My Windows phone has access to Live Messenger baked-in.

I never use it (I use Skype IM on the computer) but it's there, showing my status as "available," allowing me to publish a custom status message, check-in to places, and all the usual functionality.

It's a cheap model, and attempting to get Skype from the Marketplace results in a "your phone doesn't have enough memory to run this app" error.

Does this mean that I'll not be able to use instant messaging from the phone at all now? I'm not interested in the voice/video features of Skype on my mobile, but I do use Skype IM and it'd be nice to use it mobile.

Or - will I be able to use Skype IM from the phone without needing an extra app, instead of WLM?
> Sometimes I wonder what the NYC subway system would look like if it was centrally administered from the start, like the Tube was. NYC definitely has made some choices that look strange today.

I'm new in NYC. Could you elaborate on this?
How HTML5 Placeholder attribute supports different browsers
I'm not sure I understand what you're so upset about?

"Don't waste your time reading this crap" because of some imprecise verbiage?

According to the typical "testing pyramid", unit testing should be the most common type of testing done -- is it really so unforgivable that someone would use a general term (test) for what they do most often (unit test)?
Alive and kicking for me. Still using Google Reader and "Reeder" app daily.
Software Stacks Market Share: December 2012
It's important to think about it carefully and choose your battles. But it's also very possible to over-think it: most of the bad things that can happen are minor in comparison with the importance of coming out. Even a tourist in the most rednecky parts of Mississippi (and, yes, I grew up queer in a somewhat similar area) isn't going to be thrown in jail by the cops on some pretext or have some thugs at the local diner pull him outside and beat him just for being upfront about being gay.

Why not? Because so many people have come before and been open about it. Being gay might be wrong in some of the locals' minds, but it's already pretty normal. And it does good: that trucker dude you had a lovely discussion with one morning at Waffle House who had never met an (out) gay person in his life? Well, now he knows that gay people actually exist and can be totally fine folk. He's not going to be helping plan any Pride parades soon, but baby steps.

Edited to add: this is with reference to random people you meet in day to day life. Coming out to parents and friends is much riskier, which is usually why it takes much planning and support of other loved ones in your life.
Why People Hate SEO
It isn't that 1890 was modern; 2010 is lacking in advancement.
We must all do the right as we see it. [..] Doing what _you_ think wrong is wrong.

Hmm.. this seems like a form of relativism. Are you implying the inverse as well: Doing what _you_ think right is right?

How do you defend that if "right" for me happens to be walking around nude in public, or more extreme, shooting people that I disagree with?
Most CPU architectures offer special optimised instructions for grabbing data in a structure - it's done as an offset from the base pointer. A double star dereference can not benefit from this optimisation.
"I'm so much smarter than those Americans'" Your words, not mine, I did not say that. I did ask "Why use Cedit Cards at all?" because it made no sense to me. Thankfully there are some of your countrymen who can tell me why without talking about "ideological hangups" or my math skills.

I can only guess by your comments, but it would seem you're not very happy in the Netherlands? I'm probably one of the few Dutch people who bothered (visiting the US and) studying Amercian psychology, history and policy.

On the other hand I like to fully own my stuff right away. I care not for the 'discount' I might receive if I lend it. Cash also brings it own benefits (and being Dutch I like to haggle and hate lending).
Lisp or a pre-processor?
We see many (many!) items on HN talking about the advantages of Lisp, but as is noted in nearly every Lisp thread, Lisp has never really been able to gain much traction.

In those discussions, Lisp has two wildly touted advantages: 1) it is a functional language, encouraging programmers to avoid state. 2) Lisp macros are a powerful tool that allows programmers great power in creating control structures.

These are definately two significant advantages, but the come with a couple of equally large inconveniences. 1) Lisp does not have the same quantity of libraries that you can find for other languages, and 2) there just aren't a lot of Lisp programmers out there.

My current solution to try and square the circle is to use a mixture of a higher level language (typically Lua or Javascript) with a good tool for generating bindings to low-level C code. This is a very productive solution, but it does introduce a performance penalty (although this has been getting smaller as time goes by).

This has lead me to start pondering about another solution - creating a custom version of C with a programmable pre-processor to convert it to standard compliant C. This introduces the same sort of flexibility that Lisp macros provide, and can even make concurrency problems easier to handle by making it easy to introduce Erlang-style actors.

Has anyone on HN gone down this path already? If you have, how did it work out? What were the pitfalls? And what system did you use for parsing your custom C?
How do you shoot? I want to blow these guys up. Hysterical.
Smart Highway
They're redoing it this year, and considering doing one in New York this year as well. I think the organizers is a loose collection of Erlang companies (Trifork, Erlang Solutions, probably more). IIRC they organized an Erlang conference and decided to relaunch it as a general FP conference.

It was _really_ good, you should definitely check it out :)
In the UK, consumer credit law means that credit card companies are jointly liable for the products/service purchased on the card. If the company you're buying from goes bankrupt before delivering your goods, or if they won't honour a warranty claim, you can easily claim from your cc company - so it makes much more sense to buy higher value items on a credit card.
Memory plots with memory_profiler
Day 9: A New User Experience (Hardware & Software)
If your definition for crowded is "mean distances between satellites is more than 1000km."

Space is big. The geostationary orbit has a diameter of 265000km, and there are something like 200 satellites up there.

The lower orbits have a lot of gunk on them, but this asteroid will only cross the geostationary orbit. It's pretty damn unlikely it will hit anything.
These salaries seem low...are there a whole lot of inexperienced devs compared to people with a few years of experience pulling the average down?

I'd be interested in seeing the actual curve.
We should turn this thing into a Moon satellite. I can't believe no one else has thought of this yet.
Because most languages are not optimized for a type of task, most languages are not DSLs. Most languages are "general purpose". I don't understand why so many people continually make this same comment.
Does that pressure come at the business end of a bat?

Not what the OP or the GP are talking about. It might be a valid discussion, but it's not this discussion.
Well dang, crashed my firefox after loading about 1/3 :-\

Chrome is fine, but firefox is where I keep a bazillion pages open
Maybe "friendly to a sufficiently powerful runtime" should replace "Unix-friendliness"?
Probably a live capture.
Related question: What did you choose indiegogo over Kickstarter?
The science of Sherlock Holmes
"partner" implies a deeper relationship than many "boyfriend/girlfriend" relationships. When someone describes someone as their partner (in a relationship context), I assume they are married or common-law (or would be married if it was legal -- e.g. gay marriage).
PayPal Assault On File-Sharing Sites Makes Business Case For Bitcoin
The subway was three (?) different companies until the seventies or somewhere in that vicinity.
A new year’s idea: Share what you learn
How to Find New Opportunities for Blog Commenting
Why generate Java code if Clojure runs on the JVM?

Why is it "pretty much impossible" generate the game engine C code in a non-lisp language? What is it about Lisp that makes it possible?
I've never used it myself but I've heard good things about google's html5 slides.

http://code.google.com/p/html5slides/

Seems like it would fit your easy to distribute requirement too.
Mars Colonists Wanted -for real
Did it fail, or is Microsoft just saying "why do we have two brands for the same product?"
Their status updates started with changeable display names. People kept using their display name as statuses.

Who knows why none of the IM products expanded into social networks. They basically did what facebook did well before facebook existed.
- Parenthesis

- Lack of a proper IDE

- The AI Winter

- Mainstream hardware wasn't powerful enough

- Most blue collar developers don't understand FP concepts

Just some possible reasons out of my head.
Getting work done and being busy