skysight-inc/HackerNews huggingface dataset:
The lowest common denominator is /bin/sh. But bash has a lot of niceties, and the POSIX shell can get the job done, but that lowest common denominator is pretty low. You're still going to be dealing with annoying differences on the platforms anyway.

I don't use env on my shebang lines specifically because it's then PATH ordering dependent (there used to be a thing where /usr/local/bin and GNU tools were last in root's path, but first in non-root users' path). I'm more confident (perhaps incorrectly) that /bin/bash or /usr/local/bin/bash is what I expect it is vs the first thing found in PATH that is named bash is what I think it is (however, this applies moreso to coreutils-like things, that have different SysV vs BSD semantics/options, vs a shell such as bash, which is known everywhere to be GNU bash). Some tools, like ssh, can propagate environment settings based on local, remote or config file settings, and I'd rather not be surprised.

This used to be a bigger deal on systems that put reasonable (where "reasonable" == "what you're used to") tools in /usr/ucb or /opt/gnu, rather than system paths. If you're going to create something that's intended to be "portable", you've got bigger fish to fry than if and where bash is available, and it's wise to abstract system differences to different scripts (run.linux.sh, run.freebsd.sh, run.osx.sh, run.aix.sh, etc) than try to keep everything in one massive script anyway.
Sorry, stupid mobile accidental down vote
complete -r

disables Bash 'smart tab completion', which in theory is a great idea ( use tab to complete arguments or only list files applicable to the program ) but which never seems to work properly for me.

Disabling it saves a lot of frustrated tab-banging.
> Nor will I be surprised when legions of pundits come out of the woodwork exclaiming it wasn't punishment enough, and all the copycats should be treated the same way.

No need to look very far, those people are right below the article (in the comments section). I rarely expect much from commentators on news sites but these ones are especially appalling.

Samples:

> "The feds need to put together a database of teens who post threats online and make them available to future prospective employers. I would have no issue if their lives get ruined."

> "It's high time we treat 10-14-year-olds, boys and girls alike, as severely as adults until they get the message. This means throwing them in maximum security prisons with violent hardened career criminals."
iWin sau gần 4 năm phát triển đã cho rất nhiều phiên bản để đem lại lợi ích tốt nhất cho người dùng . trong tháng 10 – 2013 này iWin đã ra cho ra đời phiên bản iwin 280. dành cho hệ điều hành J2ME, hay còn gọi là Java. cập nhật thêm Game Tiến Lên Miền Nam Solo game dành cho 2 người. Nâng tổng số trò chơi trong iwin lên 17 trò, với chức năng solo giúp cho cuộc chơi thêm gây cấn và mang đậm dấu ấn cá nhân. Bạn có thể mời bạn mình cùng chơi với tính năng mời bạn cùng chơi của iWin nhé.
http://iwin280.com/
Jennifer Senior: For parents, happiness is a very high bar
It's like 6" by 3" by 1/4".

You can see the size in the TED talk or on the website: http://www.foldscope.com/#/scienceeducation/

Honestly, I'm not sure how long the battery lasts. I've mostly worked with the versions that have no backlight (to use them, you hold them up to a lightbulb or to the sun).
giant redwoods = coast redwoods = sequoia sempervirens

