skysight-inc/HackerNews huggingface dataset:
A developer I used to know put it thus: "A comment is an apology." I never asked him to explain that, but I guess he meant it's an apology that the code itself is not self-explanatory.

Clear, even verbose commentary can be helpful. But where it often breaks down is when the code is revisited, and the comments are not updated as well. So my practice now is to use comments in early development to help me remember what I was thinking in that bit of code, but then remove most of them during clean-up and refactoring unless something particularly non-obvious is going on. It makes future maintenance of the code less likely to diverge from the (usually unmaintained) comments.

Good code review could help here: "Hey, the diff shows you changed six lines of code in that function but the comments are the same, do they need to be revised?" But I've never worked anywhere where EVERY commit was reviewed, rather a sampling is selected for weekly review. that leaves a lot of opportunity for things to get missed.

Bottom line: extensive comments can add to workload when fixing bugs or making enhancements. So only use them when they really count.
I actually hate Lego. The only Lego thing I ever wanted was Mindstorm.

I did have a crazy amount of K'nex, though, and built all sorts of race cars, roller coasters, bridges I could put between two chairs and make an adult sit on, etc. I still like K'nex a lot more than Lego--you can do many more things, and with far fewer pieces.
Blogger’s Incarceration Raises First Amendment Questions
Check back in a few days. It's almost certainly going to go down, not up.
I agree. I can't stand the tone.
OSDev.org does a good job of managing peoples expectations without insulting people. Its possible to be clear and concise without resorting to using abusive language.
Don't forget Wells Fargo!
>I think of these languages, these tools, as something akin to violins and cellos. They’ve been around, virtually unchanged, for several hundreds years. They are an absolutely gigantic pain in the ass to play- they haven’t got any frets, they have tiny fingerboards designed to be played by scrawny, malnourished 15th century musicians. They’ve got tuning pegs designed for strings made out of animal guts and which rely on friction alone to stay in tune. They’re freaking baroque. And yet, they get played a lot. You might argue that their design actually encourages mistakes.

