Dry.io wants to democratize software development using AI - <AUTHOR> https://venturebeat.com/2019/02/26/dry-io-wants-to-democratize-software-development-using-ai/ <comment><USER2> Again? Can this end with anything other than failure? It'd be nice if it could, but that seems outside the realm of possibility.

Aside from this never having worked, and being, so far as we can all tell, incompatible with the level of fine-tuning to everything from the backend to the pixel positions of the UI that people want, there are very serious problems with the business model (or absence thereof)

Some telling snippets from the article:

"Everything you build on Dry.io right now is stuck there."

"Later on, we're going to be making on-premise stuff, so if you want to run it on a local server or something like that," Cassimatis promises. "But for now, yeah, stuck on our platform."

"Dry.io also has no business model, yet."

<comment><USER3> Hello. I am the founder of this company. I understand your skepticism. It's true that it is very difficult to build a fully general dev tool that's 1000x faster and lets you control everything entirely down the pixel level. We're not claiming that. We're claiming that for a broad range of software (esp., social, messaging, and collaborative software), we can make the development process orders of magnitude faster. You do lose some customization though.

There is precedent for something like this being possible and valuable. Mid-90s level web technology was very restrictive, but did make a whole class of online service much easier to build and deploy than what existed before that (CompuServe, etc.) You didn't have complete control over every aspect of display, networking, etc., but the loss in customization/control didn't prevent it from enabling a lot of very important and valuable projects.

<comment><USER2> I appreciate the reply and genuinely hope you succeed, but it seems like an uphill battle and a hard sell.

For a trivial CRUD app, the dev can just re-use one they already wrote, no need to learn this layer you've created ... and for a complex CRUD app or something more complicated than that, you're going to need to write real code anyway, so who is the customer?

Why would I as a Python, JavaScript, or Ruby webdev learn your layer, which is at risk of disappearing in a bankruptcy? What will my investment of developer hours look like in 2 years on your platform, if it's still around?

Is it basically only useful for web stuff?

<comment><USER4> I believe that you are not the target audience here.

Isn't the point of dry.io that a business analyst can replace a developer? :)

<comment><USER5> _Isn 't the point of dry.io that a business analyst can replace a developer? :)_

Only within the set of predefined functionality that can be specified in the dry.io JSON config file. If you want anything outside of that you'll still need a developer. I guess it's possible dry.io will have thousands of components that covers 90% of what each and every app does eventually, but until then most people who try it will bump up against it's limitations _very_ quickly. The hard part will be keeping them on the platform.

<comment><USER3> It's a reasonable concern.

Many apps we won't be able to handle at first can easily be handled by our approach with more work.

For some capabilities, we will have ways of filling gaps in the platform. We have some easy-to-use and fairly flexible hooks where you can add a lot of UI customization. We've also discussed mechanisms for catching events in dry and triggering external code developers can write. But that's almost certainly not going to make v1.

</comment></comment></comment></comment></comment></comment><comment><USER6> > Cassimatis believes that Dry.io doesn't have any competitors.

There is a huge category of providers that do this:

