skysight-inc/HackerNews huggingface dataset:
"As a new category, the EVIL is still relatively expensive, and you’ll pay as much for a body and lens as you would for a prosumer level DSLR."

Fashion vs function, I guess.
China believes that it imprisons people who are doing things that are harmful to its society.

That's an assumption. Their actions seem to indicate it is far less about harm to society and more to do with harm to Governments "status quo".

I think your conspiracy theory about China's poor regions is fairly off the wall. Look at the mountains and rivers and see how there are not good shipping routes, etc.

None of those things are insurmountable. And China has not been attempting to surmount them. Thus my point.
In some parts of the USA you have excellent bandwidth! Verizon provides me with 50mbps fiber in Dallas. http://www.speedtest.net/result/684079289.png
And I would guess it also has reasonable/competitive pricing.
What is worse it was like they got paid to advertise a more expensive untested (market wise) product.

Nothing is going to replace a photographers DSLR if they have to pay more and make compromises for minimal benefit like size.
Mhm, maybe there is a disconnect between what is good for the nation and who profits from that out-sourcing trend? (No offense to non-US hackers.)
Technically, a section is the syntax that partially applies the operators. Currying is a different (though somewhat related) concept; yes, the standard libraries of both Dylan and certain Scheme implementations have gotten that wrong.

Currying is when you take a function that takes a tuple, and change it into a function that returns a function. The Haskell prelude definition has it right:

curry :: ((a, b) -> c) -> a -> b -> c
curry f x y = f (x, y)

Uncurrying is the reverse, taking a function that returns a function and making it take a tuple instead:

uncurry :: (a -> b -> c) -> ((a, b) -> c)
uncurry f p = f (fst p) (snd p)

Partial application is when you take the function that currying gave you, and apply it to only some of its initial arguments. Haskell functions are curried by default (it's pretty easy to define uncurried versions, but it's not what the syntax encourages).

</pedantic>. Yeah, I think I'm more of a language wanker (wankler?) than you are. ;-)
Live preview falls short in many ways:

Visual lag: there is always some lag, and blurring if motion is involved with an LCD display. Action shots are just a guessing game.

Loss of resolution: The human eye can resolve detail a lot better than a small display. This is especially important for getting accurate focus.

There are other factors as well.
The article's a mess. The basic point is that most DSLRs, except for the true high-end "full frame" models, have sensors that aren't as big as 35mm film was. So the big 35mm SLR lens is partially wasted, focusing light in areas where there is no sensor.

So there's a new class of high-end cameras that take the same smaller sensor size and pair it with interchangeable lenses. That produced the four-thirds system (http://en.wikipedia.org/wiki/Four_Thirds_system). Then if you remove the optical viewfinder and mirror, you get the even smaller micro four-thirds system (http://en.wikipedia.org/wiki/Micro_Four_Thirds_system).

They're a great system for the "prosumer" or high end amateur photographer. You get essentially the same quality as the lower-end DSLRs with smaller cameras and lenses.

The only downsides are that so far they seem to be more expensive than the low-end DSLRs and I think lots of people just like carrying around a big black camera with their long kit zoom lens on it.
> I assume the 65% rule was put in place to handle abusive semiautomated voting.

I'm not sure I understand how that's materially different than what you are doing?

So the vast majority of the time when you do go to vote on a comment, it's a downvote? I know that you didn't get a karma in the mid-20k's by having people do that to you -- perhaps they should have. As this discussion is revealing, the system has artificially capped you at 65% but by your own admission it would be some significant percentage higher than that?

I'm not sure which adjective I could use to describe such malevolent behavior...."shocking" comes to mind, but so does "abusive".

I mean, I'm sitting here stunned. This means that you click the little down arrow at a rate almost 2x the rate you click the little up arrow. And that's only because the system has capped you to that "low" of a downvote rate. Given your druthers it would be higher. Or to put that into perspective, that's ~15 thousand points of your current karma score if this site gave you a point for every vote you doled out.

