skysight-inc/HackerNews huggingface dataset:
Ask HN: Functional Programming Differences
I found out today that I'm speaking at the local Code Camp next weekend. The topic is introducing F# and functional programming to a lot of C# and VB Microsoft guys.

I've got some good sample code, but my question is this: what are the key things you would tell an imperative programmer about functional programming? I need about a dozen key points to get across before I start drowning them in code.

So far I'm thinking: "start little, grow big", "stay immutable", "factor relentlessly", "learn recursion", and "treat functions as first-class citizens"

Any other blurbs come to mind that capture the differences in thinking between imperative and functional code?
>You must have Javascript enabled to view this site.

My loss...
Introducing jrclj: Easily call Clojure from JRuby
Thanks so much for this; I hadn't come across the microtype package before.
I'm actually very surprised this ended up here. For those who might not know Tim Rogers, him and a few other college-age gamers started a recently defunct site called 'insert credit' around 8 or 9 years ago to try to apply Hunter S. Thompson style "New Journalism" to video game journalism.

Their articles had a high incident of insight to them that was largely the result of repeated deconstruction and re-examination of the game design of various 80s-era classics. Quite often the articles (some of which read a lot like the linked article) were pretty entertaining.

Bringing personal experience into the essay or game review was always the point, and Tim in particular tended to go off on completely wild tangents and write in an almost incoherent and stream of consciousness style (perhaps, "style"); from memory, in one review he pauses to go cook a burrito, then describes the burrito cooking process, before resuming what he was writing about the actual game in question.

This article is pretty classic Tim Rogers: an extremely long exploration of an idea that touches on some interesting (if perhaps apocryphal) stories or facets of that idea, but may or may not have a coherent underlying vision or message.
What are you talking about? They have, e.g., 30 eps in a row of goku fighting frieza. it's an extremely slow plot, but every episode follows after the next. (except after a saga ends, then they just do a time skip to the next big fight)
DIY Pixel Qi Kits
Django deployment with uWSGI and nginx
Why can't I watch web-based video in Canada?
I think numbers 2 and 4 are going to be the most valuable in introducing functional programming. I've been using Scala to learn functional programming, and the hardest conceptual pieces for me have been been staying immutable and using recursion.

Another point I'd consider is "avoid side-effects".
Candid Camera
Does anyone have the link for the page where the guy categorized all the Ask HN posts?
You mention BibTeX and valhalla in the same sentence, I gather you never had to modify BibTeX styles? Or code in BAFLL ("BibTeX Anonymous Forth-Like Language")?
It would be great to be able to search this... in case you want to ask a question and quickly check whether it's been asked before.

I know there are third-party search tools for HN, but it's less convenient to use them.
Sounds like the best way to solve this issue would be a visual chooser? Like looking through a small grid of icons with people smiling. If you chose female previously the icons would be girls, and vice versa for male. If I click the blonde haired white dude, you know I'm a kid from southern california.
I get a 404 on that link.
Wow, I literally just posted a comment in a separate thread about how much I value ASK HN posts. And half hour later I see this - assuming it's a coincidence, but either way, thank you, thank you, thank you.

EDIT: Just saw the other post and saw that this is not a coincidence. As I wrote there, your responsiveness to this community is truly impressive.
http://www.gabrielweinberg.com/startupswiki/Ask_YC_Archive
PG - this is fantastically awesome. Your support and responsiveness is truly appreciated. If we meet in person someday, I will buy you many beers.
"I only read about half that article before losing interest, but one argument jumped out at me: the mandatory office parties and drinking outings. This, IMO, is not a Japan-only phenomenon, although I'm sure the Japanese put their own cultural twists on this lovely concept."

