skysight-inc/HackerNews huggingface dataset:
Speed-reading iOS app for ePub http://velocireaderapp.com
>No, C is lower level than you think.

Really? What made you think he doesn't think at the correct level? The fact that he tried to correct others that invoke the "sufficiently advanced compiler" thing?

If anything that would be proof that he thinks at the RIGHT level.

>And yes, the string could change mid iteration, in the loop or in another function that has access to the address, or even in another thread that's just made a guess at a valid memory address.

He already stated all that -- not to mention he knows it for over 3 decades.

>That's perfectly rational behaviour.

He didn't say it wasn't. He merely said that counter to some people who invoke the "sufficiently advance compiler" idea, that's what is actually happening.
This seems like surprising behavior because we expect compilers will make wise choices. Beginning programmers do the same: for example I've seen something like:

for x in stuff_list:
print other_list_of_stuff.count(x)

This is intuitive to beginning programmers and uses Python's methods. But there's hidden complexity behind it. C is no worse a language for not moving strlen out of the loop than Python is for not optimizing this. Languages work at their level, and it's essential the programmer understand the precise bounds of this level.
Going back to assembly has it's place, sometimes you want to do some gnarly/neat stuff with the call stack which is straightforward in assembly but which C doesn't lend itself to. Other times, you don't need to do that, and C has you covered. Yet other times, you really don't need to do anything that C enables and python will have you covered instead... it all depends on what you are doing.
Fantasy History at Ars Technica [OS/2 Museum]
This was posted on twitter by @dragosr:

https://twitter.com/dragosr/status/404725802803007488
My pet project is the development of the concept of "mind map for programming" (mm4p). It is a mix between literate programming and visual programming with the capacity to work with text file and any programming language you want.

My feel good project is Sahana Eden.
Worse, there's the allegation that NSA can crack RC4 in realtime (although I don't know what that means, other than "fast").

https://twitter.com/ioerror/status/398059565947699200
A personal automated email sender, using vars and conditional statements (Eg. Multiple languages are possible, we live in a country where most of them speak: french, dutch, german or english, so that's a big + over here).

Create a poll (or mail) and mail them to clients when you sold for > 1000 € should be an option :)

It's actually meant to get feedback (automated) from clients with a more personal touch or to follow up on a sale of 1 month ago (how the car is, ...)
Seattle startup taking on Yelp with Slync app
You can start counting with 28k from Vioxx https://www.consumeraffairs.com/news04/vioxx_estimates.html
Inline assembly in C, but still you don't need to jump to pure assembly (ie FASM/MASM/TASM,etc.). OP is just mouthing off about how if you go one level deep, you might as well strip off all your floorboards. Thats a logical fallacy.
pip install mypackage==1.2.3

I believe the general formula is apt-get for python and python-pip, then use pip for everything past that point.

And in general, virtualenvs are the right way to go for anything other than throwaway scripts. I've got a global numpy/scipy/requests install so that I can just do `ipython -pylab` and start getting work done. But real project code happens in a virtualenv.