Giant Redwoods = Giant Sequioa = sequoiadendron gigantium
Wow that was a huge drop on the mileage side. No I was not aware of that - I began coding this last week of March so missed this update. Thanks!
Security holes in power grid have federal officials scrambling
Such a wonderfully confusing and self-contradictory quote. I love it.
Yes, this was my first thought too. The results need to be taken with a healthy dose of scepticism when there is no double blind and the interpretation of the result is subjective.
>Also I have made use of improper lists in my code, usually when I need to do something with multiple values and I don't want to mess with multiple return values, or if I just want to create a list of tuples for some reason and don't feel like defining an actual struct (can't think of a good example right now...)

I get what you're saying, but isn't this just a shortcoming of the language? It's pretty common to want to write something like

(define (string-lookup-that-might-fail)
(if (random) <"string you were trying to look up" nil> <nil "It wasn't there.">))
(define <some-string error-msg> (string-lookup-that-might-fail))

without wanting to destructure a list or use the call-values hack. That's a bad example, just pretend there were multiple reasons the lookup could fail.

I totally agree about there being pedagogical value in having a simple core. I'm torn between appreciating minimalism and believing that it's ok to introduce complexity to a language that people will use to get things done every day, so long as it's useful complexity and not just historical accident.
Not sure if you're being ironic. I don't think terrorists usually announce incoming bomb attacks before they happen.
Supporting customers gives CEOs a reality check
Ah. I'm sure they've considered something like that. Smart suggestion. But at the end of the day does it really matter?
You are correct on your comparison of UberX and Lyft. To me it's dumb - if you're going to adjust your prices, why not match, ESPECIALLY in a commodity industry, unless you're trying to be a premium player?

They'll yammer on all day about how they're community based and thus different, but they had to significantly lower their prices didn't they? What's 50 cents going to be more to match UberX exactly?
Nice here document feature I have found recently is heredoc with pipe, e.g.

cat <<REQUEST_BODY |
{
"from" : 0,
"size" : 40
}
REQUEST_BODY
curl http://localhost -d @-

It allows to pass heredoc text to standard input of next command.
I get the point of the author but I'd never spend a single dollar in a page with the design that the one he describes as a great landing page. Looks like a scam to be honest.

He makes an excellent point about the pitch though.
As someone who has had a few successes and a few failures, I find both types of stories to be interesting to be honest. An informed story of failure can be just as enlightening as the flip-side. Plus, there's nothing to learn from serendipitous success other than "be there at the right time with the right idea".
The 2014 Digest: Technology In Africa
How Washington uses SocialMedia to Topple Governments,Manipulate Public Opinion
Actually California/Escuela area and signed about 1.5 years ago. On month-to-month with no rent increase since initially signing a 1-year lease.
Thanks - glad to hear!
I think it's even a better criticism of this particular case: If this kickstarter really has such a low risk of failure, why don't the investors bear that risk and go for preorders?
That's exactly right - works anywhere Google Maps directions works, but just applies SF rates.
I don't mind car, cdr, and their composed versions at all. `caddr` is much easier for me to read than `(head (tail (tail ...`

I think their usage is sometimes a code smell (the ad-hoc structs I mentioned), but they're really useful when you want to deal with an "unlispy" list of tokens (say, a parser for a language that isn't Lisp).
A Boring Article About a Check of the OpenSSL Project
> It also sends a message to other stupid teenagers: if you make a bomb threat at an airline, there will be a SWAT team at your door.

Does the same apply to threats made against trains and buses?

There was a huge explosion at a bus station in Abuja on Monday, more than 70 killed. But that barely made the news in the 'West'; yet I am sure that if it had been on an aeroplane it would have been the leading story.
this seems like such a good opportunity for many cs students. the problem, atleast for my friends and me is the cost. I can't afford to buy a Mac and pay 5000 dollars for the program and pay to live in sf just for the program. it's a shame they didn't keep their original payment plan. I am extremely interested in doing their program but there are too many barriers for me.
From memory, in several HDLs like VHDL and Verilog, a "boolean" value can have up to 8 or so different values (true, false, undefined, hi, lo (different from true and false apparently) plus a few more).

My experience with Verilog is that it's very easy to write things which look fine, you can simulate and then fail in hardware; the semantics are just wrong in the languages.
Ok, just meant that it was very easy to get to 500 years.
I can't say I agree with this "Intelligence is an emergent behavior, and it needs time to work and learn. Since you have to model every single neuron firing at the same time, the speed at which you can run this model is unreasonably slow."