I wish people wouldn't make analogies about things they don't understand. Frets do not make string instruments automatically better, in fact they limit you in terms of intonation and vibrato. The fingerboards are exactly the size they need to be, and would be less ergonomic if they were simply made wider (every attempt at an ergonomic violin I've seen has involved changing the body shape to make it easier to hold, not widening the neck. Widening the neck substantially on a bass would just be completely unhelpful) and a lot harder to bow. Friction pegs were certainly designed for gut strings, and that's why you'll find geared tuners on many instruments that use steel strings (and sometimes even on ones that use guts).

I just find it funny that he doesn't like it when people who don't understand Go try to criticize it, and then criticizes something he doesn't understand in an effort to strengthen his argument.
Agreed, A good note to not trust anything claiming to be the finished/working version of this is in its place. But I can't but wonder how those people get there anyway. Linkbait?
First many people get lured in then hope some are going to help, be rude to the rest and tell them to get off. mhh I don't know...
Have you got a link to reference this as happening?
How does one use immutability extensively without adopting functional style?
It would not surprise me, that's for sure.

But that's my point: 1 man who would find a cure for millions or 5 who could potentially change the world (themselves or their kids)...
Storing customer purchase history via loyalty card etc (ala like what WalMart does and talked about in the doc about it that aired on CNBC a while back) to improved directed marketing is a much different than storing credit card data.
One thing I've wondered... And this is somewhat unrelated, is why the Xbox One doesn't run 360 games. One of the core features of it's OS is the fact that everything is running in a modified Hyper-V environment. So why couldn't MS have emulated the 360 on the hypervisor?! Will be cool to see this project progress and hopefully running on an Xbox One dev kit.
selectodude, Can you explain how HFT minimizes volatility? I was always under the impression HFT made the swing wider as when the price drops, naive algorithms sell anticipating a wider drop.
Too bad Netflix is also almost single-handedly bringing DRM to the web, which has far worse consequences in all areas of the Internet than the "convenience" of watching Netflix not in Silverlight, while also not doing a single thing to even try to make their content DRM-free.
The blog post tries to discredit imperative programming by describing naively incorrect simulation implementations and attributing them imperative programming. A final sentence describes the well known, obvious, and correct way where two world states are maintained, i and i+1, and state i+1 is calculated based on state i.

Then the post briefly touches on functional programming being able to automatically somehow transform an incorrect imperative solution into a correct functional programming solution, without actually showing how it is achieved.

The post contains no content of value.
It would be like Java to the Pizza Language:
http://en.wikipedia.org/wiki/Pizza_%28programming_language%2...
The FBI collaborates with other countries' federal investigators a lot (e.g. RCMP). I could definitely see them doing something like that.
Lexigrapher - Find the data type inside a string
Heat Maps Of 21 Highly Segregated Cities
Why can't a (possibly new) armored car company offer that service?

Strictly speaking, they wouldn't be in the business of settling accounts at banks. They would be in the business of selling securities for cash. I could drive around in a car and provide the same service, only I'd want the security of an armored car to transport the cash. I would drive the cash to the bank and deposit it in my perfectly legitimate business account.

One thing I don't understand: what kind of securities would these be? They would have to be sold on the spot, yet somehow more secure than cash.
http://bits.blogs.nytimes.com/2014/01/10/stop-asking-me-for-...
The 360 ran a PowerPC instruction set while the Original Xbox and Xbox One run x86 architecture. The game would have to be rewritten to run on Xbox One.

I'd assume this makes it difficult.
And that right there is why legalization will be an unsure thing in this country for at least the next decade.

If you are going into the marijuana business get good legal advice and have a competent defense lawyer on retainer.

There could quite easily be a crackdown if the next president wants to revert things or is too heavily beholden to the parts of federal law enforcement that benefit from the drug war.
Xbox 360 used a PowerPC instruction set. It would seem unlikely that emulation could be efficient enough to have it work reliably good and fast.
I had SweetCron set-up and forgot about it. It's still up and going at http://kingkool68.com/ Looks like it broke at some point.
Meh, I'm a huge fan of "readable code" that is easy to follow and just makes sense with no need for explanations. And then there is code that is non trivial.

Too often I've found that vast amounts of effort were put into keeping something "readable" to the point that all of the extra readable hints either just got too large and unwieldy, or it prevented the developer from picking an easy and straight forward solution. (And to be fair, often that developer was me.)

I think there is a very real divide between what the logical flow for a computer to be presented something and the narrative flow for explaining that to another developer are. And no amount of clever variable/function names will really help here.

In fact, often times it can be worse. The proverbial isle of a grocery store. Too much to look at with no obvious "main" method. There is a reason it is a "rookie mistake" to have giant methods that do too much. When it comes down to it many people were only trying to get their program to do one thing. Cluttering their memory with the myriad steps necessary to get there is a large hurdle to get back into something.
Intel Edison: An SD-card Sized PC For Wearable Computing
Open Source: Make Any Application or Game Borderless-Fullscreen
Very interesting, makes you wonder how much longer before this kind of world starts to majorly influence american culture & laws. Much of what we do in the united states is also replicated directly across the pond in the Europe. But the reverse is true with china, they do everything on an incredibly different scale, and much of what they do is difficult to replicate because people in most of Europe and USA don't speak Chinese like they do English.
He wouldn't give up numbers, but the numbers aren't great considering the amount of work to be done.

I think a top guy these days would clear 150 in an unbelievable year and closer to 70 on an OK year. This said, a lot of guys make 40 and struggle.

This industry would benefit from a huge bear hug from the tech industry - - - as I said before, the amount of effort to get quotes is a lot, and as a result a lot of sales guys end up pushing paper for their 80%.
Firefox's build system is complex, but things are gradually getting easier for newbies. For example, if you're on Linux or Mac there's now a script (see https://developer.mozilla.org/en-US/docs/Simple_Firefox_buil...) that installs all the required dependencies. And |mach|, the (relatively) new build driver program helps. And better build defaults means you can get away without using a mozconfig file, at least to begin with.

As for the build error, I understand that's frustrating. Asking on the #introduction channel on IRC would be a good way to make progress (https://wiki.mozilla.org/IRC). That's a channel with lots of informed people and they're generally very friendly.

In fact, the very first time I built Firefox I had various build problems, and the people on Mozilla's IRC channels quickly helped me identify that it was actually faulty RAM -- I was building on a brand new machine -- at fault!
That's functional programming for you. It's definitely less efficient, but there are other major advantages. For one thing, given the propagation of immutable data, things can be parallelized effortlessly - look at 'pmap' in Clojure for example. Once you're familiar with the style, it's significantly more concise and readable.

That being said, a systems programming language may not be the right place for FP concepts.
You can convert instruction sets on the fly, the technology has been around for a while. One big commercial failure that was partly relying on this was Transmeta and their Code Morphing Software: http://en.wikipedia.org/wiki/Code_Morphing_Software

Here is a more general article on the topic:

http://en.wikipedia.org/wiki/Binary_translation
What is the significance of Homotopy Type Theory?
In reality you could emulate it. The problem is the xbone doesn't have a powerful enough x86 processor to emulate the powerpc 360. It was around 2010 that mainstream computers matured enough to easily emulate a ps2, for instance.
> We have different values, priorities, and hormones than women, and given the same scenarios we're likely to come to a different conclusion than a woman.

We have different hormones, definitely. But different values and priorities? Different conclusions? I (a man) have very different values and priorities from quite a lot of men. Men often come to different conclusions than other men.

This is not a fundamental men vs women difference. People are different. Men and women are both people.
It isn't necessary to purely emulate every instruction, you can cache translated code segments like a JIT compiler does. It has been done before for fast x86 emulation on a VLIW chipset: http://en.wikipedia.org/wiki/Code_Morphing_Software

More details: http://en.wikipedia.org/wiki/Binary_translation#Dynamic_bina...
Historical tidbit: Pizza is the precursor to Java's own generics implementation (introduced in Java 5), both were written by Martin Odersky who then went on to create Scala.
The irony here is that HSBC escaped criminal prosecution for laundering cartel money. There was a recent rolling stone article about it. The solution might be for these places to use offshore banks, but then you add another layer of complications.
Symptoms Of The Flu
As others have said, the word "emulator" draws a distinct crowd who is otherwise (almost) completely non-technical. Having frequented a lot of developer forums for both, I'd say it's analogous to many of the sorts of threads you get about Android development on XDA.
I think people are too quick to say "fire the cofounder" in these situations. It's very easy for software development to take months longer than expected, even when you're about 95% done. Finishing stuff and having some judgement about when a product is ready is really, really hard.

The issue seems to be that he's telling you "just need to finish one more thing" every time. Get a list of exactly what needs to be done in this kind of format with estimated amount of time...

* Task a - estimate 5 hours
* Task b - estimate 3 hours
* Task c - estimate 15 hours
* Task d - estimate 10 hours
* Task e - estimate 5 hours

...and work methodically through the list.
That's the whole point of a VM right? OS X could run PowerPC apps with Rosetta when they went Intel. I just assumed that we could do the same since the Xbox One has a beastly processor compared to the aged 360 one.
Benchpress- Pit ruby methods against each other, and chart it
a quick linkedin search indicates that Steve Yegge might be better described as Google ex-engineer since he apears to be a manager but still at Google. [versus ex-Google engineer as stated in the article.]
Human Resource ABCs
Scala gets around this with "views": store the higher-order functions until the collection actually needs to be used and then apply them all at once, without any intermediate data structure.

http://docs.scala-lang.org/overviews/collections/views.html
You need code to run code.

You don't need comments to run code.
Which isn't really a significant risk if the store owner doesn't hang around. I mean, someone could also hold me at gunpoint and take me to the bank, which isn't a great idea. If I wanted to emulate that, I could put my wallet in a safe deposit box.
What if it was a coworking space that first introduced the members, what they do and what their plans are, etc (as an ice breaker). Being able to gather many entrepreneurial minds in one building is quite powerful, many opportunities there...
Rosetta was based on QuickTransit technology: http://en.wikipedia.org/wiki/QuickTransit
The programmer who doesn't change the documentation when changing the code is usually the same one who doesn't change the function name when changing its functionality. If a bad programmer is tweaking your code, it doesn't really matter if the documentation is in the variable names or in the comments.
We don't prioritize code over comments because it can be automatically tested, we prioritize code over comments/spec because the code is what gets executed.

And I can say "this can't be done under these time constraints" at my job. If you can't, then you're not being taken seriously because of some other reason, not because you're a programmer.
So right. Sad people. No doge.
Think this through, why would someone licensed a piece of tech be able to use on its behalf?

This is like saying that I have the rights to use the Unity engine, so I should be able to sue Microsoft for parts of Silverlight that I think are infringing and profit personally.
Holy Moses - I am not going to be able to sleep tonight. Thank you for sharing!
I've found tooling is the main limiting factor. Time certainly doesn't help, but seeing as how I couldn't use literate programming while my colleagues use their IDEs is ultimately what means I will be ditching it once I get help on things.
What about a coworking space with high speed Internet access, printers/scanners/faxes and other equipment for work, space for hardware design/hacking, a powerful computer for CAD/3D modelling? Would you go there and pay for a membership?
Typically a crash course is equal in content and student expectations to a normal course. What makes it a crash course is that it has a compressed time schedule. Courses with an emphasis on lightening the weight of the content typically are prefixed by "A Survey of", "An Introduction to", etc.

The professor covering binary arithmetic does not hear objections for several reasons. While the social context of the classroom and the explicit expert-novice relationship are among them, the analogy is undermined because teaching Clojure is not a precursor to teaching something else. In the article it is the end, itself.

Under the usage you are suggesting, "A crash course in the JVM" in the context of teaching Clojure would fit the analogy better.
Levchin: I reference this nearly 14yo gem by Spolsky at least once a year...
So has EBS :)
Type Theory is a very foundational way of looking at logic and a very nice functional programming language. It is a strong generalization of, say, Haskell's system. Homotopy TT is a certain kind of TT that introduces a lot of structure to handle notions of equality and identity.
It would require emulation. And while it's fairly easy to emulate apps compiled for powerpc to run on x86, it's much harder to do so with games while maintaining performance.
Well, presumably ruchir thought it was an interesting article and our HN peers agreed enough to upvote it. Are you asking how link aggregators work, or why the evolving pot industry warrants discussion on a forum dedicated to startups and tech?
I won’t describe Hacker News reflex to offer BitCoin as a solution to all woes as ‘smart’, but most (e-)commerce actually use solutions that convert BitCoins to dollars as the transaction happen (or within the next 10 minutes).
The problem here is to hide to the bank (or rather give them plausible deniability towards Federal authority) that the money came from the sale of Mary-Jane. I doubt a shell company would suffice — however, the problem isn’t to get dollars sent to your account.
Shouldn't the compiler be able to see this? After all, Haskell is statically typed. Ok, maybe the compiler (optimizer) needs to look across function boundaries, but it should be possible, shouldn't it?
>That's functional programming for you.

