Why Go solves so many problems for web developers - <AUTHOR> http://ewanvalentine.io/why-go-solves-so-many-problems-for-web-developers/ <comment><USER2> Last time I checked, the problems facing web developers were(in no particular order):

Rendering HTML templates / JSON

Asset compilation / Cache busting

Caching

Sending Email

Previewing/Testing Email

Background Job queuing(with failure/retry/backoff)

Reliable and easy integration/feature testing

Connecting to database and modeling data

Authentication / Account signup / Confirmation / Forgot Password

Security

Payment handling

PDF / Invoice rendering

Deployment

Making pretty good money over here and how many ROFL scale GO routines I can run never really came up.

¯\\_(ツ)_/¯

<comment><USER3> Don't forget binding posted form data to a model, and then validating it. It seems like 60% of my web development time is spent getting that right.

<comment><USER4> Gotta love Django's ModelForms

</comment></comment></comment><comment><USER5> As someone who is fairly enthusiastic about Go and has implemented a few livelihood-providing production systems in it I am baffled by the number of people who keep trying to use it for application (and especially web application) development.

I mean it does feel like superpower when applied to tasks you'd previously have to use C for. But have you tried any of the modern web development stacks? They are like a zillion times more productive. Hint: PHP is not one of those.

I guess some people just can't get by without the iron hand of the compiler :)

<comment><USER6> > _Hint: PHP is not one of those._

Hint, PHP is 100% one of those. The bad rap is either because of hipsterism or for issues that have been long solved.

The rest of its warts are no worse than the kind of BS any language has -- in fact before JS got in fashion the same things was said all the time for it too (for its bizarro coercion rules, only fp arithmetic, bs scope rules etc).

<comment><USER7> I agree, but if someone were starting a new project I'm not sure why I'd recommend PHP over any other stack.

<comment><USER8> Things I like about PHP: it's not perl, which it replaced for webdev. It's very optimized, and people with fat budgets pay for that (eg. Facebook). It connects to everything. Most of its (useful to webdev type situation) libraries are more mature than the equivalents in other languages, because more people have used them for longer. It had working unicode from the early days. It runs everywhere. Loads of people know enough of it to be dangerous / collaborate, and they tend to be numerous in the young/cheap hire pool. It's pretty much web-oriented, but can do scripting fine as well. It has a relatively stable configuration. Honestly, I think it's a very Unix-like solution to webdev problems, because it lets you roll your own solution, stays out of your way (unless requested), and encourages you to code in higher level languages. Yes, a lot of the code out there is horrible. Yes, most people code on frameworks which replace half the language with ugly hanging half- implemented abstractions. Yes, the function name thing is a pain. But mostly, really always almost mostly, it just works ... quite fast indeed, and everywhere. Yay PHP!

<comment><USER9> Ooh, please don't badmouth perl. Modern perl (e.g. [https://pragprog.com/book/swperl/modern-perl-fourth- edition](https://pragprog.com/book/swperl/modern-perl-fourth-edition) ) is a much more sanely designed environment than modern php is.

<comment><USER8> I originally wrote a long comment about how I've written CPAN modules and worked professionally in perl but will never do it again, explaining why technical betamax superiority was irrelevant because perl's users left before it got its act together, but I think in hindsight a simpler summary would be this: _grep 'man perldsc' ~/.bash_history|wc -l_

<comment><USER9> each to their own. I'd like to do more stuff in other languages, but my perl skills are in too high demand, and it's fun.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> It feels like the author made the jump straight from PHP to Go without spending much time actually using Node or Ruby and he's subsequently shocked at how much better modern languages are when contrasted to PHP.

Many of these "solved problems" have also been solved with the other languages, albeit not always at the surface level. For Node specifically:

WebSockets -> SockJS, Socket/Engine.io

Concurrency -> Generator Functions

Testing -> import assert from 'assert' and npm test

Syntax -> Some great improvements with ES6 and solid styleguides (airbnb, standard) + eslint as an autoformatter

The major win here for Go is that as a new platform it was designed with simplicity in mind. These features are probably easier to pick up in Go than any of the alternatives, which is great. However, don't make the mistake of thinking that Go is the first language to solve these problems.

<comment><USER11> Author here, I have used both Node and Ruby fairly extensibly. I think I touched upon Ruby's performance issues in the post. That's why I don't consider Ruby a solid solution. Also, as far as I'm aware, Ruby doesn't have built in concurrency like Go does. Yes, Nodejs is _close_ to being concurrent, but it really doesn't hold a candle to Go. Yes Node has socket.io, something I've used a lot and love. But Go has all of those features natively.

<comment><USER12> What about Java and .NET stacks? They do everything that Go does and more.

We are also web developers on those stacks.

<comment><USER13> I don't know about .NET, but Java definitely suffers from the enterprise verbosity problem (no it still hasn't gone away).

I mean, tell me the equivalent Java code to this:

        resp, err := http.Post("http://example.com/upload", "image/jpeg", &buf)

I think that would be about 20 lines in Java. You've got to make a `HttpUrlConnection`, then call `setDoInput(true)` (or is that `setDoOutput(true)`), wrap it in a `try`, etc. etc. etc.

Go's standard library is amazing.

<comment><USER12> > I think that would be about 20 lines in Java. You've got to make a > `HttpUrlConnection`, then call `setDoInput(true)` (or is that > `setDoOutput(true)`), wrap it in a `try`, etc. etc. etc.

Nothing prevents you to wrap those 20 lines in a generic method.

Also there are other options in Clojure, Scala, Kotlin, Groovy besides pure JDK API calls. Here Scala style, easy to mimic in Java 8

        val result = http.postData("http://example.comupload").header("Content-Type", "image/jpeg").responseCode

> Go's standard library is amazing.

So amazing that is doesn't have proper database drivers for the SQL databases that matter.

<comment><USER14> I recently rewrote one of our services in Go and there was a SQL interface in the standard library with backends for all SQL databases that matter. I don't remember if the backend we used (for PG) was from the community or the standard library, but that's rather inconsequential.

<comment><USER12> For our customers that means Oracle, SQL Server, Informix, DB2,... from the database vendors themselves.

Not community projects that kind of work.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I've done real-life web dev using PHP and using Go, and have dabbled with Node. Thoughts:

1\. Go's strict, statically typed, thou-shalt-check-thy-errors approach is a breath of fresh air. The compiler does a whole load of checking which can (and therefore should) be automated, which in many other languages is left to the developer. Go code tends to have the property that if it compiles, it probably works as designed. I love this.

2\. IMHO it makes more sense to think of a web app as a server application one of whose functions is to listen for and respond to HTTP requests. So, the question I'd ask is "is this a good language for server programming, and how easily can I make it speak HTTP?" In Go's case I've found the answers to be "hell yes" and "very".