Part of the issue is semantics, what do you consider intelligent? And part is empirical. Insects pop out of a an egg and start doing their 'thing.' Some argue its "intelligence" and others argue is programming of an automaton. Having seen a number of mice go through the whole cycle, from birth to snake chow, my observation was that capabilities developed over time but intelligence appeared to be innate. (which is different than learning, it is in my opinion the ability to learn). I don't know how one my structure an experiment of keeping a mouse effectively in a coma until its body was fully grown, and then measuring its ability to learn, but I did observe that baby mice learned readily things like how to avoid losing track of mom, and how to keep warm. Programming or instinct or something else I don't know.

I do agree that without inputs the brain does not learn but I would not agree that it is not intelligent. So the question might be how fast can it learn. An interesting question might be is it possible to measure the speed of learning independent of a mouse acting on that learning.
I'd really recommend using `set -x` or `bash -x script` to sanity check all the commands and expected output.

See http://www.tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03...
While we're on this topic, if you're a US citizen and you have a company, I would like to ask:

1. If I incorporated a C-Corp on June 2013, and I told my lawyer I want my fiscal year to end by March 31, when is the deadline to file the tax? Is it still April 15? (I hope not, I haven't filed)

2. Is there any free tax filing solution for business? Considering my company has zero revenue (it doesn't even run, but that's another story).

FYI, I'm not a US citizen.
Mt. Gox Files for Liquidation
Well, Basecamp's $20 actually allows unlimited users.
This is a good illustration of how, 1) crypto is hard 2) real-world cryptosystem design & implementation is hard and 3) teaching the aforementioned is hard.

I read Schneier's & Ferguson's Practical Cryptography years ago, the only thing I remember about it is the "don't try this at home" message.
Yea if someone is totally utilized on UberX or Lyft they can make some good money.

Your story reminded me of the two guys who took a cab from NYC to LA for $5000. So they negotiated the rate down a bit with volume ;)
http://usatoday30.usatoday.com/news/offbeat/2011-04-22-nyc-l...
I've yet to see anyone actually indicate where heartbeats are useful. So far, even outside of Heartbleed, it seems like the module is just a source of bugs.

Why does it exist and who would want to use it, given that TCP more or less already does the job for you?
vague promises vs. detailed specs?
Looks nice. Demos should be styled to support higher resolution displays, though (looks "pixely", if this can be a word, on retina display).
Developing systems, programs, and quality assurance all are all fairly different skill sets. A gross, possibly inaccurate simplification could be:

- systems is about thinking how different things fit together

- development is about building something

- quality assurance is about figuring out how to blow something something up

The thing is, I know technical people that I wouldn't trust to do one of the above, let alone all three at once. And I know people who can rock it in multiple disciplines. When it all comes down to it, focusing on the quality of the people you work with and helping them thrive is a solid plan.
Javascript is a pretty cool programming language heavily influenced by Scheme. -> I couldn't agree with you more.

There is a Lisp-to-JS compiler (ParenJS).
https://bitbucket.org/ktg/parenjs
How would you deal with an obstruction in the center of the U obstacle that occludes an alternate path through the U to the goal?
The title is confusing. I thought I accidentally clicked the wrong link.
Mark Weisers world and the world of hacking have fairly little overlap, the RasPi is solidly in the hacking camp for now. I don't expect consumers to buy RasPi's anymore than I expect them to buy 1U servers or the racks to mount those in.

Processing power available to the masses is intimately connected to mobile phones and tabs. RasPi's are only one small step removed from a girl or a guy wielding a soldering iron.
I think you can switch panes with C-x C-o, same as the Emacs combo.
Okay yeah I agree with you there. The pain of destructuring cons cells is somewhat mitigated by the various forms that allow pattern matching, but it's still basically the same.