Uhm, what? No it's not.

Haskell has stream fusion, thereby generating assembler that looks a lot like the optimal imperative version.
Author here, you’re right. I prefer to call it a tool or an ‘approach’ but whatevs. :)
US govt confirms Accenture chosen as lead contractor on HealthCare.gov
I'm not saying what people should do with their lives. I'm pointing out a counterpoint to the usual cheerleading about life extension. It'll be a world in which things change more slowly. Definitely in terms of social progress, but potentially also in terms of scientific progress.
This isn't true. A business can receive Bitcoin and convert it all to gold daily. They can sell some of this gold for cash to pay their expenses.

They can also start a separate company, say, an investment company, to take the gold and store it, or convert it to dollars or stocks.

There are lots of solutions made possible by Bitcoin, none of which are impacted in the slightest by the investment volatility of Bitcoin.
For those that don't recognize the title, "Trust but verify" was popularized by Reagan[1], which in turn was an adaptation of a Russian proverb.

[1] http://en.wikipedia.org/wiki/Trust,_but_verify
I believe it's called "legal representation" :-)
http://i.imgur.com/kc7IXPj.png

Using a long-forgotten element to disable line breaking is pointlessly painful, but isn't as bad as some people get when they think every text processing tool runs javascript. The author sounded clued-in enough to know CSS, I don't know why he would think that doing it all in javascript isn't strictly worse.
I have a personal troll!
If you can have two identities (say, one shell Mary-Jane seller, and one profit-making landlord) then the bank would easily accept the landlord’s account. I doubt such structure are allowed, or would pass Federal scrutiny according to Colorado banks, otherwise, the problem would be solved already.

