Is Bilingualism Really an Advantage? - <AUTHOR> http://www.newyorker.com/science/maria-konnikova/bilingual-advantage-aging-brain?mbid=social_facebook <comment><USER2> Freakonomics did an interesting podcast on this:

[http://freakonomics.com/2014/03/06/is-learning-a-foreign- lan...](http://freakonomics.com/2014/03/06/is-learning-a-foreign-language- really-worth-it-a-new-freakonomics-radio-podcast/)

Their conclusion was that bilingualism doesn't increase your earnings potential commensurate with all of the study required to become bilingual. (They focused on economic and not cultural value.)

The exception was English. If you don't speak English, you will make much more if you learn English.

They also discussed how supply-side is important in the market for bilinguals. In the US, learning Spanish will not increase your income by much, but learning German might.

<comment><USER3> The obvious question would be whether this works differently for languages learned as a child vs as an adult.

For me the "cost" of learning English as a second language in school was negligible (even if you factor in all the hours actually spent in class) because a lot of the learning was actually passive or even recreational (e.g. watching movies, playing games).

OTOH, learning a second (or third) language later on would have required much more investment. I actually tried several languages in university and eventually decided that I just didn't have the time or interest to learn any of them properly (i.e. the cost would have been too high and the immediate return extremely low with long-term return also being questionable).

<comment><USER4> To figure the "cost" of learning a language in school you need to count what else you could have been learning with that time.

<comment><USER3> Sure, but realistically that's not as "expensive" as it would seem. It's not like you could replace it with just about anything (it'd have to be a class that could realistically be taught instead, requiring a realistic syllabus, a sufficient availability of capable teachers and sufficient demand). And if you want to be properly realistic, you'd have to limit the alternatives to what would have been available alternatives in school if it was an elective. And if considering alternatives outside school, you also have to factor in the overhead (whereas in school you're already paying that anyway).

Besides, it's naive to treat cost as simply a measure of time. In some cases time spent in school is much more intense than outside of it. In other cases it's the opposite.

</comment></comment></comment></comment><comment><USER5> This is a good article.

It doesn't dampen my enthusiasm for learning a second language and getting immersed in a different culture. To me, it's so clearly rewarding that I don't need to worry too much about whether it benefits me.

However, now that I have kids and read the various upper middle class liberal- ish publications, I've learned so much about what my kids need to be doing. They need to

learn an instrument, learn to read music, lean not to rely too much on reading music, develop executive function through certain sports and physical activities such as dance, skateboarding, tennis, or form-based martial arts, play team sports, study math in a less abstract way, learn the abstractions of math, learn to program, learn visual arts in a tactile way, play in nature, learn to swim, engage in at least 5,000 words of abstract dialog and language, and… well crap, I forgot some I think. Oh, now I remember - my kids should also _not_ be over scheduled. got it? good.

Something tells me that if you take, uh, a couple of these things, you're probably good. Kind of like how doing pushups also builds your triceps. You don't actually have to do 50 different exercises, one for each known muscle.

Languages? Hell yeah, languages. They're great. Go for it. You could also do some of those other things.

<comment><USER6> Yup, same goes for parents. I don't feel like I have to be perfect at every parenting task. If I'm pretty good at 40% of parenting and my wife is pretty good at another 40% someone else can pick up the remaining 20%.

<comment><USER7> heck, if they are alive and the house is not on fire, you're doing pretty good :)

</comment></comment></comment><comment><USER8> Wonder if any studies controlled for income level and economic situation. Many bilingual kids might have had additional advantage such as families with parents that get jobs in other countries, or in general could move to other countries. If they learned it in school, maybe they went through a better educational system.

For me it was a combination of educational system and just being a country were multiple languages were spoken routinely.

On the the personal level. I feel that I am able to reason sometimes at a higher abstraction level because I know 3 languages. In other words many concepts are less tied to particular words in particular languages, rather they move up a level, and then there are mappings to individual languages.

This is not unlike learning multiple programming languages. If you know C# and Java, and C++ you probably have a solid understanding of OO concepts and can just map them to idiosyncrasies in those languages. If you can even move up and learn a functional languages like F# or Haskell and there is a whole new abstraction level you can reason about. But if you only and ever know Java, there is a higher chance you'd think more in Java's syntax rather than at a higher level.

</comment><comment><USER9> I moved to US from Japan when I was 13 years old. One thing I have benefited for sure is the sheer amount of information I have access to. While there are a lot of overlaps as translated versions of the work is often available between Japanese and English pair, it is certainly easier for me; actually, this makes searching for information relatively easier. I have an option to take a jump in a language in order to narrow down the information I'm looking for.

The only thing I can think that I missed is some of the social implications (or cues, if you will) in each language. (Maybe drastically more so in English, as I haven't had chance to infuse them.) Not that I have much of problems speaking to other people, and reading documents in either language, it's just when there are hidden implications within.

<comment><USER10> I used to be billingual (french and german) as a kid. I remember literally translating passages of german books/articles a few times for school assignments. It was easy not to get caught.

</comment></comment><comment><USER11> I can speak in 4 languages and just about manage to converse in a fifth. There are definitely advantages to knowing more languages than one:

1\. People love you if you can speak their language without forcing to search for a common language; you can build a rapport much more quickly. If you love to travel, this will definitely help!

2\. Different languages force you to think in different ways. Different languages have different constructs and vocabularies/concepts not even present in English. For e.g. in Marathi/Hindi, the word "sit" can be translated in 2 different ways depending on the respect you show to the other person.

3\. If you have any interest in cultural history, learning the local language will help a great deal.

Plus I think being able to think in different languages is just wonderful! I can't describe how boring it would be if I could think in only one language.

Do these translate to monetary gains? Hard to tell. Does it help me lead a more fulfilling life? Yes, I definitely think so!

Having said that, I definitely want to learn more languages. 4 is really less in India, there are plenty of people who can speak more.

</comment><comment><USER12> The article provides a summary of research on a very complex topic and it appears as usual there's no simple "answer". It seems a pretty safe bet that bilingualism confers _some_ advantages, though the challenge is to try to differentiate just what those are and aren't.

The researcher's problem is the enormous overlap of factors affecting cognitive function. For example, psychiatric disorders are quite common and associated with deficits in executive functioning, which we might reason affects capacity to become bilingual in the first place, thus a variable to be controlled.

However it's also been shown that biological relatives of psychiatrically disordered individuals have similar (if less severe) deficits. Dispersed into the general population, it's difficult to screen for the potential confound, injecting a subtle and essentially incomputable bias into the comparisons of bi- vs. monolingual individuals.

Similarly, the association with earlier or later onset of dementia is extremely difficult to parse. We're back to the usual pulpit re: correlation vs. causation. It could be argued that bilingualism is one indicator of advantaged systemic integrity. There are no doubt many other signals of such advantage. Dementia could be the outcome of an intrinsic lack of fitness in the Darwinian sense.

</comment><comment><USER13> I have to say yes!

I was born in Portugual, so Portuguese and Spanish was all I heard growing up. But then I went into a german school and picked up German and English. Later I picked up French and finally Dutch.

My wife has a pretty similar language history so it's quite fun to speak our own version of Esperanto to our daughter and see what language she'll pick up first!

Workwise, I would be miles behind where I am right now if I hadn't picked up English at an early age. I've read somewhere that people who reason in a non- native language are able to maintain a more rational (less emotional) train of thought and that certainly seems to be the case with me, but if for no other reason, I suggest you should pick up a second language because it will increase your potential earnings! (see the economist's article below).

[http://www.economist.com/blogs/prospero/2014/03/language- stu...](http://www.economist.com/blogs/prospero/2014/03/language- study?fsrc=scn/tw/te/pe/ed/whatisaforeignlanguageworth)

</comment><comment><USER14> My kids are both bilingual. My wife and I are both American, so it was strictly a choice that we made on the basis of having a desire to bring up children that had a less parochial look on the world. Raising children bilingual (i.e. sending them to a bilingual school) at an early age, they both became bilingual with relatively little pain.

We never viewed this as a means to increasing their earnings potential (at least not a direct consequence - it's always possible that they alleged mental benefits of bilingualism has some effect) and I have no way to make a judgement as to whether it will. They both do very well in their school work, but once again, I can't determine if bilingualism had anything to do with that.

At this point neither of them has any desire to pursue any opportunities that would use their bilingualism, but they're still both teenagers and that could change at some point.

</comment><comment><USER15> I'd be interested to find out if having programming skills grants a similar advantage concerning dementia.

</comment><comment><USER16> I think the advantages and disadvantages are minor compared to other influences. Many poor immigrants for example speak 2 languages. Yet rich well travelled people also speak 2 languages.

This debate is only possible in the U.S. ... the majority of the world speaks at least 2 languages.

<comment><USER17> Really, there isn't a single other country on the planet where only a minority is bilingual? This strikes me as rather unlikely.

<comment><USER18> The UK.

</comment></comment></comment><comment><USER19> > Bilingualism, in other words, seems to have a protective effect on cognitive > decline

Do I really need to say it?... "Those whose cognition will decline slower seem to be more likely to become bilingual".

</comment><comment><USER20> The TL;DR for this article: "Yes, there are significant cognitive benefits to being multilingual, including staving off dementia in old age, but the benefits may be sometimes overstated."

</comment><comment><USER21> > In 1922, in "Tractatus Logico-Philosophicus," the philosopher Ludwig > Wittgenstein wrote, "The limits of my language mean the limits of my world.

The amount of times this particular proposition has been quoted and rehashed by ignorant people in completely irrelevant contexts is staggering. (On the plus side it saved me the ~ twenty minutes that reading the rest of the article normally would have taken)

</comment><comment><USER22> Hmm, a nice exception from Betteridge's law of headlines.

<comment><USER23> I read that as a qualified no. _the advantage is neither global nor pervasive, as often reported_

Learning anything generally has task specific advantages on related activities. EX: Getting good at a FPS game has carry over to other FPS games. And, Language touches a lot of bases, but there is no evidence it helps say learning to surf.

<comment><USER24> Well, the article only discusses cognitive advantages, but there is the very real advantage of being able to communicate better and with more people. They can teach me how to surf, for example. And I am able to discuss with all of you, which is nice. Learning a language can be at least as powerful as learning how to code. (Especially if you start with non-English as a first language.)

<comment><USER25> My Life Goals: 1\. Learn the language of the surfers. 2\. Learn to surf.

</comment></comment></comment></comment><comment><USER26> What's it with the anti-intellectualist strain in America? Learning a foreign language at any decent level means becoming acquainted with the literature written in that language and with the culture of the country where the language is spoken.

Learning that kind of stuff is good for you. Even if it doesn't translate into increased material wealth.

<comment><USER27> Well, firstly, the researcher quoted extensively in this article is a Dutch- born scientist at the University of Edinburgh.

Secondly -- and from here on out I'll be derailing to rant at a more general 'you' than you specifically -- what is with you g-d global tourists and cultural dilettantes who think a cultural diet composed equally of small portions of everything is the only valid choice? And why does it always come back to Americans, specifically? (besides, you know, us all being assholes?) When you are off visiting a fishing village in Malaysia, do you tell the fishermen, "You should really visit New York sometime and try the pizza. It will really broaden your horizons!"?

There is an absurd amount of culture available, more than any one person could ever consume. Why is it so hurtful to you that someone might be content immersing themselves in their own culture, or -- worse! -- reading Proust in translation?

<comment><USER28> You're really arguing that learning about other cultures doesn't have a benefit? Cross cultural pollination not only contributes to a feeling of good will between counties, but it's responsible for lots of cultural and technological innovations. American culture is just a mish-mash of other cultures. Think about it. You eat spaghetti!

<comment><USER27> No, I'm saying that there are multiple ways to live your life. Cross- pollination may be a good thing, but the bees are not the flowers. Some people need to be locals, and being a local is not inferior to being a cross- pollinator.</comment></comment></comment></comment>


Tomasulo algorithm – efficient use of multiple CPU execution units - <AUTHOR> https://en.wikipedia.org/wiki/Tomasulo_algorithm <comment><USER2> Variations on Tomasulo's brilliant algorithm are part and parcel of every out- of-order execution engine. Definitely part of every computer architect's toolkit. To see how far the underlying ideas can be pushed, see the architectural work of Yale Patt and his students, Wen-mei Hwu, and Michael Shebanow.</comment>


Show HN: Open GIF Search - <AUTHOR> http://opengif.net <comment><USER2> The data set is small. The search system is exclusively based on similarity search using word vectors. One result of this is that an image that should be returned for a search for 'parrot' is only returned for a search for 'bird'. A better search system would combine both word vectors and keyword matching so that if a description contains parrot it matches parrot but bird would also match parrot.

</comment><comment><USER3> I like the concept! We need something like this, especially now that GIPHY is a FB product.

I searched for "salty" then "salt" "wave". The suggestions were "question_mark", "faucet", and "ocean sunset" respectively.

<comment><USER4> I feel like I'm missing something. Almost everything comes back with question mark. But then i search for 'se' by accident and the suggestion is 'dachshundt-on-record-player-turntable'.

<comment><USER5> "car" returns the same thing

</comment></comment></comment><comment><USER6> Might want to considering outsourcing the actual search functionality to an external engine for better accuracy. Here are some good choices: [https://github.com/topics/search-engine](https://github.com/topics/search- engine)

</comment><comment><AUTHOR> Proof of concept on an open sourced Gif Search Engine.

</comment><comment><USER7> I'm not sure what the sources are, but the results are quite monotonous.

<comment><USER8> There are only 61 GIFs in the entire dataset [0] What this project is most clearly missing is an attempt at web crawling for GIFs. This is how Giphy works, and frankly I think it would be trivial to scrape a few thousand GIFs in an afternoon.

[0] [https://github.com/bnlcas/OpenGif/blob/master/Data/Gif_Data/...](https://github.com/bnlcas/OpenGif/blob/master/Data/Gif_Data/gif_data.json)

</comment></comment><comment><USER9> Google Image search also has a GIF only search:

[https://www.google.com/search?q=meme&tbm=isch&tbs=itp:animat...](https://www.google.com/search?q=meme&tbm=isch&tbs=itp:animated)

</comment><comment><USER10> I did two searches related to hiking in the mountains, both of which returned a gif of a dog spinning on a turntable.

So far, this is nowhere near the quality of a google image search, or even giphy.

</comment><comment><USER11> Your full full text search needs tuning

<comment><USER11> Sorry the "full full" was a genuine mistake not intended as sarcasm.</comment></comment>


Why my first startup in the valley "flopped" - <AUTHOR> http://emmanuelpozo.com/post/28603867718/startup-flop

<comment><USER2> Great story. On the verge of launching my own startup, and I've definitely struggled with whether or not to incubate (this, of course, is assuming they'd have me). I've heard from countless people—and I now agree—that the loss of capital is nothing compared to what you gain. After all, 100% of nothing is still nothing.

I also think it's great that you were able to recognize the mistakes you've made; And now that I'm sure you've learned from them, hopefully one day you'll have another opportunity to put what you've learned to use.</comment>


iOS Developers: Say goodbye to MAC addresses too - <AUTHOR> http://www.insidemobileapps.com/2013/06/12/why-advertisers-will-have-issues-with-ios-7/

<comment><USER2> This is bad, why?

<comment><USER3> It's a change - it's not specifically "bad".

There are consequences too - some of which can easily be seen as "bad" by at least some (non evil) people.

Providers of all the current "free" content, where "free" means "paid for with personal demographic information instead of money" will need to adjust their business models to suit.

Personally, I think that's a good thing - I'd rather pay directly for the content I consume - but I suspect "most people" would resist the idea of their favourite webcomic/news/game-demo apps going behind a paywall, and it'll be more work to monetise apps (or sites) if CPMs drop due to poorer targeting.</comment></comment>


Smart Innovators Value Smaller Teams Over Better Processes - <AUTHOR> http://blogs.hbr.org/schrage/2011/12/quiet-but-unsubtle-innovation.html

<comment><AUTHOR> key points:

"Innovation initiatives that were once handled by dozens a decade ago are now run by only handfuls. The median size of the core innovation group has dropped from a football/soccer eleven to a basketball five. Less apparently enables more."

"The key performance indicator here is, ironically, slow growth. A fast- growing innovation team means either the wrong people were hired or that the wrong challenge was picked. The team delivers measurably impressive results with only marginally more members. That is the success metric."</comment>


Oh my, T-Mobile just texted me my password. - <AUTHOR>

I thought "forget my password" would send me a one-time reset code.  Instead I get my password plaintext. <comment><AUTHOR> They also do this cute thing where they silently drop any characters they don't like (non alphanumeric) when you make a new password.</comment>


Ask HN: Would you consider this as a valid path to learn web development? - <AUTHOR>

Last week, I wrote what I believe is a very valid path to teach yourself web development, starting with no prior knowledge. It can be found on my blog here: http://bit.ly/1246qMU
Do you think I missed something? What would you consider a newbie web developer should learn as well?
I plan on writing a follow-up with your inputs. <comment><USER2> I just started down the path to learn web development a week ago (after procrastinating it for years). My only prior programming experience was some BASIC and Pascal lessons I took in primary school and a bit of self-taught HTML.

I find codecademy.com to be a fun and well structured way to learn Python. To me it may well replace the "Python for Kids" book recommended in your blog post since codecademy is free and provides instant feedback on exercises (best way to keep the motivation high!). After completing the codecademy course I'll definitely get myself a proper book to learn the language in more depth.

One thing I'm struggling with is to find mini-projects that I can build and practice with as I learn more codes. As a beginner I may come up with a mini- project idea without realising how big the project can get to or the level of skill is required. If you could suggest a few project ideas with incremental difficulty as well as novel ways for a beginner to _think_ about programming would be really helpful.

To me the most valuable part of your blog post was mapping out the Python > SQL > HTML/CSS > framework learning path. This was another question I had in mind ("what's next after Python?") because as a beginner I really had no big picture view of what skills I need to acquire. So thanks heaps for writing up the post and I look forward to reading your follow-up!

<comment><AUTHOR> Writing some example projects. Duly noted!

<comment><USER2> You the man!

</comment></comment></comment><comment><USER3> I liked the post (especially as I am a self trained programmer), but I think it's a little simplistic, and a few areas are missing and the order could use a little tweaking. Here are my suggestions:

1: HTML and CSS. I think this should be the first step. Simple static web pages. Even if you write good code in python, how can you get it to show in a web browser. Also a simple static page can be viewed from your hard drive in a browser. But that is no good so it leads into the next point...

2: Webserver/stack. Now this could be as easy as installing something like XAMPP or equivalents, or even installing apache, PHP, mysql etc. but here the learner can start to see the problems even with moving their simple static HTML pages to an actual server environment. And now they can start to make their boring static pageeager interesting by looking into the next step...

3: Python/Databases. As you say, start programming, but I would link it with databases. Again, a lot of ins and outs, and these can all be made easier by...

4: Frameworks. Now jump into Django and maybe bootstrap too. By now they will appreciate what the framework offers, and maybe have enough of a foundation to be able to make smart decisions about each.

Just my input, and I think it's great you're putting together this idea.

<comment><AUTHOR> Thank you for your valuable input. Actually, I have thought a lot about the order in which a total newbie should learn and my reasoning is this:

most of the people asking me how they should learn web development are asking because they have an idea they'd like to complete. I think that anybody can learn how to put an HTML page together and style it (at least, in a basic way). It's not much harder than creating a complex Word document.

By introducing programming first, I wanted the newbie to be exposed as fast as possible to 'real' programming (loops, branching statements, etc) because I think not everybody has what it takes to do it (or understand it) properly. The difficulty, in my opinion, is to get these concepts, together with basic algorithms and OOP. If one can go through that, HTML, CSS and JavaScript won't seem difficult at all and results will come quickly.

I also wrote this path with time in mind. Considering an adult with a day job and other duties/activities. The idea and the reasoning is to be proficient quick enough (not in two weeks but not in 3 years either). Therefore, I left PHP out of the way. One can learn it at a later stage if needed. Same with ASP.NET or Rails or whatever web technology available.

I also broke programming and databases in two sections. For an experienced programmer, learning two languages at the same time can be easy (then again... not always) but for a beginner, this can make a difference between 'I'm making progresses' and 'there's too much to learn, I give up'.

Early in writing, I actually chose the same path you are proposing but I tweaked it, peeling the difficulty layer by layer.

</comment></comment><comment><USER4> "Writing HTML is NOT programming"

\- I'm in two minds about this.

"In the strict sense, a programming language is a way to issue instructions to a computer".

\- That's not true. Strictly speaking, you are talking only about imperative programming languages. There are other programming languages which are declarative, you just declare the goals you want but not the instructions on how to achieve the goals. Strictly speaking again, HTML & CSS are declarative languages, that's why I can't decide whether it's true that writing HTML is not programming.

"First of all, you will need to learn what programming means. This will be done along learning your first language: Python."

\- But you are talking about learning web development, JavaScript is THE language of the web (at least for now). So why Python? why not JavaScript?

<comment><AUTHOR> For the discussion on HTML being a programming language or not, I know there's a war going on about it. My take is that except presentation, you can't achieve anything with HTML. Especially not logic. But writing HTML is coding. Not programming. See the difference?

About Python, I'm talking about becoming a web developer, not a web designer. JavaScript is a front end language (and if you look in my recommended path, I also say one must learn it and I provide sources to material in order to do that). But first, I believe somebody needs to learn 'programming'. When it comes to web development, a lot is done server-side (like for example, database input/output operations) so Python is a very valid choice :-)

</comment></comment><comment><USER5> I would say learning git/github should be the first step.

<comment><AUTHOR> Excellent idea! I didn't add any kind of source control learning material (although that if you learn Django and deployment, you will encounter git).</comment></comment>


SpaceX CRS-7 Launch, Count Down - <AUTHOR> http://spacexstats.com/mission.php?launch=24

<comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=9793555](https://news.ycombinator.com/item?id=9793555).</comment>


Ask YC: Development-wise, what do you do that's unconventional and why? - <AUTHOR> I'm interested in how people are running against the herd and why.
A good example of what I mean would be HN's use of tables for layout--it's not trendy.
For myself, I am playing with stylesheet formatting so most things are on one line, which I find faster to get around, and easier to see more at once. Another example is I now rarely abbreviate in variable and function names. I've decided I waste more time remembering my abbreviations than I would spend typing the word. <comment><USER3> For Openomy, one of the things that makes our project really exciting day-in and day-out is that we went to a service based architecture early. We don't have one single application for everything and we don't have one single database for everything.

For instance, we have a user service (which controls accounts, sessions, etc and has its own database), a metadata service (which controls what files we know about, what tags they have, etc and has its own database), a file service (which controls the actual binary data of the files and has its own database), etc (we have a few others, but that gets the point across). They talk to each other through REST -- though it could be anything, of course -- to get anything done they might need.

This allows us to scale each service independently, which is great. I'm always surprised at how long it takes folks to move to a SOA.

But, perhaps, the coolest part from an always-hungry-to-try-new-things development team is that having a service based architecture means that we are free from programming language constraints. As long as the language can speak HTTP, we can try it out for a new service or a new client. There's nothing like the feeling you get when mastering a new language. And there's no better way to master a language than write something tens of thousands of people will be using.

So, we have an old front-end built in C#/Mono, we have a couple Rails services, a Java service, our new APIv2.0 (<http://api.openomy.com>) is written in Haskell/HAppS (which I'm particularly proud of), and now we're writing a client in Scala. And, besides that, we use Perl for some offline scripting tasks.

I think it's pretty unconventional-- but it shouldn't be! I highly recommend going this route.

<comment><USER4> I'm working on a variant of this SOA model using (don't laugh) IRC and JSON. Pick your language, and hook-up.

</comment></comment><comment><USER5> Pencil & paper for a lot of the design & architecture work. I write a lot of little notes to myself in a spiral-bound notebook.

Using immutable data structures. I've jiggered up some Python decorators to handle the copying for me, so all my setters return a new object instead of mutating the old one.

Writing code that's both Flash and JavaScript. A lot of our product is written in the common subset of both languages, with a compatibility library to paper over differences.

<comment><USER6> I design on paper a lot too. A new feature or big refactoring has to be absolutely clear in my mind before I start coding.

ActionScript classes are syntax-incompatible with JavaScript, how did you solve this? An AS to JS mini-translator seems to be the simplest way, no?

<comment><USER5> I don't use ActionScript classes. Everything's done with closures and literal objects. Can't even use prototypes; MTASC doesn't allow standalone functions or prototype declarations (instead _requiring_ that everything live inside a class), so that falls outside the common subset. We namespace things the way it's done in JavaScript, with objects serving as namespaces, so there's a notion of libraries that're imported at compile time. My Scheme experience certainly comes in handy.

I haven't ruled out doing a mini-translator; this is very obviously a hack, and if the common codebase grows much larger we'll probably appreciate it. (We've also considered rewriting the whole thing in pure Flash, but there're certain user benefits that the dual-language architecture gives us that we're not quite ready to give up.) This approach is "good enough" for now though, so we're hoping that it'll get us to an initial launch, and then we can decide whether it needs a rewrite based on what users want to do with it.

</comment></comment></comment><comment><USER7> I'm not sure whether any of these are anti-trendy or not, but here are a few things I found myself doing in a project I've been working on recently:

* It's an online bookmarking system, and I didn't add tagging. I found that the UI step to add tags was a bit of a usability burden, and that I never actually used them to find stuff again anyway.

* I wrote it in Perl. Definitely not trendy, but it's fast, dynamic and (with mod_perl) stupidly easy to deploy.

* I rolled my own JavaScript libraries and wrestled with cross-browser issues rather than using jQuery, prototype, or some such. Why? To learn the nitty-gritty details of DOM manipulation and browser compatibility.

* I de-normalised the database from the start. Why? Because it enabled me to build a simple, light and fast object-oriented table wrapper without the overhead of dealing with associations, joins, and so forth. For any structure that does require a table join, I use database views to make it look like it's a simple table to the application.

</comment><comment><USER8> For my desktop application I've decided to spawn processes rather than threads even though the trend these days is to use processes.

It separates the engine of the app from the GUI, and the interface between is well defined. I use txt + UNIX Pipes to communicate.

Also, any stability issues and memory leaks don't effect the entire app and I get to avoid all the weird concurrency issues of threads.

</comment><comment><USER9> I mix tables and divs in my layout. I use whichever is easiest and works best on the most browsers. In general, I regard HTML/CSS as bytecode for browsers, not a programming language that I should write readable code in, and web standards as something I hope browsers will comply with, not web sites. Sometimes I even abandon templates in favor of graphics-library-style HTML generation.

</comment><comment><USER10> I'll have to second not using an IDE; I use (g)vi(m) instead.

It forces me to understand each step of the development process, reduces the overhead of any machine I work on, and allows me to work on pretty much any server, anywhere, using just Putty/Terminal.

Interestingly, I also try to minimize the amount of customization I do, sticking instead with the defaults so I can easily work in new environments. I'm not sure if that's unconventional though.

</comment><comment><USER11> Not long ago I would have said using a Lisp dialect for web development, but now I think that might actually be trendy.

<comment><USER12> It's still very much in the minority. You're just running with an oddball crowd here at HN. If you look at projects being released and sites being launched, PHP is still the most popular by an order of magnitude, with Ruby and Python gaining. So, don't worry, you're still a lisp weenie hanging out with the long-haired weirdos and art fags at lunch.

<comment><USER11> OK. In that context, the unconventional thing I've done is to make an actual functional site used by people who don't have CS degrees. In fact, the target market is adults who have a life. Like me! I do stuff, you know. I'm about to go do stuff now. (Upgrade tinymce.)

<comment><USER13> That is very unconventional indeed ;)

</comment></comment></comment></comment><comment><USER14> I simultaneously munge the language and the application written in it.

<comment><USER15> I discovered today that's actually an established practice: <http://lambda- the-ultimate.org/node/2711>. I haven't read any of the papers yet, but looking at the abstract of "Language Oriented Programming" by M. P. Ward, there does seem to be a difference between his idea and your approach with Arc and your other projects.

In the abstract, Ward defines Language Oriented Programming as defining a formal description of the language to develop the type of application in question, and then write the application in that language, and implement the compiler using existing tools.

The problem I see with this approach is that it's rare to know ahead of time what the ideal language for an application should look like. I don't think you're really going to know until you try to develop it. That's how the Arc approach differs. Particularly when you're already working in a language with rich meta-programming/code generation capabilities, I don't think there's any reason to have a strict separation of the phases. Even if you're not using a language with innate code generation, it's still possible to iterate back and forth between writing the application and changing the language/compiler

Keep in mind I haven't read the whole paper yet, or any of the related work, so the methodology might not be as strict as I've presented.

<comment><USER16> The common practice in Smalltalk is to just extend Smalltalk so that it becomes a powerful domain specific language for your application. Most everything in Smalltalk is just an ordinary message send (procedure call) so any good programming where you Don't Repeat Yourself ends up being a domain specific language.

<comment><USER15> Is that where Ruby got this tendency from? I haven't used Ruby yet, but I see this style of development talked about in conjunction with Ruby.

</comment></comment></comment></comment><comment><USER17> Nothing - I think the key is to minimise risk, and find the few areas where you can actually add value. My value adding is in usability and design - <USER2> actual code is pretty simple. So I see no need to take risks code-wise and stick to tried-and-true (boring?) programming paradigms.

<comment><USER18> Agreed. Blub can do everything I need anyway.

</comment></comment><comment><USER19> I use perl as pseudocode, especially when I have to target multiple languages/platforms.

Its stupidly easy to hack together prototypes of functions to test out data structures and algorithms just using perl and the command line. This helps me think more about the structure of the program and less about the syntax of a specific language, especially languages that I'm weaker in.

Once its working right and thought through, I'll use the perl "pseudocode" as a guide to code in the target language.

</comment><comment><USER20> I'm in favor of the speed of flat files. I have two Windows desktop applications (one for sale, one freeware) that both were converted from using a database to using a simple flat file. It was easier to program and much easier to distribute. One of the programs has a search functionality - it's just the normal linear text search. Even with all the data I have in the program it's instantaneous.

</comment><comment><USER12> I've started tinkering with the idea of using JSON for RPC calls, particularly across languages. It's lighter than CORBA, XML-RPC, SOAP, etc. and well- supported by all of the languages I like and use. One has to formalize some sort of standard function call interface, but since JSON is relatively limited and similar to the data structures one could pass as arguments in Perl or Ruby or Python, that's pretty easy and natural. And I hate XML.

I use Perl (which, given the number of others here mentioning Perl, seems to not be so unconventional after all). Partly because our codebase is 450kLoC, or so, and almost all Perl. Won't be rewriting that anytime soon. Perl is also very comfortable for system administration tasks. Moreso, in my experience, than Python.

I think a lot more than I code. If I write more than a dozen or so lines a day, it's a heavy day. I am mainly maintaining and extending existing software...so it's often just wrapping my head around the existing API and code. But even when starting from scratch on something, I take a long time to start actually coding, and only occasionally have a blast of productivity where I push out a couple hundred lines in a single stretch. This is somewhat bug-like, but I've never really been able to change. Luckily, as I've gotten better at the tools I use (Perl, JavaScript, and shell, mostly) those few lines of code tend to actually accomplish quite a lot--and the resulting code is usually nice to maintain because it is very short. So, the work does get done...but when I look at my co-founders output, I always feel tiny. He pumps out hundreds, and sometimes thousands, of lines per week...and they all work really well and are often as concise as what I would have come up with (though not always...he sometimes "powers through" and tightens it up later when it becomes a problem, which is a skill I often wish I had).

</comment><comment><USER21> When I'm doing algorithmic work, I rewrite rather than refactor. Perhaps it's just me as a programmer, but it takes me three or four rewrites before complex and nasty algorithms begin to appear simple.

Also WRT abbreviations and again in algorithmic code: I love to use one-letter variables for 'working' variables. It forces me to reread what I've written and really understand what's going on, rather than take shortcuts based on what a variable name might imply.

Business logic "if the account balance is below $100 send a warning email" code need not apply ... for that stuff I just wade through same as anyone else, although I'm more apt to write code that writes code if I'm faced with a particularly high pile of the stuff.

</comment><comment><USER22> Generate Java boilerplate using shell scripts -- not sure if that was included in the list of new sins the Vatican put out last week.

</comment><comment><USER23> I never code in a mega-syntax language (Perl, C++, C#, Java 5) if I have the choice. I feel that I'm lighter on my feet and able to move between environments better by sticking with languages that have more terse syntaxes.

</comment><comment><USER24> It looks like people have already picked the low-hanging fruit here, so here are a few things not yet mentioned I try to do that I don't see others do often:

I use tools like Libero[1] to express service logic directly as a state machine.

I generally try to build and maintain a simulator for whatever I'm working on with tools like SimPy[2] and Spin[3].

I try and use Excel spreadsheets to build mock-up GUI's.

I try and make it so that all database access occurs behind service API's. Before I have the basics worked out I don't even bother with an actual database and instead just use memcached[4] and a file of initial data.

[1] - <http://legacy.imatix.com/html/libero>

[2] - <http://simpy.sourceforge.net/>

[3] - <http://spinroot.com/spin/whatispin.html>

[4] - <http://www.danga.com/memcached>

</comment><comment><USER25> Recently I've found myself writing out a tricky algorithm in comments at the top of the function. Easy, bulleted English points about what this function is doing. I then find that I can do the coding and simply make a quick comment back to the bulleted list. "# 1. Load users into dictionary", etc.

</comment><comment><USER26> I guess something I do is using bleeding edge frameworks and libraries to start projects if I think it'll give me an advantage. I figure that they'll stabilize (or I can help stabilize them) in time for the production release of what ever I'm working on.

<comment><USER12> I did that with ExtJS (starting way back when it was first announced as YUIExt). I haven't been entirely happy with the manner in which it has matured, as it has bloated into a somewhat intimidating Java Swing feeling creature (which is both good and bad) that means the most comfortable way to develop is without any HTML at all--everything is built in JavaScript and data comes in via JSON. But now that I'm about to finish up the project that uses it, it's turned out pretty awesome.

</comment></comment><comment><USER27> Can't vouch for exactly how unconventional this is, but when I'm building a website I go through and do all of the HTML first, then CSS. Some I've seen do both at the same time, create a header, then make the CSS, navigation, then CSS, little by little.

</comment><comment><USER16> I work in a Smalltalk shop where we get around Smalltalk's lack of Interfaces/Multiple Inheritance with State/Strategy objects. That's not so unusual. What goes against the grain is our eschewing polymorphism in that one situation, instead having case statements for the different object types. My boss prefers that because he feels it's better from a code management standpoint. The rest of us just quietly acknowledge to ourselves that it's not real OO, and play along.

Surprisingly, it works well, probably because it discourages us from making those things too complicated. The frameworks/APIs used by those objects have to be clean.

</comment><comment><USER28> While looking at a co-worker's UI code the other day, I commented out loud to him and our other cubicle dwellers that "I would have coded it very defensively " and told him "that he took risks programming and that was _why_ he was more likely to _start_ _a_ _business_ _than_ _I_ (the conservative programmer) _was_ (he's got an entrepreneurial long-term outlook).

Some of the things he was coding seemed relatively risky (e.g. relying on binding to work flawlessly with a complex, deep nested model - we've had hard- to-debug issues with ssome Flex UI-field binding in the past)

<comment><AUTHOR> Bad, difficult-to-debug programming is not moving against the herd, it's moving with it.

Are you implying poor programming makes one more likely to start a business? That will float like a lead balloon here.

Am I misunderstanding your post, or feeding a troll, perhaps?

<comment><USER28> My intention was not to imply that bad, difficult-to-debug programming makes someone more likely to start a business.

The issues with Flex in the past with viewing/editing attributes on a complex parent.child.subchild model are in the past (they fixed the issues). His code was not "bad, difficult to debug" it was "risky" in the sense that Flex didn't support it in a previous release.

When I told him that his code was risky, I said it with a half-serious tone (e.g. half joking). Rereading the post indicates that the tone of the post and the tone of the original comment never carried through. I apologize.

<comment><AUTHOR> No worries, a lot is lost in typed communication.

<comment><USER29> them's fightin' words

</comment></comment></comment></comment></comment><comment><USER30> I do all my client-side prototyping in a technology that does not use a mouse, graphics, or a browser. Once the basic functionality works perfectly, then I port it over to javascript and add the rest of my interface.

<comment><AUTHOR> I'll bite. What's the technology? Are you going to say paper? :-)

<comment><USER30> <http://www-306.ibm.com/software/data/u2/universe/>

<comment><USER24> +1 for Pick

</comment></comment></comment></comment><comment><USER15> Writing C++ code that's as functional as I think is reasonable; lots of recursive function objects operating on containers, but with mutable data.

<comment><USER31> I have a similar approach for Java:

\- as functional as possible, using classes almost only as namespaces.

\- lots of little inner classes as data tuples.

\- lots of recursive functions filling in/trimming out containers.

\- the 'final' keyword is the best of the lot.

And no standard boiler-plate "patterns" for which the java language is sadly know (and which make java code unreadable, unpleasant, and altogether a horrible experience).

<comment><USER21> Why not take the jump and just use Scala? I have. :)

<comment><USER32> what editor are you using for scala? The eclipse plug barely does anything and I am fed up of using the scala interpreter on emacs :(.

<comment><USER21> Sorry to say that I use emacs, so I can't help you too much. It occasionally screws up indentation but otherwise stays out of my way.

(I'm far from an emacs power user -- also I don't use the interactive toplevel much, and never from inside emacs; instead I throw that sort of thing in run- once junit code in case it becomes a test suite.)

</comment></comment></comment></comment></comment><comment><USER6> I consciously try to program like a newbie, moving ahead clumsily and directly. Make it work, then make it small. Code is a bridge, it doesn't need to look good, just get me across. What use is a beautiful bridge to nowhere?

</comment><comment> patrickg-zill Never MySQL ; Solaris instead of Linux ; AOLserver instead of Apache and *AMP stack.

<comment><USER12> I used AOLServer and OACS for Virtualmin's first website. I got over it. <http://www.obsceneart.com/?p=6>

</comment></comment><comment><USER33> Based on all of the comments submitted thus far, it seems that an uncommon philosophy is actually quite common. :)

Can we not "rage against the herd" while running with the herd?

Does the direction in which we wish to go need be contrarian?

Am I making any sense whatsoever? :/

<comment><AUTHOR> I see what you're saying, but there's a difference between being contrarian for the sake of it and being so for a reason.

Having a good _why_ is the difference between Darwin and a Darwin-award candidate. Sometimes a best practice is best, sometimes it's just a practice.

</comment></comment><comment><USER34> I ask questions on YC!

</comment><comment><USER31> I use the shell as a development environment. In this world of SPE, Eclipse, and XEmacs, developing C/python/Java/others in a shell with vim, grep, sed, less, find, is starting to become unconventional.

I just cannot tolerate the mouse-clickiness of all mainstream IDEs, neither the extreme use of the control+this+control+that of emacs.

My primary reason to get into vim was the promise of short key bindings, very easy text editing/rewriting and no mouse. It fullfilled that promise: my wrists have not hurt again ever.

<comment><USER35> >> my wrists have not hurt again ever.

Have you tried a trackball? if I use a mouse for a week or so my wrist starts aching, with a trackball none of those problems.

<comment><USER31> Sorry, I blended together several issues:

* My wrists used to hurt a lot from bizarre keybindings that use the control key (I used to use emacs a lot), than from mouse usage. Remapping to the caps is no use (strains my left little finger and left upper side of the hand). Remapping to alt (or to the apple key, in a powerbook) helped a lot, but still too many control pushes.

* The mouse slows me down, way more than hurts my wrists.

* I use Blender a lot. Using the mouse for Blender is no problem regarding my wrists. The trick for me is: extend the arm to fully rest in the table, flat, so that the mouse ends up nearly behind the laptop.

</comment></comment></comment><comment><USER36> Use a text editor like JEdit to do my code because I hate eclipse and it's overhead and I like the color coding and the fact that I can install it anywhere.

<comment><USER37> Me too! I'm trying to school myself in VI (gvim), but until I reach that golden shore I'll be keeping a more intuitive editor handy.

edit: Heavy IDE's haven't paid off for me yet. (I like to be familiar with every point of control in my environment. Hidden configurations have given me more headaches and stress than my personality can afford.)

Devil's advocates could certainly say I just haven't spent enough time learning IDEs.

I would respond with tangent rant about the virtue of owning ones means of production which includes knowledge. Knowledge ownership seems more obtainable when you must know how to do everything from the ground up.

<comment><USER38> I used eclipse in a corporate environment and I understand its value.

a) Everything in one tool. Your servers can be right there, you have your code, your repository is directly connected, etc. b) It is actually is pretty good. If it wasn't so bloated I would use it. c) It is easy to train people to use eclipse, debug in eclipse, its all visual. d) Loads of plugins, again all in one tool.

Cons would be it commonly eats up over a gig of ram. It is slow. An expert in emacs can probably do most tasks quicker than an expert in eclipse.

<comment><USER37> You know what, it's high time I give emacs a fair shot, before I become to indoctrinated.

</comment></comment></comment></comment><comment><USER39> i buck the trend by building sites that effectively work.</comment>


A potential approach for a proof of the Riemann Hypothesis - <AUTHOR> http://journals.aps.org/prl/pdf/10.1103/PhysRevLett.118.130201 <comment><AUTHOR> From the abstract:

> _If the analysis presented here can be made rigorous to show that $H^{ˆ}$ is > manifestly self-adjoint, then this implies that the Riemann hypothesis holds > true._</comment>


Sproutcore vs Ember vs AngularJS interest over last two years - <AUTHOR> http://www.google.com/trends/explore?q=angularjs#q=angularjs%2C%20emberjs%2C%20sproutcore&date=8%2F2011%2025m&cmpt=q

<comment><AUTHOR> There's a caution story here. Today we finally pushed a near-complete rewrite in Angular of our Sproutcore app. It wasn't cheap.

When we started with SC, it was backed by Apple, Yehuda had just declared it the future of web development, and everything was very rosy.

After Ember split off from SC and the company developing it (Strobe) got acquihired by Facebook, the community got completely decimated and it quickly became a sinking ship.

The one thing SC never had was a ton of large scale real-world deployment (outside of Apple). I think that's the lesson here.</comment>


Chaos Computer Clubs Breaks Iris Recognition System of the Samsung Galaxy S8 - <AUTHOR> http://www.ccc.de/en/updates/2017/iriden <comment><USER2> Based on the write-up, Samsung has lower quality Iris recognition than could be written by an undergrad in a few hours. I say that, having done so.

Most obviously, the system should not tolerate a constant-size pupil, ever. The pupil has micro-dilations around twice per second, and your system is really terrible if you don't verify that changing diameter.

Also, multi-spectral is a pretty good test, though I don't know enough about the capabilities of the S8 camera to know if that's feasible (shouldn't be that hard.) Capturing the patterns of the iris at 500, 800, and 1200nm results in three templates that are quite different from another.

CCC were able to do this for about the cost of a S8. I would say this is one of the rare situations where defeating the attack would have been even cheaper. It's that simple a programming exercise.

<comment><USER3> Samsung always seems to me as if they race to match any iPhone feature–but never more than skin-deep.

So when the iPhone gets a fingerprint sensor that saves only a hash of the actual data in a special enclave of a custom chip, Samsung responds with an iris scanner that saves an image of the iris as a world-readable jpeg in your home directory.

Thus, their marketing material can claim feature-parity (or even exceed Apple). But it never seems like they actually care.

It's not like Apple doesn't run into similar problems (not sure if the fingerprint sensor has been defeated–it's a bad idea for 5th amendment reasons in any case). But at least they do the minimum in trying.

<comment><USER4> >It's not like Apple doesn't run into similar problems (not sure if the fingerprint sensor has been defeated–it's a bad idea for 5th amendment reasons in any case). But at least they do the minimum in trying.

In 2013 a CCC member broke TouchID access within a few hours after release of the IPhone. All needed was a photograph of the fingerprint on a glass surface. [https://www.ccc.de/en/updates/2013/ccc-breaks-apple- touchid](https://www.ccc.de/en/updates/2013/ccc-breaks-apple-touchid)

Same method worked on the Iphone 6, as Apple hasn't changed a thing. Biometry is fundamentally broken.

<comment><USER5> > In 2013 a CCC member broke TouchID access within a few hours after release > of the IPhone.

It's actually the same guy as with the S8, aka Starbug.

<comment><USER6> > It's actually the same guy as with the S8, aka Starbug.

Yes, hopefully he will give another talk at 34C3. Very entertaining guy too!

<comment><USER7> No need to wait for 34c3, he's giving a 30 minute talk at Gulaschprogrammiernacht in Karlsruhe on Thursday: [https://entropia.de/GPN17:hacking_galaxy_S8_iris_recognition](https://entropia.de/GPN17:hacking_galaxy_S8_iris_recognition)

</comment></comment></comment></comment></comment></comment><comment><USER8> Biometric data is not a password, it's an identity. Fingerprints and iris scans are equivalent to a username or email.

To secure a device you need a password.

Basics: something you are (iris scan, fingerprint), something you have (2fa token, usb unlock key), something you know (password).

One out of 3 is probably not very secure.

<comment><USER9> Phone must automatically lock quite quickly, otherwise somebody quick just grab it after you have unlocked it. This means the password needs to be typed in constantly if you are frequently picking up the phone. Also you often want to grab the phone with one hand, so you need to be able to type the password with one hand. Combine that with the frequent typing and you probably come to conclusion that you can't have a proper, secure passphrase. Instead you resort to pin code of some length. Now remember that you need to be typing the pin code constantly to unlock the phone. With one hand operation there's little you can do to protect yourself against shoulder surfing. This means you pin code is not that private.

Iris scanning or fingerprints are easy for determined attacker, but I would say they are hard for somebody who just grabs your phone. Vice versa for the pin code.

I think a good balance between security and usability would be to allow fingerprint or iris scan when the phone has been constantly in my proximity but require a pin (password) if the phone is taken away. The proximity could be determined for example by pairing the phone with smart watch.

<comment><USER10> An encrypted NFC or Bluetooth bracelet, one sold with or separately to a phone would be nice. Pings it every so often. If it can't find it, automatically self locks. If it can't find for for X number of days and a password hasn't been entered in that time then it wipes || locks the phone.

<comment><USER11> > n encrypted NFC or Bluetooth bracelet

Should be significantly more secure than Mifare though. Ideally something like a contactless OpenGPG card or similar.

Recently I searched for passive NFC ICs that'd be suitable for implementing that, but came up empty. Usecase was exactly that: A NFC device located at about the wrist. My laptop has a NFC reader at just the right place of the handrest to read it. And I'd probably transplant a NFC reader into my desktop computer's keyboard for the same purpose.

But first I'd need that NFC thingy.

<comment><USER10> Just had an idea, maybe not the wrist for mobile devices, maybe a ring that is always on the hand that is on the back of the phone. I don't know, but I can't help but think of how things can be more secure and that there is a market for those with security in mind.

Just found this also in my search while typing this comment.

[http://nfcring.com/](http://nfcring.com/)

Looks like it might be open source as well?

[https://github.com/mclear/NFC_Ring_Control](https://github.com/mclear/NFC_Ring_Control)

Might be something to keep check on, it supposedly doesn't release until mid 2017.

EDIT: Just thought about if this is open source, anyone could possibly tie it in with automation apps such as Tasker and really do neat stuff.

<comment><USER11> I don't like rings (you put on your fingers). But that's just a personal preference. I'd be okay with wristbands though. Yes, the proximity to smartphone NFC readers would be a benefit of a ring.

</comment></comment></comment></comment></comment></comment><comment><USER12> >Iris recognition may be barely sufficient to protect a phone against complete strangers unlocking it

I suppose that's the attack scenario those systems (at least in phones) are supposed to protect against, to be fair. Suppose the alternative might be that some users use a predictable pin or none at all. Fingerprints or the iris sensor is an improvement for them because they are quick and easy to use.

Of course it's still good to deflate the hype around Iris scanners a bit and demonstrate that it is currently a very limited technology after all. Especially considering their remark that iris scanners spread to other devices too.

<comment><USER13> >Fingerprints or the iris sensor is an improvement for them because they are quick and easy to use.

I'm not sure about it being an improvement, human laziness always finds a way to make something less secure. Like buying "fingerprint stickers" because too lazy to pull off a glove when wanting to unlock the phone [0].

The CCC always does interesting stuff like this, a couple of years they reproduced a politicians fingerprint just using photos of her hands [1].

This kind of stuff turns biometrics from something "you are" (your fingerprint, your iris) to something "you have" (a fingerprint on a glove, a picture of an iris) making biometrics often very trivial to bypass.

[0] [http://gizmodo.com/these-fake-fingerprint-stickers-let- you-a...](http://gizmodo.com/these-fake-fingerprint-stickers-let-you-access-a- protec-1788710313)

[1] [https://arstechnica.com/security/2014/12/politicians- fingerp...](https://arstechnica.com/security/2014/12/politicians-fingerprint- reproduced-using-photos-of-her-hands/)

<comment><USER14> > a fingerprint on a glove

Fingerprints are even worse. They are all over your phone. So if someone steals it the key is already included.

Fingerprints are something you leave all over the place right now and with the increased camera placement and tracking done everywhere pictures of your iris wont be much better for long. So both are not something you are or have, they are something everyone you ever passed on the street has access to.

</comment></comment></comment><comment><USER15> Using a fingerprint for security is like writing your password on everything you touch. Using your iris is like walking around with your password written on your forehead.

<comment><USER16> > like writing your password on everything you touch.

> with your password written on your forehead.

... in invisible ink*, I'd say. But basically yeah.

</comment></comment><comment><USER17> > The Samsung Galaxy S8 is the first flagship smartphone with iris > recognition.

That's not quite true, Lumia 950, Lumia 950 XL and HP Elite x3 came out a lot earlier than the Galaxy S8 and all of them use iris recognition (still undefeated, by the way)

<comment><USER18> There could a bit of a bias, Lumias and HP Elite x3 aren't anywhere near as popular as Samsung Galaxy S8, same as most malware targets Windows rather than Linux/macOS.

<comment><USER17> I agree the S8 is more widespread than those 3 combined, but those were flagships anyway

</comment></comment></comment><comment><USER19> I am curios how much eye damage these system can cause. The S8 gives a warning before you activate it that you should not place the phone too close to your face.

How bright is this infrared light and can it cause eye damage although we can't see it?

<comment><USER20> Have you ever been outside? It's dimmer than that.

<comment><USER21> A nice campfire that noticeably warms your face when you look at it probably gives off a couple orders of magnitude more IR than the phone. IR can damage eyes [1], but the phone probably won't contribute significantly

[1] [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3116568/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3116568/)

<comment><USER22> To be fair a campfire also puts out visible light which can cause you to blink or squint which a "pure IR" light won't.

But the IR from the S8 is still extremely small and safe.

</comment></comment></comment></comment><comment><AUTHOR> _" The by far most expensive part of the iris biometry hack was the purchase of the Galaxy S8 smartphone."_

<comment><USER23> and " Ironically, we got the best results with laser printers made by Samsung"

You can tell they really had fun with this!

<comment><USER24> Well, it _is_ the CCC. These guys do this for fun, so having more fun while doing it is just added bonus.

</comment></comment></comment><comment><USER25> Gotta love these CCC takedowns. I find myself smiling in anticipation when clicking these kinds of links....

</comment><comment><USER26> Whilst it's certainly valuable to make people aware of the limitations of the security systems we use, this shouldn't really come as a surpre. If someone is close enough and motivated enough to take a high-res photo of your face just to access your mobile device, they're also probably close enough to film you typing in your passcode - sure, you might do that less often, but for an average user are either of those things a real concern? The security model hasn't really been "broken" because if someone steals my phone they don't have access to the device by default.

<comment><USER27> > _If someone is close enough and motivated enough to take a high-res photo of > your face just to access your mobile device, they 're also probably close > enough to film you typing in your passcode_

Not sure about that. All of my friends, family and work colleagues are 'close enough' to me to take a high res photo of my face (and I'd gladly let them do it), but none of them can see my passwords when I'm typing or unlock my phone without my permission. For me this revelation is of a big concern.

</comment></comment><comment><USER28> To those who know german, I recommend watching the german video.

</comment><comment><USER29> "But biometric authentication does not fulfill the advertised security promises"

This is completely out of context. For the average smartphone user Iris- Recognition on a phone (just like touch-ID) VS pin-disabled on the phone is a huge step forward.

<comment><USER30> Here's some context:

        The patterns in your irises are unique to you and are
        virtually impossible to replicate, meaning iris
        authentication is one of the safest ways to keep your
        phone locked and the contents private.

Source: [http://www.samsung.com/global/galaxy/galaxy-s8/security/](http://www.samsung.com/global/galaxy/galaxy-s8/security/)

I think the quote is fair.

Also your pin disabled argument doesn't make a lot of sense. That's like saying 123456 is a good password because many people disable the password prompt at login.

<comment><USER31> A pin of 123456 _is_ more secure than no pin at all.

<comment><USER30> Yes, but that doesn't say anything about the security of passwords in general. (The same way that bad iris recognition being better than no auth at all doesn't say anything about the security of iris recognition in general.)

</comment></comment></comment></comment><comment><USER32> Retinal scans are somewhat more difficult to fool (it's hard to photograph a retina from a distance), but the scanners are too unwieldy to fit in phones and lay people are queasy about lasers scanning their retinas.

</comment><comment><USER33> I realize that to some it may appear as obvious, but quite often the obvious is overlooked as people respond to the hastily promoted propaganda relative to a system and become emotionally entangled in it instead of holding to reason.

Having prefaced my response with the above clarification, such an outcome should be expected rather than being unexpected. There's no such thing as a totally secure and uncompromisable system. Any system can be compromised. Where there's a system, there's a way to compromise it.

When all is said and done, what can reasonably be expected is a system that's as secure as it can be reasonably made and a genuine effort to patch vulnerabilities as quickly as humanly possible.

</comment><comment><USER34> Sir. Daugman has left the job incomplete.. there still space for research. "Liveness" checking is of course a challenge in such cheap and simplistic setups.. Anyhow, for operator-attended application scenarios it is still ok. On the other, I see biometrics as a convenience feature in physical or logical access control scenarios (As long as the security level is at least equal or higher than conventional methods).

</comment><comment><USER35> Who would want to use an authentication token that they cannot change once it's been compromised?

</comment><comment><USER36> The important thing is how much more/less difficult is this than spoofing a fingerprint. If it is significantly harder, I still see it as a win for samsung's security.

<comment><USER37> Spoofing this eye is significantly easier than spoofing a fingerprint, because modern fingerprint technology detect if a fingerprint is "alive" by looking at sweat pores, pulse, veins under the skin and other features of a living finger.

<comment><USER38> CCC reported that they managed to bypass Apple's Touch ID in 2013, so it doesn't really seem like one is easier than the other.

<comment><USER37> AppleID from 2013 may not have included all the features of AppleID in 2017.

</comment></comment></comment></comment><comment><USER39> Oh Samsung, nice try!

</comment><comment><USER40> Wait. S8 has iris recognition system and people are dumb enough to scan their eyes and give another biometric data point to god knows whom?

<comment><USER41> Given how easily they broke the iris recognition, that particular cat is likely already out of the bag.

<comment><USER33> As it would to varying degrees with any system, knowing humans.</comment></comment></comment>


Knowledge is power, 30 books every young entrepreneur should read - <AUTHOR> http://blog.seedcamp.com/search/label/europe

<comment><USER3> You can find summaries of some of these on my site: <http://www.squeezedbooks.com>

Some of them lend themselves very well to being compressed, like 'crossing the chasm'. Others, like 'founders at work' are really impossible to summarize.

I find it sort of interesting that he lists both 'The Black Swan', as well as the stories/autobiographies. One of the points of the former is that a lot of the big successes are just luck - being in the right place at the right time and having enough skills to capitalize on the opportunity. But beyond that, there is often nothing in particular that can be copied to 'achieve success'. It's an interesting book, and I'm still wrestling with it.

<comment><USER4> I haven't read The Black Swan, but I read Fooled by Randomness. He has a secondary point that _because_ most successes are just luck and yet people don't want to admit it, there are large profit opportunities to be made by betting on improbable events. That's really entrepreneurship in a nutshell - usually, if you look at the businesses that actually net billion dollar payouts while they're younger, you'll say "There's no possible way that can succeed." And that's why the founders make so much money when they do.

(Of course, 99% of the businesses where there's no possible way it can succeed don't actually succeed, and you get back to Taleb's argument again.)

<comment><USER5> read The Black Swan - it's fantastic. It's been 3 weeks and I'm still thinking about all the implications. Also, read "Accidental Empires".

</comment></comment></comment><comment><USER6> If you have to read 30 more books before starting your business, you aren't an entrepreneur, you're an academic.

<comment><USER4> That's not really true - most CEOs are voracious readers with personal libraries of _thousands_ of volumes. <http://www.nytimes.com/2007/07/21/business/21libraries.html>. Bill Gates in particular is known as an avid bookworm - every other year, he spends a week doing _nothing_ but reading, often for 18 hours a day. [http://scout.wisc.edu/Reports/ScoutReport/2005/scout-050401-...](http://scout.wisc.edu/Reports/ScoutReport/2005/scout-050401-inthenews.php)

30 books also shouldn't take you too long. If you devote yourself to reading full-time, it should be between 10 days and 2 weeks. If you read them at a more leisurely pace (subway time, before bed, waiting for dinner to cook, other downtime), it might take you 3 months or so. Either way, the benefits - particularly with this set of books - far outweighs the costs.

(If anyone cares, I've read 12 out of the 30 on this list, and am hoping to get more out when I visit the library this afternoon.)

<comment><USER3> Hrm... yes, on the other hand, there is definitely a trait that I recognize in other people because I see it in myself, which is that of the "knowledgeable person". We take pride in knowing, in being informed, in reading a lot, but at times are less 'doers'.... Waterhouses and Shaftoes, so to speak.

To some degree, I think this trait deals with a desire to have _all_ possible knowledge prior to taking a decision. However, at times, that sort of 'maximizing' behavior is counterproductive when compared with someone who gathers 'enough' information, and plunges ahead.

<comment><USER4> I also tend to lean too far to the "Waterhouse" side of the spectrum.

I think a lot of the problem is that people are mentally adding "before you start your startup" to the title, when nobody's actually said so. There's no such thing as "prepared enough" to start a company; you learn what you can and prepare as best you can, then just do it and clean up your messes along the way. The books above will probably help, and some may change how you position your initial idea, but it's not gonna kill you to read them _after_ getting started.

</comment></comment></comment></comment><comment><USER7> I think PG mentions this in one of his articles, but if you read 'How to Win Friends and Influence People', get the original edition from the 1930s. It only costs 3 bucks or so on Amazon, and it's better than the newer ones. I highly recommend this book - it can be a true revelation for us technical types.

<comment><USER8> In what way is the older version better?

<comment><USER7> The newer versions have been modified by committee, probably to remove politically incorrect elements and 'contemporize' the book. It's understandable, I guess - the original was published during the Jim Crow era, and not very long after women's suffrage, so it has some eye-opening passages by our standards. The ideas expressed in the book also contradict much modern psychology and moral fashion.

Unfortunately the editors of new versions removed or changed valuable stuff along with the 'anachronistic' elements. A smart reader should be able to deal with the original version without getting offended.

I think the biggest reason to read the original, though, is that most of us are too young to have ever known someone from Dale Carnegie's generation in person. For instance, the oldest people I've ever been able to talk to were born circa 1900 or so - Carnegie is a full generation older. Mark Twain was still writing when Carnegie was a young man, think about that. Edison and Westinghouse were still duking it out over AC/DC.

Carnegie is old, but not nearly as old as Plato or Galileo or Augustine or someone you might read in college. Reading stuff written by people from his era is eye-opening because if you 'look around the edges' you get a glimpse of what things were like 100 years ago. The world has changed so much since their time, yet so little. Just the austerity of ordinary peoples' lives before the US became a superpower is amazing by our blinged-out standards.

It's useful for entrepreneurs, especially in tech, to have an expansive view of recent history. Also, it's just plain interesting. Is Carnegie's original book an anachronism? I don't think it is. I hope this makes some sense.

</comment></comment></comment><comment><USER9> I'm tired of all these books and articles. A lot of them are fun to read, but it seems like nowadays you spend more time reading than doing. Is it _really_ a prerequisite for any entrepreneur to read so much?

<comment><USER10> You aren't going to work productively on your startup for every waking hour of every day anyway. So why not use some of the unproductive time to be productive in a different way, by reading and expanding your mind?

</comment></comment><comment><USER11> Listing 30 "must read" books is great, but nowhere in the article does he state his credentials. Is he part of a successful start-up? If so why doesn't he say so? If not why would I read the same books that have not helped him?

</comment><comment><USER12> I'd read a subset of the list (say 5-8), and try building a startup. After all, you learn the lessons so much better if you learn it from doing.The 5-8 books give you an idea of what lies ahead.

</comment><comment><USER13> Seems like a pretty good list, but do we really need to hear the google story (again) or give a damn about who backed Webvan?

<comment><AUTHOR> If you've read those books sure, but i think its really important to understand the history behind some of these great companies.

Really depends on your perspective - i got a lot of comfort out of immersing myself into those books during depressing times.

eBoys gives you an interesting perspective on the venture capital industry from an outsiders perspective, so i think a vanilla statement like 'give a damn about who backed webvan' may not apply to people who genuinely don't know about it or haven't read the book.

What books do u like aswanson?

<comment><USER13> Sharp,

Meant no disrespect to the post, like I said before about 94 percent seem to be good. I am just suffering from a case of google fatigue and am tired of hearing/reading about that company.

You are right, as an outsider it probably would be good to read about eboys. I just think that the VCs during that era don't deserve much veneration or ink because they just seemed to pump money into almost any half-baked idea.

I have been sort of schizophrenic in my reading habits lately, trying to make it through "The Road To Reality" (Penrose), Foundation (Rand), and Philosophy of Symbolic Forms (Cassirer). I also intend to read most of the books on the list you posted.

</comment></comment></comment><comment><USER14> You don't have time to read 30 books when you're starting a company. I hardly even have time to write this comment.

</comment><comment><USER15> so many books. such little time.

</comment><comment><USER16> Nice list. I've read about 1/2 of them. But IMO, the best one to start with would be "How to Get Rich" by Felix Dennis.

</comment><comment><USER17> Reading is good. Correction. Reading is GR8. The only issue is that you have a few hours in a day to focus on your startup and you tend to translate any minutes and hours into features and debugging, thus sparing 20 hours for a book can be an issue. Also one issue is that 95% of books in any given category are mostly copy and paste books. What I suggest is to ask 3 people you consider as role models WHAT BOOK WOULD YOU RECOMMEND? You will end up with 5 or 6 titles, but they will be way more helpful. If you admired me I would suggest "THE MYTHICAL MAN MONTH" "WORLD IS FLAT" , and I have not read the following one but every one here talks about it "FOUNDERS AT WORK"

<comment><USER4> "The only issue is that you have a few hours in a day to focus on your startup and you tend to translate any minutes and hours into features and debugging"

I've found that they don't directly compete. I usually read books when I'm a.) mentally spent and unable to work on much of anything intellectually or b.) in a place where I don't have a computer, eg. the subway. If I weren't reading I'd probably be watching TV or posting on news.YC or something like that.

Also - I'd highly recommend against reading only 5-6 titles on a subject. You _want_ that 95% overlap, because the point of reading books isn't to gather information (there's Google for that...), it's to train your gut instinct with other people's mistakes. All books are highly contextual - after all, other people's advice is only relevant when their situation is similar to yours - <USER2> you need to triangulate between them and figure out what's relevant in which situations. You're trying to develop the intuition that says "No, this is a bad idea" when you're about to do something stupid, and the way to do that is to read enough about stupid things other people have done that your mode of thinking shifts you away from that.

You know you've succeeded when you forget your sources.

<comment><USER17> I agree partially, I am not saying that you shouldn't read the most you can. I used to read one book a week. I found that when you read different subject, then that is good, but when you read the same subject over and over again, you usually end up with the same data or you end up with so much information that you can hardly act up on it. Reading to learn about entrepreneurship is good, but DOING is much better and I still believe that reading 40 books about "lisp" is not going to make you better than reading 5 great ones and using the rest of your time practicing. Although the point of reading is not solely to gather information, it automatically comes with it. The server between our ears stores it all. No delete. Rarely. At the end if you want to read 30 books that are truly valuable to you, then read HISTORY before and after the major World War and Market crashes. Read about Ricardo competitive advantage theory.

_Success_ alone is word we shall use with care. _Successful at_ is better. And you are successful when your grandkids' kids read about you (of course in a positive manner) in their class. Most likely you won't be here to know that you have succeeded.</comment></comment></comment>