HN user

mostlystatic

840 karma

Founder of debugbear.com.

Email: matt at mostlystatic.com

Posts85
Comments109
View on HN
calendar.perfplanet.com 6mo ago

TTFB doesn't mean what you think it means

mostlystatic
2pts0
www.debugbear.com 1y ago

You Might Not Have a Web Performance Problem

mostlystatic
2pts0
www.debugbear.com 2y ago

How Do Chrome Extensions Impact Website Performance?

mostlystatic
1pts0
www.mattzeunert.com 4y ago

My first 10 years as a web developer

mostlystatic
1pts0
www.debugbear.com 4y ago

Anti-flicker snippets from A/B testing tools impact site speed

mostlystatic
1pts0
www.mattzeunert.com 4y ago

Should B2B SaaS businesses accept payment by bank transfer?

mostlystatic
2pts0
www.debugbear.com 4y ago

Show HN: Test how bandwidth and latency impact site speed

mostlystatic
3pts0
calendar.perfplanet.com 4y ago

How does Lighthouse simulated throttling work?

mostlystatic
2pts0
www.debugbear.com 4y ago

Optimizing Core Web Vitals without improving site performance

mostlystatic
1pts0
www.debugbear.com 4y ago

Show HN: HTML Size Analyzer

mostlystatic
3pts1
www.debugbear.com 4y ago

Why does Lighthouse lab data not match field data?

mostlystatic
1pts0
www.debugbear.com 4y ago

Content Security Policy error noise caused by Chrome extensions

mostlystatic
1pts0
featureupvote.com 5y ago

Conducting Customer Interviews

mostlystatic
1pts0
en.wikipedia.org 5y ago

Phlogiston Theory

mostlystatic
2pts0
www.debugbear.com 5y ago

Debugging web performance with the Chrome DevTools Network tab

mostlystatic
1pts0
www.debugbear.com 5y ago

Why is the Google Cloud UI so slow?

mostlystatic
492pts384
www.debugbear.com 5y ago

Understanding Core Web Vitals

mostlystatic
1pts0
www.debugbear.com 5y ago

Website Builder Performance Review

mostlystatic
4pts0
www.debugbear.com 5y ago

Creating a Web Performance Team

mostlystatic
2pts0
www.debugbear.com 5y ago

Building Custom Lighthouse Audits

mostlystatic
1pts0
www.debugbear.com 5y ago

Front-End JavaScript Performance

mostlystatic
1pts0
www.debugbear.com 5y ago

Is the Web Getting Slower?

mostlystatic
2pts0
www.debugbear.com 5y ago

GPT-3 on Web Performance

mostlystatic
2pts0
www.debugbear.com 6y ago

Counting Chrome Extensions – Statistics on the Chrome Web Store

mostlystatic
1pts0
www.debugbear.com 6y ago

Performant Front-End Architecture

mostlystatic
305pts114
www.mattzeunert.com 6y ago

Understanding My Google Cloud Bill

mostlystatic
2pts0
www.debugbear.com 6y ago

How does browser support impact JavaScript bundle size?

mostlystatic
2pts0
www.mattzeunert.com 6y ago

HMRC cancelled my VAT registration, and how it got reinstated

mostlystatic
1pts0
www.mattzeunert.com 6y ago

Reducing Docker image size and cutting Google Cloud costs

mostlystatic
2pts0
www.mattzeunert.com 6y ago

Tips on getting feedback from early users

mostlystatic
2pts0

It's pretty fun, made it to the $1B valuation on my last attempt :)

I read bits of the instruction guide a couple times, but some things that weren't super clear at first:

1. I didn't realize how important it is to raise another round. Is there ever a reason not to? The money bag was a small little thing, and I didn't know to click on it before reading the guide.

2. 90% monthly churn seems pretty bad... but maybe it isn't? Not sure what to do about it, improve the product maybe? Should you be doing marketing before product market fit?

