hacker news with inline top comments    .. more ..    29 May 2014 News
home   ask   best   5 years ago   
One man single-handedly built a 550 hectare forest and brought back wildlife thebetterindia.com
205 points by dhimant  5 hours ago   26 comments top 16
spodek 1 hour ago 1 reply      
How did "tree-hugger" become an insult?

> The education system should be like this, every kid should be asked to plant two trees, Payeng says.

Damn straight! That idea works in so many ways I can't believe we don't inscribe it on every school building.

xefer 3 hours ago 3 replies      
This immediately brought to mind:

"The Man Who Planted Trees" the book which was adapted into an animated film that won the Acadamy Award for Best Animated Short Film and Short Film Palme d'Or in 1987


denzil_correa 3 hours ago 0 replies      
There's a Wikipedia page for the forest [0] and the man (Jadav Payeng) too [1].

[0] http://en.wikipedia.org/wiki/Molai_forest

[1] http://en.wikipedia.org/wiki/Jadav_Payeng

zacinbusiness 3 hours ago 2 replies      
This is amazing. "...I knew I had to make the planet greener." Yes! I love how he saw a problem and just set out to solve it because he knew no one else would. He's a real hacker.
sdfjkl 3 hours ago 1 reply      
Having planted some trees myself as a teenager (under the supervision of my grandfather, a forest warden), I can tell you it is very rewarding to do so[1]. It is also a lot of work. The young pines we planted (bought from a tree nursery) needed protection from deer, who like to munch on them while they're small, from boars who destroy the bark by rubbing their itching hide against it, and from bark beetles who decimate entire forests if left unchecked. From humans they were protected legally.

[1] Here's a series of shots of an apple tree growing up: https://plus.google.com/photos/114301087219148980063/albums/...

ohwp 1 hour ago 0 replies      
Wow, his friends created houses for themselves. He created a forest for everyone...
reforge_reborn 27 minutes ago 0 replies      
As an aside. I just noticed that site features mostly inspiring and positive stories. The world definitely needs more news like those.

One good thing about the internet is that we can pick the kind of news that we like.

I refuse to listen to news mediums where fear and negativity are the main focus. The world is a wonderful place if we look at the right places. (Cofirmation bias anyone :)

smackay 3 hours ago 0 replies      
John Wamsley is another colourful character with a very hands-on approach to conservation.



tren 2 hours ago 1 reply      
Willie Smits gave an interesting talk about a more systematic way of restoring a rainforest on TED: http://www.ted.com/talks/willie_smits_restores_a_rainforest
davidw 2 hours ago 0 replies      
Makes me think of this story about Darwin:


SergeyDruid 51 minutes ago 0 replies      
For those who don't know, they made a successfully funded Kickstarter campaign on the story: https://www.kickstarter.com/projects/59012691/forest-man-pos...
fiatjaf 1 hour ago 0 replies      
This not an area so big, but it is good for those who think that only the government can preserve the environment (while, well, the government mostly destroys it).
jotm 1 hour ago 0 replies      
Now here's a glimpse of what's possible when it's an organized effort: http://www.terradaily.com/reports/Macedonia_plants_three_mil...

3 million trees in 1 day.

phoebe311 5 minutes ago 0 replies      
emmm, his friends have built a house. He created a timber for all ..
dhruvpathak 3 hours ago 0 replies      
Truly inspiring. An unsung hero.
dukerutledge 33 minutes ago 0 replies      
Single handedly is a bit of hyperbole. To quote the man, "my family supports me unconditionally, they help me if more trees need to be planted."

We need to stop relying on this super man concept. Community creates change through support and encouragement, no man is an island.

Show HN: A Data Analysis Curriculum, built by a former Airbnb data scientist mysliderule.com
82 points by gautambay  3 hours ago   25 comments top 8
daemonk 2 hours ago 1 reply      
I don't find khan academy's videos to be that great to get at the intuition behind probability and stats. It's good for reference and surface explanations.

I recommend Harvard stats 110 youtube videos:https://www.youtube.com/playlist?list=PL2SOU6wwxB0uwwH80KTQ6...

These videos are more focused on probability, but they contain a lot of great intuitions.

gautambay 2 hours ago 3 replies      
We (SlideRule) launched our first Learning Path on Web Development on HN a few weeks ago, to very encouraging feedback. https://news.ycombinator.com/item?id=7501516

This is our second Learning Path, on Data Analysis, built by the awesome Claudia Gold (MIT alum, self-taught data scientist, early at Airbnb). The aim is to list helpful resources in a sequence that a beginner can follow.

Once again, we realize this is a curriculum, not the best curriculum. We'd love your feedback on what we should change or add.


Edit: Since we have your attention, here are some other ways in which you can help us:

1. Tell us which new Learning Paths youd like to us build.

2. Collaborate with us to build a Learning Path on a subject where you're an expert.

3. Request features that will help you take better advantage of Learning Paths.

Were at founders@mysliderule.com

krrishd 1 hour ago 1 reply      
Interesting. I wonder how this compares to Coursera's Data Science specialization[0], from what it looks like they both have very similar curriculum.

[0]: https://www.coursera.org/specialization/jhudatascience/1?utm...

findjashua 2 hours ago 1 reply      
Login page keeps redirecting me to the sign up page. There I'm told I'm about to login to the django server (why the django server bit, just say I'm about to login), but when I enter my email address, it says a user with that email already exists and I should try logging in instead. The cycle continues.
ths291 2 hours ago 1 reply      
Love the idea of expert-curated learning paths.

With so many "free" learning resources online, we end up "paying" through the mental churn and frustration of trying to separate the wheat from the chaff. This is a great step in truly making free resources more accessible and meaningful.

chiachun 1 hour ago 1 reply      
I find that your "Apply to YC" path is also very interesting.http://www.mysliderule.com/apply-to-Ycombinator
cornholio 27 minutes ago 0 replies      
"Data science" my ass. It's called statistics, econometrics and programming.
theop 42 minutes ago 0 replies      
and the Data Analysis hipe continues..
Google Maps Mania Blog is Dropping Google Maps plus.google.com
15 points by chippy  48 minutes ago   6 comments top 3
chippy 31 minutes ago 1 reply      
From the post:

"Tomorrow I'm going to feature the very last Google Maps on Google Maps Mania,

The blog now gets 10% of the Google search traffic it did just 18 months ago. With Google attempting to kill off Google Maps Mania it would be like a turkey voting for Christmas for me to continue to promote Google Maps and the Google Maps API.

Last week I came very close to giving up completely. But despite Google I still think there is an audience for the blog. So from Wednesday Google Maps Mania will be featuring maps created with Open Street Map, Map Box, Leaflet and other map providers.

If you have any Google Maps you want promoting you have about 24 hours left to submit them to Google Maps Mania."


The blog is at: http://googlemapsmania.blogspot.co.uk/

brokentone 2 minutes ago 0 replies      
While this makes a certain amount of sense (not promoting a tool from a company that is not promoting your content as well in another arena), I'm actually glad that Google works in a blanket manner rather than an individual manner. Assessing "manual" promotions of domains could get really sticky really quickly.
rpedela 16 minutes ago 2 replies      
How is Google trying to kill off Google Maps Mania?
Google's XSS game xss-game.appspot.com
193 points by morphics  7 hours ago   88 comments top 25
prezjordan 4 minutes ago 0 replies      
That was a lot of fun, appropriate amount of difficulty for noobs like me.

The best part is the hints, too many of these sites have points where I go "Oh, well I don't know how to do this, and I don't see how I could figured it out, so I guess I'll just leave"

jeffreyrogers 3 minutes ago 0 replies      
This is really interesting. Does anyone have any recommendations for similar sites/challenges? I'm aware of this: https://microcorruption.com/, which is somewhat related.
skoob 6 hours ago 1 reply      
For those interested in XSS challenges, there's also http://escape.alf.nu , which I think has a slightly better UI.
al2o3cr 2 hours ago 1 reply      
"There will be cake at the end of the test."

That's what the computer said LAST time. But I'm still alive... ;)

honoredb 15 minutes ago 1 reply      
Fun! Level 6 failed to load any widgets, evil or otherwise, in Chrome; I had to switch to Firefox and redo the whole test. For my external script I used http://pastebin.com/raw.php?i=15S5qZs0, although I don't think the lack of a .js extension there was the problem.
michaelx386 2 hours ago 2 replies      
Does anyone know how to submit corrections to Google? I've not been able to find a way after noticing a few mistakes on Google's XSS help page. There are a few examples using an image tag but the tags haven't been closed properly:


e.g. "Now, enter <img src='' onerror="alert(document.cookie);" and hit 'Share status!'."

aendruk 1 hour ago 0 replies      
Their background image is successfully reproducing the nauseating effects of this monitor test [1]. I can't look at it for long without experiencing physical discomfort.

Perhaps disabling it is part of the game.

[1]: http://www.lagom.nl/lcd-test/inversion.php

jevin 1 hour ago 0 replies      
This is great!XSS is one of the hardest things to get right when it comes to security. I'll be sure to complete all the challenges, because I'm working on a product that could use some good HTML sanitizing.
laurencei 4 hours ago 5 replies      
I asked this question once on SO and never really got a "great" answer I was after.

If my site will only ever allow users to see their own submitted data, and never ever data another user has submitted (i.e. no general 'posts' etc) - then is there actually a XSS risk on my site?

So I'm curious if an attacker can gain anything by looking at their own XSS attack?


neil_s 1 hour ago 1 reply      
Level 4 has a bug. Entering a string in the text box for the timer solves the problem, but putting that string directly as the get parameter in the URL doesn't. Anyone know how to report this?
thomasahle 5 hours ago 0 replies      
I'm only trying to solve it for the cake.
instakill 3 hours ago 2 replies      
What is lvl2's answer? I'm trying:

<img src='invalid_link.png' onerror="this.src='alert(1);'">

heri0n 1 hour ago 1 reply      
on level 5 i tried to modify the url, but my quotes are automatically encoded, also tried encoding it using %22.. but didn't work.. I'm using chrome on osx, could it be a browser thing, i managed to get it to work by manually modifying the html using the developer tools :p
lazyjones 5 hours ago 3 replies      
Nice one; I gave up trying to solve the last with the http-only google.com/jsapi and hosted my own with https, but then it occurred to me that it's even more trivial than I thought!

Checking our stuff for this mistake now ...

SimeVidas 3 hours ago 0 replies      
Ah, I'm supposed to toggle the "Target code" box :) Ugh, I used DevTools to look at the <iframe> code for the first 3 steps.
riffraff 6 hours ago 1 reply      
I completed the game, but I honestly don't know: why wouldn't inject a script tag directly in level 2 work?
johnadam 5 hours ago 3 replies      
How do you solve lv4?
myfonj 3 hours ago 0 replies      
Wee, cake is not a lie this time. Nice!
gpvos 3 hours ago 0 replies      
Finally, cake.
octatone2 4 hours ago 0 replies      
That was super fun!
0x4139 4 hours ago 7 replies      
can someone share theirs hosted script that echos and alert? :D
mavfly 1 hour ago 0 replies      
Someone solved the level 6?
sebastianavina 6 hours ago 1 reply      
tristanperry 3 hours ago 0 replies      
I had fun with this; definitely a good mini game to learn more about XSS, although it's a pitty that you can cheat-pass a level simply by appending '/record' to the end of the URL. (Granted it's just a game)

I.e. https://xss-game.appspot.com/level1/record allows you to go straight onto level 2.

Anywhoo, HackThisSite is similar & worth checking out (albeit it covers a wider range of web app security issues)

Link: A fast and simple PHP Router github.com
9 points by apsdehal  44 minutes ago   3 comments top 3
127001brewer 0 minutes ago 0 replies      
Why would you want to use any PHP router instead of writing the rewrite rules within an Apache VirtualHost file or a .htaccess file?
leeoniya 4 minutes ago 0 replies      
there are so many php routers these days that "fast" claims should probably be accompanied by benchmarks.

routing is a fairly uncomplicated task and the speed difference will only become apparent at really high loads.