You are right about this. Pretty much any place I have worked (I'm from the US) has had office parties or other kind of outings. I almost always went because it does help you get to know your boss and co-workers (it was only about once-a-month). I don't really see a problem with it.

Your example of going out three times a week is a bit much (I wouldn't go out that many times a week), but you could have at least gone out with them once-in-awhile to show them that you don't completely hate your co-workers. If you do, you probably shouldn't be working there anyway.

You can't take the human nature/social aspect out of working. If you don't do these things, people will think you are weird/the outsider/don't like them.

Maybe you should run your own business?
Correct or not, your post reminded me of a recent Jon Stewart (Daily Show) deconstruction of Glenn Beck's and Sean Hannity's rant about how great "America used to be". The idea was that your own country is ALWAYS great TO YOU when you're 12.... BECAUSE YOU'RE 12!
Nor will they be featured in the annual "30 under 30" or "25 under 25" business section articles.

I'm waiting for the "50 over 50" report, but I'd place the chances at about zero, outside of AARP publications.

The aura of expectation and possibility outshines the concrete and the right now. People like to read about the young partly for what they happen to be doing, but also because they like to imagine all the great things they'll do in the future.

Seems life is all about looking forward to stuff.
Sophisticated Mission Impossible Heist of 20 Apple Laptop
LaTeX will get you excellent results if you master it. I don't think you can get comparable results using anything except for professional typesetting software and a lot of manual labor. But LaTeX will cost you a lot of effort to get right, and you will not get it right without a LaTeX expert coming in to help you.

If, however, you aren't great with LaTeX, I'd use Pages on a Mac, with LaTeXit for equations and EndNote to manage your bibliography. Styles in Pages really work well and make editing large documents easier, not more complex. EndNote integration is clunky, but works. The only major drawback is lack of support for numbered equations and figures in Pages.

Mind you, I'm not saying this is the perfect solution, but it is much better than Word or OpenOffice.
I was in college when it hit over here. Couldn't make head nor tails of it. It seemed like crap to me.

Then again, I used to watch TMNT after school and to this day will maintain that it was actually quite funny, even though someone older than me will, with some justification, villify that as well.

Some of this article was worth reading. The complaints about how things used to be better, however, were not.
EXelate Panel Brings Doomsday Prediction From NY Times' Nisenholtz
Only barely. English has plenty of similarly complicated words that are used frequently without people understanding their meaning. Learning about those meanings puts a bit of a shade on what people are actually saying, until you realize people don't actually mean it that way.

It's the same way with irrashaimase; it's a self-deprecating phrase (and Japanese does indeed have a lot of them), but it's a stock phrase, and that's how people use it. Similarly, a lot of our exclamations have origins in words, even if we've forgotten them. For instance, why do we say "ow" instead of "ai", or simply "aa"? "Ow" is significantly more complicated physically than simply "aa!"ing. Other cultures say different things for exclamations, even "spontaneous" things like pain, and that's normal. Getting uppity about it isn't.
By the same argument, one could claim that color does not exist - it exists on a continuum, different people will call the same color different things, etc.
Equally important is the reverse question: if a prospective employee doesn't demand this information, should I hire him?
Reminds me of the time I bought a used Dreamcast at GameStop and it had a disc all scratched to hell in it and reeked of pot. Actually looked and smelled like someone cleaned their pipe and dumped it in the system.
The price/GB gap between flash and disk is ~30x and it's shrinking slowly, if at all. In 2019 I expect disk to still be cheaper than flash, although flash may be cheap enough for many applications.
If anything, lists should be added to the topbar.
If you're doing any sort of Internet startup, you should really try to develop an understanding of the online ad market, either to monetize your app or market it.

Ad networks are very simple- they connect advertisers with publishers and take a cut(usually 30-50%) of the advertiser's spend.

The reason BlueLithium was(and remains) so successful is that instead of targeting the entire network of publishers or simply segmenting them by channels/topics, they pioneered some rudimentary behavioral targeting to show ads to people who were more likely to click on them. This led to lower CPA/CPC for advertisers, which means they were willing to pay more for impressions. That led to BlueLithium being able to pay publishers more, resulting in rapid growth for the network.
I realize some cars have a type of 'black box' already, but it seems that with the potential for software problems, a expanded black box that stores vastly greater amounts of data would make sense.

In this case, the computer controls the throttle (no direct mechancial linkage) so it is crazy that the software does not give the brake priority if it believes both are being engaged. A simple 'high braking pressure' sensor that overrides the throttle would be simple enough to be almost immune to any software glitch.
Thankyou. This is going to be very useful to me very soon.
The answer to this question has absolutely nothing whatsoever to do with how well anybody but a salesperson will do in your company.
Super-summary, which is also completely self-evident (IMO), which means the article is superfluous:

Multiple possibilities mean multiple sources, all of which have to be traced for multiple things. Things are also layered pretty deeply.

I still say "sudden acceleration" is different than "pedal was stuck". When the pedal sticks, people say the pedal is sticking, because it's an extremely easy thing to identify (you feel it immediately). Also, intermittent problems are inherently pretty hard to solve.
Restricted stock is common in startups (there are company structures that may require it). Vesting structure and 83(b) elections also matter. Expecting 'grellas to offer a much more coherent explanation momentarily.
Yep that's a good point. Bluetooth radios are gonna be big too. Those FM broadcaster ones an additional piece of hardware which is somewhat annoying, but you're right they work well.
For the sake of hopeful web-searchers FROM THE FUTURE, I eventually found http://hginit.com/ , which is an awesome intro to DVCS (specifically Mercurial).
And BitTorrent’s Oscar Goes To... District 9
While it's hard to reasonably argue that employees shouldn't know the valuation of their own equity, it's easier to argue that the cap table isn't any of their business. More information is usually better, but I might not push too hard on the terms of everyone else's shares.

Liquidation preference is an important one to know, and it's easy to make a case for it: when you're discussing valuation during negotiation (and you need to), and you get to the part about what the numbers look like if you're bought when doing $xMM/yr, you get to ask "how much of that number will VC take off the table?"
Insisting on a way of life completely at odds with where you live can be stressful. I'm kind of curious how he ended up deciding to live in Japan. I know wouldn't if I were a strict vegetarian, tee-totaling, non-conformist who didn't like anime, didn't like rigid company culture and couldn't even tolerate the existence of smoking sections at restaurants.

It's almost as if he's drawn to frustration.
You're welcome, what I really wanted was to be able to use rspec to test my clojure libs, and now I can :)

Ill be anxious to hear your experiences with it
The article might be superfluous for engineers and programmers, but there are plenty of people who read the Washington Post that don't understand engineering processes. I suspect most people figure that Toyota is just hiding something, and that's why they don't have answers.
You'd be surprised how many people don't ask questions about their stock options. In my experience, at the senior management level only 20% or so really ask the right kind of questions. Below that, it's <5%.

In fact, the people who asked the right kind of questions did not end up being top performers. I actually think there may be an inverse relationship between stock-option queries/demands and performance. Or maybe I'm disproportionately remembering the more demanding employees who didn't perform well.
Points to the interesting site http://www.mesofacts.org/ which I found interesting enough to pop into my rss reader.
Having Ideas Versus Having a Vision
> I guess I just don't really understand what race/ethnicity actually means and why it's important to anyone. I don't know/care what my own 'race'/'ethnicity' is.

It's fine if you don't know/care what your own ethnicity is, but to say that you don't understand why it's important to anyone strikes me as moral posturing, or an Asperger-level lack of empathy with other people. Some possible reasons why people may care about their own or their partner's ethnicity:

1) Knowing their susceptibility / children's susceptibility to genetic diseases.

2) Wanting their children to be raised in a certain culture

