skysight-inc/HackerNews huggingface dataset:
> compilers were expensive (this being the days
> before free UNIX clones were readily available)

I'm not sure what era the author is referring to, here. In the late 80's, Turbo C broke the price barrier for a decent MS-DOS C compiler at the $79-$99 price range. Shortly after that, Mix began offering their MS-DOS Power C compiler for $20. Tom Swan's book "Type and Learn C++" provided a tiny-model version of Turbo C++ on a disk provided with the book.

The GNU ports djgpp and GCC were available for MS-DOS and Windows in later years.

> the culture was intimidatory;

I'm again wondering what time-period he's talking about. When I started learning C in the late 80's, most of the trade magazines were full of articles that used C as the primary language for whatever programs or techniques were being presented. Dr. Dobbs Journal was full of C code. Before Byte quit publishing source code, one could find a fair amount of C there. Of course, the specialty magazines like The C/C++ User's Journal and the C Gazette contained nothing but C and later C++ code.

> This is a huge difference in mind-set
> from exception based languages,

Yes. C is a language that was designed two decades before Java.

At first, I was really taken aback by the author's take on C, but as I tried to digest why he has these perceptions of the language, I ventured to guess that a number of developers who came of age when languages with more modern niceties were available probably also have this view of C. From the perspective of someone who has been able to use more modern languages, C must seem like a rickety bridge that could be dangerous to cross.

A number of points that Mr. Tratt makes, though, pertain to the programmer; not the language. Certainly there are library routines that allow for buffer overflows, like gets(). It's been known for quite a while ( since the Internet worm was unleashed in 1988? ) that fgets() should be favored so that buffer boundaries can be observed. Certainly people writing their own functions may not write them correctly, but this is a matter of becoming conversant with C. It's a matter of attaining the right experience.
Texas College Finds That When It Texts, Students Come
Get Free McAfee 6 Months Subscription To Facebook Users
>Incompetence goes a long way towards explaining some of C's bad reputation

Incompetence is REASON for C bad reputation(if any).
Idiot's guide to viewport and pixel
The thing to do is focus on those who remain, service them incredibly well, and start building from there. Forget about the hot app crowd. They may or may not be back. Your loyal users will.

This is consistent with what pg and Paul Buchheit say about making a small number of people extremely happy being better than having a huge number of lukewarm users. But did they come to this conclusion independently, or is it high-profile investors listening to each other?
Assange criticises unauthorised Wikileaks memoir
Sorry but one word comments are the only way no to indicate assent quickly, if you upvote it's useless except as an indicator the commenter and even then they don't know it was you who upvoted. FWIW I think that your comment was fine, showed that you agreed.

The "ground rules" were set and worked on an earlier version. Your comment added information that was unavailable to us.
Hopefully a cheap one? :) Seeing as some of us will be paying travel to get there.
That is my point! A great product is what counts.
Plus it's cheaper to buy beer buy the crate ;)
That would be awesome. Somehow I've yet to attend a proper hackday but it seems like it would be a great experience.
Thursday, September 29, 2011, 6:30 PM

Central Foundation Boys School

Cowper Street, London (map)
Entrance through the blue doors on Cowper St, opposite XOYO.

I am very excited to announce the next Hacker News London meetup. After months of searching we have finally secured a new, large venue that will be able to accommodate all those who wish to come along, right next to the Old St roundabout.

However, the highlight of the evening is that Harj Taggar, YC partner and founder of Auctomatic, will be our headline speaker. In addition Harj will also hold a Q&A session, so please send us your questions or bring them along that evening. If you are looking to apply to YC or find out more about it, this is the perfect opportunity.
Slightly unrelated: This is what I like about Google+. Posts and discussions are very readable. I think this also shows Google+ is not dead.
Agreed - and while most of this is obvious, and some insightful, some of it is just baseless opinion:
"Never underestimate how much havoc you can create by indenting with tabs instead of spaces..."

Conversely, never underestimate how much havoc you can create by using spaces for indentation. With tabs, the level of indentation is clear and atomic. With spaces, it is arbitrary, and, wait for it...