On a mac anaconda works pretty well. I sent a link to a marketer with minimal python experience and she was up and running in under an hour. (Admittedly, she's rather more adept than a normal marketer...)
because Java arrays length is int, 32bit limited. I think we'll see these articles more and more :)
https://sharedcoin.com/
Really love your comment. Thanks for the link, it's really interesting
Btccount.com launched, A simple bitcoin address balance tracking app
A simple CSS/JS library recreating the Windows 8 Modal. Still working on tablet/mobile support (which im pretty sure is just a css style cursor: pointer;)

http://ace-subido.github.io/windows8-metro-modal

Another side project I'm currently in the process of designing:

Personal Problem: Me and my wife have some folders with so many random files. Too troublesome and time consuming maintaining it to be clean and organized. Pictures should be in a specific folder, installers in another one, etc. an example is the "Downloads Folder"

Solution:
A small command-line utility that organizes a folder on where it runs from. This small command-line tool has only one parameter: a JSON file that contains "Rules" on what it will do on specific files. ex: .mp3's should be placed on a folder, .docs on another, etc. And so on and so forth. It could also come as an "installable" service/daemon that watches over folders. Still learning more about Scala, it's used in where I work, may write this command-line tool in that language for educational purposes.
If someone really wants to touch a private field, there's more than one way to do that. So "private" merely serves as a safeguard against honest mistakes. In this capacity it is a close sibling of that "if (0 == x)" contraption. It essentially says that I don't trust myself or others to not make dumb mistakes, so here's a safeguard for that. Not that it's a bad thing to have, but I can easily see that it can be deemed redundant to just having strong coding ethics.
Denmark targets iPhone generation to keep edge in hearing aids
yes Openresty is the big part of the Nginx ecosystem that is outside the Nginx company and provides a completely different way of adding features.
> I would guess that nearly all code, period, is vulnerable to integer overflow issues.

Lack of checked integer arithmetic in some form is what I think is Java's biggest failure. Next to it is a lack of unsigned less/greater-than operator; it cannot be emulated easily with signed arithmetic. [There is unsigned right shift.]

(.Net _does_ have checked arithmetic; at least as an option.)
I can imagine phoning technical support complaining about "history dot back".
Yeah, I don't think the docs are bad, angular is just not a simple concept.
First of all, you can use APT to install older versions. Second, you can always make up a case where the packages in the repos don't do 100% what you desire (maybe you want some different build options, or dependency versions, etc). The packages in the repos are designed to cover most cases, and to work together with the other packages on your system. So I have to ask: are you SURE you need something the packages don't give you? If so, then you have agreed to take on the extra work to get what you want, and it's understood that it may/may not be trivial. This applies to any software.

Even so, APT does help you quite a bit with build dependencies, so whatever non-standard thing you've decided to do, you can still do it with (hopefully) not too much work. Feel free to ask me about any specific thing you're having trouble with.
Huh? I'm aware that there can be benefits to looping backwards. There can also be (cache-related) drawbacks.

"It's post-increment so it runs for i=0" is probably exactly what I meant, you needed to use post-decrement (not increment) since otherwise it would break. Of course it can be re-written like you did now, but then you added the >= 0 part which was implicit in your first comment. Its omission made it important to pick post-decrement or it would break on an empty string just as I said. My entire point was that it's beyond most beginners to rely on fairly subtle things like that.

Not sure why you're so condescending, I certainly didn't try to call you a beginner, it was the other way around: your code was not very beginner-esque, but the original article was about how a C beginner might write a simple loop and be surprised.
Nobody who tried to write some code compiling something (I'm not even talking about optimizing C compiler, but parsing or processing any sufficiently rich format that humans can touch) wouldn't expect compilers to make too much of the wise choices. Making code that behaves correctly, in a predictable manner according to what people expect and be "wise" too is very hard. It's easy to say "oh, it's clear I meant foo when I wrote bar" but try to make a code that identifies cases where "bar" means "foo" with 100% accuracy and you'll get why compilers aren't as wise as some think they could be.
Brodlist: making it possible to query semantic data in a way that's easy and fun.

Kaya: A new paradigm in software construction.
Practical static analysis
Yes I heard of the concept of increasing your luck surface area and yes it's clearly what everyone should do.
I hate to be the guy who points this out, but heads up--you have an extra apostrophe in "its" on the front page. Normally I'd keep quiet, but since it's your headline...
good old ebay. It is a Nihon Kohden machine. comes in a brown briefcase. It's old enough not to have an lcd screen, but with the output going into a laptop, it is possible to record your ecg readout. sticky electrodes are by Ambu blue (x50 for £5 on ebay).
"YOU’VE REACHED THE LIMIT OF 10 FREE ARTICLES A MONTH. Subscribe to continue reading."

What the...
Tuning a new Postgres server in ten minutes.
>Another major cause is farming with Roundup, a herbicide that kills virtually all plants except crops that are genetically modified to survive it.

now i know explicit answer why GMO is bad. You never know before-fact, yet can always be sure that whatever good at first look thing appear it will ultimately be turned into real bad one.
Documentation got waaay better these last weeks. Hope that continue.

About examples, we can't point enough the awesome work of the Angular-ui team. I think their code is near the state of the art of Angular. But yep, a big complete applications using Angular in which we can digg into would be nice.

In my experience, Code Scalings THE problem you got with your real world application. Restangular helps. A lot.
Services are not that useful, Factories even less (but when they are, it's a neat feature), and Providers are simply something internal that we can optionally use if we want do some meta-meta-programming (factories do the first meta).

I hope the guideline for the next release will be to get rid of the over-engineering that makes everything complex when you need to do something UI-dynamic (ever try to attach dynamically a tooltip ?).
Sometimes Angular just go on your way and don't want to move.

The things I would want to be changed:

- Remove Providers. that's just redundant with factories, with the only exception as some complex internals we shouldn't use anyway

- Remove $rootScope. It's an internal thing that should not be used.

- Make $q better. It's a pain to use. Really.

- Better control to digests (monitoring, postponing mostly)

- Angular binding with CSS would be awesome. But it needs some work to make a clean separation.

- Directives. Seriously: the way to declare them really should be changed. Returning this starnge object, what the point ? What about Directives Factories for all the multiple ways to declare them, and in last resort only, using the weird object when you need that fine grained control. Mixing all together like the current state is not viable.
Coinbase to Waive All Fees on 11/29/13 in Support of Bitcoin Black Friday
It depends on your definition of "prank", I guess, but most April Fools RFCs present perfectly accurate, if somewhat bizarre, takes on their subject matter. IP over Avian Carrier and IPv6 over Social Network both were implemented.
That's entirely a psychological issues. There have been efforts to try to get people to switch to mBTC or whatever, but I don't think it will happen until the price is significantly over $1000 (and thus $1 == 1 mBTC)
tl;dr if you don't know what you're doing, you don't know what you're doing.
Actually I would prefer to write the length at creation time and don't mutate the string at all (and yes I'm aware that the line of code above is quite far from ensuring immutability); afaik most of those "OOP languages" use immutable strings. But yes, you are absolutely right in most cases using existing libraries is superior solution to any own, rolled-out-just-a-second-ago implementation of string; I used it only to demonstrate that storing length with a buffer address is hardly a OOP technique.
I just started playing with docker and it is very cool, but I am not sold on complete isolation of every service in a stack.

I've taken to building my containers using packer & ansible, with docker acting as something between git and an lxc client.

If you run your tests against live instances do you deploy the exact same container? How do you control environmental or configuration drift?

I'd be interested in seeing a CI tool on top of docker :)
Fun to see a local variants. In Japan, "hoge" and sometimes "hogehoge" are often used.
This point of view is understandable coming from a scientist, but essentially he could've said the same about van Beethoven or Dostoyevsky :)

Their works please us - not unlike the greatest chess games - but do they broaden our knowledge?

And where lies the value of great research anyway? In its practical appliance?

Grigori Perelman's research on the Poincaré conjecture is beyond brilliant, but has it improved our life more than the Immortal Game (Anderssen - Kieseritzky)?

Or is there innate value in scientific research, which comes solely from the virtue of being scientific? This approach strikes me as para-religious.

Refutation of the Evans gambit is some sort of knowledge as well. It's even peer reviewed :)

Of course it's not useful, but, for instance, is knowing what god was worshipped by the Khori-Tumed tribe 1200 years ago (fruit of hard and deep historical research work as it might be) more useful?
What 4K means for porn
Thanks! Delete button added :)
He's trying to buy things on their store, using a phone he bought from them.

That sounds like a paying customer to me...
Didn't get it, what are you talking about?
I'm a struggling dev from Waterloo region. LF:subcontracting opportunities (iOS)
Hello,

I'm a developer from Waterloo region and struggling to pay bills. I'm currently unemployed, and the recent blackberry layoffs has made job searching even more difficult.

Based from browsing HN, it seems many contractors here are getting $120-$150+/hr. I'm a mobile dev (iOS), and I would be willing to subcontract for $45/hr. I'm sure some of the contractors here have turn down work due to time constraints. My proposal: pass that extra work off to me, I build the app take a cut, and you earn the rest. Everyone wins?
It started as a language targeted for numerical computation.

But as usual, many developers resist to "use the best tool for the job" instead of "a language to rule them all", and Julia is now starting to have libs for everything.

Not that is bad, quite the contrary. The language is quite nice and already achieves C like speedups for many of its features.

So I can easily see it getting a place in the mainstream.
According to our 95% accurate climate simulations, we can also use geoengineering and inject reflective particles into the stratosphere, Pinatubo style.

The scientific case for this is stronger than the case that climate change is caused by CO2, since we have multiple natural experiments rather than simply one (specifically, multiple large volcanos).
Whether right-shift is arithmetic or logical is implementation-defined in C. The compiler (for obvious reasons) knows what hardware is available, and generally optimizes a divide by a power of two to a right-shift if arithmetic is available (as it is in most architectures), plus a check to see if the number is odd and negative (and to add 1 to the numerator if so). All of which is still faster than using the divide hardware.
>What is misguided in this rant, is the attack against strlen which operates on pointers to zero-terminated strings. The length isn't stored, the only storage is for the string's bytes.

No attack at strlen at all. Perhaps you didn't read it correctly? Not to mention the author already knows all of this (trivial) information.

The only attack is at the naive assumption of some newbie programmers (which the blog post targets) that "the compiler should take care of that".
A simple script (in linux, windows or whatever) could do that no problem.
In fact, I'm pretty sure something like:

find -iname ".txt" -exec mv -v {} /home/user \;

or

mv .mp3 /whatever/folder/youd/like
mv .jpg /repeat/as/many/times/as/needed

would work. Is this what you had in mind? Hope I'm not way off base here.

EDIT: for some reason Hacker News edited out my asterisks and the letters within are displayed as italics. Curious.
C is basically readable, portable assembler. That's it. Don't treat it as a high level language; treat it as a nicer alternative to assembler. It definitely has its place, but it's not for everybody.
> From the 23andme TOS:

> ... Make sure to discuss your Genetic Information ... before you act upon the Genetic Information

The problems are not about what someone might do with their "Genetic Information", but with the accuracy of the "Genetic Information" in the first place. The false positives/false negatives mentioned in the FDA's warning letter[1] are not referring to misdiagnoses based on the 23AndMe's results, but to misidentification of genes in those results (as the letter describes it, "false genotype results")

In a nutshell: 23AndMe claim that the genetic variants in their results are (to some degree of accuracy) genetic variants that you actually have; the FDA says that 23AndMe have not provided enough evidence for these claims.

[1] http://www.fda.gov/ICECI/EnforcementActions/WarningLetters/2...
Best Countries to Work and Live in as a Developer
In this particular case it's not even the fact that strlen may have side effects. Suppose we had syntax to tell the compiler strlen is a pure function. It still could not optimize it out because it'd have to know that strlen argument (both itself and memory it points to) is not going to change inside the loop either. By the time you're done checking all the Vs that compiler needs to actually optimize it, it may be much easier to rewrite the loop. At least that way you'd know exactly what's going on and won't have to disassemble binaries to find it out.
It's not foolproof, though. Take a beginning C++ programmer who heard that type inference is all the rage now:

for (auto i = strlen(str); --i >= 0;)

and you got yourself an infinite loop. One that isn't so easy to see or diagnose either, unless you know that strlen returns size_t. Which a beginner might not.
> "Knowing your account manager certainly helps"

So is this on-call service something all paying AWS customers can expect or only those with rapport?
Fanboy. I have read half of E.T. Jaynes' Probability Theory: the Logic of Science so far.

I have read the link you speak of. I have already responded here: http://normaldeviate.wordpress.com/2012/11/17/what-is-bayesi...

I don't think my LessWrong link confuses Bayes' Rule with Bayesian statistics. Why do you think Eliezer responded 1/2 to the brain teaser? He does not say it, but I'm pretty sure he just assumed that a mathematician who has 2 boys is twice as likely to spontaneously say "I have at least one boy", compared to a mathematician who has only one boy.

The disagreement between his inference (which he did not know was "Bayesian" at the time) and "Orthodox" statistics didn't come from Bayes' Rule. It came from the use of a non-uniform prior to begin with. Which Frequentism rejects, because it's "subjective". So, instead of using this highly relevant prior information, it just uses a uniform prior. (By the way, this is nuts. A scientist should never throw away relevant information.)

Both methods then use Bayes' Rule. They just start with different priors: best guess and objective-looking, respectively. (I'm still wondering why anyone would use antything but one's best guess.)
Because you suggest everyone else should too.
For the same reasons any set of non trivial softwares is: flexibility and # options means many things can go wrong.

Solutions like Enthought Canopy, superpack or Anaconda exist to solve that exact problem (disclaimer: I work for Enthought).
The real reason music has gotten so loud
Stefan Molyneux debates Peter Schiff on Bitcoin vs Gold
Here's one story of why a girl quit playing competitive chess as a teenager: http://fanoudraws.tumblr.com/post/68091072768/sorry-this-pos...
giving an example of something that can go wrong would be a good starting point to understand why
Wouldn't this be even better:

return( strdup( orig ) );

?
1. A community driven listing of events around you - http://sntd.pw - https://github.com/caulagi/sntd

2. A website for children to share their toys - http://toystori.com - https://github.com/caulagi/toystori
I concede but this is a start and AMD has shown a lot more inclination towards 'open' in the recent period. I think Raja Koduri joining them again is really good for the industry as a whole, not just for AMD.

Of late, I was thinking that AMD has not been doing well in the CPU division and now I feel that there is hope and we may see them pull off another Athlon...
git/hg/svn repo mass-updater from a YAML / JSON file. http://pullv.readthedocs.org/en/latest/index.html

tmux workspace manager in python. JSON / YAML configs. session workspace freezing.
http://tmuxp.readthedocs.org/en/latest/index.html
Isn't that the definition of "positive discrimination" and "affirmative action" ? Both of which are most certainly in wide use today.
Coming from a safety-critical background, I found this a very interesting read. I am a massive fan of static analysis, and I hadn't realised that the open source tools had come this far.
What's the thinking behind putting an email signup form over the top of the content? That content would be the thing that might make me actually want to sign up, but to find out, I need to close the email signup form.

Maybe email signups were depressingly low because nobody actually gave a toss about their marketing emails, and all you did was trick a small percentage of viewers into signing up for a mailing list they have no interest in because they thought they had to sign up to close the modal. I completely fail to see how your client got any value out of this at all.
Not sure why the HN submission didn't link to the original post: http://www.righto.com/2013/11/how-hacker-news-ranking-really...

Discussion here: https://news.ycombinator.com/item?id=6755071
Sodas at hackathons
[Not asking to upvote but please don't downvote.]
but why any hackathon event I go to instead of having normal options like large juices, natural colas, teas.. they have coke, sprites? I mean it's toxic brain affecting substance. Why would you give to somebody who needs to think clearly? invite him to event and make him drink that when he has nothing else to drink. Apart from that the thing is it's artificially addicting, so you "hook them up" on that.. and so not just hackathons of course.. you then see it everywhere.. but nobody I promise actually likes it, it's only addicting.. try to drink at least natural (hansen's) cola and you won't be addicted and it would taste horrible even if you try to drink coke after a month.
Offering coke or drinking it tells me "I'm dumb, I do what others do, and don't question it", and pretending that "I'm hacker, I challenge everything, and don't follow what others do, and try to disrupt it".

//just wanted to rant, thanks
It might be obvious to people with some experience. Many C programmers never read the standard or understand how the language works exactly, though. And to those people it might not immediately be obvious that for the strlen to be hoisted out of the loop the compiler would have to guarantee that the string's memory cannot change at all during the same loop. And that any function call can already lead to the compiler giving up trying to guarantee that.