skysight-inc/HackerNews huggingface dataset:
I looked at the existing answers, and I don't think anyone made this point: SO and its spinoffs are an example of do what you know.

People can smell when someone not from their domain tries to make something for them - and it does not smell good. In order for the SO model to work, they need experts versed in the area to be the core of the community. There are two ways to do this: try to attract such people after creating the site, or let the site organically arise because it was created by such people.
Also, many Google developers do a big chunk of their development through SSH windows on a laptop working from home. Laptops have limited screen real estate anyway, and it's really handy to be able to use the default PuTTY terminal size and not have to screw around with resizing it.
Google suggests that it's a periodic flatline rather than a complete blackout. Maybe a sort of internet curfew outside of business hours.

http://www.google.com/transparencyreport/traffic/
I'm with RiderOfGiraffes, I'd love to see the code or test it.
Plaintext password?
The distinction I'm trying to make is between parsing the text once (using a compiler-like utility which is separate from the game runtime) then shipping the "compiled" binary format, versus shipping the text file and parsing it every time it's loaded by the game.

I took the parent post to be suggesting linking JSON into the game and parsing on each load -- IMO, the separate-data-compiler approach is superior for large projects, as it speeds up loading by a couple orders of magnitude. That's what I was trying to say.

(On the other hand, linking the entire Common Lisp runtime into your game just to load text files is a terrible idea. Obviously JSON is better for runtime parsing, but I don't think that's what the author is doing.)

So, if you then ask what language the separate data compiler should be written in, it seems like Lisp is a nice approach since it has a nice native object format with a built-in parser. Presumably you could also write it in JavaScript or some other language with excellent JSON support (Ruby? I'm getting outside my expertise here) and get a similar benefit vis-a-vis not having to write a parser.

Edit: I'm betraying my C heritage by saying "linking the Common Lisp runtime." Does that make any sense at all? Assume I mean some viable method of shipping Lisp with the game and making external calls to it somehow. ;)
OpenID makes absolutely no sense to me. Unless they have the sites in a drop down it takes about 5 minutes to read the OpenID spec, google around for where to get the openID url and paste it into the box. OpenID is a solution in search of a problem.

It may have actually been useful if it leveraged DNS SRV records so you could login as foo@bar.com and it would query SRV _openid.bar.com for the URL.
"Damned close" perhaps should be qualified as from the point of view of a Pythonista, given the ideals of that approach to programming. I took issue with the specific point that Python "has no macros", and then I qualified it, knowing full well that Lisp macros do more.

Decorators ultimately result in a function that is a substitute for another function. That function can have all sorts of wonderful runtime behavior, including access to arguments, the call stack, and other functions. Dismissing them as "adding stuff that happens every time the function is called" misses an entire dimension of their utility.
Social Commerce is the NEXT BIG THING.
As jfm3 points out, you're not going to define new language syntax with decorators. You're also not going to apply them on the spot, inline with other code, since they are defined on a function, and aren't used in the same way as macros are in Lisp.

What you can do though is define behavior that varies based on the context. For example in Python you don't have function overloading or types, but with a decorator you can effectively create that type of behavior. So while you're not changing the language, you are changing the semantics of the functions you decorate.
$10/year? Where does a .ly domain cost that much? Everywhere I've seen, those sell for $150/year
Charis - Foam Level Monitor and Controller
Try Haskell. It has a strange mix of beautiful elegant core, and lots of (useful) syntactic sugar added on top.
Then I'm sure you'll be back in FF soon enough. When they talked about ceasing to display the protocol, I thought surely it would just be a default and I could put it back. No such luck. I'd expect this to go the same way. It's their way or the highway.

I'm still running Chrome, but only until I get around to switching. I won't install it again. Not that Google cares at all what J. Random Hacker thinks.
Accepting payments on a desktop application
Hi guys,

I've built a desktop application in C++ and want to be able to accept credit card payments. Any pointers to any resources on how I could go about implementing this part?
Yes, I'll have to agree with that.
> It is somewhat surprising that Google is not pursuing the sidetab navigation version [...]. The company said that this layout would waste space for users who do not use many tabs, that it only works nicely on screen layouts that are 1366 pixels wide and that the layout does not relate well to Chromium browser overall.

Yeah that's a nice list of reasons not to do the obviously right thing.

Take that very page. Its viewable area is 985px by 4701px. Even my little 1280x800 screen has huge gray bars on the left and right sides to fill up the wasted horizontal space. I have to scroll vertically seven times to see it all.

Do Chrome devs not use widescreen monitors? What makes them think cramming weird, non-idiomatic UI elements into the window's precious vertical space makes any sense at all?

That sidetab version is beautiful.
Logitech Revue sold 93,400 Units as of Q4 2010
Ah, but you can in Scheme. :)