3\. The tooling is really nice. go fmt takes a whole load of pain away from everyone (no more effort required to format code properly, the tab/space and where-to-put-the-{ debates are solved decisively, reading other people's code is made easier), the package management is lovely, statically-linked executables are easy to move around and go doc encourages proper commenting.

4\. Really good performance.

5\. The biggest drawback I've seen with Go is verbosity - although a lot of the time it turns out that my verbose Go code is checking errors properly and my compact PHP code wasn't.

<comment><USER16> > The compiler does a whole load of checking which can (and therefore should) > be automated, which in many other languages is left to the developer. Go > code tends to have the property that if it compiles, it probably works as > designed.

As someone who works with Go daily, these statements are both very untrue. Claiming "if it compiles it works" applies to Go code makes my eye twitchy.

For instance, type assertions have no exhaustivity checker. Interface{} and liberal usage of it throws type safety out the window.

> the package management is lovely,

Go doesn't have package management per SE, just vendoring.

<comment><USER15> I did fudge a little - "tends" and "probably". Of course compilation is not a guarantee of correctness, I just find that it gets me most of the way there. JavaScript, by comparison, feels like it's trying to give you rope to hang yourself.

Maybe I'm abusing the term "package management". I'm talking about go get, the way imports function, the cute private/public lowercase/uppercase mechanism, the recently-added vendoring support etc.

</comment></comment></comment><comment><USER17> _I also found myself relying on a lot of third party vendors in order to do some more complex tasks, such as queuing, web sockets etc. I found myself using Pusher, RabbitMQ, Beanstalkd etc, etc.

This felt kind of wrong._

And yet it isn't wrong. Standing on the shoulders of giants who built, tested, and optimised applications that do complex things far better than anything an individual could ever do on their own is how you build scalable applications that don't fall over.

<comment><USER18> Although I don't deny that tanker trucks are pretty amazing feats of engineering, sometimes I just want a glass of water. Instead of figuring out how to purchase one, drive it, and park in my back yard, it's pretty nice if I can just turn on a tap, fill a glass, and turn the tap off again. The tanker truck isn't "wrong", but it sure is a lot to deal with.

</comment></comment><comment><USER19> One thing that always seemed pretty hard to do in Go was security.

Most companies will stop at SQL Injections but I consider defense against XSS, and CSRF attacks just as important. And that is something Go does not excel at because I have not found any framework that makes adding these features as painless as possible. (I have only toyed with Go for the web so I might be wrong).

Django (a python web-framework), on the other hand, is pretty good at these things[1] because they require little to no extra work, so that junior developers like me will get it right. That is the reason I would always go to Python for web development instead of Go, although, I like Go just as much and it is so much quicker.

I'd be interested to hear how the big projects migrate these kind of attacks in Go.

[1] [https://docs.djangoproject.com/en/1.9/topics/security/](https://docs.djangoproject.com/en/1.9/topics/security/)

<comment><USER20> I may be mistaken, but I'm reasonably sure with respect to XSS (in HTML templates anyway), the built-in html/template autoescapes provided parameters by default, much as Django templates do.

You have to mark "trusted" or "pre-escaped" parameters explicitly by wrapping them in e.g. `template.HTML`.

</comment></comment><comment><USER21> The post does nothing to compare and contrast approaches -- "In PHP I will need to do X", show X, the post doesn't.

Seems to be upvoted because #Go.

<comment><USER22> Exactly! Many of the things mentioned in the post aren't really helpful in building a web app from scratch. In fact, Go simply presents way too much overhead for building a webapp from scratch.

I see Go as an optimization tool when concurrency is needed, the same way I would consider using it to break some part of the app when it gets way too big. It works very well for those purposes. But I would never consider Go for building a web app from scratch.

</comment></comment><comment><USER23> I'm still not get the go rant. I mean it's not bad, but it's not great either. Programming in Java8 could be way easier than with go and has a better Concurrency model (CompletionStage), it sometimes could be overly verbose however that's not always a problem.

Go is just good for some things, not for all.

</comment><comment><USER24> Is it only me who thinks that parsing JSON is a totally pain in Go ?

<comment><USER25> Not total pain, but certainly loses in convenience to python. Deserializing large and arbitrary JSON inputs is trivial with python's `json.loads()`. Element access rules have no dark corners (as long as you don't have pickled data in there).

In contrast, Go and its `json.Unmarshal()` aren't that well suited for parsing arbitrary and/or complex inputs. However, if the expected input is well formed and can be directly mapped to a predefined datastructure, the convenience factor is pretty high.

So, from my limited experience, I would say that JSON parsing in golang is more geared towards deserialising well defined transport formats than ingesting arbitrary inputs.

<comment><USER26> > In contrast, Go and its `json.Unmarshal()` aren't that well suited for > parsing arbitrary and/or complex inputs. However, if the expected input is > well formed and can be directly mapped to a predefined datastructure, the > convenience factor is pretty high.

I think go revolves more around well-defined structures, and JSON is anything but. For inter-process pipelines, protobuf (polyglot) and gob (go-only) work better in my experience.

</comment></comment></comment><comment><USER27> It includes the magic upvote string in the title: "Go". The content is irrelevant, as long as it's positive.

<comment><USER11> Author here, what were your issues with the content? Apologies for any mistakes etc. Still getting to grips with the depths of the language.

<comment><USER27> My comment was more about Go posts on HN being upvoted like crazy whenever they appear rather than any specific issue with your post. It's like a magic recipe for upvotes around here.

<comment><USER11> I was taken aback to see my post on front page HN to be fair! Considering it was just a brief opinion post haha

</comment></comment></comment></comment><comment><USER28> I have spent a lot of time working with PHP and have also recently started using Go. The comparison between the two in this article seems shallow and kinda comes across as simply jumping on the PHP-bashing bandwagon.

Good on him for learning a new language, I guess.

</comment><comment><USER12> Correction, web developers that never used Java, C#, Scala, Clojure, F#, VB.NET, Haskell, OCaml, Erlang, or even languages like Ada or Delphi.

</comment><comment><USER29> tl;dr Someone who doesn't understand his tools chooses PHP, and then he tries Go and likes it. But he still doesn't understand his tools. For examples, he "likes the idea of" typing, but never explains why (or why not) others should feel the same way.

</comment><comment><USER30> As a guy who writes web stuff in C# - Go solves absolutely 0 of my problems. In fact it introduces problems rather than solves them.

Go is excellent but using it for webdev is stupid, sorry.

</comment><comment><USER31> "Or you can use channels, if you need a little more control." that means the guy doesn't even understand the `share memory by communicating` model of go

<comment><USER11> Author here, as I mentioned in the post I'm fairly new to Go still, so some of the edicts are unfamiliar to me. So apologies for any mistakes. This post was very much a 'why I really like Go over PHP these days'.

</comment></comment><comment><USER11> Author here, thanks for all your (albeit brutal) feedback :)

</comment><comment><USER32> Golang doesn't solve any problems for web developers. Libraries solve problems for web developers that web developers have. There are libraries to solve web developer problems in every language used to write web applications. The quality of those libraries and what they let you get done is what matters.

Golang solves the problems of moving bytes from one place to another with certain semantics and guarantees.

</comment><comment><USER33> What about DB (sql) access ? The 90% user case for any webservice today is :

\- parse request (ok)

\- issue a serie of DB requests <\-- GO PAIN POINT

\- serialize result into either HTML (ok) or Json <\-- PAIN POINT

I'd say 2 pain points out of 3 is pretty bad IMHO.

I would recommend go only for very specialized and technical web services, such as a websocket server. But really not for the average web developer task.

<comment><USER34> Where are the pain points in DB requests or serialization? I've written several web apps with Go, and lots of ETL, and have yet to feel those as pain points.

<comment><USER33> Golang has nothing close to sqlalchemy, linq, activerecord or hibernate when it comes de querying a database. Last time i used go i had to write every single query and bind them manually to records in both ways.

For writing simple api endpoints, this is really not up to today's standards.

<comment><USER34> Well, for one, ORM doesn't quite fit Go's philosophy, but there do exist some attempts to do this.

For me, it's a non-issue, as it doesn't feel right with Go.

</comment></comment></comment></comment><comment><USER35> Sounds more like a "PHP isn't fun" post than about go. You ever try C#?

<comment><USER36> Exactly. I really think so many people happy with go would be way happier with C#. I see one of the reasons people don't adopt C# is "because Microsoft", which is sad, because it's such a great language.

<comment><USER37> more and more clients specifically required Linux at the start of conversation, this ruled out C# despite our 10+ years of experiences on MS products in our industry. (also ruled out Mono, we decided to transform and adapt and there are far better choices)

<comment><USER12> There is always Java instead of .NET, with several possible languages as option.

</comment></comment></comment></comment><comment><USER38> Go is as great for concurrency as Node.js: it forces one particular type of concurrent programming on the programmer, which IMHO does not qualify as "great".

Many languages give the programmer a range of options when it comes to concurrency, including the options Go and Node.js offer. Some languages even allow these options to be implemented as libraries (so they do not have to be built-into the language; though can become part of the standard lib).

</comment><comment><USER39> No mention of the pain actually setting up PHP web servers? Knowing how to tune apache/nginx fcgi etc?

<comment><USER11> Good point! I'll add that in, seems an obvious one to forget. I've been using nginx to load balance Go api's, so I guess I was still using nginx.

</comment></comment><comment><USER40> Have you looked at Elixir?

</comment><comment><USER41> > In PHP I'd have had to use either some thread execution hack, delegating a > task to a new thread using shell_exec()

That's not a thread, that's a child process. Very different model of concurrency...

</comment><comment><USER42> The title is strange: the article is actually about _how_ Go solves problems for web developers, not about _why_.

<comment><USER11> Sorry, shitty grammar. I've changed it now, good spot!

</comment></comment><comment><USER43> This was one of the more accessible Go articles I've found through hn but it would really help me if these types of examples included well-written implementations in other languages and frameworks (including third-party library implementations, if required). Does anyone have a link to an article or tutorial like that?

Thanks.

</comment><comment><USER44> The real pain for me to share variables from different handlers in the chain (middlewares). I know some frameworks and libraries provide "contexts", but it's something that should have been part of the standard library.

</comment><comment><USER45> I sure wish Go would solve the problem of blogs which hide content unless JavaScript is enabled …

Seriously, why is this even a thing? Why gratuitously prevent Firefox + NoScript from working?

</comment><comment><USER46> What about Lapis and Moonscript for web development?

<comment><USER47> I like Moonscript and Lapis seems decent enough, but the community is still microscopic.</comment></comment>


GDB 8.0 released - <AUTHOR> https://www.gnu.org/software/gdb/download/ANNOUNCEMENT <comment><USER2> [https://sourceware.org/git/gitweb.cgi?p=binutils- gdb.git;a=b...](https://sourceware.org/git/gitweb.cgi?p=binutils- gdb.git;a=blob;f=gdb/PROBLEMS;hb=HEAD)

No problems in gdb worth mentioning.

While I love gdb that is just straight hubris and suggests there really are some issues with the gdb custodians. [1] Any gdb users can list a bunch, crashes when using tui with 3 windows, can record when debugging on a cpu with avx2 support are highest on the list for me.

[1] but why don't you help? Well I did, patches solving null pointer deref crashes were rejected or ignored. I don't even know which. I don't know who is the gatekeeper of whether code is applied amongst the noisy on the mailing list acting like they're the overlord when looking at the history suggests they're at about the "hello world" stage of their programming careers. It's a hard problem to solve, I don't mind if they reject my patches if they fix their segfaulting bugs!

</comment><comment><USER3> One day I will make an Ollydbg-like frontend for GDB, and it will be glorious.

/me goes back to reversing on command line GDB :'(

<comment><USER4> Try radare2.

<comment><USER3> I tried it, but it isn't intuitive, and I'm uncomfortable working in a terminal environment. Much prefer GUI apps.

<comment><USER4> OK, fair enough.

Then try any of the r2 GUIs.

</comment></comment></comment></comment><comment><USER5> ptype 'a' is still char when the language is c? (it should be int in C and char in C++).

Also, "ptype TEST" is still int for SIZE macro in the following code fragment?

      // Compile with gcc -g3 filename.c
      #define SIZE sizeof (int)

</comment><comment><USER6> side note: why has the ANNOUNCEMENT MD5 checksums and not stronger hashing?

<comment><USER7> NB, the tarballs have detached OpenPGP signatures, you should probably use them for verifying authenticity.

</comment></comment><comment><USER8> Are there any particularly important changes I'm missing?

<comment><USER9> > DWARF version 5 support

Unless I'm mistaken you've so far been "forced" to use LLVM and LLDB if you for whatever reason wanted/needed that.

With this landed, you should be able to stick to a GNU toolchain, even in those cases.</comment></comment>


A Peek at David Rockefeller's Rolodex - <AUTHOR> https://www.wsj.com/articles/david-rockefellers-famous-rolodex-is-astonishing-heres-a-first-peek-1512494592 <comment><USER2> This is similar to Farley file [0], a file kept by politicians to record all the people they meet; and they meet a lot of people daily, dealing with a variety of issues, so it is good to write everything down. When it is time to meet them again, they now know enough details about the person to appear considerate and caring: their name, spouse's name, last topic discussed etc.

It gets its name from James Farley, Franklin Roosevelt's campaign manager:

>> A bad memory is not a great asset in politics, so Jim Farley devised a clever remedy: he kept an index card of every person that Roosevelt met, and recorded the names of spouses, children, hobbies, education, place of employment—any personal information that you could reasonably expect a "good friend" to remember. If Roosevelt returned to the same area, Farley would hand him the index cards of everyone he might meet. << [1]

In Rome, they had slaves for this sort of thing, called Nomenclators [2]. Their duty was to remind their master of people he had met earlier.

[0] : [https://en.wikipedia.org/wiki/Farley_File](https://en.wikipedia.org/wiki/Farley_File)

[1] : [https://markmilliorn.blogspot.in/2015/05/who-are- you.html](https://markmilliorn.blogspot.in/2015/05/who-are-you.html)

[2] : [https://en.wikipedia.org/wiki/Nomenclator_(nomenclature)](https://en.wikipedia.org/wiki/Nomenclator_\(nomenclature\))

</comment><comment><USER3> A dear friend of mine was a lobbyist in Washington, DC for 40 years. When he retired I was tasked with helping him export his Outlook contacts. IIRC it came to around 40,000 contacts which to was astonishing. Senators, Diplomats, lobbyists, the works. It's amazing the contacts you can collect over a career.

</comment><comment><USER4> Maybe thirty years ago, John Dvorak wrote a jocular piece about what we'd all be reading if personal computers hadn't taken off. Among his possibilities were "advances in rolodexes", as I recall.

</comment><comment><USER5> I recently made an effort to groom my addressbook better. This article shows me that I have still a lot room to the upside.

Are there any details what he recorded? It seems to be more than just the contact information:

> One Kissinger card mentions the time when Queen Elizabeth II knighted him in > June 1995. "He is not to be referenced as Sir Henry as he is an American,'' > the card said, with the word "not" underlined for emphasis.

<comment><USER6> Personally I think the original 13th amendment should have been passed.

D Rockefeller was a very immoral and amoral, borderline treasonous man.

<comment><USER7> For those curious on what the "original 13th amendment" was:

>That "missing" proposal was called the "Titles of Nobility Amendment" (or TONA). It sought to ban any American citizen from receiving any foreign title of nobility or receiving foreign favors, such as a pension, without congressional approval. The penalty was loss of citizenship.

From: [https://constitutioncenter.org/blog/the-case-of-the- missing-...](https://constitutioncenter.org/blog/the-case-of-the-missing-13th- amendment-to-the-constitution)

</comment></comment></comment><comment><USER8> 100,000 people met in 50 years, that's meeting 5 new people every day including week ends. That seems hardly believable. The article probably meant 100,000 encounters. Which is still massive.

<comment><USER9> He lived in a time were personal meetings were still very normal. And he was in a trade were meeting many people was normal and beneficial. I would say anyone in that business meets that amount of people and even more. But he was one of the rare people who also documentated it well, while being relevant enough, to make an article about it.

Meeting people doesn't neccessarly mean he know them all personaly, or had more then a handful encounters with them. Like if you have a big company- meeting with dozen on dozen relevant people, it's quite normal to go around and exchange contact-information, talk a bit, and never meet again or use the contact-info.

<comment><USER10> A lot of these encounters also seem to be at galas, fundraisers, etc where you'll be introduced to many many people through the night.

</comment></comment></comment><comment><USER11> My favorite part:

        [2001] Bill Gates note: see data base for add'l entries
        [2007] Gerald Ford note: See Rolodex Card

Maybe they tried using a CRM but Rockefeller wasn't it to it.

</comment><comment><USER12> Excellent article. Thanks for posting.

Non paywal link for fellow HNs [https://outline.com/cDXZDm](https://outline.com/cDXZDm)

<comment><USER13> That outline reads at some point "page 1 of 18", but it seems too short to have been 18 pages. Is it the complete article?

<comment><USER14> It includes a slideshow with 18 images.

Here's a bookmarklet to bypass the WSJ paywall: javascript:window.location.href='http(s)://m.facebook.com/l.php?u='+encodeURIComponent(window.location.href);

<comment><USER15> You may not be in the news business, but this post is equivalent to posting cracks of software or exploits for gaining free access to SaaS offerings. Yes, it may be within your technical ability to do so, no it's not what HN threads are for.

<comment><USER16> It's not unintended or modified behavior, it's more akin to a coupon code which the WSJ intends for anyone with said code to be allowed to use.

<comment><USER15> Not really, but you can tell yourself that.

</comment></comment></comment></comment></comment></comment><comment><USER17>
      In August 2015, Rockefeller staffers tossed the oversize Rolodex machine
      ...
      custom-built Rolodex machine that stored about 200,000 3-by-5-inch cards
      ...
      They [cards] now nearly fill a wall of filing cabinet

Any photos of that monster Rolodex machine?

<comment><USER18> I would hope they took video of it in operation! That'd be some great material for YouTube/Reddit browsing.</comment></comment>


Ask HN: Help me starting out my career. - <AUTHOR>

I am a 22 year old in last year of college pursuing mechanical engineering. I literally wasted my 3 years doing nothing. I am really interested in working for a startup related to mechanical engineering. But I have no knowledge whatsoever, Please help me how to start off. I need help regarding what to do, study etc. <comment><USER2> Ruby on Rails or Python.

Ruby on Rails has a robust community around it ( tons of tutorials online). It's used mostly in start - ups.

Python is a bit easier and is used for the scientific community. Academics like it.

I think Ruby on Rails is the way to go.

[http://www.quora.com/What-are-the-best-resources-for-non- cod...](http://www.quora.com/What-are-the-best-resources-for-non-coders-to- learn-Ruby-on-Rails)

P.S. try to find the same thing in Python and comment back on here if you do.

Hope that helps!

<comment><AUTHOR> I am not a coder, I did my undergrad in mechanical engineering, and I wish to work where I can actually apply what I studied. But your advice doesnt look like a bad option! thanks</comment></comment>


Ask HN: Tonidoplug / Sheevaplug colocation? - <AUTHOR>

Seeing tonidoplug openID entry on HN [http://news.ycombinator.com/item?id=1466465] today, I was wondering whether there are tonidoplug or sheevaplug colocatio services. Bit of googling took me to some sheevaplug colocation services but thought of asking HN for any experiences with such services. <comment><USER2> I think a VPS would be a much better choice.</comment>


Is Twitter accidentally inflating their referral traffic with t.co? - <AUTHOR> http://www.centernetworks.com/twitters-url-shortener-analytics

<comment><USER2> this could be very bad for analytics apps

<comment><USER3> Why?</comment></comment>


How About We Disrupt Online Dating - <AUTHOR> http://thestartupfoundry.com/2011/04/21/how-about-we-disrupt-online-dating/

<comment><USER2> I know OkCupid got bought by Match.com, but by totally omitting any mention of OKC it's hard for me to see this article as anything other than marketing/PR dreck. The guy seems pretty breathless about How About We, but doesn't even _mention_ OkCupid? If anyone disrupted the online dating service market it was them... for _years_.

Then I see the author is something called the "chief advocate" at a company who offers "entrepreneur advocacy" services. I'm not 100% sure what that is but I'm pretty confident it's just a marketing and/or PR firm that pitches itself to startups. Nothing bad about that per se, but let's keep pg's "Submarine" article in mind here.

<http://www.paulgraham.com/submarine.html>

If startups are paying for this kind of work, then it tells me the "PR & marketing services for startups" is the REAL industry that is ripe for disruption.

<comment><USER3> I can say from experience that startups definitely are paying for this kind of work. The more upscale firms will make the lines they feed the media a little less obvious, and make sure you at least get the time of day with the TechCrunch's of your choice.

Crowd sourced news like HN is _already_ starting to disrupt that industry. In many ways, this is a win-win - the existing HN content evaluation makes the more content-filled submissions rise to the top, and blogs can just pluck the ones they want and report it as news to a wider audience. That said, there's definitely still a lot of stupid money floating around that space for people willing to make something new and interesting.

</comment></comment><comment><USER4> If you really want to disrupt online dating, abandon the one-on-one, profile- oriented, high-pressure, arrange-a-dinner-date approach and focus on getting _groups_ of singles together in real-life social situations.

<comment><USER5> This is the model behind Ignighter. Apparently they've had a lot more success in India than the United States. The New York Times ran an article about them back in February: [http://www.nytimes.com/2011/02/20/business/20ignite.html?_r=...](http://www.nytimes.com/2011/02/20/business/20ignite.html?_r=1&pagewanted=all)

</comment></comment><comment><USER6> I honestly think the future of online dating lies in recommendations from networks...be it social or professional. I'm surprised someone hasn't come up with that yet.

<comment><USER7> I think you're right.

</comment></comment><comment><USER8> I have a site idea I'm working on that I think can disrupt online dating. Current online dating sites don't solve a problem. Even OkCupid which perfected the current implementation of dating sites only provides what are essentially just profiles.

My idea uses a more social approach, have people tag those they're already interested in (friends or acquaintances) and notify both parties if and only if there is a mutual interest (both groups tag each other), otherwise wait.

This method is 'rejection free' and solves many of the problems associated with dating in a way that incentives users to reveal their true interests.

I want to localize it to colleges only at first so there already exists a somewhat 'trusted' community. I think this idea solves a lot of the problems commonly associated with dating.

</comment><comment><USER9> online dating seems pretty ripe for disruption, but FB integration is not the way to do it.

for better or worse, there is still some social stigma attached to finding people to date online. the crowd who decides that's not enough to stop them is on match and okc. the new-comers that the article wants won't come, at least in part, due to that social stigma.

grubwith.us is the right answer here: make dating not about dating, but only one instance of what the product does: help people find other people to hang out with in a cool, non-committal way. i'm sure there are other concepts similar to grubwith.us worth exploring.

</comment><comment><USER10> Disrupt online dating is something i'm trying to accomplish with <http://cupick.com/> (I haven't officially launched it yet)

One of the issues I had with sites like Match or okCupid was gender bias. Men get few messages from women and women get overwhelmed with the messages from men. My solution to this was to add a moderator (the public) to recommend and filter potential matches and who you can message.

<comment><USER4> Interesting idea, but it's highly unlikely that people will get involved with a dating site when registration is a requirement for even seeing the site.

<comment><USER11> Most "adult" dating sites are like that---populating their splash pages and galleries with fake profiles, and only allowing you to see the real thing after registration.

Also, marriage oriented or dating sites for single ethnic groups often do the same (or have no gallery at all till registration).

<comment><USER4> In the case of ethnic and religious sites, a fairly promising and probably reasonably accurate description is given. In the case of adult sites, that's just fraudulent and flat out lying to people can be an effective way to get at least some registrations.</comment></comment></comment></comment>


Show HN: Spent the last 6 months on a JS graphics framework for my students - <AUTHOR> http://woofjs.com?ref=hn2 <comment><USER2> Curious the grade levels where this has been deployed and the background of the students. Also curious if there's any academic research behind it.

</comment><comment><USER3> Cool framework, but describing what it does, would be more usefull ;)</comment>


Why early birds never get laid - <AUTHOR> http://shaiwininger.org/2013/01/10/why-early-birds-dont-get-laid/

<comment><USER2> I can see two sides to this... 1\. Product /Market Fit. 2\. Technolgoy hurdles.

If a product is just to visionary, it wont' get that crucial Product / Market fit. Users just aren't educated or understand whats how to get the full value from the product.

Secondly, a lot of technology hurdles as you mentioned in your article just take time to solve or at least make them cheaper to solve.

Then its just about failing faster, and learning.</comment>


Does playing video games make you smarter? - <AUTHOR> http://marginalrevolution.com/marginalrevolution/2015/03/does-playing-video-games-make-you-smarter.html

<comment><USER2> Related: [http://www.mpg.de/7588840/video-games- brain](http://www.mpg.de/7588840/video-games-brain)

They used adults in their study, playing Super Mario 64. This suggests to me that they didn't deliberately go for something with massive amounts of problem solving.

</comment><comment><USER3> Short answer: No. Long answer: Noooooooooooo.

</comment><comment><USER4> Yes it does if you are playing a game that demands your grey cells to think creatively and make it to find solution. If you are playing candy crush or temple run then in no way you are going to increase the count of grey cells in your brain.

<comment><USER5> Candy Crush Saga is a vast collection of puzzles to be solved. New mechanisms are introduced regularly; solving each level involves figuring out how the new stuff works and then determining and implementing a _strategy_ to overcome the new challenges. In short, to play Candy Crush you need to think creatively and find solutions.

What's boggling is to realize that there are people whose _full time job_ is to invent new levels that will be just hard _enough_ to be challenging and even a little frustrating but not _so_ hard as to seem completely impossible and thereby force players give up in disgust.

(And I don't play temple run, but might that game not reinforce quick assessment and reaction time?)

<comment><USER4> That's great then. Still there are other games like Mortal Combat that allows a user to think holistically and do explore every possible thing to solve the game.</comment></comment></comment>


Tell HN: San Diego Meetup - <AUTHOR>

Hello Hacker News!
For the purpose of developing a hacker community in southern California, I am hosting a Hacker News meetup at Filter Coffee House on January 29th @6PM. This is a chance to meet other San Diegans interested in technology, science, and startups and share the projects that you are working on. This will be an informal meeting without any agenda, but if there is enough interest we will try to secure speakers in the future.
If you are coming, please RSVP by sending an email to the address in my profile. Please be sure to include the words "HN meetup" in the subject line.  Or if you prefer you may leave a message below. If there are too few RSVPs to book a meeting space at Filter, then I will cancel the event and let the people know who left me a contact email address.
The address is 4096 30th St.
I look forward to meeting you!
-Jacob <comment><USER2> Shoot, missed this one. Looking forward to the next one.

</comment><comment><USER3> I'm in, sent you an email. Hope to see the SD HN folks!

</comment><comment><USER4> cool, I'm in</comment>


'Naked Scanners': Lobbyists Join the War on Terror - <AUTHOR> http://www.washingtonexaminer.com/politics/_Naked-scanners__-Lobbyists-join-the-war-on-terror-1540901-107548388.html

<comment><USER2> Fail. So I decided: not flying anywhere until this idiocity is over. Not that I fly _that_ often, but let's say that they have lost X dollars a year on me. Hopefully, more people will commit to this as well and after some airlines go bankrupt, the rest will get the message and hire their own lobbyists.

</comment><comment><USER3> One simple thing we can all do to help:

Call them _"porno scanners"_. It's a sticky, effective, accurate label that offends the sensibilities of the sort of people who make public policy. Who wants to be in support of something called a porno scanner, after all?

credit: <http://vimeo.com/16710243>

<comment><USER4> Saying you wouldn't go through the "porno scanner" makes you sound weird, and doesn't always convey what what you might want it to mean.

I fly regularly through two of the first airports to test these out. The name that's stuck is the XXX-ray. Pronounced "triple-X-ray". It rolls off the tongue pretty easily in conversation too.

"Hey John miss your flight?"

"Yeah I got held up at security because I wouldn't go through the triple-X- ray"

<comment><USER3> Ooh, that's a good one too. Now I'm torn.

Whatever we land on culturally with these things, it's important to codify their idiocy right in their common name. Language has power.</comment></comment></comment>


Palantir plan to engage in disinformation and document fabrication [pdf] - <AUTHOR> https://wikileaks.org/hbgary-emails//fileid/4249/1436 <comment><USER2> That was the broad strokes sales pitch of an obvious strategy for a disinformation campaign coupled with a hope of cracking encryptions that they haven't yet found a way around. If they had, it would have been a part of the sales pitch.

That was a cheap pitch from a corporate contractor probing for a weakening in espionage spending by targeting embarrassing but low value public targets.

If that manages to take WikiLeaks down, then it needed to happen. Lessons will be learned and news organizations will have to adapt better safeguards for their sources.

Leaks will always happen when large scale covert operations attempt to cover up unethical behavior. It would only a matter of time before another "WikiLeaks" evolved after the first went down. The next variant will be stronger. And of course, if this sort of attack fails, WikiLeaks will be that much stronger for what it learns over the course of the fight.

These sorts of organizations would be better off working with news agencies like WikiLeaks to help clear out unethical personnel that the leakers highlight.

When catching wind of some fowl shit, shooting the people who point it out doesn't make the shit smell better. Getting rid of the people who produce the shit to begin with is the only effect means of preventing future stench.

<comment><AUTHOR> Who was the contractor?

</comment></comment><comment><USER3> Trump's campaign benefited from Wikileaks and now Peter Thiel is in the executive committee of President-elect Donald Trump's transition team. Wonder what's the market for venture capitalists to disrupt whistleblowing!

<comment><USER4> MAde laugh but totally agree. Wikileaks clearly chose sides in the last elections. As far as I'm concerned they lost any respect from me a while ago.

</comment></comment><comment><USER5> Wouldn't it be funny if the current conspiracy theory about Assange being missing was misinformation planted by Palantir or any number of other actors to discredit the organization?</comment>


Pentagon is getting rid of Chinese-made drones over spying fears - <AUTHOR> https://defence-blog.com/news/army/pentagon-is-getting-rid-of-chinese-made-drones-over-spying-fears.html <comment><USER2> smh.</comment>


Show HN: A tool to earn money by deep linking to GitHub Repos - <AUTHOR> http://www.gittagger.com/ <comment><USER2> I know "everyone's a critic," but that page is more "swooshy" and chaotic than necessary. Made worse by the fact that I had to look at the page source to find out where the bookmarklet lived, which seemed to be pretty central to the success of new users.

It would also be super helpful if you gave examples of what kind of content you were looking for. There are quite a few things that I would, and have for my own purposes, bookmark because I refer to them often. However, I can't say whether some of them are "best practice source code" or not.

Is the audience folks who are learning to program and want to see examples? Or folks trying to configure projects and want to see good build files? Or defensive programming? Or good error messages?

<comment><AUTHOR> Thanks so much for the valuable feedback. And you are right, the bookmarklet is not easy to find. It's funny how we didn't see that while developing. Only user feedback can do its magic:)

Great idea regarding the examples. By best practice source code we had in mind to bookmark something interesting and important to each users purpose.

In the end of the day users should be able to find all kinds of annotations. The configuring of projects reference you mentioned is the one I prefer the most.

It helps beginners and advanced coders. Let's hope we build what users want. Again thank you so much for your feedback.

<comment><USER2> You will also likely want to do two things to help the tags from spinning out of control: auto-complete and aliasing. The tags used by stackoverflow would be an outstanding point of reference, as they do both of those things, but in addition their tags would be (for all intents) a great list to get things started off. I haven't checked to see if their tag dataset is open, but I also wouldn't imagine it would be terribly hard to get the list, even if they aren't open. I would just avoid taking the descriptions that accompany them, unless that's offered under a liberal license.

<comment><AUTHOR> Auto-completion and aliasing make a lot of sense! Thanks for that. We will look at StackOverflow's list. I think their API allows to fetch tags... but not sure. I will post to this thread when I find out. Thanks again!!!

</comment></comment></comment></comment><comment><AUTHOR> Hi HN, Karan here. Tobi and I built this experiment to see if people are interested in deep linking into GitHub Repos. We also plan to compensate users. Once we have enough paying users we will share the richness with our users. But we are just starting yet and have no paying users. We hope to get some feedback by HN on this idea. Does this makes sense? Thanks in advance!

<comment><USER3> Like the product and web. Only one concern: >Once we have enough paying users we will share the richness Before that happen and at your command, the users are training your commercial proprietary AI model for free ?

Why you don't use Amazon Mechanical Turk[0] ? [0] [https://www.mturk.com/](https://www.mturk.com/)

<comment><AUTHOR> Thanks so much for your feedback. Yeah we thought about offering to users who tag now a free usage for life. AWS Turk is a great idea to add. We will certainly take a look. Thanks!

</comment></comment></comment><comment><USER4> I suggest you slow down the animation in the hero section, a _LOT_.

<comment><AUTHOR> Thanks for the feedback. It's a bit fast, indeed. We will slow it down or take it away in total.

<comment><USER4> I see you took it away. That's a shame. Maybe experiment with it going very slowly (think: clouds drifting across the sky)?</comment></comment></comment>


RFR: Does blockquoting lead to nastier discussions? - <AUTHOR>

(RFR = Request for Research)
I mentioned I was thinking of adding support for blockquotes, but boredguy8 pointed out that, while more convenient, this might actually make comment threads worse:
http://news.ycombinator.com/item?id=248035
This brought back some alarming memories.  I can remember some really nasty arguments on reddit that included a lot of blockquoting.
So this would be an interesting question to know the answer to, if anyone wants to try a quick test.  Is blockquoting correlated with a nastier style of arguing?  E.g. is there any correlation between the amount of blockquoting and the use of insults, comments beginning with "Um," etc?  Scraping randomly chosen reddit comment threads might help answer this.  Are there any statistical differences (esp in word frequencies) between threads/comments with lots of blockquoting, and those with little? <comment><USER2> I often open my posts with a quote pulled from the comment that I'm responding to, just so that the post will make more sense when pulled out of context; e.g. on searchyc.com or when someone is scanning down the page.

But I think that not having formal blockquote formatting subtly encourages me to avoid sprinkling blockquotes throughout my posts -- or, worse, sprinking my words throughout an endless series of blockquotes. Instead I generally restrict myself to one big blockquote, in italics, at the _start_ of my own writing, and I think _very_ carefully before I try to insert a blockquote in the middle of a post. Such mid-post quoting requires careful wording and formatting to make the change in author clear, which is appropriate because it encourages me to just write in my own words and leave other people's words alone. :) I think that's a useful constraint.

The lack of blockquote formatting also encourages us to keep the blockquotes as short as possible. And it helps the flow of comments and responses to flow nicely down the page -- it's easy to see if a block of text is part of a post or part of a response to that post, because (with the exception of code blocks) only responses change the indentation.

In short, I think the missing blockquote formatting is a feature, not a bug.

<comment><USER3> _I often open my posts with a quote pulled from the comment that I'm responding to, just so that the post will make more sense when pulled out of context; e.g. on searchyc.com or when someone is scanning down the page._

Me too.

 _But I think that not having formal blockquote formatting subtly encourages me to avoid sprinkling blockquotes throughout my posts -- or, worse, sprinking my words throughout an endless series of blockquotes. Instead I generally restrict myself to one big blockquote, in italics, at the start of my own writing, and I think very carefully before I try to insert a blockquote in the middle of a post. Such mid-post quoting requires careful wording and formatting to make the change in author clear, which is appropriate because it encourages me to just write in my own words and leave other people's words alone. :) I think that's a useful constraint._

Totally. Needless blockquoting is really annoying.

 _The lack of blockquote formatting also encourages us to keep the blockquotes as short as possible. And it helps the flow of comments and responses to flow nicely down the page -- it's easy to see if a block of text is part of a post or part of a response to that post, because (with the exception of code blocks) only responses change the indentation._

I agree with this bit, too.

 _In short, I think the missing blockquote formatting is a feature, not a bug._

Also, blockquoting just clutters up the page needlessly, with the same text twice.

<comment><USER4> But at least it wouldn't all be italicized.

</comment></comment></comment><comment><USER5> I initally intended to read 100 random Reddit threads, counting posts containing blockquotes with those not, and counting total inflammatory posts in either case.

I've done four now and I'm getting really antsy.

I'd love to come up with an algorithm to automate this, but discerning a troll post from an inflammatory post from an informative post algorithmically is an Engineering-Very-Hard problem [[http://fishbowl.pastiche.org/2007/07/17/understanding_engine...](http://fishbowl.pastiche.org/2007/07/17/understanding_engineers_feasibility)].

Anyway, of the four, so far the results have been surprising: Out of 457 total read comments, there were only 25 blockquotes. Of the 25 blockquotes, there were 5 that I (totally subjectively) considered "inflammatory", either because of a strong personal attack, or because of a deliberate misquote of the author ("FTFY"). I only counted 15 inflammatory posts not containing a blockquote -- clearly, I wasn't counting comments that were just lame, tired repetitions of a meme, lacking content, etc.

Because the sample set's so small, there isn't enough information for statistical significance one way or the other. However, in [<http://www.reddit.com/info/6s09o/comments/>], I did notice that there was a pattern where posts containing blockquotes in a thread tended to be longer, better written, more precise responses to the previous comment. The thread might devolve into a pedantic debate between two people, but it was still more of a discussion than many of the other threads that didn't contain blockquotes at all.

<comment><USER6> I quite agree with this. People will be nasty with or without blockquoting.

But with blockquoting you'll sometimes have very detailed line by line replies/discussions. And compared to what's usually on reddit that's a big improvement.

I assume the same will happen here. (Although you're starting with a better base, so either you'll get a better result, or you'll revert to the median, i.e. make it worse. No way to find out but to try.)

</comment></comment><comment><USER7> I personally don't like the kind of arguments where each person responds by splitting up the post and arguing paragraph by paragraph. I've found that it often devolves into nitpicking of spelling and grammar, which I could care less about.

I think arguments can sometimes be useful discussion, but I'd prefer that people respond to a post as a whole rather than respond to each paragraph of a post separately.

<comment><USER8> What about restrictions for the number of characters per blockquote and the number of blockquotes per post? Say, 2 blockquotes per post and 512 characters per blockquote.

</comment></comment><comment><USER9> Wouldn't it be much easier to just implement it and see how it goes than to start writing code to sift through redddit? You can always just pull the plug on it if you feel it's having that effect.

I personally am comfortable with the fact that this place isn't really a democracy when it comes to stuff like that.

</comment><comment><USER4> Seems kinda odd to _speculate_ about what would happen when we could just _do it_ and find out. Especially for something so minor as a change from  to
.

If a post is bad, that's what the downvote arrow's for...

</comment><comment><USER10> I know it sounds crazy, but something like *chan-style "threading" could be useful. Each post on that software has a number in its header, and saying ">>123456" provides an anchor link to the above post. Clicking on the number in the header of a post the link to it in the reply box automatically to save copy/pasting. Also, ">text" makes the text green and italic, often used to quote people.

It's simpler than blockquoting while still allowing people to be clear who they're talking to and what about.

<comment><USER2> But... we have a system of indented replies! And I think it works great!

The best thing about the nifty indented reply system is that flame wars have a characteristic shape on the screen that we all learn to fear: the Downward Slope of Doom. It really makes skimming the page easier.

And you can always find a post's parent by clicking the "parent" tag.

</comment></comment><comment><USER11> I believe this is called "Fisking".</comment>


Links fixed - Free web design and development tutorials - <AUTHOR> http://www.sydneydevcamp.com/posts/free-web-design-and-development-tutorials

<comment><USER2> The page(s) for the tutorials that we are looking for doesn't exist.</comment>


Show HN: Strange Whois Records for Major Sites - <AUTHOR>

Open your Terminal / Console / sh prompt and type the following:
whois aol.com
whois google.com
whois microsoft.com
... etc.
Can anyone explain why WHOIS/Verisign can't prevent this?  I found some explanations but none of them made much sense. <comment><USER2> <http://www.internic.net/whois.html>

Go there and pick "nameserver" and then plug in one of these silly names. The whois request you're running is ambiguous at that level, so you get back both those nameserver substring matches and the domain itself.

This is old news, unfortunately.</comment>


Robotic Firefighters - <AUTHOR> http://www.computerworld.com/s/article/9247366/U.S._Navy_to_test_humanoid_robotic_firefighters?pageNumber=1

<comment><USER2> Wondering something a little bit close to strong AI and how it could be .. "The robots already have some autonomy and can make decisions about taking steps and moving their joints, McKenna said. However, a human will still supervisor the robot and will control the machine from a safe distance and make decisions about whether the robot is ready to take on its next task."..

<comment><USER3> I think a combination of some level of autonomy and remote control by human works well in this usage. I don't believe the AI technology is advanced enough to handle such a hostile environment. But I believe there are many applications of robotics where full autonomy can be achieved in time.</comment></comment>


What's the best way of giving away equity to co-founders e.g. on specific targets met, options, vesting etc? - <AUTHOR>

<comment><USER2> It shouldn't hurt to follow the same basic model as most companies use -- some amount of options, vested at a specific rate, probably with a one year cliff and then monthly vesting after that.

You have to be a lot more willing to fire, though; you don't want to find yourself owing stock to someone who wasn't productive for a year just because you couldn't think of the right way to fire him/her.

</comment><comment><USER3> In Nov 2006, Seth Godin addressed the concept behind this issue quite elegantly (I am paraphrasing the relevant points below; the direct link is at the end of this post):

\--Don't do a deal where each side gets a fixed percentage. A 50/50 split of a company invented in a bar is always a bad idea. Even paying someone 5% for some sort of contribution can come back to haunt you. INSTEAD, BUILD THE DEAL AROUND A SHIFTING PERCENTAGE BASED ON CONTRIBUTIONS OVER TIME.

\--Don't assume that the money you start with is going to be enough. Let's say you and a buddy each put in $5k and each take half the business. Then what? What happens when the money runs out and only one of you is willing to put in the next block of capital?

\--Do a deal with someone you trust, but don't do a deal with a friend. You'll likely end up with neither a partner nor a friend in the end.

<http://sethgodin.typepad.com/seths_blog/2006/11/dont_make_a_bad.html>

</comment><comment><AUTHOR> Ok so if you're looking to use equity to build your team but already have a product, brand, some traction what's the best way to give away equity to co- founders? Obviously you can't just say here's X% of the stock - what if they leave next week for a new job, dont do any work on the site for the next 6 months? Presumably there are ways of structuring this but what are they and are they expensive in legal terms?

</comment><comment><AUTHOR> thanks - it seems quite complex - what time period to vest over, how to do the contracts.</comment>


Boeing Knew of Problems With 787 Batteries Before Fires - <AUTHOR> http://www.nytimes.com/2013/01/30/business/boeing-aware-of-battery-ills-before-the-fires.html?pagewanted=all

<comment><USER2> I can't imagine that the aerospace business is that different from the software industry or the automotive industry in that every product that gets delivered has known defects of unknown severity. It would surprise me if the planes didn't have at least a few hundred known issues -- a dozen of which may prove to be more serious than first anticipated.

Engineering reality may not match romantic expectation. Even for something as important as aeroplanes.

<comment><USER3> Well said. Engineering is a game of higher-dimensional whack-a-mole.

You can test, and push stuff to the edge all you want - but things will still hit the fan in some corner case.

Failure is the only constant.

</comment></comment><comment><USER4> There will always be problems like this. Many man-years of engineering and millions of parts went into creating it.

What troubles me is that they are sold without any burn-in, or if there is burn-in, it's inadequate. There should be for example 50,000 miles on each plane of test flight before it can be sold. I'm not sure what the number should be, but it should be a lot more than they have now. Sure that's expensive testing, but so are the planes, and it wouldn't be forever, only until the design is vetted.

It seems like a problem of process more than anything.

</comment><comment><USER5> The new management moto - throw it to the market in whatever condition to try to make quarterly profit, no matter if you put people in danger, trash your partners image and hurt your company massively in the long run. Also only obey the letter and not the spirit of the law and shove uncomfortable information under the rug.

<comment><USER6> The true driving force of the aeronautical industry (and probably other sectors where you work on projects too big to risk personal accountability) is greenlighting. The real motto is "do not ever bring bad news to your management".

Even if 50% to 80% of people up a chain of command are honest, you only need two or three managers putting their career before a responsible behavior to have a top-level management with a completely distorted image of reality (and, more often than not, perfectly fine with this).

Every day, I am reminded of Feynman conclusion in his report about the Challenger crash: "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled."

The only thing that prevents commercial airliners from being a complete mess is that EASA has no incentive to go too easy on Boeing and FAA has no incentive to go too easy on Airbus.</comment></comment>


How to Flip an App for Profit - <AUTHOR> https://beckyhansmeyer.com/2019/09/04/how-to-flip-an-app-for-profit/ <comment><USER2> I wish it was a social norm that folks would expect to pay $10 for an app purchase rather than $0 or $1. The probability that small time guys can profit on small earnings is low.</comment>


Ask HN: What are the different stages of learning a programming language? - <AUTHOR> Javascript, in particular. <comment><USER2> Necessity. Disbelief. Confusion. Despair. Acceptance. Advocacy.</comment>


Google's MapReduce patent: what does it mean for Hadoop? - <AUTHOR> http://arstechnica.com/open-source/news/2010/01/googles-mapreduce-patent-what-does-it-mean-for-hadoop.ars

<comment><USER2> It's too bad Hadoop seems to have been inspired by Google papers as a solution to Nutch's scaling issues. See <http://research.yahoo.com/files/cutting.pdf> [pdf]

To me (and IANAL), this implies that Hadoop users are at Google's mercy.

</comment><comment><USER3> I just wish that google pushed this patent to the extreme and trolled everyone, and then went to congress to say "see we just shut down half the web, patent laws are currently fucked up and need changing"

<comment><USER4> That would move Google from lawful good/lawful neutral (in theory, "Don't be evil") to chaotic good. It might actually be a good idea.

<comment><USER5> A little off topic, but any of the Good alignments follow "Don't be evil", since by definition Good is not Evil. Neutral says nothing about not doing evil and actually implies doing some evil. Lawful Neutral is following the order of law regardless of whether a law is good or evil. Chaotic Good is more of disregarding law or actively attempting to destroy law but while still doing what is Good. Therefore, I'd say Google acting as the GP describes would more closely follow Lawful Neutral than Chaotic Good.

Edit: Actually, I guess the process of acting as the GP describes would be Lawful Neutral but the end result would be Chaotic Good.

<comment><USER6> I'm not sure how following the law for the purpose of destroying the law seems lawful...

<comment><USER7> It's a simple application of higher order law.

</comment></comment></comment></comment></comment><comment><USER8> Is it something to do with the "china hacked google" thing after doing nothing for quite some years? just a thought.

<comment><USER9> What? The patent was filed in 2004.</comment></comment>


Hacker News censorship? San Francisco crime story nuked from front page - <AUTHOR> Whether by human action, or by the effect of some algorithm, it doesn't seem like there was a good reason to bury this story.
The story: https://news.ycombinator.com/item?id=11561966
Screenshot: http://imgur.com/irJgUPD <comment><USER2> Most likely it triggered the flame war detector. (a good heuristic is # comments > # points)

<comment><AUTHOR> "Flame war detector". Sounds like such a mechanism, number of comments > number of points, would have the same effect as a groupthink protector.

<comment><USER2> "Flame war" detector does not imply "general disagreement" detector.

<comment><AUTHOR> I read through the comments on that story and I see a healthy and vibrant discussion, not a flame war that needs to be buried.

</comment></comment></comment></comment><comment><USER3> Why not email the moderator, dang, using the contact link at the bottom of the page?</comment>


Experiment: Hired freelancers will not implement proper password security - <AUTHOR> https://www.zdnet.com/article/study-shows-programmers-will-take-the-easy-way-out-and-not-implement-proper-password-security/ <comment><USER2> It's all about the requirements. For a first iteration, it can make sense to do things insecurely -- for example, to seed internal product discussion and for a partial testing of quality.</comment>


Linus Torvalds: After big Linux performance hit, Spectre v2 patch needs curbs - <AUTHOR> https://www.zdnet.com/article/linus-torvalds-after-big-linux-performance-hit-spectre-v2-patch-needs-curbs/ <comment><USER2> The default kernel settings should be secure. So if the current STIBP is too expensive and SMT-disable is less expensive, I have no issue with disabling STIBP provided that SMT is also disabled to make sure that the default kernel is safe.

</comment><comment><USER3> i'm curious to any public cases of systems / companies or anything . getting into trouble due to being pwned via an exploit like spectre where that exploit was really the key to the whole shenanigans.... i would say a system engineer is responsible for system configuration ,and if it's requirements call for it, disable smt or enable this muck?

Is there even a valid real-life case that supports enabling of these measures apart from some marketing stunt vuln disclosure? there have been many cpu bugs and issues in the past, but post these suddenly it's all on the band-wagon to be hyper paranoid on hw exploits... not all bad,, but maybe a bit over- reacting? in the past these issues were just silently patched in microcode or ignored. i remember reading about one with cache issues on xbox where they just decided not to generate the instructions which could cause it in compilers :')... silly but effective for the platform... and that's the thing. i think there's hardly anyone who should worry about these kind of exploits. rather worry about the more mundane and common ones first?</comment>


Chinese repos are ruining the GitHub trending page - <AUTHOR> https://email@example.com/chinese-repos-are-ruining-the-github-trending-page-2eeda45ae1e0 <comment><USER2> I do a lot of searches like

> [https://github.com/search](https://github.com/search)? > l=Common+Lisp&o=desc&q=lisp& s=updated&type=Repositories

and while I often get Chinese results mixed in (not to exclude Japanese and a few others!), I actually _like_ seeing what people are up to regardless of their spoken language.

When something interesting shows up, there's an online translator for that.

While there is some value to seeing what is trending in whatever language you speak, that is a specific filter that gets further and further away from the reality of what is actually trending on github. Github is all about _programming_ and not about spoken language, so the filter would be a tad arbitrary (although maybe someone would be interested in knowing how many Rust repos are written in Swahili or Cree).

That filter could be a _feature_ , but on a global platform, the Chinese certainly aren't "ruining" it. They are _integral_ to it.

</comment><comment><USER3> >Repos already have a "language" property funnily enough which is based on the code contained in it. Similarly they could introduce another property to detect the natural language of the readme/docs/etc and assign it to the project. On the trending tab you already have an option to only browse projects in a specific programming language so you could also set this as well. A "worldwide" option could be the default. I don't want to hide other people's projects.

Sounds good to me. Post title is a bit too strongly worded though.

<comment><AUTHOR> Based on the comments both here and on reddit that seem to be the case. Do you have a suggestion for a better title?

<comment><USER3> Not really, but better to not frame the page as being "ruined". Something about Github's popularity in China making the case for language options or something, maybe.

</comment></comment></comment><comment><AUTHOR> Hi everyone, I'm the author. I'm curious what others think about this. I'm not sure if I'm the only one who feels that it's a problem so let me know if you have something to add or correct.

<comment><USER4> Why would it be a problem to write code and documentation in other languages?

And the way you word your title is a bit too much don't your think?

<comment><AUTHOR> Have you read the article? Based on your response it feels like you didn't because I added a "disclaimer" section to the top just to address that it's not a problem with foreign repos but with the UX of the trending page.

Edit: the whole article is about this but the disclaimer is there to make this clear as soon as possible. Maybe the title is controversial without context but I really hoped that people read the whole thing before forming an opinion.</comment></comment></comment>


Angry Birds creator Rovio to IPO in New York? - <AUTHOR> http://www.arcticstartup.com/2011/03/18/rovio-wants-to-ipo-in-new-york

<comment><USER2> "We're aiming to be as large as Facebook or Google"

Do they have any success apart from Angry Birds? For games company, repeatable success seems to be crucial.

<comment><USER3> They're riding the one-hit-wonder train as far as they can... and probably hoping something other than that will eventually happen.

<comment><USER4> A good time to IPO...

</comment></comment></comment><comment><USER5> NY seems to be a strange choice for a non-US company, in recent years most international IPOs have been going to London rather than NY due to the immense cost of listing in the US because of SOX.

More than anything this seems like a sign of a bubble, a huge number of games companies are listed in the UK (also Zynga and FB investor DST) so you have analysts and investors who know how to price these sorts of companies.

NY on the other hand has far more unsophisticated buyers (mom & pop investors), if you wanted to push a consumer product company to a price beyond which the financials indicate is sensible, NY would be the place to do it.

</comment><comment><USER6> Their CEO also said console games are dying

[http://blogs.forbes.com/insertcoin/2011/03/15/angry-birds- ex...](http://blogs.forbes.com/insertcoin/2011/03/15/angry-birds-executive- claims-console-gaming-dying/)

<comment><USER7> there's someone thinking longterm.., but he's so right, one more somewhat successful batch of consoles is all I give them. Time to get disrupted there in the next decade.

and yes, bubblywobblybobbleblobb. But who cares? Majority of today's bubble companies will be or at least could be profitable long before their IPO if they wanted to.

And the bubble signs were there over 2 years ago. Too many companies getting funded. But is it a bad thing? Nope.

</comment></comment><comment><USER8> Since everyone seems to be foaming at the mouth over the prospect of a facebook/groupon ipo seems like a great time to capitalize.

</comment><comment><USER9> I didn't expect the quality of IPOs would go down so quickly. If Rovio can find another sucker to pay for their risk, good for them, bad for the sucker.

<comment><USER10> I dunno. People _love_ Angry Birds. I kinda believe in this team.

Somewhat related recent discovery: If you ever find yourself in the position of needing to entertain a 3 year old who doesn't speak your language, Angry Birds works wonders. The gameplay is so simple and universal that anyone can play it.</comment></comment>


Vitamin Pills -  A False Hope? - <AUTHOR> http://www.nytimes.com/2009/02/17/health/17well.html?_r=1&em

<comment><USER2> The "anti-oxidants prevent cancer" model may not be working out--if only because cancer may be an emergent property of a number of different processes --but fish oil (omega-3 fatty acids) is absolutely worth taking to prevent heart disease. See for example <http://www.americanheart.org/presenter.jhtml?identifier=4632>

</comment><comment><USER3> If you're interested in this topic, I recommend reading Michael Pollan's books - The Omnivore's Dilemma or (the shorter) In Defence of Food. He explains more why reductionism in nutrition makes absolutely no sense - both scientifically and from a health point of view.

</comment><comment><USER4> I began taking a daily multivitamin and fish oil (sometimes flax seed) because I felt that my diet wasn't healthy during my college years. Placebo effect or not, I felt better and in general my life improved. Even if it isn't a direct effect of the contents of the multivitamin, the price is so insignificant and the benefit so great that it easily passes cost/benefit analysis.

</comment><comment><USER5> There was a study that was published in Oct. 2007 by researchers from the University of California (Berkeley). They did not find any negative effects from heavy vitamin and supplement users. In fact, all the tests they ran showed they were far healthier than the non-vitamin users.

You can view and download the full report at: <http://www.landmarkstudy.com/>

It seems to contradict a lot of the stuff from the NY Times article.</comment>


How the Math Men Overthrew the Mad Men - <AUTHOR> https://www.newyorker.com/news/annals-of-communications/how-the-math-men-overthrew-the-mad-men <comment><USER2> After working in two jobs where my job was using quantitative analysis to try figure out what marketing channels to invest in I have to say this is incredibly hard to get any answers - to the point where you might ask why bother? The current solutions in the marketplace AFAIK are either extremely expensive vendors (think $50k pa starting price) or startups which are most focused on direct response (an example I was shown was web traffic from a TV commercial which let you "win a jeep".)

The best steps you can do for your business are have a very firm commercial idea of what success looks like (i.e. measure LTV, churn etc by channel) and have a robust framework for market research. I personally like the idea of splitting spending marketing spend between branding (where your aim is to promote unprompted brand awareness) and acquisition (where you want CPA < LTV.) Also remember there are A LOT of businesses which spend money in things that an expert can identify as not commercially sound - so audits by external agencys can be useful (i.e. not using negative keywords in AdWords and spending many thousands on direct response campaigns that don't work.)

I'll add the cavaet that rhe worst thing about "attribution" I've found is it puts an unfair amount of pressure in the bottom of the funnel. Brand focused marketers aren't really held to scrutiny at all (lots of marketing teams in businesses I know don't even do total spend / total sales) - I think this can cause some resentment between teams.

Good articles on this are few and far between but this one I don't mind [https://www.cmo.com.au/article/641243/iag-marketers-must- end...](https://www.cmo.com.au/article/641243/iag-marketers-must-end-blind- faith-martech-adtech/) as well as Willem's talk on what they did to bring programmatic in-house at Foxtel.

Happy to connect with anyone interested in this space.

<comment><USER3> Thanks for the links and comment, I'm on the adtech side and largely agree - true measurement of effectiveness is unsolved, and we conflate measuring lift with causing lift.

IMO anyone paying attention in the industry knows the answer is probably less ad spend, aka most inventory is overpriced...but then the incentives take over and the firehose stays on full blast. Publishers, agencies adtech/martech, are not incentivized to right-size ad spend at all, and even for advertisers orgs, the slightest bit of silo/politics incentivizes CMOs to spend & protect their budgets.

It is a select handful of orgs with serious CEO level buy in that are willing to honestly tackle this and spend less, more efficiently. That tends to be a competitive advantage in a sea of waste.

<comment><USER2> Yep also I think there are incentives to look like you are investing in this space ... and for the vendors who are selling these tools, not many marketing managers are going to be happy if you make their placements or creative choices look stupid

</comment></comment></comment><comment><USER4> (in the very small digital segment of the much larger advertising market). Astoundingly, the vast majority of ad spend is still done with the traditional level (close to none) of quantitative rigor.

<comment><USER5> "very small digital segment"? You might want to re-think that according to this article: [https://www.recode.net/2017/12/4/16733460/2017-digital-ad- sp...](https://www.recode.net/2017/12/4/16733460/2017-digital-ad-spend- advertising-beat-tv)

<comment><USER6> That chart is interesting. Realistically how likely is it that digital spend is going to double in the next five years? Is the consumer economy big enough to justify that without taking share from other media (presumably there are other advertising media)? If (when?) it does stop that's going to have a pretty big impact on google/facebook's valuations and growth rates.

<comment><USER7> As a consumer, not an ad tech guy, I don't get digital advertising at all. It rarely if ever drives behavior on my part, and I just don't see effective use of it. The most useful ads I see are the circulars in the newspaper that I seek out.

I still remember brands and jingles from my childhood on radio and TV, but today, I can't think of anything digital advertising that stands out as other than clumsy and dumb or useless retargeting. I've been a Gmail user for 12-13 years, and the best they can do is some phoney "Win an Aldi Gift Card (very enticing) for taking surveys" and "Milfs are looking for you", seemingly triggered by some spam I receive.

I'm also getting bombarded with air conditioner ads from Amazon because I bought an air conditioner, from Amazon, a few weeks ago. For all of this big data and machine learning investments, they are trying to sell a man sitting in a 60 degree room another AC — which given the price and free shipping they probably lost money on.

<comment><USER8> People always say that on HN because they think they are unique or immune to advertising somehow. Its not like advertisers toss out some ads and then you automagically go buy a new roof for your house. All advertisers do is see you own a house and send you some new roof ads. Your reaction is not "Oh I better go get a new roof from Steve's Roofs". Your reaction is 18 months from now you're searching for a new roof after a hailstorm, you see "Steve's Roofs" in a google search and click on it because you've seen the logo/tagline before. (Or maybe their is some latent brand awareness, you might associate Steve with trustworthy due to an ad but not realize it, etc).

With the AC.. that is due to a lack of data. They can't always match all of your devices to you, maybe you cleared your cookies etc. They missed that you bought it, and so as they see it you're still a very valuable prospect. IF there was more/better data that annoyance would be solved.

</comment></comment></comment></comment></comment><comment><USER9> The idea is ridiculous. The math men didn't overthrow the Mad Men. The Mad Men found that math is awesome, because it's a topic that your customers don't know. So they also have no way to figure out that the Mad Men don't know math either. They call the mathematicians "quants". Does that sound like respect to you? Is that how one speaks in public about one's overlord?

</comment><comment><USER10> Love this in theory.

But...

There's still way more money being invested in the traditional world of advertising than what's being invested in the analytics and data side. Creative agencies haven't gone away. Agencies of Record are still the traditional shops (DDB, Ogilvy, etc.)

<comment><USER8> The data side is still very new (<20 years old). I'm expecting that once the old agency guys and old client side guys die off you'll see bigger changes.

</comment></comment><comment><USER11> They overthrew the medium not the ad agencies. Its just those agencies that didn't adopt the new medium struggled.

Most large companies I have worked with still use an agency to manage ad spend for a cut. And though the pitching has an analytics bent I cant imagine its that far off how they used to pitch TV & Billboards. And they are still run by sales people not machine learning grads.

<comment><USER8> Yeah, the sales pitch nowadays its "with our new technology we can do this" where I'd imagine previously it was "with our partnerships we can do this" or something similar.

</comment></comment><comment><USER8> The article doesn't really align with the title. I was hoping for some history on how math men came up or how their value compares to traditional mad men. Unfortunate just another hot topic hit piece on google/fb.

</comment><comment><USER12> And what about math women? This isn't the 50's anymore.

<comment><USER13> It's an allusion to both the show "Mad Men" and to the phrase which spawned it from the 60s. Also, the alliteration.

<comment> s-shellfish Honestly, I like the phrase 'math people' or 'computer people' a bit better.

Not always necessary to follow the formal rules of story telling, to tell a story. Reading the same patterns over and over, sounds kind of boring...

<comment><USER14> The sentence, "math people and mad men" isn't a play on words, and "math people and mad people" doesn't make sense at all. Nobody uses "math men" in speech, this was done for a unique reason.

<comment> s-shellfish Is there an algorithm to humor and/or journalism?

<comment><USER15> Yes, authors have their own particular algorithms in the employment of literary devices. Easy example is great speakers like MLK.

<comment> s-shellfish I don't think MLK would be opposed to a more inclusive statement, and I don't think MLK would have downvoted someone for wanting women to be included in a population that is often presented to the world as largely male, even though it's really not.

<comment><USER13> We really don't know what his position on a play on words in a feature article in The New Yorker written in 2018 would be. He's been dead for 50 years, and I'd venture to say he'd be more concerned about poverty and criminal justice reform.

<comment> s-shellfish Yea, the whole discrimination thing he was on about is so 50 years ago.

<comment><USER13> Maybe black and underclass social problems are not the same thing as making sure writing is bland yet as inclusive as possible in a publication that mostly rich left-leaning white people are going to read on their $1000 itoy?

<comment> s-shellfish I'm female, I work at a university that is considered in 'the ghetto' as a software developer. There are a lot of issues in my city that range from everything from homelessness, to gentrification, mental illness, addiction, etc.

I've seen the consequences of discrimination from everything from skin color (I'm white, many of my siblings are black or mixed), to gender, to socio- economic status, etc.

I've also spoken on the internet for a long time, and I know what it feels like to feel silenced with the push of a button. A downvote. It's annoying. It's annoying to know people studying machine learning are only doing it to control how people think, to control behavior, to control wealth, or whatever the fuck else they want.

So, how many times does this have to wrap around itself for people to understand, downvoting people on the internet for complaining about how the world of math and logic seems largely presented as a male world, is part of the problem?

Even more ironically, MLK gets quoted.

All men are created equal. Are you focusing on the word men in that rhetoric, or are you understanding the message?

<comment><USER13> > Are you focusing on the word men in that rhetoric, or are you understanding > the message?

No. But, it seems you are.

I worked in worse places and I've come from worse places. You aren't going to win the oppression Olympics with me.

<comment> s-shellfish Yup, you are right! You win the Oppression Olympics against me.

<comment><USER13> Cool.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


50 years of Data Science [pdf] - <AUTHOR> https://dl.dropboxusercontent.com/u/23421017/50YearsDataScience.pdf <comment><USER2> A great read.

Thesis of the article: "Insightful statisticians have for at least 50 years been laying the groundwork for constructing that would-be entity as an enlargement of traditional academic statistics. This would-be notion of Data Science is not the same as the Data Science being touted today, although there is significant overlap. The would-be notion responds to a different set of urgent trends - intellectual rather than commercial. Facing the intellectual trends needs many of the same skills as facing the commercial ones and seems just as likely to match future student training demand and future research funding trends"

"Data Science" is currently a field where corporations are winning in defining what activity academic universities should support. This article is a nice pull back in the other direction, and focusing on the intellectual rather than commercial elements.

<comment><USER3> Not sure if I completely agree. The problem, as I see it, is that corporations are one of the most important data collectors out there, and sometimes most accessible. Personally, I am doing research with data from supermarket chains, credit card companies and telecommunication operators. However, I always strive to make the paper mainly about an intellectual challenge (central place theory, modeling inclusive economic growth, studying effects of the dynamics human mobility, ...) and just use the commercial application as a side note. So, even if the commercial intent is there and the corporation interest is visible in the paper, the attempt is to use it just as a "price to pay" for increasing a "more general" knowledge.

Unfortunately, if I look at the (sometimes very commendable!) efforts of public data release from, e.g., governments (data.gov, data.gov.uk, etc) there always some shortfalls. They are either too flat -- a classic census table, which is of limited interest because you can deal with it without the need of innovative data analysis techniques -- or just not large or deep enough to get a big picture from them. For instance, in human mobility, a government will provide you a mobility survey, a sample of self-reported trips recalled from memory for only one target day. But a phone call record can give you _all_ people, for a _long_ period of time, _without_ relying on people's faulty memory of their movements. If you want to understand, e.g., how disease spreads in a city, or how people are cut out by public transportation and infrastructure shortcomings, the survey results are necessarily going to be worse than the ones you'd get with call metadata.

</comment></comment><comment><USER4> This is a very nice read. Updating my worldviews ... I had no idea that John Tukey (inventor of the fast Fourier transform) was such a large figure in the history of data analysis. In fact, his paper on exploratory data analysis has more citations than his paper on the FFT according to google scholar. I was also surprised to see that he was co-author on the projection pursuit algorithm. Wow!

</comment><comment><USER5> According to a recent report by Glassdoor, Data Scientist is ranked #1 for "25 Best Jobs For Work-Life Balance" [1].

[1] [http://www.glassdoor.com/blog/25-jobs-worklife- balance-2015/](http://www.glassdoor.com/blog/25-jobs-worklife-balance-2015/)

</comment><comment><USER6> I saw David Donoho give this talk live in September at Princeton's Tukey Centennial conference -- fantastic, and well worth a read. IIRC, gives a good history of data analysis, how to think about the different definitions of and roles for data science, and an introduction to Tukey's work.

For more on the history of data science, here are references from a similar talk by Chris Wiggins: [http://bitly.com/icerm](http://bitly.com/icerm)

</comment><comment><USER7> Great summary and very needed at this time to make sense of a number of trends. A minor nit: I think it would be better if he didn't overload the long ago claimed term "Data Modeling" and specifically called it Generative and Predictive Modeling.

</comment><comment><USER8> This is a very good read, but I have to say that I managed to learn all of this 12 years ago before the term "Data Science" existed. It was quite easy as I was a statistics, comp sci and applied math "triple major."

I don't remember ever hearing the terms "Data Science" or "Big Data," but I do recall taking Department of Statistics courses with titles like "Data Mining," "Statistical & Machine Learning," and "Statistical Computing." We even sort of worked with what is now called "Big Data," by learning how to run large calculations in parallel using R's cluster computing packages.

As fancy and interesting as those courses were, I would only have a superficial understanding had I not also been exposed to more foundational/theoretical courses/topics like "Probability," "Measure Theory," "Mathematical Statistics," "Linear Regression," "Time Series Analysis," "Applied Stochastic Processes," etc.

When it comes to real-life practical implementation of all these ideas, it is necessary to have a pretty steep background in computer science. It's not enough to be able to do a couple runs in R or Hadoop. What is really called for here is at least an undergraduate level of knowledge in all the traditional areas of computer science, like programming languages, databases, computer systems, algorithms & data structures, etc.

Finally, the fourth ingredient is experience. The only way to really learn data analysis is through practice. It takes hundreds of hours of staring at data and code, struggling hard to find the relevant patterns in your data and improve the predictive performance of models. I guess this is the main advantage of pursuing a modern "Data Science" graduate degree, presumably you will spend a lot of time practicing data analysis on "real" data.

What I think irks people about the Data Science trend is that there seem to be a lot of people out there saying that you don't really need to be educated in mathematics and statistics. It's like saying that a mechanical engineer just has to know how to use 3D modeling computer software and doesn't need to know physics or mathematics ... that would lead to disastrous outcomes.

<comment><USER9> I think you've nailed it precisely. What is irksome (scary?) isn't the sudden upsurge in interest in data analysis (great! lets for science!), but the complete lack of acknowledgement of the importance of statistical theory and knowledge. As the paper mentions, almost all of the new "Data Science" academic programs being created have very little communication with, let alone integration with, real statisticians. Garbage in-garbage out, no matter how much data or how fancy a program.

<comment><USER10> I submit computer science departments have enough expertise to operate a graduate data science program. Maybe not every CS department, but enough. It is interesting that the actual stats departments do not encompass all statistical knowledge and expertise. More specialized experts in econ, finance, many fields of social science, not to speak of all engineering fields and computer science and applied math. Data science predates modern statistics; Laplace used least-square to ignore "the God hypothesis;" the function-approximation view taken in many engineering fields is just as powerful as the statistical approach.

</comment></comment></comment><comment><USER11> Now it's suddenly 50 years? When I started reading on HN in 2010 (or '09) Data Science didn't exist yet. We had statistics and IT back then. I saw your birth dude! All the fluids and the screaming.</comment>


Advise: Earning first $1000 from bootstrapped startup - <AUTHOR>

I am currently working on a small bootstrapped web app. My goal at the moment is to earn 500/month within the coming month and eventually 1000/month .I do not have great marketing skills, however this is not deterring me from continuing with what i'm doing as i am confident i can learn along the way.what advise would you give to someone who is working on a bootstrapped web 2.0? <comment><USER2> I am in the same boat. I just launched an app myself. I wish you luck.

I would be sure that you are listed on as many sites as you can. Ask bloggers for reviews. Be sure that your page is as readable by google as you can be.

As I am sure you know, you just need traffic.

I am having 1/100 of what I expected. I can only deal with reality.

<comment><AUTHOR> I am happy to hear that you too are on the same boat as i am. I will take your advise and try to contact blogger sand see if they will review.I wish you luck with your app.Thanks</comment></comment>


Hardware Hacking for Software People - <AUTHOR> http://dontstuffbeansupyournose.com/2011/08/25/hardware-hacking-for-software-people/

<comment><USER2> Great guide on basic hardware hacking techniques.

It is really surprising how much low level electronics rely on standard interfaces and protocols.

Also, all electronics designs tend to rely heavily on the example implementations on component datasheets for their actual implementations, which can help greatly with reverse engineering board layouts and finding the right pins and jumpers to probe.

<comment><AUTHOR> Thanks, yea that was a huge surprise to me. It really demystified a lot of how this stuff all works.</comment></comment>