hard to maintain
thanks. a small army has already been recruited.
Buildings house secret servers that keep Net humming
I edited my comment to add the malnurishment part but that's not the same as the premise of the article.
Sign up on meetup to help us track numbers. Otherwise just turn up. Thanks for the offer of help, think we just need a video person now.
I love stuff like this. Im hearing the raphaelJS name a lot so it's nice to see what can be done with it. I just assumed the library was for drawing charts? But I guess it's more for vectors.

Anyway - what I'm really looking forward to is realtime multiplayer / multiuser versions of all these great demos. Just think of the viral/network effect. I'm sure it's all quite possible now that we have node.js?
I found this gist from Nathan helpful: https://gist.github.com/1228302

You'll need the RandomSentenceSpout from https://github.com/nathanmarz/storm-starter
You can use Douglas Crockford cycle tools in order to deal with this.

https://github.com/douglascrockford/JSON-js/blob/master/cycl...

As the only way to know if an object has already been visited is in linear time in Javascript, it makes cycle detection a O(n^2) process. This is way too costly to add by default unfortunately.
The Logging Mess in Java
Database of last words of Texas execution victims
The Internet is my Resume
Looking for Good Catering Services | Caterers
If you are looking for best food catering services, we provide catering service to Charlotte, NC and surrounding areas. We are unique among Charlotte catering services in that we provide a superior level of service to all of our catered events. For more details, please visit sagegardencatering.com
Building an interactive meeting tool with RDFa, VIE, Redis and Socket.io
Free SMS ohne Anmeldung kostenlos versenden
I think that in other languages such as Object Pascal it is easier to be a good programmer. I've seen horrible code written in OP, yes, but I think the language itself helps a programmer be better. For one thing there are fewer ways to kill yourself than even in C++, and yet there is little difference in speed between them.

I think C is one of these "other languages" because "here be dragons".

I watch a lot of people bang out C++ code as if it's totally safe, and fail. I see a lot of people hammer out C# code and say, "to hell with you, you don't even have .NET!" And so on. But today, when a programmer sits down and writes a C program they must sit and think out what they're doing and why—with no abstractions like OO to make an easy solution.

There are so many ways to blow your head off in C without knowing you left the opportunity in the program, that it forces a competent programmer to think differently about how they code. And a newbie? Well, if they aren't scared stiff about blowing a hole in their system, they should be! ;D

And C doesn't change often, unlike other languages.

I'm no C programmer, but I've seen C code for years and translated it into whatever language I'm using at the time. I have tremendous respect for UNIX/Linux, and a great many C-powered programs. Thanks for your work on them, guys and gals.
> I've seen plenty of code where I was like "WTF was this guy thinking?".

Yes, that happens. But I've seen that in COBOL, Perl, Pascal, Java, PHP and in Ruby as well.

> In case of errors (s)ome functions are returning 0. Some are returning -1.

That's not a feature of the language.
Why wouldn't you just base64encode your json and include that in the URI and the base64decode it when you want to de-json it ?
I think Ruby would be a great language for this sort of app: Extremely high level, automatic memory management, sensible approach to OO, bindings to GTK and other GUI stuff, easy integration with C.
I'm not talking about image editing in general, I'm talking about Photoshop -- the industry standard for professionals, software that should be providing everything needed for professional-level retouches.

This is an important difference -- Moore's law is still applied -- but image resolutions are getting bigger and bigger, algorithms get more complicated and more fancy, people also want to be more and more productive.

What I'm saying is that image retouching for professionals needs every CPU cycle you can spare + screen real estate + really good integration with input devices.

I'm not seeing the browser (which stagnated for years), as a powerful enough medium for that, unless you can make Javascript as-fast-as-C without sacrificing too much RAM (since you need that too) and unless you provide lower-level access to hardware (OpenGL ES is a good start, but you need more).

Now surely, if Photoshop can't be built in the browser, that doesn't mean something less powerful will be less useful. But it won't be Photoshop.
i shamelessly use this opportunity to cross reference to a canvas related question (from myself) on stackoverflow http://stackoverflow.com/questions/7511321/uploading-base64-... even though i'm aware of the fact that i will be un-karma-ed into oblivion. but i'm quite desperate to get some help on this. thx
Ah, interesting information nugget! I have been wondering why there's no core dumps around in linux any more, in the old days when I used redhat & mandrake the fs would be littered with them.
> like passing around a reference to a struct