So I think that is actually a good argument for introducing option types (like Haskell's Either a b) into the language. I think Typed Racket has something like this, but in either case you'd want some nice syntax to handle it as well.

Hash tables make this sort of thing fairly easy though (at least in Racket)

(define h #hash{["a" . 3] ["b" . 5]})

(hash-ref h k "failed")

I think most lisps support this right? I remember seeing something similar in pg's bayesian spam filter code.
Interesting points about the bandwidth availability, I made the (naive) assumption that the RasPi compute module would be able to communicate at speed with its surroundings, otherwise it would not be usable for anything but proof-of-concepts and certain classes of problems.

I'll have a really good look at the datasheet of the compute module to figure out what its exact limitations are, thanks for the pointers to alternatives.
Show HN: R-based "Twitter-wordcloud-sentiments" #tarsands
My thought exactly. Those examples he gave just screams "ripoff" to me. Perhaps that's why programmer sales pages are dry. I want to know the actual information in the books I'm buying, not how they will "change my life". Sales jargon should be a huge red flag that the product is probably best skipped, and the statement "You'll probably be surprised at the answers" would make me leave the page immediately.

But the author has a good point, if poorly served by the examples.
F# compiler, library and tools now open for community contribution
Governments in most other developed countries have managed to develop better systems, why do you assume US government is so much more inept?
Ask HN: Find advisors or a startup incubator?
Hi guys.

What is the quickest way to find a good advisor and where do I look?
Should I apply for a start-up incubator programme or should I go with finding advisors on my own?

I decided to go through the book “Running lean” and doing exactly what Ash Maurya says.
I have finished the first sketch of the “Lean canvas”, I have three of them. The next step it to consult with my advisors. The problem is I do not have any. I thought about my friends, and will definitely consult with them. Unfortunately it does not look like they have the required experience in the field where I want to do business, nor the contacts.

A bit of context: my startup is in fin-tech area. I have a lot of experience in software development. I live in London. I need to keep my day job for now. I might have couple of months off next year. I can do a bit of work on the weekends and after work. I cannot commit full time yet unfortunately. Signing up for a startup incubator programme is not an option in this case, is it?

Thanks,
Wojtek.
I know this is nitpicking... but that box needs padding.
> And what about the rising cost of electricity?

See, this is why I prefer to argue from data in policy discussions.

The cost of electricity has been flat or declining since 1990.

I used the data from http://www.eia.gov/electricity/data.cfm, specifically http://www.eia.gov/electricity/data/state/avgprice_annual.xl.... I found that the EIA publishes prices in nominal amounts, i.e., not adjusted for inflation. So, I used the inflation calculator at http://www.bls.gov/data/inflation_calculator.htm, and then I plotted electricity prices from 1990 to 2012. That chart is at https://infogr.am/electricity-prices-are-flat. The yellow line is the raw data from the EIA: the average retail price, in cents per kilowatt-hour, of electricity for all regions and markets. The red line is the inflation-adjusted retail price in cents of the same. (Interesting aside: at a glance, it looks like it's almost entirely the unregulated service providers which are skewing the price of electricity upward.)

> Jevon's Paradox is a straight forward corollary of supply and demand.

A corollary is not data! This is exactly why arguing from ideology is bad: you found something that sounds good, and you believed it, and you never checked to see if it was true.

I insist that you find some data to support your argument, because so far, every single bit of data I can find suggests that Jevon's Paradox is complete bunk.

(aside: "annoyed" is my username there not because of this discussion, but because of the annoying way that infogr.am handles account setup.)

edit: after thinking about it a bit, I think residential electricity usage for lighting should be a great test case for Jevon's Paradox. Although residential lighting is only responsible for something like 1% of domestic electricity usage, there has still been a remarkable change in the efficiency of residential lighting since 1970. If Jevon's Paradox is true, we should see a flat or increased demand for residential electricity for lighting over the same period; if it is not true, as I suspect, we should see an overall decreased demand for electricity for residential lighting. That is: if you're right, then more efficient bulbs should mean that people are leaving the lights on more often or are adding more lighting to their homes, roughly in proportion to the increase in efficiency.

I chose residential lighting because the annual costs are relatively low, compared to heating and cooling (so trends should be resistant to changes in the economy), because bulb efficiency has changed quite a lot over the last several decades, and because more efficient bulbs have been accessible to people in most economic tiers.

Unfortunately, although I can find current data on residential electricity usage for lighting, I haven't been able to find any historic figures.
When you sign up the business address they give is in Saudi Arabia. Which to be clear is totally fine by me, but I'm just wondering if there's something special about basing corporations out of S.A. that I don't know about, or is that just where they happen to be?
Glow in the dark road unveiled in the Netherlands
Except "is not affected" is exactly what you'd say if you were running software that wasn't, and still isn't vulnerable (because you didn't have to patch anything).
Ask HN: To what extent should I trust strangers?
Hi guys.

I am working on the lean canvas for my idea. I would like to find some mentors/advisors.

I meet people on internet forums/groups, and on networking events. How do I minimise the risk of my idea being copied when talking to them? How much details can I share?
I know there is the “unfair advantage” I should come up with as part of my lean canvas, but is it enough?

I almost feel like sharing the whole lean canvas and talking people through my reasoning and experiments to get their feedback. On the other hand, that seems a bit risky, I already have put a lot of effort investigating and de-risking some of the parts of the canvas.

Thanks,
Wojtek.
Perhaps as a "cheer up" story: We applied to YC in their very first batch and got rejected. It is unclear what the reasons were -- but there were many reasons why it was understandable for YC to reject us. Among other things, the company had already been incorporated in Germany, we already had a few customers, we had decidedly nonexistent mass-market potential, the entire company was a bad idea from a purely business perspective, and just in almost every imaginable way did not fit the mold.

This did not deter us from continuing; our company was profitable already, and we worked our butts off for the next few years (without any reasonable perspective of ever getting acquired, or even growing the company to be big). The work was interesting, and for a company that size, we had a surprisingly large impact (indirectly) on the wider world, but it was heavy toil with little reward.

Either way - history then shifted under our feet, and it turned out in 2010/2011 that we had the combination of technology and team that out of a sudden had become pretty important to Google, and then after a long and painful negotiation process, we got acquired in 2011. Not a gangbusters acquisition by any stretch of the imagination, but one that worked out nicely for everyone involved.

So perhaps the takeaway from this is: YC is great, but perhaps the great redeeming quality of modern capitalism is that you do not require gatekeepers in order to be successful. "You play shit that they like, and people will come, simple as that." - e.g. if you build a product that people like, people will give you money to build more of that product. Decentralized decision-making and the ability to bootstrap with nothing but a compelling product may be the one thing that led to our current economic system to out-compete the others.

When we started the company, I wanted to build X. This was a huge endeavor, and I knew that on the way to X I'd need to build Y and Z; so I ended up building Z first, then used income from Z to bootstrap development on Y, then I got sidetracked a bit on B because we found a surprising application of our technology to a different field, and just when I was about to get back to X, we got acquired principally for B and Z. So up until today, we have made very little progress on X itself, but that doesn't matter :-)

So if you're rejected from YC, don't despair. Use it to re-examine what you're doing, understand that investment is like dating (some people are just not made for each other, and it will end in horror if you pretend to be someone you are not), and then channel your disappointment into velocity :-P

(PS: pg, if you folks have any notes whatsoever on reasons for rejection in the first YC batch, I would love to have more background info - but it is also pretty understandable if no memory at all exists ;)
It exists to facilitate MTU discovery for DTLS (which is basically TLS over UDP). By using heartbeats a sender could send a message to the server and infer through responses and non-responses (and maybe some kind of binary search) what the path MTU is.

I'm not clear on why layer-7 level MTU discovery is preferable to regular ICMP-based pMTUd, which actually does work with UDP (though you have to use recvmsg in a very complicated way) or why fragmented datagrams would be much of a problem in the first place - but that's the reason.

It isn't useful for TLS over TCP, except maybe as a network timing channel.