Much of the "science" used in design is bullshit (2014) - <AUTHOR> http://mjparnell.com/bullshit_science_ux_design/ <comment><USER2> My experience is that most people in business are 1) terrible at constructing trials, tests, or experiments, of any sort whatsoever, 2) terrible at interpreting the results of same, and 3) have a _very_ limited tolerance for discussion of how bad they are at it and why their various tests are meaningless, no matter how gently it's presented.

I've not seen a place where this isn't broadly true, no matter where the business folks come from (top-tier B-school analysts, Bob's discount MBA emporium, doesn't matter) or how good the reputation of the firm they're at. This also extends to management and administration in the public sector—schools are rife with obvious pseudo-science bullshit, bad attempts to replicate results while skipping half the measures that were taken, et c., but dumb-ass superintendents (you would not believe it, seriously, "dumb-ass" was not chosen lightly) and principals eat it up.

[EDIT] which is to say I'm not at all surprised design "science" is full of BS, because it's sold to people who almost all suck at evaluating those kinds of things. Any "science" that largely exists to sell stuff to middle- and upper-management or "stakeholders" probably tends to be awful, because it doesn't _need_ to be good.

<comment><USER3> What are one-dimensional business people actually good at? Besides just being a piece in the system that soaks up resources?

<comment><USER4> The good ones are good at convincing, negotiating, charming, manipulating, uniting people, turning people against each other etc. All very important skills out in the real world of human interactions and they translate to $$ quite directly.