guile> (define if (lambda (. args) (display "Haha!") (newline)))
guile> (if (= 3 4) 't 'f)
Haha!
In theory, Claim #1 is a standalone claim (though it might only in practice be upheld in conjunction with later claims), and that one is pretty broad. Basically claims to patent the idea of dragging files to an icon, which results in the files being copied elsewhere. Not even specifically backup-related; the description appears to be of any network filesystem that supports GUI drag-and-drop.
Oil is fungible, .ly domains are not.
Processor Comparison - Tegra-2, HummingBird, Snapdragon, OMAP
My mum uses it. It's pretty mainstream.
Then they shut down your internet...

Then you win?

At best, it's an admission of defeat.

At worst, it's an admission that you're repressive and you don't care who knows it.
It would be cool if they only shut down the Internet and you win.
Google transparency traffic also suggests that the shutdowns have been sporadic. Maybe it's a kind of internet curfew.
Verizon iPhone owners are buying very few apps relative to other iPhone owners. This also seems unlikely.

I would like to see more data to address this question. Especially interesting would be data form anyone delivering a free ios app. Verizon users have been pushed towards to Android phones for a year now, and that user base is trained to look for free instead of paid.
One could use a library for reading/writing s-expressions.
That was my initial guess... I see two main scenarios for Verizon iPhone buyers:

1) existing iPhone users switching to Verizon

2) Verizon users that don't have an Android phone buying an iPhone

In the first case, they'd already have the apps they want. In the second, they may not be used to buying Apps yet. I'd be interested to know what the sales of something more mainstream would be. I just don't see the buyers of Instapaper being in category #2.
Eh?