So that I can not loose all faith in humanity, I have to ask this honest question:

Do the things people have to say around here either not make an impression on you so you don't bother voting ever, and when you do it's only out of some kind of indignant revulsion and you've only voted some trivial number of times, like 3 times total? (Please say yes).

and people seem to not comprehend my bitching about the downvote hoards on HN
IPOD DOCKING STATION CLOCK RADIO HIDDEN AUDIO MONITORING DEVICE
This habituates users to download and install software when a site tells them to. How can average Facebook users be expected to tell the difference between this and an "Antivirus 2009"-style trojan presented by a rogue Facebook app?
Wholly agreed. I'm certain the ISS will be of great use in a future manned Mars project (supposing we don't wait until the ISS goes the way of Mir), but repurposing it as a vehicle to Mars is, quite frankly, fucking moronic and as stupid as trying to break the land speed record in a modified backhoe. Simply put: That shit ain't happening.

The ISS would be best used as a permanent base for the crew constructing the manned vehicle to Mars. The ISS would also be capable of acting as a tether for the vehicle, enabling its own habitation modules to be created first. Then once the Mars vehicles habitation module is made, it can be the base for the construction effort.

Using the ISS as a habitation module for the construction effort will significantly speed up the process. Instead of taking years to assemble the structure, like with the ISS, the entire project could be assembled in months with a permanent crew in space. The ISS struggled with getting enough launches, a multinational manned Mars mission would enable launches to be made from at least 3 locations. NASA, ESA and Russia are all capable of launching large components into space, and a ISS based crew would be capable of the assembly process. The ISS will be capable of housing 6 astronauts at one time (I'm unsure if life support can handle 6 astronauts for months at a time, but that's easy to resolve if needed), which means projects could easily continue on the ISS while a Mars project is underway.

I believe everyone wants the manned Mars mission to last longer than the construction effort, or it's going to be a serious anti-climax. Also I hope NASA plans ahead and that the Mars craft is highly reusable and highly adaptable for later missions.
I want to see someone ride a segway while wearing this. Hopefully while also using a bluetooth headset.
Many lenses (Nikon DX; Canon EF-S) do not fill the frame. They are smaller and lighter as well.
I don't know how practical the advice still is today, but traditionally those doing candid photography preferred equipments that are as less conspicuous as possible, that's why Leica has been so popular among photojournalists.

Henry Cartier Bresson, they guy who pioneered photojournalism, used to wrap black tape around his Leica to make it less distracting to his subjects.
I'm certainly no opponent of pair programming, but its proponents often seem not to address the 0th order argument against it: the parallel/series problem. To complete tasks A and B, Alice and Bob can finish them in parallel if they work alone, but can finish them only in series if they work together. This means that, for equal-sized tasks, solo programming is a priori twice as productive as pair programming. I'm perfectly willing to believe that the benefits of pairing can overcome this factor (and more), but that's a strong claim and requires strong evidence.
“Whenever the literary German dives into a sentence, that is the last you are going to see of him till he emerges on the other side of his Atlantic with his verb in his mouth.” (Mark Twain) (I am German btw)
Perl is for legacy people and legacy code.

Well, so is everything else. The "state of the art" is about 30 years behind the newest ideas.

I am confused as to why you exclude Perl from the group of "modern scripting languages" -- Perl 5's object system is stolen from Python, for example, which means it's newer (and therefore more "modern") than Python.

Anyway, Perl's advantages for writing new code is its library ecosystem. It is continually evolving to incorporate new ideas and make them easily usable for the average developer; easily usable in a way that allows them to keep their old code alive and working, but while making their new code much better.