</comment></comment></comment><comment><USER5> I will never tire of reminding people of this: [https://www.cbsnews.com/news/pepsis-nonsensical-logo- redesig...](https://www.cbsnews.com/news/pepsis-nonsensical-logo-redesign- document-1-million-for-this/)

<comment><USER6> The PDF linked in the article [0] is pure gold.

> C. The investment in our DNA leads to breakthrough innovation and allows us > to move out of the traditional linear system and into the future

> BREATHTAKING is a strategy based on the evolution of 5000+ years of shared > ideas in design philosophy creating an authentic Constitution of Design.

> B. Magnetic Fields: Magnetic fields exert forces on inner and outer surfaces > of the Earth.

> B. Pepsi Energy Fields: Symmetrical energy fields are in balance.

> C. Magnetic Dynamics: Magnetic field are impacted by sun radiation and wind > motion.

> C. The Pepsi Globe Dynamics: Emotive forces shape the gestalt of the brand > identity.

Also, take a look at the deconstruction of the old Pepsi logos into arbitrary ellipses ("Perimeter Oscillations") on pages 8ff.

It gets increasingly surreal ("Light Path with Gravitational Pull" vs "Gravitational Pull of Pepsi", "Relativity of Space and Time" vs "Pepsi Proposition / Pepsi Aisle", difference between a "Pepsi Galaxy" and a "Pepsi Universe", ...) on the last pages.

Dimensionalize exponentially.

[0] [https://jimedwardsnrx.files.wordpress.com/2009/02/pepsi_grav...](https://jimedwardsnrx.files.wordpress.com/2009/02/pepsi_gravitational_field.pdf)

<comment><USER7> This PDF is hilarious. How can anyone get away with so much bullshit is beyond me.

<comment><USER8> I can't tell if this is real or not. It feels like the Turbo Encabulator of design.

<comment><USER9> It's one step away from VX junkies.

[https://www.reddit.com/r/VXJunkies/](https://www.reddit.com/r/VXJunkies/)

</comment></comment></comment></comment></comment><comment><USER10> > Everyone bullshits at some point, but there seems to me to be a particular > desire to show design decisions as being based in some empirical facts. In > some ways this is admirable, and forces designers to justify their design > decisions. Analytics have certainly been one cause of this.

As a designer I've always felt that the larger and more important chunk of design work is purely intuitive. Analytics implies time-dependence which is counterproductive to design when included upfront.

The only time quantifiable metrics are used is when a design is married to user experience in the context of a user interface (in the end product). At that point, patterns and practices dictate the baseline from which feedback takes place. This is commonly referred to as a design system and is done on a larger horizontal scale across interfaces (web, mobile, print, and so on).

Company branding, medium | message, target audience, color schemes/themes and other aspects of functional design are comprised more of intuition than raw analytics, in my opinion. Apple provides a great example of design choices that focus on the human aspect first. [0]

Added to that, the fact that market share is happily split amongst vastly different UI approaches is testament to the non-linear nature of design.

While designers are plenty, good design is not. Science based models as cited in the article are there to bring up the rear in a standardized manner but don't provide avenues to true "novelty" that defines great design. Just my two cents.

[0] [https://developer.apple.com/design/human-interface- guideline...](https://developer.apple.com/design/human-interface- guidelines/ios/overview/themes/)

<comment><USER11> > As a designer I've always felt that the larger and more important chunk of > design work is purely intuitive.

It's a highly trained intuition. From watching artists work, they have a tremendous amount of experience with color, form, different materials and composing those visual elements, and then with understanding the emotional impact they have on an audience.

</comment></comment><comment><USER12> "the minimum ratio of positive-to-negative emotions humans need over time to "flourish" to be 2.9013"

"It reflects the highest positivity ratio (observed ratio = 5.6) and the broadest range of inquiry and advocacy. It is also the most generative and flexible. Mathematically, its trajectory in phase space never duplicates itself, representing maximal degrees of freedom and behavioral flexibility. In the terms of physics and mathematics, this is a chaotic attractor.""

They needed someone to write a paper to point out this was pseudoscientific BS? Not only that, but the paper was cited over 1000 times?!

Absolutely terrifying.

<comment><USER13> > Absolutely terrifying.

Indeed. We seem to be increasingly awash with evidence that the standards of rigour in academic journals across a number of fields are... quite poor.

Peter Boghossian, James Lindsay and Helen Pluckrose set out to demonstrate this in the field of grievance studies by submitting and, in some cases, successfully publishing a series of fake papers:

[https://www.youtube.com/watch?v=AZZNvT1vaJg](https://www.youtube.com/watch?v=AZZNvT1vaJg)

I mean, in some sense this is highly entertaining for the rest of us, but it is also utterly horrifying.

<comment><USER14> That's not the first time fake papers have been published and even cited.

No researcher has the time to read all the papers published in their field.

There are no penalties for publishing bad science, and no rewards for debunking it.

Recent moves to stop p-hacking by removing the need to show statistical significance will (if they get through) only make this worse.

Something has to change.

</comment></comment></comment><comment><USER15> I've been involved in UX design for nuclear power plants, air traffic control systems, gambling machines, and more recently lots of web sites. None was "science" but all were very important for their intended audience. I the case of the nuclear power plants and air traffic control systems, there was much more thought and analysis put in by user interface specialists, but I doubt that any of those specialists would consider themselves scientists or their practice a "science".

<comment><USER16> I would definitely call that engineering though.

</comment></comment><comment><USER17> As a field, I think UI/UX has a ton of anxiety about it's place in the cannon of design. There's a pretty clear path from that anxiety to these hollow attempts to justify itself as a "serious discipline."

Look at the other paths that visual designers could take, from "pure art" illustration to a much "harder science" like architecture, UI/UX sits pretty square in the middle. So many of the people I've worked with want it desperately to be both art and science. I'm sure we've all had conversations with a UX/UI designer who will ping-pong between space "feeling better" with different padding, and something like Millers Law, or perhaps a misapplied statistical inference from Optimizely.

I'd love to see UI/UX split into a more art focused design field and a more science focused HCI field. This might stop the navel-gazing and impulse toward faux-science, and publications like this: [https://www.invisionapp.com/inside- design/why-designers-shou...](https://www.invisionapp.com/inside-design/why- designers-should-be-shaping-business-strategy/)

</comment><comment><USER18> I'm a little confused by the thesis of the article, and how it relates to the title.

Unless I'm reading it wrong, this is the thrust of the facts:

* The Android design team describes their design process. * In their description, they cite a paper that suggests giving people at least 3 positive experiences for every negative experience they have. * That paper was debunked.

How does that translate to "much of the 'science' used in design is bullshit"? That bogus paper they cited doesn't affect the actual content of Android's design; it just influenced the team's design process. How is that bad? How does that discredit all the other things they talk about? The FastCompany article[1] linked from this blog post says:

> the CliffsNotes version is that Google creates design mantras from the point > of view of the user, like "keep it brief," "delight me in surprising ways," > and "it's not my fault." Each time an Android feature lives up to these > expectations, they get a single marble in the good emotion jar. But every > time they fail, that bad feature produces three marbles in the bad emotion > jar. The marbles illustrate that bad ideas stack up quickly.

Even if this heuristic isn't scientifically proven, does it really result in worse UX than if you don't use the heuristic? I just don't get the vitriol.

[1] [https://www.fastcompany.com/1672657/google-s-dead-simple- too...](https://www.fastcompany.com/1672657/google-s-dead-simple-tool-for- making-ux-decisions-2-jars-of-marbles)

<comment><USER19> Wrong premises are still wrong even if they lead to correct result.

The habit of relying on dubious techniques is under question here, as is our collective ability to find better guidance.

</comment></comment><comment><USER20> "The veneer of mathematics and complexity science – a culturally-powerful yet poorly-understood science – allowed many people to believe a very improbable thing: that a simple model from fluid dynamics could explain the influence of love, hate, anger, sadness, grief, joy, culture, time, geography, war, famine, birth, etc. etc. on human behaviour. It also suggests a degree of gullibility in the academy: researchers were willing to accept the claims of the papers because they didn't understand the maths. Worse, of course, is the implication that people simply don't critically read the papers that they cite."

Pretty much sums up the reproducibility problem of studies in the field of Psychology.

<comment><USER21> No, it doesn't at all. The reproducibility issue in psychology has mostly to do with p-hacking, which is a very specific abuse of legitimate statistical analysis in which statistical significance is brute-forced and cherry-picked (rendering it no longer significant), and is often applied to otherwise sound experiments and hypotheses. The paper in question is literally gibberish.

</comment></comment><comment><USER22> > [I]t's better for us to accept that we don't always have good reasons for > our design decisions and that much of our work is intuitive.

My intuition tells me that designers wish they could do that without having their designs rejected. If the absence of bullshit empiricism is punished, who can complain when people start providing it?

<comment><USER23> Agreed and I I think a lot of it comes down to financial factors. In other words, _why_ are we paying someone so much to make design decisions and how can we be assured they are doing it correctly? Because of _science_.

</comment></comment><comment><USER24> Speaking of bullshit designs...

Why does that blog have a load screen that takes about 15 seconds to disappear? If you open up debug tools and delete the overlay, the blog entry is perfectly readable underneath it. There's no network activity during those 15 seconds of "loading". It's just ... bullshit.

</comment><comment><USER25> Pretty interesting article. The only bit I'd have something to say about it is:

> Indeed, it would mean that the designers would have to add a bad experience > in for every three good ones in order to get the positivity ratio right!

Which appears to be incorrect as the positivity ratio was supposed to be a minimum as according to that same article. Presumably having more positive experiences doesn't make the situation somehow worse.

Nevertheless, maybe it's an interesting or even useful heuristic that you could get away with one bad moment for every three good moments you provide, even if it is about as scientific as an analysis of unicorns on a flat earth.

</comment><comment><USER26> The article is short of specific examples. But as far as UI's, unless you really are genius of design, keep it mostly the same and only do incremental improvements. I get used to most bad UI's by shere memorization of where and how to go. Move the cheese, and I'm lost and cussing.

The MS Ribbon comes to mind. It still don't think it's notably better than the original toolbar. But the problem is that shuffling everything around confused many for roughly a year as they had to re-learn where everything is.

MS traded one randomness for a different randomness. Maybe they were thinking a 5% to 10% improvement is worth it over the long run even if they piss off existing customers during the learning curve. So, either they are idiots, or they actually sat around and did "piss off accounting": intentional jerks who willingly sock existing customers in exchange for future news ones. So we have the idiots theory and the jerks theory.

Another thing, redundancy is not necessarily bad in UI's. Some get caught up in the "keep the tree clean" mantra. However, having more than one way to do or find an option often improves the UI. Perhaps an _ideally_ designed UI could avoid the need for repetition, but most designers are not good (or constrained by other factors) such that they should indeed fall back on some redundancy. Rules for ideal conditions (such as great UI) often don't apply to typical conditions (average UI).

For bigger applications, perhaps put all the options in a table(s) and let the users search for options Google-style. That may be faster than digging around in menu trees. You still have menu trees, but ultimately they are tied to the table. Use synonyms and allow bookmarks to improve look-ups. I'd like to see more experiments in Table Oriented Programming. To me, that looks the future. OOP can't handle complex relationships well.

<comment><USER27> I disagree - the ribbon was a massive improvement for feature discoverability and usability.

1\. Lots of options visible up front. Instead of reading tons of text, or guessing at hieroglyphics, you could find the tool to accomplish your desired task visually - if you want to change text color, look for the color picker.

1\. Big improvement to mouse navigation. Navigating nested menus is a bit like playing Operation - you position your cursor on the item you want, then slide it horizontally to the next menu that expanded. But if you drift too far vertically, which was easy to do of you had a disability or a crappy trackpad, you have to start again. With the ribbon, there was no destructive effect to moving the mouse around without clicking. You could always take the shortest path to whatever you wanted to click on.

1\. Big improvement to keyboard navigation. Tap the alt key, and every affordance in the ribbon displays its keyboard shortcut. This allowed the same exploratory navigation as the mouse, but in a way that built muscle memory and avoided RSI.

Of course it was a large change, but the ribbon was an amazing improvement.

<comment><USER26> Many of these features could have been added to the existing tool bar and/or menu. Anyhow, everyone likes things differently and no approach will make everyone happy. If given my way, I would have made it easy to create a "favorites tray" tool bar section because I find myself using a relatively small number of features quite often, and then use the google-esque tabular search approach mentioned for the non-frequent ones.

</comment></comment></comment><comment><USER28> No surprise.

Much of the "science" used to support business decisions is bullshit, made up long after a decision was made by someone powerful.

<comment><USER29> Humans seem to be comforted when there's an explanation for something, even if it's just plain wrong, it seems we don't care that much.

<comment><USER30> Our whole lives consist of rationalizing after-the-fact what we observe ourselves to be doing.

<comment><USER31> And rationalizing because we actually have no idea why we are doing it.

</comment></comment></comment></comment><comment><USER32> This reminds me of how Apple fans used to love to quote Fitts Law to convince themselves that the Macintosh OS UI was any good. Meanwhile, Apple never really followed Fitts Law very well with the Mac OS _or_ iOS and they quite obviously can't even get _the most basic functionality right_ , like Window or File management.

<comment><USER33> Fitts's law is why the menu bar belongs at the top of the screen. But not even Apple gets everything right, or applies the psychological principles that lead to the easiest, most efficient UX. If they did, they would've used pie menus a long time ago.

As for file management, that's one area where Apple had it right and then buggered it up. Everyone agrees that spatial Finder was a revolution in working with files visually, then Apple changed to navigational Finder for OS X. Boo.

<comment><USER34> I remember the spatial finder making my life difficult in the MacOS 7 days. For example, if I had a parent and child directory open at the same time in list view and then expanded the child to drill down to another directory, the finder would obnoxiously close the child directory window. I found the navigational approach in OS X to be a breath of fresh air.

</comment></comment></comment><comment><USER35> I find it somewhat difficult to work at a company with a UX team. It is just another stakeholder you have to take care of. One more obstacle to get anything done as a developer.

</comment><comment><USER36> Most knowledge is inarticulable. It's not only learned by doing, it's intimately indexed by our lived relationship _with_ tools.

A culture of evidence and objectivity, well exhibited by this very blog post, has had two implications: (I) actual knowledge that was not based on explicit, technically appealing principles, has been demoted — witness the come-and-go of architecture, for example and (II) people where explicit and technically appealing principles didn't exist fell for "objectivity strawmen" or, where they were able to socially impose their deeper inarticulable knowledge, they have used strawmen to get the culture of objectivity off their sense.

What's perverse about this is that people who are cynical about the socially inflated need for objectivity end up making other, more naive, people buy bullshit like the 3:1 ratio; and people who debunk bullshit like this blogger further perpetuate the misconception that insufficient objectivity and bibliographical references are a relevant problem, even while going about the motions of disavowing the role of science (a heightened mode of objectivity discourse) on lowly design-engineering.

Is design even engineering discipline? To its core? Is the world better off when Google does some ersatz research and we start trusting "Material Design" more than the deep civilizational background that artists (industrial or not) are supposed to have at their disposal?

</comment><comment><USER37> This is a consequence of subjective choices (even when beneficial) being perceived as easy to perform (hence, cheap and unworthy of value) and likely to be incorrect, whereas choices borne out of systematic processes are seen as reliable and accurate.

A hunch isn't always a trustworthy source, but too often it is taken as an always untrustworthy source.

</comment><comment><USER38> Someone needs to explain to me what is gender neutral typography:

[https://visme.co/blog/feminine-design-masculine- design/](https://visme.co/blog/feminine-design-masculine-design/)

<comment><USER39> Wow. That somehow explains why we end up having very dull monotonous icons in many things today. One of the GUI desktop applications in my company had a redesign for a new release, and they opt to go for the Material Design[1] icons. I remember that being a Google thing for their Android UX, so I thought it couldn't be that bad.

When the icons are actually used in the application, they look so... bland. They also look mostly similar to each other, basically being rectangular outlines with rounded corners, that it takes slightly longer to recognise which one is which, compared to the more traditional, colourful icons. (I wonder if colour blind people have always felt this way)

I should've prefaced that our application uses Qt5 Widgets as the UI, with hardly any styling. That may have contributed to the icons looking so out of place. If we had used a more metro-looking theme (like the ones used in Adobe PS) they would be a better fit. But our main users are engineers and scientists, who I assume would prefer more traditional-looking UI (see for example Paraview).

Meanwhile, I have no problems with the same icons being used on my smartphone. I guess this is because on smartphones, icons are larger and more easily distinguished even if they're monochrome. And they can afford to be larger because they're mostly used in main menus or swipe menus. In contrast, in desktop applications they always appear on screen (in the toolbar), and monitors are usually further from your eyes compared to smartphones, and you can't afford to sacrifice precious screen estate just to accommodate distinguishable icons.

[1] [https://material.io/design/iconography/system- icons.html#des...](https://material.io/design/iconography/system- icons.html#design-principles)

</comment></comment><comment><USER40> While I have no problem with the linked article I think the headline is a bit unfair. How often is BS-ey pseudoscience like this really used and cited by UX designers in the field? It would seem to be mainly an issue among the most bloated, coddled, and self-important UX teams.

And was the BS paper in question really used to _design_ the Android UI rather than _justify_ the design decisions? (The article's author basically makes this same point.)

</comment><comment><USER41> Except that you don't need to publish journal articles anymore. Instead, combine 1 cup pseudo-psychology, 1 cup vague design principles and 1 cup quotes from Donald Norman and Massimo Vignelli. Sprinkle with Kahnemann on thinking fast and Pinker on evolutionary strategies. Publish it on Medium and watch it go viral - pop design science and Medium's business model being perfectly aligned right now.

</comment><comment><USER40> It's noteworthy that Alan Sokal was involved in debunking the paper discussed in the article.

He's the guy who caused an uproar in academic circles (in mainstream media too) with his notorious 1996 hoax in which he submitted a paper loaded with comically absurd assertions to a postmodern journal called Social Text and it got published. Google "Sokal hoax" for a good laugh.

</comment><comment><USER42> Once after I had a bad experience with adding a "FAB" button to an app I got the chance to ask a Google Material Design designer if they had AB tested or user tested the design and they said no, obviously, because users don't know what they want. So. Much. Bullshit. in design.

<comment><USER43> That's just a bad designer. The foundation of UX is doing actual user research.

<comment><USER42> No, I'm talking about the Material Design guidelines that Google has been pushing for years. They publish their design system without testing.

</comment></comment></comment><comment><USER44> Just a few hours ago in the frontpage: Bullshitters: Who Are They and What Do We Know about Their Lives?

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

</comment><comment><USER45> The problem with Android and UX is that they think human experience can be treated like a stat.

<comment><USER46> The fact that there is no better mobile UX than that provided by Google's Android 9 (Pixel phones, not Samsung) suggests that whatever they're doing is working.

<comment><USER47> Seems like an opinion rather than a fact.

</comment></comment></comment><comment><USER48> "Design by committee" is always a bland, sterile and soulless experience.

</comment><comment><USER49> "Yea, can you just give it a bit more 'zing'?"

</comment><comment><USER50> Does this explain why Google went from the tasteful white-on-black status bar of Android 8 to the enormous blue balloon PlaySkool buttons on Android 9?

<comment><USER51> It wouldn't be an android release without Google making random nonsensical to the status bar.</comment></comment>


Node.js setInterval callback function unexpected halt - <AUTHOR> https://github.com/nodejs/node/issues/22149 <comment><USER2> Ouch, not a good look when someone keeps mentioning that you should never expect a month of uptime.

<comment><USER3> I am impressed the reporter of the bug kept his cool and did all the debugging work for them using libfaketime while they blobiated about code not supposed to be running for 25 days and being unable to reproduce anything.

<comment><USER4> Eh, I've seen worse. Overall it seems everyone was pretty cooperative. We're just lucky this wasn't an _npm_ bug...

</comment></comment></comment><comment><USER5> It's amusing to see the bottom of issue threads like this grow with messages "issue was referenced from another project." It would be cool to generate a graph of which projects have issues linking to each other. I suppose it would be sort of like a dependency graph, but one that only includes the most fragile dependencies. :)

</comment><comment><USER6> > Note that what I meant by that isn't that your services aren't expected to > be up for a month. It's that redundancy is expected (2+ instances behind a > load balancer) so servers are resilient to failure.

I guess thats why he mentioned gameservers specifically, as those often depend on being a single node

<comment><USER7> And if you boot all your redundant servers at the same time, they're all going to go down pretty close to the same time as well.

<comment><USER8> And you also need to know about this bug in order to make your server go down after 2^31 ms. As stated in the Github issue, the service remained otherwise functional.

<comment><USER9> So the lesson learned: Dont' check if the service is up, just restart it anyways.

</comment></comment></comment></comment><comment><USER10> Here is the commit that fixes it: [https://github.com/nodejs/node/pull/22214](https://github.com/nodejs/node/pull/22214)

</comment><comment><USER11> TL;DR from the GitHub discussion: had to do with an integer overflow related to oxffffff hex string lengths and unsigned ints, introduced in one of the Node 10.x versions. This is the pull request that fixes it: [https://github.com/nodejs/node/pull/22214](https://github.com/nodejs/node/pull/22214)

</comment><comment><USER12> doesn't this fix mean it crashes after 2^32 milliseconds now?

<comment><USER13> No, it only uses an int if the value is less than 0xffffffff, otherwise it uses a double.

That means it's ok up to 2^53 milliseconds, at which point it starts losing precision (you can't represent every integer above 2^53 as a double, it gets rounded).

It doesn't really matter because no computer that exists today will still be running in 2^53 milliseconds.

</comment></comment><comment><USER14> AFAICT hasn't the fix just kicked the can down the road to 2^64 milliseconds? Future NodeJS coders 585 million years from now are going to be cursing at us...

</comment><comment><USER15> exactly same thing i thought when i see some timer bug (not recurring events)

i actually came to this bug couple times (nw.js user here) i re-initialize timers once in a week. :/

</comment><comment><USER16> Windows 95 had a similar bug

[https://www.cnet.com/news/windows-may-crash- after-49-7-days/](https://www.cnet.com/news/windows-may-crash- after-49-7-days/)

</comment><comment><USER17> Seems similar to this beauty: [https://github.com/nodejs/node/issues/12115](https://github.com/nodejs/node/issues/12115)

<comment><USER18> You seem to be making some sort of negative judgment about that particular issue. Perhaps you'd care to give us the benefit of your reasoning.

<comment><USER17> > You seem to be making some sort of negative judgment about that particular > issue. Perhaps you'd care to give us the benefit of your reasoning.

A freshman learns not to store data in floating point data types if the significant digits of the data's domain exceeds the floating points guaranteed 1:1 domain.

Some maintainers of node.js's file system module did not (or did not care about it)[ _].

Given that JS developers are hailed as the pinnacle of software engineering, this strikes me as odd.

[_] "But JS does not have a proper 64 bit datatype / BigInts" ... that's not an argument

</comment></comment></comment><comment><USER19> Incorrect title, should be 2^31 milliseconds

<comment><USER20> Which is about 25 days, or roughly a month, either of which would make a better title. I read the article hoping to discover how they ran a test that was 60 years long...

<comment><USER21> I don't think so, seeing 2^31 (units) immediately tells me what's probably going wrong in a way that 25 days or ~1 month doesn't unless I go and convert that into milliseconds.

</comment></comment></comment><comment><USER22> Its a feature rather than a bug ;)

Can't think why someone would do that. Such a large number of milliseconds just not practical.

<comment><USER23> Long runtime apps, calendar-esque scheduling, etc al@ seem like things that could reasonably* hit that

* specifically they could reasonably end up with time steps >= 2^31ms. Even if the design isn't ideal it should still work

<comment><USER24> That does not sound like a sound implementation.

<comment><USER25> The bug occurs if your process reaches ~25 days, period. Regardless of the interval that you set - it could be 1ms and still fail. It has been 'fixed' and is now ~49 days, but setTimeout does not throw and so you have to rely on your process crashing due to some other condition.

If you have setTimeout anywhere in your code (including packages), you will need to force it to crash/exit once a month.

The implementation of setTimeout in Node is not sound.

</comment></comment></comment></comment><comment><USER26> So this is like a reminder to anyone who always reminder others that you do not need to solve problems like Google has.

</comment><comment><USER27> Well, so does the settimeout. A lot of underlying code is limited to signed 32 bit integers as per prehistoric convention.

JS committee should consider turning timer values into js native signed double

<comment><USER28> > cumulative running time is not needed to calculate when next to call the > interval

I don't see how that solves anything, you are just defining a new limit to be broken, which would occur when the timer resolution is next increased if not in practice.

It makes sense that either the actual interval or timeout periods are limited by the underlying types used to store them... but I see no intrinsic reason why cumulative time that setInterval runs need be limited by any underlying type (cumulative running time is not needed to calculate when next to call the interval).

<comment><USER27> >I don't see how that solves anything, you are just defining a new limit to be broken, which would occur when the timer resolution is next increased if not in practice.

I think that having some uniformity in a zoo of rolloverable values will make life easier to people who don't read the language spec meticulously to the letter.

And yes, by any extend of human imagination, no programming language can justify implemention of a plain periodic timer through (oldTime - nowTime) % interval.

A timer should be a timer, and modern opetating sysyems provide developers with a whole arsenal of high level timer abstractions just for those people to not to write their own hacks.

</comment></comment></comment><comment><USER29> Would someone seriously encounter a defect like that? Who would set a function to run after ~25 days (2^31 milliseconds) and expect that that process still runs after all those days? You're not safeguarding yourself against the very likely situation that processes could stop over such a long period.

Also, considering the length of that period, it's most likely that the delay for the function-to-be-called is from a business (and not some technical) requirement. So, a more fitting design would be to set up a delayed job for asynchronously executing long-running or later tasks in the background by a scheduler.

<comment><USER30> Conceptually they are not scheduling a function to be run after a month, but scheduling it to run twice per second as long as the process is running. When the process is still running a month later, it is very unexpected that the scheduling would suddenly stop.

<comment><USER29> My bad, perhaps because of the original (or confusing) post title earlier. A scheduling process that stops after 25 days is indeed a more realistic bug than a function planned for execution in 25 days not being called.</comment></comment></comment>


How much would you pay to keep using Google? - <AUTHOR> https://www.economist.com/blogs/graphicdetail/2018/04/daily-chart-16 <comment><USER2> "Search engines appear to be especially valuable: consumers surveyed said that they would have to be paid $17,500 to forgo their use for a year." So the title is using "Google" as a generic name for a search engine cf. Kleenex. Which is a pity because I really would like to know how much people would pay to _stick with_ Google as opposed to another search engine, e.g. DDG. For me, this is next to nil!

<comment><USER3> Definitely not nil for me. DDG still seems to struggle at looking up basic programing related information. Is that not the case for you?

<comment><USER4> I've been using DDG for a few years now and I have the reflex to immediately add "!g" after a query if I don't find what I'm looking for in the first screen of results. Nowadays I notice more and more that when DDG doesn't find what I'm looking for then google often doesn't either. I think the duck is pretty mature now, at least for my use cases.

That being said I don't fool myself, DDG is free which means that if it ever becomes really mainstream it's going to turn "evil" at some point in order to monetize the users one way or an other. Let me pay for your bloody service, add a few gizmo premium features if you have to. I want to be the client, not the product.

<comment><USER5> People forget that Google was an enormously profitable business even when the tracking part of its operation was in its infancy. Search ads sold by intent will always be valuable

</comment></comment></comment></comment><comment><USER6> Whenever I use a search engine other than Google and I don't get the results I want my thought is "I bet Google would have found it". When I use Google and I don't get the results I want my thought is "I probably didn't type the right query for this". For me this is the biggest challenge any time I've tried something else.

</comment><comment><USER7> > One way to quantify how much these internet services are worth is by asking > people how much money they would have to be paid to forgo using them for a > year.

This would inspire much larger numbers than "how much would you pay to use this service if no free alternatives were available"

<comment><USER8> Maybe this is a form of loss aversion? [https://en.wikipedia.org/wiki/Loss_aversion](https://en.wikipedia.org/wiki/Loss_aversion)

</comment></comment><comment><USER9> "How much protection money would you pay google to not: (1) track you on just about every site you visit, (2) know exactly where you are at all times because of that little GPS you carry around with you, (3) tie-in your purchases from brick and mortars to identify what you like to buy, (4) maintain a full history of things you have been interested in (searched for) so they can market stuff to you"

For #1, I am hoping that the tracking blocker plugin I use has already done this.

For #2, I've tried disabling the tracking stuff on my phone and it basically completely hamstrings the device's built-in assistant to the point of being useless. So I don't know a way around this one.

For #3, "May I have a phone number or email for your purchase?" "No, you may not."

For #4, I've disabled search history to the best of my knowledge, but I don't for one minute think they are not still using it internally.

I would not pay Google. I would switch to a search engine of comparable quality that sells ads based upon what was immediately searched for, and not based upon their tracking and identification scheme. I like the idea of DuckDuckGo but I haven't gotten the same quality yet.

</comment><comment><USER10> Would Google have reached today's size if it had charged from day one?

I would gladly pay for Google Search as I can't do my job without it. But what additional features would they offer when 1) there's growing privacy concerns and legislation coming (so not using your personal data isn't doable and/or will be required anyway) and 2) they pretty much offer everything for free today (and it'd be a downgrade if they downscale free users and made people pay for something they already get for free!).

It's a tough spot to be if you're thinking about an alternative to ads.

<comment><USER11> _I would gladly pay for Google Search as I can 't do my job without it._

We programmed before Google. And it was more fun and satisfying too. A real craft, not a cut'n'paste-fest

</comment></comment><comment><USER12> $17.5k/year for Google? I'd probably go more. I can't even fathom how much it'd hamstring me professionally to not be able to use Google.

<comment><USER13> really? you wouldn't just buy a few hundred dollars worth of books like we did back in the day before search?

<comment><USER12> I'd survive but I wouldn't go back to it except in the most dire of circumstances.

</comment></comment></comment><comment><USER14> $10/month with zero tracking & ads, and end-to-end encryption.

<comment><USER15> By end-to-end encryption are you just talking about HTTPS in this situation?

<comment><USER14> GMail like ProtonMail/Tutamail with proper asymmetric crypto. GDrive with the possibility to encrypt on the client side even if it hurts de-duplication (maybe for extra $).

<comment><USER16> See: virtru

Full disclosure: I work there but I work there because they do this. I left my last place because I wanted to be on this side of the argument.

</comment></comment></comment></comment><comment><USER17> something's not right about this survey

>Survey respondents said that they would have to be paid $3,600 to give up internet maps for a year

is the convenience of internet maps over satnav, desktop offline maps (they used to be a thing!), and paper maps really worth thousands of dollars? and what about the $17k figure for forgoing google? that's more than half the us adult median income! surely google isn't that convenient. I'm guessing they either surveyed _very_ affluent people, or the respondents greatly overestimated

<comment><USER18> I don't think that number is overly large.

Take a question like "how much would you have to be paid to use an outhouse for a year"? Sure, it would be inconvenient, but it not like it would monumentally change someone's life.

Still, I'd guess my number for the outhouse question would be over $50,000 possibly more.

<comment><USER19> Would it really? I think that just makes you out of touch, or really affluent, as said before.

Frankly, I'm willing to bet serious money that given the choice between 50,000 cash right now, and an in-door toiled, the vast, overwhelming, majority of the world would not choose the latter.

<comment><USER18> For me, yes. All the money in the world isn't worth it if my day to day life gets worse.

I don't think it's that I'm really affluent, but more than I value some things more than money. I have a roof over my head and food on the table, so outside of that my goal is to lead a happy life. I don't think a few tens of thousands of dollars would make me happier than using an indoor bathroom, or using Google does.

<comment><USER19> It's just that I don't think you realise that 50K is more than most people make in a year. For some people, even Europeans, it could easily mean doubling, or tripling their salary for a year. That's not just "a few tens of thousands of dollars", that's literally enough to ensure an easier life for a few years. Which is why I think you don't even realise it, but you're affluent (compared to world standards).

</comment></comment></comment></comment></comment><comment><USER20> The title doesn't match the article ("Google" is not the same as "internet search engines").

If we're talking about Google specifically, zero, because I've been trying to un-googlify my life for a few years now and I'm comfortable enough with my alternatives. If all of Google shut down today, the only thing I'd really miss is Google Maps -- both for navigation and the ratings/review system.

</comment><comment><USER21> What's wrong with Google trying to crowdsource its funding? Rather than show an ad to everyone for a fraction of a cent, maybe a fraction of users would be willing to pay a cent for each search, on average? I'd pay 500 cents a month to cover the nearly 10 daily searches I perform, if it meant that no one's data was being gathered and mined.

</comment><comment><USER22> Have we reached a consensus that asking the question "how much would you pay to keep using Google" is an accurate method for deciding how valuable Google is to society?

To me it seems like a flawed and simplistic approach, which will always make Google seem more valuable than it actually is, because it assumes that in the absence of Google, no alternative products and services would have appeared into the world and provided more value than Google ever has. It frames the question as "Google or nothing".

</comment><comment><USER23> Well considering I pay almost 50 a month for gsuite I'd say that.

</comment><comment><USER24> I used Lexis before there was AltaVista, though I did not pay for it directly. I used AltaVista before there was Google. I'm confident I'd pay to continue using Google. $10/month would be a no-brainer, which is I think much higher than Google's current ARPU.

Who was the business genius who starved AltaVista? I don't mean who pulled the plug. I mean who under-resourced it so that, in it's final years, it was too late to compete with even a nascent Google.

</comment><comment><USER25> The article isn't directly about privacy, but there is an implication about the value of your personal data. I'm not convinced that they'd stop abusing private information even if it were a paid for service. There are plenty of examples of privacy issues with subscription based services.

</comment><comment><USER26> I already pay monthly for extra drive storage and I buy tons of media from Google Play. I donate to a few sites including wikipedia and khan academy. I wouldn't really mind paying a small fee for other google services such as gmail.

</comment><comment><USER27> Ironically Google Search is probably the one product that could sustain itself on ads based only on what you put in that search field without any kind of tracking. I'm fine with Google Search ads like that.

<comment><USER28> That's how DuckDuckGo ads work.

</comment></comment><comment><USER29> Google has a record of our searches, our email, our contacts, most of the cellphones in the world, in some cases a microphone within our houses... and they also want money?

</comment><comment><USER30> It's not the same thing as "human" access, but, for bot acces, pricing is around $0.01 per request for a JSON access to search results. Ref: [https://serpapi.com/#pricing](https://serpapi.com/#pricing)

</comment><comment><USER31> How much would you pay me to start using Google?

</comment><comment><USER11> Zero. I am already 100% on DDG or Bing

</comment><comment><USER32> For no ads/tracking, $50/mo.

</comment><comment><USER33> I'd gladly pay $100-$200 annually for search as long as they stopped profiling and tracking me all over the web with their ads.

</comment><comment><USER34> With $5/mo + a domain, so total of $72/y, you can use G apps for business.

<comment><USER34> I don't understand why I'm getting downvoted, it's a serious statement, you can already upgrade to get a service with the business ToS, which includes different privacy treatment.

Personally, other than my work email, I still have a business account from my previous startup when google apps was free. No ads, less tracking, a joy. My only regret is that as of today you can't enable Advanced Protection on the business accounts.

</comment></comment><comment><USER35> $99/mo

</comment><comment><USER36> Free 99

</comment><comment><USER37> Lol, a better question is "How much would you pay to eliminate google from your life forever." because why the hell would I ever give someone money to spy on my personal life?

This kind of thing really makes me question how capable people are of grasping how completely they are being exploited and taken advantage of. Google should be paying us for the use of our data. How did we get to this point where humans think it is their purpose to be juiced for money by faceless corporations until they die?

And now we can pay for the privilege!!! lol.

<comment><USER38> > because why the hell would I ever give someone money to spy on my personal > life?

I think the idea is that if you were paying them, they wouldn't be spying on you because you've become the customer and not the product.

<comment><USER37> I think that idea has been proven wrong in every single application of it in the entire history of human activities. There is not a single example anywhere that anyone can point to, where someone afforded that level of trust lived up to their responsibilities.

I invite you to cite some examples which prove my hypothesis wrong. But history would suggest that we should never, ever, ever trust _anyone_ in that particular way.</comment></comment></comment>


Ask HN: Any finance topics you're interesting in learning about? - <AUTHOR>

Background: my co-founder and I are in the process of preparing to launch a business around financial modeling software that we've built.  We discussed the idea of writing a book (or a series of articles) that we could give away for free on finance topics (e.g., cash flows, accounting, budgeting, NPV modeling, etc.).  This would hopefully allow us to 1) provide a generally useful document to anyone who downloads it and 2) demonstrate the capabilities of our software.  I've come up with a list of topics that I plan on writing about, but thought maybe I could get some ideas from HN readers to augment my own.
So, are there any topics that you are interested in reading about / learning about related to finance?
Also (on a separate, but related note): once finished with the book/articles, is it appropriate to submit it to HN?  That is, I hope (and expect) that it will be useful to anyone even if they don't use our software, but obviously one of the primary goals would be to help sell software too.
Thanks for your feedback! <comment><USER2> I would love to learn more about options and what they are used for.

Also, the most important things to know about technical analysis would be pretty useful too.

<comment><AUTHOR> Thanks for the feedback - I'll try to incorporate something along those lines and let you know when it's finished, perhaps you can let me know if you like it.

</comment></comment><comment><USER3> Make topics appropriate to real life situations, don't just provide definitions (A VC's MBA Mondays blog does this already).

<comment><AUTHOR> Thanks - I'll keep that in mind (and I agree - real life situations with examples are much more interesting than regurgitated textbook material! [ __not __suggesting that's what A VC's MBA Monday's blog is whatsoever]).

</comment></comment><comment><USER4> What kind of finacial modeling software? Some people <http://www.stocktrak.com/> (i have no affiliation with that site) have already done something similar.

<comment><AUTHOR> Thanks for the reply and the link. Our software is different than stocktrak (from the looks of it) - our's is more geared towards corporate finance as opposed to investing.</comment></comment>


Ask HN: When was the last time you clicked an ad deliberately? - <AUTHOR> <comment><USER2> A few months ago, I was on a linux VM with no ad blocker and I got one of those banner ads about my Windows PC being attacked.

Being interested and having nothing better to do on a Saturday night I clicked it, got told my system was infected and to call a number for help.

I called the 800 number, got onto a representative who then attempted to get me to install a piece of software. I played along as the dumb consumer who just really to keep the viruses and hackers off his computer.

2 hours later with multiple service escalations, attempts to install a .exe and a .msi to a Ubuntu install, reboots, running windows commands in my terminal, giving fake credit card numbers (the kind generated to make sure your system can handle all credit cards) and me just acting plain dumb ended with me being hung up on.

I figure the 2 hours that they burned on me was one less poor soul they hooked in.

</comment><comment><USER3> Yesterday. I'm on the hunt for a new guitar and I've been browsing various sites looking at them. On an unrelated forum there were one of those adverts which was a grid of 6 items the store sold plus store logo.

It got me to click because the guitar looked eye catching and I wanted to know more.

That's probably the first ad I've clicked in months.

</comment><comment><USER4> Probably 18-24 months ago, before adding an ad blocker to my phone, when one got in my way while trying to scroll or the page jumped around during re- render when an ad image loaded and pushed the link I was about to tap out of the way.

Oh, wait, deliberately? 3-5 year ago, I'd guess.

I block ads and thus almost never see them. Even without ad blocking enabled...

A) they're rarely if ever relevant to me B) I'm too skeptical of advertising in general to believe a word of them C) when they are about something I'm researching to buy, they pretty much always suggest an item I've already eliminated from consideration for very good reasons D) I find ads too annoying to be willing to encourage their use by clicking on them

Maybe once every five years I'll see one that piques my curiosity enough that I just have to find out what's behind it.

</comment><comment><USER5> I sometimes click on ads (sponsored links) on the Google search results page. Other than that, I'm fairly sure I've _never_ intentionally clicked on an ad in 20+ years of web surfing. (But I'm probably forgetting a few clicks.)

</comment><comment><USER6> Often while searching a book or other items on google, the item that I want is shown within an ad box on the right, and invariably found on the big river, but the 'ordinary' link to that item won't appear on the first page! I am a bit lazy to click on next page arrow, and also have no grudge against google to cause them a 'loss', so I say what the heck and click on the item. As to when, probably last week sometime.

</comment><comment><USER7> The last one I clicked deliberately was from one of the meal kit startups on Facebook offering $40 off your first box. I'm opening to trying all of them at least once with a discount like that.

Besides that, in the past I've found The Deck ads (such as on marco.org) to be more relevant than most and I click them occasionally.

</comment><comment><USER8> All the time. Demanding job + non-computer related hobbies limit my time to find new things I like.

I patronize websites that are for my demographic. I follow people that advertise things I like. They do the initial sourcing, then I do the research into whether or not I like that product.

</comment><comment><USER9> Very occasionally (once a month?) Facebook will show me an ad that actually looks interesting enough to merit following it. Apart from that, I have an adblocker to keep the obnoxious stuff off my screen.

</comment><comment><USER10> I've a personal account which is on a browser profile with ad blocking enabled and tracking disabled but on a different business profile I am keeping an eye on ads. I occasionally click them deliberately.

</comment><comment><USER11> Mostly if I'm looking for new sport gear like running shoes I don't mind clicking on ads if I see a shoe I like.

And if a company is the top result and also shows up in the ads above I click on the ad.

</comment><comment><USER12> I honestly can't say for certain that I've ever intentionally clicked on an ad.</comment>


My tech lead is an idiot - <AUTHOR>
 His code is terrible, and he's intuitions are usually super wrong.
And to top it off, he is not very productive — our junior engineers are lapping him on tickets closed.
Yet this guy outranks most our team by two levels.
But my manager is not very technical, so he can't detect his BS (and he is somewhat of an idiot himself).
But this guy is very gregarious and extroverted — the business folks like him.
I am super annoyed because I have to fix this guys bugs, and ACTUALLY do the technical leading myself — yet I get no credit. I'm ready to quit this job or make some kind of lateral move to another team. What should I do? <comment><USER2> > And to top it off, he is not very productive — our junior engineers are > lapping him on tickets closed.

Tech leads have responsibilities that junior engineers don't have, such as architectural design, code review, mentoring junior developers, meeting with management and other groups, etc. Thus, they might spend less time on programming than junior developers and close fewer tickets. They might also be working on more complex tickets that take longer to close. (Of course, your lead might still be a lousy developer, but counting closed tickets is not a good measure of his productivity.)

> I am super annoyed because I have to fix this guys bugs, and ACTUALLY do the > technical leading myself — yet I get no credit. I'm ready to quit this job > or make some kind of lateral move to another team. What should I do?

Look for a new job, either on another team or at a different company. When asked why you're looking for a new job, definitely don't say your tech lead is an idiot. Talk about how you're looking for an opportunity grow your career and take on more responsibility.

<comment><USER3> > definitely don't say your tech lead is an idiot

I'm curious to know why you recommend this. The poster should perhaps not use those same words, but isn't it worthwhile giving honest feedback?

<comment><USER4> The poster thinks the tech lead is in idiot partly based on the fact the tech lead doesn't close as many tickets as juniors.

Any good interviewer will figure this out if it's mentioned.

Then they will know the poster doesn't know as much as they think they do about the job of a tech lead, and that they jump to damning conclusions from dubious judgement. This correlates with "this person may be challenging to work with", which matters a lot.

They might still get the job, but it's not an advantage.

Instead, why not start a constructive discussion with the interviewer about how they found the way work was done disappointing at the last job and would like to know how things are performed in the new one, or if going for a lead job, how they envisage going about the lead role.

<comment><USER5> You are yourself jumping to damning conclusions about the OP, a person you don't know anything about except for what is written in his or her question. It is entirely possible that the OP is right and that the tech lead is an idiot. That is a valid reason for wanting to switch jobs.

<comment><USER4> While I'm prepared to believe you, looking at my comment it doesn't seem that way to me. Out of interest, which damning conclusion do you think I've reached about the OP?

I've avoided saying anything about whether the OP is _right_ about whether their tech lead is an idiot.

The only conclusion about the OP I see is "The poster thinks the tech lead is in idiot partly based on the fact the tech lead doesn't close as many tickets as juniors."

I think that's a simple implication from the OP writing "he is not very productive — our junior engineers are lapping him on tickets closed".

All the rest of my comment is about how an interviewer might likely think if that were said in the manner discussed; it's not about the OP.

<comment><USER5> > While I'm prepared to believe you, looking at my comment it doesn't seem > that way to me. Out of interest, which damning conclusion do you think I've > reached about the OP?

1\. That the OP doesn't know as much as they think they do about the job of a tech lead. 2. That the OP is jumping to damning conclusions from dubious judgement. 3. That #1 and #2 correlates with being "challenging to work with."

<comment><USER4> Thanks.

#1-3 are about how the interviewer will likely think if the discussed remark is said _in an interview_ ; they are not _my_ conclusions about the OP.

It would have been more accurate if I'd stated that was a risk being taken by the OP in the interview rather than a certainty. Though I expect that would have made the point less clear to most readers.

#3 correlates with #2 (not #1), and this relation is not specific to the OP.

#2 may not be true of the OP, but an interviewer who thinks it based on things said in the interview, is likely to think #3 follows.

This is a risk the OP is advised not to take if they are trying to make a favourable impression.

<comment><USER6> Agreed. When I'm interviewing someone, any negative remarks about past employment (or anything really) would be a huge red flag, regardless of the actual merit of the remark. In my opinion, this is just not something smart people do (being negative during the interview), and my main objective during an interview is to determine how smart one is (not to mention being pleasant to work with). They can bitch about their past employers over beer in a bar - after they've been hired.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> It's been commented by others, but I just wanted to chime in that when I was a tech lead I was _very_ happy if I could close one ticket a week. It took me a while to accept just how much I had to delegate because while I _knew_ how to solve the problems faster and better than most of the people on my team (i had more experience with the product and more experience writing software) I simply couldn't productively contribute to the codebase _and_ do my job as a tech lead, which was _mostly_ answering questions and making decisions about how to proceed all day.

I'm not saying your lead isn't an idiot. I just wanted to give another viewpoint on why "tickets closed" is a terrible metric to apply to a tech lead. If you're fixing tons of bugs and closing lots of tickets you're probably not tech leading as much as you think you are.

Being tech lead isn't about being a productive coder or being the _best_ coder. It's not even about knowing more about coding than the others on your team. It's about eliminating the technical roadblocks for your team by answering questions helpfully and making good decisions about the direction to move the codebase, and having meetings and discussions about the future of the codebase. All of that takes a ton of time.

</comment><comment><USER8> You should always be job hunting to some extent or other. You should take other offers if they are more appealing to you than your current job. You should not take other offers if they are not more appealing than your current job. You should have an offer in hand before you quit.

This is true regardless of if your tech lead is an idiot or a genius although you should include that as one of the criteria by which you evaluate other offers.

You should also calm down about this and not take it personally. You're using your skills and talents to put food on the table. Your tech lead is using his. His manager is using his. They're not out to personally screw you. You do get credit. It's called money and it arrives in your bank account every two weeks or so. If you don't think the credit is proportional to what you bring to the table see the start of this comment.

</comment><comment><USER9> Get him promoted. It's the [https://en.m.wikipedia.org/wiki/Dilbert_principle](https://en.m.wikipedia.org/wiki/Dilbert_principle)

<comment><USER10> > Under the Dilbert principle, employees who were never competent are promoted > to management to limit the damage they can do.

Interesting but how does promoting such employee limit the damage (instead of causing more damage to the team)?

</comment></comment><comment><USER11> ok lets break this down: you say that guy is "very gregarious and extroverted — the business folks like him" und your manager "is somewhat of an idiot".

could it be that your tech lead is stepping up to fix the mistakes of your manager? sounds to me like that guy might be the buffer of the team. the person that catches the shit the business folks fling at the team to allow the rest of the team to get some work done. Of course this impacts his "real" position as a tech lead.

its natural that the second in command (sounds like thats you) steps up to fill the resulting void and take over tasks. maybe you should talk to your techlead. ask (not accuse) him whats up with your observations. communication is key in those situations.

</comment><comment><USER12> This is called "politics", which is basically playing the human relationship game (vs technical merit).

Your options are to play it (to varying degrees) or to move to a place where there's less of it. But make no mistake, there's always some of it; the person who talks to a lot of people and make connections and is likeable will have an advantage (maybe rightfully so).

You don't need to be extroverted to play the game, just takes practice like everything else.

</comment><comment><USER13> If you're unhappy with your superiors, time to jump ship. It doesn't matter if that's because of your team lead or your manager, they have the leverage over you. Nothing you can do about it.

</comment><comment><USER14> Just assume the higher ups value whatever this guy has, so either become like him or go work somewhere else

</comment><comment><USER15> Who cares? What do you care about? I care about money and food in the table and being able to live my life. Did that guy interfere with that or managing to continue a decent career trajectory? If not, who cares?

</comment><comment><USER16> I stopped reading at the second "idiot".

What are you doing there? Go work somewhere else and quit this unprofessional attitude.

</comment><comment><USER17> Coding brings out the hate because it's such a precise discipline and people, especially those in management, optimize for optics rather than correctness.

In my more sober moments I like to consider the smallness of the entire enterprise of my employer. Yes, everyone around me sucks but what other than my sanity is being hurt by the stupidity of it all? Nothing, really.

If that doesn't work (it doesn't for me), think: "I'm being paid to smile and nod when fed horseshit."

</comment><comment><USER18> I've felt the same many times in my career. I used to think that I should "stick it out" and things would get better. They don't. You should start interviewing, accept an offer, and put in your two weeks notice.

Try not to get discouraged when the same thing happens 6 months into your new job; just repeat the process above and hope that you're wiser / luckier with your selection this time around.

</comment><comment><USER19> In your situation, I would follow his order exactly, do the minimum and let him be the firefighter.

I wouldn't follow a non-technical manager if I have a choice. I tried it once, it's a shitty experience. It's hard to build trust between us. He simply didn't trust/understand what I said. There were always a pair of eyes watching me. The conversation and management overhead is very high.

I probably wouldn't hire them if I were the boss. They don't add value to the project much.

</comment><comment><USER20> In my current situation I don't always agree with my tech lead on design decisions. Sometimes I can feel a bit stressed about the tasks I'm assigned too, since I have this sinking feeling where they might end up down the road. Still, the experiences I'm having at my current job are worthwhile to me, so I'm overall okay with committing to my current situation.

I'd ask you the same question: do you feel you're overall benefiting from the job you're in? If not, and you're able to, it might be good to look for other work. You might find satisfaction, and someone else might be a better fit for working with this lead of yours.

One thing I'm aware of is that while I don't always agree with my current lead, I know that he's shielding me from incompetence from other areas of the team (and there are plenty of incompetent people on any org!) to help me be productive. Consider if that's true for you too; if not than I think it'll be easier to leave than you might be considering.

</comment><comment><USER21> First, whatever you may feel about your tech lead -- don't let it get out to prospective teams. Complaining about people in a previous team will look bad on you. (Even if it's not your fault, that's how interviewers may perceive you.)

Second, you have my sympathy. I was in a team where I was doing a lot of the technical work and leadership. The TL didn't come up with designs, didn't mentor anyone, and talked behind other engineer's backs. I have no problem with the fact that he didn't write much code, but it was very frustrating that he couldn't explain to me why he disagreed with my designs. In one instance, I had met with the TL multiple times to make sure he and I were on the same page, held several team-wide design reviews in the previous month where the TL attended, and got approval from all the other engineers on the team to begin my work. My manager's feedback to me was, 1) it was my responsibility to make the TL understand and 2) I needed to work on "buying consensus" with the team. To say the least, I started looking for a job with better career opportunities.

I wasn't the only person who felt the way I did; the person who took my place after I left the team felt the same way. I later found out that the TL got promoted (for what, I have no idea, but it's probably because he played the politics well).

This stuff happens.

You can't do much about fixing your team situation, but you can certainly look to move to another team where there are better opportunities to grow and be noticed. Also, take some time to observe how he plays politics. Some of it you might agree with (and it may be useful to you in the future), and some of it you might not agree with. My TL was very good at praising people he perceived as higher ranking than him, and he would somehow talk to them in such a way that they would basically spell out designs for him, so he was "never wrong" about how he did things. You'll find that the higher you go up, it's not just about your technical abilities anymore, but how you convince people about the right decisions to make.

</comment><comment><USER22> Top athletes appear to have a general perspective on progress and self- development. Instead of comparing oneself to others, rather compare yourself today, relative to yourself yesterday, as a gauge on deliberate and precise progress towards the desirable outcome.

<comment><USER23> It's not an entirely relevant analogy though. It's good practice to seek mastery of craft. But an engineer in a team/organization has to navigate a system that is literally based around comparing peers, i.e. for promotions. There isn't really an objective metric for engineer performance, it's based pretty much entirely on what co-workers/managers/promo committees think of you.

This is not something athletes have to deal with, they can focus on improving personal performance and trust that it'll lead to an objective result (winning a race or game).

</comment></comment><comment><USER24> Any time you are thinking it is time to change jobs, it is past time to change jobs.

</comment><comment><USER25> It is easy to blame your own weaknesses on someone else. Maybe you should read some dating books and/or work on your self-confidence. I am a very introvert person myself. There are some simple things you can do, to improve your non- verbal communication and actually make people see you for who you are and what your contributions are. Moving to another job, may actually not solve anything, because the chances of meeting another tech lead that is like your current tech lead, is very high, because it is usually the less skilled people who drift to tech lead roles.

</comment><comment><USER26> Get another job and if everyone else is an idiot then alarm bells should ring. If not you will be happier.

</comment><comment><USER27> >I have to fix this guys bugs, and ACTUALLY do the technical leading myself

sounds like he is quite brilliant after all

</comment><comment><USER28> Just quit and go work somewhere else, you can't grow in an environment like this

</comment><comment><USER29> Could you find a method this hard conversations ?</comment>


Boeing and NASA Look at LENRs for Green-Powered Aircraft - <AUTHOR> http://blog.newenergytimes.com/2012/08/03/boeing-and-nasa-look-at-lenrs-for-green-powered-aircraft/

<comment><USER2> So the government is wasting our tax dollars on cold fusion scams? Oh, wait, "e-Cat" is going to save us all, hallelujah.

<comment><AUTHOR> Reading a little more carefully, you'll realize that the blogger debunks eCat or eCrap.

Legitimate science on LENR is being done. For example:

slideshare.net/lewisglarsen</comment></comment>


Setting up Atom, the Sublime Text 3 open source alternative - <AUTHOR> http://www.developingandrails.com/2015/04/setting-up-atom-for-rails-development.html

<comment><USER2> Atom is a fantastic tool and is improving every day.</comment>


Can you really Rent a Coder? - <AUTHOR> http://www.codinghorror.com/blog/archives/001190.html

<comment><USER2> Can you really Rent a Coder?

I don't think this blog post even attempts to answer that question. Here is a post on the subject that links to some decent content:

[http://calacanis.com/2005/09/07/rentacoder-com-and-elance- co...](http://calacanis.com/2005/09/07/rentacoder-com-and-elance-com-reviews/)

</comment><comment><USER3> I guess whatever works for the person looking to make money works... but it's sad to think that people in the US have to compete on rates with people who will work for less than half of a living wage in the US. I mean, I'm sure <http://www.odesk.com/companies/~~f2d09a6de7612bda> has great skills, but so does someone who works for $35+. How do you compete in a market like that?

<comment><USER4> It's called globalisation, and you're just gonna have to deal with it...

</comment></comment><comment><USER5> Is there a market for a moderated rentacoder? Think of the difference between yahoo answers and ask metafilter. Same goal, different leagues of quality.

/me has a startup idea.</comment>


PostgreSQL vs SQL Server installation Faceoff - <AUTHOR> http://www.youtube.com/watch?v=tacsV4PVmCw

<comment><USER3> Because the installation time is what matters in databases which are supposed to run for years (or months - depends on your environment) without restarting... I'm not even going into differences between postgres and sql server features. Flagged.

(also: why do milliseconds go only up to ~20?)

<comment><AUTHOR> The goal is to show Windows folk that the Linux ecosystem has changed greatly over the last 1/2 decade. I know _a lot_ of Windows dev who are afraid of Linux - thinking they have to grab source, make/configure it when the right options and hope like hell.

<comment><USER3> Then you might show the supporting tools, scalability, write a nice article, show the tool in action, etc. etc. -- Not show that X installs in Y seconds and then spend a couple of minutes looking at a scaled down installer of SQL server. Showing such "comparison" along with texts like "wtf is up with that". This video is not "showing" anything - it's making fun of SQL server installation procedure.

<comment><USER4> I think wanting to install .NET and IIS is worthy of a WTF. You are installing a database server, not a website. If you want to install a web front-end to the server, you should run its own installer (and, probably, not run it on the same box as the db server itself)

The less you install on the database box, the less stuff you have to upgrade, the less exposure to security critical bugs you have and the less downtime for upgrading you will get.

Mandating .NET framework and IIS is just dumb.

<comment><USER3> Sure - it's a WTF. But if you want to show that X is better than Y to professionals, you don't say "Y sucks omgwtfbbq". We're (mostly) capable of reading lists of dependencies and a summary like "dependencies of X are: ... and weight ...MB, while dependencies of Y are: ... and weight ...MB, but we don't see the reason for dependencies: ...". Pointing fingers and laughing usually makes people aggressive, instead of showing a valid point. It's not dumb - there's a reason why it's installed as a dependency, even though it has bad sides too.

Latch wrote "The goal is to show Windows folk" - there are ways to show things without ridiculing the opposition. It's HN, not some other service, so let's try to keep the level high.

<comment><USER4> I completely agree that this is not - and should not be - the place for childish behaviour. It's however, hard to show MS SQL's installed side by side with Debian's APT and not look like you are trying to ridicule SQL Server. The WTF's are mostly noise I really haven't noticed until a second pass through them.

And "Windows folk" may very well not be appropriate terminology. This is a hacker place. There are Windows users, Windows enthusiasts (who tend to severly mod me down when I get carried away) and some Windows developers (the kind that develops Windows, not for Windows) and we should really try to keep everything civilized.

A humorous jab here and there won't hurt, however.

</comment></comment></comment></comment></comment></comment><comment><USER5> You can also install SQL Server from the command prompt:

<http://technet.microsoft.com/en-us/library/ms144259.aspx>

So I'm not sure what this is really showing... that a GUI is slower than typing?

<comment><USER6> I find the IACCEPTSQLSERVERLICENSETERMS -parameter bit humorous.

<comment><USER4> For Microsoft, certainly. I wouldn't accept them ;-)

</comment></comment></comment><comment><USER7> All I have to say about PostgreSQL vs SQL Server is LIMIT ... OFFSET.

I've been porting a SQL Server app over to PostgreSQL, but in the meantime having to maintain the SQL Server one. The lack of LIMIT/OFFSET in SQL Server is maddening.

<comment><USER8> [http://stackoverflow.com/questions/187998/row-offset-in- ms-s...](http://stackoverflow.com/questions/187998/row-offset-in-ms-sql- server)

<comment><USER4> SQL queries are seldom considered examples of neatness, but the top solution (which is a good one, as far as my rusty TSQL allows me to judge) is a textbook example of a kludge.

Not that I think OFFSET and LIMIT belong in SQL (IIRC, ANSI folks agree). It's a query language, not a presentation one.

<comment><USER7> What do offset and limit have to do with presentation?

</comment></comment></comment></comment><comment><USER9> The comparison seems a bit unfair, in that the SQL Server stuff is going to be installing a boatload more stuff - much of which will be useful to administration (management tools - backups, schema mgt, etc). In cases where you don't need that, pg or mysql can win, but a SQL Server install is so much more than just the engine.

<comment><AUTHOR> actually, only the core SQL Server engine was installed - <USER2> management/reporting/xxx tools beyond the bare minimum the installer allowed.</comment></comment>


My quest to sync up Heroku Postgres to local Postgres on Gitpod Cloud IDE - <AUTHOR> https://kevinhq.com/sync-up-heroku-postgres-to-local-postgres-on-gitpod-ide/ <comment><USER2> What are the advantages of using a cloud based IDE. It seems like there are a lot of downside. Most notably that getting something simple setup warrants a blog post.</comment>


How Changing WebFonts Made Rubygems.org 10x Faster - <AUTHOR> https://www.nateberkopec.com/2015/11/30/how-changing-webfonts-made-rubygems-10x-faster.html <comment><USER2> > As developers, our job isn't to tell the designers "Hey, you're dumb for > including over 500KB of WebFonts in your design!"

Yes. Yes it is. I want to browse the web of 2006 with an Internet connection of 2016. I really wish websites wouldn't require me to download hundreds of different JavaScript libraries, fonts, Flash, video files, and who knows what responsive AJAX nonsense. I really like minimalist websites that do what they need to do without tens of megabytes of cruft. Like this one.

<comment><USER3> To give a suggestion in the middle, a good approach is to inform the designers about the technical implications of their designs and present options that work around the technical issues so a compromise can be found.

<comment><USER4> Loading times/responsiveness are certainly a design constraint, and designers need to be aware of this.

Imagine a print designer that didn't know about bleed, DPI or colour showing through paper. They may not personally be in charge of printing things, but they absolutely need to have domain knowledge or work with someone that does.

</comment></comment></comment><comment><USER5> _" As developers, our job isn't to tell the designers "Hey, you're dumb for including over 500KB of WebFonts in your design!"

... As performance-minded web developers, our job is to deliver the designer's vision in the most performant way possible."_

Design is all about trade-offs. Performance is part of the experience and that's something all designers should care about.

Developers should definitely raise this type of issue when it arises (albeit without the name-calling and in a collaborative manner).

<comment><USER6> Well, in this case he replaced the designer's vision with Arial(!) because "Fonts all look the same below H3". Without ever talking to that designer.

I'm sure a collaborative effort would have resulted in simply removing the 10 unused font variants and leaving the two that are used. That would save 416kb of those 500kb without being tasteless.

This is a good ressource on what designers think of his choices of Arial and Helvetica: [http://practicaltypography.com/helvetica-and-arial- alternati...](http://practicaltypography.com/helvetica-and-arial- alternatives.html). Quote: "I try to keep the litmus tests to a minimum, but this must be one: you cannot create good typography with Arial."

<comment><USER7> Can't follow that link for some reason. Firefox says:

Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

uses security technology that is outdated and vulnerable to attack. An attacker could easily reveal information which you thought to be safe.

<comment><USER8> Redirect Loop Error on Vivaldi Browser for me

<comment><USER9> Same in Chrome.

</comment></comment></comment></comment></comment><comment><USER10> I've worked with numerous projects using Typekit or Google Fonts, and a few that used typography.com by Hoefler & Co. Google Fonts has far and away been the best experience, both for development and for the users. Kudos to the Google Fonts team.

I wonder if Google plans to add a paid collection of premium fonts to its library – while I prefer open source fonts, I know a number of designers who use very specific fonts outside of what's currently available for free.

</comment><comment><USER11> > Is WOFF2 just _that good_?

Regardless of the following paragraphs (which give a primary reason of `unicode-range` CSS property), it is _that good_. Brotli, a compression algorithm used by WOFF2, is a very good fit for regular-looking but non- repetitive data---that includes many binary formats including OpenType. I have seen at most 10--20x improvements over uncompressed TTF.

</comment><comment><USER12> It might be nice if browsers automatically kept a running estimate of connection speed based on previous page loads, and exposed it to new pages via JavaScript or even as a CSS media query. That way sites could serve their fancy webfonts (and other large assets) to users on fast connections who won't notice the difference, and omit them for slower users without making them wait for the load to time out.

Of course, the speed estimate could be wrong if the bandwidth bottleneck (on either previous sites or the current one) is further than the last mile, especially for e.g. Chinese users whose Internet speeds are drastically slower with international peers than domestic ones. Or alternately if the user is on a mobile connection and is moving quickly between areas with good and poor reception, going on and off Wi-Fi, etc., although in that case the browser could incorporate signal strength data from the OS. Still, on an Internet whose users have wildly varying connection speeds, I think it makes sense to allow leveraging the difference somehow.

<comment><USER13> Hm, you could probably hack something together with the PerformanceTiming API, which makes a lot of these timings available to JavaScript: [https://developer.mozilla.org/en- US/docs/Web/API/Performance...](https://developer.mozilla.org/en- US/docs/Web/API/PerformanceTiming)

</comment></comment><comment><USER14> FWIW, Typekit has an async loader script that doesn't block the rendering. Same is the case with Google web fonts. Both services use the open source WebFontLoader[1] library behind the scenes (which is mentioned in the article).

Typekit has a feature they call language subsetting which reduces the file size of a particular typeface family by removing language support based on user selection. This can reduce font sizes quite a bit.

>Google Fonts doesn't use any JavaScript (by default, anyway), which makes it faster than almost any JavaScript-enabled approach

This involves a stylesheet which means the rendering is blocked until it is downloaded and processed and the users will see a page with blank text until that happens. Sometimes it is better to show the content (even in a fallback font) instead of a blank page.

1: [https://github.com/typekit/webfontloader](https://github.com/typekit/webfontloader)

</comment><comment><USER15> For those curious, the relevant PRs/issues appear to be:

[https://github.com/rubygems/rubygems.org/issues/1095](https://github.com/rubygems/rubygems.org/issues/1095)

[https://github.com/rubygems/rubygems.org/pull/1109](https://github.com/rubygems/rubygems.org/pull/1109)

</comment><comment><USER16> I disable web fonts for all my browsing. For the most part, it's fine and speeds up responsiveness. In rare cases, I run into problems when a website has decided to replace its icons with fonts, but generally, those sites are overly designed and I usually avoid them.

If I absolutely need to visit a site that uses mission-critical webfonts, I'll just open IE, do my business, and get out.

</comment><comment><USER17> \- Using Google for your fonts has been proven to be a nightmare for me in the past. Google does a good job at serving their own interests but don't expect them to put up a consistently good effort for their free shit.

\- The OP makes some weird kind of pedantic performance argument about moving script tags around in the head for some possible optimizations. Anyway, it wouldn't make any difference and your page would still be blocked if Typekit failed to load.

\- The text parameter to Google web fonts would render any prior cache-ability gains moot and could potentially change the unique ID of the resource as the text of your site changes.

I'm not trying to be too negative, but I don't see what all the fuss is about with this article? Yeah, someone added a big bloated third party font service. You found it, and removed it.

Shouldn't Rubygems be using some unicode or built in serif font anyway? They're going to need all the perf improvements they can get when their time to first byte is 300+ ms. ;-)

<comment><USER18> > Using Google for your fonts has been proven to be a nightmare for me in the > past.

How so? I had only good experiences with Google fonts, especially compared to other services or just plain self-hosting of font files.

</comment></comment><comment><USER19> Are there any good resources for what fonts are loaded by default in different versions of Windows, Linux, OS X, iOS, Android, etc? Do people have good "web safe font stacks" that specify relatively similar fonts that are commonly installed in the different browsers out there?

It seems like a nice middle ground to provide a somewhat unique and nicely styled experience, without forcing the user to download a bunch of extra stuff, and also possibly keeping it a little more "native" looking in whatever browser they're using.

<comment><USER20> I have started using just system "sans-serif" as much as possible. You can get far better returns from having correct _for your specific design_ font sizes and leading, rhythm, etc. than using the current trendy not-Helvetica.

</comment></comment><comment><USER21> Even faster: not using any.

<comment><USER22> Faster to load, but expensive to support. Using the same font everywhere cuts down on a lot of cross-browser layout bugs which stem from different fonts on different systems.

I use web fonts everywhere and can't imagine trying to build any kind of layout relying on system fonts alone. When doing CSS I have to use a giant wishlist like this to try to target a 'nice' font on each system:

        font-family: "Source Sans Pro", "Open Sans", Roboto, "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", "Myriad Pro", "Segoe UI", Myriad, Helvetica, "Lucida Grande", "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, Arial, sans-serif;

Or I could supply the font via @fontface and know it looks identical everywhere :)

<comment><USER23> What's with this "it has to look identical everywhere" mentality? Do your margins really need to be precisely 10px on every single display? I've always thought one of those most beautiful things about a well-designed layout was how adapts to a variety of viewing scenarios, yet it seems the majority of conversation on the matter is about making sure things are _absolutely identical_.

Your fonts and even colors could change. Webfonts are great and all til the idiot designer picks some "nice" ultra-thin that, while probably looked real sweet on his/her fancy Retina Cinema Display, looks like ass on mine.

<comment><USER24> I agree with your dislike for thin fonts, as they're unreadable on my screens.

However, the web is more than just text articles, and the precise positioning and display of text is quite important for web applications. It's important for me to know if the text on a button is wrapping or being cut off, and even more important for me know that my application will look the same on every screen.

<comment><USER25> You mean except for the screen of the user who has weak eyesight (e.g. due to being over the age of 40) and has set a 16px minimal font size in their browser?

I set a 13px minimum font size in my browser (the smallest size I can read comfortably on my screen) and I constantly run into web applications that try to go for the level of control you describe and totally fail because they think 10ps fonts are a good idea. Of course my usual response is to close that tab and never use that web application again if I can help it.

<comment><USER24> Then what would you suggest? Tradeoffs have to be made between font size and information density. If I was writing a web app for seniors for example, then yes, font size is a major concern. However, the vast majority of people do not set minimum font sizes. From my experience, most users tend to zoom the entire page if they need a larger font, which scales all UI elements (almost) evenly.

Ultimately, web applications (particularly enterprise and other B2B services) are designed to replace a lot of functionality normally relegated to native applications. While it is important to present a nice, clean interface, material design UIs with nice, large fonts and generous margins won't let me show what I need to show without making the user search through menus or scroll across a massive page.

<comment><USER25> > Tradeoffs have to be made between font size and information density

Well, sure. My personal suggestion is to have lower information density if the higher one can't be achieved without going below the 16px default font size of browsers and allowing scrolling as needed. After all, that's what you end up with _anyway_ if people full-page-zoom. Except now they typically need to scroll in two directions, not one, if the page hardcoded some widths in.

> However, the vast majority of people do not set minimum font sizes.

This is through lack of knowledge, not lack of desire. All the people I've showed this feature too were incredibly happy to see it. All of the older relatives I've set up computers for have minimum font sizes set up.

Keep in mind that as of the 2010 census there were about 309 million people in the US, of whom 74 million were under 18. Of the remaining 234 million, 40 million were over 65 years old: that's about one in 6 adults. Another 59 million were 50-64 years old. Another 22 million were 45-50. So over half the adults are over the age of 45. Oh, and another 21 million were 40-45. See [http://www.census.gov/prod/cen2010/briefs/c2010br-03.pdf](http://www.census.gov/prod/cen2010/briefs/c2010br-03.pdf) page 4 or so.

Age-related problems with vision start in the early 40s. So unless you yourself are already experiencing them (and hence can evaluate how usable your web app is), or unless you know your web app will only be used by Silicon Valley startups all of whose employees are in their 20s or something, you should probably assume that a large fraction of your users can't read smaller fonts.

I appreciate that this is a hard problem. I'm just saying that browsers allow users to override whatever styling the web page is doing, they will continue to do that, and as the population ages even further I expect it to become more and more common for users to do just that.

Note that generous margins are not as important as not too small fonts (not to be confused with "large fonts"; the default 16px font of browsers is not a "large font" in any reasonable sense, and yet people keep insisting on having text that is _much_ smaller than that) for purposes of readable text.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> This article is a good example of just how bonkers the 'modern web' is.

In a reasonable world my browser would instantaneously load the content (text fits in a couple of TCP packets) and I'd have an option to choose Shiny Mode (or a bar to toggle it on permanently with).

Instead, half of the 'articles' I come across on the web don't work without animated full page transitions, pop-ups within the page, blah blah. I preferred the MARQUEE tag, quite frankly.

</comment><comment><USER27> Funnily enough replacing a 61 byte gif with a 168 byte png reduced loading times of one of my sites by 150ms.

</comment><comment><USER6> Oh wow. This guy changed the font to Arial(!) because "Using WebFonts for "body" text - paragraphs, h3 and lower - seems like a loser's game to me. The visual differences to system fonts are usually not detectable at these small size".

It's not just the font that's grotesque here. Of course a 'normal user' isn't usually noticing the fonts a website uses. In fact, they shouldn't. But fonts still influence how people perceive the website.

Using this guy's insane logic, we could get rid of all craftsmen, because nobody notices the details anyway.

Even more tragic: Rubygems was apparently loading 12 styles&weights of that font and only using two. He could've thrown out the 10 unused variations and gotten almost the same result without resorting to violating someone's design.

Why exactly is Rubygems giving idiots access to it's source code?

<comment><USER28> > Using this guy's insane logic, we could get rid of all craftsmen, because > nobody notices the details anyway.

Hyperbolic much?

> Why exactly is Rubygems giving idiots access to it's source code?

It's open source [https://github.com/rubygems/rubygems](https://github.com/rubygems/rubygems) all idiots have access to the source code, even you.

I think the words you're looking for are "Thanks for taking the time to make Rubygems faster, and for doing a write up on it to show the costs and benefits of using a webfont. Now I see that style can come at the cost of performance. I'm curious what the speed differences would have been if they had gotten rid of the 10 unused font variations and kept the current webfonts."

Even better would have been "I ran the benchmarks for my suggested change and found it to be nearly as fast, I don't think we should sacrifice all visuals for the sake of performance, here's a link to my PR to Rubygems to re-instate the webfonts with a script on how to reproduce my findings. Thanks everyone for all your free open source work, and for sharing what you've learned."

I get what you're trying to say, blowing it out of proportion and being highly critical of people doing free work for you in their free time while doing nothing to remedy the situation isn't going to help anyone.

<comment><USER29> No, what he is trying to say is that the approach that was taken appears misguided. The speed improvement is largely gained by not downloading unwanted font variants. All the work mucking about with the designer's body copy style isn't going to have much effect - unless I'm missing something.</comment></comment></comment>