It's a pretty fundamental part of usability, design, and business in general. Blaming your users is never a good idea.
I've heard that part of the army is now supporting the protesters, which is a very good sign.
I thought jQuery was depreciating $.browser anyways...
Thanks! This reminds me of what our government is trying to do (they're trying to create curriculum based entirely on freely accessible online material).

I forget where I read it from but stuff like this (and the OpenCourseWare movement) is definitely an area of education that's pretty fascinating to see develop.
This 'problem' can actually come in handy when used with a regex callback function.

See if you can determine what this does:

def cbk(match, nb = [0] ):
if len(match.group())==len(nb):
nb[-1] += 1
elif len(match.group())>len(nb):
nb.append(1)
else:
nb[:] = nb[0:len(match.group())]
nb[-1] += 1
return match.group()+' '+('.'.join(map(str,nb)))

str = re.compile('^(#+)',re.MULTILINE).sub(cbk,str)
Basically, if you've reached the point of cutting of internet, you've reached the point where you're going to be killing your own populace to hold on.

This thought puts the proposed US Internet Shutoff switch in a new light for me.
lol. , Quora needs lot of improvement to compete with stackoverflow. And both have different structures
So you base that Stack Exchange has failed on one out of the two failed sites, out of over forty proposals that are still there?

As has already been mentioned elsewhere, if the site lacks genuine expertise of the topic, the blind will simply follow the other blind. Putting a site that doesn't work out of it's misery is doing the users a favor in the long run
Green cards for immigrants who start companies
Instapaper does seem geeky, but if it's always in the top charts for paid news apps I think it's safe to say that it's pretty mainstream in the iOS ecosystem.
Sorry I was not clear and it is not terribly important. I've just wondered what it actually means to be "registered." If I have recovered my cookie-based account it means the account has been verified by e-mail. I'm just wondering isn't that a form of registration without having to have used OpenID?
This host-your-site-on-s3 stuff inspired me to write a simple static site generator that I can evolve with my needs. I've been using soywiki a lot, so I built it to use a "site" namespace in my soywiki and am using watchr to figure out when to regenerate the changed pages and send off to s3. Here's the page that is generated: http://zackhamcom.s3-website-us-east-1.amazonaws.com/

If this seems interesting to anyone let me know, I'd love to chat about it or collaborate on it moving forward.
I thought it came about because screens are measuered in diagonal distance, and the diagonal distance for 16:9 screens contains less pixels than for 4:3, so they are cheaper to make.
It's a great precedent, especially if you're the military and you want to be rid of the dictator and grab power yourself.
BlackBerry PlayBook Simulator
Why I don't care very much about tablets anymore
It was for humour value.
It's easy to read. You can determine how to interpret something—a string, a list, a function call, a definition—just by looking at the code locally.

I actually find that Lisp scores some local-readability points over Python in a few cases, mainly because Lisp is more explicit about scope, e.g.

(let ((a (something))
(b (other-thing))
(frobnicate a b))
...other code

versus

a = something()
b = other_thing()
frobnicate(a, b)
...other code

is more explicit about the intended lifetimes and consumers of the data "a" and "b". Lisp also has the "with a = (blah)" keyword for "loop" so the assignment can be made specifically in the context of loop preparation.

All in all I'm actually happier with my ability to signal my intent (and gauge other programmers' intent) in Lisp than I am in Python.
Another thing you can do is buy a smaller 16:9 one and rotate it 90 degrees. If you set up two side-by-side in this configuration, you've got a display which is almost square.
Why don't you let unregistered users vote?
It was amazing on the IMAX. I was a little sad that it only displayed on about 1/5th of the screen infront. I assume it only fit onto one projector instead of the software cutting it up to fill the whole dome.

It is a little slow at first, but once he gets to explaining the tech, it was wonderful.
You need 500 or 600 now I think. I lost the ability a few months ago. No great loss :)
Yeah. And it's not like I can't use previous code from previous projects as a starting point (since I use Python, I have a skeleton Jinja template handy that is all I use for HTML5). If all he's providing is a couple tags and the doctype declaration, why would I even need his "boilerplate"? A knowledge repository is a lot more useful than basically telling me I need a doctype, html/head/body tags, and a compatibility layer for IE.
I have it set to 125ms. I bumped it to 200 and it felt really unresponsive.

When in doubt, make a configuration option right? ;)
Yeah, totally agree. The key mappings need some work. I just wanted to emulate his original one. I'll do a Dvorak one, might be easier.
So is anyone big using Tornado in production? I expected the development to stall with the buyout of Friendfeed
This thread is about C++. Therefore, part of this thread must be dedicated to rants about C++. This may be an Internet law.

Thus, here's the C++ Frequently Questioned Answers List:

http://yosefk.com/c++fqa/fqa.html
Peter Relan On How CrowdStar Plans To Take On Zynga, EA And Playdom In 2011
That would be good, but then again - Apple was supposed to launch the White iPhone 4 a long time ago, too...
Absolutely a good sign. Hope it puts things in their favor. There have already been too many deaths.
.. or "Website Landing Page Layouts"
Australian telco Telstra frees open source code
That's a fair assessment. I don't really see a problem with the current system either, I just know that downvotes without a comment in reply agitate me. Maybe I should lighten up :)
this is ridiculous.

yeah, let's all stop buying .ly domains and go on driving a Hummer to work, mission accomplished.

no, you should neither buy .ly nor drive a Hummer.

real hackers have a perspective about the world things, I hope.