The other possibility is that this solution is obvious, but lobbying for bank accounts is part of making Mary-Jane a more acceptable trade.
Here's a (web based) pure functional version of the game 'bomber man', the readme should answer your questions.

https://github.com/vmarquez/PureBomberMan
Any sufficiently advanced civilization will have encrypted communications, and thus their broadcasts will appear to be noise.
Perhaps you mean "cachet" instead of "cache"
Session database in memory, mirrored to another host for redundancy, and only events that need to be stored written to "slow" SSDs when I/O bandwidth permits.

I could bring my startup from 10 to 2 hosts and have better performance.
If you're writing code that can be so easily understood that it does not require explanation, get a machine to do it.
It's not just about translating instructions. Console games are extremely optimized and fine tuned for the processor they run on. A block of 40 PowerPC instructions may take 40 clock cycles to run on a PowerPC Processor, but 120 clock cycles to run on an x86 processor once they're blindly emulated. Programmers (and compilers) will change the type of instructions they're using to best fit the situation and the instruction set they will be using.

Then there's the problem where PowerPC is big endian and x86 is little endian so add potentially additional processing for network and file system code as well (models, textures, sounds, etc), in addition to any magic numbers[0] that may be used in the codebase.

While it is possible to emulate, the performance would be abysmal. Just take a look at GameBoy emulators for the PC. They use massive amounts of CPU due to the necessary overhead to emulate the processor, graphics, sound, etc. Trying to play a game like Call of Duty or Grand Theft Auto emulated from PPC to x86 would just be sluggish at best.

[0]http://en.wikipedia.org/wiki/Magic_number_(programming)
Yes, and I feel like I have to translate when I'm writing for a general audience. Anything I write for a general audience is stilted because I have fewer options available.

English is a mix of many different influences, each of which was novel at some point in history. If people want to make up new rules to experiment with (like doge and ragecomics), that's not a bad thing. The more people we have who feel free to experiment, the more options we'll have in deciding what we want language to look like in the future.
Avian (http://oss.readytalk.com/avian/) also has an AOT compilation option.
How does the ban on 3rd party payment processors affect direct bank transfers?
i came here guessing the the top post would tie the story back to recent US torture.
not that it's wrong, just unfortunately predictable :/
There are also various other, open-source browsers built on webkit.
If you're a decent developer in a relatively prosperous country I think you shouldn't waste much time on these types of sites. You're going to be competing against developers in very poor countries who can afford to work for much less than you. You're not going to be competing for great clients but for people that are very price sensitive and demanding. There's exceptions to every generality, but odds are you're better off developing your local client base.
Author here, pleasantly surprised to see this on HN.

There is a substantial set of changes happening out on this branch: https://github.com/clipperhouse/gen/tree/projection.

… for this reason: https://github.com/clipperhouse/gen/issues/8