Ask HN: Anyone making passive (or not passive) income from a content site? - <AUTHOR> There are many posts here about people making money off side projects or businesses they manage on their own, but it seems like almost all of them are selling a product or a service. I'm wondering if anyone is making substantial money from a site that just generates content (and isn't selling a service/product) ? (Looking for examples of people doing this on their own, not big companies running news/content sites) <comment><USER2> I wrote a semi-popular blog for a couple years as I was coming up in the advertising agency world as a digital strategist.

I knew enough about media planning to not bother trying to monetize my content; the ROI would never pay off if that were the goal, and I'd caution against it, unless you already have an active audience in the 10,000+ range who is anxiously waiting to hear your personal thoughts about a specific topic.

The likely outcome is farther below your expectations than you're likely to guess. We're talking thousands of hours before you make hundreds of dollars. And the income from this activity is the opposite of "passive". Content creation is the least scalable activity you could engage in.

The strategy that worked for me - and works for nearly everyone who sticks with it for something like 18+ months - was to use writing (or other content creation) as proof of expertise, seriousness, and passion. Proof that you're an interesting person worth listening to about something that's important to someone else.

My blog dramatically accelerated a career, led to important new business relationships, speaking opportunities, and let me do consulting projects (which often generate more revenue in a week than a site could make in a year).

<comment><USER3> > Content creation is the least scalable activity you could engage in.

Don't tell 22words.com [1] and BoredPanda (and the 370 clones) about that. They're currently riding the great Facebook junk content spam train to tens of millions in annual revenue off a very modest amount of daily low-value content. They're the new version of the Demand Media / Google content machines (except they're doing the same traffic with 1/100th the content). Facebook will smash them sooner than later as it begins to overwhelm the platform, however it's gangbusters for now.