3) Wanting a partner with certain shared experiences/world view
I'm rather surprised by this article, mostly because I basically have the opposite opinion about Japan. My theory is that I was born in Japan and lived there for most of my life and so for me this is all just how life works. More importantly, from a Japanese perspective, this is how we enjoy life.

It externally seems that I should have a similar opinion of Japan as him because I am not Japanese and I seem to have had similar experiences. Yet my exposure to the culture from birth leaves me taking for granted a lot of what he fights.

When I first came to Canada to study in university I had grudges toward the culture and way of life and I hadn't noticed until now why that was. It was because my perception of "how things work" was challenged.
Also see here: http://retr0bright.wikispaces.com/ - they've put their method in the public domain.

"The problem was finally cracked in late July 2008 with a mixture of hydrogen peroxide, a small amount of an 'Oxy' laundry booster as a catalyst and a UV lamp; we believed that this could do the job in hours instead of days."
I've always admired the writing on Insert Credit, and I'm sad to learn that they're gone now.
It's hard/impossible to do this at NYU.
I've no idea what's controversial about what I said. I write my comments using design, not random variation and natural selection. It's pretty obvious we do the same with societal institutions.
How A Man With No Business Background “Lucked” into a $25 Mil/Yr Company
A (multicore) render farm in Haskell
I'm surprised no one mentioned Lyx yet (http://www.lyx.org/) This is a WYSIWYM processor (What You See Is What You Mean) :)
It lets you write text and formulas in a close to wisiwig thing but its all latex inside.
In my experience, the way it works is - at first everything in the foreign culture is great. Its all novel, the language and culture, and every idiosyncrasy is fascinating and every difference is a new challenge. In time you adapt, and then things seem normal again and you enjoy participating according to the rules of the new society. Once you're 'over it' though, you come to realize just how much work you're putting in just to function. It becomes extremely tiresome just getting by, and many little things irritate you.

It sounds like he's in this final stage. It sounds like its time to come home.
I'd argue that the limited availability meant that only the extreme few who could afford to print did so, and when they did they kept things to what their elitist groups would find interesting. Meanings hidden within meanings not because they were any more intelligent than others, simply because they needed to do so to fit in with the elitist habits / aesthetics.

You see the same thing in art prior to the modern art shift. Art was so elitist that it wasn't focused on being artistic any more, it was instead a conglomeration of meanings that could be examined and critiqued by the social elite. All social elite groups do this, it raises them above others who don't know the language and gives them a feeling of superiority.
Are you saying their strategy is puzzling or not? If not, then is it similar to MSFT? If it is puzzling, are you agreeing with the rest of my comment?
Don't worry about the spelling. What strikes me as odd about British writing is the scarcity of commas. I feel rather breathless reading British writing, and often it's difficult to parse. (I'm pretty sure most Americans would have put more than one comma in your >100-word question.) Not to worry, though, it just adds flavor.
An alternative to rank/crowd source stack exchange sites:

http://buyersvote.com/categories/the-best-stackexchange-com-...
Google checkout only work in a few countries.
You can get by fine as a meat eating drinker in Bangalore - although the bars are a bit depressing :)
And most of those wouldn't be reading articles on it anyway, they're often happy simply thinking the world / governments / corporations / "they" are out to get them. It gives them reason to stay where they are, because they now have proof that it's out of their hands.

