Stochastic Superoptimization - <AUTHOR> http://blog.regehr.org/archives/923 <comment><USER2> The ASPLOS paper makes a bold assertion regarding the first example:

> To the best of our knowledge, it is truly optimal: it is the fastest program > for this function written in the 64-bit x86 (x86-64) instruction set.

This is an unwise claim to make, since x86_64 speed is a moving target, and what is fast today will not be 6 months from now. For example, this sequence should be slightly superior on modern Intel CPUs:

        mov edx, edx
        shl rcx, 32
        ; xor rcx, rdx
        ; mov rax, rcx
        lea rax, [rdx + rcx]
        mul rsi
        add rdi, r8
        adc rdx, 0
        add rax, rdi
        adc rdx, 0
        mov r8, rdx
        mov rdi, rax

<comment><USER3> Wow, that's really embarrassing.

I checked against IACA ([http://software.intel.com/en-us/articles/intel- architecture-...](http://software.intel.com/en-us/articles/intel-architecture- code-analyzer)) in case I was missing something, and it agrees that your version is 2 cycles faster on Sandy Bridge. Worse, while both blocks are slower on Nehalem than Sandy Bridge, yours appears to be 2 cycles faster on the older architecture as well. Seeing as that came out in 2008, it's hard to be charitable to their boasting.

Would you mind if I use your sample code to ask the authors?

<comment><USER2> Sure, you can use that however you wish.

</comment></comment></comment><comment><USER4> Ha, OAAS (optimisation as a service). I like it. That's the first time I've seen that idea.

Of course, if you standardise something based on say LLVM IR, that spins into the idea of a marketplace of competing optimisation services... -Ofastly versus -Ogoogle-optimizer-cloud ...

Sadly, I don't think it would be feasible to commercialise this. That doesn't mean there aren't amusing possibilities:

"Although -Omechanical-turk does produce very good code, most people cannot wait 3 weeks for that compiler pass to finish..."

<comment><USER5> A year ago, Paul Graham selected "optimisation as a service" as a startup idea. It's #6 in <http://paulgraham.com/ambitious.html>

<comment><USER4> Oh, so it is!

The reasons I wasn't convinced a web-service-based IL optimisation pass would be commercially viable were: loss of determinism in compilation, the law of diminishing returns (throwing 10x effort might generally give only a few percentage points gain), and the idea of parts of the compiler _literally_ being a black box being unpalatable to a lot of people. Also, IP and confidentiality concerns.

OTOH PG's idea was slightly different; it reads to me like he's talking about something that starts with source code.

</comment></comment></comment><comment><USER6> Now run the superoptimizer on itself (or at least parts of it.) Yes I realize this would quickly hit a point of diminishing returns since it would only try to create code that produces the exact same output, not novel code that produces even better output, but it's still an interesting idea to think about.

And maybe you could judge the output code by it's utility rather than how closely it matches the output of the original algorithm, but that's a much harder problem.

</comment><comment><USER7> (Warning! This is a long one!) This is a really intriguing concept. I've often daydreamed about writing something like this, but didn't have the time or expertise to go about attempting an implementation. It's so cool to see others doing this.

What would be really cool with these optimizers is if the stored databases of "patterns" could be shared. In other words, if the optimizer stumbles across a particularly excellent implementation of a particular code goal, it would be uploaded to a central database and cached for reuse and further mutation. People all around the world would be working from, and contributing to, one giant database of randomly discovered optimization techniques.

As a field of study, I also feel like stochastic optimization has a huge potential for improvement over the coming years. Recently, I had the problem of trying to space equally-sized spheres as far apart from each other as I could -- in other words, if I have 361 points that I'm putting in a box, I want the minimum distance between two points to be maximized (this is the fitness function).

My first attempt was to give each point a "charge" and attempt a little electrostatic simulation. This didn't work that well, for various reasons. After stumbling around for a while, I decided to attempt a genetic mutation algorithm. I had never written anything like this before, but I thought it would be fun to give it a go.

Initially, my program randomly placed points in the box. Then, for each point, it finds its nearest neighbor and computes the distance to it. I then take the average of all these distances, so I essentially have the mean nearest neighbor distance. On the next iteration, all points less than this mean value are perturbed. The process is repeated until no random perturbations produce improvement.

This worked alright, but it needed more. I kept modifying my program, but in the process of modifying it, I introduced a bug that somehow actually made the code the converge to a larger minimum distance (which is the goal). Inspecting my code, I realized the source of the "error": in the process of computing the distance between a point and its nearest neighbor, I was setting an initial "minimum" distance, which was supposed to be infinity. As closer distances were found, the infinity was replaced, so eventually it ends up with the closest distance. Well, it turns out that instead of infinity, I had been setting it to something like 10 (for a 100^3 box). So if the nearest neighbor distance was _larger_ than 10, it was still a value of 10 that was contributing to the mean NN distance!

I soon realized that I could also modify the distances that I randomly perturbed the points in each step, and that some values worked better than others. Not only that, but that larger perturbations worked better at the beginning of the convergence, and smaller perturbations worked better toward the end of the convergence. So I created a heuristic that based the next "perturbation distance" on the most recently successful distances.

But this wasn't enough. Eventually as the perturbation distance became smaller, the convergence process would "stall". I found that by temporarily increasing this distance, the system would find new mutation paths that would get the program out of its local optimum and move it forward again. But how frequently do I modify this distance?

The more code I wrote, the more I realized could be changed. There's a ridiculous amount of parameters that could be optimized _in my optimizer_ , and I was just sitting there tweaking them by hand and testing what worked best. The thought occurred to me, why don't I write a program, that writes a program, that optimizes the sphere placing problem? And then, darn, I may have to write a program that even optimizes that one.

Well, I had to get this thing done -- since it was for my research -- so I couldn't go off on a tangent and I had satisfactory results. But the sheer number of techniques to optimize this thing left me highly intrigued, and I will certainly be revisiting my program when I can find time to do so.

<comment><USER8> A lot of people have thought really hard about this problem. Plenty of open problems remain:

<http://en.wikipedia.org/wiki/Packing_problem>

<comment><USER9> And for this particular problem:

<http://en.wikipedia.org/wiki/Close-packing_of_equal_spheres>

<http://demonstrations.wolfram.com/SpherePacking/>

<http://www.maa.org/devlin/devlin_9_98.html> (nb: that proof is for infinitely many spheres. For finitely many, the problem is, AFAIK, still widely open. 361 likely is close to infinitely many, though, if your box isn't weirdly formed)

</comment></comment></comment><comment><USER10> Very cool. It reminds me a bit of the genetic programming work (aside: GP and genetic algos are different schools of research) on evolving programs where the genome is a string of assembler instructions.

Markov chain Monte Carlo would appear on its face to be better suited to this problem than a pure GP approach; at least to speed up convergence to a solution. It's actually quite different from GP -- no crossovers, more global state etc. Maybe a flock/swarm optimiser approach would be a better analogy in the nature-inspired computation world.

I'd be interested to know whether they experimented with other cost functions. For example, in some schemes, some candidates which fall outside the acceptable solution state (eg code that doesn't run, code that produces the wrong answer) are simply culled. In some you try to perform "repairs". In this case they've taken the other common approach of assigning a cost to incorrectness.

<comment><USER11> I don't think this is MCMC. The way I read it, monte-carlo was mentioned with regards to the idea of searching widely and sparsely. This is counter to the more targeted idea of MCMC, which generates a bunch of correlated samples to more efficiently sample the distribution.

Another reason to suspect this is closer to genetic programming is that they talk about mutation and fitness. I got the impression that the algorithm searches a space of program trees via mutation, without keeping a population - so no crossover. If they did use MCMC it would be as a very specialized form, such as simulated annealing. Also, the Monte Carlo technique used in Go is with tree search, not MCMC.

I find it amazing that randomization works so effectively, we must live in a friendly universe. Many real world problems tend to have enough exploitable structure that the idea of saving effort on optimization (xor measurement) via randomization is a powerful one.

<comment><USER12> >This is counter to the more targeted idea of MCMC, which generates a bunch of correlated samples to more efficiently sample the distribution.

The idea of MCMC is not to more efficiently sample a distribution through to use of correlated samples. Sampling a Gaussian exactly is more efficient than constructing a Markov chain with some random walk proposal (for example) to sample it.

The idea of MCMC is to sample distributions that are considered intractable. Correlation in samples skews moment calculations, and this is bad. In fact, there is a whole field of research dedicated to designing proposals that allow chains to reach stationarity more quickly.

<comment><USER11> Yeah I know that it is to aid in the computation of intractable inference, I should have been more careful in my wording. I am not saying it works by generating correlated samples, I'm saying because of how it works it will exhibit autocorrelation. Essentially, MCMC will generate samples that are near each other which will tend to be positively correlated. This property is why one needs to tune the variance of the proposal, do burn in and test for convergence. However, due to the nature of markov chains, large enough samples will have you sampling from P(x). The idea is to approximate the density of P(x) while trying to reject as little as possible. Hence less wasteful. But unlike simpler rejection methods samples will not be i.i.d.

I've also read the actual paper now, which I should have done in the first place. I see how they make use of MCMC. And looking at it, I think my suspicion that what they have is very close to annealing (sans Temp) is accurate since they emulate density with cost and proposal with local edits. The particulars of the more general (though less generally applicable) MCMC as I understand it involve actual distributions. I'm not sure why the blog emphasizes searching sparsely instead of sampling.

<comment><USER12> >The idea is to approximate the density of P(x) while trying to reject as little as possible. Hence less wasteful.

The idea is to approximate P(x) period. Rejecting as little as possible means nothing other than one's choice of proposal was poor. There are published works stating the optimal acceptance probability in high dimensions is 23.4% (see the work of Roberts et al (1997)). I think if one wanted to reject as little as possible one would have, albeit naïvely, tuned to a much higher acceptance rate.

<comment><USER11> You misconstrued. Reject as little _as possible_ (<> reject little) was the motivation with respect to more naive random walks which suffer at dimensionality. I was not talking about leniency of proposal, where you are of course correct.

<comment><USER12> >You misconstrued. Reject as little as possible (<> reject little) was the motivation with respect to more naive random walks which suffer at dimensionality.

Misunderstanding on my part; apologies.

Can you clarify the statement on dimensionality? Moment calculations converge at a sharp rate of 1/sqrt(n). Riemann sums as approximations to integrals (moments) suffer from the curse of dimensionality.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Following that paper, a friend and I implemented a simple MCMC-based synthesizer for the GreenArrays chip (a very low-power and rather obtuse architecture based on a variant of Forth).

Most of the code is up on GitHub in several different repos[1][2]. I'm actually rather proud of some of the code, especially part of the F18A interpreter (F18A is the name of the instruction set on GreenArrays chips). It's rather short and neat.

[1]: <https://github.com/TikhonJelvis/array-forth>

[2]: <https://github.com/jacobt/mcmc-synthesis>

My version actually supports loops and even self-modifying code. This no doubt has some performance implications--my current approach is to throttle each test case to take at most as many steps as the input program does. For various reasons, I found it easier to just allow loops than to try to stick to loop- free code.

I found that their correctness measure--looking at the number of bits that differs from the expected result--was basically useless for GreenArrays. I actually have some graphs lying around which show how it basically doesn't vary until it suddenly finds a correct program and shoots up to being 100% correct immediately. It does not exhibit the nice hill-climbing behavior that we want.

For better or worse, I have not been able to get this style of approach to perform as well as a similar synthesizer using an SMT solver (namely Microsoft's Z3). The advantage with the MCMC system is that it's easily parallelizable. It can also deal with certain programs that can choke up the SMT-based version.

The SMT-based system has problems dealing with lots of bits, so we usually run it pretending that the architecture uses ~4 bits instead of 18 (yes, it uses 18 by default!). So for problems requiring more precision, the MCMC approach might be better. Similarly, the SMT system does not model memory terribly efficiently, so problems needing a lot of mutated memory might be better for the randomized system.

Also, I should add that I know literally nothing about machine learning and even less about SMT solvers, so it's not surprise that the things I have written don't perform terribly well. Basically, my only solace is that this project's code is mostly rather elegant. I learned quite a bit about programming at a high level of abstraction from this project--some of the things I ended up doing rely on significantly more abstract reasoning than anything I've done before.

Anyhow, it's cool to see people reading about something I've been playing around with for a while now. Even if I find the whole field a trifle annoying :P.

If you want to play around with this sort of synthesizer, I have uploaded both a generic library based around MCMC[3]--it's surprisingly simple--and the GreenArrays-specific code[4] to cabal, so they're both just a cabal install away.

[3]: <http://hackage.haskell.org/package/mcmc-synthesis>

[4]: <http://hackage.haskell.org/package/array-forth>

</comment><comment><USER3> I've recently been trying to write some very fast x64 assembly, and have been thinking about this quite a bit. I think one could get substantial improvement even with the simpler approach of just reordering the code. With modern processors, small changes in number of instructions have much less impact than how well they interact with the superscalar nature of the CPU. And while out- of-order processing helps diminish this, the order of instructions still matters a lot.

Instead of trying lots of random orders and seeing if they work produce the right result, my thought is to generate a data dependency graph of the instructions, and then enumerate all possible topological sorts of this DAG. There's a classic 1974 Knuth typewritten Knuth paper on generating all the sortings efficiently: <http://www.cs.ncl.ac.uk/publications/trs/papers/61.pdf>

Generating the dependency graph is difficult in the general case, but should be simple enough if we presume branch-agnostic and alias-free code. As long as the dependency graph is correct, all the orderings should work. Thus if one of them doesn't, I'll know immediately that the graph is wrong. Since I only need to generate the graph once, this step doesn't need to be particularly fast.

Then I'll directly generate assembly for each of these orderings. For speed, and since I already have the machine code, I'm planning to write the bytes directly memory. Then instead of analyzing the code and estimating the processors front-end scheduler, I'll just call each function and time it using RDTSC or a a comparable on-die performance counter. As the timer is cycle- accurate, I shouldn't need many if any iterations.

This should be straightforward in C, and apparently possible in the standard scripting languages using libffi: [http://stackoverflow.com/questions/6143042/how-can-i-call- in...](http://stackoverflow.com/questions/6143042/how-can-i-call-inlined- machine-code-in-python-on-linux). Then I'll save and write out the fastest one.

To keep it simple, it would be nice to outsource the heavy lifting to existing libraries and programs. Their availability might dictate my choice of language. I'm most comfortable with Python, Perl or C, but something else might be fun if all the tools are available. Here's my current list of potential tools:

For disassembly, DiStorm from Python or C. Haven't found anything great for Perl. Maybe X86::Udis86? Maybe just parse 'objdump -d'? My needs are very simple since I'll already have machine code.

For calling assembly, wrappers for libffi if using Perl or Python; nothing needed for C. I guess this could be trickier if I want to consider different alignments, but I think I'll start without.

For timing, I don't think it's usually possible to call RDTSC from Python or Perl, but since I'm planning to be able to execute arbitrary assembly, this shouldn't be any harder to add. A much more travelled path in C, though

For generating all the possible topological sortings, I'll just write something following Knuth's approach. It would be nice if I could generate and call the functions from the sorting algorithm so I can monitor progress and start getting results sooner.

I think my weakest part is generating the dependency graph. I'm willing to cut corners on this by making lots of assumptions about the code, but it needs to be right. I can parse the output from Intel's IACA if necessary, but would be nice to have something more easily available. Are there libraries that do this?

Suggestions and alternative approaches greatly appreciate. My thought is that once it works, it shouldn't be that hard to add some of the "substitute different code" approaches. I like the idea of having a database of approaches one could try out. Of course, what I really hope is that something exactly like this already exists, and I'm just searching by the wrong terms.

</comment><comment><USER14> It would seem intuitive that the search process would be greatly speeded up by using a genetic search of the solution space rather than brute force search, it's a bit odd that genetic algorithms aren't mentioned.

<comment><USER10> Two things.

1\. You're thinking of genetic programming, not genetic algorithms.

2\. They used the Markov chain Monte Carlo method to perform the search. It's a different method altogether. For example, note the absence of crossovers.

<comment><USER6> I think that it would be correct to call it a genetic algorithm. I thought that genetic programming usually uses a tree structure in a functional programming language.

<comment><USER10> Most GP representations are of instruction trees, but some GP experiments have been done with strings of assembler instructions. The commonality is that the population of agents are programs and the test of fitness is a function execution.

<comment><USER6> The problem with that is that it's really hard to crossover strings of instructions in ways that don't completely break it, especially when code is inserted or removed from one parent. And crossover is 90% of evolution (in fact some claim that genetic programming works just as well or better with no mutations whatsoever and only crossover being used.)

<comment><USER10> It's hard, but it's been done. The nice side effect is that fitness functions evaluate quickly.

</comment></comment></comment></comment></comment></comment><comment><USER15> And so an NKS prediction comes to pass.

</comment><comment><USER16> Nice, that's pretty awesome.

</comment><comment><USER17> This is pretty cool.</comment>


Ask HN: How many apps do you buy per month? Which app's model converts you most? - <AUTHOR> <comment><AUTHOR> I buy only 1 to 2 apps per month, sometimes less. For me personally the apps that get most conversions from me are apps that offer a unlimited no holds barred free trial for 30 days and then downgrade to a simpler version (i.e. smart audio book player, lean droid, etc) but they're still useful.</comment>


Ask HN: How do I feel better about working for Amazon? - <AUTHOR> I'm an L4 at Amazon and will make about $150k this year (inclusive of stock growth). My job is fine, but I constantly struggle and wrestle with the fact that my job is considered unimpressive by my peers, and that regaining a positive total compensation trajectory is difficult to impossible now (for example, my peers at Lyft and Facebook make in excess of $300k with 2 years tenure. If I get promoted within the same time period I'll make less than $200k). In addition, seeing constant microaggressions from people that work at elite companies like Google (identifying as "Googler" on social media, bragging about the fact that they get a WFH bonus or get fancy gifts or Hawaii offsites etc) has driven me into dark places in the last few months especially. Even when I try to study and prep for interviews it weighs on me like a brick because it feels like they're just made to be superior.<p>I've tried therapy, but it hasn't been effective. What are good strategies to mitigate this feeling? <comment><USER2> Simple suggestion - take $500 each month and go to a soup kitchen near your house. Buy something nice for everyone there - you'll be shocked how far your $500 can stretch. It can be as simple as 400 doughnuts and several gallons of coffee from Dunkin Donuts.

Then, spend the rest of your evening serving food and carefully notice how everyone smiles and thanks you as you serve gruel, mashed potatoes, plain pasta, and water.

Next, think how much that person might earn in his lifetime and compare it with 3 years of your salary.

Then, you'll begin to appreciate that life is more than just making 150k or 200k.

<comment><USER3> This is a really good idea.

</comment></comment><comment><USER4> (1) Recognize that getting rid of this mindset is going to be an uphill battle, because humans are wired to compare ourselves to our peer group, as a means of determining our status within it. It is okay that this is a hard thing to deal with, even if it seems like a profoundly "first world problem". Don't feel ashamed that you are dealing with it and don't be demoralized when it remains quite hard.

(2) Delete your social media accounts; they really enable the self-minimizing comparisons with other people. Try this out, at least for a bit: stop going on Twitter, Reddit, HN, Facebook, Instagram, etc. and see if this issue is on your mind as often over the course of a month.

(3) Recognize that you are making an objectively huge amount of money, even for a software engineer. It helps to keep some global perspective: even if the people you socialize with don't view your income as impressive, 99.5% of people in the world do. Contrary to the vibe on this site, most software engineers aren't making 300K+ each year.

(4) Recognize that money is not everything, and if you are otherwise happy with your job perhaps the money thing shouldn't matter that much. As people get older (at least in my experience), they tend to see this and start to value other things in their lives more. Try to socialize with some people outside of tech, doing something you enjoy (beer-tasting, hiking, playing board games, whatever) - though this may be quite hard to do right now depending on where you live.

(5) If none of the above make you feel better, its okay to decide that money (or the associated status) is a priority for you and pursue it: hit the books and apply to the jobs that you feel would pay you the amount you want. BUT, this feeling almost certainly won't magically go away if you get the job: you will find new people to compare yourself unfavourably to. And unless you're Jeff Bezos, there is always a bigger fish. And even if you are Jeff Bezos, there are always going to be 100 people working their hardest to dethrone you.

<comment><USER5> Median US income for a software developer or engineer is around $105k. Median income for employed people in the US is less than $34k. Around 18 million Americans are unemployed.

<comment><USER4> I'm not sure what this is responding to in my comment.

<comment><USER5> Adding some hard numbers to your point that $150k is an objectively huge income outside of the small bubble of highly-paid and overpaid software professionals. A lot of my friends and family make a lot less than I do, and work under worse conditions. If I complained about making less than someone at Google they would do worse than "microagress" me. That perspective and grounding in the real world sure helps me not feel bad that some people make more than I do.

<comment><USER4> Yeah, having the perspective of people outside your bubble definitely helps. Outside of software engineers, I have seen this quite a bit in people I know that became doctors: its the natural thing to compare yourself to your perceived peers, so the comparison becomes the people at your hospital who are making more. The sudden reminder that there is a world outside of your bubble is a bit like splashing cold-water on your face.

</comment></comment></comment></comment></comment><comment><USER6> If this drives you to earn more, go earn more. Get a job at Google, get the 300k.

If that's not what you want then don't. You are earning a huge amount and are working at a well respected company. You are doing awesome. Seriously you're kicking ass.

Don't take this the wrong way but maybe it's time to grow up a little bit. You should not feel this bad because someone else is doing better than you. This is the definition of envy [https://en.wikipedia.org/wiki/Envy](https://en.wikipedia.org/wiki/Envy). Envy will rob you of so much happiness. Believe it or not you can learn to feel happy when other do better than you do. It will be a huge source of joy to you if you can learn this. It won't rob you of your drive. It will allow you to celebrate and be inspired by the success of others while being happy in who and where you are.

As a culture we used to denounce envy but now we embrace it, it's a truly destructive force.

<comment><USER5> Life is suffering, and the root of suffering is desire.

</comment></comment><comment><USER7> Volunteer with an organization helping refugees, the homeless, and realize that you make an insanely huge amount of money. Unspeakably huge. Arguably, unethically huge.

A week of your pay is more than many people make in a year. A day's pay, even.

[https://www.bbc.com/news/magazine-17312819](https://www.bbc.com/news/magazine-17312819)

If you _must_ compare to your peers (though I would add that a job is just a thing you do for money and your "peers" should be your fellow humans), chat with your European colleagues about pay.

The next time you get a pizza delivered, realize you make more in an hour than that person will make all day (roughly).

It's one thing if you're struggling to meet the basics of life, but at this point you're worrying about arbitrary nubers here and money, to some extent, is a made up fiction we all collectively decide is useful.

I mean, I make less than you, and I suppose I should feel bad, but I also get a month off a year, I see my kids on my lunch break (I work remote), I had paid paternity leave, and best of all, every worker around me, even the person behind the counter at the fish and chip shop gets these things too, which makes me happy. In my view, I suspect I'm richer than you in the ways I care about. Maybe you could try a similar reorienting of your values?

</comment><comment><USER8> Get a life outside of work so you will come to realize how meaningless it is.

If after that all you still care about is money and being able to brag about having a white collar job at some dumb tech company go somewhere else.

</comment><comment><USER9> I'm sorry, but it's way too difficult for me to take this seriously. We are in the midst of a global pandemic and countless people, even software engineers, have experienced permanent job loss. All those people working barely above minimum wage who serve you and your friends lunch every day? No more jobs. The businesses they're working for have either already gone under or they're close to doing that.

It's okay to not be okay, especially during these times. But if your reason is that you're feeling FOMO over not going from very well-paid to even more well- paid in the middle of a global health and economic crisis, then, well, I dunno. You live in a bubble dude.

</comment><comment><USER5> Posting that you make $150k at Amazon and expect to get to $200k soon is exactly the "microagression" and bragging you complain about. If your peers put you down find a better crowd. In the world of people in the software business you have already succeeded. In the bigger world of people working shitty jobs for minimum wage, or the hundreds of thousands who lost their tenuous jobs because they can't work from home, you're just humble bragging and complaining about problems the large majority of people wish they had.

</comment><comment><USER10> Volunteer. Get out in the community and see how good you have it. I've always found that to be helpful when I'm feeling down.

If that doesn't help, switch jobs and try to make more money. Money is nice, but after a few years I'll bet one of two things will happen:

* you'll be happy you have gobs of money, and you'll keep chasing it

* you'll realize other things make you happy (status, time, relationships) and you'll decide to pursue those

Oh, and keep up with the therapy.

</comment><comment><USER11> I personally think that if you could change your perspective on things it would benefit you greatly, let me see if I can help you with that :)

Your biggest asset is the _passion_ you put in your job, and you should do everything you can to reward it. Don't use money to value how good you are doing, but use the "Am I happy with what I do? Am I satisfied of my job"?

I am saying this because being unhappy with that you do is probably the reason that is is holding you back.

Personally, while I have enjoyed salaries like the one you mention, I have never let me stop me from leaving a company with a toxic culture OR because I was simply not satisfied with what I was doing.

I have subject myself and my family to a > 50% reduction on income (!) just to find myself satisfied again with my job.

If you can remove yourself from the money equation, you will find much more satisfaction in what you do.

I always say that people in our situation owe to themselves to maximise their happiness at work simply because we CAN. You can choose to join a more exciting startup. You can choose to explore a new career path.

Don't let money be what you use to define your success.

</comment><comment><USER12> Take a leave of absence from your current job. Apply for minimum-wage jobs and don't stop until you have landed such a job and worked at it for at least one full month, doing all you can to live off that minimum-wage income. This almost certainly will reset your expectations and help you feel much better about your current job.

</comment><comment><USER13> There's always going to be someone who makes more than you - if you got a job at Facebook, would you be satisfied or would you then just look at someone who hit it big at a startup and wish you were making that kind of money?

Your current gig is going to make your next gig easier. The FAANGs all seem to recruit each other's people if that's a thing you are interested in.

Do you like the work you're doing? You might hate it if you moved. The grass is not always greener.

I would also reconsider the idea that you're not at an elite company and these other peers are. I sincerely doubt the level of engineering is radically different among the big tech companies. Considering Google "elite" but not Amazon seems strange to me. As one anecdote, check out Steve Yegge's long blog posts about platforms - [https://gist.github.com/chitchcock/1281611](https://gist.github.com/chitchcock/1281611)

Also, check out levels.fyi. The gap might not be as big as you think it is. You may be overvaluing outliers.

From looking at your other posts - in addition to other suggestions, you should probably avoid LinkedIn. Replace it with browsing this: [https://twitter.com/BestofLinkedin](https://twitter.com/BestofLinkedin)

Finally, do you have a mentor? Someone who you can talk to about this stuff, maybe someone outside your org?

</comment><comment><USER14> Sending you much love.

You're more than the salary, bonuses, and gifts. Please try to take to heart the good suggestions in this thread (putting your salary in context of lesser- paid workers in other industries, volunteering).

Best wishes, and take good care.

</comment><comment><USER15> take a bit more pride in what you do. even your handle, lowiqengineer, says something about yourself. you internalize that and it affects you. it's already been said but stop comparing yourself to others. you don't need those perks, you don't even need that much money. find something bigger than that.

</comment><comment><USER16> Learn not to give a shit about money and find a job that you enjoy.</comment>


Duostack or Heroku for Rails hosting? - <AUTHOR>

I recently got a duostack invite and I was wondering how this compares to Heroku?(pricing, service..etc) <comment><USER2> No idea on prices/features, but Heroku is going to be a lot more stable at this point since it's been around longer, hosting tens of thousands of apps.</comment>


Basically, Carrier Strike Group 4 Is Jamming GPS Across U.S. Southeast Coast - <AUTHOR> https://theaviationist.com/2019/02/08/basically-carrier-strike-group-4-is-jamming-gps-across-u-s-southeast-coast/ <comment><USER2> Some Embraer jets have a special NOTAM for loss of GPS due to multiple system errors leading to an inoperative yaw dampener (Dutch roll) issues at speed and altitude, requiring descent and reduction of speed to 240 knots.

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

</comment><comment><USER3> For what it's worth, at least in the US there is still alot of navigation that is doable without GPS, and in fact is supposed to be done without GPS.

For example, have a look at this high-altitude chart, centered on the Falmouth VOR in Kentucky, south-east of Cincinnati:

[https://skyvector.com/?ll=38.641546637139996,-84.30027471561...](https://skyvector.com/?ll=38.641546637139996,-84.30027471561179&chart=450&zoom=3)

The triangles are airspace fixes, which are defined one of two ways:

1\. The point where two radials (one each from a different VOR) intersect. For example, HICKI ([http://www.airnav.com/airspace/fix/HICKI](http://www.airnav.com/airspace/fix/HICKI)). This requires both VORs be operational, and that you be able to receive both VORs at the same time. If one of the VORs has DME equipment, then the fix also falls into the second type, below.

2\. A point on a VOR radial, some DME distance away. For example, PETES ([http://www.airnav.com/airspace/fix/PETES](http://www.airnav.com/airspace/fix/PETES)). This requires a VOR with DME equipment, and an appropriate receiver.

The black lines (such as J24) are routes that can be navigated using just VORs. No satellite-based navigation is needed, although fixes do have GPS coordinates published. J routes are used in the US at and above flight level 180 (FL180), which is 18,000 feet and a hard-coded barometric pressure of 29.92". Below that are the V routes, which serve the same purpose, just at lower altitudes.

By contrast, have a look at the blue stars on the chart. For example, OCASE ([http://www.airnav.com/airspace/fix/OCASE](http://www.airnav.com/airspace/fix/OCASE)). That is a fix that is _only_ defined by GPS coordinates, with Q routes connecting them (although you will often see a Q-route start or end at a fix or VOR). Q routes are used for high-altitude navigation in the US, with T routes used for lower.

My understanding is, for VOR-based fixes, J routes, and V routes, the VOR receiver is supposed to be the source of truth, with GPS acting as a backup. If your flight plan has you going VOR—for example, Charleston to Indianapolis via route HVQ J24 VHP—then your FMS should not react any differently if GPS acts weird. Show an alert, sure, but not cause the plane to freak out.

(Of course, that doesn't help for surface uses, like vehicle navigation…)</comment>


The Alternative World Drug Report - <AUTHOR> http://www.countthecosts.org/alternative-world-drug-report

<comment><USER2> The biggest barrier IMO to a legal drug economy, with regulation and legitimate corporate players, is reversing years and years of learned stigma that "drugs are evil". And the incredibly irony here of the "please think of the children" mentality, is that it's reinforcing this feedback loop, and I don't see any way to break out of it.

The government can't legalise drugs because of the massive community backlash there would be. So the continued illegality, of the trade sees it linked to criminal activity on a macro scale (terrorist groups / bikies etc.) as well as at a local level (home invasions / thefts / pharma. raids etc.) not to mention the violence and the risk of overdose that prompts teary eyed parents to come on the news and espouse about the evils of drugs, leading to the (admittedly fairly compelling) conclusion that stamping out drugs would be a good thing. And that, of course, means the government can't legalise drugs because of the massive community backlash there would be...

<comment><USER3> There is a middle ground with decriminalization.

[http://www.countthecosts.org/resource-library/drug-policy- po...](http://www.countthecosts.org/resource-library/drug-policy-portugal- benefits-decriminalizing-drug-use)

</comment></comment><comment><USER4> Good luck with that. The evidence has been mounting up (and been pretty obvious) for years now, but nobody in Government is willing to climb down from their 'tough on crime' stance for long enough to do anything that's actually useful here.

Plenty of ex-officials, sometimes within days of their standing down, have sensible things to say, but until someone that's actually in a position of power gets their head out of their arse and does something about it.... yup, we're all still paying for a violent, pointless exercise that maximises the societal harm it allegedly seeks to mitigate.

<comment><USER5> I found this paper about drug policy change in Switzerland [1] very interesting.

The country was pushed toward evidence-based policies by a very large and visible drug scene, which had serious health consequences.

Some states started trying different approaches and fueled federal debates (The US system is similar to the swiss one). They did it even as far-right parties like SVP showed increased support, which caused almost schizophrenic results. For instance in 2008 "a resounding 68 percent of the population voted in favor of the new narcotics law based on four pillars, which included heroin-assisted therapy, while in the same referendum, only 33 percent endorsed decriminalization of cannabis"

[1] [http://www.countthecosts.org/resource- library/mountaintops-w...](http://www.countthecosts.org/resource- library/mountaintops-what-world-can-learn-drug-policy-change-switzerland)

</comment></comment><comment><USER6> Does the 270 Million worldwide drug users number seem a bit low to anyone else? I'm also wondering if that means "daily users" or "addicts" or "people convicted of a drug-related offense"?

<comment><USER2> A bit more detail further in the report: "The UNODC estimates, conservatively, that between 155 and 270 million people worldwide, or 3.5% to 5.7% of 15-64-year¬olds, used illicit substances at least once in the last year. Global lifetime usage figures probably approach one billion"

<comment><USER7> What does illicit mean in this situation? Illegal in the country the drug was taken in at the time?

<comment><USER8> If it's an UN study, it probably includes all drugs that the UN regards as needing "control".

<http://www.unodc.org/></comment></comment></comment></comment>


Bugatti Chiron Breaks 300 MPH, Becomes World's Fastest Car - <AUTHOR> https://www.roadandtrack.com/car-culture/a28887863/bugatti-breaks-300-mph/ <comment><USER2> 206 points and 287 comments yesterday: [https://news.ycombinator.com/item?id=20857465](https://news.ycombinator.com/item?id=20857465)

</comment><comment><USER3> > The engine now makes 1578 horsepower, a 78 hp increase...

Crazy: that's slightly more horsepower than the turbine engine of an M1 Abrams tank produces.[1]

[1] [https://en.wikipedia.org/wiki/Honeywell_AGT1500](https://en.wikipedia.org/wiki/Honeywell_AGT1500)</comment>


SFMTA Offers Two Permits for One-Year Powered Scooter Pilot - <AUTHOR> https://www.sfmta.com/blog/sfmta-offers-two-permits-one-year-powered-scooter-pilot <comment><USER2> > In its application, Scoot demonstrated a strong commitment to safety. For > example, the company proposed to educate and train its users in safe scooter > operations with mandatory instructional videos, helmets included in rentals > and free in-person trainings.

I've often wondered what would happen if bicycles were invented today. Surely cities would ban them immediately for being unsafe ("exposed chains and gears? what if a child put their finger in there?!") and they would completely fail to gain traction, right?

<comment><USER3> >I've often wondered what would happen if bicycles were invented today. Surely cities would ban them immediately for being unsafe ("exposed chains and gears? what if a child put their finger in there?!") and they would completely fail to gain traction, right?

It just comes down to power. Bicycles are fundamentally different because they are human powered. A powerful adult cyclist can produce maybe 500 watts at a full sprint for a few minutes. Compare this to an electric scooter which gives even a small child nearly 1 kilowatt of power, making it quite easy to hurt themselves or others. It's just a different level of responsibility, like the difference between firearms and archery.

<comment><USER4> The city / journo complaints about them don't really seem to be about the electric part of the scooters & bikes, but the dockless nature of them.

<comment><USER5> Dockless bike shares in China have had similar problems as scooters in SF. This isn't about scooters vs bikes. It's about clogging public spaces with private property, and how a sudden influx of new vehicle operators need to be trained to not constantly violate traffic laws (like riding on the sidewalk).

[https://www.theatlantic.com/photo/2018/03/bike-share- oversup...](https://www.theatlantic.com/photo/2018/03/bike-share-oversupply- in-china-huge-piles-of-abandoned-and-broken-bicycles/556268/)

</comment></comment></comment></comment><comment><USER6> SFMTA boss Ed Reiskin hates uber/lyft/bird/lime/jump etc. as an afront to his authority so this is outcome (Skip, Scoot) is unsurprising.

anyway I suppose its good they are allowing 1k to 2k scooters in a city of <checks google> 500,000 cars.

</comment><comment><USER7> Between NIMBY antics with housing development and absurd levels of gov overreach in situations like this, SF is going to end up cannibalizing its tech industry.

So many cities would kill to be the center of such a fast growing and high paying industry, and they're squandering it because their old guard is a bunch of gate-keeping snobs.

Oh well. NYC, LA, Austin, and other cities will gladly grab the fruits of tech talent.

<comment><USER4> I don't think NYC is much better in that regard. Look at how they created taxi 2.0 recently with driver limits, how e-bikes are illegal and a lot of downright hostile reactions in the press to citi bikes a few years ago.

<comment><USER7> At least the taxi thing was meant to curb road congestion. SFs scooter regulation seems like the intent is "how dare you run a business without our oversight?".

</comment></comment></comment><comment><USER8> _After a thorough review of 12 applications and more than 800 pages of proposals received, the SFMTA will offer permits to Scoot and Skip.

The SFMTA's decision is based on the strength of the proposals submitted by the two companies, combined with their experience of owning, operating and maintaining a shared mobility service in the public right-of-way. The agency looked for applications that prioritized the city's concerns around safety, disabled access, equity and accountability.

...

In its application, Scoot demonstrated a strong commitment to safety. For example, the company proposed to educate and train its users in safe scooter operations with mandatory instructional videos, helmets included in rentals and free in-person trainings. Furthermore, Scoot's model was unique in its proposal to use swappable batteries instead of manually taking the scooters off the street for regular recharging. This method could help the city reduce the number of vehicle miles traveled on San Francisco streets, which helps reduce traffic congestion and greenhouse gas emissions.

...

At the tail end of March, three companies -- Bird, Lime and Spin -- unloaded hundreds of motorized scooters across San Francisco. While they were operating, several concerns were raised by the city and our communities.

From April 11 to May 23 alone, San Francisco's 311 Customer Service Center received nearly 1,900 complaints regarding scooters. Complaints ranged from scooters blocking sidewalk access to unsafe riding in the public right-of-way. San Francisco Public Works had to impound more than 500 scooters that were blocking sidewalks or otherwise improperly parked._

So looks like Bird, Lime, and others are out on the sidelines. And it also looks like the era of brazenly ignoring the regulatory environment profitably a la Uber is over.

</comment><comment><USER9> In the mean time there are already 100 million (!) electro scooters in use in China:

[https://www.accessmagazine.org/fall-2010/electric-two- wheele...](https://www.accessmagazine.org/fall-2010/electric-two-wheelers- china-promise-progress-potential/) .

Quoth: "Having lived in China for the last year it's pretty much 99.8% ebikes. Petrol motorbikes don't make an appearance except in very poor areas."

</comment><comment><USER10> I never thought I'd say this, but I think I'd like to see an increase in parking garages in San Francisco.

Then we could convert on-street parking into parking for bikes and scooters, as well as bus lanes and bus stops (both for tech shuttles as well as for public transit).

We should make it as easy, cheap, and convenient to use an alternative transportation method as it is to call an Uber.

<comment><USER11> There really is an awful lot of street parking in SF. In the neighborhoods I'd like to see some project to turn some of the on-street parking into lawns/gardens. I believe at one point, in the 60s or 70s, most homes (at least in my neighborhood) paved over their front laws for additional parking space. There's a lot that could be done to improve land use in SF. The street parking in particular seems unnecessary, especially when you're a 10-minute walk from BART.

</comment></comment><comment><USER12> tl;dr Scoot & Skip were selected.

The PDF[0] outlining SFMTA's evaluation criteria for each company application is interesting. A lot of them were rated pretty poorly, even Lime & Bird (especially) which both had a large presence before the shutdown.

[0] [https://www.sfmta.com/sites/default/files/reports-and- docume...](https://www.sfmta.com/sites/default/files/reports-and- documents/2018/08/application_rating_summary_table_08.320.2018.pdf)

<comment><USER13> Can't help but think that spite factored in significantly in the decision. There's a row that conflates "applicant's history in complying with city regulations" with "applicant's experience in operating and maintaining shared mobility systems". Bird, Lime, and Spin all got "poor" for this row, even though they obviously have experience operating and maintaining such a system.

<comment><USER14> Bird, Lime, and Spin were only operating for a short time (at least in SF, not sure how long they were operating in other cities). Versus Scoot which has been operating in SF since 2012 (I know nothing about Skip; I assume they've been operating elsewhere).

This also isn't just "length of time operating", the same row covers "applicant's history" and "history of their users", and Bird/Lime/Spin all have a very poor history here:

> _From April 11 to May 23 alone, San Francisco's 311 Customer Service Center > received nearly 1,900 complaints regarding scooters. Complaints ranged from > scooters blocking sidewalk access to unsafe riding in the public right-of- > way. San Francisco Public Works had to impound more than 500 scooters that > were blocking sidewalks or otherwise improperly parked._

<comment><USER13> Bird/Lime/Spin have a very poor history only because they're the only ones with any history at all. They just happened to be around when the controversy started. It seems unfair to penalize them for that, and give them zero credit for previous experience. Scoot's been around, yes, but with a very different service.

<comment><USER15> But they only have history because they flaunted the regulations, no?

<comment><USER13> Operating a scooter service was not illegal at the time. It was only made illegal as a retaliatory response. SFMTA and the supervisors would have liked those companies to proactively ask for permission, hence the retaliation. Skip is the only company (AFAIK) that made it a point to ask for permission first – and they're getting rewarded for it – but I'm pretty sure they only did that with the benefit of hindsight. They were late to the game, saw the backlash against the early players, and saw that as their opportunity.

<comment><USER14> This is not true. AIUI the SFMTA told these companies that they were working on regulations governing these scooters and that they couldn't deploy them yet. Then one of the companies (I forget who) jumped the gun and deployed them anyway, so the others rushed out to deploy them too.

I don't know if this was strictly _illegal_ , but it was certainly flaunting explicit instructions from the SFMTA.

<comment><USER16> > I forget who

[https://techcrunch.com/2018/03/28/san-francisco-will- regulat...](https://techcrunch.com/2018/03/28/san-francisco-will-regulate- electric-scooter-sharing/)

ISTR it was Lime, and this article from March seems to back that up. The other two launched shortly after because they were afraid to lose first-mover benefits. Woopsie.</comment></comment></comment></comment></comment></comment></comment></comment>


You're a Slave to Money, Then You Die - <AUTHOR> https://churchlifejournal.nd.edu/articles/youre-a-slave-to-money-then-you-die/ <comment><USER2> "Before enlightenment, chop wood, carry water. After enlightenment, chop wood, carry water."

<comment><USER3> Before enlightenment, chop wood, carry water, get smallpox, let doctor do bloodletting, watch everyone around you die

After enlightenment, chop wood, carry water, get smallpox vaccine, live to play with your kids and watch them grow up...

<comment><USER4> I'm not sure, but I think you're thinking of enlightenment as in "the age of enlightenment", whereas the quote is about the zen/buddhist idea of "enlightenment (as in, even after reaching enlightenment, nothing much changes materially).

</comment></comment></comment><comment><USER5> If you have not read _The hard thing about hard things_, you should. One of my favorites is this exchange when the company hits hard times:

Bill Campbell: "It's not about the money."

Ben Horowitz: "What's it about, Bill?"

Bill: "It's about the FUCKING money.

<comment><USER6> Is this the same general concept as in Spaceballs (1987)?

Lone Starr : Listen! We're not just doing this for money!

Barf : [Barf looks at him, raises his ears]

Lone Starr : We're doing it for a SHIT LOAD of money!

</comment></comment><comment><USER7> Past a certain baseline, you're only a slave to money to the extent that you're a slave to your desires.

<comment><USER8> The title is really only saying "Humans Want a Higher Standard of Living" but phrased in a way that an angsty 15 year old might write.

</comment></comment><comment><USER9> If you want wealth, stop renting out your time. Lean towards equity. You need to be able to make money even while sleeping.

<comment><USER10> How should one go about doing this?

<comment><USER11> Realistically, most people can't and/or shouldn't do this by building a business or working at a startup. Both of these are very risky and won't generally accomplish what I think the parent comment implies. Instead, the more reliable way is to invest as much of your income as you reasonably can in securities like stocks and bonds so that over time you are indeed making money doing nothing. Also, if your company offers stock options, opt for those if you think the company is going to do well in the future.

<comment><USER12> How does the reasoning of buying stocks and bonds work over time given the current crisis has wiped out all the gains for many people made in the past several years utilizing this strategy, and before that was 2008 which did the same?

<comment><USER13> You don't need to make gains. You need to spend significantly less than you earn. If you can work for 4 months and survive for 12 then you're there.

Compound returns are a nice bonus if they come, but not necessary. Sensible frugality is the important part.

<comment><USER12> This doesn't work for people who want to have children, who may have healthcare conditions, who need to take care of their parents, etc. Spending significantly less than you earn won't mean much if inflation means anything you earn is worth less year over year.

<comment><USER13> You need to maintain value or decrease at a very low compounded rate.

You don't need compound gains.

> This doesn't work for people who want to have children, who may have > healthcare conditions, who need to take care of their parents, etc.

I'm not sure what this has to do with my point. You need to save more than you earn. If you can't or don't want to, so it goes. Not everyone's a winner.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Government was always supposed to be influenced 'by the people' those people are usually aristocrats. That is fine if there are enough of them with different ideas. What has happened is the consolidation of the artiscroacy and thus the means of influence of government. This is where we are getting our ugly problems from.

What is the first step to fixing this? Bring voting into the 21ST century AND NOT HAVE VOTING SOFTWARE BE CONSIDERED A TRADE SECRET[1].

Voting shouldn't be as onerous today and things like the Sun Light foundation[2] should be a household name.

We have all met jerks in our lives. People who lie,deciet, and cheat to get ahead. How is having the government covered in obscurity good for anyone?

1 - [https://www.techdirt.com/articles/20190706/17082642527/votin...](https://www.techdirt.com/articles/20190706/17082642527/voting- machine-makers-claim-names-entities-that-own-them-are-trade-secrets.shtml)

2- [https://sunlightfoundation.com/web-integrity- project/](https://sunlightfoundation.com/web-integrity-project/)

<comment><USER15> The problem with democracy is that you end up with mob rule.

And as soon as the mob realizes it can vote itself bread and circus, it's all over.

The founding fathers said exactly that.

And the mob in general is in thrall to the media, which is pretty much a wholly owned operation of the ruling class.

So, I guess, in the end, you get what your ruling class wants anyway, with the unwitting mob just a means to its own control.

<comment><USER16> If a democracy wants authoritarianism Nationalist Party then there is no magic mechanism to stop this, and it might be presumptive to even assume that democracy is most morally harmonious and effective configuration of society. I believe China is seriously contending this assumption, as it races ahead of its Asian and European neighbors with respect to economic optimism.

Also, political parties appear part and parcel with democracy, but that part of the discussion is so often left unloved.

<comment><USER17> And I would say it also races far ahead of its neighbours on the number of atrocities it commits against its own citizenry.

</comment></comment></comment></comment><comment><USER18> The term Neoliberalism attributed to post 1980 political figures is appropriate in that they tout themselves as classical liberal(hayek,mises,etc.) ideals proponents, but in reality they do not apply or conform to classical liberal ideals. The author does not understand that classical liberal interpretations of economics is an explanation of markets underlying principles. Reading mises, hayek, etc. Is akin to reading the code rather than using the software. The religious references in classical liberal writing is a reflection of how awesome it is to understand how something so seemingly complex works under quite simple principles.

The author conflates modern pseudo classical liberal rhetoric and application with intellectually sincere thought. It is hard to read this article and take him serious. Boiled down, this is just a piece of rhetoric. There is very little intellectual value.

<comment><USER19> My takeaway as well.

</comment></comment><comment><USER20> "Emancipate yourself from mental slavery. None but our self can free our minds." Bob Marley - Redemption Song

</comment><comment><USER21> Money, particularly fiat currency, is a useful fiction. You're not a slave of money as such, it's a tool of enslavement by those who control how much money is allowed to exist and how much is allowed to circulate. As Iain M. Banks put it, "Money is a sign of poverty".

<comment><USER22> The act of enslavement is in fact a two way street. You have to choose to want whatever you can buy with money in order to be enslaved. It's a choice most people just don't know they are making. For many, it's also a choice that makes sense if they want to survive. Money lets you buy food, clothes, and shelter. Making a choice to be enslaved for those is clear(but still a choice). Making a choice to be enslaved beyond that is not as clear.

<comment><USER23> "The act of enslavement is in fact a two way street. Enslaved Africans had to choose to not want to be whipped and beaten by their slavemaster for attempting to run away"

When the alternative is not something a reasonable person would choose, it's common courtesy to not pretend it's an actual choice.

</comment></comment></comment><comment><USER24> Other than the author having the ability to use large words I'm not sure what I was supposed to have come away with from this piece at all, it's just word salad.

<comment><USER25> Oh my god I'm glad it's not just me. I gave up at:

"...the distribution of wealth and popular acquiescence in the vicissitudes of the market—the hoi polloi might vote themselves welfare states or even socialism."

Word salad is understatement of the day.

<comment><USER26> It's not my favourite style of writing, but it's by no means word salad.

That paragraph presents a single coherent line of thought. They could have chosen simpler individual words, but there's nothing difficult in the phrasing or structure.

<comment><USER27> > They could have chosen simpler individual words

And they should have. I can put together a sentence using a lot of words most people won't know. It will be a valid sentence, and it will mean what I want it to mean, but a lot of people won't be able to understand what I intended it to mean.

<comment><USER28> It's so easy to look words up in a dictionary these days, but for some reason the tech community likes to take a perverse pride in reading at an 8th grade level. "How dare you use a word that happens not to be in my limited vocabulary?"

<comment><USER29> _hoi polloi_ is a redundant phrase that's intended to hide the simplicity of the idea. It's simply lazy writing to mask lazy thinking.

<comment><USER28> I don't think so. It's chosen because it reflects a particular attitude towards the working classes. (The hoi polloi don't call _themselves_ the hoi polloi.) It's also not in any way an obscure phrase. In the UK at least it's in common usage.

<comment><USER29> Coded language attempts to convey ideas through subtext. By doing so it's reducing the carrying capacity of the information channel and lets authors pad words without adding meaning.

That's more or less the definition of lazy writing. Like a kid starting off with "It was a dark and stormy night..."

<comment><USER28> It's coded only in the sense that you have to know what the words mean to understand what the author is saying. Any piece of writing is "coded" in that sense. Choosing to write in a plodding, completely literal style also conveys a subtext.

I'm not sure why you refer to "padding". "Hoi polloi" is just as concise as any of its less flavorful synomyms (e.g. "common people"). The use of this phrase actually makes the piece more concise, as it removes the need to explicitly indicate the (already fairly obvious) attitudes of the upper classes to the people below them. Some things are significant enough to be worth indicating but not important enough to be worth mentioning.

If you aren't familiar with "hoi polloi" (and again, it's not actually a very obscure phrase at all!), it takes a few seconds to look it up in a dictionary.

[https://www.vocabulary.com/dictionary/hoi%20polloi](https://www.vocabulary.com/dictionary/hoi%20polloi)

<comment><USER29> That's not what coded language means. I don't think anything used in the article was obscure. The style depends on making things as clear as humanly possible so readers are beaten over the head with the subtext.

As a simple experiment, take the article and write down the meaning being conveyed including subtext next to it.

<comment><USER28> Ironically, I genuinely don't understand your last comment.

<comment><USER29> Ok, I am going to approach this sideways. There is a somewhat related linguistic technique used in the cold war where a politician would go on TV and give a long speech that used the format "If the American people want peace, and the Russian people want peace, and (various junk), and _Americans move their missiles out of Crimea, then we can have peace._ (more platitudes)" An US intelligence officer would then translate this 20 minute speech into a few sentences of English that contained the relevant information.

Effectively the information could be lifted directly from the speech and was very straightforward, but hidden among a lot of meaningless drivel. I am saying the author's stile similarly lets the add a lot of padding due to their approach to conveying information.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> Here's the paragraph that's making everyone mad:

>Like the student and other forms of personal debt that prepare undergraduates to say two words—"Yes, boss"—the ideal of the entrepreneurial self serves a fundamentally disciplinary function: reinforcing the precarious nature of work in today's digitalized, low-wage, precariously employed, and increasingly automated capitalism, one in which you are casually expendable and which places a premium on everlasting metamorphosis: upgrade your skills, your profile, your resume. But don't worry, complain, or God help you, call a union: losing your job or seeing your skill set rendered obsolescent is an opportunity for "growth," creativity, empowerment. When your own exploitation can be recast as a project rather than a problem—a source of fulfillment rather than an instance of injustice—then solidarity with others can be vilified as conformism, the herd instinct of normies, the last refuge of losers and mediocrities.

<comment><USER31> Reading this, one might think capitalism is cruel and entrepreneurship is a horrible struggle. Or one might conclude it perfectly mirrors nature and life. I'm not sure what the fuss is about.

<comment><USER32> The moral worth of the individual has been lost, leading to more and more what I would define as "market barbarism." Social relations are now completely profane and not objectively striving for meaning beyond the temporal.

</comment></comment></comment><comment><USER19> I'm not a religious man, but one quote from a religious leader has always stuck out to me. "Interest is a terrific servant and a terrible master."

The polis, bazaar, and pulpit have always been at odds as a triumvirate. My bet is on the bazaar. Even when people are put in jail economics is manifest, using cigarettes or other trinkets as currency for favors and meager supplies. The "market" the author rails against is a strawman.

</comment><comment><USER33> Having learned for myself that life has a purpose and there is life after death, with a just judge (and merciful, for the merciful), and that all things will be put in good order (my wording, emphasis on good): that all changes everything, for me at least.

Today is Easter, when we commemorate the empty tomb....

<comment><USER33> With any downvotes, I would appreciate a courteous, thoughtful comment. I have not understood the possible harm in what I said, only likely disagreement. Disagreement is OK, but it seems that it could be better to write clearly rather than just quietly hide.

<comment><USER34> _If_ what you said was inaccurate, ie if there was no life after death, in my opinion it'd be harmful to claim that there is.

<comment><USER33> I like how you put that, and I think I agree with you. I am also extremely grateful for what I know, and for knowing it (per links provided in the other response). If I can be of service in answering questions I will try.

</comment></comment></comment></comment><comment><USER35> Everybody wants to consume the goods and services that others work to produce, but doesn't want to do any of the work themselves. The best part of this article was the authors statement of the argument against:

> many intellectuals deny that "neoliberalism" is anything more than a cipher, > an elastic anathema for whatever its users find objectionable in > contemporary life

</comment><comment><USER36> Here working with abstractions causes a loss of connection to the various factors that contributed to our path. The resurgence of liberal capitalism came after decades of elites dealing with a 90% income tax rate and unions so powerful that their ability to actually produce anything for a profit was beginning to slip away. But of course the author has little if any knowledge of or empathy for contemporary business people now let alone such folk from decades ago.

All this talk of isms is supposed to be enlightening guidance, but ultimately governments need to set rules and tax rates and respond to various challenges. The mapping from ism to action is hardly ever direct and often ends up lost in mystery and obscurity.

</comment><comment><USER37> You are slave to hope. You are slave to fear

</comment><comment><USER38> >Those are the gravitational principles of Jensen's corporate cosmology, but it is also an eschatological narrative in which the kingdom of God has been replaced by capitalism as the consummation of history.

To me corporatism is against the principle of capitalism and free market.

Anyway, this article could have been written by Marx himself.

</comment><comment><USER39> HN, mirror.

</comment><comment><USER40> You know the circle is complete when "Hacker News" upvotes a religious diatribe on the boundaries and merits of neoliberalism.

<comment><USER41> I have a feeling most here didn't seriously read this submission...

</comment></comment><comment><USER42> It's ad reductio it's like saying soccer is pushing a ball. You could also say life is waking up eating sleeping and then death. It's true but it's definitely an emotional argument. I preferred the lectures on free will by Conway, it does not answer anything but it allows for a nice réflexion

<comment><USER30> In every HN comment section, there's always, 100% of the time, at least one person who only reads the title of the piece (in this case, a song lyric from The Verve) and still has the nerve to post a comment.

<comment><USER43> There must be a dozen or two "100% of the time" comments. Collect them all and make a mock/parody HN thread.

<comment><USER30> * Cryptocurrency

* Fiat currency

* Economics is not a real science

* I understand what the author is trying to say, but I don't like how he says it

* I didn't read the piece, but website that published it is problematic

* The title is clickbait, and I'm unaware of the concept of newspaper headlines

</comment></comment></comment></comment><comment><USER44> How is then of the possible recent and ongoing attempts to reform the capitalist system like the gig economy, use of automation to make manual labour obsolete, rise of a democratized social media, disruptive innovation etc seem to have more stronger opposition from the left rather than the right, esp in the USA.

Many on the left seem to deeply in favour of preserving the status quo, and seems to not have the means or methods or vision of changing the very broken systems into something better.

<comment><USER45> A leftist would say that's because neoliberalism, despite having the word "liberal" in its name, is at best a center-right ideology, and would be _very surprised_ at your assertion that leftists want to preserve the broken status quo.

<comment><USER44> Yes but left seems more critical of change/possibility of change than the right.

<comment><USER45> I don't understand in what context this can seem accurate, unless it's one of confusing liberalism and leftism. The US presidential candidate favored by the left, in the current and prior election cycles, is a democratic socialist whose candidacy and appeal are both founded on the promise of restricting the power of, and ameliorating the consequences of, the same _laissez-faire_ (ie unregulated) capitalism so beloved of neoliberals.

The left and the right, as a major distinction between either and status-quo- favoring centrists including neoliberals, have in common the idea that radical change is necessary; the idea has been expressed in terms I roughly paraphrase as "capitalism has failed, and in the face of that, we'll have either socialism or fascism", a statement with which leftists in my circle would not disagree. The difference between left and right lies not in seeing a need for change, but partly in means and entirely in desiderata.

<comment><USER44> Who is the more vocal critic of the disruptive changes that has happened in our lifetime like the rise of social networks, and gig economy, disruptive innovation, etc. It appears to me the American left is more vocal than the right in criticising/opposing changes.

<comment><USER45> I can't speak for how it appears to you, but to claim that the right has been uncritical or even less critical than the left, of recent changes in US and global society, is frankly absurd.

</comment></comment></comment></comment></comment></comment><comment><USER46> Take note of the source of this article. Religion always shows up during dark days and creeps its tentacles around the vulnerable.

For many, you're a slave to religion and then you die. People have used religion to control society way before capitalism became popular. To this day, it continues to control thoughts and behaviors of billions of people. Those who have acquired power in religious institutions abuse their power to influence all sorts of antisocial behavior. Society hasn't only an issue with capitalism but also religion. There's a strong argument that religion remains the greater threat.

<comment><USER47> Check out the book the author of this piece has written, "The Enchantments of Mammon." His very point is that neoliberal thinking has replaced religion in a vital sense

<comment><USER41> I'm about half way through the book and have enjoyed it. IMO it's an instant classic.

</comment></comment></comment><comment><USER48> One of the outcomes of the present crisis is that capital has in a way lost much of its value. The stock market took a beating, people who bought apartments for renting on AirBNB now have dead weight properties with possibly a mortgage to pay.

Meanwhile lots of people with well-paying jobs, like airline pilots for instance, took a blow putting them on practically the same level as low-paid workers and gig workers.

If this crisis continues for a long-enough period of time, it might just bring about a substantial reorientation of the global economy, and perhaps a new balance between capital and labor.</comment>


How Banksy Authenticates His Work - <AUTHOR> https://reprage.com/post/how-banksy-authenticates-his-work <comment><USER2> > We have no idea what has been written on Pest Control's private half of the > note. Which means it can't be easily recreated, and that empowers Pest > Control to keep the authoritative list of who currently owns each > authenticated Banksy work.

Why does it matter? Why do you need to recreate their bit? You only have to fake the bit the owner has, and all this is moot anyway because all they do is call the current owner and ask if they're selling the piece. They could literally just give you a number printed in Arial and it would work just as well.

</comment><comment><USER3> Am I missing something, or does this scheme only authenticate the _certificates_ , but not the work itself?

<comment><USER4> Haha you're right. A copy of the certificate would allow many of that same work to be forged.

<comment><USER5> The transfer of ownership request is the key here. That doesn't scale, considering that the current owner needs to authenticate the request.

Sure, you could pull the gig _once_ , but your authentic work immediately depreciates in value by 100% because it can't be authenticated any more.

That's the brilliance of the system. The forged work becomes the "authentic" work in all meaningful terms because the value is attached to the delegated ownership, not to the physical item itself.

</comment></comment></comment><comment><USER6> It's cool, he's essentially doing exactly what many crypto companies are doing. A cryptographic distributed system of ... well bullshit, where behind the scenes and in reality it's all just one central authority with a database.

</comment><comment><USER7> "His?" [https://www.theonion.com/area-grandmother-comes-forward- as-b...](https://www.theonion.com/area-grandmother-comes-forward-as- banksy-1819571587)</comment>


DNA linked to Golden State Killer arrest came from a genealogy website - <AUTHOR> http://www.ktvu.com/news/dna-linked-to-golden-state-killer-arrest-came-from-a-genealogy-website <comment><USER2> We moved the comments to [https://news.ycombinator.com/item?id=16936041](https://news.ycombinator.com/item?id=16936041), since that article is the original source (pointed to by this one) and was posted earlier.

<comment><USER3> Yeah thanks, the content is exactly the same! Good work! /s</comment></comment>


Eight Years of Firefox - <AUTHOR> https://blog.mozilla.org/blog/2012/11/09/eight-years-of-firefox/ <comment><USER2> I think Firefox has to take a lot of credit for the state of the web today. In the early 2000s, it was usual for sites to be IE-only, or to be horribly broken in any alternative browser. It seems to me that the rise of popularity of Firefox correlated strongly with a drop in these IE-only sites, and I don't think that its unfair to label it as a dominant cause of this drop. Even if Firefox dies completely and leaves behind only Chrome, Safari, Opera and IE in its wake, I think it's still fair to call it a great victory for open standards and open source.

<comment><USER3> Not to discredit Firefox for spearheading our revolt against the IE monopoly, but I think Firefox has sometimes been given too much credit for everything from standard compliance to innovation, and not enough credit to other browsers on the market.

First of all, standard compliance. I don't think Firefox 1.0 or its ancestors and subsequent version are all that standard compliant. Yes, for about 1 year in 2004-2005 it was the most standard compliant browser on the planet and could display most sites not written specifically for IE the way they were meant to be. But that drive to remain standard compliant quickly evaporated. When Safari 2.0 came out in 2005, it passed Acid2 and continued to be the most standard compliant, fastest browser on the planet with the cleanest code base for the next couple of years. And yes, it could render sites just as well as Firefox. Firefox OTOH, didn't pass it until 3.0 came out in 2008, and the second to last to pass Acid3.

Secondly, usability. I don't think Firefox from the day it came out to the present day is all that great in terms of UX. People seem to have forgotten that most of the browser UI features we take for granted came from Opera and later Chrome. Tabbed browsing? Opera first. Tab preview? Opera first. Most visited sites? Opera first. Tab groups? Opera first. Download Manager that speaks BT? Opera first. Mouse gestures? Opera first. The driver to innovative browser UI had always been Opera ever since IE dominated the market until Chrome came along in 2008 with its tab in title bar and omnibox. The only thing Firefox pioneered is the 3D view in the newer Firefox's inspect bar, which they somehow prioritized over consolidating all those overlapping and confusing developer tools, and making live editing in the markup panel possible, as in Firebug had been doing since 2007ish.

Third, under the hood innovation. Since the Netscape era to the present day I think the one most prevalent problem is misplaced focus. Mozilla simply has way too many sub-projects going on, not all of them important, and all of them compete for resources. Just look at how many man-hours Mozilla devs have wasted on technology that no one likes to use / can use but nevertheless bloat up Gecko. XPCOM, XUL, all those W3C alphabet soup X* standards in the early days, and then later on putting more and more JS features like let and generators into the JS engine. The APIs used to write extensions were a TERRIBLE mess before FUEL came out.

Lastly, speed, memory usage, and stability. Not until last year Firefox' launch speed was the slowest of all. It was unbearable and had not been addressed until very recently. Same for memory usages. In terms of JS exec speed and rendering speed, it was also among the slowest, only slightly faster than IE, though there has been significant improvement in this area as well this year. In terms of stability, it was not until recently that it got a boost using the same technique Chrome pioneered.

I can keep going on and on but the one thing that I cannot stress more is Mozilla's inability to focus on what's important. There was a time when Netscape had 80% of the market and Firefox a trend to break through 40% usage, but innovation stagnated while Safari, Chrome and Opera have continued to improve by leaps and bounds. There seems to have been many significant improvements to these problems recently and I certainly hope to see more aggressive innovation and focus from the open source community around Mozilla.

<comment><USER4> practically nobody used Opera, Safari only was relevant on OSX (when was it released for Win? I do not remember).

Opera was innovating, but did not break any stranglehold. Remember you had to pay for it? Remember it had ads embedded?

My number 1 reason for using Firefox against IE was AdBlock. Killing those damn intrusive ads, banners, popups, the whole infestation was a godsend. IE didn't do it. Opera _refused_ such plugins, because they were ad-supported themselves - I know cause I tried arguing with them at the time.

I don't think it is a coincidence that Chrome took off once AdBlock plugins became possible and available.

I now I am not alone in not being able to browse the web without blocked ads anymore - just like I am not able to watch regular TV with ads anymore as well.

<comment><USER3> Haha I knew that post was going to be unpopular.

FYI, Opera had been free as in beer since 2006, Safari on Windows since 2007. Irrelevant to the browser market of course because either had the number of extensions FF had available. Opera also had (and still have) a lot of trouble rendering sites that work with FF and IE, and Safari Win was so much unlike everything else on Windows, nobody uses it just because it's weird.

This post is about placing credits where they are due. Copying functionality from one browser to another one isn't innovation, but I have to admit that one major reason Firefox got popular was the extensions that copied all those functionality from Opera over before Firefox had them. For some reason Firefox never really got to reach 40% usage, and now it's too late. I'm just a little disappointed.

</comment></comment></comment></comment><comment><USER5> I really hope this doesn't get down-voted because it's a little promotional, but I posted a video interview with Mozilla's chairwomen Mitchell Baker today, she said some interesting things I think.

[http://thenextweb.com/video/2012/11/09/happy-eight- birthday-...](http://thenextweb.com/video/2012/11/09/happy-eight-birthday- firefox-a-qa-with-mozilla-chairwoman-mitchell-baker-video/)

Direct YouTube link: <http://www.youtube.com/watch?v=bCWtvtwhFCk>

<comment><USER6> s/chairwomen/chairwoman/

<comment><USER7> or simply "chair".

<comment><USER8> Or just "chairman" because it's the name of a position within a board or meeting and is gender neutral.

<comment><USER9> I find the term discriminatory against stools and benches.

</comment></comment></comment></comment></comment><comment><USER10> Eight years and 800,000 bugs:

<https://bugzilla.mozilla.org/show_bug.cgi?id=800000>

Given its age and heritage and historical influence (and given that it's used by hundreds of millions of people), Mozilla's codebase is right up there with Linux and GNU as one of the most impressive examples of open-source software.

<comment><USER11> I can't tell if this is sarcastic. But before I read this post I was going to say how much I love Firefox but regret how they fail to address bugs before implementing new features. 800,000 bugs is nothing to be proud of.

<comment><USER12> Mozilla bugzilla has reached bug id 800000. Mozilla typically file a bug for every actionable item, not just defects; the number of non-bogus, non- duplicate, non-feature-request, non-tracking-bug, and non-firefox-bugs (website, thunderbird, all other products since inception) will be much, much fewer.

<comment><USER13> Yes, this. There have been 800,000 bugs filed for all groups within Mozilla. We use bugzilla for managing projects and tasks (ex: a request for the Firefox 8th birthday cake graphic in the blog post). It's not just for tracking Firefox bugs. We use it for just about everything.

</comment></comment></comment></comment><comment><USER14> I remember making the jump from Netscape 4.72 to Mozilla 1.2, modulo a little dalliance with IE when it was still ahead of the curve. I've been on Mozilla/Firefox ever since, and never made the jump to Chrome as my main browser (though I have it installed). Firefox just keeps getting better and better, and I'm delighted at how the friendly competition between Firefox and Chrome is driving faster improvement to both, rather than the divisive extend/embrace/extinguish competition between Netscape and IE.

<comment><USER10> Ah, Netscape! I still have its throbber animation[1] indelibly burnt into my memory.

I also still remember being a bit baffled as to all the excitement people were expressing over something as mundane as a _web browser_. Remember the full- spread two-page launch ad in the New York Times?[2] Firefox was probably the first time I'd ever heard of something "open source" in my entire life. And of course, tabbed browsing was love at first sight.

[1] <http://www.jwz.org/doc/about-nscp-anim.gif>

[2] <http://www.mozilla.org/en-US/press/mozilla-2004-12-15.html>

<comment> T-hawk Opera had tabbed browsing way before anyone else, in 2000. And actually even before that by handling pages as MDI document windows in its early versions.

I used Opera all through the long night of IE6 hegemony, although always ready to switch back to IE whenever a site didn't work in Opera. There was a good, actively developed, standards-compliant browser available that whole time. It just never caught on in terms of popularity and mindshare. I hardly even noticed Firefox until around version 3.

<comment><USER10> I didn't intend to downplay the importance of Opera, I just hadn't heard of it until I was well into college (during which I used it as my primary browser for about half a year; to this day I still have Opera's back/forward mouse- button rocker gestures mapped in Firefox). There's no question (afaik) that Opera was the first to get on the tab train.

<comment><USER15> They weren't even tabs when Opera invented them. It just had a toolbar at the bottom, see here:

<http://i.imgur.com/bURNJ.gif>

This is the ad-supported version 5, you had to enter a key to remove them. Prior versions were shareware.

StarOffice had a similar idea but they made an effort to show where they were drawing inspiration from: <http://i.imgur.com/fiQ5c.jpg>

(For those who are wondering, yes LibreOffice is its legacy.)

</comment></comment></comment></comment></comment><comment><USER16> Eight years since 1.0, though its history dates back a lot further. <http://en.wikipedia.org/wiki/History_of_Firefox>

<comment><USER17> It's actually more than 10 years now. The first binaries of Phoenix were available in September 2002.

I don't remember when I exactly switched. But I remember that Mozilla was a huge pile of bloat, Galeon had some internal trouble, and Konqueror/KHTML had problems with several websites (mostly JS stuff IIRC).

Firefox is still my favorite browser!

<comment><USER18> I don't remember which version I started on, but remember a friend showed me one of the Phoenix betas. I had been using Netscape, and then the Mozilla suite, but I was blown away by what I saw. Ever since then, in some form or another I've used firefox.

</comment></comment></comment><comment><USER19> I like firefox a lot, it's the browser I use almost all of the time.

I really like the way firefox allows me to sync bookmarks across devices.

I really like the fireftp add on.

I don't like the way firefox makes me wait sometimes while it updates.

It's really hard to figure out some things.

One time I accidentally forgot to press the tab key after entering my username on log-in and entered my password in the username box (in plaintext). It took ages (even after googling) to figure out how to stop firefox offering my username+password as a log-in suggestion

<comment><USER20> For those who don't know, it's possible to remove an autocomplete suggestion by highlighting it and pressing the delete key. This works for HTML form fields and address/search bar suggestions.

<comment><USER19> I didn't know about that, thanks

</comment></comment></comment><comment><USER21> I remember being at uni (UWE Bristol), downloading the zip and exporting to program files. My mates thought I was crazy until they saw tabbed browsing...wow!

<comment><USER22> hah weird seeing another UWE person on here. What are you doing now?

<comment><USER21> I couldn't find a decent grad role in Bristol so I ended up in London, where I've since settled. I'm a dev after graduating in 2004 with a Computing and Information Systems degree. Since I graduated I realise that a few my UWE lecturers were really good. I didn't see the point in being asked to read Kent Beck and Martin Fowler or what I'd learn from substituting Slackware Linux's ls for my own shoddy implementation, but now I see that those visiting lecturers from Rolls Royce and Airbus knew what I'd need to know in the real world. Doing a Sandwich course and spending a year writing production code for Pfizer was beneficial too. You?

<http://ejb.name>

</comment></comment></comment><comment><USER23> favorite quote from Mike Shaver (in context) from <http://john.jubjubs.net/2011/09/15/mike-shaver-thanks/>

"And [Shaver] affected my framing of the problem deeply – I remember one day a couple of years back when we were talking about some market share point, thinking about how incredibly, insanely competitive the browser technology landscape was – and he said to me: 'Look, this is the world we wanted. And this is the world we made.' Wow. Exactly right. He taught me so much about how enormous an impact a group of dedicated people can make."

</comment><comment><USER24> Firebox's firebug addon makes it worth the price of admission. Thanks for a great 8 years FF!

Side note: if you could add support for base64 pngs embedded with the data uri you could really help me out of a jam...

<comment><USER13> File a bug to request that :) <https://bugzilla.mozilla.org/>

</comment></comment><comment><USER25> I'll never forget the first time I try Phoenix 0.1, all the way to Firefox 1.0, and still continue using it now with version 18 (Aurora).

<comment><USER26> You're such a browser hipster ;)

</comment></comment><comment><USER27> while i applaud firefox for pushing IE off the stranglehold it had on sites (see mjb's comment), i cannot forget the stagnation it endured for a while with its crummy memory performance for long running users. it took a couple of years for someone to acknowledge that yeah, that's a real issue and worth fixing (IIRC it was heap fragmentation, beautifully visualized in a blog post where the author basically said "holy smokes! people were right!"). i turned to safari briefly and now to chrome and haven't looked back.

firefox's position allowed it to get sluggish in features and performance. a lack of true competition in alternative browsers for that brief period of time (you either used IE and were afraid to move, were prevented from it in a corporate setting, or you used firefox and wouldn't go back) showed that such stagnation can happen to anyone. bloat, performance drops, etc ...

thanks for opening up the web, but that stretch of time has forever burned me on mozilla products.

<comment><USER28> I think that during that time period they were so focused on other things that the memory problems crept in and didn't get addressed. On the plus side, they now have both the best features and some of the best memory management of browsers.

</comment></comment><comment><USER29> I remember using netscape (maybe 4...?) I'd just upgraded and remember for whatever reason double clicking on a html doc on my desktop and watching it sit there load up an entire suite of apps I wasn't going to use.

That was it, immediately switched to IE. I preferred Netscape but the load time was too frustrating.

And then when firefox came out (or at least one of the later version) I remember repeating that exact same thing. I needed to open a html file on the desktop and IE was sloooow. So I tried firefox, much much faster. And then there was firebug.. no contest, game set and match.

I switched to chrome for about a year because it seemed to render pages faster but about 3 months ago I ran into some weird problem where chrome stopped playing youtube videos properly. Tried everything, no luck, switched back to firefox and actually... I think I'll stick with it, it's a great browser.

</comment><comment><USER30> In my humble opinion I think that while Firefox has asked some ground in market share, does a great job with the web and compete against the negligent microsoft products had 8 years to give us a better browsing experience we know today has much to do calving with Firefox.

</comment><comment><USER31> Can't believe it's been this long since I ditched Opera and started using Firefox as my main browser.

<comment><USER19> I can't believe that it's only 8 years since firefox started

</comment></comment><comment><USER32> Today is the anniversary of the settled identity crisis that once was. Firefox has served me great for years though and now I can't imagine calling it anything else.

</comment><comment><USER33> I rememer Firefox primarily for being a snappy browser, they got rid of the kitchen sink Netscape/Mozilla suite bloat. Sadly Firefox is now far behind in regard to performance compared to webkit-based browsers, for which the XUL/Toolkit, the feature creep and the legacy support are probably responsable.

Using Firefox nowadays just feels too slow, even though it's addon ecosystem is unrivaled.

</comment><comment><USER34> Thanks for informing it has been 8 years I used this product, I think the longest of any other leaving aside my OS. It was hard parting ways few weeks ago but it was done and now I don't regret.

Good luck for your future.</comment>


Two years of Eve - <AUTHOR> http://www.chris-granger.com/ <comment><USER2> URL should probably be [http://www.chris-granger.com/2016/07/21/two-years-of- eve/](http://www.chris-granger.com/2016/07/21/two-years-of-eve/)

also (2016)

</comment><comment><USER3> Old article, dead language. Most current version is 0.4.0 which can be found at: [https://github.com/witheve/eve-native](https://github.com/witheve/eve- native) which saw an update 10 months ago.</comment>


Our New Publishing Platform Will Make You a Better Writer - <AUTHOR> https://www.forbes.com/sites/forbesproductgroup/2018/04/20/our-new-publishing-platform-will-make-you-a-better-writer/#599278bb78eb <comment><AUTHOR> We are working to make our new publishing platform, Bertie, into a AI-powered writing assistant. The idea is to have the machine writing stories alongside human writers, enhancing the latter's ability to write performant stories. I'd love your feedback!</comment>


Bytengine(v0.2-alpha): Content repository written in Go - <AUTHOR> https://github.com/johnwilson/bytengine

<comment><AUTHOR> Author here!

This is an almost complete rewrite of Bytengine in an attempt to make it easier to install, use and customise.

The long period between releases was due mostly to lack of time. This rewrite required that I do more research (by reading more code, documentation etc…) and actually dedicate some serious coding time. It's still a work in progress and I'm sure you will see some atrocities in my code so feel free to criticise and advise so I can become better at the craft.

I hope you folks like the updates/changes and as usual, your feedback is always appreciated.

Cheers</comment>


Food for the brain: What to eat to make you smarter - <AUTHOR> http://www.economist.com/science/displayStory.cfm?story_id=11745528

<comment><USER2> fries, cheeseburger and chocolate shake.</comment>


Tech Products Ahead of Their Time - <AUTHOR> http://mashable.com/2011/06/19/tech-products-ahead-of-time/

<comment><USER2> I wouldn't call it "ahead of their time". Being ahead of its time means that some critically necessary pieces that the product really needed didn't exist yet, but companies stubbornly went ahead and tried anyways (e.g., streaming video during dialup days).

A lot of these failures weren't hinged on the lack of some technology, it's just plain _bad execution_.

See: N-Gage. There was nothing preventing them from building a perfectly viable handheld game console that was also a phone. It was just _horrifically engineered_. Same story goes for the ROKR - it was not all technologically infeasible to create a phone tightly integrated with iTunes and music playing... but they just sucked at it.

</comment><comment><USER3> Missing from the list: Google Wave. While people gave it an especially hard time, there were some fascinating ideas and technologies in it that could have taken off if only Google had waited 5 or so years to release it. Google Wave's biggest problem was its target audience. It required its users to have a significant level of technology literacy. At the time that was a minority. However, based on the current trend, it would be a perfect fit in the coming years.

<comment><USER4> I feel Wave's problem wasn't the advanced tech, even my mom figured out how to use it pretty easily. The problem I had was that they made it invite only - for a service that needs other people using it for it to work effectively. There were months after I was invited that I still had no one to use it with. Then last summer at my internship we seriously used it all the time to communicate and share between everyone in the office... and then we found out it was being shut down.

<comment><USER3> But didn't Gmail start out as invite only? Look at how it turned out.

<comment><USER5> But GMail doesn't require other people using GMail to be useful.</comment></comment></comment></comment>


AltStore is an iOS App Store alternative that doesn't require a jailbreak - <AUTHOR> https://9to5mac.com/2019/09/25/altstore-is-an-ios-app-store-alternative-that-doesnt-require-a-jailbreak-heres-how-to-use-it/ <comment> yoz-y I was wondering why something like this did not come up sooner. Although the way I have imagined this would be a CLI tool, this looks very polished.</comment>