Hacker News new | past | comments | ask | show | jobs | submit | more noema's comments login

SCSS isn't a methodology, it's a tool for reducing repetition and capturing syntactic complexity in CSS.


You're right, I was thinking of SMACSS.

SCSS (or SASS, more generally) does benefit some methodologies more than others though; I've never found much use for it while using Tachyons or Tailwind, for example.


(Responding to now defunct comment claiming that conservatism is correlated to age because of life experience blah blah)

Age here is a proxy for wealth, of course.


Have to disagree - personally found those films to be too heavy-handed with their "message". Koyaanisqatsi maintains a certain ambiguity throughout, conveying both awe and fear at modern civilization.


At my job we use Quip strictly for collaborative design docs (i.e. architectural design, project scope, tutorials etc). Personally I don't think it can be a true wiki platform since it lacks robust indexing -- this is without doubt its biggest shortcoming.


Correct. Quip is not a wiki. I would call it an “opinionated and stripped-down version of GSuite with excellent collaboration support”. Quip also has chat stapled to it.

Slack is missing doc management/creation. Quip is missing a good chat solution. It’s almost like PB&J.


The main intent of Builder isn't performance, but to avoid a combinatorial explosion of constructors for every possible set of parameters.


So why have constructors for every possible set of parameters?

Why

    VerbalExpression.regex()
        .startOfLine().then("http").maybe("s")
        .then("://")
 .maybe("www.").anythingBut(" ")
 .endOfLine()
 .build();
Instead of

    new VerbalExpression()
        .startOfLine().then("http").maybe("s")
        .then("://")
 .maybe("www.").anythingBut(" ")
 .endOfLine();


Both are equally readable to me, but with the builder pattern you have an ability to fork a builder. Cloning objects in Java could be messy.


With immutable objects, every step in the fluent chain of calls is an independent fork of the full object state. There's no need to use java clone(); each method calls a private constructor that passes the object state (slightly altered, of course).

java.lang.String works exactly this way. You're already used to the pattern.


The builder allows you to have immutable objects. While I dislike builders and seldom use them, I dislike mutable objects even more.


In the parent's suggestion, you still have immutable objects. "VerbalExpression()" is a valid regex, namely the empty one. Every subsequently called method concatenates some new regex onto the receiver and thus builds a new regex (since regular expressions are closed under concatenation).

Builders are used in Java* when you have an object which is invalid without passing in a bunch of parameters, but you don't want to have to remember the order of the parameters. But this is not one of these cases.

There is one drawback, however: you do have to compile the regex into a FSA at some point and it wouldn't be good to do that for every intermediate regex. So I assume that the compilation happens in the "build" step. They could have just called it "compile", though.

* named parameters in constructors seem a better alternative in every language that supports them, e.g. Kotlin


Furthermore, with immutable objects there's no need to to have any public constructors at all.

`REGEX.startOfLine().then("http")...`

Since the start object is immutable, there's no reason to create new ones. Here's an example of this pattern applied to HTTP (my project):

https://github.com/stickfigure/hattery

Avoiding repeated Pattern.compile() is a good point though.


For mainstream labels, sure, but independent labels still serve an important curatorial role.


Small labels are nothing like the big ones, just like small software shop is nothing like Google. We need laws that will require companies to split once they reach certain thresholds otherwise this is just getting nasty. At certain point companies get unfair competitive advantage and they have so much money they literally can buy laws to make sure any competition is kept at bay.


Probably because most are doing glorified CRUD, but with an absurd barrier to entry (the interview process).


Startup interviews are just as tough these days.


Arguably a social engineer.


No, just a salesperson. He's a very good salesperson, mind you, and like many salespeople, he ends up as the front-facing person in these kinds of endeavours.


Try ambient and drone music.


This is a terrible logo by any objective visual design standards -- the shape, proportion, weight are all decidedly unappealing. Honestly, three simple circles would have been better. As for the "3D ellipsis" concept -- I think this is a classic example of a Gestalt psychological phenomenon, where knowing the concept in advance informs the holistic visual interpretation. I have to wonder if they bothered to focus test the logo on individuals who were not privy to the concept before their initial impression, because this reads like a circle followed by two 2D squashed ovals, with no obvious indication of three-dimensionality.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: