Ask HN: How have you increased your reading speed/comprehension? - <AUTHOR> After Alan Kay's AMA, where he claims to have read 20,000+ books in his lifetime, I have been interested in how one can read without losing comprehension. Enhancing the learning algorithm is crucial for absorbing more information.<p>All methods, both technical and non-technical, are welcome. Some methods I am playing around with are Spritz and the method espoused by Tim Ferriss[1].<p>[1]: http://fourhourworkweek.com/2009/07/30/speed-reading-and-accelerated-learning/ <comment><USER2> A start here would be to see if your reading of the AMA resulted in an accurate memory. For example, did I actually claim to have read "20,000+ books"? What did I actually say? No amount of speed is going to help if the recall is so noisy? And, something to ponder, it would have been easy to look to see if what you attributed to me was accurate? Why didn't you? And so forth.

<comment><AUTHOR> My mistake, I should have looked! I now recall you saying that your friends have read more than that.

I will practice more thorough accreditation. Thanks for taking the time to point this out!

<comment><USER2> Here is something for all to ponder. Remember when someone switched the TV channel into the middle of a movie you haven't seen for 20 years. How long did it take for you to recognize the movie? And how often did you have a good sense of what is next? Most people report "a second or so". Think about this: when you saw the movie you were not trying to remember it, you did not know you would be tested 20 years later. One way to think of this is that it is highly likely that memory is not the problem to be dealt with, but that _recall_ is.

<comment><USER3> Do you take notes while/after reading a book?

I suppose that would increase recall, and you could always re-read your notes to remember the most interesting points.