[https://www.gartner.com/doc/3695317/magic-quadrant- enterpris...](https://www.gartner.com/doc/3695317/magic-quadrant-enterprise- highproductivity-application)

[https://www.g2crowd.com/categories/low-code-development- plat...](https://www.g2crowd.com/categories/low-code-development-platforms)

I wish tech journalists would do their research.

<comment><USER7> There were definitely several broad claims made. Without seeing the platform though, within the context claimed, it's difficult to include the entire low- code industry, especially 80%+ of the logos included in the link you mentioned, being related to an AI driven coding platform, including Salesforce.

</comment></comment><comment><USER8> Cool, regardless of other commenters' advice, I think you should go forward with this. I run a dev shop and I have done this with Rails and boy, does it save you a lot of time (and thus, money). But, you should ensure there isn't a learning curve for your platform. It should be in a UI that's familiar to someone who is familiar with building their apps manually. Otherwise, it defeats the purpose. As for worrying about pixel perfect designs, don't worry about those, they're the easy part. The difficult part will be the parts that contain the majority of value for a business - the backend. Frontend is as simple us throwing in a nice UI framework and mixing and matching color themes. It is good enough and works well for _most_ clients. The ones that require pixel perfection probably aren't your target audience as it has a lot to do with the frontend than the backend.

Contrary to popular belief, there is a lot of money in this. I sincerely wish you luck and hope you succeed.

<comment><USER3> Thanks. I think that's right. There are a lot of use cases where super-precise UI control is not necessary. The early web and many blogging platforms are an example where you can get very far despite some limits on UI customization.

<comment><USER9> Slightly OT, but on my browser, dry.io is not on https. Big red flag for me. Chrome shows a 'Not Secure' tag for me, plus there is no favicon.

Small things but important. You might want to fix that

<comment><USER3> It's a good point. Our actual platform is all https. Our home page is just a static page. But you're right that it's bad optics for a platform intended to be privacy friendly to not be using https.

</comment></comment></comment></comment><comment><USER10> I'm trying to understand how this would actually work. A lot of app development for a mid-size CRUD app is around encoding business logic and handling edge cases.

Let's take a specific example. Say I'm writing a software to help manage weekly CSA (box of veggies) deliveries. Sometimes a driver will miss a delivery, and in that case, you want three options:

(1) Fully refund the customer for that week

(2) Let them another receive another delivery the next day

(3) Give them company credit

If (2) happens, the driver component needs to receive a notification for the next day delivery.

Is this in scope of dry.io? If it handles this kind of thing, how?

<comment><USER3> Yes. We have an event language where you basically can say "IF X happens do Y".

<comment><USER11> Sounds like normal programming...

</comment></comment></comment><comment><USER12> Where is the AI here? This is yet another line-of-business app generator. Others include Microsoft PowerApps, Microsoft Access back in the day, etc.

<comment><USER13> My point exactly, and furthermore, the whole UI looks very cumbersome. You still have to understand the software underneath in order to actually build the application itself.

<comment><USER14> Yes. I am wondering the same thing. We are currently working on NimbleHQ [1] which is an app that lets you build apps. And it is pretty cool. But it doesn't use AI.

Maybe we should say it does to get some press! :-)

[1] [https://www.nimblehq.com/](https://www.nimblehq.com/)

<comment><USER15> Hi, I am trying to sign up but I can't get it working on Firefox and Chrome[1]. Captcha Error [https://imgur.com/xMHx0xY](https://imgur.com/xMHx0xY)

<comment><USER14> Wow... that is embarrassing. Fixed.

I recently change the domain from nimblapps.com to nimblehq.com which I think is much better (but didn't get Recaptcha updated.

Would love any feedback you have. It is early but some cool ideas are in there.

<comment><USER15> I really like the concept and design. Haven't used it fully to grasp how it works yet, but I did find a few bugs at first glance. I can send you info by email if you'd like.

<comment><USER14> Thanks man...def send over any bugs or issues you find. Still needs lots of polish. The idea though is that you can define your data model and then have a simple CRUD interface to update your app. The vision is then to start iterating on making the views more and more customizable as well as start to introduce conditional workflows to support more true app like functionality.

<comment><USER14> You can respond to the email address you get the welcome email from after you sign up.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> In what sense is this AI? You can of course call any computer technology AI in that it is "artificial" and "intelligent" but this looks a lot like a domain specific language for describing web apps and not anything that has to do with any sort of inference.

<comment><USER3> There is a partial answer to this in another thread, but here is a response to your specific point:

It depends what you mean by inference. In statistical machine learning and deep learning, inference means predicting things using large amounts of data. Philosophers call that inductive inference.

But there is also deductive inference. Given some general knowledge (e.g., "All men are mortal") and some facts ("Socrates is a man"), you infer other facts ("Socrates is Mortal"). There is a huge amount of work in AI that has developed algorithms that do very complex and powerful versions of this kind of inference. You can use those to infer from a brief description of what you want a computer to do what the sequence of actions the computer can take to achieve that goal. You can use these kinds of methods to generate software behavior without explicitly programming the behavior in advance.

</comment></comment><comment><USER17> I read the article but didn't watch the video but isn't this essentially code generation/metaprogramming that we already have? In rails you don't have to write a fraction of the code that actually runs because its generated for you.

Also the AI part is very worrying. To me this sounds like a programming language where no one exactly knows what the rules are and every update to the training model could break everything. Imagine trying to debug an issue when there is no documentation or any knowledge on what is going on.

<comment><USER18> Artificial intelligence is a superset of, not equivalent to statistical machine learning.

<comment><USER19> Ever since expert systems fizzled out and failed to deliver on their promise in the 80s, AI has been roughly equivalent to statistical machine learning and its applications. Everything else became just logic that needs statistical inference in order to work intelligently in a complex setting.

</comment></comment></comment><comment><USER20> I understand the use of AI is mandatory this days for any startups, but basically this is Microsoft Access 2019 if it was online. Access once solved the problem of creating small inhouse applications for departmental use. Since then a magnitude of online services offered the same solutions, so you don't need to create anything from scratch now.

I'm sure there is a market for Dry.io solution, just can't estimate how big it really is.

<comment><USER3> Like Access, we do aim to make development much easier, and in-house tools are an obvious first market. However, there are a lot of aspects of Dry (involving access permission, data tagging, moderation, and more) that aren't all together in any other platform. These make it easier to build social, collaborative, and messaging apps much more easily than other approaches.

</comment></comment><comment><USER21> Sounds somewhat like Meteorkitchen from reading that story. My feeling is that it will have very little to do with AI, but let's see.

<comment><USER3> From the developer's point of view, the AI should be invisible. We'd be very happy if people loved using the platform but where totally underwhelmed, indifferent, and/or unaware of the AI.

<comment><USER22> Can you speak to what "AI" means in this context?

<comment><USER3> AI is an element of this in a number of ways. First, though, this is not a platform for writing AI applications. It's a platform for making it faster to write messaging, social, collaborate, productivity, etc. apps much faster than.

One way AI factors in involves finding a core set of primitives that can describe all software functionality. Programming languages and web frameworks are more granular than Dry and so they require you to write a lot more code. Dry has a higher level of abstraction than concepts like arrays, servers, divs, database tables, etc.

On the other hand, Dry is not just a template system that gives you a predefined set of application types like messenger, social network, discussion group, etc. that you can just specify. That's a higher level of abstraction and can be fairly limiting and brittle.

Dry's abstractions are in at a level that is between those two extremes; it lets your write a lot of apps without needing to be too granular.

There is research in AI called "Knowledge Representation and Reasoning" that identifies fundamental primitives that can express a wide variety of concepts and ideas. I've been a researcher in this field my whole career and was a professor in that area once. We've translated those results into software and have used them to develop a core set of primitives that let you describe the behavior of a lot of software.

I know that is all vague, but we'll start to be more precise and concrete over the next few weeks.

</comment></comment></comment></comment><comment><USER23> You have a lot of buzzwords in that headline. I'm not planning to read TA because the buzzwords made my eyes glaze over.

No offense intended, but I thought someone might appreciate knowing.

<comment><USER3> So you wanted the headline to be more dry?

<comment><USER23> I'm just saying I might have read the article if the headline explained using fewer buzzwords.

[pithy word].io, democratize (that doesn't mean anything anymore), AI (everything is AI these days)

Without more descriptive words, it seems to mean simultaneously a whole lot and not very much.

<comment><USER3> This isn't a snarky response, but a sincere question: how would you have titled the article or expressed our mission? It's difficult to come up with something that's clear and captures our intent while also fitting into a single sentence. We'll take any help on that we can get.

<comment><USER23> This is less about the title/headline and more about the overall approach.

I think to gain any attention in today's environment, you're going to have to do more "showing" and less "telling".

Remember how Ruby On Rails got its amazing dev mindshare? I'd encourage you to hit archive.org and go back to like 2006 at rubyonrails.org. They had a compelling demo that was just a simple screen share, but it blew people's minds. Their headlines and body copy were also excellent.

EDIT: a couple of links:

[https://web.archive.org/web/20060609235209/http://www.rubyon...](https://web.archive.org/web/20060609235209/http://www.rubyonrails.org/)

[https://web.archive.org/web/20060612063620/http://www.rubyon...](https://web.archive.org/web/20060612063620/http://www.rubyonrails.org/screencasts)

<comment><USER23> Here's a link to the original screencast, if you can get it to load: [http://media.rubyonrails.org/video/rails_take2_with_sound.mo...](http://media.rubyonrails.org/video/rails_take2_with_sound.mov)

If that doesn't work, perhaps you can find a mirror somewhere with that link.

EDIT: Found a copy on Vimeo: [https://vimeo.com/41708568](https://vimeo.com/41708568)

</comment></comment></comment></comment></comment></comment><comment><USER24> There are a couple points to be made on this.

1\. This is less of a "AI" issue, more of a UI/UX for specialized tools issue. Dreamweaver comes to mind especially; the moment you are trying to get something that can be flexible and accommodate different needs it is mostly about learning the tools. Often, the result is that learning the tool itself is almost harder than learning to code.

2\. Any code that you generate via AI will most probably be crap. A huge part of coding is making it understandable and easy to touch later on; how can you do this without AI that has a proper understanding of the worlds (probably on the level of a AGI).

</comment><comment><USER25> Is the generated code readable?

<comment><USER3> No. The point is to never have to look at, modify, or understand the underlying code. So, in this sense, it's not a typical code generation tool where if you want to tweak something you need to do a lot of work to find the right place in the code.

</comment></comment><comment><USER26> An interesting difference between this and "traditional compilers" is that since it's targeted to user-facing applications and the output is intentionally hands-off, there are incentives for dry to subvert developers. Imagine inserting unrequested ads or silently reselling end-user analytics for extra money. The developer might never even know, let alone be able to fix it.

<comment><USER3> Yes, any company that's serving a lot of web pages would be tempted to put ads on their pages. As the article and our website state, we are doing several things to preserve people's privacy. If we do ever serve ads, you and others can help us find a way to be super-transparent about it.

<comment><USER19> That is, until the VCs take over or it goes to private equity, and the new stockholders say it's much easier to monetize if you're super-opaque about it.

</comment></comment></comment><comment><USER27> Despite the (predictable) skepticism, there are some real enterprise use-cases for something like this being served by similar "self-serve" tools. I'd be willing to take a look.

<comment><USER3> I'd be happy to hear more about these use cases you have in mind, either here or over email.

</comment></comment><comment><USER28> Where is the AI ? I thought it would be some tool which uses program synthesis.</comment>


Death To The Embargo - <AUTHOR> http://www.techcrunch.com/2008/12/17/death-to-the-embargo/ <comment><USER2> For me, this is another reason why I feel like TC is dying. Posts seem to be getting more and more negative (lay-offs, this, etc), less about start-ups, and simply turning into a personal rant platform. Not sure if this is the reason, but something is causing traffic to slip over the past few months.

<http://siteanalytics.compete.com/techcrunch.com/?metric=uv>

Anyway, if I were to launch something, I would not prefer to have my product story nestled between a piece about Yahoo layoffs, and a rant about PR (sorry AllFacebook, in this case).

<comment><USER3> This is blog trend, not TC thing. [http://siteanalytics.compete.com/techcrunch.com+readwriteweb...](http://siteanalytics.compete.com/techcrunch.com+readwriteweb.com+gigaom.com/?metric=uv)

<comment><USER4> Startups are just getting less interesting. Blogs in general would not be down, as they are a cheaper form of entertainment, which should be on the rise in a bad economy.

<comment><USER5> everything interesting has been done to death. Now the only innovation(and I don't mean ____ + ____ mashup) will come from companies with a ton of money to spend on research.

<comment><USER6> pretty much a spin on "Everything that can be invented has been invented."

I don't believe it for a second. There will always be room for some kids in a garage to make a game-changing company.

<comment><USER5> everything that can be invented in the garage has been invented, now its getting to the point where any real technology needs a ton of R&D just to move forward

</comment></comment></comment></comment></comment></comment><comment><USER4> I've been annoyed by TC lately, but this step is something I applaud. Cutting out bullshit is always good in my book.

I remember CNet doing a story an year ago, complaining how they were screwed by blogs that didn't honor embargoes. Big news outlets break those, too (ABC did, for example). And nobody really wins from an embargo (except PR companies), so I don't see the hurt.

<comment><USER7> At first glance it seems like an good thing, but as Richard MacManus (ReadWriteWeb) points out in the comments, TC says they will still honor embargoes if they get the exclusive. This gives companies the incentive to give TC an exclusive.

<comment><USER8> Exactly. I also remember reading allegations (on news.yc, I think?) that TC has refused to run stories because they weren't contacted before their competitors.

The motive seems to be to give TC every possible advantage. Nothing inherently wrong with that, but I don't know if there's anything worth applauding.

Edit: just had a thought. If TC is going to (openly) start lying about respecting embargoes, what's to stop sources from lying about giving TC exclusivity?

<comment><USER7> If another site runs the story first then TC can choose not to run it themselves. And they can immediately reject any stories from a company that lied to them in the past.

Of course, companies and PR firms can choose to not bother with TC, but they're the 800 pound gorilla of the tech media. But would four 200 pound gorillas be better than one 800 pound gorilla?

<comment><USER9> Really a Gorilla game. Seems like PR firms & outlets hate each other & need each other. What's to stop outlets screwing PR companies? They stop working with them. What's to stop PR companies screwing outlets? Not working with them.

It makes sense to threaten retaliation but actual retaliation does not. At least not without Robert Aumann weighing in.

</comment></comment></comment></comment></comment><comment><USER10> TC, our heroes - oh wait, they just want to be the first ones to break a story. For a second I thought they are doing it for the readers...

</comment><comment><USER7> One "loophole", which only applies to sites that haven't launched, is to tell the writers when the site goes live. Chances are they won't run a story before the site is live.

It effectively creates an embargo that can't be broken.

</comment><comment><USER11> All these tech "blogs" -- TechCrunch, VentureBeat, GigaOm, Mashable -- operate with real budget and hire real people who rely on real paychecks to go through the weeks. When you're playing with real money, it's not time or place to fuck around.

When I was working at a big blog, the major takeaway I got was that everyone will be engaging in an inevitable attrition war. And in that war, many will pull some crazy shit to get to the top. The sites themselves need to continuously generate pageviews day after day. They need to posture and project that they're more and more influential. The biggest offender, consistently, has been TechCrunch. They publish stuff that has explicit no publish requests, they break embargoes that hinders around real businesses' launch times, and they censure over petty beef with another tech blog.

Oh, don't forget the fact that TechCrunch is no longer about startups -- it's the new CNet, without the class and without the journalistic integrity.

<comment><USER12> That big blog you worked for was Valleywag...and you're complaining that TC lacks integrity.

<comment><USER13> There's a difference between class and integrity.

Valleywag has no class what so ever. It's sleazy and happily so.

However they do have integrity. Paul Boutin's a real journalist. They, and I'd argue most of the Gawker writers, bring an outsiders view of the world to their coverage that's sorely lacking in a lot of the news. Deadspin's the same story. It's sleazy, low-grade and base. However they are honest and very serious about their facts.

What you choose to cover makes you "classy" or not. That's a genre.

How you cover it shows whether or not you've got integrity.

<comment><USER13> Surprised no one called me out on this.

<comment><USER12> Yeah. I was wondering if you were serious or just playing devil's advocate. Apparently at least 16 people thought your semantic swordsmanship passed for a real defense :-)

<comment><USER13> Well I was serious. I've no way of knowing exactly how many times VWag burned people, but they're at least going after people in a way that few are. Like I said, its sleazy and low, but they're going after people, not puffing up their buddies projects and shrugging their shoulders when people complain.

<comment><USER12> I think it's pretty obvious that they both lack integrity (in the complete sense of the word).

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Startups should not be using PR firms anyway. Talk to them normally, build a relationship, see them in conferences, act human. That works, really. We haven't spent a cent on PR, and have done just fine and got all the coverage we could have asked for.

I think its such a shame when the founders are evangelizing and spreading the word. That's where all the passion is, and it comes through. When it comes filtered through PR, you lose that excitement and buzz.

<comment><USER11> I think that's kind of a naive outlook. Bigger startups -- moronic sounding, yes -- can utilize PR firms to for effectiveness and efficiency. It's basically outsourcing whoever guy you put on "building relationships" and "encouraging press" to a professional firm instead of getting someone to bumble around with it.

<comment><USER15> Not everything can be effectively outsourced.

</comment></comment></comment><comment><USER16> I personally like all the writers at TC having worked with most of them in the past. They never broke an embargo and we're quick to response to any requests i had. The same can't be said for #%@&*& (name redacted to protect the guilty).

You just have to be clever and give each blog a different angle to cover. You also have to approach different blogs every now and then rather hitting up the same source each time.

</comment><comment><USER17> Theres a thousand other things fighting for my attention online. If Techcrunch can't keep it then I'll go elsewhere, its simple as that. Will this change things? Probably not. I don't think the average readers care about exclusives or getting news the minute it happens.

Techcrunch, recently, has simply not been worth more then skimming headlines for something that stands out. (1 in 10?)

<comment><USER13> You should create a single serving site at howmanystoriesstandoutontechcrunch and just post the number each day. They'd link to you for sure.

Heck. Maybe there's a spot for a tech news site that just posts a single link each day to the one story worth reading. No archives. Just one story each day, Drudge-style.

</comment></comment><comment><USER18> I don't really see why people care that much about techcrunch. Granted I'm just a regular hacker, not doing startup, not having any plans to do so, and generally care very little about startup news.

I just want interesting technews. Give me links to some new awesome tech, with demos or videos showcasing why I should be awed. Give me links to new awesome tech which makes my life simpler. Give me links to fancy programming tricks which while technically awesome or impressive, would never survive a code- review. Give me stuff that feeds the _hacker_ in me.

In that respect techcrunch has generally been of very little interest to me, and lately I haven't even bothered reading stories from techcrunch at all.

Is the focus on techcrunch around here (because I see noone else on the web caring) because it has historically been PR friendly to startups?</comment>


Spot the Ball - <AUTHOR> http://projects.nytimes.com/interactive/sports/worldcup/spot-the-ball/2015/06/19 <comment><USER2> I'm one of the people that made this interactive - funny to see it on Hacker News! If anyone has any questions about it, let me know.

<comment><USER3> How do you construct the background image that replaces the ball?

<comment><USER2> That's the work of Sam Manchester, deputy editor on the Sports desk and chief Photoshop wizard. I believe most of it is just cloning different parts of the photo to cover up the ball, though it can get more complex. For example, on the 4th photo of this previous round:

[http://projects.nytimes.com/interactive/sports/worldcup/spot...](http://projects.nytimes.com/interactive/sports/worldcup/spot- the-ball/2014/06/17)

he actually cloned a players face from a different photo and pasted it in to cover up the ball. I have no idea how he does it so well.

<comment><USER4> I was wondering how he did that one!!! Part of my thinking was that you'd choose pictures that had the ball in an easy to photoshop location, and that threw me off

<comment><USER2> I think he enjoys a challenge. Case in point, the last photo in this set:

[http://projects.nytimes.com/interactive/sports/worldcup/spot...](http://projects.nytimes.com/interactive/sports/worldcup/spot- the-ball/2014/06/19)

</comment></comment></comment></comment></comment><comment><USER5> If you notice the outline of the ball has different size for each photo, this allows to identify a relative distance where the ball is compared to height of players

<comment><USER2> Glad you noticed that! It's proof of the difference a great designer (in this case, Rumsey Taylor of our News Design team) can make.

As a developer it can be quite humbling to realise how many seemingly tiny yet actually really important touches exist in a project you think you know inside out.

</comment></comment><comment><USER6> Neat idea, but is this something you can actually be skilled at? Even if you know the game, and can figure out what trajectory the ball was on, it seems very hard to figure out exactly _where_ on that trajectory it was when the photo was taken, given the high speed of the ball.

<comment><USER2> ...sort of?

That's kind of the genius of puzzles like these (we can't take credit for inventing it - Spot the Ball has existed for a long time in the analog world) is that it's a mix of skill and luck, so you can fool yourself into thinking you're amazing at it, when in reality the next photo might trip you up completely.

<comment><USER7> I can relate. I mostly ended up around 55% overall per round (only slightly above average) but I did get a 100% score on one photo which made up for some spectacular fails.

</comment></comment></comment><comment><USER8> John Graham-Cumming wrote an article about trying to hack a contest similar to this. I wonder if a similar technique could be used to find the ball on these images?

[http://blog.jgc.org/2008/02/tonight-im-going-to-write- myself...](http://blog.jgc.org/2008/02/tonight-im-going-to-write-myself- aston.html)

<comment><USER9> I started to roll my eyes when I saw your comment because I thought, "the NYT made a fun web interactive with no-stakes and someone is pointlessly wondering if the answers are in the source code"...so now I realize what a reflection this is on how lame and limited my own thinking is :).

This was a great link...I've been casually brainstorming heuristics for detecting possible Photoshopping and John writes about exactly that. I'm going to walk through his algorithm using Python and PIL.

</comment></comment><comment><USER10> This is very fun for me, even as someone who's not a sports fan. Great way to engage this other segment of readers.

</comment><comment><USER11> It's odd to see a casual game, with no other significance or meaning, in the NY Times. It would be great to see them using interactive tools to tell news stories more often.

<comment><USER12> Next they'll be putting crossword puzzles in the New York Times! Of all places!

</comment></comment><comment><USER13> I remember seeing an arcade redemption machine that worked on the same principle. It had a database of hundreds of screenshots from soccer/footy games and the player had to guess where the ball should be. The more accurate the guess; the more tickets the machine dispensed.

</comment><comment><USER14> This is infuriating. I tried using where players were looking and it got me squat. Very cool though.

<comment><USER15> Yeah I found that the players' eyes were mostly useless but often times the composition of the photo is helpful. For example, if players are gathered on the right edge of the frame and there's a bunch of blank space to the left, the ball is likely over in the open area

</comment></comment><comment><USER16> Good fun!

My understanding of the UK version of this was that the ball was actually placed by a group of pundits[0], rather than being in the original location, so even if you found a freeze frame of the original match you'd still not be able to cheat the system.

Would be fun to crowd source a position taken from wrong guesses to provide some variance.

0: [http://www.theguardian.com/football/shortcuts/2015/jan/14/ho...](http://www.theguardian.com/football/shortcuts/2015/jan/14/how- to-spot-the-ball-in-spot-the-ball)

<comment><USER17> I like that - a "most popular guess" vs "actual position" would be really interesting. As we seem to have at least one of the developers in this thread, maybe we can make that happen (or at least a post-mortem blog post analysing the data?)

</comment></comment><comment><USER18> For me this quickly became "spot the photoshop artifact". I only noticed it clearly for one photo and did marginally better than average (58% -- some guesses were way off) Still very fun.

</comment><comment><USER19> The second time, after removing the cookie, is much more easy (~46% to 99.67%). The conclusion is that there are, for the moment, few cheaters.

</comment><comment><USER20> reminds me of bestofthebest's car raffle... since you can't really gamble in the UK, they do a skill based game that is exactly this... you buy guesses and then click where you think the ball is... the person each week with the closest guess to where a group of judges says the ball is wins the car of their choice

<comment><USER21> a group of judges? but... isn't there one objective correct answer?

<comment><USER20> Yeah, I'm confused as to why they need judges as well, but it's how they do it...

</comment></comment></comment><comment><USER22> Did anyone actually read the article?

</comment><comment><USER23> as a footy fan I enjoy this a lot - tho this time around I scored terribly compared to world cup a year ago

thanks _alastair for getting involved here - tons of great little insights</comment>


Monadic futures in Java 8 - <AUTHOR> http://zeroturnaround.com/rebellabs/monadic-futures-in-java8/

<comment><USER2> a good overview about using monads in Java 8, even non-techs can get an understanding.</comment>


Ask YC:  What would you do with 128 cores on your desktop? - <AUTHOR>

This article: http://newteevee.com/2008/07/09/the-pirate-bay-wants-to-encrypt-the-entire-internet/<p>...got me thinking that perhaps encrypting everything coming in and out of our computers might start to use up 128 cores that we should have in the next decade or so.<p>What are applications that you can see occurring in 10 years that are impossible right now because we have a measly 2-4 cores on our desktops?  What would you love to see? <comment><AUTHOR> I'll start.

Graphics rendering has been known to be embarrassingly parallel for decades. And, generally graphics rendering can absorb as many nodes as you throw at it. I'm sure that dedicated graphics processors are always going to be better at rendering than generic processors, but perhaps OS makers are going to be including a lot more eye candy in the OS once they can establish 128 cores as a minimum specification for their OS install.

Ray traced desktops? Icons with fur simulations or fluid dynamics?

</comment><comment><USER2> I'd probably browse the web and read news feeds. In addition, I'd watch video, program, play games, and use IRC.

I'd also set up scripts in the background to copy files from one HDD to another ad infinitum because I'd feel bad having all of those cores and not doing anything with them.

</comment><comment><USER3> As an employee at a face recognition company, I got endless uses for your 128 cores. Give me 128 cores on your machine and suddenly a whole lot of the "robust" media search algorithms become much more viable.

</comment><comment><USER4> I would take eigenvectors of many matrices with many dozens of dimensions to advance my radical AI agenda through principal component analysis as a function of time.

I can do that right now of course, but not anywhere close to real time with practical datasets.

</comment><comment><USER5> This isn't a direct answer, but in 10 years I don't want to have a desktop. I want a cheap dumb terminal with a big screen, and I want all my apps and data in the cloud.

In the cloud, computers with tons of cores make a lot more sense.

</comment><comment><USER6> Artificial Life Simulations

</comment><comment><USER7> what would you do with your personal spaceship?

</comment><comment><USER8> I would sell the beast and hire you.</comment>


Zappos CEO Tony Hsieh is stepping down after 21 years - <AUTHOR> https://footwearnews.com/2020/business/executive-moves/zappos-ceo-tony-hsieh-steps-down-1203045974/ <comment><USER2> I grew up in Brazil, where customer service was bad-to-terrible in 90% of the companies I had to deal with.

When I moved to Australia, I thought it would be a lot better. It wasn't much different.

When I joined a wine subscription startup in 2016 as the technical co-founder, I wasn't just building the recommendation engine. I was also helping to pack the boxes at the warehouse.

We all got fascinated with Tony's book "Delivering Happiness" [1]. As I packed boxes, I listened to the audiobook several times. Then I read it later on again.

I'm still surprised how bad customer service is in most companies. Don't talk to me like a robot. Just pretend you're messaging a co-worker in plain- friendly-English. And be genuinely interested in solving my issues knowing that you will have higher LTV in the long term if you invest the time and resources to make me happy now.

A few years later and our customers are obsessed not just about the wine we recommend. They also write love letters about how happy they are to deal with our customer service team. I'm still writing code on the other side, but it makes my day to see that part of the business working so well.

[1] [https://www.goodreads.com/book/show/6828896-delivering- happi...](https://www.goodreads.com/book/show/6828896-delivering-happiness)

<comment><USER3> > Don't talk to me like a robot. Just pretend you're messaging a co-worker in > plain-friendly-English. And be genuinely interested in solving my issues > knowing that you will have higher LTV in the long term if you invest the > time and resources to make me happy now.

This is an easy thing to say as a customer or a customer success oriented person.

I am leaving a support role just now. I am actually taking a pay cut to do so. Almost all of my customers speak to me in a rude tone.

I have no incentive to pretend to have an interest in their issues. I don't think the issue is with customer support, but general attitudes among IT professionals.

On top of this, customer success is treated as a second class to engineering even if our problems are harder and more stressful. Imagine finding a bug and being blamed for the bug not being fixed while at the same time engineering is mad at you for wanting it fixed. Gross.

Anyway- support; never again.

<comment><USER4> > even if our problems are harder and more stressful.

I suspect that you're going to catch some grief for this statement. :)

<comment><USER5> Any engineer that takes issue with that statement has never spent a day dealing with rude, angry customers and has no accurate frame of reference to draw up a response.

<comment><USER6> I remember some time in support, most customers weren't rude. It's boring calls to register on the service, moving out to a new address, or confirming identity.

<comment><USER7> If telephone support is the final option after email doesn't work, I feel entitled to be angry. That doesn't mean I have to be rude, but I let the call center person now that I am fucking angry if I wrote 2 emails/support tickets already and they haven't solved the problem.

</comment></comment></comment></comment></comment></comment><comment><USER8> I want to also counter-balance the negativity towards Hsieh with my own experience. From 2015-2017, I worked at Edmunds.com which was (to put it lightly) a bit _obsessed_ with "Delivering Happiness" and Zappos' culture. So much so, that the leadership team visited Vegas to get a tour of the Zappos HQ (this was before I joined). But Edmunds based their entire cultural approach, including hiring, interviewing, and onboarding on Zappos.

The Edmunds onboarding experience has been _by far_ the best out of any company I worked at. Sure, it was silly games and scavenger hunts that didn't really have anything to do with "work," but I look back at the entire experience with a lot of nostalgia. I loved the onboarding so much, I've been contemplating doing a startup that literally just focuses on improving cultural onborading at companies. It made my first few months at Edmunds not only incredibly productive, but also intellectually and socially stimulating.

And they were doing something right. Over there, I had the honor of working with one of the best managers I ever had (he's now at Amazon), and with one of the best software architects I've ever worked with (he's now at Facebook). My team was made up of motivated, smart, folks from all walks of life (recent grads to data science PhD's in their 50s). I still keep in touch with my old team even though we're spread all over these days: doing our own startups, at Facebook, Uber, Amazon, and beyond.

I have the utmost respect for the cultural revolution that entrepreneurs like Tony Hsieh brought to the fore. People that call it a "cult" are missing the point. It's no more a cult than cheering for your school mascot or being in a club. We seem to forget that people are inherently social and need a sense of belonging.

<comment><USER9> > We seem to forget that people are inherently social and need a sense of > belonging.

As someone who used to work at a company that also was fairly well known for its 'cultish' culture, while I agree with your statement above, I also strongly believe that the modern corporate workplace is _fundamentally_ incompatible with the sense of social belonging that humans need. Worse, many smart people take advantage of this need for a sense of belonging with the sole goal of making more money for rich people.

Early human social groups, namely the family, village, and tribe, were strongly cohesive. You were only "kicked out" if you had made some severe transgression against the group (or you had "come of age", and needed to start your own group, which is something else entirely). You were not kicked out the second the group's profits took a dip or it was determined you were dead weight and the group you could do better without you. But these days "fiduciary duty" actually _demands_ the group leaders take a simple utilitarian viewpoint of whether they keep you in the group.

This isn't meant to be totally pessimistic. Some of my favorite times and best friends were at companies that had a great corporate culture with a corporate mission I believed in. But these actually tended to be more mature organizations that were honest about what they were doing: being a successful business that made money, was an enjoyable place to work, and created value for customers. It's actually the 'cultish' places I find that people get extremely bitter when they leave because they were sold a bill of goods that was never true to begin with.

<comment><USER8> > As someone who used to work at a company that also was fairly well known for > its 'cultish' culture, while I agree with your statement above, I also > strongly believe that the modern corporate workplace is fundamentally > incompatible with the sense of social belonging that humans need. Worse, > many smart people take advantage of this need for a sense of belonging with > the sole goal of making more money for rich people.

Totally agree with this and you should always draw a line between "work stuff" and "personal stuff." There's definitely a dark side here. However, I do think there's value in making your employees feel welcome and wanted.

<comment><USER10> >there's value in making your employees feel welcome and wanted

More like there's more value in making your employees feel welcome and wanted by feeding them Kool-Aid, rather than paying them well.

<comment><USER8> For what it's worth, I got paid on par with FAANG.

</comment></comment></comment></comment></comment><comment><USER11> A few years back, I went to their office tour in Vegas, and I've read Hsieh's book, which doesn't cover much of the post-Amazon years.

It seemed pretty clear to me that Zappos was in decline as an independent entity. Fulfillment was already gone. They were in the middle of removing their product photography team. A section of their office was being used as a community co-working space. There were fun quirky office areas but completely devoid of employees. It wasn't clear if Zappos did anything beyond customer service. I don't know if Tony Hsieh could really call himself a CEO anymore under Amazon's thumb.

Zappos was really proud of their long weird onboarding process. They stress over and over their core values. You write and perform a skit about those core values to the company when you "graduate". At the end, if you don't think Zappos is the place for you, they'll pay you a few thousand dollars to leave. I'd imagine that people who aren't completely in love with the company would never go through this process.

<comment><USER12> Some people can pretend to believe anything for a paycheck.

<comment><USER13> There's a fine line between trying to to welcome people to a new culture, and being creepy.

Personally I find the "we're a family" attitude of a lot of these places deeply offputting; most families won't lay off members when things get tough economically, so let's stop pretending that we're doing this for fun.

</comment></comment></comment><comment><USER14> Worked with someone that had bought into the cult of Zappos as an HR/Head of People/Whatever the fuck you want to call it these days.

They were gross. The happiness culture is toxic and if you don't buy into it and aren't projecting rays of sunshine 24/7 from all your orifices you're expected to just fuck off.

<comment><USER15> Your stance that they are overly intolerant would have more credibility if you had stated it more tastefully. As it is, you have lead me to believe your attitude was more likely the actual problem.

<comment><USER16> I mean often online discourse is different from real life discourse. Additionally I could imagine that OP could be fairly upset about this, I know such a culture would drive me insane after a few days.

</comment></comment></comment><comment><USER17> One of my favorite (and definitely my Mom's favorite) parts of Zappos is the hand written note that they send with each pair of shoes.

My mom is an avid walker and she loves comfortable shoes so most birthdays and Christmas's I send her a pair from Zappos.

The hand written note is such a nice touch for such a big business (especially from a parent company like Amazon- the anti-personalizer) that it makes the gift of Zappos (or even the gift card) something fun to give and fun to receive.

Tony, keep on experimenting! It makes it more fun for the customer.

<comment><USER18> I've never seen a note in my zappos order. Have I been inadvertently throwing away these notes for years?

<comment><USER19> I haven't either. Is it possible it's a "this is a gift" option?

<comment><USER20> It seems so. According to their blog post about it, they're writing cards specific to the life event - birthday, get well, etc.

[https://www.zappos.com/about/stories/pec- cards](https://www.zappos.com/about/stories/pec-cards)

</comment></comment></comment></comment><comment><USER21> This sounds like a forced exit. For the founder and CEO and basic Messiah of the company to leave with 0 days notice, and for the _incoming CEO_ to be sending the notice, sounds like someone got their email terminated and walked off the property. Even CEOs who are fired for company performance sometimes get to send their own farewell letter: [https://www.theguardian.com/technology/blog/2013/mar/01/grou...](https://www.theguardian.com/technology/blog/2013/mar/01/groupon- andrew-mason-fired-letter)

</comment><comment><USER22> Does anyone know how his "The Downtown Project" (aka Vegas revitalization) is going?

<comment><USER23> Have you driven the blocks around downtown Vegas lately? It's very seedy, full of pawn shops and payday lending stores, liquor stores and closed stores. Streets are dirty, numerous homeless people. I admire his goal of revitalizing it, but it didn't work.

<comment><USER24> It's too bad, because I really wish Vegas could somehow magically turn into a tech jobs hub. It's got a lot going for it: No state income tax. Cheap housing. Minimal regulation. Cheap, relatively private LLCs. World class restaurants. World class entertainment/shows (even if touristy). Casinos, if you're into it. If NorCal is a heaven for people who like outdoor activities, then Vegas is the heaven for people who like the indoors. The only down side is it's really hot, but going indoors fixes this.

If my employer opened an office anywhere near Las Vegas, I'd list my house and call the moving truck the next day.

<comment><USER25> Nevada lacks the three laws/regulations which make California, imho, popular for entrepreneurs:

* Limited non-competes

* Limited IP assignment clauses

* Limited anti-moonlighting clauses

It's hard to start a business when your current employer can block you from doing so.

<comment><USER26> For a long time, it's been quite obvious that these 3 laws are a cornerstone of why California had the tech boom. And yet almost no other state has managed to put these on the books! I'd be willing to bet that if Nevada implements these (properly), they'll attract a lot more tech startups.

<comment><USER24> True for small tech companies, but major tech companies routinely flaunt CA loopholes to lay claim all sorts of employee-produced IP, and prevent moonlighting. If an invention is similar to something your company makes or might one day make (which could encompass anything for a major tech company), then they can lay claim to it and prevent you from moonlighting working on it.

</comment></comment></comment></comment></comment></comment><comment><USER27> I had no idea they were a 20 year old company.

I assumed they were a fresh startup around 2015 or so when they started getting a lot of media traction.

Maybe I was just out of the loop, but that's really surprising to me.

<comment><USER28> 2015 was the year you personally started paying attention:

[https://trends.google.com/trends/explore?date=all&geo=US&q=z...](https://trends.google.com/trends/explore?date=all&geo=US&q=zappos)

<comment><USER29> I disagree this is broadly unknown outside of a niche...

Even if the company practises seem to have had a knock-on effect. .. if the article is accurate of course.

</comment></comment></comment><comment><USER30> "In 2009, Zappos was acquired by online behemoth Amazon.com Inc. for 10 million shares of Amazon stock"

Stock went up 30 times since then. I wonder many shares he kept.

<comment> Paul-ish It probably has split too.

<comment><USER31> It's never split in the 21st century.

</comment></comment></comment><comment><USER32> I had the chance to meet Tony in 2009, ~early July. Looking at Wikipedia now, I guess it was a month before they sold to Amazon. I was part of the first "Zappos Insights" class. I was able to find my application, and posted it on Twitter, sorry anyone who sees it who was involved: [https://twitter.com/CameronBanga/status/1298465073430700033](https://twitter.com/CameronBanga/status/1298465073430700033)

No idea what people think of Zappos, their culture, and Tony in 2020. I was able to interact with him I guess via email and in person from ~2008-2010?

Every interaction I had with Tony, and every story I heard, he was just Tony. Personally happy for him, as 21 years at the head of any clothing/fashion/design company has to be tough.

</comment><comment><USER33> I first heard (about) him on a Podcast called How I built this. It's a good listen. [https://www.npr.org/2017/01/23/510576153/zappos-tony- hsieh](https://www.npr.org/2017/01/23/510576153/zappos-tony-hsieh)

<comment><USER34> I first learned about him from reading about drunken Zappos employees ordering a 100x100 burger from In-n-Out

[http://whatupwilly.blogspot.com/2006/01/in-n- out-100x100.htm...](http://whatupwilly.blogspot.com/2006/01/in-n- out-100x100.html)

</comment></comment><comment><USER35> Zappos is an interesting experiment but I'm not sure what to make if it overall. It isn't ubiquitous or commonly known to everyday consumers. The model of shopping online for something that requires personal fit just doesn't make sense to most people.

Hsieh has also made some strange choices internally like to reorganize using "circles" (holocracy). I've heard secondhand that this experimental approach to management didn't work out in practice, that a lot of talent left, and that the circles ended up having organically emergent managers anyways.

</comment><comment><USER36> He was interviewed a few years ago on "How I built this".

[https://www.npr.org/2017/01/23/510576153/zappos-tony- hsieh](https://www.npr.org/2017/01/23/510576153/zappos-tony-hsieh)

</comment><comment><USER37> So 'holocracy' is a failure, alongside with Hsieh's fever dream of revitalizing downtown Las Vegas. Holocray was always a creepy idea to me.

<comment><USER38> It wasn't creepy to me, just unrealistic. Power structures form, whether you want them to or not. So 'holocracy' still has managers, it's just unpublished info who they are.

</comment></comment><comment><USER39> When he came out with his book, I read it cover-to-cover in a night and so enjoyed it for the engaging narrative. I wish him all the best.

</comment><comment><USER40> Thanks for the shoes. They served me well.

</comment><comment><USER41> I've always heard mixed feelings about Tony. I wonder if there are any HNers who have a perspective they'd like to share.

<comment><USER42> I am leery of any company that comes off with culty-vibes and that was the impression I got from various media I read and watched about it. I'm sure it's great for business but not for me, I am free thinker. Same reason I think Ray Dalio / Bridgewater is an insane asylum. I briefly worked with someone who did a stint there and he embraced the principles / radical transparency thing and it made him extremely hard (even obnoxious) to deal with.

<comment><USER43> the radical transparency thing is very interesting

When you embrace it, you will definitely piss off a LOT of people

society is all about 'being polite' and 'wearing a mask'

 __ __ __ __

if you stop being polite and stop wearing masks, while still maintaining common courtesy

life becomes MUCH easier

 __ __

I 'll give you an example

2 of your friends have problems which prevent them from having a good relationship

you have a frank talk with them

Hey, Jack, you need to get over your abandonment issues and commit to a woman and marry her. You've passed on some pretty amazing women just because your father walked away when you were 4

Hi Sophie, perhaps the reason you only date losers is that is your type. Perhaps your type is guys who will cheat on you. Perhaps when your mother divorced your father after he cheated on her with her sister, his secretary, and the school principal, you should have realized that's genetically your type. So you can either accept that you are making this choice and be at peace with it, or you CHANGE your decision making process

 __ __ __ __ __ __ __*

guess what's going to happen

usually, 1 of them will get mad at you, then realize you are right, and then make a change, and then your friendship will be much stronger

and the other will hate you for life. Well not hate you. Will avoid you forever

 __ __

So that 's what radical honesty and radical transparency does

 __ __ __ __ __ __ __ __ __*

of course you have to be prepared for people to also be radically honest with you

you find out things that are painful. Then you have to decide whether you will embrace the honest feedback you are getting or run away from it

<comment><USER44> Here's another problem with radical honesty: You _think_ you're right, and say something that's going to be a painful but beneficial truth. But you might simply be wrong: you don't have all the facts, you're missing some context, your interpretation is hampered by your own issues, whatever. Now you've caused someone pain and _haven 't helped them_, and maybe further contributed to their problems.

Radical honesty works great with I-statements (e.g., "I stopped listening to you a couple minutes ago because you're boring me") in terms of communicating effectively without the baggage of courtesy. But radical honesty for criticism rarely works as well as propenents think.

</comment></comment></comment></comment><comment><USER29> Today I learned this existed.</comment>


Common statistical tests are linear models - <AUTHOR> https://lindeloev.github.io/tests-as-linear/ <comment><USER2> _" Unfortunately, stats intro courses are usually taught as if each test is an independent tool, needlessly making life more complicated for students and teachers alike."_

Sadly enough this was true for so many other parts of my education.

<comment><USER3> Shout out to Dr. Jerry Reiter at Duke who emphasized this in every stats class I took with him!

</comment></comment><comment><USER4> This really ought to be better known. I think a large part of the reason that it isn't is because most books that cover linear models in general require a background in linear algebra, and there are very few people teaching from that standpoint outside of the advanced undergraduate/beginning graduate level.

Another thing that I wish was more widely known is that a linear model is linear in its parameters, not the data. You can apply arbitrary transformations to the data and still have a linear model as long as what you're fitting is of the form Ey = \beta_0 + \beta_1 f_1(X) + \beta_2 f_2(X) + ... + \beta_p f_p(X).

<comment><USER5> The idea that linear models are linear in the parameters and not the data is a bit confusing. I know the effect of this is that you fit curves with "linear" models, but I don't feel like I fully understand this. Can you explain further or link to some good resources?

<comment><USER6> Each data point is a bunch of features x_1, x_2, ..., x_n. You can make new features for your data points using whatever functions you like -- it doesn't matter if they're linear. Let's say we add two new features x_{n+1} = f(x_1, x_2) and x_{n+2} = g(x_2, x_3).

Now if we train a linear model on the new expanded set of features, it's linear in those features. It's not linear in the original data though, because of the new features that we introduced: x_{n+1} and x_{n+2}.

</comment></comment></comment><comment><USER7> I'm really interested in this, but wish someone wrote a matching "how to learn stats". This seems aimed at people who already have stats knowledge and experience with R, so there's lots of "you know what I'm talking about" assumptions.

<comment><USER8> I recommend The Cartoon Guide to Statistics, as a good way to get into stats. I've taught a class using it work a number of times, and it makes a great first exposure. The equations are there, explained in a really nice way.

[https://www.amazon.com/Cartoon-Guide-Statistics-Larry- Gonick...](https://www.amazon.com/Cartoon-Guide-Statistics-Larry- Gonick/dp/0062731025)

</comment></comment><comment><USER9> When I was learning undergraduate mathematical statistics, my professor made it a point to connect the links between linear models and many different tests.

In the back of Statistical Inference by Casella and Berger, there is a great chart making similar connections between the most common statistical distributions.

There is a lot of rhyming in statistics.

<comment><USER10> A version of that great chart mentioned in the comment above can be found on page 3 of this pdf: [http://www.stat.rice.edu/~dobelman/courses/texts/leemis.dist...](http://www.stat.rice.edu/~dobelman/courses/texts/leemis.distributions.2008amstat.pdf)

<comment><USER11> This is awesome. Thanks for sharing.

</comment></comment></comment><comment><USER12> A very good intro. Machine learning etc. is fantastic and what can be done with newer techniques blows me away. But I think the hype obscures the results that can be obtained much more easily with more basic methods, as a precursor to those advanced methods.

</comment><comment><USER13> In econometrics training you learn to use the classical linear model and never even learn the names for the parametric tests. It weirds me out that some people who're math-literate enough to know calculus 101 wouldn't instantly get that to test if two groups you would regress with a dummy, or to test if slopes between groups are different you would regress with an interaction effect. I remember it feeling as natural as water-is-wet by the end of the semester.

This must be what it felt to learn multiplication with Roman numerals.

<comment><USER14> What does it mean to "regress with a dummy"? (Also what does regress with mean in general?) And two groups of what? Points? Also, what is an interaction effect? :o

<comment><USER15> Jargon only.

Regress with a dummy means find a set of coefficients which minimize the sum of squared errors between a column (or columns) of a dependent variable from linear combinations of independent variables. The "dummy" is a 1/0 flag identifying whether the observation row belongs to a category, e.g. gender (assuming a binary classification) with Female mapped to 1. The coefficient that results from this algorithm will be the effect difference for a Female, and the intercept will represent the Male group. Simple model: dependent variable is wage, independent variable is years worked, and dummy represents female. The model is then

Wage = b + m * years worked + c * 1(gender = F).

The intercept term b (0 years worked) will be the average male wage with 0 years worked. b+c, the coefficient for female, will be the average female wage for 0 years worked.

With the regression, you get some nice things out like confidence intervals around your coefficient estimates and more. So you can test hypotheses like whether their is a wage gap (c=0) or how large the wage gap might be (c=any number).

Obviously a canned example, but this helps to introduce all but your last question. You can also test whether there is a slope effect. That is called an interaction term: you add an independent variable to the model that multiplies the gender coded variable to years worked. This would then show, if significant, that you can rule out a hypothesis that there is no wage differential between males and females for years worked (i.e. not just two parallel lines, but different slopes entirely).

<comment><USER13> Great reply. Thanks for spreading knowledge.

</comment></comment></comment></comment><comment><USER16> Yes, a thousand times. The way ANOVA is taught is especially egregious.

<comment><USER17> Why is this, and what is the proper way to learn it?

</comment></comment><comment><USER18> The zoo of frequentist statistical tests in the article tend to give results that are easily interpreted in misleading or wrong ways (but kudos to the author to prominently include Bayesian methods). Uncritical usage of these techniques is the #1 reason behind the replication crisis in science.

Bayesian methods should be preferred as the default.

<comment><USER19> Could you elaborate a bit? How do Bayesian methods avoid misinterpretation?

<comment><USER20> If 10 people live in a village and none are diagnosed with cancer, then cancer incidence in that village is 0%.

<comment><USER21> Not sure if joking..

<comment><USER20> Well, events over trials is frequentist definition. Unbiased estimate with nice statistical properties.

You know that it's an underestimate because you have prior knowledge about cancer incidence. Bayesian methods let you incorporate that knowledge into estimation process, pulling the estimate up towards a more realistic value.

<comment><USER22> > nice statistical properties.

Undefined variance isn't nice.

</comment></comment></comment></comment></comment></comment><comment><USER23> This seems like a great guide for how to teach stats! Does anyone have a corresponding guide for how to learn stats this way? I have almost no experience and would love to learn it in this "most tests are just linear regressions" way that the author claims is so intuitive!

<comment><USER24> I was rather fond of _Discovering Statistics using R_. It doesn't drive this point about linear models home quite so lucidly, and the author's sense of humor can be off-putting to some. But it generally does a pretty decent job of explaining the logic and motivations behind different statistical models and tests, and remains one of the more readable math textbooks I've ever trudged through.

</comment></comment><comment><USER25> This is very cool! I hope that with time someone will produce a version with Python code examples (though there's now so many graphing libraries for Python that assuredly not everyone would be pleased).

</comment><comment><USER26> This looks fantastic. Two ideas are

\- An automated test suite verifying the (near) equivalences.

\- Might be fun for someone to provide parallel implementations in other linear modeling frameworks (scikit-learn, julia, etc).

</comment><comment><USER27> The site is down.

</comment><comment><USER15> Hey, I posted this last night[0]. Every time I think I know how HN works it surprises me again :)

I absolutely loved this article, and am happy to see it get airtime on HN.

[0] [https://news.ycombinator.com/item?id=19509107](https://news.ycombinator.com/item?id=19509107)

<comment><USER28> I was also surprised to learn that HN allowed this. Even more surprising is the fact that sometimes it doesn't allow to re-post posts that are months old. I wish it was more clearly documented in the FAQ.

<comment><USER29> > _If a story has had significant attention in the last year or so, we kill > reposts as duplicates. If not, a small number of reposts is ok._

[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

This is what's going on. The previous submission didn't get any attention (votes, discussion) so the repost was allowed after a certain time threshold (about 8 hours).

<comment><USER15> I appreciate the clarification.</comment></comment></comment></comment>


Microsoft has open sourced their Front end Bootcamp training materials - <AUTHOR> https://github.com/Microsoft/frontend-bootc <comment><USER2> The link on this headline is currently broken. It should be:

[https://github.com/Microsoft/frontend- bootcamp](https://github.com/Microsoft/frontend-bootcamp)

<comment><AUTHOR> Not sure how that happened. And I can't resubmit the URL either

<comment><USER3> The mods can (and will) fix it. You can also email email@example.com and let them know about this error.

<comment><AUTHOR> Thanks. Sent out an email.

<comment><USER4> That was indeed a bug at our end, in the code that attempts to write AMP links. Sorry! I've pushed an interim fix, so you should be able to resubmit it now.

</comment></comment></comment></comment></comment><comment><USER5> It is a nice resource, but the number of spelling and grammatical errors is ridiculous and becomes very distracting. Please use Microsoft Word or some other spell checker on each page.</comment>


Why universal apps won't save Windows Phone - <AUTHOR> http://kneeland.me/2015/02/15/the-great-mobile-divergence-how-the-app-universe-went-beyond-universal-apps/

<comment><USER2> Hello, author here. I should clarify that I don't think Windows itself is doomed--it isn't, not by a long shot.

I think Windows 10 will do well in mature markets where it's an established leader (desktop) and nascent markets where leaders have yet to be defined (hybrids, IoT, holograms).

Where Windows 10 will not do well is in mature markets where they're not an established leader (phones).

<comment><AUTHOR> Except one of those mature markets is represented by incumbent installations such as governmental departments and big companies. They're pretty reluctant to hand over hosting responsibility of their email and productivity tools to organizations whose business models are based on harvesting the enclosed data for advertising. Given that these institutions buy in considerable bulk there's the potential for the lure of a convenient, secure and harmonized platform to result in a phone market share above that magic 10% figure at which point it starts advertising itself and reaching sustainability/growth.

<comment><USER2> For desktops, sure. But Apple has clearly done a bang-up job at stitching up the institutional buyers with iPhone deals.

<comment><AUTHOR> The term "institutional buyer" covers a broad spectrum. It's not just the deep-pocketed tech firms that buy smartphones. It's also your hospitals, animal shelters, fast food franchises, etc. Lots of these buyers are going to be looking for value other than app availability such as ease of integration with existing tools, security, and the right price. I don't see my local humane society heading out to the Apple store for a bunch of iPhone 6 Pluses.

I completely agree that app availability is not likely to save Windows Phone. I do believe though that MSFT's ability to push a wide range of capable, corporate-compatible handsets at reasonable price points give the platform as much of a chance at success as it's ever going to get.

</comment></comment></comment></comment><comment><AUTHOR> I like that MSFT appear to be attempting to reinvent responsive design for the native world ;)

It will be interesting to see how, if at all, this dovetails with their SmartGlass efforts as I can see some merit in a framework that makes it easier to split views with a shared model and controller across multiples screens/devices.</comment>


4200 SaaS Business Ideas - <AUTHOR> http://www.jensbackbom.com/businessideas/ <comment><AUTHOR> Ideas are nothing, execution is everything. Some of the ideas in this idea generator are already making people money, but I'm sure there is a gem hidden in there somewhere. You just have to reload the page a couple of times to find it. :)</comment>


ReDesignMe: Lets You Post Bad Design and Your Solution to It (Don't use Flash Ver) - <AUTHOR> http://www.redesignme.org

<comment><USER2> i thought this was going to be web design, like post your site up here and have someone improve the design. kinda like an online version of what wufoo's kevin hale does for yc startups.

that coulda been cool

<comment><AUTHOR> it could be if you want - i don't think there's a limitation; besides what their server can handle performance wise</comment></comment>


Why I won't be switching to Disque - <AUTHOR> http://charlesleifer.com/blog/why-i-won-t-be-switching-to-disque/

<comment><USER2> This article in my opinion missed a few key points: Redis is not different than Disque, I don't use Redis since basically the _start_ of the project for any serious thing, since Redis took over my other occupations in a matter of months. I believe I did a reasonable job in still creating the right abstractions for the users, even not being myself a direct user of Redis. Just two examples: Lua scripting and sorted sets, among the top Redis used features, where both conceived while I was no longer using the system first hand.

I think I can repeat the same with Disque, since I'm not an user, but the design is an effect of what _users experience and complain_ about Redis as a message queue.

Moreover both for Redis and for Disque in the future I'll be working more with people having large deployments and use cases in order to get more feedbacks about what could be useful things to add.

I don't want to sound immodest, but the rule that you have to be an actual user of the software to create something decent does not necessarily applies to anyone, there are people that can synthesize the needs and design APIs without actually implementing anything serious. However note that don't implement anything _serious_ does not mean don't implement anything at all. I created several "toy projects" using Redis over the years, and I'm doing the same with Disque.

<comment><USER3> Hi, I'm the author of this post. First of all thank you for responding to my comments, I'm humbled that you took the time and I apologize if you felt compelled to defend your work.

I was in part responding to the comment in the "Limitations" section of the README about how Disque was developed in "astronaut mode". Mostly, though, my point was that I think many people use Redis as a queue because they want to use Redis as a queue. Maybe it's already part of the stack, or they like the simplicity, whatever.

I am a _huge_ fan of your work and hope to see Disque succeed, again apologies if you felt I was attacking your project.

</comment></comment><comment><USER4> The author of the article declares his incompetence at building and maintaining software projects for which he's not the target user, and thus concludes the same applies to the creator of Redis and Disque. Based on that he instills a lot of FUD around a project that has proven very useful for me so far.

Also, from the article:

 _The other reason I don 't foresee using Disque is alluded to in the author's own comments. He observes that many people are using Redis as a message broker, and decides that maybe there is a need for a "Redis of messaging". I would say the opposite is true, and that instead of another message server, people want to use Redis!_

I disagree. I've been using Redis for queues for a very long time, and I'm in the process of migrating all those queues to Disque.

</comment><comment><USER5> As much as I like Redis and Antirez, I have to completely agree with this article.

I would just point out that Pivotal (current Redis sponsor) runs RabbitMQ; no doubt that they have in-house knowledge about message brokers. No idea if they are willing to put time into Disque.

First version of RabbitMQ was released in 2008 and there have been more that 50 releases so far[2]. No doubt that maintaining a product like this is a lot of effort.

[1] [https://www.rabbitmq.com/](https://www.rabbitmq.com/)

[2] [https://github.com/rabbitmq/rabbitmq- server/releases](https://github.com/rabbitmq/rabbitmq-server/releases)</comment>


A Google a Day - <AUTHOR>

http://www.agoogleaday.com<p>Click on "How many furlongs long are you?" or whatever today's question happens to be. Click, again, and again, and again... <comment><USER2> answer = 29.9</comment>


Scientists show future events decide what happens in the past - <AUTHOR> http://www.digitaljournal.com/science/experiment-shows-future-events-decide-what-happens-in-the-past/article/434829 <comment><AUTHOR> I believe this is pretty poor interpretation of the actually science here. Would love expert feedback on what the real import of this is.

<comment><USER2> I am not a scientist but when someone tells about causality, often it is about causality in her mental model. Even without speaking of quantum weirdness and all that stuff, in real, macroscopic life, it is often difficult to be sure of causality. Physics experiments that are conter-intuitive are not rare, for example the Sagnac effect: [https://en.wikipedia.org/wiki/Sagnac_effect](https://en.wikipedia.org/wiki/Sagnac_effect)</comment></comment>


Fox Cuts Off Hulu: Good and Bad for Cable Subscribers - <AUTHOR> http://www.nytimes.com/external/gigaom/2010/10/17/17gigaom-fox-cuts-off-hulu-good-and-bad-for-cable-subscrib-78589.html

<comment><USER2> "According to Cablevision, the dispute is about $80 million, to be precise. The cable company says that News Corp. is asking for that much more a year for access to 12 Fox channels, including those in dispute"

can anyone explain what precipitated fox's changed opinion on how much they're worth? was losing lee that good for business?

<comment><USER2> [http://www.newjerseynewsroom.com/professional/fox- cablevisio...](http://www.newjerseynewsroom.com/professional/fox-cablevision- dispute-and-authentic-frontier-gibberish)

is an article with a fairly biased tone that

The 1984 Cable TV Act gave multiple systems operators (MSOs) like Cablevision the right to bundle failing networks like ESPN, the Weather Channel, CNN, CNN Headline News on an expanded basic tier as one entity (which might be a real violation of the Sherman Antitrust Act) and sell it to consumers for one price.

and that fox is trying to increase their profits by requiring these channels as part of basic cable.</comment></comment>


Does YouTube Underpay Artists 13B a Year? - <AUTHOR> https://thetrichordist.com/2018/10/23/does-youtube-underpay-artists-13-billion-a-year-understanding-youtubes-article-13-freakout/ <comment><USER2> What a load of hyperbolic rubish. To suggest that Youtube is cheating the music industry out of at least 60% of its potential revenue, a figure a couple of billion less than Googles net revenue in 2015 is crazy talk. It is this type of logic that results in the billion dollar ipod: [https://www.ted.com/talks/rob_reid_the_8_billion_ipod/up- nex...](https://www.ted.com/talks/rob_reid_the_8_billion_ipod/up-next)

I am not saying that Google shouldn't pay more, I am not saying that Google says less. But do a quick sanity check before posting silly numbers in a blog post. Or better yet, provide solid evidence to back up your assertions.

</comment><comment><USER3> _Spotify with 160 million users in 2017 paid out at least 2.225 billion in royalties to rights holders (It's probably a little higher). That's around $13.90 user. YouTube provides the same service (except with video) and CEO Susan Wojcicki says YouTube has 1 Billion MUSIC users a month._

The article is completely wrong. The blog post referenced (1) says only that "more than one billion fans come to YouTube to be part of music culture and discover new songs and artists". This doesn't translate into YouTube Music having 1B MAUs, nor it translates in any way to Spotify users.

The article is just a piece of low quality rubbish:

 _This is Google: Second largest corporation on earth, manipulating children to protect one of the biggest corporate rip-offs in history. Disgusting_

(1) [https://youtube-creators.googleblog.com/2018/10/a-final- upda...](https://youtube-creators.googleblog.com/2018/10/a-final-update-on- our-priorities-for.html)

</comment><comment><USER4> What do Spotify rates have to do with anything? Most YouTube users are not paid subscribers, or anywhere close.

<comment><USER5> On both Spotify and YouTube, every user brings revenue.

<comment><USER6> I'd amend that to "brings value."

At least on YouTube users with ad blockers, are still able to help understand "trends" and that helps keep engagement high by users who don't have ad blockers. Its still a valuable user even if they don't produce revenue directly.

</comment></comment></comment><comment><USER7> Why doesn't Google just start buying the music companies. It would cause them less pain. At one point Google had enough cash laying around they basically could have bought the entire industry. The music industry has way too much clout for what they actually financially produce, and a chip on it's shoulder of how important it really is.

</comment><comment><USER8> The article contains pretty much no evidence other than confusing a Spotify user with a Youtube "Music User" (which is never defined).

Betteridge's law of headlines is an adage that states: "Any headline that ends in a question mark can be answered by the word no."</comment>


How to get Google Chrome old versions between 46 to 49? - <AUTHOR> I need to play MP4 files which was working fine between Version 46 to 49. But since 50 there is many major bugs which i cant live with.
I can go back to Chromium but then MP4 files does not work on it, how can i therefore get Google Chrome version 46 or 47, or 48 or 49?
Please advise, i have tried many stackoverflow sites advise but they all seem to fail. can anyone show working example of real-world? <comment><USER2> [http://www.oldversion.com/windows/google- chrome/](http://www.oldversion.com/windows/google-chrome/) might work

But you would need to make sure to disable the auto update, and double check as Google is very "persistent"

</comment><comment><USER3> I can't help, sorry. But curious, what broke with version 50?

<comment><AUTHOR> Version 50 have a serious problem. Please check and spread the message else WebRTC will die because of this problem: [https://bugs.chromium.org/p/chromium/issues/detail?id=605385](https://bugs.chromium.org/p/chromium/issues/detail?id=605385)</comment></comment>


Show HN: Pinpointer – A Firefox extension to share links to page elements - <AUTHOR> https://addons.mozilla.org/en-US/firefox/addon/pinpointer/ <comment><AUTHOR> I wanted to try making a browser extension and it seemed weird to me that there didn't seem to exist any means of linking to specific elements on a web page if they hadn't been given IDs to make a fragment identifier out of, so I made this.

You select a page element and generate a link, which you can then share. For someone without the extension, the link will work as normal and just take them to the page, but someone with the extension will have the selected element focused on and highlighted for them.

There's also a repo on GitHub (for now)[1] and I wrote about how I made it[2]. My next priorities are to make it not look like ass and to shorten the links somehow. Let me know what you think.

[1] [https://github.com/Rumperuu/Pinpointer](https://github.com/Rumperuu/Pinpointer)

[2] [https://bengoldsworthy.net/2018/04/developing- pinpointer/](https://bengoldsworthy.net/2018/04/developing-pinpointer/)

<comment><USER2> You might want to take a look at [https://github.com/karanlyons/pinpoint](https://github.com/karanlyons/pinpoint) to see if there's anything there you want to grab, especially around the selector creation: [https://github.com/karanlyons/pinpoint/blob/4b2ec192c0400f26...](https://github.com/karanlyons/pinpoint/blob/4b2ec192c0400f26d7ff80ec3a652e467d5ee563/Pinpoint.safariextension/end.js#L98)

<comment><AUTHOR> This is really interesting, I'm not sure how I didn't find it before. What I'd like to know is whatever happened to the CSS-selectors-as-fragment-identifiers movement and why it didn't take off. The proposal that inspired that extension[1] was written by Simon St.Laurent and Eric Mayer, so it's not like it was a fringe thing, and they co-chaired a W3C Working Group on the topic[2], but it apparently never published any reports and the last recorded activity was in Jan 2013. Anyone know what happened?

[1] [http://simonstl.com/articles/cssFragID.html](http://simonstl.com/articles/cssFragID.html)

[2] [https://www.w3.org/community/cssselfrags/](https://www.w3.org/community/cssselfrags/)

<comment><USER2> Yeah, I dunno why it never took off, though Meyer was one of the few to star the repo, so I thought that was nice. I was never able to get much traction on my extension either, though some people did port it to every browser, which was also nice.

I think this is just one of those problems that's hard to sell to people.

</comment></comment></comment></comment><comment><USER3> "It requires your permission to: Access your data for all web sites"

I wish Firefox had a permission along the lines of 'Access all data from pages on which I activate the extension', which is presumably all this would need.

<comment><AUTHOR> As yoklov said, I had to have a small script[1] run a quick check on every page you visit to check if the URL is a Pinpointer URL. As far as I can tell there's no way around this (and I'd say breaking backwards compatibility with HTTP is a bit drastic for a little browser extension like this).

[1] [https://github.com/Rumperuu/Pinpointer/blob/master/content_s...](https://github.com/Rumperuu/Pinpointer/blob/master/content_scripts/checkPage.js)

<comment><USER4> Could you not use webNavigation[0] to check the url and permissions API to ask for permission[1] if necessary?

EDIT: Or tabs.onUpdated if webNavigation doesn't fire for hash changes[2]

[0] [https://developer.mozilla.org/en-US/Add- ons/WebExtensions/AP...](https://developer.mozilla.org/en-US/Add- ons/WebExtensions/API/webNavigation)

[1] [https://developer.mozilla.org/en-US/Add- ons/WebExtensions/AP...](https://developer.mozilla.org/en-US/Add- ons/WebExtensions/API/permissions)

[2] [https://developer.mozilla.org/en-US/Add- ons/WebExtensions/AP...](https://developer.mozilla.org/en-US/Add- ons/WebExtensions/API/tabs/onUpdated)

</comment></comment></comment><comment><USER5> A video or a few screenshots would help me understand how it works better and probably help with the number of installs.

</comment><comment><USER6> I have installed it and it doesn't work.

In the Mozilla addons page it just says " _Pinpointer error_ ".

In this HN page, it prompts me to select and click a green button, but fails to do anything.

It's an interesting concept, keep going!

edit: Firefox 62.0b9 (32-bit) in up-to-date Ubuntu 16.04, with uMatrix and other extensions running.

<comment><AUTHOR> As far as I can tell the Mozilla addons page doesn't like addons running on it. I'll add a more explanatory error message though. I hadn't thought to test it on HN, so that's intriguing. I'll look into it, but I'd presume it's due to some sort of quirky DOM structure.

<comment><USER7> There's an about:config entry regarding this.

extensions.webextensions.restrictedDomains

</comment></comment></comment><comment><USER8> Great fix for one of biggest web usability issues when quoting, and referencing complex documents.</comment>


Are you the customer? - <AUTHOR> http://weblog.raganwald.com/2008/05/are-you-customer.html <comment><USER2> Re: the PS, I'm more than happy to buy books via your affiliate links. It's very nice of you to go out of your way to find relevant material, instad of copping out with AdSense or banner ads. Letting readers reimburse writers in such a win-win way seems like the best model to fund blogging as a hobby... do you make enough off the referrals to agree?

<comment><USER3> The money I make off referrals is insignificant. What I do is take it as gift certificates, which I spend on books and music.

I'm grateful for those, in a way that's a lot better than cash. If it were cash, I might be tempted to ask whether writing really pays. The answer is definitely it does not pay compared to just about anything. I could make more money doing menial labour building Koi ponds and have lots of fun.

However, the buzz of getting a book or CD is way higher than the equivalent cash value. It's very irrational: If I take two hours to write a post, and I earned $14.00 from it, I would be devastated to earn $7 an hour.

But if I get a copy of The Goldberg Variations that I'd never heard before from that article, and I get hours of enjoyment from it... It feels like a terrific bargain to work for two hours and then enjoy a wonderful piece of music.

(I am not getting into the other rewards of writing. I am strictly responding to the question about referrals.)

</comment></comment><comment><USER4> Nicely expressed.

It's odd (to me) how deeply American culture has ingrained in its subjects the notion that they are first and foremost consumers.

For me, the cognitive dissonance first surfaced when I thought about television: The TV networks are the producers, the advertisers are the consumers, and the viewers are the product. TV is not primarily a means of delivering entertainment to viewers-- it is a means of delivering viewers to advertisers.

It seems natural to think of ourselves as the end, but sometimes we're just the means....

<comment><USER3> may I quote you?

<comment><USER4> Of course, anytime.

<comment><USER3> done, on the OP

</comment></comment></comment></comment><comment><USER5> raganwald -- Great observation. It's absolutely possible for your biz dev team to force you to take your eyes off the ball. Great cautionary tale.

</comment><comment><USER3> Note the p.p.s.

<comment><USER6> From the p.p.s: "Eleanor Roosevelt once said, "Great minds discuss ideas; Average minds discuss events; Small minds discuss people.""

Isn't this a recursive statement?

<comment><USER3> Absolutely. And in this case, she was discussing an idea and people in one go. I'm of two minds about that...</comment></comment></comment>


Hey yo Marc, make me a server - <AUTHOR> http://macournoyer.com/make-me-a-server/ <comment><USER2> The testimonials are a good touch, but the associated pictures don't exactly inspire confidence.</comment>


Scalable and Maintainable CSS Approaches - <AUTHOR> http://cwebbdesign.tumblr.com/post/23666803241/scalable-and-maintainable-css-approaches

<comment><USER2> This is something I've been thinking a lot about recently, and while all of these approaches solve some problems I think the requirement for maintainable CSS is a fundamentally different approach to the purpose of CSS. Once you make the mental switch from "CSS is the stuff that I do to make the things that I build look right" to "CSS is a component of everything I build" it becomes easier to see what I mean. It's not about "I need to be able to reuse this font size" as much as it is "I want to reuse this widget when I am display text in this way on any page".

In other words, if you want to build something maintainable, start thinking about all the ways you can help people not write custom CSS at all.

Also, LESS and SASS at their core do little to help with this problem, and can even hurt you with unintentional specificity (due to nesting) that hurts reusability. Mixins help you think "reusability" but they can really easily be misused in ways similar to how people are misusing CSS right now. This is by no means an attack on LESS/SASS, which I love. It is just a reaction to working on a large project that is making the switch and seeing the fallout.

<comment><USER3> I'm not sure I follow. Are you advocating writing "classless" CSS? Could you elaborate as to what you mean by "not write custom CSS"? I don't mean to be pedantic but CSS of any kind is "custom". I think you are advocating OOCSS techniques but trying to call them something else. (No offense)

<comment><USER2> I am saying that you can follow OOCSS coding practices and still wind up with a ton of really great abstracted styles that you don't reuse. That is because most people look at OOCSS and only see the "this is how you write proper CSS" and don't realize that most of the work is around planning and communicating. How many of the folks using OOCSS have a style guide of some kind that they are sharing to let people know what exactly is available to be reused?

This article focused on the first part and even compares different approaches, but misses the point that OOCSS is advocating a process overhaul, not just a change to the way that you write CSS.

When I say help people not write custom CSS, I am referring to reuse. Writing the code the right way is of course a pre-requisite, but from experience, not nearly enough.

</comment></comment></comment><comment><USER4> The approaches laid out seem reasonable, but it's hard not to feel as if the web dev community has moved on to using LESS and SASS as a means of addressing some of the same issues.

<comment><USER5> These approaches are not incompatible with SASS/LESS. If anything, learning them is more important now that we have preprocessors.

<comment><USER6> If that's the case, I would be interested to see a tutorial on OOCSS that assumes you're already using Sass, and skips explaining the parts of OOCSS that Sass already solves. I hadn't really taken OOCSS seriously because I thought Sass solved everything that OOCSS did.

<comment><USER5> What part of OOCSS do you think SASS already solves? Perhaps there's some disagreement about this that can help me answer your question.

<comment><USER7> I would assume (perhaps wrongly?) he's referring to mixins, which allow you to easily re-use chunks of declarations (or objects). The pure OOCSS alternative to this is to separate your classes more.

Quick example, OOCSS way of making the notion of 'fancifying a thing', is to make a separate class to represent 'fanciness'.

      .fancy { color: hotpink; font-style: italic }
      .thing { width: 100px; height: 40px }

Then in your HTML apply both classes to make a fancy thing:
ta-da

Whereas in SASS you could do that with a mixin instead:

      @mixin fancy { color: hotpink; font-style: italic }
      .fancy-thing { width: 100px; height: 40px; @include fancy }

And in your HTML, you then apply a single class:
bam

There are advantages of both, and there are clearly variations you could make on the SASS version (i.e. you could make a separate _thing_ mixin too, then mix both into a single fancy-thing class - making the _thing_ concept as reusable as in the CSS version).

Personally I like the level of understanding that doing it the CSS way brings (note this is also an example of the separating 'skin' from 'structure' idea, which I think is very valuable). You could argue that it could lead to class- itis though. Swings and roundabouts.

</comment></comment></comment></comment></comment><comment><USER8> I find that a combination of SMACSS and a lot of shared helper classes (left, right, center, size-<n>, ...) really helps with maintainability.

I don't get the DRY CSS approach of wanting to avoid changing HTML. CSS changes are much more expensive, as they can affect the design on unrelated pages (especially if you don't write modular CSS), which means more testing.

And are there any real world use cases or benefits of "semantic class names"? If not, and if you think they hurt maintainability, why would anyone advocate them?

<comment><USER9>
      > And are there any real world use cases or benefits of
      > "semantic class names"?

Yes. Class names tell what the stuff is, CSS rules tell how to style it. Once you see blue 14px text on the left which has class "red-12px-right" you are enlightened.

<comment><USER8> "Class names tell what the stuff is" is not a "real world use case or benefit". In an HTML document, the defined vocabulary is the HTML elements and some attributes. Class names are styling hooks, with the exception of microdata.

'red-12px-right' is a stupid class name (and a strawman). A better example would be 'heading-primary', instead of a "semantic" approach like '.news h2 { }' (which could have the same styles as '.blogs h1' and '.members h3'...)

</comment></comment></comment><comment><USER10> They invented a solution for scalable and maintainable UIs many, many years ago. Its called a widget.</comment>


Ask HN: Easiest way to install a GitHub app? - <AUTHOR>

Hey, I am a middle aged product manager, I want to sharpen my technical chops and play around with a few ideas as a side project.
I am finding it time consuming to get a VPS set up, to  where I can clone a simple github app and get it working.
I chose a cheap VPSDime server, which has nothing pre-installed. Maybe that was my mistake.
I configured as best I could ssh, postgres, nginx, github, ruby...
Right now it is complaining that I don't have active_record installed.
I don't have a lot of spare time, and most of the dev guys I know seem to rely on someone else to setup their boxes.
Is there an easier way? Should I throw money at the problem? Are there any scripts books or videos that get you to the point of having something meaningful running? <comment><USER2> If you just want to play around with github projects, I would suggest you download/install VirtualBox[1] and download the Ubuntu Server disk image[2]. You can install Ubuntu as a virtual machine (VM) in VirtualBox. Then you can SSH from your host machine into the VM, run a web server, clone github projects, or whatever you'd like. It's free and contained.

[1] [https://www.virtualbox.org/wiki/Downloads](https://www.virtualbox.org/wiki/Downloads)

[2] [http://www.ubuntu.com/server](http://www.ubuntu.com/server)</comment>


Why Is the NSA Moving Away from Elliptic Curve Cryptography? - <AUTHOR> https://www.schneier.com/blog/archives/2015/10/why_is_the_nsa_.html <comment><USER2> Is it also possible that they are signalling a move away from ECC because they can't break it? Assuming that SIGINT has taken priority post 9/11 this might make some sense.</comment>