skysight-inc/HackerNews huggingface dataset:
I've watched and spoken to a large number of beginning C and C++ programmers (and beginning programmers in general) during their first terms of programming in university. I've noticed a few common problems, and I think they all stem from not understanding the details of how a program runs on a real machine:

- The concept of a variable, and variables changing over time, seems quite difficult for people to grasp even when explained a few different ways. "x = 5" followed by "x = 12" proves quite mystifying, and "x = x + 1" even more so. People seem to have the most success with the idea that declaring a variable "int x" creates a location x which can hold an int, and you can put things in that location.

- Pointers actually don't seem to trip that many people up initially, once they get to that point. However, I don't think people actually understand exactly what they do, so much as memorize the rules for dealing with them. The same idea of a location to put something applies here too.

- Any case where the same function gets called more than once often ends up tripping people up; this applies particularly to recursion, but it can happen even when just calling the same function several times. In particular, this often interacts badly with people's understandings of variables. People need some understanding of scope.

- Combining several of the above, it would help to have clear explanations of the interactions between pointers, locations, and functions. Bonus for explaining what goes horribly wrong if a pointer refers to something that goes out of scope. That concept requires understanding several different pieces of C and putting them together.
That's because Google+ has only been released to industry insiders and participants, if I remember correctly.
Or people with screen-readers, or w3m, or actual security concerns. There are lots of sites where JS is an essential part of their functionality! It is a feature when these sites break with JS off (even though it is best when they provide alternate functionality in that case - GMail is a great example). But if you are, like this prat, serving text, if you are presenting a fucking blog, then completely breaking with JS off is, again, evidence that you are a Bad Programmer and a Bad Person.
The Linux kernel, weird requirements and all, actually represents an excellent example of using C well. It has high-level functions, objects, classes, abstract data types, interfaces, and many other useful abstractions to make C almost comfortable.
Fish stocks is the next challenge, now that global warming is being dealt.
[Global Warming] Skeptics: Real or Fake?
Maybe he's referring to how identifiers with leading underscores followed by a capital letter are reserved in C++ (I'm not sure if they are in C)...
After arguing I read the preface to Zed's book. He wrote "LCTHW will not be for beginners, but for people who have at least read LPTHW or know one other programming language." It seems LCTHW addresses the same audience as K&R after all.
Personally, I hope that this book will work for people who don't already know a programming language. C seems like a great first language to learn if only because (if taught well) it exposes a large number of the underlying details of how programs actually run on a system.
"Maybe". You still have to go through and convert lone surrogates to the replacement char.
Hacking Hollywood
When I first learned C, I did so under DOS, an environment in which you could declare a pointer to video memory, make a magic call, and start drawing graphics. I found that a memorable way to learn pointers. Sadly, doing that in the modern world requires quite a bit more setup.
Agreed, but it's still sort of a weird case, I think.
The considerations related to things like memory allocation, performance, concurrency, internationalization, security, IO, etc. are pretty different in the kernel.
เว็บแทงบอลออนไลน์ที่ดีที่สุด เว็บแทงบอลน่าเชื่อถือ ลองดูที่นี่
Map of the World Drawn Entirely Using Facebook Connections
For one, they tried hard to support every possible video format for upload (as opposed to, e.g., Google Video, which was much pickier about what it would accept). In general, they nailed the "just make it work" factor.

(Subjectively, I remember YouTube being the first site that made me think, "wow! video on the internet! it works!". Ironically enough, this is no longer really true -- half the time YT starts buffering part way through the video (sometimes never to go finish w/o a full page refresh), & the other half the time you get a disruptive pop-up covering 20% of the screen. Bah.)
ZEN Audio Player A gorgeous single-song HTML5 Audio Player
TrueCrypt Discrepancy
Maybe "low level" is a bit ambiguous.

I certainly agree that C is most appropriate when you are "low in the stack," just above the operating system and maybe implementing something like a virtual machine. I don't make a habit of writing stuff in C for no reason and the vast majority of programming these days isn't and shouldn't be in C (or C++ for that matter).