3. At first (when I didn't read the guide) I thought marketers help us get customers. But I think they just reduce CAC?

4. Once you have a larger team it gets very heavy on the "Build" clicking. https://drive.google.com/file/d/1GRpxPfcpAjWem-3gs2Tnd_5xDwF...

5. Do the tasks matter? I never figured out the what the numbers mean. I never deleted any of them - should I?

6. Do ops people do anything?

7. Task velocity is a bit unclear, and the onboarding is only tied to the blue bar if you read the guide. Would be nice to show on hover maybe, and could show some sort of aggregate across your team?

8. Do I get anything for investing in my product? Does the product get better over time in some way? Would be nice to track that.

I love LinkedIn as a founder/developer. It's become my main social network after the Twitter acquisition.

Your experience depends on what show up in your feed. For me, it's mostly developers talking about web performance optimization, small business owners talking about conferences they've been to, people sharing posts or videos they've released... and the occasional post from the local council or someone criticizing Facebook's AI features.

Posting on LinkedIn doesn't necessarily mean bullshitting or low-value content. My two most popular posts are about single-page app performance [1] and TCP slow start [2]. And when I talk to people using our product they mention they have team members regularly sharing my posts in their company (but they might not "like" it on LinkedIn).

I might not be getting thousands of engagements, but there's little point reaching random people who aren't interested in working on the same problems as me either.

[1] https://www.linkedin.com/posts/mattzeunert_client-side-rende... [2] https://www.linkedin.com/posts/mattzeunert_resource-download...

There is some nuance here in that accounts without a standard charge and a free debit card were common before 2016.

The 2016 change seems to be about fully fee-free accounts, i.e. no overdraft charges or similar fees.

Local overrides are super useful for testing site speed:

• Your local setup is likely different from production (not serving from production domains, not using image resize services, using different HTTP compression...)

• You might not be able to run tests on localhost, e.g. if you're an external consultant or working in technical SEO (who often want to give specific recommendations to devs as dev attention is scarce and expensive)

There are still some limitations of testing changes in DevTools:

• Testing a fresh load is a pain (need to clear OS-level DNS cache, need to clear the connection cache in Chrome, need to clear cookies/service worker)

• DevTools throttling doesn't represent server connections accurately (you need to throttle at the OS level for accurate data, which slows down your whole computer and requires admin rights)

WebPageTest [1] and my own tool DebugBear [2] now support experiments to make it easy to try out content changes in a controlled lab environment.

[1] https://product.webpagetest.org/experiments [2] https://www.debugbear.com/docs/experiments

Is this an actual sales objection that comes up? Are potential customers saying that making the code open source would address their concerns, or would the cost to host and maintain the software internally be too high? Would code escrow be an option, so the source only becomes available if you go out of business?

Don't know much either, but I found this Money Stuff story interesting: https://www.bloomberg.com/opinion/articles/2023-01-04/privat...

Someone was CFO at two companies and the auditors only checked the year end balance against his falsified statements. So he transferred money from the other company temporarily to make them match.

"""To avoid detection, Morgenthau doctored African Gold’s monthly bank statements by, for example, deleting his unauthorized transactions and overstating the available account balance in any given month by as much as $1.19 million. [...]

Morgenthau knew that African Gold’s auditor would confirm directly with the bank the actual account balance as of December 31, 2021, as a part of its year-end audit. [...]

Morgenthau deposited more than half a million dollars of Strategic Metals’ funds into African Gold’s bank account on December 31, 2021, because he knew that African Gold’s auditor would confirm the account balance as of that date, in connection with African Gold’s year-end audit. """

https://www.sec.gov/litigation/complaints/2023/comp-pr2023-1...

I wondered about that when reading the Money Stuff article about it a while ago. What should they actually have done differently?

One of the issues was that "she could not share her customer list due to privacy concerns". So maybe JPM could have pushed back against that more?

"""Javice also cited privacy concerns in sharing Frank’s customer data directly with JPMC. After numerous internal conversations, and in order to allay Javice’s concerns, JPMC agreed to use a third-party data management vendor, Acxiom, to validate Frank’s customer information rather than providing the personal identifying information directly to JPMC."""

You pay extra to hide the crime:

""" After the August 3, 2021 Zoom meeting, the Data Science Professor returned a signed version of Frank’s NDA. The Data Science Professor’s usual hourly rate was $300. Javice unilaterally doubled the Data Science Professor’s rate to $600.

[...]

Specifically, on August 5, 2021 at 11:05 a.m., the Data Science Professor provided Javice an invoice for $13,300, documenting 22.17 hours of work over just three days. The invoice entries show that the bulk of his time was spent on the main task that Javice retained the Data Science Professor to perform – making up customer data. The Data Science Professor’s invoice indicated that he performed “college major generation” and “generation of all features except for the financials” while creating “first names, last names, emails, phone numbers” and “looking into whitepages.”

In response to the initial invoice, Javice demanded that he remove all the details admitting to how they had created fake customers – and added a $4,700 bonus. In an email to the Data Science Professor at 12:39 p.m. on August 5, 2021, Javice wrote: “send the invoice back at $18k and just one line item for data analysis.” In total, Javice paid the Data Science Professor over $800 per hour for his work creating the Fake Customer List, which is 270% of his usual hourly rate.

The Data Science Professor provided Javice the revised invoice via email seven minutes later at 12:46 p.m., commenting “Wow. Thank you. Here is the new invoice.” """

https://assets.bwbx.io/documents/users/iqjWHBFdfxIU/rNlNVTl....

No idea. I found the question interesting and looked into Enron a bit. No idea how comparable it is.

December 2, 2001 – Enron files for bankruptcy

February 19, 2004 – Jeffrey Skilling surrenders to the FBI, released on $5 million bond

January 30, 2006 – Trial starts

May 25, 2006 – Jury returns verdict

October 23, 2006 – Skilling sentenced

December 13, 2006 – Request to remain free during appeal denied, prison sentence begins

Regarding "4 seconds wasted" per visit: HTTP Archive also publishes real-user performance data from Google, and only 10% of desktop websites take 4 seconds or more to load. (And I think that's not the average experience but the 75th percentile.) https://httparchive.org/reports/chrome-ux-report#cruxSlowLcp

The Google data uses Largest Contentful Paint instead of Speed Index, but the two metrics ultimately try to measure the same thing. Both have pros and cons. Speed Index goes up if there are ongoing animations (e.g sliders). LCP only looks at the single largest content element.

When looking at the real-user LCP data over time, keep in mind that changes are often due to changes in the LCP definition (e.g opacity 0 elements used to count but don't any more). https://chromium.googlesource.com/chromium/src/+/master/docs...

Desktop bandwidth is improving over time, but as I understand HTTP Archive is still using a 5 Mbps cable connection.

From their FAQ/changelog [1]:

19 Mar 2013: The default connection speed was increased from DSL (1.5 mbps) to Cable (5.0 mbps). This only affects IE (not iPhone).

There was another popular article on HN a while ago [2], claiming mobile websites had gotten slower since 2011. But actually HTTP Archive just started using a slower mobile connection in 2013. I wrote more about that issue with the HTTP Archive data at the time [3].

[1] https://httparchive.org/faq [2] https://www.nngroup.com/articles/the-need-for-speed/ [3] https://www.debugbear.com/blog/is-the-web-getting-slower

I'd consider expanding more on the freelance work you did through Upwork. What problems did you solve for your clients and what technologies did you work with?

I wonder how real the "not relieved by morphine is", or what that means exactly. Looked into this a while back and only found this source [1]:

Intravenous access was obtained and 15 mg of morphine was given slowly. Over the next five minutes very little pain relief occurred.

[...]

A further 7.5 mg of morphine was given intravenously 15 minutes after the first dose, but again this produced little relief. Over the ensuing 15 minutes a further 7.5 mg of morphine was injected intravenously, which eventually reduced the pain to a tolerable level.

[1] https://onlinelibrary.wiley.com/doi/abs/10.5694/j.1326-5377....

DebugBear | Web Performance Advocate / Technical Writer | REMOTE (UK-ish working hours) | Budget: $60k - $100k a year

DebugBear helps companies monitor and optimize the speed of their websites. Typical users of our product are front-end developers, technical SEOs, and business owners.

We’re looking for someone who wants to develop a deep understanding of web performance and create technical content on this topic. For example, you could write an in-depth guide on how to optimize the Largest Contentful Paint metric [1] or investigate the impact Chrome extensions have on website performance [2].

DebugBear is a small business with two people currently working full time. You will be working directly with me (the founder) and have a big impact on how we grow and reach more customers.

Fundamentally this is a growth marketing role, but we really value high-quality technical content. Writing is the core part of this role, but if you're interested it can also include supporting our customer with site speed issues or building free tools as part of our marketing efforts.

Ideally you will have professional experience with both front-end development and technical writing.

I'm still finalizing the job spec and interview process – will get that done later this week. If this role interests you, you can email matt at debugbear.com and I'll send you more info when it's ready.

[1] https://www.debugbear.com/docs/metrics/largest-contentful-pa... [2] https://www.debugbear.com/blog/chrome-extension-performance-...

In June 2021 the managing director owed the company almost £1.1 million, up from £924k in 2020. Not sure how meaningful the assets are. (Update: I think these are unpaid distributions to the LLP members.)

£2.8 million in turnover in 2018 though, £2.1 million of that from outside the UK.

There's also a parent company (Hadleigh PVT Limited) that indirectly owns the business. And the parent company paid £192k in rental income to Gray & Farrar in 2018. It is all quite weird, e.g. in 2013: "strategic marketing and business promotion costs have been charged at arms length by a business wholly owned by one of the partners"

2016 accounts say the principal activity was matchingmaking services.

I found your question interesting and found this article: https://www.jstor.org/stable/27739679

The advent of automobile use in the early 20th century brought about a measurable rise in total numbers of highway deaths and injuries. However, the automobile's toll on human life and limb was probably not extravagantly greater than the toll exacted by the combination of steam- and horse-driven travel methods it displaced

From skimming the article, it seems like motor vehicle fatalities in NYC in the 1990s were similar to total traffic fatalities in the early 1900s, even though the population almost doubled.

I'm assuming motor vehicle fatalities includes pedestrians hit by motor vehicles. There could still be additional deaths today from things like streetcars, horses, or ox carts, but I feel like those would be low.

I took a quick look, but can't really conclude anything.

This is the relevant document, published in July 2021 like the article refers to: https://ec.europa.eu/info/sites/default/files/fueleu_maritim...

In order to limit the administrative burden, in particular that of smaller operators, this Regulation should not apply to wooden ships of a primitive build and ships not propelled by mechanical means and focus on ships with a gross tonnage above 5 000. Even though these latter ships represent only approximately 55% of all ships calling at ports under the Regulation (EU) 2015/757 of the European Parliament and of the Council, they are responsible for 90% of the carbon dioxide (CO2) emissions from the maritime sector.

This approach strikes a balance between environmental effectiveness and the administrative burden. Broadening the scope to ships above 400 GT (which is the minimum size applicable in international conventions) would bring minimal benefits in terms of emission reductions but would significantly increase the number of regulated entities.

There's no explicit mention of yachts, though I'm not qualified to judge how they might be referred to more formally. There are some explicit exclusions:

This Regulation does not apply to warships, naval auxiliaries, fish-catching or fish-processing ships, wooden ships of a primitive build, ships not propelled by mechanical means, or government ships used for non-commercial purposes

The Transport & Environment report linked in the article seems to disagree with the 5,000 gross tonnage limit:

As a bare minimum, policy-makers should reduce the threshold to 400 GT and include offshore vessels in the shipping proposals

They also say that there are 26 yachts over 5,000 GT that are exempted (compared to 1,459 yachts under 5,000 GT). If that's the case that would mean there's an exclusion applied to "yachts" other than the gross tonnage one.

---

The MRV (monitoring, reporting, and verification) regulation from 2015 mentions this: https://eur-lex.europa.eu/eli/reg/2015/757/oj

However, since this Regulation focuses on maritime transport, it should not establish monitoring, reporting and verification requirements for ship movements and activities not serving the purpose of transporting cargo or passengers for commercial purposes, such as dredging, ice-breaking, pipe laying or offshore installation activities.

So maybe that will apply for the ETS (Emission Trading System) changes as well.

I just checked 5 contracts I had from around 2015, and only one mentioned convictions. Specifically:

The Supplier warrants:

that the Consultant has no criminal convictions which would reasonably affect the Company's and/or the Client's decision to allow the Consultant access to the Location(s), the Client's Systems or to provide the Services;

It's the same in the UK, everything over 33% is called "unaffordable" and you'll fail the affordability checks during referencing. I don't think it's a legal requirement though, just safer for the landlords.

Personally, I've never had a stable income in the UK, so for the last two places I rented I had to pay 12 months upfront.

I'm quite skeptical the 33% threshold makes much sense (though it may be a decent heuristic in most cases).

Compare these two scenarios:

1) Affordable rent: £18k/yr income, £500/mo rent, £823/mo left after tax

2) Unaffordable rent: £30k/yr income, £1000/mo rent, £1005/mo left after tax

#2 is better off financially than #1, assuming costs other than housing are similar [1]. But the 33% affordability threshold will make it harder for #2 to rent than #1.

[1] I think that's broadly the case, but will vary based on circumstances. E.g. childcare is more expensive in London, or you might need a car in a rural area.

DebugBear | Full-stack developer | Remote/Europe | Full-time | https://www.debugbear.com/

DebugBear is a website monitoring monitoring service that provides in-depth reporting on speed and quality metrics. I'm currently running it by myself and am looking for someone who can take on some of the development work.

Tech: TypeScript, Node, Postgres, Google Cloud, React

Email matt@debugbear.com if you have any questions, or apply here: https://apply.workable.com/debugbear/j/F4A854E331/

There's a MicroConf talk from 2013 that discusses some of general traits of a desirable bootstrapped business: https://www.youtube.com/watch?v=otbnC2zE2rw (Notes here: http://www.christophengelhardt.com/jason-cohen-microconf-201...)

Regarding exits, I'd say low technical complexity also helps[1]. If your whole business is built on top of Wordpress it's probably easy for an acquirer to find someone to maintain it. If the product is complex and needs regular updates then they might need to hire an experienced full-time dev, so you need more revenue to make up for that.

Obviously there's a trade-off, and a lot of custom tech also allows you to differentiate.

Update: you might also find this book/podcast helpful https://builttosell.com/

[1] applies to the typical bootstrapped business, there are also high-tech businesses that exit pre-revenue

Hi HN,

Sometimes when looking into why a website is slow I find that the size of the HTML document is half a megabyte or more.

There's a few reasons for this, often JSON hydration state from a single-page app or inline images that are embedded as data URLs.

Other times there's just lots of duplication, for example a page I saw specified 180 image URLs per visible images (to make it super duper double responsive). Duplicated HTML usually compresses well when sent over the network, but can cause long HTML parse times.

I built this tool to make it easier to identify the cause of bloated HTML code.

Not really "fastest-loading", but you can search for "pass" in the full results to see which have the least performance impact: https://www.debugbear.com/chrome-extension-performance-looku...

In terms of additional on-page CPU activity on example.com (and therefore likely on every page):

  1Password +3 ms
  ThinkVantage +5 ms
  Enpass +15 ms
  Bitwarden +25 ms
  KeePassXC +28 ms
  Dashlane +80 ms
  Norton +88ms
  RoboForm +121ms (also delays render by 115 ms)
  LastPass +127 ms (also delays render by 105 ms)
  NordPass +156 ms
  Keeper +206 ms
  Avira +219 ms

Formatters like Prettier can help here. For example, this code contains a function call, because the first line doesn't end with a semicolon.

  let a = 123  
  ({a}= {a: 10})
Prettier will reformat it like this:
  let a = 123(({ a } = { a: 10 }));
You could also use ESLint to enforce semicolons.

The error messages when running code like this aren't very good though.