An example of this that always comes up is the Moose object system. It interoperates with Perl's rather-limited built-in object system; this means, you don't have to throw away your old code to get the advantages of a new object system in your new code. And, it's newer than all of Ruby, Python, Smalltalk, and Common Lisp, and it learns from all those object systems and provides Perl with something better than those. I would go so far as to say it's a compelling reason to continue to use Perl and to choose Perl for new applications; when I write OO code in languages other than Perl I am always wishing I had certain Moose features. (Usually lazy_build.) I usually end up with something that doesn't quite work the way I want it to, which is sad. In Perl, I always get what I want.

(How would I write something like Test::Sweet in Python?)

Perl also has a few more libraries than Ruby or Python or PHP. This probably doesn't matter for your average application; you are going to be able to connect to your MySQL database in any of those languages. But it is nice when something strange comes up; there is usually a library than at least partially solves your problem. That's a product of keeping Perl 5 stable and gradually adding new features.

Python's strategy is "hello, there's Python 3 now, it's awesome, oh yeah, just rewrite all your apps and libraries!" which is not as conducive to keeping the library ecosystem alive.

So anyway, "Perl is for legacy people and legacy code" is clever and true. But it's also for modern people and modern code. The real world requires both.
Here's a post which is well within the limits of what nobody would describe as off-topic on HN, yet adds absolutely no value. As far as I'm concerned it isn't smart, it isn't funny, and it sure isn't informative. The last thing we need is more ammunition for people to fire at each other in language wars. Thankfully, the wannabe meme advocated by this post is so lame it will never get off the ground.
Thanks for the explanation.

Yeah, I think I'm more of a language wanker (wankler?) than you are. ;-)

I thought about going into this much detail, but when you are engaging people that just want to insult, it is probably not worth the time. Better to use the time to use these clearly-useless features to write clearly-useful programs instead :)
I don't see 3D really catching on. At least not as a driving factor for HDTV sales. If it happens to be something that every HDTV includes it will be adopted for the novelty factor alone but I can't imagine a wide mainstream market paying a premium for it. It's just too gimmicky. I think the push for 3D is simply a result of how quickly HDTV prices dropped. They need something new to sell until 2K displays (and content to sell them) are mainstream.
On my 1.4ghz core 2 duo laptop, which isn't a very powerful machine, the above scala code runs in about 1 second when compiled. If I let the code run once to to let the JIT warm up and only measure the execution of the main body, it runs in .60 seconds on average. By comparison, gcc with -O3 runs the program in about .57 seconds.

I don't know how you got 4 seconds unless you ran the program as a script and had a lot of other stuff running simultaneously. A simple scala hello world program on my machine has a startup time of 1.5 seconds when run as a script.
The wanklage comment was specifically about Perl 6. If you're working professionally with perl, it's quite clearly with perl 5, which is as practically-focused a language as there is. Perl 5 is perhaps the archetype (maybe shared with C) for a non-wanklage; it's never appealed to language geeks at all.
I suspect rbanffy is talking about things like avionics, medical device control, and the space shuttle. This is a whole other ball game, and it is possible to ship software that is pretty darn close to perfect in those domains. They cost a few orders of magnitude more per requirement, and the requirements are sharply limited. These systems usually operate on a very limited number of input values and internal states, so you can often simply enumerate all the possible inputs and all the possible states to verify that the system works as designed.
Your first point makes sense to me, and meshes well with what other posters are saying.

As for RAW, I don't see what that has to do with an SLR viewfinder versus digital live preview. A quick google search suggests that all EVIL type cameras support a RAW format.
This is silly. If you don't like perl, you don't have to use it. But don't pretend that these are hugely different languages; they're much more alike than different. The choice between them is really one of taste only. If you can't see that, I honestly have to question the extent to which you've "used" these languages.
http://www.speedtest.net/result/684085401.png

This is their 14Mb/s package and this is through a wifi. I'm not sure if this is a testament to cogeco's quality, or how I set up my wireless network. Their customer service is friendly and easy, so I'd suggest you get it if you ever move out of Ottawa.