However, "low in the stack" is different from "low level" like "I refuse to use modern practices" or "I get to omit half the letters from my function names." You can be coding an on-the-metal kind of thing and still think about it in a high level way.
Didn't some one post something similar last year(?) and it ended up they were getting chucked into the wrong server pool or something and someone at google fixed that?
That's nothing to do with C as a language, but rather to do with relevant APIs, which can be difficult to read at times.
> I'm also just aesthetically opposed to descriptive names.

In your case, I think a coined name is OK because any alternative that I can think of--like "Multi Product Installer"--sounds horribly generic. Multi Product Installer is no easier to remember than Automated Setup Utility, or Quick Choice and Download, or whatever.

By I do think that for a fast-moving market, a descriptive name (or at least a memorable one) is pretty important. Movies are great example of this. I'm convinced that some really good movies that have done badly at the box office failed because of the their names.

Two examples that come to mind are "Waking Ned Devine" and "ffolkes". You get no clue what the movies are about from these titles. Are they comedies or action movies? Who knows. It would be so much better for these films to have been called, say, "Get the Dead Guy's Fortune" and "North Sea Hijack", respectively.

I've personally chosen movies to watch based solely on the title (when the film I came to actually see was sold out, for example), so there's no denying that it can have a big effect when you need to make choices quickly. In this respect, "Facebook" makes sense, especially in a super-fast arena like social media software.

"Google", by the way, is not a counter-example to my point because the name is memorable (by association with googol) to techie people who would have been the early users.
The advantage is probably just that it's owned by NASA rather than by a private entity. This could allow it to be used for sensitive or classified applications, or for space related applications (which could be classed as munitions, which [I'm not a lawyer, but i'm guessing...] means putting them on AWS could count as "exporting" them).
Here's How Square Plans To Spend $100 Million
Right, agreed. :)
Really? How would dereferencing a NULL pointer cause "some really nasty crashes"?

Yes, it will crash. That is a Good Thing(tm).

1) It is extremely unlikely that malloc() will ever return NULL (on a PC). This is due to virtual memory. If you manage to allocate more than 1.5GB of memory, then yes. Otherwise no.