It's why smear campaigns work. It's not because the content is accurate, it's because so few people actually look at the content, and instead take what they're told and don't look into it further. Articles like this are mostly meant for the few edge-cases who are actually looking for more information, and they'd find it anyway, and to make the people who know better feel good for educating those poor people who don't.
Have you discovered time travel?

(some of the lines go forward then back in time)
"Avoid side-effects" is #1 IMO. Everything else stems from it.
out of curiosity, why is this useful? what kind of functionality do you need in clojure that you can't find in jruby?
indeed, we're wrapping the webkit UI of gmail mobile, which has standard gmail search baked right in. Our app lets you easily switch between multiple gmail and google for your domain accounts, gives you access to your iPhone's native address book, offline support, and a few other goodies...and there's a lot more in our development pipeline.

the entire feature process is similar to mailplane though: we look at mobile gmail and say "how could we take whats already there and make it beter" or "what's missing and how can we add it"?

Big upcoming features include things like HTML email reading and the ability to add attachments, both major features missing from Gmail Mobile.
"Putting in some time" being the key words :)
Awesome! Feedback welcome. Send to:

alex@indyhall.org
I guess that goes to the old saw about don't bet more than you can afford to lose. The losing the life savings generally happens in chunks and you keep hoping things will get better - and then they don't - and suddenly you have the new problem of finding work, which takes more time and burns through more cash. So if you follow some of the lessons in the blog, you won't burn through your life savings. More on that later.
Specifically, the ability to run Clojure code. :)

I want to make it possible to write plugins in Clojure for http://redcareditor.com It should be pretty easy to do, this will make it even easier.
Programming with expressions (functional) vs programming with statements (imperative).
> 'costing them money' and 'denying them revenue' are the same thing

No they're not. The point I was making is that you necessarily cost them money every time you visit a page, but by blocking the ad, you're also denying them the revenue that would balance out that cost.

> But content providers like Ars want to mislead their customers into thinking they are getting something for free

I think that even the least savvy of Internet users understand the advertising model. No one is "misled" to believe that running a site like Ars costs nothing. They're not "pretending to be free" any more than a newspaper full of ads is.
I lived in Japan in the early 2000s. I don't know anything about anime or videogames, but everything else in the article seemed accurate. Personally I loved it, but I left before things started to wear me down.

Much of this is a critique of salaryman culture. Salaryman culture is bananas, a bi-polar combination of Kafka-esque hallucinatory boredom during the day, and 'girls gone wild' at night. Except, it isn't girls going wild, it's 48 year old men. It's interesting for about 2 weeks, and then becomes completely tedious, and slightly scary if you care about your health at all. I'm astonished that the Japanese still top the life expectancy charts.

When I wasn't working, I hung out with artists, skaters and surfers. I visited small towns on weekends and spent a lot of time at the beach. Life outside of Tokyo and the salaryman grind is much more relaxed, fun, and "good" weird instead of "WTF" weird.

Whenever I have a friend interested in relocating to Japan I plead with them to NOT work at a Japanese office. Only go there to work if you're the best fixed-gear bike welder, or are a popular underground DJ, or some other sort of "big in japan" folk hero. Anything that keeps you out of salaryman-land.
There are two-and-a-half shortcomings of the TeX ecology (but not the core TeX software itself) today that I've seen:

The first is the fact that TeX is still relatively unknown, at least in non-specialist circles, which makes it hard to share documents among people. Related to this, I haven't seen any straightforward software to track changes and generate readable diff's of shared documents (though I haven't tried TeXDiff lately http://robmar.net/TexDiff/). I've seen a friend switch a major paper from TeX to Word because his adviser (a Public Policy prof) couldn't deal with the TeX versions of drafts.

Second, and this is purely a software thing, is that footnotes have the potential to break up the flow of text too much. Ideally, there would be some toggle-able option where footnotes could be collapsed during editing. Given the nature of Emacs, I wouldn't be too surprised if there's a way to do this. Am I missing something? Any possibility of doing it in TeXShop?
You would honestly rate a programmer based on his knowledge of business finances? That seems more than a little mad.
That's only really the case in certain environments. In finance or consulting it's very common, particular for younger employees, but those are pretty much the only industries and demographic I've ever heard of it being widely expected.

The only ubiquitous US workplace social function is the holiday party.