(Full disclosure: Jeep owner. It's a diesel)
Lightboxes are a very effective tool for FORCIBLY FOCUSING YOUR ATTENTION RIGHT HERE RIGHT NOW. What do most commercial websites want to forcibly focus your attention on right here right now? Yeah. Adverts.

It's an arms race. Advertisers will always use the most in-your-face tool available. First it was banner ads, before Javascript and pop-ups became common. Banner blockers appeared. Then it was pop-ups, until the broader community and browser vendors decided that the S/N ratio for pop-ups was so low that we were better off killing them entirely. Then it was Flash, with the added benefit of literal noise... and now Flash-blocking is an essential component of any browser. The current advertising tool of choice is lightboxes and other floating divs: harder to automatically distinguish from actual desired content within HTML, but we're starting to see browser addons and tools that can do that blocking job too.

Currently gaining in popularity is requiring that an advertisement appear and be experienced in its entirety before any access to content at all. Hulu led the way on this. Well, unless you count television and radio which discovered that format about sixty or ninety years ago. The market response was the VCR then DVR once the technology was feasible. Next move: a "web DVR" that will experience the ads for you and "record" the web site until it can be played back without the interruption?
For those who are interested, http://www.guardian.co.uk/world/2011/feb/20/unrest-morocco-i... says that protests are also happening in Morocco, Iran, Algeria, Yemen and China.

If this continues to spread it could end up being the biggest change in geopolitics since the fall of the Iron Curtain.
I understand what you're saying, but I think you're unnecessarily conflating two orthogonal concepts: how the human-readable data is parsed, and whether the shipped game uses that process or loads a binary format. Jerf's post made no mention of changing the second concept, only the first.
I think people are making too big of a deal out of all these tablets coming out. Android 3.0 looks like a great OS and I'd love to have a device that runs it, but I don't think they're as useful as people believe them to be.

The main reason they're becoming so widespread is because carriers are offering them with 3G data plans. People use them for tethering, etc. I have an iPad that I hardly use. The thing is useful sometimes, but it's just so rare that I actually take it out to use it when I have my netbook, desktop, and an Android phone that's more powerful...
It appears to do a basic regex to validate the e-mail address but does not require a confirmation e-mail to be sent to post comments.
Cute! And you're right! Scheme should be kept away from people who are prone to hurt themselves, as well as nail clippers and letter openers. Too dangerous!

:)
Not every flag is in there though. I wasn't aware that the vertical tabs flag had graduated to about:flags status but now I see that it has.
Sure, what you said is all true. And guess what? The only cure for it is to move further along the line of industrialization.

Guess how you get there.

It's always hilarious to see rich white people talking about how the poor asian people need to be living their lives.
(f x) is not different things. It is just that the meaning of (f x) depends on a context and is only meaningful in a context.

(f x) alone is a call, a macro or function.

(let ((f x)) ...) , here (f x) is an item in a binding list.

What a Lisp programmer sees is a pattern introduced by LET:

LET ((var value)*) body

There are a handful of basic macro code structure patterns. Once they are learned and attached to the symbol of the corresponding macro, the understanding of code is much improved.

Reading Lisp code requires to identify the visual marker - the symbol in front. Depending on that there are code patterns that can be visually destructured: lists, property lists, assoc lists, lambda lists, binding lists, ...

In other languages the visual markers are supported by different characters. In Lisp it is a symbol.

{
a := b + x;
}

vs.

(progn
(setq a (+ b x)))

As a Lisp programmer I'm trained to see the PROGN, not the parentheses.

It is a bit like being afraid of riding a bicycle for the first time. How can one move forward and balance at the same time? Difficult. Once learned it is simple and hard to unlearn.

How can one read the various Lisp code patterns? Once you have learned them it is easy and hard to unlearn.
"Recently I have noticed a tendency in the Common Lisp community to criticize Scheme"

That goes back at least to the mid-90s when I was following comp.lang.lisp. It seemed like Kent Pitman kind of pioneered this field of criticism, though I was never connected enough to be sure.
Do you know that TeX is a Turing-complete programming language?
My fault. Just saw constant time and chain in one sentence and panicked ;)
Good point. Maybe put downvote between "X points" and "by"? Gives unclickable buffer space on each side of the arrow.
are you sure? .ly domains look pretty fungible to me now.
Obviously we need low level languages. Assembly and C are beautiful languages, even compared to other high level ones. I enjoyed every minute of learning them.