2) Even if malloc() does return NULL, then NULL checking it is pointless because program operation cannot realistically continue. You need that memory. The best and cleanest solution is to crash. You will get a call trace leading to the exact point of failure (which you won't get if you do NULL checks + continue program execution). Also, as far as I know, it's almost impossible for a dereferenced NULL pointer to be a security vulnerability, unlike e.g. a buffer overrun.

In summary, just let it crash. There isn't any reason not to, unless you're developing a "third-party library" (e.g. you're a Lua developer, etc) and you want to leave the decision of whether to crash to the programmers using your code.
Google’s “Pi” In The Face
Google+: Why I Think Mom and Dad Will Use It
You'd still need to explain pointer arithmetic somehow.
You're very wise. Thank you for sharing.

It's satisfying that you were able to say "There's a good chance you're wrong, here's why" and then be confirmed by testing. You obviously have a great deal of experience with low-level programming; relatively rare, nowadays. Mine comes from graphics programming.

Also, which article are you referring to? Any keywords I can search for?
Nice idea, but surely you can't introduce a new cross-site communications protocol without discussing the security implications?
If you don't think Wikileaks constitutes free speech, I'd be more curious how you define it yourself.
I'm amused you took the time to put in 2pi there.
If you're that worried, you can delete your web history and permanently opt-out of Google Analytics using Google's supplied opt-out extensions for Chrome and Firefox.

They allow you to do things like that (not to mention data liberation efforts), which is the point the parent was making.
s/clarified/fixed/

If you search the comment thread, the original wording is "we think it necessary" which should be "we think is necessary".

http://blog.dropbox.com/?p=846&updated#comment-240678381

I'm surprised an editor didn't catch that.
What's future is past.

http://en.wikipedia.org/wiki/Cyberdog
http://en.wikipedia.org/wiki/OpenDoc
http://en.wikipedia.org/wiki/Object_Linking_and_Embedding
Data Journalism Developer Studio – Release 1.3.2
Several US states have begun anti-trust investigations into Google
The 8 hour visualization is fascinating to watch. http://video.google.com/videoplay?docid=4775386042852459808

What would it take to get this running under OS X?
My wish came true. :-)

http://apps.ycombinator.com/item?id=1727617
The Google Monopoly Needs To Be Broken Up
I think the level of self-promotion and/or other-people-promoting-him is the key factor. Not really the supposed productivity. I know many people who get a lot done, both for day jobs, for contract work, as a hobby, as entreprenurial ventures, etc. but 99.9% never hits the front page of HN on a regular basis like Zed's activity seems to. Which doesn't lessen what he does and his skills, but it does pull back the camera a bit to put it into a broader context. Not everyone self-promotes to the same extent as Mr. Shaw, or has other people promote them.
Learn You is terrific. Besides that, Conrad Barski and Hal Daume's tutorials, the stuff that the Wash U students did (see Haskell Wiki), and Hutton's little green book.

http://www.haskell.org/haskellwiki/Tutorials
Google's antitrust defense sounds like Microsoft's
I haven't personally used G+ (i wish i could) but from what I've heard so far, they've addressed some of the important issues (Circles & Hangouts), but i wonder whether they did something to reduce the noise from all these people.

Did they do something about this ?
I respectfully disagree. As someone who deals a lot with spam and abuse issues, there's basically nothing left to identify unique clients on the web.

IP addresses definitely don't work and CAPTCHAs don't work either (they're broken by hordes of humans in low-income countries solving them in near-realtime).

How would you prevent automated abuse? It's become a very difficult problem.
Hot South Indian Masala Actress | Hot Masala Actress Photogallery Still
Bhartiya Sahitya
Is there any Online storage or website for Bhartiya Sahitya : Ved, Puran ( in original form , like eBook ) etc ? Please share. Thanks
Older interns signal gloomy labor market
> Why a string must end with a 0 byte.

Unless it's a pstring or you're working with assembly, other language, etc.

But yes there is a lot to learn with C you don't necessarily get with higher level languages in most cases.
Recommended coding style for the Linux Kernel
I may be missing something, but why not just write it ci? Assuming that you have proper indexes on the tables people will be querying, I cannot see a request taking more then 100ms. Even if it is 200 you wouldn't need that matt more instances running, 40 would should be enough.
C allows differences in how negative integers are represented (at least, C89 did---I'm not sure about C99 as I don't have the standard in front of me). There are three different ways to represent negative numbers in binary, sign magnitude, one's complement, and two's complement (these days, most computers are two's complement). The upshot is that you might end up with two type of zeros (sign magnitude, one's complement) or an unequal range of negative numbers (two's complement has one additional negative number) and taking the absolute value of an integer may not be possible for some values (given a 16-bit integer on a two's complement system, you cannot get the absolute value for -32,768, which is a valid integer on such a system).
I'm not so sure.

For one, most of us know the dangers of extrapolating past the end of data points, so we shouldn't base longevity changes on an extrapolated graph.

Secondly, there are signs that longevity has peaked. There was an article a couple of weeks ago that got bandied about in the Australian press (which I can't find now, darn it) that life expectancy is now a little shorter than it was a decade ago. From memory, it was USA data, so perhaps a US reader will remember it.
Okay, Twitter is more like a disassociated bag of nodes in a partially connected non-directional graph where half the edges don't connect to the node they're intended to connect to.

YouTube is a pack of raving howler monkeys with the occasional howler monkey researcher at the periphery. And, in fact, YouTube used to have threads, but they were still threads full of howler monkeys.

I'm talking more like your classic bulletin boards producing high quality content, like MetaFilter, Something Awful, and the like.
Weren't Facebook engineers behind the Cassandra project and HipHop?

Oh, and they have a list of projects their devs contribute to here: https://developers.facebook.com/opensource/
From this and other stories, I get the impression Google went up to about $4 billion before dropping out. I don't see how bidding mathematically amusing amounts along the way indicates they weren't serious.

I expect that at those points in the auction everyone knew it was going to go much higher than the current bids, so Google and everyone else knew that their bids at that point were just formalities. Why not play around a bit?
Alternately if you are really interested you can check the video lectures of many courses and subjects, some are old but hey basics are still the basics they never change :)
http://ocw.mit.edu/courses/electrical-engineering-and-comput...
the linked article specifically addresses this. you should read it.
About which article are you commenting?
The C Standard reserves identifiers starting with a leading underscore for the system implementation (C standard library, Posix libraries, etc). They aren't meant for use by user code (or rather, you can use them, but they might conflict with system defined identifiers).
Ah, you made my point for me!
Google bid pi billion for the patents.

Intelligent people support Tau: http://tauday.com/
This is the least Zed could do.
No, I was thinking binary 19. Does C say the implementation is going to be 1s complements, 2s complements or whatever?

Is there anything that says, for example, it can't be BCD?
Scansnap uses abbyy software and it is very accurate, regardless of the topic of your item because it analyzes the letters not the words.
he's running you in a vm
Could you send me the invitation? nontrax@gmail.com ... Thanks
I'm glad you got so much about how my book is written from a few paragraphs in an unfinished manuscript for it.
They do count in this sense, but the term start-up is being stretched thin (not only here on HN). I guess a more appropriate question to these answers would be "what was your first business experience?"
I was just going off on a generic tangent, obviously I don't know what your book will be like. Just talking about C since it's 1am and vaguely on-topic.
Can't tell you yours, but I can tell you about 200 million others: https://graph.facebook.com/search?q=bob
The war on drugs will be the death of civil liberties in the US.
Free Calls To Anywhere
free calls from pc to mobile,landline.
I think I am remembering this one: http://news.ycombinator.com/item?id=2593095 The Common CPU Interpreter Loop Revisited

But after looking at tinyvm it may be a special animal. The native implementation of its virtual opcodes are only one or two instructions. Locality, cacheing, and pipelining are working at their finest here and it might be best to just let them do their thing.
Your description reminds me of cassandra, though it is not the answer to your question.
I hate to be "that guy" but is this sort of contentless conjecture and armchair quarterbacking what the community really wants for HN?

Is there an alternative community that expressly discusses ideas and code?
Quotes in LKML: Linus Torvalds and many others over the years
I personally have no idea why this stuff hits this site that often. Take this for instance: It is a half-finished manuscript that I announced in a tweet to people who follow me on twitter and asked for it. Already at the top of this set of comments is a dickhead saying he's such a bad ass 'cause he's changed "half a million lines of C code" and he thinks I'm not writing the book correctly because I'm being too low level. He gets all of this from three exercises and three paragraphs in the introduction.

Frankly, I consider hackernews kind of irritating and not useful as a promotional tool. It amounts to about 5% of my traffic for 1 day at best, and I only have to be here because if I'm not answering the petty little idiots who troll here then the rumors spread through my professional circles.

In other words: I could live without this kind of promotion, so it's definitely not "self-promotion".
from their FAQ

Q Who can use Nebula? A Nebula is available to NASA’s internal project groups. Nebula is not available for use by private industry or by the public. Nebula is also currently acting as a test-bed for Federal Cloud Computing technology for The Office of Management
Address of I.P. Main Campus and How to reach there?
> "As long as a government does not filter or censor the Internet..."

That's kind of an important condition, isn't it? How many places is that really still true? How long will it last? Anyway, your "single entity" doesn't have to control all the information sources, just most of the ones people listen to.
Already happened. Now it is up to the citizens to resurrect those ideals they cherish deeply.
Google has this covered in spades: http://research.google.com/pubs/pub36575.html
Nope, this book isn't for total beginners. I mean, it might work, but I'm actually telling the total newbs to go read http://learnpythonthehardway.org/ first. My thought is teaching "computational thinking" is easier with a language like Python, so people should start there.
It amuses me that the author talked about the Share menu as if it's a special case behavior developed in. Rather, the Share menu is a direct consequence of what may well be Android's biggest strength aside from openness: the Activities and Intents model for UI development. When an application wants to share something, it flags a Share Intent, which any other application is free to respond to. You can see the same behavior with other kinds of Intents, such as the Intent associated with clicking links in a web browser. The YouTube app, for instance, consumes browse Intents whose URLs match YouTube URLs, so that the UI gracefully hands off the Activity from the web browser to the YouTube app. The use of Intents means that applications can integrate with each other, even if they are not aware of each other's existences. There's a lot of power and extensibility to that model, to be sure!
Hmmmm, I wonder if you could do that in a similar way...
The biggest problem with C is not the language C, for it is a small and mostly simple language with a few warts (I'm looking at you, pointer syntax), it is the ecosystem into which you are thrust when you first use it.

That is, the ecosystem of, "What can I include without dicking around with compiler and linker settings, which I do not care to learn very well because I am just starting?", and the ecosystem of, "Why are all these standard libraries full of functions that all the documentation tells me not to use?", and most importantly, the ecosystem of, "Oh, this looks like a nice library that would make my life easy, (and later), wait, why isn't my program working on this other machine? I copied the binary over? Wait, what's this about a missing so? Oh, that's the library I installed, wait, how do I put it the same directory? Oh my god so many configuration settings! Wait, why can it still not find the library? It's right there now! What's LD_LIBRARY_PATH? LD_LIBRARY_PATH is bad? Why doesn't -R work? Oh, that's only for Solaris? What's the equivalent for friggin' Linux?! Ah, rpath, wait... it's trying to find the ABSOLUTE path? UGGARRHGHGHAAHHHH! Okay, finally, $ORIGIN... now let me just put that in the make file like they said I should.... AHGHGHGHGHGHGHHHHHHHHHHHHHHH!!!!!!!"

Which is to say, the ecosystem of fucking ratholes that have built up over 40 years of poor tool design that cannot be corrected now due to historical precedent.
Ask HN: How do sites such as Flipboard scale out their social data aggregators?
There are others such as Friendfeed, etc. which aggregate social data.

The naive explanation is that they have "worker processes" running per service per user which either streams or polls content, but this seems like an expensive proposition (or is it?)

Are they using something else such as the Twitter "site-stream" functionality so that they can multiplex several users as part of one API call?

(Original Question posted on Quora: http://www.quora.com/How-do-sites-such-as-Friendfeed-and-Flipboard-scale-out-their-social-data-aggregators)
This should be addressed promptly by the TrueCrypt community.
I was wishing for something like this the other day, for fruit. I was in the produce section of my grocer's, and wondering where these berries and apples came from, and if they were in season or forced.

Ideally I'd like to be able to track back everything I eat that doesn't come in a package.
OLE and OpenDoc are for embedding documents within each other. I don't see anything in Web Intents related to embedding. It's simply the web equivalent of file type/action handlers, an everyday feature of most operating systems.
Does C require that you are running on a binary computer?

The C99 standard defines the >> operator in terms of division by powers of 2, so one can determine the result of 19 >> 1 without needing to know anything about how 19 is actually represented by the machine.
There is a list of all your circles on the left. Clicking on any circle will only show you posts from the people in those circles.

As is said in the article, posts from people who added you but you didn’t add won’t show up in your stream but you can get to them easily if you want to.

There are ways to improve this. At the moment you can only display one circle at a time. It would be nice if you could select more than one circle at once. Also, Google+ defaults to showing you all circles when you load it up and there is no way to change that. It might be nice to be able to only display posts from people in certain circles by default.

But I think that’s some fairly capable filtering, at least if you manage your circles right.
Seriously? Nobody's read Accelerando? :(
I put tau in there, get it right.