<comment><USER2> I don't take notes. (It's worth pondering whether taking notes is really an aid to internal remembering...) In any case, what I was trying to point out was that it could be the case that we actually remember almost everything, but have real difficulties in recalling our memories without cues. (It's also worth pondering just what it is that "autistic savants" might actually be doing ...)

<comment><AUTHOR> Aren't we reading, in part, for recall of insights (during conversations, brainstorming, or otherwise)?

If we take notes, our eyes are away from the text itself, practicing a simple exercise in recall. In a sense, you are "chunking" the concept.

In addition, the commonplace book become your second brain, an accumulation of cues that will trigger the chunks. A semi-permanent digital repository of knowledge that you can tap into on need-basis.

Whizzing through a book without necessary stops for chunking seems to put to question why we read in the first place.

</comment></comment></comment></comment></comment></comment><comment><USER4> I went through a phase in late teens where I read a couple different speed reading books and tried out the techniques as well as actively practicing and pushing my eyes and brain to move faster.

After going through that phase I backed off and don't really try to push myself to read fast - but those efforts helped set a different pace and I still read faster than most people around me.

Some things that I think are important: (just one guy's opinion)

1\. Try to be broadly curious - an interested brain remembers better.

2\. Develop your vocabulary. Particularly if you are reading something outside of your field. Textbooks often have a vocabulary section in the back of the book. Take some time to read through that before tackling the book.

3\. Comprehend the structure before diving into reading. It is useful to read through the Table of Contents before starting to read a non-fiction book. Having a sense of the structure in advance helps you with memory and context for specific facts.

4\. Read every day.

5\. Read lots of different kinds of materials.

6\. Allocate your time and attention. Give yourself permission to speed up and even just scan when it feels appropriate but also permission to slow down and focus on comprehension and integration with what you already know when you get to parts that challenge you or feel particularly important.

<comment><USER2> I think these are good advice. A few additions and complements:

What seemed to work for me: 1\. I started reading very early in life, and like early sports and music learning, I think this made a difference.

2\. Most recall and understanding is relative to existing knowledge, so the more you have to link up to (and the more you read with linking up in mind) the better.

3\. I've found that association (2.) works better than trying to understand everything while reading (the understanding is generally there the next day).

</comment></comment><comment><USER5> I haven't fully read _How to Read a Book_ by Mortimer Adler, which is likely to be referenced in another comment, but I do something that's referenced in that book: syntopical reading.

When I read stuff I usually grab a few books on the same subject and read through them, using a mix of ebooks, physical books and audiobooks, so I can fill in dead time in different contexts with reading something on the same topic. I'm able to compare the ideas of the books and that seems to collate them better in my head.

Other than that I've given up and consciously trying speed reading tricks like using peripheral vision to read or reading stuff one word at a time. I'm sure there's more gains for those techniques but I just don't have the patience to put them in muscle memory at this point.

</comment><comment><USER6> You can look into PhotoReading and Mental Photography. The ideas sound "scammy," but if you look at what's being said generally, it'll help you (centering your mind, entering the alpha state (you can even use brainwave entrainment until you can do it naturally), suppressing subvocalization (repeating the words in your mind), scanning the table of contents and pages of the book to get a "big picture" sense of what it's about, "activating" what you've read (after taking a nap) by summarizing it out loud, etc).

Also, you can try taking supplements that help with concentration and maintaining awareness. Things like (N-Acetyl) Semax (Amidate) + N-Acetyl Selank + PhenylPiracetam Hydrazide.

If you ask questions, keep your mind active, and engage in what you're reading (visualizing, questioning, etc as you go), then it becomes easier to pick up on things, keep the pace, and fly through it all without even noticing.

Moving your eyes faster is really basic and almost stupid, but the idea of keeping your eyes moving (to prevent backtracking and spacing out) makes sense.

Also, if you have the choice, then it's better to read from a crisp-screen- having tablet, such that you can adjust the font size, width, and spacing of what you're reading, and can have software automatically scroll through the text (and show just the right amount of text at a time, to allow you to digest quickly without having to move your eyes).

</comment><comment><USER7> For me, the more I read the more I think I understand. Also, the more I know I forget. In an information technology metaphor, the metadata improves but a lot of the input stream data just gets dropped on the floor.

Of course, Kay may be different. But for me, some things stick and others don't and the things that stick stick due to some combination of my interests, the quality of the author's writing and dumb luck of timing in the external world. And that means that often I will make different connections when rereading because the context in which I am reading is different.

Good luck.

</comment><comment><USER8> I've switched to listening to audiobooks, which allows me to walk around while hearing the words. This helps me think about them better.

Some books are significantly better on audiobook, such as those written by a professor of Anglo-Saxon oral tradition. [https://mobile.audible.co.uk/pd/Classics/The-Fellowship- of-t...](https://mobile.audible.co.uk/pd/Classics/The-Fellowship-of-the-Ring- Audiobook/B004FTVZFG?source_code=M2M14DFT1BkSH082015011V)

</comment><comment><USER9> Pay attention to your environment. I still remember one fellow student complaining in college about his bio or chem grade -- some such. He always studied with music on.

I told him that would never work for me.

He studied for the next test without music. Came back all excited: Got an A.

I suspect Kay has had many decent offices in which to consume those books. Just a guess.

Environmental needs may vary by individual. Regardless, they are NEEDS for effective assimilation and thinking.

<comment><USER2> Good point! (Cog Psych shows that we don't really multi-task.) I've always been partial to beds and couches for reading ... and especially in the very early mornings ...

<comment><USER10> Anecdote about how time of day affects reading: Michael Silverblatt, host of KCRW's Bookworm and one of the country's best readers, says that during the day he reads at a relatively slow pace, say 50 pages per hour; but he will often wake up in the middle of the night and read an entire book over a few hours. I believe he referred to it as "nightbrain."

</comment></comment></comment><comment><USER11> I have a quick hack for reading long news articles on the web. Simply read the first sentence of each paragraph.

This works remarkably well. Most journalists seem to practice a uniform style when it comes to paragraph composition. The first sentence is the "thesis", and the subsequent ones provide the "evidence."

<comment><USER2> The subsequent sentences are also there for disclaimers and subsetting. The first sentence model is too weak for real writing.

</comment></comment><comment><USER12> I have a severe hearing impairment. I have a crazy fast reading speed, which I attribute in part to always having closed captions on television. Simply turning the captions on is a good way to pick up speed: eventually, you don't actually read what's written on the screen—you just comprehend it.

</comment><comment><USER13> Get more sleep.</comment>


8 CSS gotchas to start your morning off right (satire) - <AUTHOR> https://medium.com/@isaaclyman/8-css-gotchas-to-start-your-morning-off-right-c5daade0731d <comment><USER2> I was reading the first few and thinking "No... No... Hrmmm... this seems really misinformed" before it dawned on me around point 5 that the whole thing is satire.

It eases you into the realisation nice and slowly. I'm guessing given the penchant for people to comment based purely on titles, some won't even get that far.

<comment><AUTHOR> Excellent, that's exactly the effect I was going for. My posts have about a 75% abandonment rate, though, so most of the people who hit the post probably won't stick around long enough to get the joke. Oh well.

<comment><USER3> The satire doesn't come across very strong and makes the author look uninformed. CSS has its ups and downs but the problems faced in the article have been known and solved for years in production environments across the web. The article is basically misleading with no answer for those unaware.

Sorry if this feels harsh but reading through was fairly unpleasant.

<comment><USER4> The satire was fantastic, I loved it. I think humour is very subjective.

</comment></comment></comment></comment><comment><USER5> On number 3, that behavior is exactly what I would expect. Not sure what other logical behavior you would propose...

The other options don't make sense:

"A) Aligned horizontally with the first two, but after both of them?"

Floats are taken out of the normal flow so they will be pulled as far to the side as possible until they reach another floated element or the edge of the BFC.

"B) On the row after the first two, on the far left side?" "C) On the row after the first two, on the far right side?"

They are floated elements in the same BFC, if they fit on the same line, they will. Unless you clear them. Pretty simple stuff.

<comment><AUTHOR> I'm mostly with you, but it seems like an antipattern to ignore HTML structure like that.

<comment><USER6> It doesn't ignore HTML structure, it ends up like it does precisely because it iterates through the structure in order when moving the boxes to either side. It makes it fairly predictable if you just loop through the structure in your head and push the boxes to the side they are floated at.

</comment></comment></comment><comment><USER7> I thought the "SS" part stood for Stockholm Syndrome. Looking at some of the comments here, it seems I may have been right..

</comment><comment><USER8> Can't say I agree with this article - I don't really run into CSS gotchas too often anymore.

This just reads like a massive complaint-fest TBH.

<comment><AUTHOR> That's pretty much what it is. I guess my artistic goals have been accomplished, so I'll go home now

</comment></comment><comment><USER9> CSS is a bloody disgrace. A hideous abomination. Is there any word on the street, any alternatives coming down the road?

<comment><AUTHOR> You should be a street preacher ;)

CSS Grid and flexbox are a nice improvement over what I had to work with in, say, 2010.

</comment></comment><comment><USER10> I enjoy working in CSS (or maybe I'm just oblivous of a better way/paradigmn of styling, if so please enlighten me :)) so this was a great read. Thank you!

</comment><comment><USER11> Fantastic, thank you for making me laugh so much. Almost makes up for the years spent being tortured by CSS just so I could appreciate your tale.

<comment><AUTHOR> You're welcome, glad it could be part of your day.

</comment></comment><comment><USER12> Using CSS to design software user interfaces is like using Microsoft Word and a parallel port modem to compose symphonies. I'm sure there's some awe- inspiring way to print from Word to the modem so that it produces sounds that vaguely remind you of a French horn and viola -- but it's not clear why anyone should want to use these tools to create works of such complexity, if only they had an alternative.

<comment><AUTHOR> Agreed. If you come up with a way to write user interfaces using French horns and violas, I will start using it right away.

</comment></comment><comment><USER13> The one about vertical-align seems wrong. I use it all the time when aligning text next to images and that has nothing to do with tables afaik.

[https://developer.mozilla.org/en-US/docs/Web/CSS/vertical- al...](https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align)

<comment><AUTHOR> Yeah...I wouldn't say that "accuracy" was one of the main goals of this post per se.

<comment><USER13> Oh, sorry. I only skimmed it and missed the gist of it.

</comment></comment></comment><comment><USER14> Number 7, so many projects include bootstrap and don't even use the damn thing.

<comment><USER2> This!

I browse with uMatrix with some extra strict defaults (no 3rd-party CSS/images) and about 90% of sites that link bootstrap from a CDN work fine without.</comment></comment>


Samsung Galaxy S II Trumps iPhone 4S - <AUTHOR> http://thedroidguy.com/2011/10/samsung-galaxy-s-ii-trumps-iphone-4s/ <comment><USER2> It's sort of unsurprising that "thedroidguy" like the Droid better than the iPhone.

Also, his chart seems to only highlight (literally, in blue) the places where the Galaxy S II wins - notice how the Galaxy win in screen size is highlighted but the iPhone win in resolution isn't. He also makes implicit value judgements and doesn't tell you. For instance, both phones are on AT&T and Sprint, but the Droid is marked the winner of the category because its 3rd carrier is T-Mobile while the iPhone's 3rd carrier is Verizon.

All the above said, as someone in the market for a phone, there are more relevant factors that are too specific to the individual for a website breakdown. For instance, I spend 8 hours in a pre-war building with sub- optimal cell service and most of the rest of my day in the suburbs outside of 4g coverage, so 4G isn't crucial to me (but is to other people). Similarly, how much the overall plan costs per month may determine which carrier, which has an impact on which phone. A $10/month difference in calling plan prices is $240 over the life of the contract, swamping any difference in phone price. Or you may need a phone which works with Linux/iTunes/whatever, which also limits your decision. There are a lot of these factors which vary person to person and make it impossible for anyone to say which is the best phone in all circumstances for all people.

</comment><comment><USER3> Except for its sublime touch screen when it was introduced, the iPhone was never really about ticking off specs. Very much like the Mac has never been about specs in recent years (except battery life and weight). People choose Apple for software, reliability, support, and brand first.

So, any comparison that states that a phone trumps the iPhone 4S should at the very least talk about software.

<comment><USER4> People that I know and which have bought the iPhone 4, did this because of the design and because of the display. Among them are people using their iPhone just for phoning and SMS - some of them do not even know that there is an AppStore and that they could download applications ;) And I must say that half of them have now another phone. And 5 of them have broken and replaced already once their display.

So it is not only about software - design plays a huge role.

</comment></comment><comment><USER5> The comparison chart was created by Samsung, but if you actually look at it, they're pretty well balanced on hardware.

If you take the polished iOS UI and apps into account, you'll see that Apple has nothing to worry about -- yet.

But, the Android competition is clearly catching up. Yesterday I played around with a Galaxy II, and it's a very nice device with a huge screen. Based on my 1-minute consumer impression, the major downside compared to the iPhone is Android, which still isn't as nice and smooth as iOS.

<comment><USER6> How exactly you are using mentioned Galaxy II with one hand only? Oops, you can't.

<comment><USER7> Sure you can. My hands are pretty small and i can basically use it for simple things like reading an ebook, flipping the pages, read a new sms, call someone etc.

</comment></comment></comment><comment><USER8> Normally I'd be the first to bash the iPhone, but this hardly seems like a balanced or constructive article does it?

<comment><USER9> What were we expecting from "The Droid Guy"?

</comment></comment><comment><USER10> No. I'm sorry, but once you go 329ppi, 218ppi is embarrassing; compare the /size/ of the screen all you want, but all it means is that the contents is that much more pixelated.

Now, the Samsung Galaxy S II LTE HD (which has a 316ppi screen) is competitive, but the Galaxy S II is no comparison: you want an iPhone 4. Trust me: I don't like Apple winning this; I hate their attitude on openness more than just about anyone else, and I'd love a more reasonable piece of hardware to rest my software on, but they leapfrogged the competition so hard on the things that actually matter for day-to-day usage of the device, that apparently a year later other vendors aren't even trying.

</comment><comment><USER11> When I read articles like this, I'm amazed at how much some people misunderstand what I like about my iPhone.

I develop a mental picture of a squirrely, mad-scientist type who has just developed a cyborg lover and is frantically pitching it to a passer by on the street:

"Her lips are 8.6% larger than the average woman's! The width of her hips exactly 1.61803399 times the size of her waist size. The golden ratio! Her face is constructed using geometry indicated to be most appealing to the largest number of males in our thirty-thousand member clinical study! She's... um... ready & able to engage in intercourse using a synthetic lubrication dispersion system that contains real human pheromones up to 8 times a day! Try that with a real woman < _laugh_ > < _snort_ > !"

The passer by is confused and disgusted. As he walks in to his home, he grabs his girlfriend and holds her tight, breathing in her scent, and basking in the warmth of her embrace. Her measurements, nor the proportions of her face, enter his mind as he looks in to her eyes and tells her he loves her. The way she makes him feel cannot be attributed to any "specification".

====

I don't mean to say that I feel about my phone the way I feel about the woman I love, but that in similar juxtaposition, the reasons I feel the way I do about my phone can't be expressed using specifications.

</comment><comment><USER12> Having ties to Samsung i can confirm that they are trying to push their device because of its alleged hardware superiority.

What is true is that the Galaxy S2 has had these specs for the last half year...

The S3 isn't that far away anymore and before that the Nexus Prime will come knocking, so from a hardware standpoint the iPhone 4s is outdated on launch, which is quite sad in comparison to how advanced the first models were.

</comment><comment><USER13> Now all you need to do is make sure everyone sees this table of facts, and people will stop liking iPhones. Everybody loves facts!

</comment><comment><USER14> ultimately the number of units _actually sold to customers_ should speak for the best phone :p

<comment><USER15> and the number of newspapers sold points to the best newspaper right?</comment></comment>


Inventing an Operation to Solve x^x = y (2000) - <AUTHOR> http://mathforum.org/library/drmath/view/54586.html <comment><USER2> It's always nice when people independently reinvent good ideas! This poster's more or less come up with up-arrow notation and a shot at its inverse.

edit: actually meant [https://en.wikipedia.org/wiki/Tetration](https://en.wikipedia.org/wiki/Tetration)

[https://en.wikipedia.org/wiki/Knuth%27s_up- arrow_notation](https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation)

<comment><AUTHOR> As is pointed out further down, it does effectively invent tetration, which is cool, but that's not Knuth's arrow notation.

 _Edited: I 've removed the original and replaced it with the above because clearly my original comment wasn't being understood the way it was intended. Possibly this is no better, but it's worth a try._

 _To provide context, the comment by elil17 is in response to my original, in which I asked what this had to do with Knuth 's arrow notation._

<comment><USER3> a@2 = a↑↑2

<comment><AUTHOR> Except the essence of Knuth's up-arrow notation is the recursive nature. This is going one step, and while I agree that it's a first step, it doesn't actually get the recursive nature. So this is a notation for a single thing, not a general thing. It's good, but i's missing the generalisation step that is what makes Knuth's notation particularly special.

Maybe I know too much about the field, maybe I don't know enough, but I've looked over this many times and it doesn't seem to me to be making "the step."

Maybe I'm just expecting too much, but it feels like the heart of Knuth's notation is missing.

 _< fx: shrug />_ I'll leave it at that. Feel free to disagree, perhaps it's an interesting talking point.

<comment><USER4> I find it hard to focus on this stuff, but is there really any ultimate generalization? Like, you always can recurse once more - once you define up arrows, then why not iterate them?

↑n means n up arrows, so why not have an operator that applies up arrows a number of times defined with up arrows?

It seems like it's just dipping your toe into large numbers, no matter how far you go.

<comment><USER5> The ultimate generalization is to use an inductive definition based on recursive ideals. For instance the fast growing hierarchy f_alpha: [https://en.wikipedia.org/wiki/Fast- growing_hierarchy](https://en.wikipedia.org/wiki/Fast-growing_hierarchy)

Since ordinals are the ultimate recursion tool, any such function will ultimately grow faster than whatever recursive definition you can cook up by hand.

For instance even the slow growing hierarchy g_alpha, which grows _very very_ slowly catches up to the fast hierarchy at extremely large ordinals.

Some examples:

\- f_0 behaves like addition, f_1 like multiplication, f_2 like exponentiation, f_3 like tetration, f_w like Ackerman

\- Graham number is bounded by f_{w+1}(64)

\- Goodstein function behaves like f_{epsilon_0} (this show how much faster it grows than Ackerman). Similar for the Kirby-Paris Hydra

\- n-Iterated goodstein behaves live f_{\phi(n-2,0)} where \phi is Veblen's function

\- the tree function from Kruskal's tree theorem behaves like f_{\psi(Omega^Omega^omega}, ie by the small Veblen ordinal. And the graph function from the Robertson-Seymour theorem behaves like \psi(Omega_omega).

By contrast the slow growing hierarchy grows extremely slowly, for instance g_{epsilon_0} only grows like tetration. But it still catches up to the fast growing hierarchy at very large ordinals.

<comment><USER4> Like I said, I can't really follow this stuff, but maybe the ultimate would be the Busy Beaver function? Is there such a thing as a proof of how many functions can be between something computable and Busy Beaver, given some sort of constraints?

<comment><USER5> Yes, the Busy Beaver function grows faster than the functions I gave, basically it behaves like f_{w^1_CK} (although this does not really make sense because w^1_CK, the Church Kleen ordinal, is not recursive).

By "ultimate generalisation" I was speaking about a family of computable functions that ultimately grow faster than other functions you could cook up by hand: you put all the recursivity in the ordinals, they are there for that, and logicians are very good at constructing very large (recursive) ordinals.

If you just want a very very fast growing function (but that is still computable, unlike busy beaver), you can do the a light busy beaver version: Beaver(N)=the maximal output of all turing machines T with N state where there is a proof in ZFC of length <=N that T terminates.

This function grows much faster than the other functions I described (basically it is a f_{ordinal consistency of ZFC}. If you are interested in this kind of ideas, there is this reddit post that develops these ideas: [https://www.reddit.com/r/math/comments/283298/how_to_compute...](https://www.reddit.com/r/math/comments/283298/how_to_compute_a_very_large_number/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> This is easily solved using the Lambert W function:

Observe: W(x * e ^ x) = x

        x ^ x = y
        ln(x ^ x) = ln(y)
        ln(x) * x = ln(y)
        ln(x) * e ^ ln(x) = ln(y)
        W(ln(x) * e ^ ln(x)) = W(ln(y))
        ln(x) = W(ln(y))
        x = e^W(ln(y))

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

<comment><USER7> That's pretty asinine since the W function is that inverse (basically). You're just saying "this is easily solved by easily solving".

Before anyone jumps on me: I'm perfectly familiar and comfortable with functions that aren't defined in closed form.

<comment><USER8> That's true for almost any nontrivial transcendental algebraic or differential equation. Special functions to solve special cases are the norm.

We could repeat the same discussion at a lower level. Suppose you tell a bright middle schooler about the basics of integration, and the power rule. Then they ask,

"So what's the integral of 1/x? It can't be x^0/0..."

"That's a special case. It's a function called "natural logarithm", ln(x)."

"But what's the definition of that weird function?"

"It's defined to be the integral of 1/x." [0]

"That's pretty asinine..."

[0] [https://en.wikipedia.org/wiki/Natural_logarithm#Definitions](https://en.wikipedia.org/wiki/Natural_logarithm#Definitions)

</comment></comment></comment><comment><USER9> I asked the same question a while ago, [https://math.stackexchange.com/questions/613946/xx-y- given-y...](https://math.stackexchange.com/questions/613946/xx-y-given-y- solve-for-x-analytically)

Interesting analysis of the problem :-) it has been bugging me since high school!

Might be worth linking to the Lambert W function [https://en.wikipedia.org/wiki/Lambert_W_function](https://en.wikipedia.org/wiki/Lambert_W_function)

This was the best comment I'd reckon:

> As you probably saw, the solution of x^x = y is x = Log(y) / W[Log(y)]. Now > you take us in a highly philosophical debate. What is the limit of > elementary functions ? Thanks for this question. Cheers. – Claude Leibovici

<comment><USER10> That comment references the worked examples that used to be on the Lambert W wiki page, including this exact problem, x^x=y. Here's the last version before it was deleted if anyone wants to see it:

[https://en.wikipedia.org/w/index.php?title=Lambert_W_functio...](https://en.wikipedia.org/w/index.php?title=Lambert_W_function&oldid=910867451#Example_2)

</comment></comment><comment><USER11> One thing that has got me thinking in the past was another kind of formula,`f(f(x)) = g(x)`, where `g` is given. It bothered me that far from a general algorithm being known, individual cases were stumping (e.g., `f(f(x)) = e^x`). Any insights/references from HN folks about this?

<comment> dan-robertson Problems like these (typically restricted to integers/natural numbers) come up in competitions from time to time. Sometimes there are some tricks required that are very hard to find on the spot. Here is a related problem you may enjoy:

      Find all increasing functions f : N -> N such that f(f(x)) = 3x

<comment><USER12> ∅

assume f exists

increasing requires that x < f(x) < f(f(x))

f(f(0)) = 3*0 = 0 ≮ 0

therefore f does not exist, qed

<comment><USER13> f(x) = sqrt(3) * x. Then f(f(x)) = sqrt(3) * sqrt(3) * x = 3x.

So there is at least one solution.

<comment><USER12> That's not increasing (√3 * 0 = 0 ≮ 0) _and_ it's not on natural numbers (√3 * 1 = √3 (≈ 1.732) ∉ ℕ).

<comment><USER14> I think in this context "increasing" means f(x+ε)>f(x) for all x, not f(x) > x for all x.

<comment><USER12> What is ε? The original problem is about natural numbers (ie nonnegative/unsigned integers).

<comment><USER13> Well then, f(x + 1) > f(x). I don't know where you're getting this x < f(x) as "increasing".

The point about sqrt(3) not working for the naturals is a valid point, however.

<comment><USER12> > Well then, f(x + 1) > f(x). I don't know where you're getting this x < f(x) > as "increasing".

 _Headdesk_ Yes, that's correct; I misparsed "increasing functions f" as "functions f that increase [the value passed through them]" and then got distracted by the discrete vs continuous confusion.

<comment><USER13> Well, I missed that the domain was N, so... let's both just blame the tryptophan and call it good.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> The J language makes trivial to solve this problem without a tetration operator:

           (^~^:_1)5
        2.12937

<comment><USER16> How's that implemented? Newton's method like in the OP? I.e. if there's at least one solution there's an okay chance to find at most one solution?

<comment><USER17> Essentially, yes.

> (^~^:_1) 5

First, let me break this down, in the interest of sharing the joys of J.

The thing in parenthesis is our inverse operation of x^x; we then evaluate that at 5. The first ^ is exponentiation and the following ~ makes binary operators into unary ones by evaluating on the diagonal. In other words it turns f(x,y) into f(x) = f(x,x), which for x^y corresponds to x^x.

Next we have the ^: modifier. This is function iteration, i.e. exponentiation over function composition. The function is on the left (here ^~) and the count on the right (here _1). So f ^: 2 means f(f(x)). In fact, this function exponentiation is extended to negative integers as well! In J, negative numbers are prefixed with _ (underscore), and f^:_1 actually gives us the inverse of f (if it exists)!

Anyway, we can see inspect the definition for an operation's inverse using the b. verb. From the jconsole:

            ^~ b. _1
        3 : '(- -&b@(*^.) % >:@^.)^:_ ]1>.b=.^.y'"0 :.(^~)

The part we are interested in is in single quotes. Pulling this one apart would involve introducing the various operator combinators in J, so suffice it to say that the ^:_ part numerically approximates a fixed point of the part in parenthesis, which essentially is a straightforward transcription of the recursive relation in Newton's method.

</comment></comment></comment><comment><USER18> We can express the solution in terms of the Lambert-W function, the inverse of f(x) = x*exp(x).

We still need a new function, but at least Lambert-W comes up in other places as well- not much worse than introducing log.

</comment><comment><USER19> All this talks about centers, operations and inverse operations reminds me of monoids from learning haskell: [https://en.wikibooks.org/wiki/Haskell/Monoids](https://en.wikibooks.org/wiki/Haskell/Monoids)

<comment><USER20> is it just belgium where we call these "center's" _neutral elements_ of an operation, or did the rest of the HN geography just forget that term?

<comment><USER21> I think what the original author meant by "centers" of addition and multiplication is closer to "empty sum" and "empty product" respectively. From what they wrote, it seems that they wanted more than just neutrality. In any case I don't think we should retroactively label their novel and necessarily unique concept with a familiar name.

</comment></comment></comment><comment><USER22> I couldn't resist chucking it into wolfram alpha [https://www.wolframalpha.com/input/?i=solve+x^x+-+y+=+0](https://www.wolframalpha.com/input/?i=solve+x^x+-+y+=+0) [https://www.wolframalpha.com/input/?i=x%5Ex%3Dy](https://www.wolframalpha.com/input/?i=x%5Ex%3Dy) I think someone else mentioned W function, which is shown in the wolfram solution The thing I found interesting is the graph, there is a local min at 1/e, so the solution depends on y >1 or e^-1/e <= 1 very interesting curve.

</comment><comment><USER23> Reminds me of this fascinating paper: [https://arxiv.org/pdf/math/0112050.pdf](https://arxiv.org/pdf/math/0112050.pdf)

It's about an infinite chain of operations where each is to the last as multiplication is to addition.

</comment><comment><USER24> Here is another fun problem for you folks:

x^x^x^... (infinite power tower) = 2.

If you solved it, try the general case of

x^x^x^... = y, for some arbitrary constant y.

<comment><USER16> How do you define infinite power? A limit of such series, if exists?

{x, x^x, x^x^x, ...}

<comment><USER25> That would be equal to x^y, which means that the solution is the y'th root of y?

However, don't you have to prove that the series converges? Is the approach even valid if it doesn't?

<comment><USER26> Note that according to your solution, x=√2 for both y=2 and y=4. But of course the sequence cannot converge to both 2 and 4 at the same time!

</comment></comment></comment></comment><comment><USER27> Might be useful if it was stated at the start of the post exactly what the ^ operator is supposed to do - it does different things in different programming languages.

<comment><USER28> I always felt the Fortran exponentiation operator (* *), which is inherited by javascript and php, was more intuitive notation.

<comment><USER29> Interesting, the caret looks better to my eyes, since the real notation is x², thus x^2 is pointing at where the 2 should be.

But I get the reading of double-asterisk as 'multiplication of multiplication' as well, either is fairly transparent really.

<comment><USER30> Indeed. To me C's ^ as xor has always been the weird one since it actually looks like a logical and: [https://en.m.wikipedia.org/wiki/List_of_logic_symbols](https://en.m.wikipedia.org/wiki/List_of_logic_symbols)</comment></comment></comment></comment>


Dynamic/Interactive Periodic Table - <AUTHOR> http://www.ptable.com/

<comment><USER2> To really enjoy it, click the Properties tab, then choose Boiling point or Discovered, and _then_ operate the slider. Provides a good light show in modern browsers. Clicking on elements in the Isotopes tab is good, too. Also the Wide checkbox at top left. Hell, just click Demo at the bottom and take in the show. No Flash, either.

</comment><comment><USER3> I use this all the time in my chemistry class when I don't feel like exerting the effort to open my book. It's superbly helpful.</comment>


Best commit and test scenario ever? - <AUTHOR> https://github.com/inkel/ruster/commit/5a1ed9adc5e3103139c3e4bfbc860cfa328065f5

<comment><USER2> As the commit author here, I must confess that it was so painful to write that story that I had to stop coding and go out for a walk. I was devastated...

<comment><USER2> They deserved a better storytelling: [https://github.com/inkel/ruster/blob/90f7da1c281bfc1a5fe01cc...](https://github.com/inkel/ruster/blob/90f7da1c281bfc1a5fe01ccf8057f948278b3685/test/node.rb#L150-198)</comment></comment>


Ask HN: What needs to be done to make remote "work"? - <AUTHOR> 1- Pick one or two of the most important things, in your opinion, that need to be done to enable remote work to take off. 2- Do you think enabling startups to hire full-time remote team members from all over the world, without the hassle of legislations and taxes,is a good place start? How helpful could it be (on a scale from 1 to 10)? <comment><USER2> 1\. Trust people by default

2\. Assume everyone is always remote and design things around that</comment>


Google Tone - <AUTHOR> https://chrome.google.com/webstore/detail/google-tone/nnckehldicaciogcbchegobnafnjkcne

<comment><USER2> I don't get it. This seems like a ploy by google to trick users into leaving their microphones open so they can collect data. If you already need an internet connection to visit the url it gives you, why not transmit the url via the internet. This would more secure anyway since you could just choose the people you want to sync with.

Am I just missing something?

<comment><USER3> And on top of that what sort of people are wanting/using this sort of thing? The url/image/etc. can be just as easily sent over an Instant Messaging service or email as you said with the bonus that you are not interrupted in the middle of what you're doing some some cat gif. I'm failing so see any demand for this, business or leisurely.

<comment><USER4> I can see meetings and presentations using this very well. You can broadcast a link locally with a push of a button -- no need to know anyone's email or screen name. Listener don't even need to know the URL itself. This makes UX near seamless!

Imagine giving a presentation in a public conference, you can provide resource (per x slide) to all of your listeners(strangers and what not) for referencing without ever saying anything about it.

<comment><USER3> Okay, I can see that I suppose. My thought was mostly that, if each individual is expected to be running the extension then they are pretty likely they are in a situation where everyone has some easily accessible form of communicating with each other. At least, in all of the businesses I've been in setting up some sort of meeting chat or IRC channel is pretty standard, trivial at the least.

That being said, having a way to do this on the fly could be pretty convenient now that I think about it more.

</comment></comment></comment></comment><comment><USER5> Tried it. It works. It had a range of about 5 meters at medium volume in a noisy office. Not bad!

</comment><comment><USER6> Is there something like this that can transfer to a Android device? I found Chirp, but the app requires way too many permissions.

<comment><USER7> Check this out - [https://www.pushbullet.com/](https://www.pushbullet.com/)</comment></comment>


Ask HN: $3000 to incorporate. Is it a good deal? - <AUTHOR>

I listen to mixergy interviews and they recommend scott edward walker and so i talked with the guy and he has a startup package. It's 1500+500+900 for filing. The total comes down to around $3000. Is this a good route to go for a startup?<p>Background: I'm a single founder, looking for co-founder down the line. <comment><USER2> Folks who have been there before will tell you not to waste a single cent on incorporating until you absolutely have to.

Wait until at least one of the following is true:

      1. You have investors who are ready to go.
      2. You hire an employee.
      3. You have actual customers and actual revenue.
      4. You have any significant exposure to liability.

Don't bother with _any_ of the paperwork B.S. of setting up a business until you actually _are_ a business. Once you go down that road, not only are you spending a bundle on getting papers filed, but you now have recurring expenses for annual report fees, state minimum taxes, business licenses, accountants, attorneys, etc.

I'll go even further and say don't even bother spending time or money on a name, logo, domain name, website, or business cards until you've talked to enough potential customers to be sure you've understood their problem and are building the right product.

If you bring on a co-founder later, you can draw up a simple agreement (find a template online, or get an attorney to help you) that spells out the understanding between the founders in terms of ownership and control of the company once it is incorporated, who owns the leftover IP if the company fails before you get to that point, what happens if one founder leaves, etc.

I know it's exciting to finally "be a real business" and print business cards naming yourself "CEO". But that's all just vanity. Hiring a lawyer and filing some forms doesn't make you a real business; creating a product and selling it to people does.

<comment><USER3> I couldn't agree more with this post. Don't pay the money just to stroke your ego.

The cofounders at my current project were antsy about having the credibility that comes with becoming "official", so we incorporated very early. Currently, we're working R&D and looking for money -- not a single investor has asked if we're incorporated or been impressed by our business cards. They do, however, want to learn about the progress we've made with our product and the projected size of our market. Use the money for marketing and product development.

Another thing to keep in mind: we went the LLC route, and its likely that if/when investment comes, we'll have to amend the hell out of our Operating Agreement.

</comment></comment><comment><USER4> I've started several small businesses, dating back to 2001, and have never done more than filling out my state corporate commission's articles of organization.

This is not the safest route, but definitely the easiest and cheapest way to get started. Doing this will let you open a business bank account, get merchant services setup, get an EIN (tax id) from the federal government, etc.

In Arizona it takes about 3 minutes and costs $50: [http://www.azcc.gov/Divisions/Corporations/forms/starpas/for...](http://www.azcc.gov/Divisions/Corporations/forms/starpas/formsSTPS/L010-Articles- of-Organization.pdf)

</comment><comment><USER5> Its between £5 and £50 here in the UK - depending on a few factors. You can do it online with a credit card in a few minutes...

<comment><USER6> £15 to do it online with Companies House, just done it myself last week.

</comment></comment><comment><USER7> Need some more info - State/Province/Country of incorporation? Federal or State/Provincial incorporation(again, depends on country) Includes any shareholder agreements as well?

Also, why not wait for the co-founder first, to save $$ on getting papers re- drawn / filing amendments?

<comment><USER8> This. If you have no cofounder, and have no immediate need for the company to be formed, put it off as long as possible until there are reasons i.e. cofounder(s), hiring, launch, etc..

<comment><USER9> That is a question I have. At what stage should a company (limited or unlimited) be formed for a startup? If there is no company I believe you would have to do business with your own name, which doesn't look professional. All incomes and expenses would be treated as personal income/exp.

<comment><USER8> This is the wrong way to look at it. Your expenses prior to launch (with exception to employees and all), would be minimal (unless you're just outsourcing a ton of work). Hosting and a domain name is like nothing.

That said, until you launch, hire employees, have a cofounder, raising money, etc... no one is going to know you really exist and the "looking" professional or whatever is non-existant, nor do most early adopters really care or think that way.

The reason most people advise (including really good attorneys) to put off incorporating until you actually need it is basically to save you money and avoid having to undo, amend, or fix anything.

Hope that help better answer the question.

<comment><USER9> Does a launch itself warrant incorporating (or just registering a business name instead of using own's name)?

</comment></comment></comment></comment></comment><comment><USER10> A lot of the value of incorporating is "getting to know" your legal team. Wilson Sonsini in SV and SF will often defer or waive fees for a very small chunk of equity on ideas that they like, and other legal teams are open to similar arrangements.

The benefit of extending your network is huge here. A good legal team can be a gateway to capital, while a missfiled c-corp can scare away investors.

Aside from the oft-repeated, "don't do it until you absolutely have to", I would suggest that you to do some research on law firms that are specifically working with startups in your industry and area.

You may be surprised that many will set up your c-corp for just the cost of fees if they believe that your idea and future with them is strong.

</comment><comment><AUTHOR> Thanks for all the comments. So ya the attorney will incorporate in delaware as a c corp. i do sell apps on the app store right now as an individual.

I am outsourcing some of the development and so he mentions it is important to incorporate to protect the ip. It will include some form for freelancers to sign.

The third thing is that i plan to do this at night and weekends while i test out the market and i dont want it to potentially conflict with work ip. I plan to release and sell small pieces of software to test each step of the way. Or maybe just free software.

Thanks.

Ps: oh and he advice me to wait on patents since it is not critical and will cost 20,000. Just execute and that gets investor interested.

</comment><comment><USER11> I agree with all the comments that recommend for you to wait on filing, especially since you are a single founder company.

However, if you were in a two founder situation, there might be some benefit to incorporating particularly because it would force you and your other cofounder to ask yourselves tough questions about the future.

I have a 2 cofounder situation myself, and I would like to get the legalities out of the way, but I find the fees prohibitively expensive. The best startup package (most comprehensive and from a reputable firm) I've seen was priced at $5,000 USD. $3,000 sounds like a deal, but caveat emptor.

Good luck,

Jenny

</comment><comment><USER12> Take a look at Clerky. <https://www.clerky.com/>

From their web site: Clerky helps startups get the legal stuff done fast.

Incorporation, convertible notes, employee documents, NDAs - everything the typical startup needs. Use Clerky to get your paperwork out of the way so you can get back to building your company.

</comment><comment><USER13> I heard good things about the startup lawyer Ryan Roberts and he charges $1,250 + filing fees ($148) as a standard fee when I checked with him (March). That's for a Delaware c corporation.</comment>


Ask Sahil Lavingia - pinterest designer, gumroad founder - a question - <AUTHOR> http://askolo.com/sahil

<comment><USER2> Seriously? "How tall are you" and other extremely softball questions? I think the average question quality on Askolo would increase if they would display the asker's name next to the Q.

<comment><USER3> Here's another one that had me frowning:

      Q: How did you end up in Silicon Valley at
      such a young age?

      A: I flew on a plane from LA. Southwest,
      I think.

It's like a middle-schooler wrote these.

<comment><AUTHOR> Sahil wrote a blog post about the length of emails: [http://sahillavingia.com/blog/dont-judge-an-email-by-its- len...](http://sahillavingia.com/blog/dont-judge-an-email-by-its-length/)

There are other questions and answers that you should check out. My favorite:

Q: Rails or Django? A: Users don't care so I don't care.

<comment><USER4> To Sahil's point on emails, short emails were something that were shocking to me as well when I first started interacting with busy people. I took it for rudeness, or dismissive. I know better now and am glad to even receive a reply in the first place, regardless of length.

<comment><USER5> Being busy isn't ever an excuse to be rude.

</comment></comment></comment></comment></comment><comment><USER6> Wow I didn't realize that Sahil was the one behind Dayta, I think I still have that on my phone from when he asked people to test it.

</comment><comment><USER7> Q: Rails or Django?

A:Users don't care so I don't care.

\--

If I could pay with my Karma I could give you 1/5th of it.

</comment><comment><USER8> (sees default twitter bootstrap button, closes tab)

<comment><USER9> Why? Good or lame reason?</comment></comment>


Remember the iPod? Apple just released the first new one in four years - <AUTHOR> https://arstechnica.com/gadgets/2019/05/remember-the-ipod-apple-just-released-the-first-new-one-in-four-years/ <comment><USER2> Loved my 4th gen iPod touch, was almost like a good game boy alternative.</comment>


Google Will Deploy $1 Billion Worth Of Satellites To Spread Internet Access - <AUTHOR> http://www.popsci.com/article/technology/google-will-deploy-1-billion-worth-satellites-spread-internet-access?src=SOC&dom=fb

<comment><USER2> I'm sure its just because of their giving nature, and not because theyre trying to beat the wave of developers working on free point to point radio based mesh networking - especially since all the surveillance disclosures.</sarcasm></comment>


History's Worst Software Bugs  - <AUTHOR> http://www.wired.com/software/coolapps/news/2005/11/69355 <comment><USER2> In the article, the author poses the question of what is "worst" and never does properly answer this. Then goes on to list the "worst" bugs without proper criteria. The title should be "What Simson Garfinkel thinks are the 10 worst bugs, in chronological order."</comment>


Ask YC: The way hackers plan software - <AUTHOR>

Company's willing to refactor heavily some main software of ours. We want to port all Delphi code to .NET so we can abandon a lot of legacy code. We've been planing said new software (suposed to do the same the actual does) for nearly two weeks already. Every module we cross is like trying to find the cure for cancer, and right now, I left the meeting because the main module of the project is being fully rewritten since it is prone to failure in some expected error condition and I don't want to have anythind to do with the mess they are designing (we work with hardware that wears out after a while and starts malfunctioning). Sorry about the whole rambling. My question is kind of simple. Do you start planing by the most complicated module to the simplest one, or the opposite? How do you design / plan your softwares at all? <comment><USER2> "Rewrite the whole system" is generally a BAD idea. You might want to have one or two senior guys go and prototype the core parts of the new .NET version. You can then add resources to the new one as it progresses. In a lot of cases the development of the new one can overtake the developed-in-parallel old one if it's done well, since they don't have to work with all the overhead of the old legacy junk.

And if the new development project fails, oh well, you only sunk a few man- months into the failed project. The sunk cost is smaller, so it's easier to abandon.

</comment><comment><USER3> Treating the old application as the spec for the new one is usually not a good idea. Define the problem(s) the new application is trying to solve instead of trying to copy the behavior of the old application. This is important for both developers and users. (<http://www.chadfowler.com/2006/12/28/software-as- spec>)

I like tackling the tougher parts first as assumptions usually conflict with the real world and the design will change once you start building and testing.

</comment><comment><AUTHOR> Thank you for the feedbacks. I shall show it to my teammates. Do everyone here hate meetings as much as I do?

<comment><USER4> Sure, and this is good stuff about meetings: "Meetings are toxic":

<http://gettingreal.37signals.com/ch07_Meetings_Are_Toxic.php>

</comment></comment><comment><USER5> You design top-down, you code bottom-up, and you manage high-risk/first -- and if you do it right, you code circles around anybody else, whether it's a big or little project.

There's a longer answer, but it can run into several books worth of material. That was about as terse as I could make it. I could provide an example if you're interested.

<comment><USER6> Yes please.

<comment><USER5> Designing a computer system (and that means everything but the coding) is constructing an intermediate vocabulary and language such that, when things change, your intermediate language can already express the new conditions. Now you can do that with functional code and a DSL, or you can do that with OOP and a class model. Since you're going to .NET, let's assume OOP.

You've got two things to do before coding: analysis and design. Analysis is understanding and creating that language I spoke about. Design is implementing a solution with that new language inside a certain environment. Coding is actually detailed design -- it's the same thing. In OOP you (generally) move smoothly from talking to the users about their world to coding the computer. In greenfield programming there are no major jumps like you would have with waterfall. The goal of all of this A&D is to get classes, code units, tables -- big hunks of stuff that will organize your code. Small systems you should be able to burn through A&D in days or hours. Big systems can take much longer.

Now there's all kinds of tricks to making good languages, er, object graphs. Too much to go into here. Just remember that the purpose of OOP is that when the customer says "But I'd like that green if the bank account balance is over $200" that you should be looking to tweak something regarding the class BankAccount and the member "Balance" -- the customer's language is your language. This is what makes OOP rule large development work.

Now that's the 5-cent version of OOP. As for "What to do, when" it's real simple -- do the stuff the team worries about. Having said that, it's perfectly fine to use a "recipe book" like RUP, MSF, Agile, etc to help you remember stuff you should be worrying about. In general, just like in coding where you move from talking to the folks to making the code happen, you should be thinking of "stuff to worry about" starting with business concepts "Do we know what they want? Are they going to pay for it? Do we have access to the key players?" Then you move towards technical concepts like "Are we sure a relational database is going to handle this load?" or "There's no way the user is going to wait more than 5 seconds at his browser" But there's no rule -- you can have killer business risks later in the project and you can have killer technical risks earlier. The trick is to be constantly moving from big, fuzzy, general, business-type worries to little, clear, specific, technical- type worries. If you get your "conceptual cone" working in a project -- designing and managing from big concepts down to little concepts -- it's like riding downhill on a greased rail.

I've probably proven myself a complete idiot for trying to take on such a huge topic in a blog post, but there's a lot of "noise" on this subject: the core principles are not supposed to be rocket science.

<comment><USER7> I think that's a great description of the process. I would make the point that designing on customer language in OOP is one of those things experienced programmers shy away from. The next paragraph about "What to do, when" is a much better source of OOP design. Just to take the example of account balance, in looking at business-type worries it would probably become clear that transactional integrity is a big deal in this kind of software, so you'd want to clearly separate out queries on the balance and modifications to the balance and restrict access to the functions. These sorts of pressures, along with technical pressures much more clearly describe the design parameters.

</comment></comment></comment></comment><comment><USER8> You have read the appropiate joelonsoftware articles, I suppose? I just found this one, for example: <http://www.joelonsoftware.com/articles/fog0000000069.html> (might be good reading for your manager, too).

I think the modern way would be to not rewrite from scratch, but to refactor module by module. Presumably with .Net you can find a way to use your old code as a .Net component? Then you could just replace components one by one...

If your new code is already looking like a mess, what is the point of the rewrite? Except of course to secure your jobs because after the rewrite, there will be another rewrite...

</comment><comment><USER9> this isn't the greatest answer, but it's what we do: we do what makes sense based on the information available at the time. and then we adjust what we're doing based on the information gained as the project goes on. sometimes core mods have to be built first. sometimes we can grab low-hanging fruit first.

so, i'd have to say "it depends."

no one can answer this question for you, in my opinion. not without a full understanding of the history and objectives. and even then, it'll be wrong and have to be adjusted as the project unfolds.

so i suppose i agree with robmnl, but methodology alone isn't the cure.

</comment><comment><USER10> I try to design my problems first, then my questions, (what data will I be looking for, how is it related) [i.e. define the schema, it doesn't matter if it's a single object or a database]; then my interfaces, and then I build all my code as if every interface worked as planned.

Then I fix my interfaces, because things change in production; Then I fix my other code.

I usually start coding in the middle, not all the detail things, and not the giant core things, with some general drivers for the giant core things until they are built.

</comment><comment><USER11> I'm curious as to what made Delphi "legacy code" and why it needs replacing? Also, doesn't Delphi 2007 allow targeting to .NET? See: <http://en.wikipedia.org/wiki/Borland_Delphi>

Be sure you aren't doing this rewrite for the wrong reasons.

</comment><comment><USER12> Try looking into agile methods, might be exactly what you need.

<comment><AUTHOR> I wish. Can you send an email to my manager telling him this?

<comment><USER13> Be careful what you wish for: [http://dilbert.com/comics/dilbert/archive/images/dilbert2666...](http://dilbert.com/comics/dilbert/archive/images/dilbert2666700071126.gif)

</comment></comment></comment><comment><USER14> id like to see peoples answers to this as well, cause i dont follow any form or convention, i just start defining classes in the system

<comment><USER15> I too am of the 'exploratory hacking' persuasion. You just have to be ready to throw bad stuff away with no mercy, and/or simply start over if it's not working out.

<comment><USER16> This is the way I code too.

See <http://c2.com/xp/TheSourceCodeIsTheDesign.html> for some nice related discussion.</comment></comment></comment>


Ask HN: How do you run your analytics teams? - <AUTHOR> Debating about the merits of incorporating agile practices into how we run our analytics projects.<p>Are there any other best practices you can share? We're also looking into developing a datamart for ourselves to speed up our queries as opposed to leveraging the enterprise-wide data warehouse. <comment><USER2> My team is doing 2 weeks sprints for DW/analytics development with per feature branching (on large implementations) In terms of speeding up queries - we are using "flat table" model with Column Store on top of it, instead of Kimball approach. This provides good speed and MUCH simpler development. Hope this helps!

<comment><AUTHOR> Flat table model eh? Could you describe more without revealing any secrets?

<comment><USER2> Secrets? Overrated! :) Let's chat! ln [at] datateam . ca</comment></comment></comment>


5 reasons Ubuntu 12.04 won't be my main OS... yet. - <AUTHOR> http://icorbin.com/why-ubuntu-12-04-wont-be-my-main-os-yet/2819

<comment><USER2> As an alternative to 1Password, have you ever tried KeePassX?

It seems to have all you asked for in the article <http://www.keepassx.org/features/>

<comment><AUTHOR> Thanks Klez, this does look like pretty damn close. The reason I really love 1Password is that it works on Android and iOS too, giving you a truly central password manager.</comment></comment>


Security-Enhanced Linux - <AUTHOR> https://www.nsa.gov/research/SELinux/ <comment><USER2> Any context as to why you posted this page with

      > Last Modified: Jan 15, 2009

</comment><comment><USER3> NSA has contributed quite a bit to UNIX security over the years.

<comment><USER4> But with what motive? To strengthen or weaken?

SELinux seems like a really good idea, but when you see the efforts they went through to destroy Google's security, I can't help but think SELinux is a cleverly crafted back door into the majority of the internet.

<comment><USER5> Is been around for ages and is part of the kernel.

NSA has a dual mission of protecting national security information and also collecting intelligence. This was developed as part of the former.

It's not like they have direct commit to the kernel or something, the code is reviewed.

If they were to inject something sneaky or nefarious, they wouldn't do it in their own name and so publicly.

</comment></comment></comment><comment><USER6> I was excited about the link when I thought it was from NASA.gov

It makes some sense at least that NASA would be involved in SELinux, no?</comment>


Tools for 3D Designers - webmaster-L http://blog.limeexchange.com/2010/02/03/10-excellent-tools-for-3d-designers/ The online industry offers a lot of 3D tools and applications that can help you in creating an interesting 3D graphic for your freelance project. There are many 3D graphics applications available online that can be used depending on requirement and utility. These tools help you create a 3D content while working on modeling, light, texturing and rendering etc. Here we have put together some excellent tools for for both Mac and Windows operating systems. <comment><AUTHOR> For anyone starting out in 3D - welcome to the steepest learning curve in the creative industry!

<comment><USER2> I have been toying with an idea based on walkthroughs <http://www.cs.unc.edu/~walk/> do you know of anything off-the-shelf for this?

<comment><AUTHOR> Yes and no depending on whther or not I've taken your meaning correctly, I may have got the wrong end of the stick~

Zbrush has <http://www.pixologic.com/zclassroom/>, <http://simply3dworld.com/> is an umberella site that caters for Maya, Lightwave and Max.

The problem with offering a complete training solution for 3D as a general subject is that much that is learned from one app can be rendered all but redundant by another, such is the difference in interface, overall function and language used in each. This is why there's a certain level of specialisation when it comes to sites that offer training. Each app requires a high degree of focus and commitment to become proficient.

<comment><USER2> Thanks both links they are very useful. I am interested to create a virtual reconstruction of a pre-historic society and the idea came to me that if I write it using the right tools I might be able later on to create a game out of it or maybe spinoff a meta-language for such problems. To be honest the learning curve frightens me as well as costs.

<comment><AUTHOR> I see. If you're completely new to 3D, you could go about using the pre existing world and character building tools available in Opensim <http://opensimulator.org/wiki/Main_Page> which is based on the Second Life framework without the inherent pitfalls of the Second Life network.

It would simplify the process and workflow immeasurably, and results would be instant as you're constructing everything in realtime directly within the environment.

<comment><USER2> Thanks! My only 3D experience is with AutoCad which is a totally different approach. Will give opensimulator a go.

<comment><AUTHOR> No problem, you can contact me if you have further questions or need more guidance: <http://news.ycombinator.com/user?id=dirtbox></comment></comment></comment></comment></comment></comment></comment>


Traditional vs Conventional - <AUTHOR> http://www.acrhodes.com/blog/2013/05/01/this-aint-your-mothers-particle-collider.html

<comment><USER2> > "You can argue that I'm being a curmudgeon, but words are important. They > shape the way we think."

Word.</comment>


Want To Disrupt An Industry? Try Actually Working In It First - <AUTHOR> http://www.fastcompany.com/3001334/want-disrupt-industry-try-actually-working-it-first#full <comment><USER2> Many tech guys on HN often ask: what use are business co-founders?

Superior domain knowledge would be one thing. If I'm going to team up with a business guy, I want him to be a top notch expert in his field.

There's a tendency for tech guys to discount domain knowledge, believing that it's just a matter of "hacking something out in a weekend, after all it's just a matter of shovelling data" (I used to fall into this trap myself - now I know the value of domain expertise).

<comment><USER3> Domain knowledge is money-printing sauce in so many industries.

I think the reason young hackers often dismiss domain experts is because they associate the idea of domain knowledge with old people who don't get tech. It's true that most old business people don't understand technology, but it's also true that most young hackers have no clue how to make money.

Now if you can combine domain knowledge with the ability to recognize the potential, and have a realistic vision for the novel application of technology, then you have gold. It might not be the most grandiose idea, but it's 3 or 4 orders of magnitude more reliable than trying to be the next Google or Facebook.

</comment></comment><comment><USER4> Hey, this is Lee from RentHop.

One thing that isn't very clear from the writeup: we went through a LONG trough of sorrow before finding our current pivot. That's a story for another day...

<comment><USER5> Thanks for the article and the insight, Lee. I'm planning on building something for real estate as well and have some target users working with me but I probably might not have enough insight on the pains of the process. I'm tempted to go your route and get a broker license as well.

<comment><USER6> I spent 5 years in commercial real estate brokerage (multifamily) and closed some signifigant deals. What you are building is radically different that what I am working on, but they are both in the real estate space. I'd be happy to talk to you sometime about it. My email is my HN name at Gmail.

<comment><USER5> Thanks for the offer and I'll take you up on it. I'll shoot you an email when I get home.

</comment></comment></comment></comment><comment><USER7> New York real estate is a system. You have to learn the system to hack it.

A lot of real estate start ups are trying to "Avoid the Broker." The system isn't as broken as we may think. Landlords enjoy minimal vacancy. Brokers get paid generously. Tenants find apartments.

Complaining about a 15% broker fee is like complaining about the gas for your Lamborghini.

<comment><USER8> Thats easy to say, once you learned to hack the system.

But many brokers do take money to simply show you the apartment and nothing else.

<comment><USER7> They are the "1-click" brokers. The experience doesn't mean that they aren't a part of a complex system. We usually applaud efficient systems don't we?

15% is justified because people pay it.

<comment><USER8> That does not make it justified by any meaningful definition of that word.

</comment></comment></comment></comment><comment><USER9> To me, broker fees in NYC seem so crazy. Can someone justify them? Is opening up a few doors really worth 3k?

<comment><USER10> My mother is a real estate agent and worked in both NY (westchester county) and NC (raleigh) and I grew up helping my mother with myriad activities necessary to list and sell a house

You'd be surprised how much work is required to keep the real estate market liquid. I'd say half the work is necessary, some automatable, some not so much. However, a lot of the work doesn't even have much to do with work necessary everytime a home goes on the market, but rework that is repeated every time a listing goes on the market. A listing that was on the market last year that goes on the market again this year needs all the same work done to get it sold.

Here's just a sampling of the types of things that need to be done on every sale:

\-- finding inspectors and getting inspections done

\-- getting radon tests done (difficult to schedule since house needs to be vacated if I recall correctly

\-- showings (how to show a house, how to talk about it. how to sell a lifestyle, especially in a home with no furnishings)

\-- fixing things, which is often dependent on contract negotiation. Sometimes things that need improvement will be deducted from the price, other times fixing them will be a requirement to close the deal.

\-- home staging. for homes with no furnishings, companies exist to stage the home, especially for open-houses.

\-- disclosures (near an airport? did someone die in the house? carcinogenic chemicals on site before construction?)

\-- proper photographing, which is hard for most people because photographing homes that will generate interest isn't as trivial as you may think. One of the biggest issues with photographing was lighting both inside and out. Most agents don't carry lighting necessary to photograph homes. Some homes have built in lighting, some have lamps. Those that use lamps may not have any because furniture has been removed. Most agents aren't technically competent enough to handle a camera more complex than a simple point and shoot. Outside lighting for homes requires planning to make sure the weather was nice and that at least the front of the house was lit, which itself depended on which direction the house faced (north, south, east, west). Getting the photos from the camera to MLS and creating brochures with them is complex for many people.

\-- MLS management

\-- Searching of the myriad criteria that people evaluate a house on (schools, commute, etc.) Everyone has different lifestyles and needs. The criteria for one client will differ dramatically from the criteria for another client.

\-- centralized showing

\-- lock box management so other listing agents can show a house.

\-- scheduling

\-- Knowing whether a house is a good deal or not. Your agent is essentially your negotiator. A good agent will not only find you a home that fits your lifestyle, but they will help you negotiate with the seller/buyer on your behalf. This is probably where the fees are most valuable.

\-- Negotiating with a bank. You have no idea how many deals these days get blocked by a bank, especially if the home is underwater.

\-- floorplans (bonus points if any startup makes it easy to mash up floorplans to room photos, the same way that people mash up photos with latlng data and maps).

\-- ability to simulate your current belongings in the new home? Do you have too much stuff? Not enough stuff? What fits? What doesn't?

\-- Architectural vocabulary enlightenment. What's the difference between a victorian and an edwardian? What are dorian columns?

\-- Energy efficiency of a house? What are the bills and utilities the previous tenant paid?

\-- Hooking up utilities in a new place. Can it be streamlined?

\-- etc. etc. etc.

This is all just the tip of the iceberg. I don't think there is a one size fits all solution that can automate all of the above, but there is definitely room for a few dozen startups and that you could essentially create an entire VC fund with real estate as your thesis. TBH, I think that is the only way "real estate" will ever be solved. There are way too many moving parts to have everything solved by one company. APIs are necessary for solving the problems above.

Finally, NYC and SF are very very very weird markets by real estate standards. Most markets are fairly balanced, but both NYC and SF are heavily skewed in favored of sellers. This makes them very unusual and I can't imagine a solution that works for those two markets working in other markets.

<comment><USER11> Most of the work that you are referring to pertains to real estate sales. I believe the original comment regarding the $3K and NYC brokers has to do with leasing agents/rental brokers.

I was a leasing agent before; there's really nothing to the job.

<comment><USER12> I am a current leasing agent; there is a lot to the job.

<comment><USER10> I'd love to hear how your responsibilities as a lease agent compare and contrast with the list I wrote above for a buyer/seller agent.

</comment></comment></comment></comment></comment><comment><USER13> I agree with the title of this article, but a month is not a sufficient amount of time to understand an industry.

</comment><comment><USER14> Unless you're getting sued or threatened with jail time, it's not disruption.

</comment><comment><USER15> Great site! I have just discovered it from the post.

One thing I immediately noticed: If you are looking for 2br apartments, you will get a lot of results that are not actually 2br, but 1br that could possibly be converted into 2br. They are not yet converted, the renter has to do all the work himself.

Is there a way to filter out such listings? They usually mention it in the listing description. Maybe a fine-grained selection of apartment types would help: studio, junior 1br, 1br, "1br big enough to convert", 1br converted, 2br, etc.

</comment><comment><USER16> Can't agree more.

</comment><comment><USER17> No. The best way to disrupt an industry is to do something unrelated - something crazy and something different. You'll never break the mould and explode by copying incumbent industries line of thought.

For example the real estate industry has been upset most in New Zealand by trademe, a company started by someone who wanted an easier way to buy a used toaster. The industry here is still scrambling to catch up, instead of competing with a startup trying to emulate their business model.

By doing what the article suggests, you'll be above mediocre at best. Think different (tm).

<comment><USER18> Engineers have a tendency to underestimate anything outside their discipline. "How hard can it be!?"

You would do well to remember that, when looking at an unrelated industry and decided that you, having zero knowledge of that industry, are _obviously_ the best-positioned to completely revolutionize said industry.

Really, the biggest breakthroughs appear to come from someone who mixes expertise in two disparate fields. Expertise in the one field teaches you about the constraints on that field, and expertise in the second field gives you new tools to attack the constraints of the first.</comment></comment>


One Sentence Tips From Entrepreneurs - <AUTHOR> http://howtosplitanatom.com/news/one-sentence-tips-from-entrepreneurs/ <comment><USER2> Love what you're doing or get out. Goes with the other one my mentor says "If money is your measuring stick, get a new one"

</comment><comment><USER3> Uh, Notkin's and the blog's author's own advice are actually two sentences each. Oh well.</comment>


Ask HN: Why do companies care about adblock? - <AUTHOR> This might sound like a naive question, but hear me out.
This operates on the (perhaps inaccurate, though anecdotally appealing) assumption that people who use adblock are unlikely to ever click on an advertisement, even if they did not have adblock available. So, no direct revenue loss.
Their views still count towards your statistics though, so you have more eyeballs and potential shares - great!
Most interestingly though, you get to skip serving ads to those who never would have clicked in the first place (or only accidentally), which translates to an increased clickthrough ratio (and increased conversion). So the ad space is worth more.
So tell me, HN, why do companies invest so much time and effort into policing adblockers, when it seems that the best strategy would be to simply ignore them?
Is it that adblock usage is actually such a large percentage of users in 2015 that it necessitates dissuasive measures? The last time I worked in a company that relied almost exclusively on advertising (2010), it was relatively small and static. We decided that, due to the above reasoning, it wasn't worth pursuing.
Are there people/companies out there who've seen a measurable uptick in conversions or revenue as a result of countering adblock? <comment><USER2> Because there is no proof that your assumption is true - people tend to believe they aren't affected by advertising when they actually are. There is plenty of science out there to show the effectiveness of advertising, even if you never click on it.

And yes - growth rates have jumped and in just 2015 it has doubled. Some sites are experiencing 50% ad block rates (in more gaming and technical verticals).

It will become a problem for advertising reliant companies very soon.

<comment><USER3> _Because there is no proof that your assumption is true - people tend to believe they aren 't affected by advertising when they actually are._

Very true. You can test this by asking people about those "one weird trick" ads. People never click on them but they have been exposed to them and they do recall the message.

<comment><AUTHOR> I certainly recall them, but is there value in that? It's not like I, or many others, I imagine, associate it with a positive purchasing intent.

I remember memes, but does that make the meme creator, or subject, powerful? Influential? Rarely.

<comment><USER3> The same could be said of catchy TV commercials. The fact that people see them and recall them makes them worth buying.

</comment></comment></comment></comment><comment><USER4> People on the left-side of the bell curve are the most impressionable to advertising and are are also the least likely to install adblock. so not a problem.</comment>


Y Combinator interview advice (by Robby from Zenter) - <AUTHOR> http://www.robbywalker.name/1/post/2007/05/y-combinator-adviceinterview-tips.html <comment><USER2> There's a danger in some of this interview advice: everyone writing about it is writing based on their one interview. So it seems to the Zenters that one should be passionate about one's idea. But the Zenters had a good idea. We'd been waiting for someone to propose a web-based Powerpoint killer. So all we needed to know was that they were smart and psyched to work on it.

Reddit was at the other extreme. We didn't like their initial idea. But we liked Steve and Alexis, so we brainstormed with them about other possibilities, and the result was Reddit. If they'd spent the time before the interview pumping up their "passion" about their idea, it would have just made things harder.

Maybe I'd better write something myself about what happens at interviews....

<comment><USER3> One thing I seem to notice from people doing startups---really, from anyone doing something that isn't codified---is the urge to take a personal experience and distill it into generalized wisdom, even if what they learned isn't useful in general. If you have a scatterplot, you can draw a pretty nice linear approximation through it. I sort of think of this type of advice as the experienced person throwing a line through their one point and then trying to orient that line as best they can. Personal stories make great content for a blog, and it's true, when taken in the context of other people's experiences they can be of great help, but the urge to generalize and present them as a method is something that's usually better off avoided.

<comment><USER2> Everyone does this. There's nothing wrong it. Generalizing from experience is part of intelligence.

Maybe the reason you seem to notice it more with startups is that there's a lot of variation in startups, so generalizations more often miss.

<comment><USER4> No. Avoiding baseless generalizations and making rational decisions is a mark of an important intellect. Anything contrariwise is exactly that.

<comment><USER2> But one is always guessing. Or always should be. You can't wait till you have complete information. You have to act on hunches.

Case in point: most of what Robby wrote was correct, even though it's based on a small amount of data. He's a smart guy, so he was able to extrapolate.

I think you have it exactly wrong. The mark of a great mind is not how few mistakes it makes, but the magnitude of the new things it discovers. Newton probably spent more time on pointless theological controversies than on physics. But we still consider him smart.

<comment><USER4> I have found that most disagreements are artificial; these are the result of a poorly framed discussion. I bet we agree, but are talking about two diffrent things.

I chose my words carefully. I did not say "the" mark of a "great" mind, but "a" mark of an "important" mind. I think we can all agree that Newton was a great mind, but I think the questions of what makes a great mind and an important mind are different.

I think there are many important minds in the myriad fields of human enterprise. These are people, like yourself Mr. Graham, who are able to understand their corner of the world and shape it.

I have observed that a lot of the people I see who are leading their fields have the quality I mentioned above. (These people have other qualities as well, but that exceeds the scope of the conversation.) They are in a position to lead, in part, because they have made a great many good decisions. As far as I can tell, the people who make good decisions are those who are not wrapped up in superstition and who are disciplined enough to make rational decisions whenever practical. Rigorously rational decisions require boundary conditions. It is important to know what degree of certainty is important. It is important to make a separate equally rational decision about how much time to spend thinking about the first decision (but be careful with this recursion.)

I can identity this pattern of decision making in your writing. You say that start-ups shouldn't spend a great deal of time worrying about their idea: "[if it seems good enough, then build it and find out.]" But, you rationalized that idea at length with the idea that implementing a project is less costly than researching the market. So, in this case, you are carefully making a rational decision to recklessly make other decisions. I think this suits my model (which is, of course, not certain).

</comment></comment></comment></comment></comment></comment><comment><USER5> "Taylor Hicks won American Idol. QED"

Oh cool, is someone going to set up a "vote for the worst YC app" website like there is for American Idol? :)</comment>


Show HN: Design System Playground - <AUTHOR> https://design-system-playground.netlify.com/ <comment><AUTHOR> I created this as a tool for playing around with different font and color combinations then generating a theme object that meets the System UI Theme Specification for creating interoperable UI components (see system-ui.com). The idea is that you can quickly experiment, and then if you come up with something you like, you can take those style properties and use them to make your component libraries or with popular projects like Theme UI, Rebass, Primer, Chakra UI, etc.

</comment><comment><USER2> This is really, really great! Extremely intuitive and created great results for me.

Here's a few suggestions — please feel free to take them with a grain of salt:

* The "theme" section states: "then use the generated theme in your projects." It might be useful to be more clear that this is formatted for theme-ui on this page by linking to the docs.

* It took a second for the "What body font do you like?" jawn to pop up, so I scrolled down and only scrolled back up because things were moving around on the page.

* I use an admittedly obnoxious color for all of my personal projects (#9604f2) and the utility/extra colors that were provided weren't that great. It might be cool to have each of these colors in the "Here are your colors..." stage have a color picker — as well as when adding your own color.

* I really wish there was a back button instead of just a next button! I picked the wrong body font at first and had to reload the page to go back.

That all being said, I'm going to use the design system that I just generated pretty much immediately!

<comment><USER3> This is completely off-topic, but if you're not from Philly, where are you from? I see "jawn" so rarely online that I can't help but be curious. :)

</comment></comment><comment><USER4> Great job in building this. I had some trouble wrapping my head around the steps I was making.

Maybe a little more instructions on the side would be a good addition. Maybe start with showing how a finalized Theme looks. (also consider the naming, theme vs design system).</comment>


Jack Ma Sees Decades of Pain as Internet Upends Older Economy - <AUTHOR> https://www.bloomberg.com/news/articles/2017-04-23/jack-ma-sees-decades-of-pain-as-internet-upends-older-economy <comment><USER2> Rule of thumb- anytime people resort to "education Will solve this", they are resorting to a non solution.

Education/retraining doesn't happen at the rate, at the scale, or in the time people need it to.</comment>


Ask HN: Pros and Cons if GitHub were to add a Q/A tab like the "Issues" tab? - <AUTHOR> Hi,
I was just wondering that there a lot of repos on GitHub with only 1 or two contributors. So it doesn't make sense to ask questions about code on StackOverflow. You can certainly put it in Issues tab but I think they are more about bug reports / feature requests. A lot of repos (like AngularJS) frown upon it, when people ask questions about the code in the Issues tab.
So wouldn't it be awesome if GitHub were to add a Q/A tab like the Issues tab? This way you can get answers from the active maintainers of the repo/code and don't have to wish that somehow they see it on SO (and not break rules by posting questions in Issues tab).
What do you think? What are the pros and cons of such feature? <comment><USER2> I often find questions in 'Issues' helpful, and am disappointed by projects that forbid them, because sometimes an obscure issue doesn't appear in the normal channels--mailing lists/SO/etc.--and at other times it seems like a means of stifling open discussion (ditto "I'm locking this thread").

Labels offer one simple (and existing) solution for this.

</comment><comment><USER3> I would especially love it if github allowed repo owners to optionally charge for answer. While freely allowing answers from anyone else.</comment>


Why Netflix Rolled Its Own Node.js Functions-As-a-Service Runtime - <AUTHOR> https://thenewstack.io/why-netflix-rolled-its-own-node-js-functions-as-a-service-runtime/ <comment><USER2> Function As A Service (FAAS) is so much of a better name than "serverless". I wish everyone would adopt it, and stop confusing everyone.

<comment><USER3> Serverless includes other things like google app engine and Heroku.

<comment><USER4> I haven't heard of those being called serverless. Those are more PaaS I guess.

<comment><USER3> It's a spectrum and the boundaries are unclear. By this definition [https://www.cloudflare.com/learning/serverless/glossary/serv...](https://www.cloudflare.com/learning/serverless/glossary/serverless- vs-paas/) they are more serverless than PaaS imo.

Either way, serverless is a superset of FaaS.

</comment></comment></comment></comment><comment><USER5> Every single comment here is about the name "serverless". Can't actually think of a better bikeshed example than this.

<comment><USER6> Just coming to this article, I find my self agreeing with you and the gist of the thread about serverless being a horrible descriptor at the same time.

It was just one thread though, and I could see how it sucked people into its vortex, I haven't even had a chance to read the article yet, and here I am doing the same as everyone else (including you...). Well, worse actually, as we've contributed to a new thread.

</comment></comment><comment><USER7> This is a garbage article. It reads as a commercial and not an informed technical piece.

As I understand it, according to this article, netflix is 90% complex services that have nothing to do with node. All this article is describing is adding an additional layer in front of those services, which uses a hosted solution that abstracts away servers.

So it sounds like by-and-large netflix still uses traditional solutions.

So what's not clear from the article:

1\. Why node?

2\. Why add a layer at all? I don't see why UI A/B testing couldn't be handled with truly front-end changes. Does this somehow enable A/B tests on TV apps, for example?

3\. How does this play with traditional version-control? (e.g. in a post- mortem if you need to see who changed something, and who approved it, is there a written log? And merge conflicts?)

4\. Does this add a new single-point-of-failure?

</comment><comment><USER8> Can we not debate the term "serverless" on every FaaS and PaaS article?

Edit: remove false claim

<comment><USER9> Really it should be called Serverless as a Service.

</comment></comment><comment><USER9> While the article focuses on the Why, the article isn't thick with implementation details about the How. From the image, it looks like they wrote a Node.js program and have it running inside Docker. The article mentions their custom IDE (NeWT - Netflix Workflow Toolkit) that connects to the Docker instance.

The lower half of the article covers their development toolchain:

\- Repo: Github?

\- CI/CD: Spinnaker

\- Testing: ???

\- Container orchestration: Titus

\- Dashboards and metrics: Atlas

\- Alerts and notifications: Pagerduty

</comment><comment><USER10> Interesting that they show a usecase involving Vizceral (their traffic visualizer, "intuition engineering"), despite them publicly abandoning the project. Hope this implies they are working on releasing it formally!

[https://github.com/Netflix/vizceral](https://github.com/Netflix/vizceral)

</comment><comment><USER11> TL;DR: It sounds like they wanted their UI teams to be able to easily deploy UI specific API endpoints, and existing offerings had too much latency.

I've often built UI-specific API endpoints, but have often been told such endpoints are a bad practice. In reality, I think they're great. It allows you to serve up optimal payloads and move much more quickly than writing the equivalent general APIs.

That said, wasn't Falcor the Netflix solution to this very problem?</comment>


BloomReach Crunches Big Data To Deliver The Future Of SEO and SEM - <AUTHOR> http://techcrunch.com/2012/02/22/bloomreach/

<comment><USER2> This is unrelated to the content, more about TechCrunch:

Why make thumbnail images expand in modal windows if you are not going to show them in full? The modal window is worthless to me...because the image is still scaled and unreadable.

</comment><comment><USER3> This article reads like it was written by the CEO's mom.</comment>


Ask HN: How many years are required for Mozilla to implement a simple feature? - <AUTHOR> Simultaneous spell checking of multiple languages is a feature available in Google Chrome web browser form a long time. There is such feature request for Mozilla Firefox web browser also from a long time. But it is still not implemented. There are several related open issues in the Mozilla's bug tracker:
https://bugzilla.mozilla.org/show_bug.cgi?id=69687
https://bugzilla.mozilla.org/show_bug.cgi?id=616108
https://bugzilla.mozilla.org/show_bug.cgi?id=676500
Despite the fact that the oldest of them is more than 19 years old, no real progress is made. Manual language switching is required and this is a usability nightmare for everyone who uses a more than one language simultaneously. For example, for me is a common practice to write messages in my native language and to mix English terms in them. The lack of this feature is the main reason for me switching back to Chrome, after I had returned to Firefox when Firefox Quantum was released. I suspect that only the lack of this feature is the main reason for many other people to not use Mozilla's browser and that this is a huge damage on their user base.
After all, for the feature to work the same way as in Chrome, does not look very difficult. The algorithm can be simply:

  function check(word, active_dictionaries):
    for dictionary in active_dictionaries:
      if word in dictionary:
        return true
    return false
 Of course there can be some complications related to Firefox internals, which do not allow such a simple implementation, but 19 years are really a long time. I suspect that the reasons this not happen until know are not technical, but purely political? <comment><USER2> Take a second to reflect on what you're actually saying:

> "I requested this feature X years ago. (Also, I'm not doing the work of > actually writing any code, but it must be super easy to implement, here's > some pseudocode. You're welcome.)"

Your implementation is useless; anyone can hand-wave and scribble something on a napkin over their lunch break. It's the details that surface the complexity.

Either way, it's moot. It's not like they can't figure out a for-loop on their own. It's about portioning dev resources for "your favorite feature" and justifying the maintenance cost of this feature later on.

You are not asking for Open Source™. You are being Openly Selfish™

</comment><comment><USER3> I see 500+ reported issues for Firefox just with the words 'address bar' in the title. This feature request is important to you, the others are important to their respective reporters. Mozilla doesn't have enough people and volunteers and never will.

> I suspect that only the lack of this feature is the main reason for many > other people to not use Mozilla's browser

Unlikely. It sounds like you used Firefox for months (Quantum was released 18 months ago). It might be a factor but the other 10000 features of the browser also had to work fine to make the daily use enjoyable.</comment>


Hiring remote - <AUTHOR> https://haughtcodeworks.com/blog/culture/hiring-remote/ <comment><USER2> > your time and the candidate's time is valuable. I don't want to waste either

> Once the current candidates have completed the process and you have a > sufficient pool of qualified finalists

I'm having a hard time reconciling these two statements. Here's some rough math, to put things in perspective.

By the time a candidate has "completed the process", they've invested 12 or more unpaid hours. Let's say you've got a pool of 6-11 candidates who have successfully completed the process, and you only offer a position to one of them. Not counting the time initial applicants spent, that's 60-120 of other people's working hours you've burned in exchange for nothing. At normal contracting rates, that's $6000-12000 worth of time or more.

If companies have an average pool size of 10 candidates, and only offer the job to one person in the pool, each candidate is probably repeating this process an average of 10 times to get a job, which is a $10000 investment of their time, _unpaid_.

You can say that it's worth it to the candidate, since they're probably getting a six figure job out of it, but consider the fact that under privileged candidates may not be able to afford to spend that much unpaid time on a job search, and some of the most talented candidates are already working full time, and don't have that much free time to spare.

I'm not saying candidates should be paid for the interview process, but I am saying that you should carefully consider how much time you're asking a candidate to invest if they're only one person in a pool of candidates. And companies should be clear with candidates about how many other people are being considered at each stage in the process.

The math could look something like this;

First Stage (Application): 100-1000 candidates * 1 hour invested = 100h Screening: 10 candidates * 1 hour invested = 10h Technical Interview: 5 candidates * 1 hour invested = 5h Take Home Project: 2 candidates * 3 hours invested = 6h Final Selection: 1 candidate, 1 hour invested = 1h

= 122 hours of others' unpaid time used

But in reality I suspect for many companies it looks more like this;

First Stage (Application): 100-1000 candidates * 1 hour invested = 1000h Screening: 20 candidates * 1 hour invested = 20h Technical Interview: 15 candidates * 2 hours invested = 30h Take Home Project: 10 candidates * 20 hours invested = 200h Final Selection: 1 candidate * 1 hour invested = 1h

= 1251 hours of others' unpaid time used

I'm making some rough assumptions about contracting rates and salary expectations, but that's about the scale of an entire year's worth of a developer's salary in free time just to get a job. It's absurd!

TL;DR

My math is pretty rough, but companies are NOT respecting candidates time with this form of evaluation.</comment>