Deep knowledge of C++ is something I would love to have, and I have much respect for those who can grasp all of its concepts.
This was a hugely significant change in the climbing community at the time. There was real risk involved in climbing "clean" without pitons. A piton hammered into a granite crack is very solid protection, it's pretty straightforward to find where to place one and to place one in a manner such that it will hold a fall. In contrast, it takes a lot more skill and experience (neither of which existed anywhere initially) to place a hex or a nut correctly. And if you place them incorrectly, or even if you sling them incorrectly, there's a very real risk they can pull out or not hold a fall. Moreover, passive protection of this sort only works in certain kinds of rock, some of the more popular routes at the time were cracks which were very hard to protect.

This meant that a lot of very popular routes became a lot more dangerous to climb cleanly. To their credit, the climbing community just accepted that and moved on.

It wasn't until the late 70s that cams (SLCDs) were invented and clean protection devices attained sufficient breadth to protect very nearly any climb that could have been protected with pitons.
Is Firefox the New Internet Explorer?
Other popular examples he could consider adding:

Image seam carving. Remember when this was all the rage a while ago? The 2D offset pattern is "up-left, up, up-right" for the vanilla version of the algorithm. If you want to support seams with a sharper slope, the offset pattern will be correspondingly wider.

Optimal game playing. Whenever the space of states is much smaller than the space of move sequences, you probably want dynamic programming. Example: The game state consists of a string of tokens, each with a point value. Players take turns removing a token from the string's left or right edge, adding its value to their running score. Here the move space grows exponentially but the state space only grows quadratically.

Pseudo-polynomial algorithms for NP-complete problems. You can think of these as one-player games analogous to the above two-player games where as before the state space has small size compared to the move space. A classic example is the knapsack problem with integer weights and a small knapsack; here the table offsets would be the different weights.

I've long loved this quote from Steve Skiena:

"Once you understand it, dynamic programming is probably the easiest algorithm design technique to apply in practice. In fact, I find that dynamic programming algorithms are often easier to reinvent than to try to look up in a book. That said, until you understand dynamic programming, it seems like magic."

When I first read this as a kid having a hard time grokking dynamic programming, I thought it was bluster. Now I know it's the absolute truth. You could even argue that dynamic programming should be considered a single algorithm rather than an algorithm design technique, but that might be going too far.
Lightening up in online communities is a generally good idea. Not taking things personally makes the whole community more enjoyable for everyone.
Call it "HTML5 Utility Belt" and the article's argument goes away.

(I was going to say it "evaporates", but it's all hot air already.)
There's a major annoyance with these. The dialog that accepts the password does not support paste. You actually have to type the password. I don't even want to know my password--that's the job of a password manager.

but once you do type the password into that dialog you can save it and password manager will do its' job from then on.
Why does scheme have syntax for multiple values at all?

(define (g x y z) ...)
(call-with-values f g)

means the same as

(define (g . xs) ...)
(apply g (f)),

and it's longer.

If there's room for extra syntax, I think

(g . (f a b c))

for

(apply g (f a b c))

would be more useful.
> Gimp has an interface which discards the patterns present on every platform in existence

Do you say that because of the multiple windows? If so Apple's Interface Builder seems to follow the same convention.
>I'm not sure what massive win for macros is left.

From my point of view, not being able to define new syntax is as serious a limitation as not being able to define new functions, or data structures.

There are a number of specific examples usually cited to explain why the ability to define new syntax is important. Answering these specific examples by adding more static syntax to the language seems to be severely missing the point, to me.

Imagine it was functions instead. "Well your language already has a sort() function, but say you want to use an in-place sort instead of what you get with the standard library? You need the ability to define your own functions." "No we don't, our BDFL added an in_place_sort() routine to the standard library for the next version of the language." That doesn't make sense to me at all.