Y Combinator's Altman: What I Worry About in Business [video] - <AUTHOR> http://www.bloomberg.com/news/videos/2015-09-24/y-contributor-s-altman-what-i-worry-about <comment><USER2> Great quote about 'Unicorns' (lightly edited from verbal form):

"I looked through the list of companies that have an over a billion dollar valuation recently, and more than half, I think, were valued between like a billion and 1.5 billion, and something like a quarter were valued exactly at a billion. So people are clearly obsessed with getting to this mark, and they are willing to put all sorts of weird structure on their terms to get there. If you were looking at the financial data, you would say something is amiss. You'd say there is some fraud going on or something, if you were just looking at the numbers. Because they don't fit the distribution you'd expect. There is this huge desire to get right to a billion or just over. I don't care about it. I think it's dumb, but that's not going to make a company great or not."

As a sidenote, Sam should probably stop antagonizing his interviewers by dismissing the business pontification featured on their shows :) I agree with him but it's also a bit unnecessary.

<comment><USER3> nope. pet peeve - symbolism isn't irrational. "a billion dollars" is a powerful symbol, and may well pay off as much in psychological benefits as it loses in structural weirdness. or it may not, but it's definitely not clear- cut enough to dismiss as "dumb".

<comment><USER2> Yes but anytime you are engineering "financials" instead of engineering sales and customer satisfaction you are headed down a path that warps things. In the case of unicorn valuations it's your term sheet: investors who are getting in at high symbolic valuations are asking for special provisions to protect downside that you wouldn't otherwise grant them.

<comment><USER4> All of those (eg. sales and psychology) are interrelated. For example, say you're an enterprise SaaS company. Saying, "We have a $1B valuation and aren't going anywhere" actually carries meaningful psychological weight during the sales process -- weight which could be the difference between winning or losing out to a competitor. In that regard, it may matter...