alphadevx 9 minutes ago 0 replies      
Nice work! A micro-micro-framework, makes Slim and Silex look big.
For Hire: Dedicated Young Man With Down Syndrome aljazeera.com
315 points by mr_tyzic  12 hours ago   91 comments top 17
GuiA 11 hours ago 4 replies      
I worked with mentally handicapped kids a lot as an educator when I was younger (albeit in a different country). This wonderful article captures perfectly how, in the right environment, children with Down Syndrome can blossom, but how hard it can be for them as adults once society & red tape & bureaucracy all come into play. (I also worked with children who had Down Syndrome and had not grown up in the right environment- think abusive/dead/incarcerated/etc. parents. That got very depressing very fast, and I'm not sure I could do it again).

I think this also highlights how the increasingly geographically fragmented familial unit is problematic: in a culture where several generations of the same family lives under the same roof, the situation wouldn't be as dire. However, in our culture it is typical to have only small portions of a family living together, and for children to move away and live on their own, potentially hundreds of miles away. No situation is perfect, of course - but it's still something to ponder (and it affects other social groups as well, for instance the elderly).

There was a wonderful American Life a while back on a similar topic, about a mother dealing with her adult son who had a mental disability (can't remember if it was autism or Down), and fearing for what would happen once she passed away. Can't find it right now; will edit this post if I do.

caublestone 10 hours ago 1 reply      
I barely made it through this article. After the 10th minute of pushing through my tears to read, I had to resolve that nothing would stop me.

On HN we dream big. And we all agree that we can dream big and maybe hit it big. Imagine what it feels like to realize at a young age that you DONT get to go after your dreams because you are missing the tools. Imagine what it feels like to believe something is wrong with you because you talk to yourself sometimes. Now get back to starting your company.

And yet, you can be happy to commute, to have co workers, to have some freedom from our parents.

sdrothrock 11 hours ago 0 replies      
I was afraid that this would be a tacky post hinging around hiring a guy solely because of his disability (i.e., charity) and instead it's a really thoughtful, insightful post about what it's like as a father of a young man with a disability and how hard it can be for people with disabilities to get hired.

One thing I wonder (and I don't know if the author comes here): is there no Office of Vocational Rehabilitation or something similar? The author mentions Penn State and I know Pennsylvania has an OVR, even though it can be very hard to communicate with them sometimes.

I had this problem when I was younger and had just gotten a cochlear implant. I always fretted about whether or not I would be able to get a job somewhere since I couldn't hear in moderately noisy environments (think fast food, movie theaters), couldn't use the telephone, and sometimes had difficulty understanding people I'd never met before. It was really scary thinking that I would have to live with my mother for the rest of my life, unable to get a job.

Being rejected from all of the entry-level jobs I applied to at the time only made my fears worse.

I found some good jobs and have a great one now, but I feel for this young man.

hkmurakami 11 hours ago 2 replies      
I remember when I worked in an auto-industry factory (as part of my training) in Japan, we wore caps with colored bands that denoted rank/category. New employees were dark blue. Equipment/facility maintenance people wore yellow bands. "Management" inside the factory, as well as the white-collar employees had light blue. Outside guests wore red.

Amidst this, workers with disabilities wore caps with green bands. Many were hearing impaired, but there were some with leg issues and others with some form of mental illnesses.

This kind of categorization perhaps wouldn't fly in the States, but it seemed to aid the company's goal of having 5% of their factory workforce composed of people with various forms of disability (iirc).

As knowledge workers, it's easy for us to dismiss bluecollar positions like these, but working at a enormous Toyota group company, receiving a great deal of training and a respectable wage (you can make quite a bit with overtime), and being part of something that produces countless goods into the world is a pretty good deal for people in a country where it's not illegal for potential employers to ask about your existing medical conditions during the interview process.

pling 9 hours ago 1 reply      
Not downs, but we had a guy with a pretty bad speech impediment interview with us a while back. He had a well controlled stutter which resulted in pauses of 10s+. The guy was awesome (better than the average across our team) and had wonderful written communication skills. That's all we need as we email each other all day (we're a very disparate team). Unfortunately my asshat boss decided that he wasn't suitable for the position due to a number of made up concerns and vetoed our acceptance.

Pisses me off every time I think about it but that's how a lot of companies operate.

weinzierl 8 hours ago 1 reply      
In Germany another young man with Down syndrome is currently much talked and written about. It is about eleven year old Henri who took part in a model experiment to attended regular school classes.

Now that some of his classmates are about to go to high school, his parents try to get him also into high school. Their reasoning is that it would be cruel and against the idea of the original experiment to separate him from his friends again. They don't argue that does not have the abilities to graduate. The whole argument is if a high schools should accept someone for other reasons than graduating.

The following article is not very good, but the only one I could find in English:


Much better one, but in German:


mike_h 8 hours ago 3 replies      
Would something like a google glass app, or another semi-automated assistant work for augmenting his capabilities?

Sounds like he's totally motivated and capable to do e.g. the janitorial work, but his capability needs to be paired with intensive supervision. Could that supervision be implemented as wearable interactive instruction or cheat-sheets?

dougjordan 8 hours ago 1 reply      
I took french class with Jamie back in high school. He is a great guy, and works incredibly hard. I loved working in groups with him; his french was much better than mine.
digitalengineer 4 hours ago 2 replies      
I enjoyed reading this article, strangely enough by Aljazeera. That did made me want to know how a child like this would grow up in the Middle East. I found this: http://media-dis-n-dat.blogspot.nl/2009/03/saudi-mother-trie...
rcthompson 7 hours ago 0 replies      
It's difficult to imagine how hard it must be the be mentally handicapped yet fully aware of that fact.
personlurking 9 hours ago 0 replies      
If anyone is interested in a good film about a young man with Down Syndrome and how he gets on in life (work and love), check out the Spanish film Yo Tambien (Me Too). Here's the trailer, with subs.


bayesianhorse 3 hours ago 1 reply      
Maybe in Taxonomy? Taxonomists are scientists who can catalogue specimens of animals and plants into species, and argue about what is a species and what is two species.

However, he might be quite good at learning to classify specimens and classifying them. Not in the more academic/scientific role, but it would be valuable work. He might even be able to discover things about taxonomy nobody else has found yet.

tatianajosephy 10 hours ago 3 replies      
I have a strong sense that online work - on CrowdFlower, Mechanical Turk, or Elance - could be the path forward for someone like Jaime. Please do note: I work for CrowdFlower.

The beauty of online work is its promise of operating as a meritocracy. Access to the labor market is not about who you know, or how you appear, but about your ability to perform. Everything about Jaime, from his diligence to his incredible cataloguing memory, struck me as a perfect fit for the type of work that's readily available online: data collection, cleaning and labeling.

Even better, this type of work is going to become a larger and larger part of labor market as the machine learning field grows and the need for clean training data grows along with it.

zilian 4 hours ago 0 replies      
Very interesting and moving article. I was surprised by his incredible self-awareness and self-acceptance. Now it makes me wonder about all the reasons why you can't fit in our busier-than-ever society. Why bother trying joining the workforce when it's already broken for most of us? Maybe he could learn to grow his own food, learn to make things at his own pace and become more 'independent' while doing so?
BorisMelnik 10 hours ago 0 replies      
very touching young story - I bet this kid is a lot of fun to work with. The fact that he was on time every day for 6 months probably whips all the other employees into shape from an HR perspective. "If this kid can be on time and take the bus, then so can you."
jeremyperson 8 hours ago 0 replies      
Reminds me of these videos which I think HN will enjoy. Meet Anthony -> https://www.youtube.com/watch?v=Yv5nzgrYBIQ and Tim's Place -> https://www.youtube.com/watch?v=y6He0FWoFj0
Suncho 4 hours ago 4 replies      
I found this article disturbing.

Why are we forcing developmentally disabled people -- or anyone, for that matter -- to get jobs? Is there a dire shortage of low-skilled labor that I'm not aware of?

"Whenever we talked about his employment prospects after the age of 21, we reminded Jamie that he did not want to live a life of watching YouTube, wrestling videos and Beatles Anthology DVDs in the basement."

Would there have been anything wrong with watching YouTube videos all day if Jamie's father had never told him that it was wrong?

And if the purpose of sheltered workshops is to provide busy work for developmentally disabled people, why should it matter whether they pay below minimum wage?

True Goodbye: Using TrueCrypt Is Not Secure krebsonsecurity.com
237 points by panarky  11 hours ago   133 comments top 24
abcd_f 4 hours ago 3 replies      
That's LavaBit 2.

I've been a long time TC user and if there's the trait it has it's the quality and a high degree of polish. And now looking at the diff and the screenshot of that in-app "Not secure" message, the polish is just not there. It feels like it was something that was slapped together in a rush or by someone who's not an original developer. The SF page alone is a big red flag. If you compare its nearly hysterical tone and ridiculous BitLocker advice to the tone and content of the actual app, they don't add up at all.

This leaves us with a handful of discrepancies between the last good state of the project and what's out there now. So it's either someone else's hackjob or it is original and the discrepancies are intentional. Then, factor in the .exe sig match, and it pretty much leaves only the latter option - the original devs made an absurdly non-TC-like release. The question is "why?"

pppp 11 minutes ago 1 reply      
Here's my theory (step-by-step):

1. Truecrypt is a gigantic pain-in-the-side for US intelligence agencies.

2. Intelligence agencies brainstorm about the best way to deal with the situation.

3. Taking over and tampering with the current code is deemed unrealistic. The user base of Truecrypt is very sophisticated and even minor changes to the source code would be scrutinized.

4. "How can be get people to stop using Truecrypt?" "We can discredit the project - get people to voluntarily stop using it because they don't trust it".

AhtiK 7 hours ago 2 replies      
"BitlLocker, the proprietary disk encryption program that ships with every Windows version since Vista."

This is misleading - Windows 7 product line has Bitlocker only for Ultimate and Enterprise. Even Windows 7 Professional users cannot use Bitlocker without upgrading to Ultimate. Very unfortunate.

blueskin_ 8 hours ago 3 replies      
This seems highly suspicious, especially the recommendation of BitLocker, a product we have little to no evidence does what it says and after PRISM, have no reason to trust[2]; not to mention it being limited to a (very small subset of) Windows platforms vs. TrueCrypt's cross-platform functionality. If this was legit[1], it'd probably be directing people to one of the other TrueCrypt-like programs.

[1]The new version posted is almost certainly compromised; don't download it, or at the very least, run it in a VM on non-networked hardware you can reimage after finishing using.

[2]Edit: Forgot this before, but BitLocker is definitely completely broken as it sends your recovery key to MS anyway ( https://twitter.com/TheBlogPirate/status/471759810644283392/... ).

panarky 11 hours ago 3 replies      
"[Matthew] Green last year helped spearhead dual crowdfunding efforts to raise money for a full-scale, professional security audit of the software."

"'I think the TrueCrypt team did this,' Green said in a phone interview. 'They decided to quit and this is their signature way of doing it.'"

"Im a little worried that the fact we were doing an audit of the crypto might have made them decide to call it quits.

codeulike 7 hours ago 5 replies      
Are there any decent alternatives to TrueCrypt for Windows that aren't Bitlocker?


cornholio 7 hours ago 2 replies      
Truecrypt is dead, long live ChipCrypt: a Truecrypt fork with TRESOR and scrypt built in.

TRESOR is a technique that keeps the volume key strictly in the CPU registers and not in RAM. This completely prevents RAM freezing and related attacks. A running computer that is locked cannot be trivially decrypted anymore by dumping it's RAM.

Scrypt is an advanced password derivation function that makes even trivial passwords very hard to bruteforce. A scrypt derived key is 20000 times harder to crack than the equivalent PBKDF2 derived key of the same password.

The TrueCrypt license is not GPL compatible but it allows redistribution in source form as long as the software is not called "TrueCrypt".

Who's up for it ?

AhtiK 7 hours ago 1 reply      

"Sorry. This URL has been excluded from the Wayback Machine." :-)

awakened 7 minutes ago 0 replies      
E4M - Encryption For the Masses is free software that TrueCrypt was based on. It's free to fork as well.


pling 8 hours ago 2 replies      
Well this is good for me. I currently use a TrueCyrypt encrypted exFAT volume for backups. My motivation is now to move this to an open source system (probably dm-crypt). This and RDP is the only reason I'm hanging onto windows and that's purely out of apathy. The suggestion of using BitLocker is a bit insulting (this might just be comedy value from TC though). Every other bit of software I use is portable or in a Linux VM already.

So my weekend project is now to move all my stuff to Debian.

mhogomchungu 8 hours ago 0 replies      
TrueCrypt encrypted volume format is well known and there are tools out there that can create TrueCrypt volumes and open them.

There is tcplay[1]. This project can create and open TrueCrypt volumes.

There is cryptsetup[2].This is a linux native solution for block device encryption and supports opening of TrueCrypt volumes.

The above two projects and command line based and there is a third project called zuluCrypt[3] that gives a GUI front end to the two projects.

I am not aware of any alternative solutions in windows or OSX that does support TrueCrypt encrypted format but adding support for it should not be that hard.

This maybe the end of line for TrueCrypt as a project,but its encrypted volume format may still be used as a "universal cross platform encrypted volume format".

Somebody should file a bug report in projects that deal with block device encryption in windows and OSX and ask them to support this format as i think the format should live on as its the only one that is widely used and supported.

[1] https://github.com/bwalex/tc-play

[2] https://code.google.com/p/cryptsetup/

[3] https://code.google.com/p/zulucrypt/

personalcompute 8 hours ago 0 replies      
Previous discussion from earlier today: https://news.ycombinator.com/item?id=7812133
mhogomchungu 7 hours ago 1 reply      
Somebody who has been following TrueCrypt closely seem to think the project lost momentum and they just decided to call it quit.Their comment is on slashdot and the link is: http://it.slashdot.org/comments.pl?sid=5212985&cid=47115785
DanBC 37 minutes ago 0 replies      
I'm not particularly looking forward to a slew of poorly coded alternatives to TC, or to endless discussions about whether or not something actually is FDE.
nness 9 hours ago 5 replies      
Out of curiosity, wouldn't the open-source TrueCrypt be better than the closed BitLocker? (assuming, of course, that TrueCrypt was not already compromised)
dan_bk 9 hours ago 0 replies      
Sounds like what happened to LavaBit (some sort of gov't pressure).
neves 1 hour ago 0 replies      
Maybe it is because Bruce Schneier uses and recomends it: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?tag=TrueCr...
gcv 1 hour ago 0 replies      
Now that this party is over, does anyone know any wrappers for using gpg-zip with some of the degree of convenience of TrueCrypt at least, for the limited case of keeping directories conveniently encrypted and useable?
sekasi 6 hours ago 2 replies      
Is this a warrant canary?
ambrop7 9 hours ago 2 replies      
So what's the (Windows compatible and open source) software to transition systems to?
stefan 2 hours ago 0 replies      
Any opinion on "Tomb"? http://www.dyne.org/software/tomb/It tries to be a nice LUKS wrapper with container and key files.
bak3dj0 7 hours ago 2 replies      
Maybe the developers were Americans and they decided to bail before they get caught for exporting cryptographic software.
Eye_of_Mordor 7 hours ago 1 reply      
Perhaps TrueCrypt was an NSA scam all along, 'retiring' before they're found out? Worse still, a Russian/Chinese scam!
zaroth 9 hours ago 2 replies      
Why isn't BitLocker open source? If the new CEO wants to show he's serious about user privacy, I think opening up BitLocker and letting everyone look inside would be a great start.

One of the reasons I like iPhone is the idea that the security system and drive encryption is not hopelessly broken. It would be great to have the same level of confidence in BitLocker.

A footnote about the publishing industry antipope.org
6 points by pavel_lishin  33 minutes ago   discuss
Git 2.0 iu.edu
320 points by pantalaimon  15 hours ago   122 comments top 9
ultimoo 15 hours ago 6 replies      
I find git's growth and adoption remarkable. It was only 5 years ago that as a young programmer I was first exposed to git and the concept of version control. I remember that every other team I knew at my organization was using svn and no one really understood how git could improve their workflow or how it worked and what it brought to the table.

Now that I look around, almost everyone in the programming world (at least the part I'm exposed to) is familiar with git as a version control software and github as a social-coding/code-hosting site.

justinmk 14 hours ago 1 reply      
> "git rebase" learned to interpret a lone "-" as "@{-1}", the branch that we were previously on.

Cool, I was just looking for something like this with "git merge". Turns out "git merge" already supports it, and I need to get better at using the reflog (@{...}).

> "git add <path>" is the same as "git add -A <path>" now.

> The "-q" option to "git diff-files", which does NOT mean "quiet", has been removed

More intuitive.

> The bitmap-index feature from JGit has been ported, which should significantly improve performance when serving objects from a repository that uses it.

Improves clone performance if you're pulling lots of history, but there still doesn't seem to be a way to sparse-checkout without fetching the entire .git repo.

dj-wonk 13 hours ago 2 replies      
I can't tell if Git, the project itself, uses semantic versioning. Is 2.0 considered a major (backwards-compatibility-breaking) release?
joemaller1 15 hours ago 1 reply      
So I'm excited this is finally here. But I'm also terrified. You go first.
ww520 15 hours ago 1 reply      
Is there a summary for the new features in 2.0?

One feature I really hope git to add is an easy way to clean up deleted files in the repository. Some times I accidentally check in some large zip files or built files and that really blows up the repository size. Those files stay in there even if I've deleted them. It's a pain to clean them up.

jc123 11 hours ago 0 replies      
Git is remarkably deep in its functionality that its possible to learn something new about it on a weekly or even daily basis: if you have the time. Whenever you are trying to manipulate code, there is usually a clean way of doing it in git if one takes the time to master its power. Next time you have such a problem, if you have the time, take the opportunity and you'll probably pleased at learning something new instead of using what you currently know about git plus a workaround or two.
zobzu 15 hours ago 0 replies      
I wanted the auto gpg sign for a while. I wonder if itll get more adoption.
yeukhon 14 hours ago 2 replies      
For me the amazing thing about writing VCS is that a subtle bug or change could destroy someone's history and future commits. For example, in some old Mercurial release, hg mv had a bug (something affects history integrity) and the bug is fixed in recent release (the default version install on Ubuntu 12.04 should see that bug).

Maybe I lack of the domain knowledge, but writing VCS must be a very difficult task if you care about preserving history.

_RPM 12 hours ago 3 replies      
I'm about to graduate with CS degree, and my first question to potential employers is going to be "Do you use source control, and is it Git?"
Skylon spaceplane economics stack up bbc.co.uk
43 points by timthorn  5 hours ago   35 comments top 8
outworlder 3 hours ago 3 replies      
Forget about 'spaceplane economics'. Just get the SABRE engine out of the door already, then people can start talking about economics. Apparently the engine design has been complete for years and they just need additional funding.

Should a production SABRE engine prove to be low maintenance enough, it won't just be a matter of "stacking up", this will be huge. However, if the maintenance is costly, then it's the Space Shuttle all over again. In contrast to the shuttle, tho, there's no costly thermal protection system, the skin and some water cooling should be enough. Also, no astronauts, Skylon is supposed to be fully automated.

A fully reusable spaceplane for small payloads and a big dumb booster (SpaceX) should complement each other very well.

JimmyM 1 hour ago 0 replies      
In true BBC-style: other brands of spaceplane are available. http://bristolspaceplanes.com/company/
DonHopkins 1 hour ago 0 replies      
I guess that's what happens when you go playing around with things you don't know anything about...



kashkhan 3 hours ago 0 replies      
The technical risk has to be factored in. Nobody has ever done such heat exchangers and how to keep them free of ice is a secret sauce they are not sharing. Without peer review or open discussion the engine might as well not exist.
iwwr 4 hours ago 2 replies      
So is it just a suborbital plane that can launch something high enough where an additional small booster can put the payload in orbit?
al2o3cr 2 hours ago 2 replies      
BRB, building one in Kerbal Space Program. :)
mrfusion 2 hours ago 1 reply      
They should consider a kickstarter for funding. Does anyone know if they've considered it?
panduwana 3 hours ago 4 replies      
So it needs taxpayer subsidy just to be on par with fully-private Falcon 9? Seems like it loses before the match even begins.
Show HN: "Everyone Panic" Almost-free downtime phone alerts using Twilio doublemap.github.io
10 points by erjiang  1 hour ago   9 comments top 3
jewel 1 hour ago 3 replies      
Another great way to get notifications on your phone is to use your carrier's email-to-SMS gateway. For example, on T-mobile it is 6105551212@tmomail.net.

If you don't want to set up nagios, you can create a quick monitoring solution with cron along these lines:

    */10 * * * * nobody curl -sSfm 10 http://www.example.com || mail -s 'www.example.com is DOWN' 6105551212@tmomail.net < /dev/null
This assumes you have working email delivery on the machine doing the checking.

kbar13 51 minutes ago 0 replies      
pagerduty [0] does this and more. You also don't need to host your own infra for the alert system.


matnewton85 31 minutes ago 0 replies      
This is easily done with Zapier, too.

Love my Zapier.

Bayesian A/B Testing lyst.com
50 points by Peroni  6 hours ago   12 comments top 4
EvanMiller 4 hours ago 1 reply      
This is a good discussion, but the author is confused about what the "Low Base Rate Problem" is. It doesn't have anything to do with the null hypothesis being true most of the time -- the example the author gives is actually a second form of repeated significance testing, which could be addressed with a Bonferroni or idk correction.

The Low Base Rate Problem is when you have a binary outcome and one of the outcomes is rare (say, less than 1%). There is so little entropy in the information source that you have to acquire a heck of a lot of samples in order for the statistical test to have any power. The problem is not unique to frequentist statistics; it's a consequence of information theory and so it affects Bayesian statistics as well.

Nonetheless, I highly recommend examining Bayesian test techniques to avoid repeated significance testing (both within a single trial and across multiple trials). A side benefit is that when someone says "What's the probability that the new purple dragon logo outperforms the old one?", you can give them an answer without backpedaling and explaining null hypotheses, p-values, significance levels, and all that jazz.

The major drawback to Bayesian techniques is that it tends to be computationally expensive. For example, to evaluate the A/B test and answer the purple-dragon question with normal priors, you have to integrate a normal distribution in two directions, and there's not a clean analytic formula for that. That's why there's a jagged histogram in the blog post; it changes every time you hit "Calculate" because it's being integrated with Monte Carlo techniques, which take a lot of juice compared to (frequentist) analytic methods.

morgante 44 minutes ago 2 replies      
I had the pleasure of taking a great Bayesian stats class in college and these methods seem preferable.

Unfortunately, the requirement of priors (seemingly) precludes Bayesian stats from many A/B testing applications. For example, our site launches every article with 3 or 4 headline variations. A priori, we have no idea which headline will be most successful or even what the expected conversion rate is for that article.

Is there any way to use Bayesian methods in such a scenario?

punee 1 hour ago 1 reply      
I guess that's as good a place as any to ask some more general (and naive) question : how come Bayesian methods still haven't taken over the testing market given their (as perceived by my narrow understanding) advantages?
ballison 2 hours ago 1 reply      
I think using Bayesian methods is a good thing. The reservation I have about this post is that it's motivated as A/B testing, which in classical frequentist testing usually equates to a null hypothesis that some parameter is equal in two populations (in this example, conversion rate under method A is equal to conversion rate under method B). The rest of the post then describes a test of a single population against a known value (is the conversion rate under method B = 5%).

These are not the same problems at all, and it's not clear how the authors propose to extend the tests they're informally describing to the test of equality of a parameter in two populations. It is possible in a Bayesian framework, but it's not this simple.

Emulating a 6502 with cycle-perfect timing xania.org
4 points by mattgodbolt  31 minutes ago   discuss
Absolute Zero damninteresting.com
180 points by jqm  13 hours ago   37 comments top 16
Stratoscope 7 hours ago 2 replies      
I've complained about changing titles in the past, but here's a case where the submitted title ("Absolute Zero") doesn't hold a candle to the original title:


Much, much better. 0K?

Someone 5 hours ago 0 replies      
"The municipality of Leiden has made objections as to my working with condensed gases and has not been content with asking that additional means of precaution are taken, but is gone so far to claim in August last that my cryogenic laboratory be removed from the city!"

Kamerlingh Onnes' laboratory was built in the space that was created in 1806 when over 15,000 kg of gunpowder stored in a ship exploded, killing 151 people and destroying over 200 houses (http://www.pieterskerk.com/en/explore/19e-eeuw/1807/

That must have made the Leiden city council more cautious when hearing about potential explosions in this laboratory.

Jun8 12 hours ago 3 replies      
I didn't knwo about this site, a true find: the writing and witticisms are fantastic, e.g.

"As [sic] unspecified assistant with quick reflexes reversed the helium valve, but he turned it either the wrong way or too far, because instead of halting the flow of helium, he caused it all to be vented into the laboratory. Dewar's notes do not indicate whether a high-pitched apology was offered."

(Although some proofreading would have been useful.)

DrStalker 9 hours ago 2 replies      
It's worth pointing out that it's possible to get below absolute zero: http://www.mpg.de/6776082/negative_absolute_temperature

It's a bit of a definitional thing; once you get that cold measuring how fast atomes move is less useful than looking at enthalpy and entropy and the way atoms give or receive energy.

from http://en.wikipedia.org/wiki/Absolute_zero

> It is commonly thought of as the lowest temperature possible, but it is not the lowest enthalpy state possible

Monkeyget 11 hours ago 2 replies      
In Our Time episode regarding absolute zero : http://www.bbc.co.uk/programmes/b01r113g
cottonseed 10 hours ago 0 replies      
There was a good NOVA episode, Aboslute Zero, on the race for cold:


coldcode 11 hours ago 2 replies      
Now this is real hard nosed science, rarely done today. I spent 6 years studying chemistry and decided to switch to programming because computers seemed unlikely to explode in my face. But I miss messing with liquid gases at cold temperatures.
kbart 3 hours ago 0 replies      
Very well written and interesting article. I'm still laughing at this:"his London lab was rattled by yet another minor explosion which deprived yet another lab assistant (James Heath) of yet another eye."
crash78 7 hours ago 0 replies      
What technique would they have used to measure the temperatures?
davidw 6 hours ago 1 reply      
> If one physically scoops up a portion of the superatom, the elevated portion acquires more gravitational potential energy than the rest, and since this is not a sustainable equilibrium for the superfluid, it will flow up and out of its container to pull itself all back into one place

Is this actually doable/observable?

nicholassmith 3 hours ago 0 replies      
This is fascinating, I really enjoy the turn of the century science stories that come up. Big egos, big risks, fantastic results.
Angostura 7 hours ago 0 replies      
Beautifully written, informative and witty. I did not know about the cascade of gasses method before now.
quarterwave 12 hours ago 0 replies      
A discussion of the Third Law and the Nernst unattainability principle can be found in: http://benthamscience.com/open/totherj/articles/V006/1TOTHER...
pistle 11 hours ago 0 replies      
"ambiguous smears of quantum probabilities"

Oh phlogiston.

shaan7 10 hours ago 0 replies      
That was awesome :)
rcthompson 8 hours ago 0 replies      
My friend had himself cooled to absolute zero once. He was 0K.

(Source: The internet)

Typography in 8 bits: System fonts (2011) damieng.com
82 points by chesterfield  9 hours ago   9 comments top 6
doomlaser 3 hours ago 0 replies      
A fun tangential fact about the original Macintosh's system font, Chicago: it was the typeface used by Squaresoft in most of their 16-bit era Super NES RPGS (Final Fantasy VI, Chrono Trigger, etc)
mattl 1 hour ago 0 replies      
Wow, so the Amstrad CPC font is very very similar to the IBM CGA font.

And to think all these years I'd thought they were using CPCs on TV :/

DanBC 3 hours ago 0 replies      
The Sharp MZ80k had an interesting font which included a bunch of "graphics", which were available feom the huge horrible keyboard.


OneOneOneOne 1 hour ago 0 replies      
So much nostalgia. It's funny but looking at these fonts reminds me of the good times programming these machines.
izietto 3 hours ago 0 replies      
I love the commodore one!
jokoon 6 hours ago 1 reply      
missing: profont
Defensive Bash programming kfirlavi.com
67 points by urlwolf  8 hours ago   30 comments top 10
vog 2 hours ago 1 reply      
The article mentions so many topics, but misses almost all important ones.

* First of all, use proper quoting. There are so many possibilities for file names, command line arguments, etc. that every unquoted usage of a variable is essentially a security risk.

* Then, start your script with "set -e", which stops the script whenever one of the commands fail, instead of blindly continuing and messing things up. This is the most important option for robust shell scripts.

* Also use "set -u" which makes the script stop on undefined variables. This includes $1, $2, etc., so it provides checks for missing arguments for free.

* In addition to "set -e", also set "set -o pipefail", otherwise a pipe will only break if the last command fails, while with "set -o pipefail" the pipe fails whenever any command of the pipe fails.

* After that, you may continue with spacing issues in "for" loops, and that you should not pipe the "find" output directly (instead, use either "-print0" + "xargs -0", or use "-exec"), and similar stuff.

When you got all of this right, and only then!, you may start worrying about the (relatively) minor issues mentioned in the article.

mooism2 7 hours ago 2 replies      
The first rule of defensive bash programming should be: quote everything. Incredibly, the article doesn't mention quoting at all, doesn't even use it silently in examples.
borplk 5 hours ago 0 replies      
If you do have the choice, the first rule of defensive bash programming is to not program in bash. But otherwise it was a great article.
rquirk 5 hours ago 1 reply      
You can use the pipe | as a continuation at the end of a line. No need to use the backslash escape then. i.e. you never should need to use | \ at the end of a line.
danielweber 3 hours ago 1 reply      
I freaking love "set -x" and wish every language had an equivalent. When I switch from bash to another language I miss "set -x" deep in my soul.
q3k 7 hours ago 1 reply      
And yet he pipes from ls...
cthalupa 4 hours ago 1 reply      
Generally, bash is for quick and dirty things I want to automate. I'll go to perl or python if I need anything more complex.

The amount of effort put into these examples is already way higher than my personal sniff test for "Should I be doing this in something besides bash?"

dozzie 7 hours ago 1 reply      
Yes, of course. Use more bashisms, wait for bash to change its behaviour in those bashisms (it already happened and was not that rare) and happy debugging.
nemasu 7 hours ago 1 reply      
Defining a function for is_file as [[ -f $blah ]]; seems like defining a function for var++ as increment_one() ...
iamthebest 7 hours ago 1 reply      
Corporate gateway seems to not like this domain:

This web site ( www.kfirlavi.com ) has been blocked because it has been determined by Web Reputation Filters to be a security threat to your computer or the corporate network. This web site has been associated with malware/spyware.Reputation Score for www.kfirlavi.com: -7.1

Reputation scores can range from -10 (worst) through 10 (best).

Send Welcome Emails with SendGrid and UserApp sendgrid.com
5 points by SimpleSolution  11 minutes ago   discuss
Stunning Photos of the Internets Hidden Infrastructure wired.com
3 points by rpm4321  12 minutes ago   discuss
Name.com released .NINJA domain names yesterday name.com
5 points by pizzaisaveggie  41 minutes ago   1 comment top
glenda 0 minutes ago 0 replies      
I hope to never visit a website that ends in .ninja

It makes me sad that they are allowing these 'trendy' words to become permanent tlds. Will people in 50 years still be interested in .ninja domains?

Wait-free queueing and ultra-low latency logging mortoray.com
39 points by mortoray  6 hours ago   37 comments top 10
emerson_clarke 2 hours ago 2 replies      
Another approach is just to use two stacks, one for writing and one for flushing.

User threads write log lines directly to buffers from an allocator usually via a TLS mediated stream. The use of an allocator avoids locking on system calls during memory allocation and minimizes copying between user code and eventual flush to disc/network. Buffers are written to the write stack using atomic CAS, if no buffers are available from the allocator the user thread may spin, or force a flush in the same way as the flushing thread.

A single flushing thread watches the write stack on a timer and when it reaches some threshold it uses an atomic CAS to switch the head pointer between the flush and write stacks before enumerating the flush stack and writing all buffers to disc/network freeing the buffers back to the allocator (again using atomic operations). It is subtle but if done right user threads and the flushing thread interact optimally in response to demand.

This solution is much more flexible than a ring buffer and also much simpler and faster in testing than any complicated patterns like disruptor and competitive with expensive hardware logging solutions.

It recognizes the fact that much of the overhead in logging comes from expensive copying of log data in memory, and it also ensures that minimum context switching takes place which is essential if you are not to defeat the entire point of fast lock free algorithms.

Unlike a ring bufffer it has no blocking or performance degredation when the buffer gets full and requires no large chunk of memory to be permanently allocated, although the allocator may periodically allocate new temporary memory if its buckets are full or if a log line is too large for a the maximum bucket size.

What you end up with is a logging system where user threads are minimally impacted during writes and throughput is able to max out the disc/network.

jzwinck 3 hours ago 1 reply      
It's unfortunate that literal strings in C++ cannot be programmatically distinguished from char* buffers. It would be useful if there were a separate type for literal strings which could implicitly decay to char* when needed. And functions should be able to return that type, because you may have "literal_string toString(MyEnum)" which always returns a literal string (or perhaps null).

Also, yes, Boost has some lock-free stuff now. It didn't back when the author was writing the code described.

ajtulloch 5 hours ago 2 replies      
For some excellent examples of concurrent queues in C++, Facebook's `folly` C++ library contains a really clean lock-free SPSC queue [1], and a really fast MPMC queue [2].

[1]: https://github.com/facebook/folly/blob/master/folly/Producer...

[2]: https://github.com/facebook/folly/blob/master/folly/MPMCQueu...

FooBarWidget 5 hours ago 2 replies      
It's a bit sad that all these low-latency approaches require burning CPU in a loop, which uses tons of power.
userbinator 2 hours ago 1 reply      
> Profiling revealed that copying the format string was a significant part of the overall time.

Not surprising. In general, memory allocations and copying are to be avoided unless absolutely necessary, if you want efficient code. I've made huge performance improvements to systems simply by getting rid of a memory copy that was located in a tight loop. As the saying goes, "the fastest way to do something is to not do it at all."

Also, does anyone find the term "wait-free queueing" somewhat oxymoronic? A queue is usually something to wait in.

zwieback 2 hours ago 1 reply      
Nice writeup, enjoyed reading this.

Instead of pointers to string literals, did you consider tokens instead, e.g. a big enum with a matching string table for the consumer? That's what we did in the past in device drivers although for space reasons instead of speed.

dllthomas 2 hours ago 0 replies      
Nice - this is pretty much exactly my solution to the same problem. One thing I noticed on my architecture (not sure how well it generalizes) is that explicitly flushing the cacheline from the sending core dropped cache misses quite a bit.
llogiq 54 minutes ago 0 replies      
Note that log4j2, which can log asynchronously, uses the LMAX disruptor, which is a java implementation of the same technique.
easytiger 5 hours ago 1 reply      
I wonder about the implementation of the ringbuffer itself. Would boost::spsc_queue be suitable for a similar task?
VikingCoder 1 hour ago 0 replies      
> A key requirement for logging is to write statements, from any thread, in order, to a single log-file.

I do not agree that it's a necessary requirement that all threads must write to a single log-file.

> Formatting strings, required by a log system, is a slow operation.

I also do not agree that it's a necessary requirement that a log system must format strings. Binary log files have their uses. I've used Google Protocol Buffers quite happily. They may not be appropriate for extremely high-speed logs, like a low-latency trading system implies, but they have their uses. I'd be tempted to try something like Cap'n Proto, if I were taking a whack at it.

So a female programmer walks into a bar netguru.co
66 points by filozynka  2 hours ago   66 comments top 17
hawkharris 52 minutes ago 3 replies      
Have you ever noticed that HN posts concerning gender discrimination tend to attract hundreds of comments?

That's not intrinsically bad. What's questionable is the quality of the comments. It seems that almost all the remarks on this page are drawn from opinion or personal anecdotes. Don't get me wrong... personal stories can be interesting and insightful; it's just that, in most discussion threads, HN tends to balance opinion with links to more objective qualitative and quantitative sources. That's what differentiates HN from sites like Facebook and Reddit.

So, there should be a barrier to participating in discussions about gender on HN. If you have personal or professional experience that qualifies you to discuss the topic, please share it. If you took the time to research the issue and present a substantial, new perspective, please share it. But if you want to chime in with a vague, unsubstantiated opinion that dozens of others have already shared, please consider using another forum. That's what makes these discussions less productive.

mindcrime 1 hour ago 9 replies      
youre a chick, leave this crap to REAL developers.

I really don't understand guys who say (or think) shit like this. Honestly, it annoys me not so much because it's sexist, or misogynistic, or bigoted or whatever, but rather because it's fucking stupid.

I've been doing this stuff professional for around 20 years now, and I've worked with oodles of female programmers over the years, and I've never seen any reason to believe that female programmers are in any way less competent than their male counterparts. None. Zero. Zilch. Nada.

It really boggles the imagination... where do these guys come up with this shit? Making crude jokes, sexually charged statements, some of these other things I can understand (that doesn't make them right mind you, I'm just saying I can understand the place some of it comes from), but I can't even begin to understand a mindset of insinuating that women are less capable as developers/hackers/programmers/whatever.

To anybody who believes that women are somehow inherently inferior at coding, let me just say that you're wrong. Absolutely, totally, completely wrong. Maybe you haven't worked with enough women, or maybe you had the bad fortune to work with the wrong women, or maybe you just weren't paying attention, but it's just not true.

ufmace 1 hour ago 2 replies      
Misleading title, there is no bar in this story.

But seriously, I think this is a refreshing article, considering the usual gender in tech articles here. I'd like to think that there are plenty of places a woman can work as a professional developer and not be subject to such rampant discrimination and sexual harassment that most of us find it difficult to believe.

I recommend everybody believe and act as if there are plenty of awesome companies to work at. If you find yourself at a company that sucks, for whatever reason, kick their asses to the curb and find a new one.

andrewguenther 1 hour ago 0 replies      
Over 50% of this article is a job posting... I find it a little messed up to take a real issue and spin it as a hiring campaign. A footnote about the positive work environment at Netguru? Sure. But this is just plain advertising.
Pxtl 2 minutes ago 0 replies      
It's sad that being generally decent to women is remarkable enough to be newsworthy, but it's important to highlight successes instead of failures if for no better reason than to remind the world that geek misogyny is far from universal or universally tolerated.
ColinDabritz 1 hour ago 0 replies      
I'd like to acknowledge the courage of Gosia to put something like this online. (Original post: http://ineedmorehobbies.wordpress.com/2014/05/28/so-a-female... )

It frustrates and angers me knowing the article will almost certainly draw asinine comments and threats that are wholly inappropriate.

It takes a kind of bravery I'm not sure I have, and I can't tell if I do because it isn't required when I write.

The reasons it's needed aside, the signal of this blog that this is a safe place for women to work is important.

To the author, well done, and know that support is out there.

unfamiliar 1 hour ago 2 replies      
What a creative job advertisement.
swalsh 1 hour ago 1 reply      
Where was the substance to the post? The post she linked to was far more interesting:


matthewmacleod 1 hour ago 0 replies      
youre a chick, leave this crap to REAL developers

Seriously, what kind of a dick says that to anybody - even if it was nothing to do with gender, it's an egregious offence.

tootie 40 minutes ago 1 reply      
It's kinda sad that she has to call out Netguru as someplace safe for women. Honestly, I think it's just a bit of moral panic brought on by a few high profile stories. I've been in and out of a lot of organizations and never witnessed female colleagues being given a hard time. A few instances of creepy guy behavior, but I've also seen guys get bothered by creepy gay guy behavior. That's not unique to the programmer world at least.
mathetic 1 hour ago 0 replies      
This is a terrible PR article but we might actually need more of these.

That's basically how one changes social stigmas in a society/industry. Just make sure all cool places are doing the exact opposite of unwanted behaviour. If that's not possible, then everybody needs to fake it with PR stunts like this until everyone else believes that's the thing to do.

commandar 1 hour ago 1 reply      
>Because we have a motto that says youre not your code that all of us stick to and it works in many ways.

This struck a chord with me.

I work in the healthcare sector, so I deal with what is, for IT, an unusually high proportion of women. I've dealt with bad female developers, but I've also worked with absolutely great ones. Just like I've dealt with incompetent and solid male developers.

Maybe it's just my exposure and the fact that it's a normal thing for me, but gender just doesn't even register on my radar when I have to work with someone. All I care about is the ability to get the job done.

While I think the dearth of women in the tech sector is systematic on a deep enough level that it's very difficult to "solve" in any manner that won't take decades, I do find myself somewhat worried about the byproducts of tech's current insular nature. I feel that normalizing dealing with people -- diverse groups of people -- on a regular basis yields healthy benefits well beyond simply saying "we're inclusive!" It breeds openness to just plain working with people as people.

amykhar 46 minutes ago 0 replies      
I've been a professional programmer since 1997. I've worked for defense contractors, consulting companies and medical software shops. I've NEVER had a problem with my gender in the workplace. I've always been treated the same as the other developers.

Now, I can't be certain that my resume hasn't been skipped in the pile because I'm a woman. But, it's been my experience that developers on a team just want somebody who can do the work and can appreciate the good work that they do.

With so many articles posted about discrimination and sexism, it's refreshing to see others share their experience as being just one of the gang.

jbeja 34 minutes ago 0 replies      
Rolling my eyes the whole post. Is overly dramatic for something so mundane, and to be honest i don't even believe it.

youre a chick, leave this crap to REAL developers.

Who say stupid thing like this on this day of age or even get dramatic when someone say that to you?. Please give yourself some pride, you are better than this.

madsheep 1 hour ago 0 replies      
You might think this is fake, planned or otherwise staged - I get that, I would think the same. But you should see my anger when I saw what's going on with that tiny little excuse for a server, becouse nobody told me this is happening. They did not think they need to, since it's only felt natural and normal thing to do, reposting an article of one of our coworkers and going to HN with it. passenger_max_instances_per_app 4 my ass.
imchillyb 58 minutes ago 1 reply      
Shady little advert there, masquerading as news.
EGreg 1 hour ago 2 replies      
You know that comic, from back in the 90s?


Well, this is another point for the distributed, asynchronous programming championed by http://asyncmanifesto.org/

I would be happy to hire a woman programmer at our company provided she was awesome at the stuff we need -- Javascript, PHP, etc. In fact if someone here is reading this (man or woman) and thinks they would like to work with us on http://github.com/EGreg/Q, I would be very happy to talk to you -- if you can figure out how to contact me from there.

In programming, the internet is the great equalizer. Have your work speak for itself, have your reviews speak for themselves, and this may be a faster vector for advancement than at a job.

PS: Recently I did reach out to one woman who I found on oDesk and she was busy with a project, but recommended someone else, a man. And now I'm talking to him, because she recommended well.

PPS: We do have a woman working in our company, doing sales. I really hire based simply on competence with the stuff we need and so far it's ben mostly men doing the programming.

Introducing Socket.io 1.0 socket.io
411 points by rafaelc  22 hours ago   70 comments top 37
tlrobinson 21 hours ago 2 replies      
I like the separation of the transports into engine.io, however it would be even better if it exposed a standard Node.js Stream interface so that it played nicely with the growing ecosystem of Stream-related modules.

Dominic Tarr, substack, and others have been advocating this idea for awhile: https://github.com/substack/stream-handbook

Gluing together various types of streams and stream transformers is a really nice way to build certain types of applications.

Fortunately it should be easy to write a Stream compatible wrapper.

Oculus 19 hours ago 2 replies      
The undoubtable mention of SockJS will appear multiple times in this thread. Socket.io has been plagued with scalability issues since its original release (can't speak on the new version) and Engine.io is suppose to be fix that. The main difference between SockJS & Socket.io is their connection establishment. SockJS begins by attempting to use Websockets and regress to long polling while Engine.io starts with long polling and slowly works its way up to Websockets.

For a good debate on this with the creator of SockJS: https://groups.google.com/forum/#!topic/sockjs/lgzxVnlth54

lucidrains 22 hours ago 1 reply      
I've since switched to SockJS for all of my projects (after struggling with memory issues in Socket.io 0.9.*). Any compelling reasons to give Socket.io another try?
laxk 1 hour ago 0 replies      
As I understand if I want to use socket.io client API I have to run node.js as a container for socket.io server side code and then I can create a new emmiter for my server language (similar to PHP example in the article) Is it correct?

Is it possible to create own implementation of socket.io server side code?

evantahler 21 hours ago 2 replies      
Congrats on the release! I know this was a long time coming.

A scalability question:

You note "Turn on sticky load balancing (for example by origin IP address). This ensures that long-polling connections for example always route requests to the same node where buffers of messages could be stored."

I read this to mean that we are responsible (in our load balancer/proxy/etc) to keep connections from clients returning to the same server. This is OK, but what about nodeJS clusters? How should I ensure that client A always connects to cluster-node member 3?

Related section of the blog post: http://socket.io/blog/introducing-socket-io-1-0/#scalability

woah 22 hours ago 2 replies      
Have you guys dealt with the 3-year clustering bug? https://github.com/Automattic/socket.io/issues/438

Would be pretty hesitant to use it until there's some sort of closure on this.

ivank 20 hours ago 0 replies      
You need mandatory ACKs in both directions if you want to implement a reliable stream over HTTP requests. Otherwise, data can get lost in several scenarios, including: server responds to a long-poll request, connection breaks before client receives it, server assumes the data arrived, user never sees the message. Instead of having an ACK for every message in both C2S and S2C directions, socket.io implements some kind of bizarre optional-per-message ACK functionality that you manage with callbacks. There are libraries/protocols that do this right, including Closure Library's BrowserChannel.
uses 20 hours ago 2 replies      
Something about this site just kills both Firefox and Chrome on my Windows 7 computer: everything becomes choppy and laggy, even outside the browser. On both browsers, things return to normal when I close the tab.

Task Manager shows no unusual CPU activity beyond the initial page load.

xhrpost 21 hours ago 1 reply      
I've used Socket.IO quite a bit, congrats on shipping! Did the issue/"lack of feature" get fixed where not all transport methods fire a disconnect event? That was especially a pain on a recent project, ended up forcing websocket only to get around it.EDIT: Ack, I should probably clarify this better. The issue is that a client disconnected is not determined by the server. The server waits for the client to send a disconnect event to it prior to leaving the page. This is particularly a problem on iPad where the event will not fire for certain transports so disconnect doesn't fire when you shut off an iPad unless websockets are actively used.
liamk 22 hours ago 0 replies      
This was a long time coming! I'm very happy to see socket.io 1.0 finally released. Pre-1.0 had some deal-breaking technical issues, such as starting with websockets and falling back to polling. I think the new approach is starting with polling and then seeing if a) websockets are supported by the current browser and b) messages sent via websocket are received by the server (a firewall might prevent this).
mmcclure 19 hours ago 0 replies      
I knew things were changing in 1.0, but there are a lot of things mentioned in that blog post that seriously make me giddy. I'm really, really excited to play with this tonight.

Also, incredible job on the new website. Seriously love it. All around great work, if there was a Gittip button on the website I would have already clicked it.

Timmmmbob 21 hours ago 2 replies      
This seems like a good place to ask: Does anyone know of a library (preferably C++/Emscripten) that simplifies using WebRTC to create real time network games?
emp_ 21 hours ago 1 reply      
I wish there was more info on the CS 1.6 demo, is there an address to look at it?

EDIT: found it at http://socket.io/demos/computer/

mkoryak 12 hours ago 1 reply      
demo on http://socket.computer - err, I knew new TLDs might be fairly annoying but didnt think they would totally break my brain's URL parser.

At first I thought that the article's author forgot to replace an intranet link.. nope its a new tld here to mess with our heads!

talyssonoc 5 hours ago 0 replies      
Seems pretty good, and faster than the previous version, but:

- Changed some things (method names, and so on) with no reason- It's not possible to use a custom logger anymore- I can't access the list of rooms anymore (or it changed and they didn't documented it yet)

Somebody else ?

jeffasinger 19 hours ago 0 replies      
I'm really excited about this.

Anyone know of any projects working towards getting this new version to work on native iOS/Android?

ef4 21 hours ago 0 replies      
I've been using engine.io directly in production for quite a while, and it's been stable and reliable. Glad to see this release, having the option of going back to the higher-level socket.io api is welcome.
8ig8 14 hours ago 1 reply      
It sounds like Automattic deserves some thanks for their support on this. Thank you.
rationalthug 20 hours ago 0 replies      
How does the binary support/performance and streaming support (with socket.io-stream) compare to other web socket libs like https://github.com/binaryjs/binaryjs, https://github.com/einaros/ws and https://github.com/maxogden/websocket-stream ?
buckbova 22 hours ago 0 replies      
This is exactly how I've always wanted the web to work. i've spent some time with socket.io working through "nodejs in action" and I can't wait to use it for new apps.
arbus 20 hours ago 1 reply      
A kind of OT question related to socket.io.

I am trying to develop an application that can be horizontally scaled. I understand using the socket.io-redis package seems to allow you to emit to a particular socketid from one instance while that connection itself is connected to another machine and the redis connection will take care of the communicating. This in a sense abstracts away the fact that there are multiple servers by just taking care of it transparently.

Are there any provisions within socket.io or another package that allows you to sync normal js objects across servers as well? The alternative as I see it is to use redis pub/sub to keep the state in sync but this feels like it should be a solved problem that one need not reinvent the wheel for.

lpinca 20 hours ago 0 replies      
Congrats for the release, but i will keep using https://github.com/primus/primus.

No module lock-in!

Yes i'm a bit biased.

ChrisGaudreau 21 hours ago 0 replies      
Finally! It's been a long time coming. Thanks for your hard work!
cridenour 11 hours ago 1 reply      
Might I suggest you not hijack the "DEBUG" environment variable? It will almost certainly cause issues down the line when you could be using SOCKETIO_DEBUG.
frik 21 hours ago 1 reply      

offtopic: please fix your blog, it breaks the browser history in IE 11 (spammed with hash entries)

eob 22 hours ago 0 replies      
Congrats Guillermo and gang!
mmanfrin 21 hours ago 0 replies      
Congrats Guillermo and everyone involved!
rootuid 2 hours ago 0 replies      
socket.io has 635 open issues.Seriously !
level09 21 hours ago 0 replies      
wow that is cool. last time I tried it I had a hard time struggling with HAProxy and trying to fix the sticky session thing.

Would be great to see some benchmark of how this can scale especially with the new redis integration.

granttimmerman 19 hours ago 0 replies      
Awesome!!! Can't wait for the future of IO.
bedane 21 hours ago 0 replies      
Excellent news, looking forward to using it.socket.io is awesome !
chunkstuntman 21 hours ago 0 replies      
This library was intuitive enough to learn in a few hours and allowed me to make a fun toy project in half a day. Highly endorsed.
brianzelip 19 hours ago 0 replies      
woah, the weplay pokemon node.js emulation's chat [0] is off the chain. Everyone controls the guy and the cursor.

[0] http://weplay.io/

dydx 21 hours ago 0 replies      
I've been waiting for this for so long. Thanks Guillermo!
EGreg 22 hours ago 0 replies      
Finally!! I was going to switch to naked engine.io because it can handle many more connections without going crazy. Now I can get it without changing my code. Woo hoo!
spb 20 hours ago 0 replies      
sirdogealot 12 hours ago 0 replies      
>The Socket.IO Server is now only 1234 lines of code

I prefer to think in standardized terms like KBs, not lines of code.

EDIT: For the downvoters, I am just saying that it would have been more beneficial to myself had they of addressed their improvement in terms of a percentage of code reduction or actual measurable size of their code. I was not trying to be snarky.

Typography in 16 bits: System fonts (2011) damieng.com
39 points by maaarghk  5 hours ago   2 comments top 2
userbinator 2 hours ago 0 replies      
The PC VGA font is one of my favourite, with second choice being the X default fixed fonts. For some reason newer GPUs tend to have a different textmode font that often looks worse; I remember encountering a laptop with one that looked like a mix of Courier New and Comic Sans.
theandrewbailey 3 hours ago 0 replies      
Nice find. These would be useful to make things look retro. The PC VGA is a classic, and I've always wondered what Chicago would look like on Windows.
What the Head of Hiring at Google Doesnt Understand About Skills chronicle.com
64 points by ilamont  2 hours ago   88 comments top 26
jzwinck 1 hour ago 8 replies      
This article is ridiculous. While there are certain areas (e.g. pattern matching) where a typical English major is likely to do well, rigorous logical thinking of the sort needed when we program computers is simply not developed as well as it is in CS, EE, and various other programs.

As a third-year undergrad I took a 400-level course on logic from the humanities department. I remember being blown away by how inept the average students there seemed at first. They were simply unprepared for the torrent of proofs, deductions, tautologies, De Morgan's laws, etc. The way of thinking required to get through that class easily was one which most second-year CS students had, but not the student body at large. I came to realize I had been groomed for this class for years already.

In a 200-level CS course we learned to use Karnaugh Maps. This was not optional. There is a difference between analyzing digital logic and writing papers outside CS. Not that one is better than the other, but you don't hear CS folks claiming they're well suited for writing poetry.

jerf 52 minutes ago 1 reply      
Of course you can teach a rigorous English course.

The problem is that you can also not.

I took an intro to philosophy course in which we were graded reasonably rigorously on our logic. But the prof also made it clear via both a bit of text and a bit of subtext that we were getting so graded because nobody really takes the old stuff that seriously anyhow, so there's no sacred oxes getting gored. You can write an essay for this class either endorsing or denouncing Descartes and as long as it is reasonably logical, you'll get a good grade. Don't expect such accommodations if you start getting into what is taken seriously.

I also took a real-deal English history class graded primarily on essays, and both at the time and even now I'm pretty sure I got a 2.5 simply because I failed to correctly echo back what the prof expected, made harder by the fact that she did a reasonably good job of not telegraphing what she expected. However, I never got any other useful feedback on my essays; the facts were correct, the arguments were logical enough, they were to the expected length, they just got graded poorly. (And it's not as if I was going out of my way to write offensive political agitprop myself, I was just trying to answer the questions. But I'm quite sure my perspective was quite different than hers, in ways hard to explain in an HN comment.)

The fact that you run a rigorous course grading logic and rhetoric (based on a computer science degree) is not proof that everybody else does. Yes, they all say that's what they do, but that's not proof either. In practice the humanities are pretty notorious for this sort of thing, and I'm completely unconvinced this essay with its one data point that is almost by definition an outlier (both coming from a computer science degree and being what is probably an early course in the sequence as implied by having a lot of non-English majors in it) provides any significant evidence against the original claims from Google, or that the field's notoriety is unearned in practice.

(Incidentally, to the extent that I rather dislike the humanities we have today, it is precisely that they could be excellent training in logic and rhetoric, but they generally aren't. Postmodernism poisoned the humanities nearly unto destruction.)

gexla 1 hour ago 2 replies      
> In Dantes Hell and Its Afterlife, an undergraduate course I teach at my university, students have to work hard to achieve good results (not to mention an A-level grade) on a research essay. The excellent paper will contain a substantive thesis that is appropriately focused, coherent, and interpretive, not merely descriptive; a detailed analysis of well-chosen examples to support the argument; a logical ordering of parts, each contributing to the whole, with transitions and topic sentences that advance and crystallize the main points; an effective use of information from credible sources, correctly cited and documented; and all expressed in clear, concise, grammatically correct prose.

So true. Writing is highly technical and very difficult. Just before I started at my state university, it added a writing test that all students had to pass before receiving a degree because employers complained about the lack of writing skills. Several years in, most people were still failing on their first try.

Unfortunately, writing doesn't have debugging tools, tests and output for feedback to let you know if what you put together works. Rather, you need someone who is a good writer to provide honest feedback.

Also difficult is that developing good writing skills requires good instructors / mentors. I have had too many writing classes with instructors who would give praise for just about anything. All of my instructors in my first year of taking writing classes told me how great I was. It wasn't until I took a technical writing class in which my first paper came back a mess of red ink that I finally felt like I was learning something. That class was one of the most valuable I have ever taken. She told us at the beginning of the class that few people can write well, we probably won't ever be able to write well either (true for me,) but she would help us become passable enough to get through the writing test.

Granted, most writing classes don't focus on the same items as technical writing. But with as much effort as this instructor put into every one of my papers, this can't be something many instructors are willing to do.

How do you become a good writer and get good feedback? I don't know.

Compare this to many other classes in which the instructor is largely a guide and you do most or all of your learning on your own.

ETA: I think the instructor and the quality of the course is extremely important. Many subjects in college can be setup to be easy to coast through or rigorous. The name on the course isn't as important as the contents.

joelgrus 1 hour ago 4 replies      
It's not that you can't learn rigor and critical thinking skills as an English major, it's that it's not all that hard to complete an English degree without learning those things. Hence the word "signals".
digitalsushi 57 minutes ago 2 replies      
I feel bad that I cant get a job at the New York Times with my cs degree. I might not know any literary composition or journalism techniques, but you can't tell me that as a computer scientist I am not as smart as an english major that learned all these skills in college.

Ok. Now we both feel inadequate and offended, so it's all even.

qwerta 18 minutes ago 0 replies      
I think most humanity studies develop critical thinking, but at very shallow level.

Mathematicians have to nest 100s levels of logical operations to get proof they want. Programming around 50 to 10 logical operations. Lawyers perhaps 10. Literature nests perhaps 5 levels of logical operations.

There is simply no apparatus to manage this level of complexity in human language. Just try to describe 3th level integral or matrix operations with pure words. It is like analyzing complex program on TI programmable calculator with 5 line display.

And I think English is not very logic friendly language, too many double meanings and context sensitivity. I like German for its logic and Esperanto for its simplicity.

frogpelt 1 hour ago 3 replies      
So one of the very few English professors in the country with a computer science degree is offended by Google's hiring practices.

The fact is most English majors don't enjoy heavy duty math or science as much and it's not that weird to expect a computer science major to depend more on logic and rigor when approaching a problem than it is for someone whose thesis was devoted to a literary analysis of the symbolism behind the pickle dish in Ethan Frome.

tragic 7 minutes ago 0 replies      
To be instrumental about it, English (and the arts/humanities subjects in general) teaches the skill of decision making under conditions of uncertainty: we are required to make inferences on the basis of ambiguous 'data' (a literary text whose meaning will generally be slippery) and competing bodies of theory which cannot be proven against each other, of sufficient solidity that they can be defended in a logically coherent argument.

This is a real skill. And if you actually apply yourself to an arts degree, it does develop it. (Before the emergence of national literature studies and modern historiography, the study of the Classics played this role, broadly speaking.)

It does not have direct relevance to software engineering at all (speaking as someone with two literature degrees). But not all problems in development are strictly technical. Someone down there said:

> Yeah but in CS, the program works or it doesn't.

Indeed. Google+ works, right?

Strilanc 48 minutes ago 0 replies      
I think of English courses as teaching you about being convincing to humans. Correctness is important, but secondary. This is probably best exemplified by anecdotes being arguably the most evocative form of explanation, and yet the weakest form of evidence.

It makes sense to me that a technology company would downweight achievements in the humanities when hiring (for their technical positions). It's a noisier signal. Computers and nature aren't convinced or understood in the same way as humans are, so a lot of the English major benefits get lost in the translation to STEM.

(Serious question: what are the best examples of people in the humanities contributing to science and technology? For example, Noam Chomsky basically invented formal grammars.)

vittore 1 hour ago 0 replies      
First comment to the article by @skeptomycin sums up entire article. Not worth the time to read it really.

>>I cannot believe how the actual statements by Bock were distorted and taken out of context by Prof. Raffa. It is beyond appalling.

TheMagicHorsey 36 minutes ago 0 replies      
Its like the author of this article never compared an English major to a CS major. Yeah, I'm sure the top 1% of English majors are pretty smart guys, but on average they are not very good at thinking logically. And yes, the bottom 25% of CS graduates are probably not that good either.

But the fact remains, if you take a top 25% CS graduate from almost any program in the world, that guy can probably understand a business case quicker than a top 25% English major from an equivalent institution.

Its just far easier to get a humanities degree than it is to get a CS degree, if you aren't a structured thinker to begin with.

ThrustVectoring 1 hour ago 1 reply      
"Guess the teacher's password" is a strategy that works for many English majors and few Computer Science majors. You can succeed at rhetoric by either learning how to make good rhetoric, or by learning how to tell people what they want to hear.

It's significantly more difficult to write good programs by learning how to tell people what they want to hear.

thathonkey 1 hour ago 1 reply      
A quality education is a quality education. I'm sure he takes into consideration more than just the major and letter grade achieved though (obviously getting a B avg in MIT's CS program would not be the same as getting an A avg in Auburn's).

Anyway I'm of the opinion that it doesn't really matter what someone's academic focus is. Smart, impassioned people can excel at any field that they take the time to become educated in. Not to mention that programming and computer engineering is much more about experience than we'd like to admit.

zacinbusiness 1 hour ago 1 reply      
I was an English major in undergrad and grad school and I see these arguments all the time. I learned a great deal in my university career, and much of what I learned in the humanities took real intellectual curiosity, hard work, and deep thinking. You're not going to put together a real, publishable work by copy and pasting work from Stackoverflow, not in a master level English course. And let's be honest, the majority of CS students are lazy and incompetent, just like the majority of all students in all majors. Sure, you get some truly brilliant students that come along, but most of them never really produce anything of value. And most engineers, talented as they may be at slinging code and doing the lambda calculus, are pitiful communicators and can barely write a coherent sentence.
timdierks 36 minutes ago 0 replies      
Doing well in an English major at a good school is hard work, requires strong critical thinking skills, etc. But it doesn't reflect the level of analytical precision and rigorous correctness that doing well as a CS major does.

The humanities as a course of study are primarily interpretive and creative, and most schools of thought will support the idea that many different interpretations have value.

By comparison, while there are many different approaches and creative and engineering opportunities in CS, in the end the computer Does Exactly What It Is Told To Do And Nothing Else. And the level of precision, exactness and rigor necessary to support that environment is alien to most humanities curricula.

tsunamifury 1 hour ago 1 reply      
It's google's loss. And believe me it will be. A CS degree may be the best signal of a worker who will program all day, but it's not a good signal for the wide variety of other skills that are required to make a popular, well rounded and valuable product.

For example, making a workflow that is general understandable for the average user requires a strong set of less defined soft skills, like empathy, clarity of thesis, interviewing skills and a translation of discrete systems into metaphors non CS majors can work with.

And to be fair, google already seems to know this as they are trying to minimize the power of engineers in consumer facing product groups.

svmegatron 57 minutes ago 0 replies      
Bock and the author both miss the same point: the thing that helps you learn to think in a rigorous way is to study something that does not come naturally to you.

I see it as the difference between learning a new skill and practicing an existing one. The former forces you to focus completely, while the latter tolerates inattention.

bproctor 45 minutes ago 0 replies      
Some of the best developers I've hired don't have a degree. When looking at resumes, I don't really care about their academics.
andyidsinga 56 minutes ago 0 replies      
Ha! Last developer I hired was an English major ...I found out after I hired him ... the degree question didn't come up in three interview process ... just programming.
VikingCoder 1 hour ago 1 reply      
@joelgrus really nailed it. When someone at Google uses the verb "signals," you need to pay attention. Nothing is black and white in search. It's entirely about pulling together multiple sources of information, and deciding which ones signal the strongest and correlate with the results you're looking for.

Guy Raffa is welcome to make his own search engine company staffed entirely with English majors to prove his point.

pixelmade 51 minutes ago 0 replies      
For the most part, HR are a group that believes in data, but rarely uses it during evaluation and hiring decisions.
sanjiwatsuki 34 minutes ago 0 replies      
Some of the inflammatory statements have been taken out of context. The B vs. A+ quote was used in the context of students changing majors due to difficulty -- i.e. changing from a CS+English double major to Economics due to the difficulty of the double major. It is a discussion of the phenomenon described by "Students Pick Easier Majors Despite Less Pay." written in the WSJ.

Bock further explains that analytic thinking skills, whether or not they were derived from a CS degree or another degree (Statistics in his case) or not from a degree at all, are the important factor.

danso 1 hour ago 0 replies      
There's so much to say here about the incompetence of the OP that it's better to write a long blog post about it...so I'll just leave it at this.

First of all, check out the source material, which is this Thomas Friedman column:


The OP is suggesting that the Google exec doesn't value the skills in the humanities departments. This is not even remotely true. Read the Friedman column for yourself:

> Are the liberal arts still important?

> > They are phenomenally important, he said, especially when you combine them with other disciplines. Ten years ago behavioral economics was rarely referenced. But [then] you apply social science to economics and suddenly theres this whole new field. I think a lot about how the most interesting things are happening at the intersection of two fields.

So basically, the OP basis for argument is a little off-kilter. But where the OP is incredibly wrong is his interpretation of the following:

> I told that student they are much better off being a B student in computer science than an A+ student in English because it signals a rigor in your thinking and a more challenging course load.

The OP is aggreieved because he interprets Bock's statement as saying that English doesn't have the same critical thinking skills as computer science. Bock is not saying that at all, he is saying to a student that leaving comsci, because the courses are too challenging, is a bad idea, and that he/she shouldn't prize an A in an "easier" curriculum over a B in computer science, because the value of a grade is not the only measure of skills valuable to Google.

What's really important here is the word that Bock uses: "rigor". I'll refer to the definition that Google's search engine brings up:

> the quality of being extremely thorough, exhaustive, or accurate.

The OP interprets "rigor" as being "hard" or "challenging." But Bock is more likely referring to the importance of accuracy and the more rigidly testable questions in a typical computer science curriculum versus an English curriculum. Bock does not at all talk about the intellectual challenge of English versus Computer Science.

The fact that a professor has such a skewed, and in my opinion, wrong interpretation of not just Bock's statement, but of the English word "rigor" is itself a testament to the lack of "rigor"...or "stiffness" in how English is evaluated.

hellbreakslose 28 minutes ago 0 replies      
I don't get why you have to argue with a company on the way it does its recruiting. They feel that's the best for them and they have the right to.

Yes I believe that a person that studies English could become an Engineer. But being an Engineer requires experience and time. It's not like you'll pick it up in a day. On the other hand a person that studies CS or Engineering has learnt the basics and its easier for him to become one.

The way google is recruiting feels the right way for them (and for me) since they don't want to take in someone that has no idea and start teaching him on that.

Also if someone wants to work for a Tech Company like google I don't see why he will go study English... if English is what he likes best then why would he pursue working under a tech company.

I think you are trying to apply the logic that all the banks have that they'll hire whoever if he passes their tests. But they will train him into investments and guide them through. And also that person like everyone working on finance will have to undergo exams every-year to prove himself. (That's pretty much like studying finance if even more advanced).

Well Google doesn't want to go with the paragraph above.

theop 41 minutes ago 0 replies      
Are there enough diverse people to satisfy companies' diversity index goal?
nextstepguy 56 minutes ago 0 replies      
Google has such an arrogant culture for an ephemeral company built around the sole business to milk indirectly their customers with online advertisement.
How We Measure | Simple simple.com
21 points by Flenser  5 hours ago   21 comments top 3
rb2k_ 3 hours ago 1 reply      
Maybe slightly off topic to the post, semi related to their idea of an "active" customer:

I really like the way simple presents themselves. I don't think I'll join them any time soon though.

The incentive to use a 3rd party credit card is way too strong. I get things like cash back (depending on the card, up to 6% for e.g. groceries, 3% on gas, ...) and it helps building my credit score which the debit transactions on simple won't help with at all.

I do like Fee-Free ATMs, but on both of my current checking accounts (e.g. Charles Schwab) I don't have to try to find a special one that, judging from the map, usually means a 10 minute walk. I can just go to any ATM since there are quite a few banks that will reimburse costs for ANY of them.

Photo Check Deposit is pretty standard these days as well, both my local bank as well as Charles Schwab had apps that allow me to do that.

Most of the integration that simple provides (the "budgeting" part) , I probably also get with Mint. Only that Mint actually takes ALL of my accounts (Brokerage, Credit cards, ...) into account.

Besides that, the last time I checked they only accepted Type 1 Social Security Numbers.Sadly, as a resident alien, I only have a type 2 number (for work). This seemed a bit strange since pretty much every other financial institution didn't care about the specific type of SSN so far. I didn't even know there were different ones. They mention on twitter that they've "processed a few exceptions", it would probably still be very inconvenient.

caidan 2 hours ago 0 replies      
I like Simple and I wish them success. I don't like them because of their fantastic app and website, or excellent human customer service, but because after many years of abuse at the hands of Bank of America I wanted a bank that does not aggressively pursue Non Interest Income (ie fees, usually overdraft) as a major source of revenue.

Simple states very clearly on their faq[0] page that they make money off of interest and interchange fees, not punitive and arguably immoral fees like those imposed by the large mainstreet banks. Head over to this reddit thread[1] from this morning that discusses what it's like to work for these banks: "[the customer who was mistakenly charged the fee] struggles from week to week with finances, and needs every dollar more than the rich customers who treat us like shit yet the managers kiss their asses. It wasn't the customers fault at all yet they have to suffer".

All of the large banks are ruthless predators on the weakest of our societies, gouging their customers with an ever evolving scheme of fees and debt incentives to ensnare, entrap and exsanguinate those who can least afford it.

They are involved in price fixing scandals of the highest order, are beyond the reach of the law no matter the transgression, and seem to hold the sum total of our shared societies in contempt. Apparently there is very little that can be done at this point, the horse as long since bolted, but at the bare minimum I'll be god damned if I give them a dime I don't have to. Simple enables me to bank as usual without continuing to participate in that abusive relationship, and for that, I like them.

[0] https://www.simple.com/faq/[1] http://www.reddit.com/r/AskReddit/comments/26qpcq/redditors_...

ericcholis 2 hours ago 5 replies      
Slightly off-topic, but can any current Simple customers comment on their experience with the service? Their marketing is makes the service very appealing, I'd like some real world experiences though.
An alternative Haskell home page chrisdone.com
105 points by chiachun  13 hours ago   33 comments top 24
gkya 3 minutes ago 0 replies      
The first screenful of current haskell.org on my standard 15" laptop contains all the pointers I'd need while starting out, using, and mastering the Haskell language. It works quite well with JavaScript disabled, is readable and does look like a homepage of a product of years of advanced research, in spite of the OP's design, which is very light on information, lacking in links, and contains code for generating prime numbers using lazy evaluation, list comprehensions, a named function used as an operator via back-ticks, etcetera. In precis, OP's design throws out of the window all the informativeness of haskell.org, and puts nothing as satisfactory in place.

Also, the design is not nice in any way; it is instead, merely trendy and pretty. A good design tells something correct about the thing it represents. OP's design tells me that Haskell is a newfangled, superficial effort from some company, whereas the current haskell.org indeed represents, with it's rich content and it's wikiness, that Haskell is a product of community effort and research.

This effort of the OP is a good instance of change for the sake of it.

oneandoneis2 3 hours ago 2 replies      
I mostly like it, with one glaring exception: The auditorium photo. The instant I got to that, it stopped looking like a language homepage and started to feel like a site that was trying to sell me something.

Not one of the other language pages features a photo. I think might be a reason for that. I'm sure it's wonderful from a design perspective, but it's so far from what I expect from a technical page, I'd give up on the site on the spot if I were looking at it "for real".

Sorry, but it really is that bad.

rjknight 7 hours ago 1 reply      
I am probably not the best person to judge this, but I don't see that much of an improvement.

The current haskell.org home page is quite dense, with lots of links, but I quite like that. There are individual links to various Haskell community resources, including Reddit, IRC, mailing lists and RSS feeds. There's a visually prominent Download link. There are links to useful tools, broken down into categories. Most importantly, the page begins with a concise explanation of what Haskell is, with terms such as "purely functional" linking to wiki definitions.

The replacement version doesn't feature the explanation of what Haskell is ("Advanced purely functional programming language" is there, but the link to explain what "purely functional" means is gone). There is a code sample, but I'm not sure how useful that is (I guess is shows some basics of the syntax, but it feels mostly decorative and I'm not sure that code works well as decoration). The "News" link at the top might be useful, but if the News page just contains the headlines that are already on the haskell.org homepage, it doesn't seem like there's much value in moving that to another page.

The new version certainly looks better, in that Bootstrapy blurred-picture-of-a-bunch-of-people way. A responsive page design is an unambiguous win. But I can't get past the fact that the new page contains considerably less information than the older one, and I'm not sure that the main problem for potential Haskell users is their inability to handle information.

If all of this is a little harsh then I apologise, as it's always good to see people trying to improve stuff. However, the OP makes some criticisms of the current haskell.org page and I thought it might be worth trying to make a case for that design still being superior in some ways.

hyperpape 2 hours ago 0 replies      
I'm biased, having learned Python first, but the biggest thing that I miss in many other languages is the single "tutorial" link.

It should exist, it should be on the front-page (Python actually fails this, but it's on the documentation page, which is second-best), and it should be complete. Rust does surprisingly well on this point, given that it hasn't even hit 1.0 yet. It also should be browsable (it can incorporate interactive features, but you need to be able to do it out of order).

Coming from the "don't make me think school" you need that one link, rather than a link to a list of resources (like Ruby has). It also will be canonical and up to date, so long as nobody drops the ball. Google can't give you that.

deathanatos 10 hours ago 0 replies      
Minor nit: that background on the community pane (the blurred auditorium) isn't line art, and would be much better suited as a JPEG. I watched it load, when I loaded the page, and was a bit surprised to see it was PNG.

Resaving it as such in GIMP, using 90% quality cuts the size from 670kB to 110kB; reloading the JPEG and layering it on top of the PNG and flipping it on and off, I cannot visually tell the difference. Right now, it's about 75% of the data transfer for the homepage.

Argorak 33 minutes ago 0 replies      
I concur with the sentiment that the ruby homepage over-emphasizes news people get from other places. Most of the news are release announcements and CVEs where ruby-lang.org is the prime source - it is good to emphasize that.

Another thing I'd like to point out about ruby-lang: while the site is not as huge as other pages, it is translated into many languages and easy to change: just send a pull request. https://github.com/ruby/www.ruby-lang.org

(full disclosure: I am part of the german translation team)

keyle 11 hours ago 1 reply      
Looks great!

As feedback goes, I'd advise against leaving the lipsum on the home page of a live site.

After all, it's a safe bet that a user may type haskell-lang.org in the browser and get weirded out by what looks like a site with parts in latin.

Maybe a 'site in progress' label at the top may be better. Or simply write whatever comes to mind for each sections and rewrite them over and over as you iterate.

izietto 7 hours ago 0 replies      
The important features for a programming language main page to me are:

* Clean

* Code samples

* browser shell / try it editor (good in Getting started page, best in the main page)

* Useful links (installation, documentation, syntax reference above all)

Some thoughts about the sites mentioned in the article:

* F# http://fsharp.org/ : Good a clean and useful list of links Bad hard to find code samples; Try F# is not available for my system (Linux) and it's not clear why

* Ruby http://ruby-lang.org/ : I like it, nothing to add

* Python https://www.python.org/ : Good code examples are runnable inside an interactive shell... Bad they are not, their Interactive Shell link opens a shell which doesn't belong to the example

* Rust http://www.rust-lang.org/ : Good maybe my preferred site since it is the cleanest one Bad no browser shell

* OCaml http://ocaml.org/ : I like it, nothing to add

* Go http://golang.org/ : I like it, very pragmatic

* Perl http://www.perl.org/ : Good useful links Bad no code samples, no browser shell, a bit messy

* Scala http://scala-lang.org/ : Good good looking Bad no code samples, no browser shell

* Clojure http://clojure.org/ : Good clean Bad no code samples

BasDirks 6 hours ago 0 replies      
"My relationship to haskell.org over the years has been one of stonewalling when requesting access, of slow replies, and of bike-shedding and nitpicking when proposing designs." Sad and true.
daGrevis 8 hours ago 0 replies      
I think The Racket Language (Lisp dialect) has great site too. You didn't add it to your list. http://racket-lang.org/
ahuth 10 hours ago 0 replies      
Not only does it look great, but the logic is sound as well - the homepage is to get new users interested in it, and to get them up and running with it as easily as possible.

It really shows that the author did his or her homework. The analysis of other languages homepages was interesting as well.

misnome 4 hours ago 0 replies      
I'm slightly surprised - one thing I always thought of haskell as having was a pretty download page


But I guess the front page isn't quite so nice. One thing the real page certainly has the advantage in, is the great big "Download Haskell" button in the middle, as opposed to a tucked away "Downloads" button.

alvare 1 hour ago 0 replies      
Excellent choice of colours. Love it.

And I have absolutely no idea why some people prefer the current site to yours.

A great site does make the difference, don't be so blind.

moomin 9 hours ago 2 replies      
Haskell beginner. This looks like a very good thing. Step 2 would be having a tutorial that wasn't a university course. :)
bioneuralnet 11 hours ago 1 reply      
Looks incredible. As logical and self-aware as we developers presume to be, we are as susceptible to branding as anyone else. I've been wanting to dive into Haskell for awhile. Partly I need a project to focus on. Another lacking piece is an active (or obviously, vocally active) community (Ruby and Node excel at these, IMO). Thirdly, and perhaps sadly, is branding. You've got a great start. If the final site can deliver both the aesthetics plus community and beginner resources, I think you'll lower the perceived barrier of entry to a lot of people, myself included.
kubov 7 hours ago 0 replies      
Sorry, but I'm the only one here who thinks that this kind of things doesn't really matter? I honestly don't care about code samples/try it for on-line on the main page, especially with language of that kind, where grasping and fully understanding for example, list comprehension is going to take some time, and can't be though by simple sieving example. Maybe I'm getting old and tired of this webdesing/responsive thing...
qubitcoder 8 hours ago 0 replies      
This is superb! I too share your dismay with the current Haskell site. I think what you've put together really captures the elegance of the language. It's focused, crisp, and beautiful. Great work.
chiachun 10 hours ago 1 reply      
It's also interesting to think about the points mentioned in PG's "Being Popular" [1]. I think the most important one is "to have a system to hack". Emacs lisp is popular because of Emacs, Javascript is popular because of the web, and how about Haskell?

[1] http://www.paulgraham.com/popular.html

seanmcdirmid 9 hours ago 0 replies      
Maybe my screen is set too bright, but the 100% white bleeds into the purple. It might be better to use a 90 or 80% white for less bleeding if going with a darker purple-like background.
kevinwang 8 hours ago 0 replies      
That mockup looks good, and it is definitely a HUGE improvement over the existing homepage.
29decibel 10 hours ago 0 replies      
Looks awesome! A pure FP language deserves a "Pure" home page :-)
orsenthil 10 hours ago 0 replies      
Reminds me of "Judging the book by it's Covers" metaphor.Great design, but content matters and rules and haskell is not short of that for serious programmers.
mazerackham 8 hours ago 0 replies      
wow this is amazing. Branding is so important, and Haskell having a page that looks as good as Scala's would be huge
jfe 3 hours ago 0 replies      
me rikey
RubyMotion 3.0 Sneak Peek: Android Support rubymotion.com
184 points by blacktulip  19 hours ago   70 comments top 18
danielsju6 17 hours ago 3 replies      
Maybe it's petty but I've lost confidence in Ruby Motion since I've had a pull request open against it for whole year because they don't support enterprise deployment out of box. The fix is pretty damn simple too https://github.com/HipByte/RubyMotion/pull/64/files

You'd think enterprise would be a prime use case here. Sucks to have to keep your own fork up to date.

Moral of the story, if you have a Github repo please accept pulls; and if you don't you loose customers.

bratsche 18 hours ago 3 replies      
"The object model of RubyMotion for Android is based on Java. Ruby classes, objects, methods and exceptions are Java classes, objects, methods, and exceptions, and vice-versa. No bridge is involved."

But then later it says "The runtime uses the Java Native Interface (JNI) in order to integrate with Java".

And then later it says, "RubyMotion Android apps are fully compiled into optimized machine code, exactly like their iOS and OS X counterparts."

Does any of this make any sense? They seem to be contradicting themselves left and right on the same page.

mfkp 18 hours ago 3 replies      
"RubyMotion for Android features a completely new Ruby runtime specifically designed and implemented for Android development."

That is huge, very excited to check this out!

I would love being able to write ruby instead of java (whereas objc doesn't bother me that much).

lnanek2 11 hours ago 0 replies      
I was impressed that even with all this translation and Java compatibility going on, the sample code still shows some situations where the nice clean, concise nature of Ruby is still up and running. E.g.:

> @paths.each { |path, paint| canvas.drawPath(path, paint) } if @paths

From: https://github.com/HipByte/RubyMotionSamples/blob/master/and...

And: @activity.handler.post -> { @activity.updateTimer }

From: https://github.com/HipByte/RubyMotionSamples/blob/master/and...

These things take a lot of lines in Java for Android where we don't have lambdas and function references yet and often have to define anonymous classes just to pass a method in to a handle to be run later.

scoot 18 hours ago 3 replies      
I just wish they'd release an LOC limited trial version. I'd love to give it a spin, but I'm not about to fork out that much money just to try it...
andyl 17 hours ago 0 replies      
This is fantastic news. I love RubyMotion and can't wait to try it on Android. Especially want to learn how easy it will be to create wrapper objects to have a common API across platforms.
dimillian 3 hours ago 1 reply      
Hey, when it comes to mobile, I develop them in pure Objective-c for iOS, and pure Java for Android. I use tools provided by both compagnies. So yeah, I do the jobs twice, but I think it's ok.

Anyone have feedbacks coming from what I do to something like RubyMotion or Xamarin? These solutions sound very interesting, but I've yet to try them. I think I'm too attached to my Objective-c and workflow.

Also, is there peoples who originally used RubyMotion or Xamarin and went to use OC and Java?

crashandburn4 15 hours ago 1 reply      
I was just looking at the rubymotion licences [0]. does anyone know if you will get future releases with the licence? do you only get them for one year?

[0] http://sites.fastspring.com/hipbyte/product/rubymotion

sciguy77 18 hours ago 1 reply      
I am elated. Rubymotion is awesome. It has the ease of PhoneGap with the speed of native Obj-C.
yulaow 18 hours ago 0 replies      
Surely today with this news, the one on xamarin and that on codenameone it is likey orgasm-day for all the crossplatform tools lovers.
Karunamon 18 hours ago 0 replies      
Some code samples already available on Github: https://github.com/HipByte/RubyMotionSamples/tree/master/and...
mark_l_watson 18 hours ago 1 reply      
Does anyone know if the RubyMotion price of $200 will include Android support, or will that be a separate product?
octopus 19 hours ago 1 reply      
This is great news, it will boost the adoption of Ruby and RubyMotion in the huge Android market.

Finally I have a reason to give RubyMotion a try. I'm curious how much productivity gain can one achieve with a language like Ruby once it is compiled (which will ensure the speed of the resulting application).

rahilsondhi 18 hours ago 2 replies      
Are mobile apps written with RubyMotion on par with the native equivalent? For example, I've heard a lot of people dislike PhoneGap, AppAccelerator, etc because the final app isn't as polished as something that is built natively.
fuddle 18 hours ago 2 replies      
I'm curious if the XML views will remain the same?
mmanfrin 17 hours ago 0 replies      
Pretty damn cool.
gary4gar 18 hours ago 0 replies      
does this work on all android versions?
higherpurpose 17 hours ago 2 replies      
Is there something similar for other languages?
Joshua Norton, Emperor of the United States priceonomics.com
80 points by harris11  14 hours ago   29 comments top 12
nextstep 59 minutes ago 0 replies      
>> ...the price of rice skyrocketed from 4 to 36 cents per pound (a 900% increase).

That's an 800% increase.

aeturnum 10 hours ago 0 replies      
I've always been fond of Emperor Norton. He's a figure that fits right into the modern SF tapestry.

He fits in so well that I wonder what historical figures have fallen by the wayside of San Francisco history. The Emperor seems culturally prophetic now, but there must have been other notable figures

Are there Bay Area public figures who were notable in their day, but whose character has not aged as well?

jgmmo 12 hours ago 1 reply      
Being a Norton, I long ago heard about this guy.

Though I have no idea why it's on priceonomics. This article contains less info than the wikipedia page.


nickkline 25 minutes ago 0 replies      
Anyone else read Christopher Moore? Emperor Norton's a regular in a bunch of his books, hilarious stuff.
dchichkov 11 hours ago 1 reply      
Only in San Francisco ;) Now, talking about some real power, if there was a real emperor in the U.S., it was a New York's public servant - Robert Moses.
kylebrown 6 hours ago 0 replies      
> "Whoever after due and proper warning shall be heard to utter the abdominal word 'Frisco,' which has no linguistic or other warrant, shall be deemed guilty of a High Misdemeanor."

I suppose he meant abominable?

gooserock 12 hours ago 0 replies      
If you want to learn more about Joshua Norton, I make a history podcast, and I talked about him (and Jose Sarria, another San Francisco celebrity) in episode 8:


Eric_WVGG 9 hours ago 1 reply      
There's an excellent story about Norton in Neal Gaiman's Sandman: Fables and Reflections
gadders 5 hours ago 0 replies      
He reminds me a bit of this guy in New Zealand:


dobroezlo 2 hours ago 0 replies      
Shows you how much americans wish they had any kind of royalty in their life. But no-no... you've made your choice!
jacquesm 6 hours ago 0 replies      
After reading that my conclusion is that every city I've ever been in desperately needs an Emperor as benevolent as Norton.
spiritplumber 10 hours ago 1 reply      
I wonder if San Francisco would still work for things like this.
FileMap: File-Based Map-Reduce github.com
25 points by JensRantil  7 hours ago   10 comments top 3
jon-wood 6 hours ago 2 replies      
If you're just looking to parallelise an operation over some file then GNU Parallel is an fantastic tool as well. On several occasions recently I've combined the split command and Parallel to break a large CSV file up into smaller chunks, and then run a Ruby process on each of those chunks.

Parallel is apparently also able to distribute a command over several hosts using SSH, although I've not tried that one.

Cseraphi 11 minutes ago 0 replies      
Anyone willing to share some real-world examples of FileMap jobs? The examples in the github page seem geared toward explaining things in terms familiar to Hadoop users, which I am not one of. Seeing an actual command line (as opposed to a contrived snippet of one) would be useful to me.
awhitty 6 hours ago 3 replies      
As someone who has never used Map-Reduce before, something about this implementation makes the technology feel 100% more accessible to me.
       cached 29 May 2014 16:02:01 GMT