Cogeco is expanding east in Ontario and west from in Quebec, so sooner or later they'll likely his Ottawa from one side or the other, so I'd recommend switching if you want good speed. I've never found them to be geek-unfriendly, they're certainly significantly better than the major alternatives.

Bell flat out sucked and was downright unworkable with some issues, so I seriously sympathize with those Canadians stuck with their service.
It seems like it's about one step above "*BSD is dying". Funny in a perverse sort of way, but it's absolutely out of place here on HN.
social activists like Han Han is not measured by the degree of education he gets.
He doesn't appear to know the difference between perl and perl6, either - then again, he lumps all the lisps together as well, so maybe he really means "language family" when he says "language".

Oh well. All my favourite production tools (perl, C, unix ...) have been declared dead at least once - that's how I know they're well proven and solid. Apparently now three of my favourite language families are also overrun with people thinking about how to implement them - I'm not quite sure why that's a bad thing either.
I didn't consider it to be a serious article, more "fantasy thinking" on an afternoon.

If the operational lifetime of the ISS could somehow be extended (just keeping all the seals, metals, circuits, and infrastructure _stable_ in the vacuum/radiation/harsh-conditions-of-space will be a challenge - forget about _accelerating_ the thing out of Earth Orbit) then I've always thought that at the very least, using the ISS as a possible escape location should problems pop up during Mars-Mission vehicle construction would be great. You then run into problems of trying to construct a device in the same relative orbit as the ISS, but _that_ is a solvable problem.
By 2013, Phones Will Overtake PCs As Most Common Web Access Device
One of the examples of innovation here was in banking -- I'll get back to this in a second.

The problem with innovating is that it's a very Darwinian process, more attempts to innovate fail than succeed -- the risk level is thus very high. An animal is more likely to ensure survival doing what it knows than trying something new. Similarly, an organization will generally tend to continue plodding along as-is instead of innovating -- unless there are sufficient external pressures to force it to want to try.

Apple is an interesting case study in this. They compete as a single company against an enormous competitor, Wintel PCs. In order to survive they've had to keep innovating...the status quo would not ensure survival any more than a gazelle continuing to stand around (status quo) while being attacked by a lion would survive. Instead it runs off and tries to make a go of it doing something different.

In banking, it's all different. The risk to innovate is much higher, and the attacker is much slower. It's more like the gazelle is being attacked by a giant sloth. It can stand around longer, doing gazelle stuff, and when the sloth gets close enough to take a swipe, it simply walks a few steps away and goes back to doing gazelle stuff. If the gazelle were to just run off as soon as it spied the sloth, it would uselessly consume calories and eventually just die of a heart attack...thus, it mostly just stands around.

So innovation in banking is not the same as innovation in computing. It has to be more conservative because it'll die of a heart attack. More importantly, the analogy is only complete when we consider that the gazelle is also driving my brand new car. And if it peeled out every time it saw sloth it might end up wrapped around a telephone pole. Sure it might die if it screws up my car, it might survive, but most important to me is that the gazelle, in a fit of innovational panic, broke my new car.

In other words, I really really don't want a bank screwing around and innovating with my money.
> If you are afraid to defend a view because your average karma on some website will fall below a certain level, then you are not the type of person that should be defending views.

You must be new here :)

> Say what you believe in. Karma, comment average is unimportant.

Absolutely, but the general case will, at least as long as the leaderboard exists, be the opposite.

> I'm here to talk, not to vote.

Voting on articles is useful because it gives good stuff more attention. Voting on comments is useful to get rid of the trolls, and it allows people that have limited time to spend to browse HN articles fast to get the good stuff.
More importantly, function pointers can be used (especially in type definitions) as a way for polymorphism and object oriented code in C.

If you have a struct, and it has type definition pointers in it, you can create a set of initialization functions that set the function pointers to the correct "class functions" of that type.