I thought that references are a feature of C++, not C. Personally, I never really got references... They are just a kind of magical pointers that programmers can forget about, but they make the code much less readable and can interact in funny ways...
I don't understand the exception argument. You can choose which Exceptions to catch in languages such as Java, just as you would choose which error to deal with in C, but exceptions are so MUCH more powerful because they allow you to check for the error in user code rather than at each function call. In C, errors don't trickle down and you need to deal with them in each level of abstraction, which can be totally useless and time consuming.
Parker Fly White Electric Guitar
Parker Fly White Electric Guitar
Price: $390.89. Super Pre-Christmas Sale of $20 off on orders over $200. Hurry! buy now.
I had posted this a few hours ago (http://news.ycombinator.com/item?id=3024495) - I suppose the success of this one has something to do with the submitter? Or the time submitted...
Fortune 500 Companies Using Secure Protocols in an Insecure Manner
I've tried many things but I wanted it to be readable, small, and good looking.

JSON:

{"user":{"name":"Bob Smith","age":47,"sex":"M","dob":"5-12-1956"},"pastimes":["golf","opera","poker","rap"],"children":{"bobby":{"age":12,"sex":"M"},"sally":{"age":8,"sex":"F"}}}

Base64:

eyJ1c2VyIjp7Im5hbWUiOiJCb2IgU21pdGgiLCJhZ2UiOjQ3LCJzZXgiOiJNIiwiZG9iIjoiNS0xMi0xOTU2In0sInBhc3RpbWVzIjoNClsiZ29sZiIsIm9wZXJhIiwicG9rZXIiLCJyYXAiXSwiY2hpbGRyZW4iOnsiYm9iYnkiOnsiYWdlIjoxMiwic2V4IjoiTSJ9LA0KInNhbGx5Ijp7ImFnZSI6OCwic2V4IjoiRiJ9fX0=

JSON + URIEncode

%7B%22user%22:%7B%22name%22:%22Bob%20Smith%22,%22age%22:47,%22sex%22:%22M%22,%22dob%22:%225-12-1956%22%7D,%22pastimes%22:%5B%22golf%22,%22opera%22,%22poker%22,%22rap%22%5D,%22children%22:%7B%22bobby%22:%7B%22age%22:12,%22sex%22:%22M%22%7D,%22sally%22:%7B%22age%22:8,%22sex%22:%22F%22%7D%7D%7D

URLON

_user_name=Bob%20Smith&age:47&sex=M&dob=5-121956;&pastimes@=golf@=opera@=poker@=rap;&children_bobby_age:12&sex=M;&sally_age:8&sex=F
Ok, this is what I also assumed - although I would never rely upon this as part of my continuous deployment process, I guess it does little harm to still monitor and be aware of such things...
Best Budget Printers
The term “budget” means different things to different people. It is possible to get a new, reliable inkjet printer from HP for about $30. However, this bare bones device is the epitome of “you get what you pay for”. If the only thing you are ever going to print is a few lines of text, or perhaps your personal journal, you can get away with the HP Deskjet 1000, no problem.
(Android) Developer Income Report #14
How To Correctly Use Attraction Marketing to Build Your MLM Business
As usual comments are welcome and strongly desired! =)
We Are Arsenal
A blog about everything Arsenal. News, match reports, previews and commentary on the Gunners
An MLM Recruiting Method That Works
Actual donation page:

http://pypy.org/py3donate.html
Vimeo launches a music store
Ada is typically less well known and not used a lot, but if you want reliable code, it is pretty nice.

Be aware that it is a b&d language.
Btw, I corrected my statement -- I was referring to "a struct's member" from which later you can retrieve the actual struct that owns that value.

Of course C has references because C has pointers. References in C++ are just constant pointers.
Real Madrid Tickets
We have tickets to all of Real Madrid’s games this year including pre-season and Champions League.
Could I get an option to opt out of seeing how much money is safe to spend? I'd rather not have a visual indicator that, in my eyes, is encouraging me that I can safely blow money.