[1] [https://www.quantcast.com/twentytwowords.com](https://www.quantcast.com/twentytwowords.com)

<comment><USER2> I guess where we differ is that I don't think those are content businesses. The OP was looking for alternatives to building a service or app, and those businesses are automated marketing systems. I think they're closer to apps than not.

I took the OP's question to mean s/he wanted to create content.

</comment></comment></comment><comment><USER4> Been doing this for nearly a decade, mid-six figure income. No employees, no customers to deal with, just content that I update on a weekly basis, with links to high-quality affiliates that I trust and actually recommend.

Anyone who can write a decent book on a subject that consumers care about can do this, but it does take time, probably a good 3 or 4 years before you start making decent income, would need to start it as a side project while working full-time, but I'm convinced any decent writer can do this.

<comment><USER5> I'm a copywriter who's trying to get into affiliate.

I've literally spent the last few weeks mulling over one niche to the next. I've read almost every post on nichehacks but still can't pick a niche.

Any advice on how to bite the bullet?

<comment><USER6> have you read /r/juststart?

My issue is when I could (hypothetically) bill out at $100 an hour is spending 3-4 years earning cents per hour worth it? (I do find the industry fascinating though as someone who used to pay affiliates millions a year.)

EDIT: also the issue of being defensible and having only one primary supplier for visibility (Google Search) and limited monetisation options which people have had issues with (Amazon Affiliates or Ads)

<comment><USER7> If you have money you can buy content. Quality content costs more money, of course.

</comment></comment></comment></comment><comment><USER8> I have a WP blog that I wrote about my experience becoming a licensed professional engineer, which basically entails writing up your experience and taking an ethics exam. At the time I did it to make myself accountable to follow through. It is a super niche area, but with very little content addressing it, especially for free. Years later, with hardly any work from myself, the traffic is not high (2-3k monthly) but the Adsense more than pays for the hosting and I also generate revenue through affiliate sales to someone that sells paid help with the application. That revenue has been roughly $100-200 a month with as high as almost $500, during exam season.

The site is pretty much as passive as it gets at this point. I maybe spend some time every once in a while answering questions posted the blog, but haven't written new content in years.

</comment><comment><USER9> I'm not willing to share my sites, but I have some content websites, one of them have ~2 million pageviews/month and is enough to pay my bills. The others are small, but they improve ~10% my result.

They are 99% passive income. All of them can be improved, but I don't do anything, I have full time job and other side projects. I feel bad for not working on them, but I know it is the right decision to me.

To be honest, it was started as a SEO experiment. I have bad content in good shape (all in-page SEO tricks done). I'm sure better content can improve my results.

<comment><AUTHOR> Can you share how much money you make? And is it all from Adsense?

<comment><USER9> They make USD 1.5-2k. In my country, it is a mid-level developer salary, enough to cover expenses.

Most part come from Criteo and Adsense. Adsense has better performance, but is not reliable, some sites were banned without reason. I always test other ad networks, but these have the best performance to me.

<comment><USER10> Can we reach out to you via email?

<comment><USER9> Sure! My websites aren't global, I'm sure people can replicate some of them in other countries.

Send me emails to my username at gmail.

</comment></comment></comment></comment></comment><comment><USER11> I have a low volume, long tail content site. It consistently pulls in $500 per month. It's built on an open data set, which was poorly exposed (government site).

I think content sites are good MVP's, but to be defensible need to be turned into something more valuable.

<comment><USER12> Any tips on how to do reasearch to find long tail keywords?

</comment></comment><comment><USER13> You could go browse Patreon. _Questionable Content_ is essentially a one man show, though it started as him and his girlfriend/first wife (she apparently did tech support and marketing, he produced the content). He has apparently been making six figures for some years, even before Patreon was a thing. _Girls with Slingshots_ is another webcomic supporting its author.

I believe they both do a certain amount of T-shirt sales and the like, but the comics themselves are the main draw. T-shirts are just a means to monetize the comics, along with Patreon, ads, etc.

There are many other Patreon supported sites out there. You could go looking for some examples of stuff similar to the kind of content you have in mind (I assume you have no plans to be a web comic artist).

I make some money from my low traffic websites where I publish all original content produced by me. I occasionally get a little ad money, but most of the income is from Patreon and tips. I have never figured out how to make money from affiliates. So people are basically straight up paying me voluntarily to produce content online. I hope to grow the traffic and improve the monetization.

</comment><comment><USER14> I run [https://officesnapshots.com](https://officesnapshots.com) \--

It is a content site which publishes office design projects from around the world. We organize the projects and tag photos to make them useful for professionals in the industry.

Been running it for just over 10 years and it has been my full-time work for the last ~5.

</comment><comment><USER15> As a learning experiment, I tried my hand at an amazon affiliate site [http://nextlesson.com](http://nextlesson.com) , but it ended up only making 67 cents. I might change the site in the future to focus more on young learning.

I have been channeling my efforts into my food side project [https://bestfoodnearme.com](https://bestfoodnearme.com) the content is thin as it is only food dishes, and the site does not generate any revenue. Its more of a scratch my own itch.

<comment><USER16> I do NOT recommend that anyone click that first link.

Chrome warned me it was unsafe, but I clicked through anyway, and then it was a loop of redirects and popups.

I didn't click the 2nd link after that experience.

<comment><USER15> Thanks for the heads up, looks like my site was hacked. I will have to fix that later today.

<comment><USER16> No problem. I wasn't sure what to think, as I was pretty sure I knew & trusted your username.

I don't think they did any damage!

<comment><USER15> I disabled my nextlesson.com for now.

My food side project was a custom site I wrote in Go.

</comment></comment></comment></comment></comment><comment><USER17> I am not sure if affiliate marketing count as a content site, you are always "selling" something directly or indirectly in order to make income, at [http://toptalkedbooks.com](http://toptalkedbooks.com), we present the best books to users from HN, stackoverflow and reddit. I think the bottom line is, give quality content to users, income will follow.

<comment><USER5> Interesting site but how do you drive traffic?

There's no traditional blog or long-form content. The site is literally a compilation of books. Though it's useful, useful I don't see how users will find it online organically at least.

<comment><USER18> I guess one way it posting it on HN. This is probably the 10th time I've seen the page mentioned and I guess HN people are the exact audience for the site.

</comment></comment></comment><comment><USER19> I curate a daily list of interesting engineering blogs at [https://discoverdev.io](https://discoverdev.io)

As of now it's a side project, not making any $ off it. But I know a bunch of folks who have been doing such stuff for a while and make some good beer money!

<comment><USER20> I'm doing something similar with [http://microservicesweekly.com](http://microservicesweekly.com).

It's not that easy to earn money with these kind of newsletters. You would need to have entire network of newsletter micro-sites to make decent earnings (e.g. [https://cooperpress.com/](https://cooperpress.com/)).

How many subscribers do you have?

</comment></comment><comment><USER21> I run [http://patentsexpiringtoday.com](http://patentsexpiringtoday.com) which pulls its data from a government API. It's not making any money on its own, but generates some traffic to my other side projects. It gets about 2-5k visits per month.

<comment><USER12> Just curious, where do you get your data?

</comment></comment><comment><USER22> IndieHackers was making money from advertising before it was bought by Stripe.

<comment><USER23> Why would Stripe buy a website like IndieHackers?

<comment><USER24> I think it's just because Stripe has an interest encouraging people to start side projects/small businesses. It increases their userbase.

<comment><USER25> Sounds reasonable, never had thought of this.</comment></comment></comment></comment>


Post-work: the radical idea of a world without jobs - <AUTHOR> https://www.theguardian.com/news/2018/jan/19/post-work-the-radical-idea-of-a-world-without-jobs?CMP=Share_iOSApp_Other <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=16185414](https://news.ycombinator.com/item?id=16185414)</comment>


Redcon – Fast Redis-compatible server framework for Go - <AUTHOR> https://github.com/tidwall/redcon <comment><USER2> Note that it's a redis serialization protocol and tcp server implementation. It's up to you to define redis commands such as get, set etc.

This can be used coupled with a backend storage to provide custom redis servers.

It's not a redis implementation by itself.

<comment><USER3> I don't see how it's useful then. Maybe someone can give me a good use case?

redis is already very bare-bones and dead simple to set up and maintain, what more does one want? Wouldn't adding more logic into a redis-like environment be a little cumbersome from an architecture perspective?

<comment><AUTHOR> This is not for recreating Redis, but for custom server implementations such as the Tile38 project, proxying services, and microservices that might need to use the RESP protocol.

<comment><USER4> Then please don't call it a "Redis server implementation." That is misleading, at the very least. A "framework" would be an accurate description.

<comment><AUTHOR> Thanks a bunch for your feedback. I totally agree and changed the title to "Fast Redis compatible server framework for Go".

<comment><USER5> Doesn't seem to have taken...

<comment><USER6> He meant he changed the project description on GitHub. You can't change HN titles once they're posted afaik.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> If you need an easy to write, debug, and operate RPC tech for building networked components with minimal dependencies/effort, writing Go servers with RESP (iirc, REdis Serialization Protocol) is surely the way to go. I've built several of these things (although, with a custom RESP parser), and, from my experience, the ROI is pretty high -- it's up there with bash scripts for getting stuff done.

</comment><comment><USER8> This is a not a good way to do this kind of thing. Simple stateless redis protocol parser and an example to use it would be a much better interface.

</comment><comment><AUTHOR> Note that this is not a full reimplementation of Redis in Go, but rather a framework for implementing a Redis-like server in Go.

If what you are looking for is a Redis implementation, I did create a Redis v1 clone in Go a while back. It's is only a proof-of-concept and lead to the development of Redcon.

[https://github.com/tidwall/sider](https://github.com/tidwall/sider)

</comment><comment><USER9> I reimplemented it in Java, including all the commands, with similar results. Mostly useful as a mocking tool during unit tests.

<comment><USER10> But why: [https://github.com/kstyrc/embedded- redis](https://github.com/kstyrc/embedded-redis)

<comment><USER11> Because reinventing the wheel is an immense amount of fun, if you get to do it yourself. ;) A good learning experience too.

Everyone should at one point write their own compiler. And maybe their own OS.

(I'm only half kidding here)

<comment><USER10> That's a good reason.

<comment><USER11> Someone should tell the JS crowd though, that you shouldn't neccessarily reinvent everything every 6 months and use it in production.

<comment><USER12> Sometimes it may worth it. FFI was never fun regardless the host language except perhaps C++ -> C.

</comment></comment></comment></comment></comment></comment><comment><USER13> It's not a server. You can't implement a redis-compatible server in 100 lines of Go code. How did this make it to the front page of HN?

</comment><comment><USER14> Do we really need one post a day on the frontpage where somebody reimplements something in Go?

Just because the language is really hyped right now?

<comment><USER15> i would say rust is the new kid on the block, go is old news.

<comment><USER11> And Go is rather pointless to begin with. The only thing it get's right is the excellent microthreads and CSP implementation.

The only reason it gained any traction is the big name of the mothership...

<comment><USER8> > The only thing it get's write is the excellent microthreads and CSP > implementation.

No at all. It's very far from even remotely decent implementation, the interface is too inconsistent and full of implicit behaviors and the performance is an order of magnitude slower than anything acceptable. But anyone actually using it already knows..

<comment><USER11> I admit we dropped Go before getting to production, with any kind of performance requirements.

I liked the goroutine related apis though.

What I remember being PAINFULLY slow is reflection. Which is very inconvenient for certain tasks (building objects from db queries, (json) serializing,...). Macros could help here, but alas, code generation is the only alternative available. Which I'm not a fan of.

\---

What's are your gripes with Gos CSP?

<comment><USER12> The reflection is slow indeed but most of the time you can use caching to improve it(at least that was my case). I like Go a lot but I must admit that some features would make my life easier and perhaps the language more expressive too(i.e. variant types). If that is not good enough you can use code generation(last resort)

</comment></comment></comment></comment></comment></comment><comment><USER4> Editors: can you please change the title? It's not a "Redis server implementation" at all.</comment>


The Rise and Fall of Lisp at the Jet Propulsion Lab. - <AUTHOR> http://www.flownet.com/gat/jpl-lisp.html <comment><USER3> So it sounds like the JPL's reason (at least the reason they gave - <USER2> you want to believe it was some anti-Lisp conspiracy or just bad office politics is your own business) was that Lisp was too _big_. I wonder if Scheme would have been a better fit? (It was certainly around in 1988; SICP was written in 1985.)

There's something about Lisp that gives it a reputation as inherently individualist (as opposed to the "workers are expendable cogs" project management model that the linked article associates with Java). Same with Forth. At this point, the Lisp community seems to encourage that idea, but what in the language itself supports this?

I hear arguments that it's a harder language, but let's not kid ourselves. I think programming well in, say, C++ or Haskell is much, much harder. ( _Should_ a language be hard to use well?) Or: Lisp code is hard to read. Potentially, sure -- the readability of the code is more dependent than most languages on the developers' abilities to name things well. (Same with Forth.) You can write unmaintainable garbage in any language, though - just copy and paste things where they're used instead of naming and referencing them, give variables meaningless names, etc. Just add water and presto, _big ball of mud_. (<http://www.laputan.org/mud/>) Also, most programmers are probably used to good editors handling paren balancing in any language.

Besides being significantly different from the main languages people are exposed to, what? All it takes for a language to be different from e.g. C/Java is to not _be_ C/Java. Is it because you can create your own idioms / extensions to the core language? I also think the syntax is something of a red herring - sure, you may dislike the syntax, but I can think of popular languages that have disastrous syntaxes. (I guess Dylan could be a control group here, but I don't know anybody who has real experience with it, let alone its reputation among management.)

No answers, but I'd really like to know. Working on my own language, and all that.

Also: I'm most definitely not looking for thinly-veiled bragging about how "not everyone can handle such a superior language" either, because... come on.

<comment><USER4> _There's something about Lisp that seems inherently individualist. At this point, the Lisp community seems to encourage that idea, but what in the language itself supports this?_

I think the people that choose Lisp select it after a study of the various options. Choosing and evaluating programming languages is not a social activity -- you do it by yourself. Contrast this to Java programmers, who use Java because it's what they learned in school. They aren't individualistic, they just do what they are told.

(Java's popularity is helped by the "tools" are "easy to use". SLIME and Emacs are "hard to use", so you have to want to use them to be able to use them. I use quotes because I disagree with the sentiment. Eclipse is a nightmare to use. Emacs is a dream.)

As for Java's popularity, I think it comes down to social factors rather than differences in the syntax of the language. Java developers want less money than Lisp developers. It's also easier to hire Java developers, because you can just require a Sun certification. Easy!

<comment><USER5> I don't think that's true. Lisp jobs are few and far between; people who want them _really_ want them. There are many jobs that are like that. Here in the UK nurses and firemen are badly paid, that's because there's always someone who wants the job enough to do it for barely living wages.

The only way to be a well-paid Lisp programmer is to work somewhere where they wouldn't even dream of using Java.

<comment><USER4> I've found that the better a job suits me, the more they are willing to pay me. (I have never looked for a Lisp job, though.)

</comment></comment></comment></comment><comment><USER6> I read this before, but still love this conversation with his Google manager:

Me: I'd like to talk to you about something...

Him: Let me guess - you want to use Smalltalk.

Me: Er, no...

Him: Lisp?

Me: Right.

Him: No way.

I just find it an amusing encapsulation of how so many of the high achieving people that Google hires like to program in high productivity languages like Lisp, Smalltalk, Ruby (see Yegge) but Google keeps a tight rein on it by keeping the languages they will deploy on their servers down to 4 or so (Python, C++, Java and Javascript being the 4 I've heard).

<comment><USER3> I can see where they're coming from, though: If every time a new popular language came out (Ruby or Clojure or Blorf or Java+++ or ...) somebody wanted to also add _that_ as a dependency, it would quickly become a maintenance nightmare.

At the same time, Smalltalk and Lisp were both languages with decades of history, so it was something other than managers trying to help focus programmers who (understandably) want to try out every new shiny thing. What, though? (See my other comment.)

<comment><USER5> Facebook use 20+ languages in production - that's what Thrift is about.It's certainly do-able so long as certain processes are in place (e.g. if you use a language you are responsible for its bindings to the common message bus).

<comment><USER3> Whoa, yikes. Can you give me a reference for that? (Or even tell me _which_ 20?)

<comment><USER5> There's a 'Facebook Engineering' group on Facebook where they blog about their internal operations.

</comment></comment></comment></comment></comment><comment><USER7> Is it just me, or is the idea of using a repl on a computer in space simply fascinating?

<comment><USER8> What I found more interesting was this section in the story of the Remote Agent bug ( <http://ic.arc.nasa.gov/publications/pdf/2000-0176.pdf> )

 _One of the errors found with SPIN, a missing critical section around a conditional wait statement, was in fact reintroduced in a different subsystem that was not verified in this first preflight effort. This error caused a real deadlock in the RA during flight in space._

So the bug fixed with the repl was actually one that was uncovered by the SPIN verifier ( <http://spinroot.com/spin/whatispin.html> ) months prior to the launch, but wasn't fixed because they didn't verify the code they actually decided to use.

</comment></comment><comment><USER9> _In the words of Elton John: It's sad. So sad. It's a sad, sad situation. My best hope at this point is that the dotcom crash will do to Java what AI winter did to Lisp, and we may eventually emerge from "dotcom winter" into a saner world. But I wouldn't bet on it._

</comment><comment><USER10> > Copyright (c) 2002

So what happened in the ~6 years since then?

<comment><USER11> I quit JPL and started a new career as a VC :-)

<comment><USER12> Do you have that written out in another post somewhere? I loved this one.

<comment><USER11> Nope. I haven't been doing it long enough to have gotten any good stories out of it yet. I did write this a while back, which was a big hit in its day:

[http://rondam.blogspot.com/2006/10/top-ten-geek-business- myt...](http://rondam.blogspot.com/2006/10/top-ten-geek-business-myths.html)

</comment></comment></comment></comment><comment><USER13> Lisp at the very least is excellent for initial prototypes.

</comment><comment><USER14> "The situation is particularly ironic because the argument that has been advanced for discarding Lisp in favor of C++ (and now for Java) is that JPL should use "industry best practice." The problem with this argument is twofold: first, we're confusing best practice with standard practice. The two are not the same."

To me, this is the crux. We have this ridiculous idea that "industry" drives technological advance.

Industry software "engineers" trained up in trade schools or worse, without any awareness that they are reimplementing solutions (poorly) to problems that were solved _decades_ ago...and we get...horrible industrial monstrosities like Java (and Microsoft Windows) roaming the earth, while remote diamonds like Lisp and Scheme shine kindly down.

<comment><USER15> _Industry software "engineers" trained up in trade schools or worse, without any awareness that they are reimplementing solutions (poorly) to problems that were solved decades ago...and we get...horrible industrial monstrosities like Java_

Since Guy Steele coauthored both the Lambda Papers (late 1970's) and the first three editions of the Java specification, I don't think that you can successfully argue that awareness of anything solved by Lisp or Scheme was a problem in the development of Java.

I always got the impression that the goal with Java was to make bad programmers better, not to create the ultimate language (e.g., see [http://fishbowl.pastiche.org/2004/03/17/halfway_between_the_...](http://fishbowl.pastiche.org/2004/03/17/halfway_between_the_gutter_and_the_stars/))

To use a golf analogy, consider cavity back irons. The average golfer, who struggles to hit it straight, will likely play a lot better with cavity backs. But a really good golfer won't be able to shape shots easily and will feel hamstrung without his blades.

<comment><USER16> _I always got the impression that the goal with Java was to make bad programmers better, not to create the ultimate language_

And you would be correct...

[http://people.csail.mit.edu/gregs/ll1-discuss-archive- html/m...](http://people.csail.mit.edu/gregs/ll1-discuss-archive- html/msg04045.html)</comment></comment></comment>


Fedora 22 released - <AUTHOR> http://fedoramagazine.org/fedora-22-released/ <comment><USER2> Recently installed the Fedora 22 beta on my desktop and am blown away. It even automatically resized my Windows partition for me and works with my UEFI BIOS. 3D, printer, sound, all my mouse buttons worked out of the box. Thanks to systemd, the whole system boots up in a few seconds. Everything feels really smooth and polished. There's even a maps and software app now! The new GNOME is really beautiful and easy to use, easier than mac even, and I didn't have to tweak anything. You can even download RPMs and double click them to install.

<comment><USER3> I've had really good experience with systemd on Debian stable too. Suspend has worked flawlessly, and the bootup time is quite a bit faster too. I kind of miss seeing the startup scripts output to stdout what they were doing during boot time, but I suppose that if I really care, I can always go digging in binary logs.

<comment><USER4> I upgraded my main workstation to the recent Ubuntu with systemd, and sadly that has turned into a big problem. I use btrfs, and have several subvolumes as well as multi-drive filesystems. At some point systemd decides to filesystem check something it doesn't need to, and then times out. Sadly this kind of thing is really difficult to diagnose. The exact same devices are already mounted - the second mount is just a different subvolume. If it just went ahead and mounted instead of outsmarting itself, then all would be good. Thankfully I can make it boot using upstart which works fine.

It is very frustrating that /etc/fstab has just worked for several years, but now systemd does the wrong thing. I really want to like and use systemd.

An Ubuntu bug report did not help (ignore the wrong title) [https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/14478...](https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1447879)

<comment> vezzy-fnord To the best of my knowledge, the intention is to deprecate fstab(5) entirely in favor of automatic GPT partition discovery. Where this isn't possible, systemd-fstab-generator(8) will translate the contents of fstab(5) into native systemd units (mount, automount, swap...) and henceforth the semantics will be subject to the ordering and scheduling policies of systemd itself.

Mount and swap units are in theory supposed to just be wrappers to the regular system tools that merely extend them to the Unit semantics, but as a whole I'm unsurprised that these assumptions may not play well with more complex storage configurations. That's always been a recurring systemd pain point.

<comment><USER4> My frustration is that systemd isn't working in this case, that it is trying to do something pointless (check an already mounted filesystem), AND that I have no way to diagnose or correct it since there is no useful information to work with.

When I had my drives on different controllers things were even worse because btrfs device scan didn't complete running before systemd then tried to mount an incomplete filesystem.

Automatic partition discovery is going to have its own issues. For example plugging in a drive from another system/backups is not something you want mounted in the right places on the wrong system! fstab is also a nice place to put non-physical filesystems like tmpfs (I use it for /tmp /var/tmp $HOME/.cache $HOME/.ccache /space/work). Having to create separate .mount files for each of those would be a big pain.

I really want to use and like systemd, but it does fundamentally need to work first.

<comment><USER5> There is no need to create mount units, all those thing will work from /etc/fstab, which overrides the generator. And I don't think the intent is to deprecated /etc/fstab. The list of possible automounts is limited: [http://www.freedesktop.org/software/systemd/man/systemd- gpt-...](http://www.freedesktop.org/software/systemd/man/systemd-gpt-auto- generator.html) the point really being that of having a system that can boot without /etc.

I've read quite a few complaints about Ubuntu 15.04+btrfs problems, for what is worth I had no problems with Fedora22 and Opensuse Tumbleweed.

</comment></comment></comment></comment></comment></comment><comment><USER6> Am I old fashioned in that I usually run CentOS for my workstation? After a year or two it can be a pain getting some third party RPM, but generally I find that's a pain I'm willing to deal with to not have to worry about updating my workstation until I want to.

Although, I do port my highly customized Fvwm2 config every time I update, so maybe it is just me being old fashioned. Although I think anyone that thinks most modern WM are "fast" really is missing a bit of perspective. You haven't seen fast or efficient until you've custom tweaked a Fvwm2 config (or something equivalent).

<comment><USER7>
        Am I old fashioned in that I usually run CentOS for my workstation?

No, you're not. CentOS is a fantastic distro. The stability of it is what drew me away from Fedora.

<comment><USER8> I'm using arch, currently and it looks rock solid aswell, even that it is really really bleeding edge

<comment><USER9> The definition of "stable" is different between something like Arch and CentOS (and even Fedora).

When it comes to "bleeding edge" distros, stability might mean, "it doesn't crash". When it coems to stability for an enterprise/server focused distro like RHEL/CentOS, it not only means "it doesn't crash", but that package versions stay similar, major configs don't change, etc... so you scripts you write today will work on that system 3 years from now, no update will change some dependency you relied on, etc.

<comment><USER8> However mostly configs doesn't need to change even on bleeding edge, only major upgrades to gnome like gnome2 to gnome3 broke something, however that doesn't happen too often. Also I was on CentOS a long time ago, even on servers, but it isn't good for projects with a dependency hell, i.e. when the project has some dependencies on newer operating system libs.

</comment></comment></comment></comment></comment><comment><USER10> > Files. The updated layout in Files gives a better view of your files and > folders, and a new view popover makes it easy to change the zoom level and > sort order from a single place. You can also now move files and folders to > the trash intuitively using the Delete key, rather than the Ctrl+Delete > keyboard combination.

It's 2015 and it still baffles me that a basic file manager still need such tweaking, rewriting and brainstorming.

Is there no such thing as a `problem solved, let's not touch it again' in the FOSS world [0] ?

I say that as someone using Debian with xfce and awesome everyday.

[0] Don't know why I specifically mentionned FOSS. Closed source is plagued as well as mentionned bayle a child poster. Chalk it up to fatigue.

<comment><USER11> > Is there no such thing as a `problem solved, let's not touch it again' in > the FOSS world ?

Is there such a thing in the closed-source world?

Because Windows 1... err, Windows 3 (now with tiling windows!), uhhh... Windows 95 (now semi-3D!) uhhh... Metro! That's it!... is certainly a case study in how nothing changes and UI is a solved problem, right?

Oh, and I've used WindowMaker across multiple distros, from Red Hat (pre Fedora) through Slackware and now Ubuntu. (Yes, Ubuntu without Unity. Shock and horror and "Can such things be?!?!" line starts on the left.)

<comment> vezzy-fnord Desktop UI has barely budged since WIMP became the dominant paradigm in the 80s. There have always been alternatives (Oberon, rio, Cedar, zoomable UIs, etc.), but they've never had any widespread adoption.

As of more recent, there have been attempts by various parties (Microsoft, GNOME, Canonical...) to create these tablet-centric, opaque but outwardly simple UIs that are positioned as being groundbreaking and challenging norms, but in reality are some subset of WIMP with certain properties being given more weight than others (e.g. menus and icons over windows and pointers), but with little in the way of any true improvements in discoverability and interaction. Nothing like how all the text on screen is programmable, like in Oberon. _That 's_ groundbreaking.

Because the desktop shell is what most people ever see, it's a decent proxy for programmers to use providing an illusion of change and progress.

<comment><USER12> Well I think GNOME shell is the best desktop experience I've ever had in my life. Pretty sure it's not an illusion.

<comment><USER13> They took too many OS X anti-patterns such as the ever-present menu bar, for my taste.

</comment></comment></comment></comment></comment><comment><USER14> I'm running Fedora 20 as my main home desktop/dev platform (upgraded from Fedora 19, it worked just fine this time!).

Fedora 22 means 20 will be EOL soon and I've been thinking what to do next.

I've realized that I don't use many things from the default install, and Debian Jessie provides reasonable versions for the important software I use every day (XFCE, Mesa libraries, Python, pip, gcc, vim; things like that), and for the other software I can install it from 3rd party repos (Chrome and Skype mainly) or compile it (I track SFML git repo, for example; and pip is amazing), so I won't be upgrading or reinstalling Fedora any more (since Fedora 12, I've been mostly a happy user after moving from Ubuntu -Debian before that-).

To be honest, I don't know what's going on. May be is the OSS I use that is now mature enough to not care any more if I'm running the latest version or not, or if it's me that is mature enough to just get things done (I was going to say "boring", but I'll stick with _mature_ ).

Fedora has been very useful for me when it was bleeding edge and I needed the new an shiny stuff, and because Fedora was a great community effort and it was really open to contributors (and I contributed!).

Since Gnome 3 and Unity, I'm not interested in the new stuff, and tired to see how any non-mainstream opinion makes you _a hater_ (like anyone was interested in my blog; tip: nobody); but I digress.

Nice to see Fedora going strong, but please give me stability and something I can use every day without changing things because _there 's a vision and a plan_ and I'll be happy!

EDIT: I said _when it was bleeding edge_ ; and it still is. I guess other distros are catching up and that's not that relevant.

<comment><USER8> just upgrade to Fedora 21 as soon as 20 is EOL or use ArchLinux, thats what I did after I had enough from too many things that didn't worked out of the box in Fedora (like propriatary WLAN drivers, my current wlan stick is still really old stable, but it isn't inside the Fedora Kernel, however its already inside the arch linux kernel).

Also I would still be happy if ANY linux distribution could fix monitor plug & play, thats already really screwed. I mean things gotten better, but as soon as you deal with a retina display and plug in two 1920x1080 monitors in and out things getting screwed up really really fast. Also 3 monitors didn't worked out really well on login managars in the past years, however thats fixed now when you have the same resolution. That makes me really sad.

<comment><USER15> I've written a script that looks at the output of xrandr and reconfigures the screen layout, based on which outputs are plugged in and what the resolutions are. This is then bound to a key via the window manager so I can seamlessly move between laptop only, laptop+1 external, laptop+2 externals, or 2 externals only with just a keypress after coming out of sleep. This has been pretty solid on MacBookPro10,2, running the XFCE spin of Fedora 21. Some people have questioned if I'm running Linux when they see this work.

The background on the login screen doesn't always render correctly, but I look at that as often as I reboot (which is like once a month), so that doesn't impact me much (just like boot time, ahem).

My main concern is that as things become less shell-scriptable (like requiring complex dbus interactions), doing this will be less accessible to work around design or implementation quirks to achieve the desktop experience one wants. This is the price we pay for progress, I suppose.

</comment></comment></comment><comment><USER16> Not sure where Fedora sits in the current system.

1) Cutting Edge - Rolling releases of Arch or Gentoo

2) Stable - Debian (Slow and Steady on the Main Release)

3) Cutting Edge and Stable - OpenSUSE (One I mostly use)

4) Ubuntu - Ubuntu (Not sure where to place it, since is its own thing now to me compared to the rest of Linux blazing its own whatever it wants to do)

I am hoping that Fedora isn't just the break things fast and often it has been for me in the past.

I still remember the frustrations of having a good Fedora that ran out of updates. I would skip to the current version and not be happy with my computer for months. Last version I have tried to use for my own personal use is Fedora 14 (Used it since Core through 14). Fedora was never my main distro and I always had hopes for it to work for me, but alas ...

<comment><USER17> I've been using Fedora pretty solidly since 20. I use it in a VM to get all of my "actual work" done and just use my host machine for email and web browsing. It's been pretty stable for me.

The main reason I use it is that our production environments run CentOS and I want to get used to upcoming features before they're included in mainline (systemd, firewalld, dnf, python3, iproute2, etc).

Fedora has actually gotten a lot better since around Fedora 19. If you haven't given it a shot in a while you might be pleasantly surprised.

<comment><USER18> Same for me, use it in a VM, etc. I've been doing this since 18 and have found it to be very stable. My only complaint would be Fedora 21 seemed like the filesystem was a bit slow. But I yum update pretty regularly and it seems good now. This is all anecdotal, just noticing startup times of the product I work on and other programs I use daily.

EDIT: I just remembered something important about my use and might be why that you say it wasn't good before 19. I use MATE mostly because 18's Gnome3 was really bad. I still don't like Gnome3 and stick with MATE. Gnome3 is just too slow for me and some of the workflows get in my way.

</comment></comment></comment><comment><USER18> I use Fedora for my day-to-day development and love it. 21 seemed a bit bad on performance initially, but I keep upgrading and it now feels about right. When I saw this, though, I thought "Isn't it a bit early? 21 just came out in December and they're on yearly releases." Then I read the link:

      Also with this release, we return to our traditional six-month cadence —
      we'll see you back here sometime around Halloween!

Nice. Guess I'll be upgrading soon!

</comment><comment><USER19> I really want to like Fedora but the short lifecycle is, at least for me, unsustainable. I wish there was something like Ubuntu's LTS releases.

<comment><USER20> What's the attraction of antique, buggy software which no one is maintaining?

If you're responsible for a power station, satellite etc. then OK, better the devil you know than the possibility of a destabilising bug among all the new features and bug fixes. But for your laptop?

Tip: use ansible to configure your personal machine. Once every six months you boot into the live media, install, reboot, run ansible, reboot, done. You'll spend more time boiling a kettle and drinking a beverage than fettling a new release, and no more time trying to hand install the latest version of package X on a 3 year old base OS.

<comment><USER21> could you point me to some ansible scripts that setup a fedora 22 desktop? Thanks!

<comment><USER22> [https://github.com/edgard/ansible-edgard](https://github.com/edgard/ansible- edgard)

This is what I use to configure my Fedora workstation. It also has a few roles for other stuff and might seem a little confusing at first, but it's a good starting point, I guess.

<comment><USER21> THANKS!

BTW here are some good ones for Debian / Ubuntu: [http://debops.org/](http://debops.org/)

</comment></comment></comment></comment></comment><comment><USER23> Tried Fedora 22 on my laptop - installed from the live image dd'ed to a USB stick

Gnome 3.16 looks well slick although those new scroll widgets take a bit of getting used to (middle click for drag-scroll), e.g. Terminal | Edit | Profile then try changing the terminal font.

Playing mp3 music: gstreamer1-plugins-ugly package not available in Fedora repository. RPMFusion repository does not seem to work at present, the /etc/yum.repos.d entries refer to rawhide as well as Fedora 22. So I just used an old copy of the Fluendo mp3 codecs from Centos 6 installed with rpm -i --nodeps. I find it strange that in the second decade of the 21st Century playing a music track should take a significant amount of tweaking. Just works on Debian, who are _very_ careful about licensing.

NTFS format external hard drive: ntfs-3g and fuse installed, but my (harmless) 500Gb external drive does not automount. Entry present in dmesg but can't see it in Files.

'Software' application reports failure to install just about every package, command line install using '# dnf install foobar' works much better.

</comment><comment><USER24> Off-topic, but does anyone know what laptop is shown in this image on Fedora's site?

[https://getfedora.org/static/images/workstation/workstation-...](https://getfedora.org/static/images/workstation/workstation- splash.jpg)

<comment><USER25> Looks like a Lenovo Thinkpad X1 Carbon, 2nd Generation based on the modifier keys.

<comment><USER26> I'm pretty sure that's a first generation, as there is no 'Fn' mod key on the left.

2nd gen has the 'Fn' key but still has the fingerprint reader on the right margin like the 1st gen. 2nd gen is also distinguished by having the split middle button on the trackpad.

3rd gen (the current one?) moves the fingerprint reader below instead of to the right from the keyboard.

</comment></comment></comment><comment><USER27> New Linux releases always remind me that I'm in the minority (??) for not giving a single ...care... about the desktop version of the OSes.

Mac OS is great for a workstation OS (better user experience, application support). Linux for me is very much a CLI-only experience.

Edit: I mean to say that I only use linux for servers, typically web servers. I personally have no use for linux desktops. In theory they'd be nice (Docker running natively on Mac would be a dream) but I need Photoshop/Word products and really do not need to deal with the random issues of Linux desktops (e.g. getting wifi to work, dealing with sound driver funkiness, getting drivers/off-brand productivity apps, etc)

<comment><USER12> > Linux for me is very much a CLI-only experience.

What's it like in 1999?

>really do not need to deal with the random issues of Linux desktops (e.g. getting wifi to work, dealing with sound driver funkiness, getting drivers/off-brand productivity apps

Personally I have bigger problems with Apple products. OS X has all sorts of random issues(and even worse driver support). People like to pretend like Apple products "just work" but the reality is that OS X is just as buggy (if not more so) as Linux. The fact that Apple curates the hardware for their devices and has their OS coupled tightly to their ecosystem means these problems are inexcusable, they only need to ensure the OS works on around 5 models but they can't even get that right:

Sound not working after upgrade on OS X:

      http://apple.stackexchange.com/questions/151045/why-is-the-audio-is-not-working-after-upgrading-to-yosemite

      http://www.iphonetopics.com/no-sound-after-upgrading-to-os-x-yosemite/

      https://discussions.apple.com/thread/6606695

[the list could go on]

Wifi not working in OS X:

      http://www.macrumors.com/2014/10/30/yosemite-wi-fi-connection-issues/

      http://osxdaily.com/2015/01/30/os-x-10-10-2-yosemite-wi-fi-problems/

      http://fieldguide.gizmodo.com/the-worst-bugs-in-os-x-yosemite-and-how-to-fix-them-1652690924

[the list could go on]

Upgrade disasters:

      http://www.macworld.com/article/2837811/bugs-and-fixes-solving-a-yosemite-post-install-disaster.html

      http://apple.stackexchange.com/questions/161368/mac-os-x-yosemite-broke-my-imac

There are over 500 Ubuntu Certified PCs whereas there are ~5 current Apple models.

It's astonishing that apple users go out of their way to buy specific hardware just to get OS X up and running but refuse to do the same thing for other OS's, then go and claim that OS X "just works". I assume most apple users attempt to install Linux on their macbook only to find that Apple has made this process extremely hard and deliberately chosen hardware that uses closed source drivers that are hard to get on other operating systems, then they blame Linux.

Imagine if the situation was turned around and you were trying to install OS X on your Ubuntu Certified PC. Would it still "just work"? I'd wager installing OS X on anything that isn't a mac is a bigger headache than installing any other OS anywhere.

It would be like me building a custom computer, creating my own OS that only works on that computer, and then claiming my OS is good because it "just works" on my one specific machine.

OS X has the worst hardware support of any OS. You can get better hardware support and a computer/OS that "just works" by taking the time and energy you took to buy a PC specifically made to run OS X and use it to buy a PC specifically made to run Linux.

<comment><USER28> Not everyone uses or needs a desktop on a OS. Personally I think anyone that installs a GUI on a server obviously doesn't know what they are doing.</comment></comment></comment>


Outraged by the Google Diversity Memo? I Want You to Think About It - <AUTHOR> http://nautil.us/blog/outraged-by-the-google-diversity-memo-i-want-you-to-think-about-it <comment><USER2> This is a dupe of [https://news.ycombinator.com/item?id=14976028](https://news.ycombinator.com/item?id=14976028).

</comment><comment><USER3> I disagree. Debating this memo is like debating about crime statistics every time a black person gets shot by the cops. There are people that understand the role social forces play in inequality, and there are those that don't know and don't want to know. In the past 4 years, through Black Lives Matter and GamerGate, I've never seen anyone's opinion changed through debate. There's no bridging the two sides. I think it's genetic or something ¯\\_(ツ)_/¯

<comment><USER4> I've thought this EXACT thing and told friends privately the same. I thought it too incendiary to draw a parallel here though.

Also, the article seems to think missing out some weak-ass graph and a link to wikipedia as irrefutable proof that this guy knows what he's talking about and everyone is out to misconstrue his words. Nope.

I'll tell you some bias he makes no mention of. The bias of having Disney princess for girls before they're born. Of being bought pink and told they're pretty not clever. Then getting dolls as presents instead of practical problem solving toys. The shoes and clothes bought that aren't practical for climbing trees or exploring. Then watching every Hollywood film about men while pathetic women characters look savvy and get "rescued" like the fairytales they were told when they were little.

After all this, even if the adverts of scantily clad girls in both boys and girls magazines haven't dissuaded them a career in science. Perhaps they study and perhaps they do so well as to get a job at google. Where they will be surrounded by a good many male asshole engineers (it's likely because I'm a male software guy and have seen no shortage). They persist anyway. Then some male privileged white lad who's a Princeton graduate pops up and says they're neurotic. Wants to talk bias in an open way? Nope

He's missed the point. He wants to talk about the very few who've travelled that unlikely journey made all they way to Google despite the obvious barriers that were in place before they were born.

<comment><USER5> > Also, the article seems to think missing out some weak-ass graph and a link > to wikipedia as irrefutable proof that this guy knows what he's talking > about and everyone is out to misconstrue his words. Nope.

You do realise that this is what people making the opposite arguments do, right?

> I'll tell you some bias he makes no mention of. The bias of having Disney > princess for girls before they're born. Of being bought pink and told > they're pretty not clever. Then getting dolls as presents instead of > practical problem solving toys. The shoes and clothes bought that aren't > practical for climbing trees or exploring. Then watching every Hollywood > film about men while pathetic women characters look savvy and get "rescued" > like the fairytales they were told when they were little.

What about times before TV existed? what about countries where computers and games weren't marketed?

> After all this, even if the adverts of scantily clad girls in both boys and > girls magazines haven't dissuaded them a career in science. Perhaps they > study and perhaps they do so well as to get a job at google. Where they will > be surrounded by a good many male asshole engineers (it's likely because I'm > a male software guy and have seen no shortage). They persist anyway.

Most software engineers where nerds and there was a huge societal pressure against nerds, that didn't stop nerdy boys from doing what the want to do.

> Then some male privileged white lad

If it's a poor black women from the ghetto making the same argument, does it make the argument better?

> Wants to talk bias in an open way? Nope

If you dare say that: it's not only women that have issues in life or that we don't live in a patriarchy, people label you as fascist, sexist, racist etc. Want to talk about double standards in an open way? Nope.

> He's missed the point. He wants to talk about the very few who've travelled > that unlikely journey made all they way to Google despite the obvious > barriers that were in place before they were born.

Are you implying that only women have barriers?

</comment></comment></comment><comment><USER6> >But however imperfect his attempt, he was fired, in short, for thinking on his own.

I agree with this sentiment. I also agree that google had a right to fire him for it. There was a time when I thought that google wasn't the kind of company to fire people for their ideas. Now I know otherwise.

</comment><comment><USER7> I thought the sentiment of the memo was already basically laid out here: [https://www.amazon.com/Men-are-Mars-Women- Venus/dp/006123205...](https://www.amazon.com/Men-are-Mars-Women- Venus/dp/006123205X)

<comment><USER8> The best essay I've seen on the subject is here: [http://slatestarcodex.com/2017/08/07/contra-grant-on- exagger...](http://slatestarcodex.com/2017/08/07/contra-grant-on-exaggerated- differences/) it's a lot better than the original memo.

</comment></comment><comment><USER9> Fuel to the fire...

Here's a neuroscientist explaining to Google the congenital differences between the female and male brains:

[https://www.youtube.com/watch?v=Lu_uGr1ZOn4](https://www.youtube.com/watch?v=Lu_uGr1ZOn4)

</comment><comment> rising-sky [http://www.bbc.com/capital/story/20170811-what-google- engine...](http://www.bbc.com/capital/story/20170811-what-google-engineer- james-damore-got-wrong)

</comment><comment><USER10> _The one that says one shouldn't expect employees in all professions to reflect the demographics of the whole population?_

That doesn't outrage me but then that isn't what the memo said.

</comment><comment><USER11> As this guy's ongoing reaction verifies (His twitter handle is "@fired4truth"), a manifesto is a "here's why I'm right" rather than a "let's talk about this." This guy has no intention of having an open dialogue.

Trying to circulate a 10-page manifesto explaining how management doesn't understand what they're doing is going to get you fired just about anywhere.</comment>


Ask HN: Have you used 24/7 Virtual Agents? - <AUTHOR>

Have you used virtual agents for 24/7 support? Can they be trained to use any software? What was your experience like? Any recommendations? <comment><USER2> Are you talking about outsourcing?

In general, it's okay for a few things. If you can gather a script that is exactly as your customers will ask the questions, that's good.

What isn't good is when they get a question that they cannot act on. Your customers will hate this, and you'll also be causing your support agents (even if they're outsourced, they are people too) a lot of stress.</comment>


Show HN: InstaBridges – Get introduced to an awesome designer in less than 3h - <AUTHOR> http://i.imgur.com/mHGgJ1N.jpg?hn <comment><USER2> Even if you were to give me a top 10 designer right now, we'd still have to interview them to see if their art direction is something that fits into our overall scheme. Or to find out if they

</comment><comment><USER3> I hate elance. This could come in handy.

</comment><comment><USER4> Needs a website imo</comment>


When does a human cross the threshold to become a bot? - <AUTHOR> https://medium.com/@bwagy/anatomy-of-bots-a-real-life-use-case-b381d0d63e16 <comment><USER2> > We measure up to 48 data points when people read or watch content, to > understand how it is consumed and provide insight from that.

I wonder what data points those are, and whether that's GDPR compliant. I assume they have a pretty solid fingerprint with that much data.

It's a valid point, however. Incentivized traffic has always been full of bots, unless you add tough verification steps (aka captcha, answer questions about the content etc) at which point you'll have to pay a lot more for people to jump through your hoops.

<comment><AUTHOR> Fully GDPR compliant, we're looking at behavior rather than personal data. We've been on the front foot there - also why we are advocates of content - win/win without the need for intrusive data usage. More on our site..

And that is the messy part, finding the good from the bad - and is worth solving that issue. That's the wider point, this type of, or framework of problem is going to be more and more prominent.

<comment><USER2> Thanks for the reply! Isn't enough data about behavior (scrolling speed, typing speed, mouse movements etc) enough to identify an individual, especially when it's combined with something like Browser version? I'd assume those don't change much across sites, i.e. Alice behaves similarly when reading reviews for a new phone or reading the local news.

Height, weight, hair color and year of birth aren't PII, but if you combine them, you're getting pretty close to identifying individuals, it's a behavioral finger print - and though I have no idea if it holds true in general, I'd assume that there's even a strong transfer across devices (a power user scrolls faster on both mobile and desktop).

Is there a way to really solve it? It seems to me that all you actually can do is up the ante, make it harder to do, but with full browser control, it'll be hard to lock them out. And if I'm looking at the behavior of users on my site, I can probably build pretty good replay users that visit the site you're protecting. I remember the "attack" on IRC channels back in the day where you'd join a bunch of bot users that would then have a conversation that is replayed from another channel (possibly in a different language), so timing, interaction etc looked very real (though they may seem a bit rude for not reacting to other people).

<comment><AUTHOR> In some rare cases it might be, i.e. if you had an obscure browser version or browser. But scroll across sessions you wouldn't be able to so in general I'd say no. We've also architected the system such that you can't do that. Clients get end processed data showing how people have consumed content. Further, utilizing things like first party cookies tied to the domain.

We put it through the lens of, what helps clients understand the value of content and if people are actually enjoying it.

In terms of solutions, there is a few - profiling real users, using benchmarks of the outputs to real actions (i.e. people reading content tend to do this after) help a lot. As well as measuring in the first place. A surprising number of people still don't measure adequately.

A soft solution is simplifying the supply chain, keeping it transparent. Accountability drops the further you are from the end customer.

Something I maybe missed in this post, is the cost of this. This is real tangible cost, and we have seen cases over time in the millions of dollars. That's money robbed from creating a free and open internet. Advertising provides a significant subsidy for the eco-system.

</comment></comment></comment></comment><comment><USER3> This is a bit weak/clickbaity, it basically is "we got weird traffic" and TLDR its some people with macros and a couple browser windows... Its not "bots are posting fake news" its more like "they're real fake clicks on ads"...

<comment><AUTHOR> It's a bit more than that if you give it a full read...</comment></comment>


How we achieve growth by ignoring conventional startup advice - <AUTHOR> https://medium.com/swlh/how-we-achieve-65-yoy-growth-by-ignoring-conventional-startup-advice-24a3eef619c1 <comment><USER2> The stuff listed as conventional advice, I've never seen anywhere. Mixpanel, the biggest player in the space says just focus on a few key metrics.

>You should track "dozens of metrics" without fail.

>You should A/B test every variable.

The unconvential advice is exactly what you see on YC. Talk to customers.

>All of the not-so-sexy tasks I was focusing on — actually engaging customers, implementing feedback and building a library of educational content — were building momentum.

Legit thought I was gonna read something about how they never talked to customers, attended conferences and founder meet ups, made a shit product and struck it big.

<comment><USER3> > Legit thought I was gonna read something about how they never talked to > customers, attended conferences and founder meet ups

I can't tell, are you saying that attending conferences and founders meetups are conventional advice, or that the conventional advice is that they shouldn't be attended?

<comment><USER2> The conventional (or what I consider conventional as I see all the YC propaganda) advice is you shouldn't "play founder". There are hundreds of events that can jerk you off and make you feel like a star.

That said, conferences can be productive. There was a good talk during Startup School this year about going to a conference with a 100% booked meeting lineup and walked away with a bunch of deals. As well, peer groups can be very beneficial (that is very much what Startup School is). They might have been poor choices as proxies for "playing founder".

</comment></comment></comment><comment><USER4> Jokes on you if you're rolling your eyes as you open the article, as I was. It's actually very practical advice on marketing for any company into revenue.

I frequently revisit the idea that you are a sum of what you do. For companies that are products, you should be product-centric with your time and resources. For service businesses, probably more focused on process and the people behind it since they are your product. It's stressful dealing with the influx of pressure to be growth-hacky and growth-focused every day. It's a pretty gross environment in digital marketing right now, especially in SaaS and eCommerce, and it's no surprise that innovative or high quality companies discover the growth secrets: because they have great products!

Aside: I used to do more SEO and have used ahrefs a few times, more often using their competitors, but I still follow quite a few SEO's on Twitter and via email: they all _love_ ahrefs. Stellar product and about within the last 7 days I saw a huge Twitter thread about how helpful their latest feature release is. I would say they're living it.

</comment><comment><USER5> A refreshing take. On the surface it seems to be common sense (focus on product, talk to customer) but the real take away is to not get bogged down by metrics and a/b testing because you feel like its some mandatory part of success. It's okay to leave some of those things to the wayside if you dont feel like it's feasible for your situation. Given unlimited resources i'm sure the author would have people tracking more metrics and running more tests.

</comment><comment><USER6> Helps that Ahrefs has the clearest value proposition among all the other players in this space. Moz and SEMRush might be bigger but I can never tell what specific thing they truly excel at.

With Ahrefs, I know that they have a very good index and that's the key value proposition

</comment><comment><USER7> "All" the conventional wisdom would include a solid content marketing strategy.

Respectfully, I feel like you buried the lead on this one.

Please allow me to highlight the conventional wisdom you ARE following.

1)Nothing buries a bad product faster than good marketing (ahrefs is a great product)

2)Do one thing very well instead of chasing trends (great content marketing)

3)Create genuine value for your audience and they will generate value for you.

Great article, I just disagree with the premise.

<comment><USER8> >1)Nothing buries a bad product faster than good marketing (ahrefs is a great product)

I don't get this one, what do you mean exactly?

<comment><USER9> Well, great marketing gets a lot of people interested in your product. Create a high expectations + bad experience combo for a lot of potential customers, and now you got into a very bad position where even if you improve the product, you can't get people to try it out (because all/ most potential customers already did, and were sorely disappointed).

<comment><USER10> I think this is inaccurate. One, you can control your exposure while your product is crap. It's just unlikely you'll saturate your market before you can improve the product, if indeed your company is capable of improving the product.

Additionally, the downside isn't "customers won't use us bf they were burned". It just creates a bump for the sales process to overcome. It's an impediment to a sale, not a blocker.

Finally, before p/m fit, you need to be optimizing for learning over all else. More customers, even if they have a bad experience, brings more feedback. Also, you will have an asset - email list - of people who have signed up because you're solving a problem they have curiousity / interest in.

Look at mongo. They're now pretty successful by most evaluations, and they did this exact thing. Outside of Hn, very few remember how they over promised and under delivered.

</comment></comment></comment></comment><comment><USER11> I am not sure about the feature discussion on slack. Too much chatter happens in slack and important information can totally get lost. Even in the listed conversation one is asking didn't we discuss about it.

I think the proper place for these sort of brain storming is via a feature request task entry in your project management tool. This helps to properly focus and not lose track of it. I think too much of slack chatter is detrimental to productivity.

<comment><USER12> Maybe this performs that prioritization in an adhoc way. If it keeps coming up, then he'll notice and push it harder. Otherwise if he could forget about it it's not worth thinking about.

</comment></comment><comment><USER13> Surprised to see a search marketing firm using Medium for its blog. Most of the feedback on HN is that you shouldn't do this. Why do you stick with Medium?

<comment><USER5> My guess would be that they have so much SEO juice, that losing some traffic to Medium for their blog doesn't matter. Their core audience is probably immersed by the time they read their content, and in addition to their strong reputation/WoM where they host their blog is a non issue. Maybe they also believe a lot of savvy people searching SEO content arent googling and picking up the same blogspam that exists when you search these types of topics.

</comment></comment><comment><USER14> I love how on HackerNews posts, the top two comments are always two diametrically opposed takes on the same article.

<comment><USER15> Might be a sign that we're not in an epistemic bubble, which would be good!</comment></comment>


If the Rubik's Cube were invented today, would anyone care? - <AUTHOR>

Now that computers are commonplace, physical novelties such as this are perhaps not that interesting.  Moreover, today's games involve complex and accurate depiction of the real world, not simple abstract games.<p>Would the Rubik's Cube succeed if it were invented today? <comment><USER2> Most certainly. That thing is still "reinvented" these days. Different shapes, difficulties, lights, all kind of variations. If the Computer-age would have made it uninteresting why are still so many of Rubik cubes produced these days?

e.g. see here

<http://www.toytalk.co.uk/2006/03/eye_on_the_past.html>

\- Huge sales in Books and other related materials

\- IPhone cheating application e.g. downloaded 30k+ <http://efaller.com/blog/2009/02/13/15-minutes-of-fame/>

aso.

</comment><comment><USER3> Probably it would still be popular, tho maybe not as much of a hit. Physical toys and puzzles are still pretty popular among non-gamers. And some pretty technical people still enjoy playing with this kind of puzzle: during undergrad I noticed that Rubik's cube was always popular with the mechanical engineers, physicists, etc. This kind of tactile problem-solving can also be a lot more instinctively satisfying than achieving the goal of a video game.

</comment><comment><USER4> Puzzles such as those produced by ThinkFun seem to be doing just fine. Those are a little easier than Rubik's Cube, but IMO this is a good thing - I've known very few people who were actually able to noodle out the cube from scratch. Speaking for myself, who admittedly isn't the target demographic of your question, I still love physical puzzles, and don't play any other solo games (neither computer nor complex realistic physical games).

</comment><comment><USER5> I don't think I ever once had the patience to solve a cube that someone handed me. The puzzle just never interested me, much like a 15-puzzle fails to interest me. But I certainly spent lots of time playing with the mechanism itself, trying to divine how it was built.

So to answer your question I'd have still bought one today if I'd never seen it before, computer games notwithstanding. It remains a clever hack.

</comment><comment><USER6> no way.

i'm selling gadgets & gizmos and another smart stuff (thinkgeek like), people is not interested anymore in something which is not digital (except laser sabers)</comment>


EFF: The Entertainment Industry's Dystopia of the Future - <AUTHOR> http://www.eff.org/deeplinks/2010/04/entertainment-industrys-dystopia-future <comment><USER2> Software piracy strikes me as something most appropriately cast as a civil offense. Like physical theft, it allows the 'thief' to freely obtain something they would not otherwise have had without paying. But with physical theft, there is a risk of physical violence or damage. With piracy, there is not. So, while I can understand certain aspects of a physical theft to incur criminal charges, I think piracy is less deserving of a criminal label. Without trying to make a judgment about the pros and cons of piracy for an industry (because there appear to be both), I simply want to suggest that music piracy is very low on the list of things that I want my government to be involved in.

The RIAA/MPAA are co-opting the government into spending taxpayer dollars to enforce the recording industry's licensing policies. It's a crafty but regressive strategy that seems unlikely to be successful in the long term.

</comment><comment> j-g-faustus "The planned release of a blockbuster motion picture should be acknowledged as an event that attracts the focused efforts of copyright thieves... Enforcement agencies (notably within DOJ and DHS) should plan a similarly focused preventive and responsive strategy. An interagency task force should work with industry to ... react swiftly with enforcement actions where necessary."

Looks like the movie and music industry thinks that file sharing is a threat to society along the lines of terrorism.

<comment><USER3> IIRC, one of their talking points a few years back was that piracy funds terrorism. They're just trying to get to the root of the problem.

</comment></comment><comment><USER4> Making outlandish requests in order to get a better deal is an old practice but even with that taken into account this is ... disturbing. I'd rather live in a world with no commercial content at all.

<comment><USER5> Then don't buy anything from any RIAA/MPAA company, and persuade all your friends that doing so is unethical.

</comment></comment><comment><USER6> It would seem to me, that to the hollywood mind, nothing would seem more outrageous and more insane than letting go of control over the distribution mechanism of movies and media.

However, it would seem that moviemakers who embrace no control would be a greater threat than the renegade filesharers.

They would probably already found a business model that embrace p2p. All it take is for a ruthless media entrepreneur to wreck creative destruction over the existing order of Hollywood.

<comment><USER7> I'm trying to brainstorm what a model that embraced p2p would look like in the context of the movie industry. For music, it means concert ticket prices have gone way up. To some extent, I think the same effect can be seen in movie ticket prices (though production budgets have skyrocketed for blockbuster movies over time and this also affects movie ticket prices). I paid $17 to go see Avatar in IMAX!

I think the music industry can get by w/ higher and higher concert prices because each concert/venue is a separate,unique product and people don't mind paying for a band they really like. In the movie industry, although there is a small subset of moviegoers who will go see the same movie 6 times in the theater, the product is completely consistent through each viewing so after a certain point of price hikes, I think less and less people will attend movies in the theater.

</comment></comment><comment><USER8> Can I see the EFF's Utopia of the Future for comparison?

<comment><USER9> The eff wrote an essay on how to deal with music piracy.

They basically said that although artists need to be fairly compensated that piracy is not going to disappear. They also think that government interference should be minimized and that fans will always be better at distribution.

Their suggestion is voluntary collective licensing. Basically artists join licensing organizations and fans pay money to the organization to get the right to legally download music. Artists don't have to join, but non-member artists would be faced with the tough task of collecting money from infringing fans.

They also suggest compulsory licensing for property that owners refuse to license at any cost. They note that the government has done this in other cases. Compulsory licensing was enforced with radio, internet radio, cable/satellite tv, and player pianos.

Links:

[http://www.eff.org/wp/better-way-forward-voluntary- collectiv...](http://www.eff.org/wp/better-way-forward-voluntary-collective- licensing-music-file-sharing)

<http://www.eff.org/pages/making-p2p-legal>

Overall the suggestions seem reasonable from my point of view.</comment></comment>


Ask HN: Handling NoScript on Your Web Site - <AUTHOR>

So, how do you handle NoScript users on your site if you utilize such functions for required operations on the site?  I was thinking about having a redirect that only works if JavaScript is enabled and giving people a warning they need to enable it if they stay at that page, but is there any better method of handling these situations?  Are there so many people using NoScript (such as myself) that I should consider it a concern? <comment><USER2> is the noscript tag not good enough?</comment>


Regular Expression That Checks If a Number Is Prime (2016) - <AUTHOR> https://iluxonchik.github.io/regular-expression-check-if-number-is-prime/ <comment><AUTHOR> A python implementation of is_prime(n):

      return re.compile(r'^1?$|^(11+)\1+$').match('1' * n) is None</comment>


For AI to thrive, it must explain itself - <AUTHOR> https://www.economist.com/news/science-and-technology/21737018-if-it-cannot-who-will-trust-it-artificial-intelligence-thrive-it-must <comment><USER2> I think most people agree in the deep learning community that ways to understand NN's are useful, if for nothing other than debugging, but I don't think the community agrees at all over whether explainability is _necessary_ to use it.

In many cases, it depends on the context. For self driving cars, most companies only use neural networks for components of the cars and an explainable algorithm on top of that that interprets data from the components. If there was a crash, they can tie it down to "the neural network parsing the LIDAR did not classify the stop sign correctly, so the driving algorithm did not stop" without needing much interpretability of the neural network directly. If it's an end-to-end system, such as the nvidia car which connects the camera inputs directly to a wheel output, then explainability of that network is much more important.

There was a poll I saw on twitter a while ago (can't seem to find now) that had asked if users would prefer to be treated by an AI doctor with low explainability but 99% accuracy, or high explainability but only 70% accuracy. I think context is key here as well. If the expert doctor working in tandem with the explainable system is better than the non-explainable system, you'd want the explainable system. But if the non-explainable system is better even than experts, I think most people would want the non-explainable system.

<comment><USER3> >But if the non-explainable system is better even than experts, I think most people would want the non-explainable system.

Maybe? You'd have to convince me in areas as medicine. Why are you recommending this treatment path? "Dunno. The computers says so."

Mind you, the doctor may well not in reality have a lot more solid basis for his recommendation. But at least there's the appearance of logical justification.

<comment><USER2> Is that because you care about verifiability though, or actually interpretability? If the system provides you a diagnosis without context, but later can be confirmed by actually testing for that condition, do you still refuse treatment because you don't know how the original diagnosis was suggested?

<comment><USER3> Oh, if it's a recommendation for running some tests, I can't imagine much pushback unless they're particularly invasive or expensive. It's not like doctors don't order large panels of tests at the drop of a hat.

If you then have treatment based on those tests, that's really a doctor being assisted by an AI at that point.

</comment></comment></comment></comment><comment><USER4> Some people are missing the point.

> "In particular, machine minds that cannot explain themselves, or whose > detailed operation is beyond the realm of human language, pose a problem for > criminal law."

It doesn't says that the AI is NOT useful, but that it can't be used for the liability that it creates.

> "Dr Datta feeds the system under test a range of input data and examines its > output for dodgy, potentially harmful or discriminatory results." ... " If > the randomisation of sex produces no change in the number of women offered > jobs by the AI, but randomising weightlifting ability increases it (because > some women now appear to have "male"abilities to lift weights), then it is > clear that weightlifting ability itself, not an applicant's sex, is > affecting the hiring process."

This is the most interesting part of the article. As it shows that it's possible to test the system for unlawful decisions without actually understanding how it thinks.

<comment><USER5> Here's another example: an AI, perhaps in a self-driving car, did something that caused harm to people and got the manufacturer hauled into court, and the judge issues a court order to "make it stop doing that."

How can the manufacturer comply, if they don't understand why the AI makes that decision, and how to change its decision-making process? This isn't just about accountability, it's also about the manufacturers' inability to control the behavior of a black-box AI system.

If the manufacturer explains to the judge that they don't _really_ know what's going on inside the AI, the judge won't be inclined to cut them a break.

<comment><USER6> On the other hand, can you actually make a human not repeat given action? Or explain it?

</comment></comment></comment><comment><USER7> I'd like to simply know "how good is AI right now" at any given time. This information seems largely hidden.

For example, can any AI expert tell me: what is the exact date when Target corporation crossed the threshold of being able to face match 20% of its customers across different stores with 20% accuracy? How about 50% (for both of the different numbers, to keep it simple). How about 80%? 90%?

That's just one example. If you're tempted to reply with insights about face recognition, that's not the point. The point is more that these numbers for ANY real world AI task (not just face recognition) are generally not shared, much less explained in the real world, even if would be possible to do so in an academic setting.

<comment><USER8> These are published in papers, but for real-world products, they're competitive advantage. Why should we share them with anyone other than our customers?

<comment><USER7> Data for very specific narrow tasks like face recognition is published. How the capabilities are combined in a special sauce, not so much.

So yeah, going off what you said, all these people saying "don't worry, nothing to worry about with AI" haven't the slightest clue what AI is up to outside of whatever bubble they are in.

</comment></comment></comment><comment><USER9> >This means that even the designer of a neural network cannot know, once that network has been trained, exactly how it is doing what it does.

This is just false. The reason neural networks seem so mysterious is because in a fully connected neural network a large portion of the interactions (non zero w_ij in the weight matrix) are completely spurious. We look at the fully connected network topology and we throw our hands up. We can apply algorithms to trim out the spurious weights and what we're left with is a logical circuit that we can analyze. Show an electrical engineer the circuit diagram of a 3 bit added and she'll know exactly the function. Add a bunch of spurious circuits to that same diagram and of course it's not going to make sense.

<comment><USER10> If those elements of the graph are "spurious", why not remove them from the very beginning? Or, should I say, not have them there?

<comment><USER11> Because we dont know which ones are spurious and the parent is pretty optimistic about the idea of being able to analyize which ones are/are not.

<comment><USER9> We only know which ones are spurious if we run the trimming algorithms. I wrote a paper about 10 years ago showing how to use generic algorithms on the weight matrix to remove spurious interactions.

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

<comment><USER10> Do we know which ones are absolutely spurious? Or do we just know which ones are spurious with respect to a particular result that we got?

Like for this image of Grandma, these cells are recognizing it, so the others are spurious. Oops, for this other image of Grandma, a different subset are recognizing it.

If, say, the same 90% of the structure is not involved in recognizing any instances, then why wouldn't we have made the whole thing 10X smaller in the first place and trained that much smaller network? Or why don't we make it 10X smaller now? Trim away the dead weight and make it lighter and faster.

<comment><USER9> That's what the genetic algorithm is for. You essentially add a entropy function that trims connections. If the performance is neutral or improves then the leaner network topology is subject to positive selection in a population.

</comment></comment></comment></comment></comment></comment><comment><USER12> Great article. I found a library that works with Keras last weekend; it shows which input features most strongly contribute to classifications. My little experiment: [http://blog.markwatson.com/2018/02/trying-out-integrated- var...](http://blog.markwatson.com/2018/02/trying-out-integrated-variants- library.html)

</comment><comment><USER13> Just as with self-driving cars, you have to look at the counterfactual. We don't have an interpretable audit trail for the decisions made by human employees either.

So under the status quo, what happens in the case of an aberrant or problematic decision and how does society cope with this lack of interpretability?

We try to piece together a plausible, retrospective narrative by looking at fact patterns and taking into account the education, experience, actions, explanations, and rationalizations of other humans. (Trusting these accounts is further complicated by human traits such as self-interest, emotion, and cognitive biases.)

There exist entire professional specialties devoted to this problem (litigation, internal investigations, police detectives, accident boards) who spend a lot of time on this. Even so, much of the time we still don't really know why exactly people made the decisions they did.

This inconvenient fact does not stop us from employing humans, and society has not collapsed under the weight of the liability issues.

</comment><comment><USER14> It would be an interesting breakthrough if Alpha Go could explain its reasoning for various plays.

Maybe one day we'll write a deep net that captions other deep nets. Who will build the supervised learning training set though?

<comment><USER15> Since alphago plays the game differently (optimizing on odds to win, even if by a little, instead of the human method which involves intuition about shapes), it may be that its explanation if it were programmed to provide one would not provide any human readable 'insight' which an expert could then take to improve his or her game. Imagine a simpler example, some optimization solution using multiple dimensions and linear algebra. A description of how this works would be unreadable to most people. Since most readable language operates in the world of at most four dimensions without introducing jargon, this is the real problem, not that the program cannot explain itself.

<comment><USER16> At the higher level it isn't just shapes. The human player uses the shapes the help estimate the future value of any group of stones. They are running a priority queue of likelihood's for each part of the board. When they resign that probability has dropped to zero.

If you've played against a dan player a few times, you might have had the experience of them ignoring a move you made and play elsewhere. That's what happened. It's also probably the moment you lost the game...

<comment><USER15> I've played against dan players who describe this decision (tenuki, like the tenuki suit in mario, or "to deceptively play elsewhere") as mainly an intuition about "balance" which they somewhat vaguely describe as deciding that although the shape may not be good, the context of the shape is balanced, so it is OK to leave it be. According to Michael Redmond's commentary during the alphago matches (paraphrasing) often times the ability to calculate value is one of the last skills professionals actually master, far behind the concepts of shape and balance, and even among them some rely more on that skill than others. Lee Sedol, as an example, is relatively weak in this regard, Lee Chang-ho, on the other hand, seemed to be a prodigy just at this skill alone, allowing him to play a style which otherwise most observers called 'rigid'. So it is in fact common to find relatively high level amateur players who aren't good at calculating value.

</comment></comment></comment></comment><comment> shady-lady Random amount of nodes with random connections assigned random weightings until something works best.

Not so sure it's possible for anyone to seriously claim to be able to explain the inner workings.

Biggest problem with these I can see is that there is more than one way to arrive at the given answer.

Simplistic analogy, let's say the equivalent nodes were represented by the value 20. Was this number a result of 5 * 4, 4 * 5, 10 * 2, 10 + 10 etc..

Right now, it doesn't matter, we're all just happy that 20 is correct and works for our use case. Maybe that will be good enough but I doubt it.

</comment><comment><USER17> Counterpoint: explain, in detail, why you clicked the "comments" link on this post. What weights did you assign to all possible other actions you could have taken, and why, etc?

</comment><comment><USER18> There's a pretty cool paper that visualises the different layers in a ConvNet trained on ImageNet: [https://arxiv.org/pdf/1311.2901.pdf](https://arxiv.org/pdf/1311.2901.pdf) \- page 4 has the layer imagery.

</comment><comment><USER19> I don't think AI needs to be able to explain itself in order to be trusted. Human beings, in general, cannot give arbitrarily deep and valid explanations for their actions, and yet, somehow, we manage to come to trust them.

<comment><USER11> That's true, but in general humans are concerned about the consequences of their actions and are metacognitive about them, or at the very least can be punished for making the wrong choices, its an iterative corrective process.

How do you apply the same logic to a neural net? It has no comprehension of desirable outcomes, or what its choices actually entail and never can.

There is no way to tell a neural net that a human is not a signpost directly, so it knows in the future no humans are signposts. The only thing you can do is train it on a larger data set and hope it "gets it".

You can tell a human being that a human is not a signpost once, and they can abstract it to all situations.

<comment><USER20> Hell, you can't even tell them that a red octagon on a post with the letters S T O P on it is a stop sign.

</comment></comment></comment><comment><USER21> Historically, observation and even usage precede understanding. Like planetary motion.

NNs (don't call it "AI", it's just one approach) are simply in a pre- scientific phase.

As are our own brains.

</comment><comment><USER22> Sounds like robopsychologist might become a real job after all.

</comment><comment><USER23> Humans don't explain themselves particularly well, yet they thrive.

</comment><comment><USER24> '"the reason to give reasons is so that others will evaluate your actions and beliefs". Today's autonomous machines do not have their own interests to serve. Instead, their explanations are forged by and for human beings.'

This seems like the fundamental difference between AI and human intelligence at the moment. Our intelligence is based on our social prowess. We're always competing with, and exchanging ideas with our peers. AI should be modeled based on this.</comment>


Functional Programming at Facebook - <AUTHOR> http://www.scs.stanford.edu/16wi-cs240h/slides/fb-slides.html#(1) <comment><USER2> Well also WhatsApp handling 1B+ users with Erlang, and with (what used to be?) only a handful of engineers.

But somehow the Haskell, OCaml and Scala users never want to include Erlang when talking about "functional". Even though it is probably the most practically used functional language.

<comment><USER3> Because there's functional as in only using pure functions (Haskell, ocaml) and functional as in access to higher order functions (JavaScript, erlang, clojure)

<comment><USER4> > Because there's functional as in only using pure functions (Haskell, ocaml)

This is not true. Having written a good amount of OCaml I would argue that programming with side-effects in OCaml is extremely approachable - almost as much as Clojure. There are mutable data structures in the stdlib (Array, Hashtbl) and IO etc. is straightforward. Like Clojure, there exists a ref type which can be easily mutated. It's one of the reasons why OCaml strikes as an extremely pragmatic language to me.

<comment><USER5> I'd distinguish between (at least) three degrees of "purity":

(0) Absolutely anything goes. Examples: Racket (in the REPL), Lisp, Clojure, Scala, Erlang, etc.

(1) Values are immutable, but any computation might have any effect. Examples: Standard ML, OCaml (mostly), Racket (mostly).

(2) Values are immutable, and computations are type-annotated with their possible effects. Examples: Haskell, Idris, Ur/Web.

<comment><USER6> Pretty strange that you put Clojure in the "anything goes" category when it has been the clear leader when it comes to immutability. Lots of those languages you put in the other categories don't even have persistent data structures in their standard library.

<comment><USER5> Here is why: [http://pastebin.com/t3Q3CW4j](http://pastebin.com/t3Q3CW4j)

This is particularly infuriating because the proper way to handle bound variables is already known: [https://en.wikipedia.org/wiki/De_Bruijn_index](https://en.wikipedia.org/wiki/De_Bruijn_index) .

<comment><USER6> No one is maintaining state by constantly clobbering namespace level variables in Clojure, though. What actually comes into play are ways the language and standard library encourages passing data around and manipulating it, which in Clojure is as immutable as you'll find in any language.

<comment><USER5> Clojure encourages me to program in the REPL, because _there is no other way to know what is going on in such a semantically crazy language, other than trial and error_.

And the state of the Clojure REPL is as mutable and imperative as it gets, as my paste showed.

<comment><USER7> You can rebind variables in ghci, too. I certainly wouldn't say this is evidence that Haskell promotes mutable data.

<comment><USER5> > You can rebind variables in ghci

No, you can't: [http://pastebin.com/SdbKM7V7](http://pastebin.com/SdbKM7V7)

In ML and Haskell, a new variable might _shadow_ an old one (if they have the same name), but they are still different variables.

Shadowing is slightly harder to implement than rebinding, but it provides a useful guarantee for the user: the meaning of existing definitions remains stable even if new definitions are introduced into the environment.

<comment><USER7> You are correct. I failed to consider the implications of the different mechanics in the repl. I'm inclined to think the clojure repl is more conducive to experimenting. That is, you can change any part of your program to see what happens. I guess one programmer's sandbox is another programmer's hellish nightmare of mutability. For what it's worth, I would never redefine a var actual code, but I can't say it hasn't been done by others.

<comment><USER5> > I'm inclined to think the clojure repl is more conducive to experimenting.

I'm inclined to think the Clojure REPL is more conducive to _flailing around_. Now, this might sound like derision, but it isn't intended that way: Flailing around can be a very time-efficient way to familiarize oneself with an unknown domain, especially if the cost of making wrong design decisions is small.

But at some point one has to _consolidate_ what one already has, and, in my experience, Clojure makes this very difficult.

> I guess one programmer's sandbox is another programmer's hellish nightmare > of mutability.

If you absolutely want mutable definitions, you can have them in Haskell (with some noise) and ML (with no noise) too: [http://pastebin.com/00ScnFxC](http://pastebin.com/00ScnFxC) . So a Haskell or ML programmer always has at their disposal whatever they think is the best tool for the job.

Can I have it the other way around in Clojure?

<comment><USER7> > Flailing around

Haha, yes. This is how I feel about Matlab, actually. But I suppose Clojure is no different in this respect.

I much prefer the Haskell approach: make dangerous things hard to do. Unfortunately, a majority of programmers consider that to be "unpractical".

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> In the comparison between Flow & TypeScript, he mentioned Flow gets non- nullability right. Anyone have any example to illustrate this?

<comment><USER9> In Flow, `var a: string = null` would not typecheck. In Typescript it would.

</comment></comment><comment><USER10> I feel like linking someone to a slide deck is akin to telling them to go fuck themselves.

<comment><AUTHOR> OP here: Would you prefer to have an indication that the link target is a slidedeck or do you think slidedecks should not be linked to at all?

</comment></comment><comment><USER11> > Even though it is probably the most practically used functional language. > Scala have 30th place on Tiobe index, while Erlang have 42th: > [http://www.tiobe.com/index.php/tiobe_index](http://www.tiobe.com/index.php/tiobe_index).

<comment><USER12> Yes, but it is #14 Redmonk's rankings:

[https://redmonk.com/sogrady/2015/07/01/language- rankings-6-1...](https://redmonk.com/sogrady/2015/07/01/language- rankings-6-15/)

<comment><USER13> I'd venture to guess that once you start scanning github and to a lesser degree stackoverflow, the scale gets tipped away from the "enterprise applications" where Java reigns supreme.

</comment></comment></comment><comment><USER14> This from the people who brought us the 18,000 class iOS app?</comment>