</comment></comment></comment></comment><comment><USER5> > > [http://www.bloomberg.com/news/videos/2015-09-24/y-contributo...](http://www.bloomberg.com/news/videos/2015-09-24/y-contributor- > s-altman-what-i-worry-about)

Ahh yes, Dan Altman, a recent hire at SV clone "Y Contributor", talks about attention to detail, and working with the Samwer bros.

Edit: << pun intended.

<comment><USER6> I am not actually sure why people have so much against the Samwer brothers.

Have they done anything particularly despicable?

I know their model is to copy any potential idea coming out of the US which I don't understand the issue with.

One thing they really did well was to have a structure that makes it easy for them to localize any company.

I hear the work environment is hard but so is it many other places.

Or maybe I am missing your joke?

<comment><USER7> _copy any potential idea coming out of the US which I don 't understand the issue with._

Except, they don't just copy the idea, they copy the entire products and companies wholesale (interface, API, UI, user interaction model). How is that _not_ bad?

<comment><USER8> I love how everybody in Silicon Valley claims ideas don't matter, only execution does, then hate on the company that is taking that maxim to its ultimate conclusion.

<comment><USER6> Exactly!

</comment></comment></comment></comment></comment><comment><USER9> Good job dodging those landmines. It's always nice to hear him talk about this stuff. What I would like even more is to just hear people knowledgeable about this kind of stuff just chat. Doesn't even have to be able what they're good at. I just want to witness their mindset.

<comment><USER2> I know what you mean and there's surprisingly good content on youtube along those lines. Some examples:

(1) How to Start a Startup (by Sam Altman et al): [https://www.youtube.com/channel/UCxIJaCMEptJjxmmQgGFsnCg](https://www.youtube.com/channel/UCxIJaCMEptJjxmmQgGFsnCg) (2) CS183C: [https://www.youtube.com/playlist?list=PLnsTB8Q5VgnVzh1S-VMCX...](https://www.youtube.com/playlist?list=PLnsTB8Q5VgnVzh1S-VMCXiuwJglk5AV--) (3) PreMoney conference: [https://www.youtube.com/playlist?list=PLOStnEM8wBOYdQ6FFXTnY...](https://www.youtube.com/playlist?list=PLOStnEM8wBOYdQ6FFXTnYfBVjSCsQ7dlQ)

And of course a lot of great podcasts.

</comment></comment><comment><USER10> I agree with the comment about diversity; "Everyone talks about diversity in tech. I think the best thing you can do is not talk about it but just act on it".

With over 40% of women leaving tech, we ([http://keepwomen.com/](http://keepwomen.com/)) have been doing research into this topic and talked to lots of women in tech. One of the things we found out was the importance of finding a company culture that's right for you. Those women who persisted and changed jobs eventually found a company that was a good match for them. So we think one of the ways to "act on it", is to help women find a company culture that's right for them.

</comment><comment><USER11> I would like to see a YC clone for Dude's businesses, companies that interested in building a profitable business that pays dividend yearly. No exit, No billion dollar valuation, actually no valuation necessary.

<comment><USER12> [http://indie.vc/](http://indie.vc/) maybe?

</comment></comment><comment><USER13> Anyone have a text transcript handy? I don't like multimedia.

<comment><USER14> It's very similar to what he talked about here:

[http://blog.samaltman.com/unit-economics](http://blog.samaltman.com/unit- economics)

At least for the first section of the interview.

</comment></comment><comment><USER15> My view is that the ones, who first hand know will succeed are the founders and co. (even if they sometime doubt)... Investors, etc..., on the other hand, once they invest will always put the right spin and word to fullfill the prophecy. Before they invest, most of of them have no clue, hence invest in large numbers of startup projects with the hope, at least one of each portfolio will make boom for the entire portfolio.

"Prediction is very difficult, especially if it's about the future." dixit Niels Bohr.

Good interview from Sam though.

</comment><comment><USER16> Great interview, but my advice for Sam would be to drop the use of "like". I think it makes him sound a little bit like a high school student :)

<comment><USER17> As far as I can tell his use of the word is totally appropriate and not even close to high schoolers "like". Trust me, I have one at home.

<comment><USER16> perhaps, but I counted like between 4 and 6 likes, that were, like, totally unnecessary :)

</comment></comment></comment><comment><USER18> No [video] ?

</comment><comment><USER19> he seems like he doesnt know whats going to happen next, just like everyone else.</comment>


Ask HN: What language features have particularly appealed to you? - <AUTHOR>

What language features have you come across that particularly appealed to you?
This isn't a "which is your favourite language?" question but rather which feature of a language most appealed to you. I was thinking the other day of which features of various languages most appealed to me and came up with the following list:
* Erlang's Pattern Matching * Lisps Macros
* The ADTs in ML Variants
* Go's Interfaces
* Clojures Protocols
* Tail Recursion in various Functional languages.
What would make your list? <comment><USER2> List comprehensions.

Because the syntax is powerful, concise and readable at the same time. It closely reassembles mathematical set notation, making it fairly easy to grasp. Moreover many interesting problems can be expressed in terms of list comprehensions (like the Norvig's spelling corrector[1]).

[1] <http://norvig.com/spell-correct.html>

</comment><comment><USER3> Pretty much all of CLOS:

\- Multimethods

\- :before, :after and :around methods

\- The concept of a Meta Object Protocol

<comment><USER4> Been wrapping my head around CLOS recently and has been really making me realize how OO _can_ be done.

<comment><USER3> I remember a quote something like "CLOS is best thought of as being implemented in CLOS" - which pretty much sums it up for me. :-)

</comment></comment></comment><comment><USER5> Anything languages that enables full closures is good for me.

Anything less and the boilerplate code drags me into an oblivion of my own depression to think I may need to use sed to fix bugs.

</comment><comment><USER6> Ruby blocks make the top of my list. I sorely, sorely miss them when I'm working in other languages.

</comment><comment><USER7> Typeclasses in Haskell.

</comment><comment><USER8> eval

blocks and define_method in ruby

</comment><comment><USER9> REPL</comment>


Drone crash leads Swiss Post and Matternet to suspend autonomous deliveries - <AUTHOR> https://techcrunch.com/2019/07/30/drone-crash-near-kids-leads-swiss-post-and-matternet-to-suspend-autonomous-deliveries/ <comment><USER2> >The second failure in May, however, led to the drone attempting to deploy its parachute again, only to sever the line somehow and plummet to earth, crashing into the ground some 150 feet from a bunch of kindergartners.

why not put airbags on the drones? Getting hit by a slower falling bunch of inflated balloons with 5kg suspended in the middle of it vs. getting hit by those 5kg falling like a brick.

<comment><USER3> I hope they take a deeper look at the problem and the root cause before they try and fix the symptom by putting airbags on the drones.

It sounds like a failure of the engineering process. When I worked in process engineering we would do an analysis of the whole system and ways that it could create a dangerous situation. For example, what combination of valves opening and closing could trap pressurised fluid.

I would like to see their analysis on what happens when things go wrong, such as a failed parachute.

[https://en.wikipedia.org/wiki/Failure_mode_and_effects_analy...](https://en.wikipedia.org/wiki/Failure_mode_and_effects_analysis)</comment></comment>


Fun Facts on Producing Minimal HTML - <AUTHOR> https://blog.notryan.com/013.txt <comment><USER2> Ex-browser dev here. Please don't ship invalid HTML like this.

Web standards specify how to render valid HTML in a standard way, and browsers have become better and better at that over the years.

Invalid HTML destroys all that. Each browser will have to guess how to repair and fill in the blanks on malformed incomplete tag soup, and there is no one right way to do that. Browser X will make different guesses from Browser Y, and the next version of each will be different too.

Please just write actual HTML that is valid and your website will render much more consistently and reliably across shifting platforms, browsers and versions. It is not the size of HTML that slows the web down anyway.

<comment><USER3> As of HTML5, web standards specify how to render invalid HTML as well, precisely to avoid this problem:

[https://html.spec.whatwg.org/multipage/parsing.html#parse- er...](https://html.spec.whatwg.org/multipage/parsing.html#parse-errors)

In addition, most of the suggestions in the link (leaving off  and , leaving off quotes for attributes, not closing
) are valid HTML in the first place.

<comment><USER4> True, and the suggestions in the article are pretty tame. But let's set aside the article and talk about invalid HTML for a minute.

I write scrapers a lot (not the irresponsible kind and never for monetary gains) and invalid HTML, while technically parseable and to spec, are often a pain in the ass. You have to bring in a full blown HTML5 parser, and they could be way slower (e.g. lxml.html vs html5lib). Depending on your language of choice there might not even be a to-spec HTML5 parser available.

So, just close your damn tags (except self-closing ones), and close them in order, it's not hard, the size increase is minimal, it will help with your own sanity and people will thank you for it.

<comment><USER5> I _extremely_ strongly disagree with your points and conclusion here: why should I, a web author, care because you're using a slow language that doesn't have a real HTML parser available? You want to parse my HTML, _use an HTML parser_.

Parsing an HTML document without a correct HTML parser is just _wrong_. (I decline to call it an HTML 5 parser, because it's not strictly that any more, and this stuff is from _more than ten years ago_ : get with the program!) I'd lump it in with using regular expressions to parse HTML: useful in certain situations, but not wise for the general case.

So you have a fast but wrong HTML parser? Find a _correct_ HTML parser. If lxml.html doesn't parse correctly (I don't know whether it does or not, I haven't checked—but suppose it doesn't), then I maintain that you should _never under any circumstances_ use it in new code. It's an artefact of _twelve years ago_ , and it's _bad_.

So you have a correct but slow HTML parser, and you're not happy with that? I could say "if you care about performance why are you using Python anyway", but that would be disingenuous—though _some_ of those sentiments can still reasonably apply. Anyway, your remedy is to find a fast and correct one. I confess myself a tad surprised to find no stable or featureful bindings to html5ever, which is one of the best things along these lines. [https://github.com/SimonSapin/html5ever- python](https://github.com/SimonSapin/html5ever-python) and [https://pypi.org/project/htmlpyever/](https://pypi.org/project/htmlpyever/) are two things that at least _start_ on this, but it looks like nothing interesting's happened in this space for about three years. Huh.

But anyway: I decline to adjust my authoring practices because you refuse to use the right tools. Enough other people use the right tools that I don't need to care. It's rather like the XHTML/HTML situation if you squint: the only reason to use XHTML, which would reject an invalid document (while HTML would let your nominally invalid document do something useful), would be if something you were interacting with required it.

<comment><USER4> If your authoring practice is producing wrongly closed tag soup that happens to work (making sure it happens to work takes longer than writing it correctly in the first place), making it unnecessarily harder for everyone including you and your coworkers, then you simply suck as a developer. Of course I'm not paying you, so whatever.

<comment><USER6> That's the thing, it's not "wrongly closed". XHTML lost that fight.

</comment></comment></comment></comment></comment></comment><comment><USER7> > Text outside of tags is acceptable in modern browsers.

Please don't. If it's plaintext serve it as such and if it's html serve it and format it as such.

> <!DOCTYPE html> _is_ required by the HTML spec

Yes, it is and do it. Disregard everything the author wrote after that on this point.

> , ,  are not required by modern browsers.

Agreed, they should be left behind. This is a valid HTML doc:

        <!DOCTYPE html>
        <title>test</title>

test doc here

> You don't need to close your tags.

Some tags need closing, some don't. This is documented in the standard. Follow it, don't just freestyle it.

> If you do not define <meta charset="utf-8">, then most browsers will default > to ASCII or Windows-1252. So if you are confidently in the ASCII range, skip > the declaration.

Please don't. Set the charset in your headers (and it should be utf-8 unless you have a very good reason).

> Using a preformatted block (
) of links

This is just bad. You have a list of links but you don't use the exact element created for creating lists?

<comment><USER8> > Please don't. Set the charset in your headers (and it should be utf-8 unless > you have a very good reason).

Legitimate question: why? If I'm not planning on using non-ASCII characters, why bother?

<comment><USER9> > Legitimate question: why? If I'm not planning on using non-ASCII characters, > why bother?

Because not all character sets are ASCII compatible, and you don't know that your user's default is, even though most browsers' defaults if not customized are.

</comment></comment></comment><comment><USER10> Couple more tips for those who /really/ want to slim down their html:

\- opening  tags close the previous  tag... but without an href they do nothing. Use them as if they were closing s to save on slashes

\- <select>...<select> is completely equivalent in html to <select>...</select>. Save more slashes this way

\- formatting elements won't be closed automatically, they rear their head again like so many hydras until your burn the wounds with end tags. But! there's a way around this: consider '

X'; that's funny... why isn't the X bold? it turns out that only three identical (down to attributes) formatting tags are remembered. Use this to your advantage when nesting identical formatting tags inside themselves.

\- since we're saving on slashes:
 (while in a row, ie

) closes the last table, and opens a new one. You might think: "I don't want to start another table so soon!" fear not! the browser will move anything you put in a table, above the start of the table, right up until you start putting cells in it. This also avoids having to open the table later, you can start
ing right away.

\- you saved characters by dropping the doctype... but was it worth it? only with a valid doctype declaration will you
 tags be closed automatically when you open tables. Just 4 closing
 tags will make you wish you included that doctype. still think it's worth it?

<comment><USER11> wait, for which tags does this apply? because won't

one
two
three
four

create four
 elements nested together? does this only work with  tags?

your third point about the triple-identical (reminds me about TCP ACK and Re- transmit haha) is pretty nuts though

<comment><USER9> > won't "
one
two
three
four" create four
 elements nested > together?

No, because "A p element's end tag may be omitted if the p element is immediately followed by an address, article, aside, blockquote, details, div, dl, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, main, menu, nav, ol, p, pre, section, table, or ul element, or if there is no more content in the parent element and the parent element is an HTML element that is not an a, audio, del, ins, map, noscript, or video element, or an autonomous custom element." [https://html.spec.whatwg.org/multipage/syntax.html#syntax- ta...](https://html.spec.whatwg.org/multipage/syntax.html#syntax-tag-omission)

<comment><USER11> wow, two things:

1\. thanks for the link. that documentation is realllly put together well.

2\. for anyone else who goes to the docs, scroll down to the table bit. Official HTML never looked so close to markdown before. But I guess it's legal, with the  omissions, etc.

cool stuff!

EDIT: posting code here

37547 TEE Electric Powered Rail Car Train Functions (Abbreviated)
       <colgroup><col><col><col>

 Function                              Control Unit     Central Station

 Headlights                                            y

 Interior Lights                       x               y

 Electric locomotive operating sounds

 Engineer's cab lighting               x               z

 Station Announcements - Swiss         x               y

</comment></comment></comment></comment><comment><USER12> Practically speaking these optimizations won't make much of a difference, but I still find them interesting. I have been keeping a list of similar optimizations. Here are some not in the linked article:

\- Use relative URLs when possible, i.e., /page.html, no need to specify the protocol.

\- Use shorthand CSS properties like font, background, margin, border, padding, and list.

\- Use lowercase tags as they compress better. See: [https://encode.su/threads/1889-gzthermal-pseudo-thermal- view...](https://encode.su/threads/1889-gzthermal-pseudo-thermal-view-of-Gzip- Deflate-compression-efficiency)

\- Use shorthand hex colors.

These optimizations are harmless compared against some of the ones recommended in the linked article...

<comment><USER11> I thought that "/" was absolute and "../../something/else" was relative.

<comment><USER12> In my notes I had this called "site relative" following this Stack Exchange post: [https://webmasters.stackexchange.com/a/71376/12374](https://webmasters.stackexchange.com/a/71376/12374)

But you're right; relative by itself would refer to relative to the current location. Error on my part in not being specific enough. In retrospect "site relative" is not good terminology.

</comment></comment></comment><comment><USER13> These are certainly fun (in a for-teh-lulz sort of way), but production grade html minifiers actually use techniques like omitting quotes too. Many of the other techniques are highly questionable, so again, as a rule of thumb, if an html minifier doesn't do it, you probably shouldn't either

Also worth mentioning, the ultimate minimalism "hack" is to simply serve a txt or md file w/ Content-Type: text/plain

</comment><comment><USER14> Please please please don't write article text in preformatted blocks. It makes it impossible to read on mobile. Even reader mode doesn't work, because it respects preformatting.

</comment><comment><USER15> From my own notes on minimal HTML5…

Closing tags are optional for the following tags:

      html
      head
      body
      p
      dt
      dd
      li
      option
      thead
      th
      tbody
      tr
      td
      tfoot
      colgroup

The following tags are self-closing and should _not_ have closing tags:

      meta
      img
      input
      hr
      br

Attributes can be left unquoted if the following characters don't appear in the attribute value:

\- Single quote (')

\- Double quote (")

\- Space ( )

\- Equal sign (=)

\- Greater-than sign (>)

<comment><USER16> You can even have an unquoted attribute value with a space, if you replace it with a plus sign.

</comment></comment><comment><USER17> > <meta name=viewport content="width=device-width, initial-scale=1">

> This snippet is copy and pasted a whole lot around the web. Most people > don't explain how it actually functions though. "width" sets the initial > width to the mobile's physical display width in 100% pixels.

I still don't get this - if the browser is the width of the device, why doesn't the site flow to 100% of the browser?

<comment><USER18> The original iPhone's width in portrait orientation was 320px, the viewport was 980px. When a page loaded it was rendered to a viewport 980px wide, like a browser window 980px wide. Without setting a viewport setting Safari would render a page as if it was a 980px side browser window.

The viewport meta tag let's you adjust this virtual window size. You can set it to whatever value you want but "device-width" will just use the screen's current width according to its current orientation. You can add it to a page's header and in many cases it'll look way better on mobile even without specific CSS targeting mobile.

The default viewport size of the original iPhone was in place to let it use the "normal" web. At the iPhone's introduction this was a big deal because other smartphone browsers worked best with simple "mobile" layouts. Safari on the iPhone rendered web pages as they looked on the desktop. Making the viewport sized to the display usually makes it so a user doesn't need to zoom in to read text or horizontally scroll to read wonder content. This behavior makes modern mobile browsers render pages more like old mobile browsers where the viewport was usually the portrait screen width (320px typically).

<comment><USER19> Usefully though inconveniently for my purposes [https://shachaf.net/w/b-trees](https://shachaf.net/w/b-trees) had this exact issue when it first made the rounds, despite the simplicity of the page it was rather difficult to read on most mobile devices as it did not have a viewport meta, so you'd get a pretty tiny font and it would not reflow when zoomed to a readable level.

<comment><USER18> With or without the viewport meta tag zooming a page won't (and shouldn't) cause the page contents to re-flow. When zooming the viewport size isn't changing as if you had changed the window size. Switching orientations or opening a new window on iOS change the viewport dimensions and will cause a re-flow but not zooming.

Besides setting the viewport width you can set a couple CSS properties on block elements to keep stuff more mobile friendly. I suggest `max-width: 100%;` and `overflow-x: scroll;`. This would keep for instance those `<pre>` blocks on your page from causing a horizontal scroll on mobile.

</comment></comment></comment></comment><comment><USER20> This is gross, please don't tell people this stuff, pleeeeease

<comment><USER21> Agreed. I gave up after they suggested using
 to force your  tags on to separate lines. Scary stuff. There are many ways to do this, and using
 should not be one of them.

<comment><USER4> The funny thing is correctly using
 actually produces shorter HTML than the grossly unsemantic (and certainly doesn't render nicely)
 suggestion, at least in the given example.

</comment></comment></comment><comment> mindctrl-org > You don't need to close your tags.

Not always true. I've run into numerous issues caused by the lack of closing tags, and just did earlier this week.

<comment><USER11> they will be nested right. so

without closing tabs create the DOM tree div->p->h1->h2

if you were actually developing production code and misplaced, let's say,
's closing tag, then that would mess up the rest of your tree (from your perspective -- the computer doesnt care)

<comment><USER22> This actually produces the DOM equivalent to

.

Many of the rules for unclosed tags are more there so that browsers can agree on what to do with garbage first, and for you to rely on only incidentally! They defer to historical practice before common sense!

In order to predict this reliably, you essentially need to have the list of content categories[1] memorized (or look them up). Not all of them are ... necessarily intuitive.

[1]: [https://developer.mozilla.org/en- US/docs/Web/Guide/HTML/Cont...](https://developer.mozilla.org/en- US/docs/Web/Guide/HTML/Content_categories)

<comment><USER23> Is there a way to get warnings for HTML that looks valid with matching start and end tags but doesn't actually parse the way it is written? I get the impression that we end up needing to memorize those content categories even if we plan to only generate html with all the start and end tags.

For example,
A
B
C
 looks like two nested
 but it is parsed as 3
 next to each other:
A

B
C

.

<comment><USER22> At the margins, yes, but in practice if you have seemingly balanced opening and closing tags but invalid nesting, the outer close tag generally makes the HTML invalid, for which there's plenty of tooling to check.

</comment></comment></comment></comment></comment><comment><USER24> Another helpful meta tag is

        <meta charset=utf-8>

Without this, your document may be interpreted using an implementation-defined ASCII-like encoding (e.g., windows-1252 for English-speaking locales) if served without a Content-Type.

</comment><comment><USER25> Reader view in iPhone is broken on this page.

My vision is poor, and reader view is an amazing help.

<comment><USER26> Firefox mobile on Android works perfect in reader mode. However, you shouldn't need to switch browser to read the content.

</comment></comment><comment><USER27> I'm conflicted on omitting tags to make pages lighter. I'm sensitive to making things lighteight but I really do like the XHTML parser catching dumb errors that would be silent bugs in HTML.

I also like the readability of a document where all closing tags are here. Some tricks can arguably make the code more readable (ommitting head and body) but some tricks require effort to understand if you are not used to them. We write code for human beings first.

Maybe an HTML minimizer could be used if one wants to save bytes?

<comment><USER28> I use XHTML in my own static site generator, together with an external XML minifier library, then validate the output at build time. In my tests XHTML had a significant parsing advantage over HTML, and I didn't need to do any questionable stuff like in the suggestions here.

</comment></comment><comment><USER29> I think there are some differences in rendering if you omit the DOCTYPE

Also, why?

<comment><USER30> Because your browser will enable a compatibility shim to improve rendering of web pages authored 15+ years ago. If you omit DOCTYPE, your HTML is assumed to be very old.

</comment></comment><comment><USER31> A less well known tip if you want to micro-optimize html: Use protocol- relative external links.

If your own site is https only (which it should be) then example is the same as example](https://example.org/">example)

</comment><comment><USER32> It's never going to look nice but I have a couple of embedded devices with a few K of memory from 15 years ago still serving pages and still working fine in google and Firefox.

Nit-picking, but rather than saying "99% of browsers" (and I am not sure there are 100 browsers out there to get that particular stat) it would be best to just mention the ones it doesn't work on.

</comment><comment><USER33> I wonder why we don't have Markdown browsers. Seems like that would help a ton.

<comment><USER34> Apparently Markdown has a text/markdown mime type: [https://stackoverflow.com/a/25812177](https://stackoverflow.com/a/25812177)

It would be simple to have a browser or plugin detect and render these, assuming they don't already.

</comment></comment><comment><USER35> It seems people are entirely missing the point of the exercise.

<comment><USER11> Ah, maybe a better name would have helped:

HTML Code Golf - How to make really small HTML that doesn't break Firefox or Chrome, currently at least

<comment><USER36> Except that it isn't HTML if it doesn't follow the standard.

<comment><USER11> okay, quasi-html

<comment><USER36> Golfing quasi-languages is not interesting.

<comment><USER34> Golfing libraries and rendering engines can be interesting

</comment></comment></comment></comment></comment></comment><comment><USER5>
      <meta name=viewport content="width=device-width, initial-scale=1">

The `, initial-scale=1` has been unnecessary for a few years now (sorry, not searching for the citation now, hopefully you can find it if you're interested), so it's slimmer to use this instead:

      <meta name=viewport content="width=device-width">

If you drop the quotes, it'll parse the same way (and parsing is well-defined in HTML now, so you can be confident all browsers will handle all parsing the same) but be nominally non-conformant. Up to you how much you care about non- conformance, but I avoid writing non-conformant documents, though I do regularly hand-write minimal HTML (omitting html/head/body, skipping unnecessary closing tags, unquoting attribute values, _& c._)

\----

      <!DOCTYPE html>

I strongly recommend against omitting this, because removing it throws you into quirks mode.

Also I recommend spelling it `<!doctype html>`, because that will regularly save a byte or two in gzipping due to the much greater frequency of lowercase letters.

\----

      <meta charset=utf-8>

I strongly recommend keeping this; it's a safe bet that your text editor is working in UTF-8, so specifying the charset thus ensures that if later on you insert some non-ASCII (e.g. pasting a quote that includes curly quotes) it will work properly.

You can also save one more byte by spelling this `<meta charset=utf8>`. There's fun history around that in the encoding spec, where that used to not be a valid value, but based on observing people spelling it that way sometimes they added it. So it's now valid, but particularly old browsers might not like it.

\----

Using
 for line breaks? Please no. Just don't do this. The side-effects are awful. Use
 if line breaks is all you want.

\----

> _Both single-quotes and double-quotes are valid for tag parameters. This is > useful for producing valid HTML output in programs without resorting to > escaped double-quote._

I like to do minimal encoding. Within a quoted attribute value, the only characters that need to be escaped are & and the particular quote used, so for an attribute that includes a large blob of JSON I like to use single quotes, so that I only need to escape single quotes and ampersands:

      …

This yields a smaller and more human-readable result, which is also nice.

\----

> _You don 't need to close your tags._

Well, there are three cases to consider here:

1\. Self-closing tags like <meta>, which don't _have_ a closing tag (so it's actively wrong to include one).

2\. Tags for which the end-tag is optional, depending on what follows it, e.g.
 doesn't need
 if it's followed by various elements such as another
.

3\. Non-conformant documents where the well-defined parsing behaviour just _happens_ to produce what you want, despite what you've written being probably nonsensical and something where a human wouldn't be sure what you meant.

</comment><comment><USER11> not sure how right this is but this is on twitter [https://twitter.com/hncynic/status/1258916263562219520](https://twitter.com/hncynic/status/1258916263562219520)</comment>


Ask HN: Is Algol used anywhere today? - <AUTHOR>

<comment><USER2> I can't answer your question, but I immediately thought of Perlis's preface to SICP: "Algol 60, never to be an active language again, lives on in the genes of Scheme and Pascal."

Did racket revive Algol 60, even if with a weak pulse?

</comment><comment><USER3> You could start a movement with Algol 68 Genie:

<http://jmvdveer.home.xs4all.nl/algol.html>

</comment><comment><USER4> I think the bourne shell if..then..else..fi syntax is derived from Algol.

<comment><USER5> According to the ALGOL 68 page at Wikipedia: "Steve Bourne, who was on the Algol 68 revision committee, took some of its ideas to his Bourne shell (and thereby, to descendant shells such as Bash) and to C (and thereby to descendants such as C++)."</comment></comment>


This is how much tech consultants make per hour now. - <AUTHOR> http://news.dice.com/2014/04/09/tech-consultants-prepare-get-paid-work-harder-ever/ <comment><USER2> Public service announcement: Tech Consultants don't make $40/hr.

If you're a skilled, experienced developer and you find somebody trying to pay you less than $75/hour to program computers on a contract basis, regardless of where in the world you live, say no.

There do exist people who work for rates less than that. They're either called "employees" and receive benefits, or they're called "people being taken advantage of."

<comment><USER3> _regardless of where in the world you live, say no._

How do you know this? I've gotten pushback in a top-20 (but not top-5) US city on that, even for appsec work.

<comment><USER4> Because I'm fortunate to have a circle of developer friends where there is no longer any taboo talking about rates and salaries and no one is charging less than $100/hr. Maybe even $130/hr now. My rate is now $200/hr for one-off iOS and Ruby on Rails projects, up from $120/hr when I started working independently in the summer of 2012, and I still have to refer folks to qualified friends.

The taboo of talking about salaries and rates is something that only benefits the people employing you and maybe a handful of employees, but never benefits employees at large. As a manager I remember finding out how much my employees were underpaid vs. another friend's team in a different division and after bringing up the issue with my director or VP a company-wide memo went out telling all managers and directors to stop talking about salaries across divisions. I wonder why.

<comment><USER3> How geographically widespread is your circle of friends? It was the "anywhere in the world" part I was wondering about, not the fact that your friends can discuss wages.

</comment></comment></comment></comment><comment><USER5> That's what an average consultant likely makes as a salary.

$42/hr * ~1980 work hours in a year = $83,160

The caveat here is being a technology consultant is relative to the types of technology problems you're consulting for. Tech Conusltants can much more so today be generalists without much depth in a particular tech skill as the average geek might define. Ie., get your company setup in the cloud using basic cloud services. As a result I do see this position opening up to technically inclined folks in general.

A rule of thumb I've found that can be accurate is you should/can charge about $10/hr for every year of experience you have, and should be working for clients or employers that see value in paying for that kind of experience. At some point that might transition from being an employee to a contractor, and ultimately a consultant.

The lower the hanging fruit, the more the rates lower. Focusing less on technology, and more on business strategy which uses technology as a tool has helped keep my rate fair, and high enough to do quality work.

<comment><USER6> > That's what an average consultant likely makes as a salary.

No, that is what a highly productive (100% utilized) consultant at $42/h makes as revenue. If you were to convert it into something comparable to a salary and account for realistic work schedule it would probably end up being in the 60-70k range.

<comment><USER7> There's also the self employment tax to consider for contractors working for themselves in the US.

Employers pay 7.65% and you pay 7.65%. If you're on your own in addition to the income tax you have to pay you also need to pay the whole 15.3% of it. To compare salaries between a person working for themself and someone working for a company it should be taken into account since it's a big chunk of the money you're making.

<comment><USER6> I was sort of spitball including that in there in my calculations, but yes. This is an important thing for people to understand when dealing with or becoming a contractor/freelancer.

I think that a lot of people don't realize things like this when they do their back of the napkin calculations for freelancers/contractors. $50/hour != $100k salary.

<comment><USER5> In addition to assumptions of napkin salaries, the numbers could work in a place with very low taxes (10% on profit under a few hundred thousand), or friendlier contractor taxation locales, like Canada where you can do some reasonable income splitting between personal and corporation expenses.

</comment></comment></comment></comment></comment><comment><USER8> This is mostly a useless article. What does the 42 an hour represent? Is it for independent contractors filing 10-99's and is that their bill rate or their EBITDA or their net income?

Is it the average for salaried workers? (avg hours per year divided by salary).

Did the average hours worked include only billable time or time spent on administrative tasks, company meetings and sales calls?

Did they include part time workers and did they properly weight their contribution to the averages or just lump them in?

<comment><USER5> I disagree.

Any conversation about learning to provide, and communicate value is valuable. If it's not through one particular lens, be it yours, or mine, it doesn't mean everyone has no lessons to learn that you have not learnt. 42 an hour represents an exchange of value for a customer.

After a decade of doing this, there's as many opinions about consulting as there are consultants, myself included.

Having tried hourly, monthly retainers, fixed fee, and contingency based pricing, they all have their merits relative to your skills and ability to deliver value.

It all boils down to being able to add value in a productive way. I work fewer hours than I hever have, deliver bigger results than I ever have, and am making better money with better customers than I ever have. But, I started in the trenches like everyone. These details of how many hours and rates, and utilization rates are much more an issue without paying customers. I was very lucky to be able to get and keep long term customers, which I think is a topic unto itself worth learning more about forever.

<comment><USER8> ok granted. The last part of the article provides some generic useful tips on being a consultant. I was referring to the statistics and graphs which provide no context when I said it was useless.

</comment></comment></comment><comment><USER9> The only way for a "consultant" to average 38.8h per week is to either have a full time contract or to work 50+ hours a week. There's overhead in consulting, bookkeeping, marketing, sales, etc. There's no way you can bill an average of 38.8h a week unless you're working really high hours and I don't understand how that could be an average across the industry.

<comment><USER10> I had a hard time just getting over 22h per week. Its one of the reasons I switched to weekly billing.

On average a lot of the legit consultancies (not including recruiter shops) ask their employees to bill 32h per week.

<comment><USER11> We are very upfront with clients that they cannot book us 40h a week, because everything else means that I cannot shift the work of synchronizing with my colleagues, organizational stuff and the whole thing of "being a company" to one day in the week. My pitch is: "either, you get us 4 focused days a week or I have to do my company stuff from your office". Exceptions are short stretches of full on-site work. Works very well, I must say.

On the other hand, I once had a agency billing: "Assembling Desk". The employee in question was a very honest book-keeper, that was his first day in the company and management didn't check and billed. We replied by asking whether the employee is sitting well and healthy ;).

</comment></comment></comment><comment><USER12> I started working as a tech consultant in my teens (not just building PCs for friends but actually developing relationships with local small businesses, translating tech-speak for them and advising them on the best course of action for things like servers, backups, security, and networking) and my hourly rate _started_ at $35/hr.

Within a few years the demand for my services outstepped the number of hours in my day, so I pushed my rates up, peaking around $75/hr in my early 20s when I finally got sick of dealing with people who wanted a magician instead of a tech consultant.

That was about 10 years ago. I have friends who stuck with it and every single one of them makes more than $100/hr, so I laughed when I saw this article say, "the average hourly salary for tech consultants hit $42.17 in February—an all- time high."

It does say "average hourly salary", but I wonder what percentage of tech consultants work for a salary vs billing the client by the hour.

<comment><USER13> A good friend of mine took a contract job (to be hired on fulltime within 3 months) for $30/hour, doing simple company support IT related stuff. He is most certainly considered a consultant. I think this is a very common case, 1-6 months as an outside contractor before being hired on fulltime. Lots of the listings on places like dice are specifically tagged as contract work, leading to fulltime.

</comment></comment><comment><USER14> Here's a pretty comprehensive salary guide, including geographic adjustments.

[http://www.modis.com/clients/salary- guide/downloads/2013-sal...](http://www.modis.com/clients/salary- guide/downloads/2013-salary-guide-for-it-professionals.pdf)

<comment><USER15> Thanks. I wonder how I stack up against other developers...

Let's see... Applications Engineer, well I do create web applications and I think I'm pretty dang good so I'll choose "V". Oh but wait, I'm also a programmer right? Or am I a software engineer? But I also "architect" most of our applications. Ugh...

<comment><USER16> I looked under Web Developer and I'm getting underpaid based on almost all definitions. The closest I came to (but still somewhat under) is Webmaster (small company). I'm so glad that's not my title though.

</comment></comment></comment><comment><USER17> It's very hard for me to take the info in this article seriously with a statement like this:

 _And given how that's an average, it's certain that many consultants are working far longer in order to keep their clients happy._

Well, yeah, and if my understanding of averages is correct, it's also true that many consultants are working far fewer hours. Compared to most jobs, certainly in the field of consulting, an average of 38.8 is pretty low.

</comment><comment><USER18> The second graph (on workweek in hours) is really dodgy : the y-axis range from 38 hours to ... 38.8 hours. Not really a change then.

Also I would have liked to have the spread on both graphs, with the 10/90 percentiles.

<comment><USER19> The quality of data representation in mainstream journalism is really poor. I guess it's to be expected - most journalists don't really have much of a scientific background and so miss out on having graphing considerations hammered into them. Even publications like the Economist often squeeze and deceptively label graphs. It's a shame that the people informing the general public about science, technology and maths are so illiterate in it themselves.

</comment></comment><comment><USER20> _According to a Dice analysis of data from the U.S. Bureau of Labor Statistics, the average hourly salary for tech consultants hit..._

TLDR==> the data lacks suitable specificity to be interesting

</comment><comment><USER21> I think they took IT staffing companies like Adecco, Manpower(contractors that work 40hrs/week at clients) instead of IT Consulting (Accenture, etc.) or freelance tech consultants to calculate this- It is too low for someone that calls themselves "tech consultant".

</comment><comment><USER22> What does a tech consultant do exactly?

<comment><USER23> 1) Meet with business people. 2) Tell them they need to focus on [Insert current industry trend here _] 3) ??? 4) Profit.

_ Currently mobile (apps, web) and cloud services.

</comment></comment><comment> at-fates-hands This also completely depends on the region.

This might be average in say the Midwest where the cost of living is much lower than say NYC or California. Most "consultants" I know on the West Coast are making more in the range of $85-$100/hour.

If I lived in NYC and was billing $40/hour, I'd practically be hovering on the unemployment line with the cost of living there.

</comment><comment><USER24> If you bill 38,8 hours/week you need to spend ~55 hours in front of the computer every week. Sometimes it's hard just to bill 30 hours... And $42/hour for US contractors it's surprisingly low.

</comment><comment><USER25> That massive looking graph increase is only $6 since 2006.

</comment><comment><USER26> Seems low.

<comment><USER27> This is probably on an annualized basis ($80k/year) and focused more on IT networking/computer consultants than say software developers.

</comment></comment><comment><USER28> If you're worth your salt, you can get more than $42. I don't really know what else to say.

<comment><USER29> It's average for "tech". I'm guessing that includes everything from Wall St HFT experts to some guy laying network cable.

<comment><USER30> Wall St consultants (let alone HFT 'experts') should make somewhere close to double that. The same is true for London/Frankfurt/Singapore/Hong Kong financial industry consultants.

</comment></comment></comment><comment><USER31> I'm inclined to agree with the consensus here, so far. As soon as I saw that 38.8 hours a week was the consideration for "long hours", the rest of the article became suspect.</comment>


Finding and Keeping a Mentor - <AUTHOR> http://4ormat.com/ecr/finding-and-keeping-a-mentor

<comment><USER2> Awesome insights in this article - Mentorship is a vastly under-written upon subject, with huge rewards to be found from participating in this age-old tradition.</comment>


Smoke and Mirrors: How Snap and Pinterest Hide User Attrition - <AUTHOR> https://beth.technology/how-snap-and-pinterest-hide-user-attrition/ <comment><USER2> > In the last quarter, the global audience contributed $17 million to revenue > compared to $273 million from the United States audience. Annually, this > puts the global audience at $41 million in revenue and the United States at > $715 million in revenue.

Ouch. $41 million revenue from non-US is .. not nothing, but it's a respectable medium sized national chain of shops kind of number, not a $10bn company number.

(Pinterest is also very vulnerable to Google one day deciding that they shouldn't let them clog up the top of the image search rankings...)

<comment><USER3> Is there any way for me to just ban pinterest from my google searches? I detest their links and I do hope google does that someday.

<comment><USER4> Google images needs a way to filter all sites where if you click to go to the site that it is on.... doesn't show you the image.

<comment><USER5> Can we crowdsource this banlist, just like an adblocker automatically updates?

</comment></comment></comment></comment><comment><USER6> > On April 4th, Snap announced a programmatic offering called Audience > Network, which copies Facebook's strategy of selling user data for third- > party ads across multiple applications

This is incorrect, and makes me wonder if the rest of the article is accurate. Both Snap and Facebook's Audience Network is similar to Google's AdSense (running ads on a website) or AdMob (running ads on mobile). Google, Snap, and Facebook don't sell user data (from the aforementioned products, at least).

<comment><USER7> I see this a lot and I have to wonder: Why would they sell the user data? It would ruin their business model of collecting the data

<comment><USER8> I suspect "selling user data" is often a shorthand that really means something more like "selling ad-targeting based on user data". Which is not the same thing, although the results can still be abhorrent.

<comment><USER9> I think this is correct, but we also semi-intentionally conflate the two to say the less worse version while connoting the worse version.

That said, the difference is blurry. LinkedIn and Facebook are both capable of hyper-specific targeting that may as well be specific users. I haven't interacted with Snap's ad product, but I suspect it can accomplish similar granularity.

<comment><USER10> Selling data, renting it, or monetizing derivatives of it...does it matter? Being a gatekeeper to data pays regardless of what kind of transaction is occurring.

<comment><USER11> Because, $BAD_ACTOR$ may be able to target advertizing to $GROUP_X$ in one scenario, but in another, may actual have the underlying data which can be abused in _MANY_ other ways.

For example, you search for porn content... an advertiser targeting porn content doesn't know _YOU_ search for porn content in the former... in the latter they do know.

<comment><USER10> What is the practical difference(s) between those two scenarios?

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Hm, interesting, I thought this would be more about how these companies define "active user". For example: is a user with the app installed, logged in and running in the background considered "active" that day, even if they don't actually launch or really use the app? If you send them a notification, even if they don't click on it, are they 'active'?

Normally I'd be cynical and say it's in the company's interest to be as loose as possible how they count 'active' so the MAU/DAU (monthly/daily active users) numbers are high, but if you are looking at ARPU (average revenue per user) then a lower MAU/DAU means higher ARPU. What's more valuable?

<comment><USER13> >For example: is a user with the app installed, logged in and running in the background considered "active" that day, even if they don't actually launch or really use the app? If you send them a notification, even if they don't click on it, are they 'active'?

I'm not aware of any company that defines active user in this way. Typically for an app it would have to be an explicit user interaction such as opening the app to count as an active user for that day.

</comment></comment><comment><USER14> Seriously? Pinterest makes less than $9/yr off of me? I would drop $10/yr to not have to see ads again and probably use the service more.

<comment><USER15> I would happily pay $10 per year to never see pintrest again. I would strongly suspect this rings true for the vast majority of people.

<comment><USER16> > I would strongly suspect this rings true for the vast majority of people

Could you provide your reasoning for this strong suspicion, beyond the fact that you don't like it?

(I also can't stand Pinterest and don't know why Google Images ranks it as highly as it does. That said, I'm not willing to assume my preferences are representative of the population when (a) Pinterest has hundreds of millions of MAUs, (b) Google has better data than I do and as strong or stronger incentives to deliver good results, and (c) I don't have any data about anyone else's preferences. [https://equilibriabook.com/](https://equilibriabook.com/) has more on figuring out whether one's thesis that a system is broken is actually correct. [https://equilibriabook.com/living-in-an-inadequate- world/](https://equilibriabook.com/living-in-an-inadequate-world/) section ii is a great starting point.)

<comment><USER15> It's a suspicion, not a research paper.

If I had data, I wouldn't have said I suspected it.

A suspect in a crime is what you call them _before_ you gather the data on whether or not they did the crime.

All it is as it stands is a good basis to go and gather some data. However, it doesn't bother me quite that much, and so it's merely a passing interest for me.

</comment></comment></comment></comment><comment><USER17> It doesn't seem fair to assume the international ARPU is maxed out just because the US ARPU is. I imagine the lose markets are just less mature and are more focused on growth at this point than monetization (as they should be!). What's the ratio of US/international ARPU for comparable companies?

</comment><comment><USER18> Pinterest is a visual search engine, not a social network. Comparing it to SNAP or Facebook valuation is missing the entire point.

I think Pinterest has other problems - mostly a market based on manipulating it - but hell so does google but google is further along in tech/services to increase quality.

What i _really_ can't stand about pinterest is that even though it is a visual search - it requires an obscene amount of work from creators to be competitive - having to update your "pins" monthly and cycle them through and do A/B testing all the meanwhile others are stealing or borrowing your pins to enter those search terms/markets it creates a downward spiral - soon topics look spammy and only those who can afford to commit so much time/effort see the reward - then they turn around and start a business selling their idea.

No one looks at your boards anymore, they all search so people stuff their boards to find every variation of keyword and its starting to surface up to the search meaning searches get spammed by those who got there first rather than those most relevent.

<comment><USER19> "Pinterest is a visual search engine"

Aaah, ok kinda make sense now. Been hearing about this site for years, and I still don't 'get' what it actually is.

I think the part of my brain that understands social media is broken.

<comment><USER20> I just use it for bookmarking images I might want to come back to or share in the future (e.g., my favorite XKCDs, screenshots of GUIs for inspiration, etc.).

The funny thing is that even though I have lots of clippings, I rarely ever go back to Pinterest to actually look at them.

<comment><USER21> I've found that for myself, the joy is in the collecting, not in the having.

<comment><USER22> That was the case for myself as well. I used to find in therapeutic to pin cookie recipes and Halloween decorations during my work break (from a job I was not too fond of).

</comment></comment></comment></comment></comment><comment><USER23> Pinteres has poor marketing. I've always heard of it as something aimed at women and architects, full of decoration and hairstyle concepts. But they have, to my knowledge, an impressive catalog of (i) really niche erotica (maybe bordering on pornography, but not in the bad taste that databases of pornography have) and (ii) abstract art, both in more common settings (color field, etc.) and in more niche types such as asemic writing.

There's just so much asemic writing on Pinterest! On facebook I used to follow many artists; when I quit facebook I was thirsty for art for a long while. The effect is that Pinterest seems to have unending quantities of that very specific material, much like YouTube has seemingly unending quantities of music that's not officially licensed for streaming anywhere (hours upon hours of Japanese and Polish jazz...)

<comment><USER24> How would one go about finding these collections? (asking for a friend...)

<comment><USER25> Same way you find anything: by searching for it, liking things that are similar to what you're looking for, and following any boards and/or people who have things close to what you're looking for. Warning: Pinterest's recommendation engine is generally quite good, but once you've shown an interest in something, it's hard to get it to stop recommending similar things. So you might want to use different accounts for certain subjects.

<comment><USER24> I mean, you want me to search "niche erotica"? It sounded like you were describing specific collections that would have associated URLs.... but certainly understand if you don't want to post those links here.

</comment></comment></comment></comment><comment><USER26> Does anyone know why Americans seem to be much keener on spending money?

<comment><USER27> I'm constantly surprised on this site by comments like "I would gladly spend $50/month on this", in response to startup/SaaS ideas that I'd balk at spending $5 on once. Perhaps it's cultural or perhaps there's just a lot of San Francisco salaries commenting here.

<comment><USER20> > I'm constantly surprised on this site by comments like "I would gladly spend > $50/month on this"

If someone's willing to spend $50/m on something, the pain point being addressed is usually perceived as worth $50 or more in terms of money, time and/or stress.

Pricing is usually set based on a specific target market, so if you only value that pain point as being worth $5/m, then you're likely outside of the target market.

</comment></comment></comment><comment><USER13> What part of this article talks about these companies "hiding" user attrition? It's not like they are failing to disclose these numbers at all.

</comment><comment><USER28> I appreciate the analysis. I love thinking about these economics so I deeply appreciate the thought process!

My question would be, and I hope to be able to dig in later, is the international ad platform rolled out completely? Ad products tend to roll out continuously and I would want to know if the problem is adoption of the platform from advertisers or a low-usage issue.

Advertisers will always find out where customers are so I would assume that it's either the platform isn't getting adopted or the actual tool of delivery is lagging behind, maybe until adoption increases.

</comment><comment><USER29> I still don't understand why Pinterest makes any sense for the investor but I guess I dont understand pinterest and their target audience. I have never once thought about browsing or even encountered Pinterest links through google searches.

<comment><USER30> Do you ever look for curated product list like wire cutters? Do you ever look at car or home improvement forums or reviews to see which is the best product. Do you like when sites so grids of feature comparisons?

Pinterest is this but for things that are mostly asthetic. Eg show me curated groups of products that for my style.

I hate Pinterest ui but as I get into leather working I can see why having curated lists of things in a style vector is useful. Also why I'd want to just pin things I saw into a page about a backpack. Or garage cabinets for me redoing my workshop.

</comment></comment><comment><USER31> Suppose all this points out is that Pinterest needs to hire Facebooks international growth team. Surely there are countries outside of say India where users are more prone to monetization, despite stagnating growth in the USA.

<comment><USER32> Not many, aside from the anglosphere and western europe.

[https://www.bloggingjoy.com/adsense-high-cpc- countries/](https://www.bloggingjoy.com/adsense-high-cpc-countries/)

</comment></comment><comment><USER33> I love how the guy's in the right foreground of the image uses his monitor to hold his sticky notes.

</comment><comment><USER34> This is a hit piece. Why didn't she update her article with the results of Snaps Q1 earnings that came out later the day this was published? 190 DAU goes against her narrative of declining users

<comment><USER35> She said "You'll see below that the user base has struggled to break out over 191 million daily active users and has declined to flat for three straight quarters" which still holds true with Q1 earnings at 190</comment></comment>


Being able to build something cool is not good enough. Neither is fast performance. - <AUTHOR> http://groups.google.com/group/comp.lang.lisp/msg/751421f6fdcfd71e

<comment><USER2> I think a better summary of the article would be, "Cool technology can give you an edge, but doesn't mean anything if you aren't providing profound value to a paying customer."

So often as geeks we look for a problem to solve with the latest technology/language we're fascinated with, rather than looking at our own lives and professional experience and at problems we need solved that might have broad applicability to identifiable, verifiable others regardless of how sexy the guts of that solution are.

Its the classic trap to fall into, and despite all the resources out there telling you not to, more technology startups make this mistake than don't. As geeks, we are drawn to technology, not attuned to market needs. Must learn difference.

Thats how it is for me, anyway, and I think its what the author meant :)

<comment><USER3> Let me add to your post. The edge cool technology can give you only counts if the markets perceive it.

</comment></comment><comment><USER4> This kind of generalizations aren't entirely correct, because they don't take into account levels of abstractions that exist in our industry.

If you are into OS kernels or compilers, for example, you are at one of the highest levels of abstraction, and you are least dependent of what customers think they might need or are willing to pay. At this level you decide what customers need more often than the other way around.

As opposed to writing a document management system where you are simply enslaved by your customers' immediate needs and of course things like performance or elegance don't matter any more.

(Been in both worlds already. Should I say how much I miss the more abstract world? Sigh.)

<comment><USER5> I really don't follow this line of thinking. Unless you are independently wealthy you always need someone to pay. If you are working on more abstract levels like kernels or libraries then you just have more technical customers is all. It doesn't matter how many downstream entities could potentially use your abstract product if you don't have someone to pay for it up front. Of course you could just do the open source thing and eventually hope to get sponsorship (eg. Linus), but really that's just another type of sale that is contingent on value you are providing.

<comment><USER4> I tried to point out areas where performance and elegance still matter and where customers more often don't know what they need, that is, areas where developers are kind of ahead of customers' immediate needs, contrary to the point of the original post. So my comment wasn't really about the business side of things, i.e. who pays, when and how.

</comment></comment></comment><comment><USER6> _Being able to build something cool is not good enough. Neither is fast performance. Both are important, but the human commitment and real ability to make actual individuals happy at firms that are potential customers is more important than either. Doing what you say you will do--promising delivery dates and consistently meeting or beating them, for example--wins big. Convincing potential customers that you will work ten times as hard as the nearest competitor to please the customers wins sales. Version management, customer support, and documentation quickly become vitally important._

to summarize this article, delivering and committing to your customer/client. common sense business etiquette IMO, but strangely enough — an easy and strong differentiator, so many people fail at this concept.

on the flip side, I'm also known to support the notion of rejecting your customer. there is a good read about it in the book, Mavericks at Work.

</comment><comment><USER7> To paraphrase Sun Tsu, therefore one hundred successes in one hundred complex projects are not the most skillful, creating lasting and profitable business with little or no effort is the most skillful.

</comment><comment><USER8> What is the difference between a programmer and coder? (or manager and worker) Programmers talks about ideas while coders talks about tools. =)</comment>


Excel FIZZBUZZ challenge - <AUTHOR>

OK so inspired by a post I saw on HN about 'FIZZBUZZ' a day or so ago I was inspired to send out a challenge to my department. I thought i'd share with HN to see if anyone can do anything impressive with it.
My Challenge was as follows:
OK, so everyone uses Excel right, but how good are you with your formulae?
The challenge is to write a formula that references the cell to the left, which should have a number in it. If the number is divisible by 3 then the cell with your formula in it should show 'FIZZ', if the number is divisible by 5 then your cell should show 'BUZZ', if the number is divisible by both 3 and 5 it should show 'FIZZBUZZ'. If it's divisible by neither 3 nor 5 then the cell should show the number in the referenced cell.
The Actual Challenge!
So some of you may find the above hard, some of you may find it easy. To separate the men (and ladies) from the boys (and girls), the challenge is to write the formula using the least number of characters possible!
So, for example, if the challenge was to add the number 1 to itself, then the formula =1+1 would beat =SUM(1,1) because the first only uses 4 characters to do the job,  the second does exactly the same task but uses 9 characters in the formula.
The person that come up with a working formula to perform the 'FIZZBUZZ' action described above, using the least number of characters, wins!
Note: No scripting or anything other than native Excel functions allowed! It needs to just be a formula that can be copied and pasted on to any sheet.
Go! <comment><USER2> Perhaps the people in CodeGolf may be interested in this challenge: [http://codegolf.stackexchange.com/](http://codegolf.stackexchange.com/) But I couldn't find an "excel" tag, so perhaps they bounce your question to another stackexchange site.

<comment><AUTHOR> Thanks for the link</comment></comment>


Using && and || outside of if-clause in JavaScript - <AUTHOR> http://bytearcher.com/articles/using-and-and-or-outside-of-if-clause/ <comment><USER2> There's a part of me that likes this style because it's compact, but I've learned to avoid relying on others understanding shorthand. The rule of thumb I go by right now is that if I can make my code read more like English, that is the style I will prefer.

To a junior developer, "if (typeof request.session !== 'undefined') {var sessionId = request.session.id;}" is going to be more readable. It's hard to mistake the intention.

Most people in this industry speak English. It's easier to take advantage of that than to rely on your peers understanding &&||@(#*$((())) or whatever.

..unless you're taking part in an obfuscated code contest, in which case you should use these techniques as a basic building block.</comment>


Github is down - <AUTHOR>

Confirmed at status.github.com They are experiencing problems <comment><USER2> Now it's back!

<comment><AUTHOR> Yup true . Seen it :-)</comment></comment>


Recruiting process gone dark - <AUTHOR> Hi I'm hoping just to get some advice. I went through the whole Amazon phone rounds. I received and email saying that I was invited to the Seattle interviews and they were requested dates within the following three weeks of that email. That's was 4 weeks ago. I was contacted after that by phone saying that they didn't realize my start date was in May ( I'm graduating and they did know this) and that I was being moved to university recruiting and that I was still being flown out for the interview. Then it sounded last that my original recruiter was still handling my application. However I feel like I'm just being told things and that it is all slipping away. Any advice? I haven't received anything from my original recruiter since the first invitation... Panicking a bit. <comment><USER2> [https://sites.google.com/site/thefaceofamazon/](https://sites.google.com/site/thefaceofamazon/)

Seriously don't panic. If this has gone dark it's for the best. If not, then please consider other, saner, alternatives.

<comment><AUTHOR> Yeah I realize that and I've been saying it the past few days myself. It's just so frustrating!

</comment></comment><comment><USER3> Send me an email. I know a few people at Amazon. They might be able to help.

<comment><AUTHOR> Hey thanks for replying I'm not able to find your email in your profile. Thanks!</comment></comment>


Is Consumerism Killing Our Creativity?   - <AUTHOR> http://the99percent.com/articles/6775/is-consumerism-killing-our-creativity

<comment><USER2> By the way, if you have children I highly recommend reading Bronson and Merryman's book _NurtureShock_ to get a good overview of the current research into cognitive development.</comment>


Direct vascular channels connect skull to dura, enabling myeloid cell migration - <AUTHOR> https://www.nature.com/articles/s41593-018-0213-2 <comment><USER2> Are these vascular channels like tiny veins?

Would such things be severed if someone were to have a craniotomy / brain surgery during which a piece of skull is temporarily removed for access?

<comment><AUTHOR> Yes, they would be severed in such a case. I am a retired neurosurgical anesthesiologist.

<comment><USER2> Would they regenerate after the skull was put back in place?

Are there other connections -such as the recently discovered lymphatic vessels - that are severed during craniotomies?

[https://www.theatlantic.com/health/archive/2017/10/scientist...](https://www.theatlantic.com/health/archive/2017/10/scientists- somehow-just-discovered-a-new-system-of-vessels-in-our-brains/542037/)

I guess the bigger question I have is what are the repercussions/downsides of removing large portions of the skull temporarily?

<comment><AUTHOR> >Would they regenerate after the skull was put back in place? I had EXACTLY that question after responding to your earlier comment. My best guess: I think they would regenerate. But I suspect that would depend on the age of the patient, with regeneration capability (if it exists) decreasing with age. >Are there other connections -such as the recently discovered lymphatic vessels - that are severed during craniotomies? I hadn't seen the Atlantic piece so I read it carefully. The article's writer (not the scientist he interviewed) wrote "The lymph vessels probably escaped detection because they're inside a thick membrane, the dura mater, which is the consistency of leather. They run alongside blood vessels that are much larger, and on MRI the signal that creates the images is dominated by the blood vessels." Reading that, I thought that these newly discovered lymphatic vessels were not connected at all to the skull. But further along in the article: "It now seems clear that there is a third pathway through which byproducts get out of the brain — and it may be the most important — through these specialized vessels in the dura mater.'Looking back, those other two really seem insufficient,' said Reich." Reich is the lead scientist whose paper is cited in the Atlantic article. Since the skull-dura connections just discovered and described in my OP had not, as far as I can tell, been known previously (i.e., in 2017 when Reich's paper appeared), I'd have to again plead uncertainty and ignorance. Lymphatic connections between bone and dura — or between bone and any other structure in the body — that's outside my knowledge and expertise. >I guess the bigger question I have is what are the repercussions/downsides of removing large portions of the skull temporarily? It's been done since Pharaonic-era Egypt, without apparent repercussions/downsides. In my experience of having anesthetized patients for an estimated 500-1,000 craniotomies with bone flap removal over 38 years of practice, I can't say I've ever noticed problems (other than post-op infection or CSF leakage). Consider also that many patients never have the bone flap replaced but instead have a metal plate applied over the opening in the skull, which they then live with without apparent sequelae (other than TSA kerfuffles when the airport metal detector goes berserk) for the rest of their lives.

<comment><USER2> Thank you. Very interesting.

Might be interesting to see if patients who've had a craniotomy (of some threshold of size) have greater neuro-related issues in their future.

Do they have less capacity to inhibit inflammation, etc.

I suppose the bias would be heavy, since there's prob something troubling happening in the first place if they're cutting open your skull. :)</comment></comment></comment></comment></comment>


IPhone dev to donate $10,000 to creator of cocos2d open source game engine - <AUTHOR> http://www.cocos2d-iphone.com/forum/topic/76

<comment><AUTHOR> The girl that was responsible for this game works with me actually. You guys can check out the flash version of the game here: <http://www.tophatmonocle.com/hopple></comment>


The NYC Marriage Index: Searchable database of NYC marriage licenses, 1950-1995 - <AUTHOR> https://www.nycmarriageindex.com/ <comment><USER2> Hi, I'm the woman who sued the city, liberated this data, and created this website. Feel free to ask me anything. :-)</comment>


The Don't Be a Dick License - <AUTHOR> http://github.com/SFEley/candy/blob/master/LICENSE.markdown

<comment><USER2> This has the exact same problem that the JSMin "don't be evil" clause and all other similar licenses have. It's not compatible with other free software licenses.

Code using this license can't be reused in the vast majority of other FOSS projects.

</comment><comment><USER3> I'm a fan of the WTFPL <http://sam.zoy.org/wtfpl/>

</comment><comment><USER4> Isn't the whole point of FOSS that the code can be redistributed without caring about issues like this?

 _A person who does not respect the time and energy that have been invested in the Project, and acts to punish such effort by giving others associated with the Project -- including, but not limited to, the Author -- a hard time. A Dick is nearly always selfish, but not necessarily with deliberate intent; some Dicks are merely thoughtless. The distinguishing characteristic of a Dick is that he or she places burdens upon Reasonable People, reducing their motivation to engage in open source activities. This damping effect is a significant detriment to the Project, to open source in general, to the production of new intellectual value in the world -- and, ultimately, to the Dick himself or herself._

Sound pretty subjective to me.</comment>


Show HN: Lincluster – Quick and easy Linux cluster management - <AUTHOR> https://lincluster.com/ <comment><AUTHOR> Hi HN! I'd like to show you something I've been working on for a while.

I often find myself setting up a number of linux servers and getting frustrated at the tools available to easily coordinate them. I'm talking about basic things - configuring ssh keys, users, installing the same few packages (ufw, fail2ban, git, ...), configuring wireguard so they can securely talk to each other, and then keeping them in sync. I usually end up with a couple of ansible playbooks and disparate notes spread over the place containing info on what server does what, how they are configured, which playbooks to run, and so on.

I've been building Lincluster in order to address some of these issues. The idea is that once the master is configured, introducing a new node to the cluster is a simple as `wget`'ing and running a single binary that then coordinates with the master in order to fetch the latest package states and system configuration files.

The major features I have so far (that have been personal pain points in the past) are -

      - Installing a preconfigured set of packages, and installing new ones / removing old ones when this list changes
      - Automatically copying configuration files to specific places
      - Being able to have a central auth service, so you don't need to copy ssh keys to each node and update them all when adding/removing authenticated users
      - Having a quick UI to instantly bring up an in-browser shell to any of the servers

I intend for it to be completely free for personal use, and I'm currently thinking about pricing models for business use.

I'd love to hear any and all feedback on Lincluster! :-)</comment>


Marissa Mayer Has Completed Step One - <AUTHOR> https://medium.com/backchannel/marissa-mayer-has-completed-step-one-71dc31912855 <comment><USER2> This is possibly the most source-friendly piece of tech journalism I've read in a while. I don't think there is a single point in that piece that would make Yahoo PR the least bit uncomfortable. Credit where it's due, the article is incredibly well written and beautifully presented. It's just a shame to see such unquestioning faith in a source. One by one, Levy hammers away at every recent criticism of Yahoo. Anything that could not justified was deemed to be overblown.

"Some of the various flaps involving her leadership were crazily overblown, like her personal child care accommodations, or an edict against working at home that affected a tiny percentage of Yahoo's workforce."

Every original fact in this article is information Yahoo would obviously want to share, like the success of its revamped ad platform. Based on the way he has failed to question anything else that Mayer has done during her tenure, it is hard to believe that these facts were questioned and examined in any detail.

Don't get me wrong: I think that Mayer may be doing a good job. I'm not too sure either way. I just think, as a piece of tech reporting, this is embarrassing.

<comment><USER3> Calling it "reporting" is a stretch. It's a blog post.

<comment><USER4> You know who Steven Levy is, right?

[http://en.wikipedia.org/wiki/Steven_Levy](http://en.wikipedia.org/wiki/Steven_Levy)

And in his own words ([https://medium.com/@stevenlevy/im-moving-to- medium-6869c0e32...](https://medium.com/@stevenlevy/im-moving-to- medium-6869c0e3262c)), he was hired by Medium to " _establish a tech hub that strives to bring well-reported, lively, and meaningful reporting and writing to what is already shaping up as a terrific platform for the written word._ "

<comment><USER5> I agree the article is favorable to Yahoo, but it strikes me as likely that the author conducted interviews, reviewed the facts, and wrote what he thought was the truth. Some folks on this thread may disagree with his conclusions, but that by itself does not make it bad journalism.

Disclaimer: Steven is a friend, occasionally a competitor (before I left to found Recent.io), and someone who once approached me to work with him.

</comment></comment></comment></comment><comment><USER6> I'm one of those people with a yahoo email account, mainly because I'm on the old side now and got it way back when yahoo email was, well, kind of like hotmail for people even older than me. The article refers to people like me as loyalists, but I'm really not. I honestly don't like my yahoo email account.

It's not technology, it's the the nature of the company itself. I know all websites want to keep you around, but the difference between using gmail and yahoo mail is remarkable.

I just went to mail.google.com, and I see my email. Now I'm going to yahoo mail… there's a big ad for life insurance next to my messages. Above them is a slightly larger link, intended to look like an email messages, for "rich dad, poor dad." Actually, something interesting has happened lately… the link expands in size about 3 seconds after the page has loaded. I'm starting to wonder if yahoo has noticed that if they do this, they will expand the ad just at the moment that the users wanting to check their email click on the first, top message, leading them instead to click on an ad, increasing "click through".

I'll admit, I'm leaning toward the tinfoil hat side of suspicious with that last one, but there's a reason I've started to think this way. Go to yahoo's front page, and it's click bait city. It seems like yahoo will do everything in its power to make sure I don't do what it is I came to the site to do, run a web search, or check my email.

In short, it appears to me that yahoo is still a media company, following the portal model, trying to get people to stay on the site for reasons that had nothing to do with why they came to the site. And by click bait, I mean titles like "the one medical test you shouldn't skip!", or "the 5 signs that he's manipulating you". In short, I'm starting to wonder if having a yahoo email account is actually a risk to my ability to concentrate.

Maybe yahoo is becoming more of an engineering/technology company, maybe not. If Mayer can make this happen, that'd be quite an accomplishment. There's definitely a huge legacy of specifically intending go _not_ be an engineering company.

<comment><USER7> _Actually, something interesting has happened lately… the link expands in size about 3 seconds after the page has loaded. I 'm starting to wonder if yahoo has noticed that if they do this, they will expand the ad just at the moment that the users wanting to check their email click on the first, top message, leading them instead to click on an ad, increasing "click through"._

This happens _all the time_ when I read Ars Technica on my phone. That effective clickjacking, combined with the GE puff pieces of late, have notably reduced the frequency with which I visit Ars.

<comment><USER8> You have to wonder just how stupid the advertisers are. They, and not the site's users, are the ones who are _really_ being played for suckers.

</comment></comment></comment><comment><USER9> Is it strange that people defend Mayer so much ? I find it a little strange. I'm having a hard time figuring what the baseline of criticism is for a tech ceo, and how much they get defended from it.

I know Jobs, Gates, Ballmer, and Zuckerberg, have a crazy amount of criticism, and usually the (if it ever comes) defense comes later after the company/project gets huge or financially successful.

<comment><USER10> I definitely think she deserves criticism for stopping the work from home policy. This industry had a huge chance to move away from traditional office work to a much more flexible type of work environment. Her move put a significant dent in that.

<comment><USER11> No! Her job as CEO was to fix Yahoo. If the work-from-home program was a problem at Yahoo, it was her responsibility to address that.

You speak as if it's a foregone conclusion that working from home is a good idea, but not everybody agrees with that. So you're suggesting that she should have made a decision she felt was bad for her company to advance your personal agenda, and that's a little bit crazy.

<comment><USER12> I'm honestly not sure if Yahoo is "fixable." I don't use any of their products and I can't see any reason to change that. Everybody else does everything they can do better or is utterly irrelevant to me. But even nobodies can get people on board with a compelling product--I still remember abandoning Infoseek for the then-unknown Google--so it's up to them to create a reason to use it.

</comment></comment></comment></comment><comment><USER13> I don't like when people say, "Just look at the stock price." The stock benefit came from not undoing the work of her predecessors who purchased Ali Baba. The article does jump into this later.

Turnarounds take a while, and this is indeed Step 1. I can't think of another "It" company that returned to greatness. Perhaps AOL is the closes. (For those who argue for Apple, I don't think it was the "It" company the first time around)

<comment><USER14> I don't think yahoo was ever really an 'it' company...they were (maybe) an 'it stock', but that's a who nother ball of wax. At the company level, in terms of having a "category killer" product, they never had one.

In order for Yahoo to ever right the ship, that is what they need. They need to become indispensible for either offering something unqiue or something of unqiue value.

Their investment in alibaba was close to that...both unique to investors and great value...where else could you a private equity stake in a huge chineese start-up?

The issue there was the "killer product" was a specialized financial asset with a finite life. This is distinct from something with an evergreen consumer service or product that will be monetizable over the long run.

The task for the CEO is can take the capirtal on hand and start building good (evergreen) products?

If nothing else she should be given (retain) some capital and another 3 years before making a final judgement. At that stage, take a look at the pipleline and if there is nothing in it...that will be a signal.

Yahoo right now is like a pharma company which had a blockbuster come off of patent...its all about the ability to re-plenish the pipeline...the profits that happened previously are nearly irrelevant except for providing the position/capital to recruit people for the next round of product development.

<comment><USER15> Does a "media" company ever had an "it" (killer-product/cash cow) long-term product?

Yahoo! is not a software company (yet).

Comparing Yahoo! against Google, Microsoft, or Apple seems like comparing NBC/ABC/Fox againt those 3 no/

<comment><USER13> It used to be a software company - it was Google before Google. I think the media distinction is a little false.

Several media companies have had long term products: The Big 3 networks pre- cable, HBO, Dreamworks...

</comment></comment></comment></comment><comment><USER16> For a more pessimistic take on Yahoo's outlook, have a look at this earnings analysis from Forbes, which was posted recently on HN:

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

The author claims that Yahoo's core business is growing less profitable and its numbers are propped up by non-recurring revenue.

</comment><comment><USER17> I like that phrasing in the title. She's done a lot, but there's clearly a lot more to do. This is a well written piece of long-form.

I do often forget about small things like the Weather app, which is absolutely delightful. I hope they apply that level of polish to their other apps. Personally I think they should skip small apps such as Weather and just dive right meatier categories such as Mail

</comment><comment><USER18> Which step is creating a killer product?

<comment><USER19> Nah, just buy a startup that has a decent product and a bunch of users, inject more and more ads until the product dies, rinse and repeat.

</comment></comment><comment><USER20> It's progress. But the real problem was that Yahoo got out of search. Search is the cash cow of the industry.

</comment><comment><USER21> 31 months is a long time though.

<comment><USER22> Steve Jobs at 31 months hadn't got to the iPod yet.

<comment><USER23> Yeah. At his 31 months back at Apple, Jobs was getting ready to launch the Power Mac G4 Cube and the Flower Power iMacs... The investment community thought he had lost it, and Apple's stock price collapsed. (There was also that dot-com bust thing, I know.)

At the same time, Apple was building the iPod. When product cycles are long and vision spans even longer, current performance may not be indicative of what's coming.

<comment><USER24> That's a little uncharitable. The original iMacs were ridiculously successful, you couldn't turn on the TV without seeing one.

<comment><USER23> Sure. But by 2001, the 15" CRT form factor was getting stale. Apple tried to refresh the design with patterns named "Flower Power" and "Blue Dalmatian":

[http://apple-history.com/imac_cdrw](http://apple-history.com/imac_cdrw)

These got, um, mixed reviews, and didn't sell well. (Even the famous taste of Jobs+Ive failed sometimes...)

</comment></comment></comment></comment></comment><comment><USER25> Only thing I hope is that this company will die out before shelling out another billion at the next big social thing and kill it like they know so well how to do.

<comment><USER26> I had another comment downvoted and invisibanned for suggesting that yahoo is basically an SEO spamhouse now. Look at their landing page in the uk at least. Right now it is articles about people's sex lives, adverts for makeup, adverts and viral videos

<comment><USER25> Oh yes I would downvote you too, don't you realize the effort that comes into crafting all this content that you qualify of spam? Many people have to come together and figure out ways of making seemingly non-intelligent beings click on things. This is in no way a small feat and I must say they are very good at it, almost Buzzfeed-level of perfection.

</comment></comment></comment><comment><USER27> Eleven to go?

</comment><comment><USER28> My recent experience with Yahoo:

A while ago after I installed uTorrent all my browsers (Chrome, Firefox and Safari) switched to Yahoo as my default search. Then I changed them back to Google.

After a while (I guess after I rebooted the computer) again all browsers showed Yahoo again. I googled for some help I found a hint that I have to disable and remove the 'Searchme' extension. I did so.

After a while (I guess after I rebooted the computer) again all browsers showed Yahoo again and the Searchme extension showed up again. And still Searchme is there—I took a screenshot [http://imgur.com/OsH9o0m](http://imgur.com/OsH9o0m)

EDIT: Why the downvotes?

<comment><USER29> uTorrent is pretty terrible these days, I steer everyone away from it.

<comment><USER30> And in what direction do you steer them?

<comment><USER31> transmission

<comment><USER32> +1 for transmission, great app.

<comment><USER33> The song is really good too.

[https://www.youtube.com/watch?v=rYaN2w6rcgk](https://www.youtube.com/watch?v=rYaN2w6rcgk)</comment></comment></comment></comment></comment></comment>