This goes without saying that I would've liked to see the video focus on more of the capabilities of Savings Goals. Let's say, for instance, that I don't have any savings goals setup. Does this mean that you're going to tell me all of my money is safe to spend?

I'd really be interested in seeing how much extra $$ I can contribute to savings/401k/ROTH as opposed to how much extra I can spend. I'd like to be able to adjust numbers with sliders to see various outputs. Also, does this take into account having third party accounts? I have a higher yield savings account, so I would likely not use BankSimple unless it was comparable.
Sorry for your loss, Ed. My condolences.
Latest gadget review
Ghostwriter on Twitter goes rogue
Use Internet Marketing Strategies for Success 
If you are a business man and you want to promote your business widely than internet is the best option for increase your business. Online marketing means creating consciousness to your products and sell them to online customers.
Thoughts on Immutability in D
lol

i know they do. they would present programming stuff for me before everything else.

they know they do.
There are many very good insights in the comments already. I would add that the website doesn't work hard enough to establish credibility and trust, which is very important when dealing with a service where reliability is very important (I guess that you have a lot of manual input to do, and you don't want to lose your work...).

I'll add that my father (a retired teacher) sold some educational software that he created himself for years and it was mostly teachers who bought it to use in the classroom. He didn't make a lot of money (also because you could download the same software for free from the internet), but some teachers were definitely willing to pay for something that they valued for their work - at least here in Italy, but I guess that's also true in the US.
> love, love, love SpeakerDeck...

Just two cents from a user's point of view (someone viewing not uploading the slides). I think the interface is very pretty, but it lacks a few features that seem essential to me. First, you can only advance or go back one slide at a time. There's no easy way to jump to a specific slide if you want to go back or forward and review something. Second, there's no download option. (From the point of view of some uploaders and SpeakerDeck, this may be a feature not a lack of one.)

I understand that it's still in beta, so this isn't a major complaint, but I would love to see these features added.
>What language would you use?

That's the wrong question. You should ask someone like that "What language did you use?" People complaining about the language are always talking about how they would have done it better. Not that they did it better.
This smells bad. Passing in a load of JSON (or URLON) seems to go against RESTful practices and really reduces the hackability of the URL.
Show HN: FairyPreview, fast previewing of minimized urls from other android apps
FrostWire 5.1.5
The best Robot Vacuum cleaner
I don't think the problem with Gnome3 or Unity is that it's hard to switch back, is that they are incomplete prototypes that are being forced upon us to replace a mature and time tested platform. What is really wrong is that canonical is releasing glorified betas as major versions, hopefully 12.04 LTS will be an actual release.
Looks like it work fine.
Interesting how much docs they have in base.
In cases where I really need to have data structures in URLs, I rather like Rison: http://mjtemplate.org/examples/rison.html which has existed for quite some time now and has parsers/generators in Python (https://github.com/stdbrouw/python-rison), Ruby and JavaScript.
I have to say that they (or more rightly Doom) were a revelation at the time: cripple-ware that wasn't crippled.

Most cripple-ware wouldn't give you a fully-functioning product: save didn't work, print had "UNREGISTERED" (or worse) emblazoned over it.

Having a great, polished level for free and the opportunity of buying more isn't my idea of crippleware. There is no feeling of being cheated and no "if only".
SeraBella,SeraBella Indirapuram,SeraBella New Project
Sera Bella is a new residential project in Indirapuram Ghaziabad .SeraBella offers
2/3/4 BHK luxury apartments at affordable rates .SeraBella apartments offers all luxurious
amenities that support modern lifestyle.
I'm not sure whether providing an easy fallback is the right way to go. I'm not even sure whether providing any fallback at all is a good idea.

Face it: Either you are convinced of the UI that you just created or you are not. If you are and if you are sure that it's very easy to learn for a novice user, then there's no reason to provide the fallback because wether the user is a novice or an old user - in any case, the new UI will work better, so users are better off.

Providing a fallback puts a burden on you and other developers which now have to test the application in both modes (assuming the application works in both modes - like in gnome/unity).

On the other hand though, if you believe that what you have done isn't absolutely perfect, then better not change anything and refine your work until it really is perfect.

Providing a fallback is the same thing as the dreaded "I'm an expert user"-buttons the overly complicated UIs of the late 90ies were providing.
Google Earth 6.1.0.4738 Beta
Google Earth lets you surfing anywhere on earth to view satellite images, maps, 3D buildings, from galaxies in outer space to the canyons of the ocean
Bank of England Moves Closer to Fed on Global Stimulus
Vietnam Tours
TNK Travel have been wholly dedicated to providing the ultimate experience for those wishing to discover all that Vietnam – Laos – Cambodia have to offer.
As with comedy, timing is everything. I have had items sink without trace, only to see someone submit the same thing and have it get 100, 200 or 300 points and occupy the front page for a day or more.

It happens.

Added in edit: Just for reference, I didn't down-vote you. Not least, one can't down-vote replies to one's own submissions or comments.
Incompetence goes a long way towards explaining some of C's bad reputation

Not just incompetence. Also bad language choice (usually due to legacy).

If programmers don't get enough time to properly test and review the code, which needs to be done very thoroughly in C, it's easy for even experienced developers to shoot themselves in the foot.

C is very good (let's say irreplacable) for low-level hardware and OS code. This is code that needs to be verified and tested very well.

On the other hand, using C for run-of-the-mill business projects or higher-level stuff on a tight deadline can be a very bad idea. It results in a lot of overhead for programmers to think about the details of error handling, buffer sizes, pointers, memory allocation/deallocation and so on, especially getting it right for every function. It is a recipe for screwups.

In this case it is very useful to have garbage collection, bounds checking, built-in varlength string handling, and other "luxuries" that modern languages afford you.
As I mention near one of the later chapters, I had found a new job already, at which I am presently employed. Thanks for your well wishes, however.

And thanks for the kind words! Although it was reality for me, that by no means detracts from my ability to laugh at things (especially now, having moved on from the entire debacle). Even when all this was going on, I could still laugh at the situation, although at the time my laughter was more in disbelief than in humor.

Glad you enjoyed it
Ask HN: Do YC startups hire non US / remote interns? 
I live in Kathmandu. For the full time hiring, I stopped looking at the jobs section of HN far-far ago, they never responded any queries. Is it know whether YC startups accept non US / remote interns?
Deepest condolences.

"Mother is the name for God in the lips and hearts of little children.", William Makepeace Thackeray.
The Web Platform Fallacy
Suunto Vector HR Reviews
How Changes To Facebook Page “Likes” Will Affect Social Media Marketing
Thanks! I didn't know about Rison, it is trying to solve the same issue :)

Edit: I've added Rison to the list of translations in the article. It is far more readable than URLON but I find that it doesn't feel like it's a part of an url.
How Do You Get Guys To Like You
I think this is one of those things that sounds cool when you first hear it but don't end up using much.
I think one effective use of this would be to introduce someone to a song. I'm not sure that a group of people will be sitting listening to one playlist.
Raphael is for generating SVG, so you can draw anything with it. Oh, and multiplayer browser games were possible long before Node.js appeared, there's no new magic there.
This has been designed to be used in a hash context (after the #) so it's not used in REST application.
That's cool :) Have done! Sounds like it could be interesting. Currently I'm starting out freelancing as a Web Developer so I'm sucking up any knowledge I can get my hands on (I'd like to expand and build it into a proper business).
Verizon goes to bat for AT&T, defends T-Mobile merger
You know you read too much of that article if you notice that the 'Reduce, Reuse, Recycle' advice is given twice.

Meta-obfuscation in the obfuscation guide?
malloc()ed memory is executable if you mprotect() it to be so. malloc()ing memory and blindly executing it is definitely a bug OTOH. malloc() is mmap() based a lot of systems nowadays anyway, so malloc() vs mmap() is just a choice of convenience of API.
The Programming Olympics
If all you need is to trap a few functions Intel published a paper on how to intercept API call. It can be very useful if you need to fix some function inside a DLL you load, modify it's behavior or log calls for debugging. There is a lot of potential uses and it's a fun technique that teaches you some things about cache control and assembly.

http://software.intel.com/en-us/articles/intercepting-system...