I use function pointers in C everyday and it makes coding more robust and extremely easy to get the performance out of OOP code in a procedural environment when C++ isn't an option.
http://news.ycombinator.com/item?id=1055429
Computers and Mathematics: Problems & Prospects by Ron Graham
Tissue Tracking
McKesson’s new Horizon Tissue Manager™ is a tissue tracking and inventory management software solution to help you efficiently manage tissue and device implants from the time they are received in your facility through patient implant or final disposal.
Nice work sneaking that bald language flame into your complaint about language flames.
Bing's URL shortener (binged.it) has a longer domain name than bing.com
Cocoa/Lisp Tutorial
By way of Zach Beane: http://xach.livejournal.com/242657.html
Putting a price on the emotional benefits of having a pro sports team in town
Apple vs. Google
I think Zeroth Law of On-Topic is "adds value". Flagged, honestly.
>He wove a lot of observations into the piece.

In what sense were they "observations"? I did see a lot of assertions about people's use of language that weren't backed up by any data, but I didn't see any observations.

>Hitchens is a man of letters, not an academic linguist.

I guess my question would be whether you'd be equally happy if he wrote in the same style about (say) physics, geology or programming. Is there something special about language that makes it unnecessary for commentators to know anything about their subject?

And really, the article is about like, for goodness sake. There are literally thousands of grumpy, contentless articles of this sort written over the past couple decades.
I think it's safe to say that most uses of function pointers in C fall into one of two categories: 1. Objects; 2. Continuations; 3. Callbacks from generic algorithms.

A classic example of the first category is in the VFS layer of BSD UNIX: Filesystems provide a standard set of functions for open/read/write/ioctl/stat/close/etc, which all sit in a structure, and the upper layers of the kernel generally invoke those functions without knowing which underlying filesystem is handling them.

A classic example of the second category is event-driven loops: You register "when there's data on socket N, please call this function with this cookie", and the event loop doesn't need to know what the function does or what sort of data you have stored in the cookie. In this way, you can have several different things going on, passing control back and forth by registering "what happens next" and returning.

A classic example of the third category is qsort: There is no requirement for qsort to know what sort of data it is quicksorting, since it invokes the provided callback function whenever it needs to compare two values.
Function pointers are a good means of allowing "flexible" finite state patterns, by making each function a state, directing all program flow to a "next" function pointer, and using conditionals within each state to begin transitions:

/* an "active" state where a timer decrements unless the user hits a key. */
if (timer<1) {prep_for_idle(); next = idle;}
else if (user_hit_key) {timer+=100; next = active;}
else {timer--; next = active;}

I use this pattern in haXe and Python, not C, but it applies equally well.
When I go to that site, it gives me a "Missing License Key Error".
isn't your event-driven loop an example of a callback function? i'm no expert on continuations, but i thought they involved somehow packaging up the 'rest of the computation' in some structure and then running it. your example seems to be an ordinary callback.
Lumix GF1 Fieldtest
Performance and evaluation of the Lumix GF-1, the EVIL pictured in this article.

http://craigmod.com/journal/gf1-fieldtest/

It's not aimed as a gadget review but instead a caring review of the camera across one photographer's grand adventure. The photography and review are both excellent.
That wasn't my point, but here's an example anyway:

http://en.wikipedia.org/wiki/La_Reunion_(Dallas)
Complaining is easy, but how do we fix it? Alan Kay has some ideas: http://vpri.org/html/work/tlpiese.htm

In essence, he believes the power of computers is as a medium for experimentation. If you make it easy for kids to simulate models from axioms, they'll be able to think better. One might call that "programming", but it's really quite a bit more than what people do now.
He's referring to the fact that whenever you display an image on an LCD you're losing an incredible amount of data about the the lighting and color. Data that the CCD actually does collect.

The comment about RAW is saying that your eye, capturing through a mirror viewfinder, is aware of this level of detail. If you view it through the LCD you miss out. This is unimportant if you only use JPG, because that will be neutered similarly to the electronic viewfinder, but if you are shooting RAW then you're looking for something more subtle and need analog control.