HNHacker News
TopNewBestAskShowJobs

mostlystatic

840 karma · joined October 18, 2012

Founder of debugbear.com.

Email: matt at mostlystatic.com

submissionscomments
mostlystatic··on Can I do a degree without prerequisites if I am wealthy?
Open University degrees don't tend to have entry requirements.

> There are no formal entry requirements for this qualification.

> At The Open University we believe education should be open to all, so we provide a high-quality university education to anyone who wishes to realise their ambitions and fulfil their potential.

http://www.open.ac.uk/courses/physics/degrees/bsc-physics-r5...

mostlystatic··on Ask HN: Freelancer? Seeking freelancer? (March 2021)
SEEKING FREELANCER - Remote - Technical Writer / Front-end Developer

DebugBear is a website monitoring tool that helps developers understand and optimize site performance. I'm a solo founder looking for a technical writer to write articles about front-end web performance.

You'll need:

- Experience building front-end apps (e.g. using tools like React/Angular/Vue/Webpack/...)

- Experience writing technical articles

- Basic understanding of web performance

- Some overlap with European work hours preferred

If interested, email matt at debugbear.com and include links to something you've written.

mostlystatic··on Performance Impact of Ad Blockers (2020)
Author here. Most of the negative performance impact comes running the injected JavaScript code, so it will be the same on all websites.

I tested different sites in 2018, but it's harder to see the performance impact of an extension, because variability between tests is larger for more complex pages. https://www.debugbear.com/blog/measuring-the-performance-imp...

Generally the site you're on doesn't matter. Ad blockers are different, since they have a positive impact on sites with ads. Some extensions are site-specific, e.g. Wikiwand. I'm also mentioning Avira as a special case. If I tested each extension on the top 1000 sites I could identify more examples, but don't think it's worth the effort/cost.

> The assumption one might make is that these extensions stack up but I could imagine there could be non-linear effects combining extensions (unless there’s prior research indicating it is linear in all or almost all cases?).

Yeah, if you different extensions add more JavaScript bundles the performance impact just adds up. I've not looked at this in depth, but the 2018 post takes a quick look at combining multiple extensions. https://www.debugbear.com/public/blog/chrome-extension-perfo...

mostlystatic··on Ask HN: Suggest good books on bootstrapping a startup
Since Indie Hackers generally don't take external funding, all the risk is concentrated on the founders. That makes it attractive to focus on established product categories with known demand.

Funded startups are in a better position to take risks and work on innovative products. You don't know if you're building the right thing, and even if you are your potential customers might not see the value right away. Funding allows founders to take a salary while trying to find a market.

I had lots innovative ideas I started working on my product. But in practice the few users I had were all asking for the same types of standard functionality. So I started trying to more directly compete with existing successful businesses.

mostlystatic··on Firebug
This reminds me of two other now-obsolete web debugging tools.

Weinre[1] let you to view the DOM, network requests, and console output when testing sites on a phone. Aardwolf[2] provided an interactive JavaScript debugger, by rewriting the code to add debug hooks.

[1] http://people.apache.org/~pmuellr/weinre/docs/latest/ [2] https://github.com/lexandera/Aardwolf

mostlystatic··on In spite of an increase in Internet speed, webpage speeds have not improved
HTTP Archive uses an emulated 3G connection to measure load times, so of course faster internet for real users won't make the reported load times go down.

Am I missing something?

https://httparchive.org/faq

mostlystatic··on Wirecard files for insolvency after financial hole laid bare
I initially understood this to mean Accenture changed its name as a consequence of the Enron/Arthur Anderson scandal. But Anderson Consulting changed its name to Accenture in January 2001, and the scandal only became public later that year.

Seems like the two companies weren't very close even before that, the name change was required as part of a legal settlement with Arthur Anderson.

https://en.wikipedia.org/wiki/Accenture#Split_from_Arthur_An...

mostlystatic··on How the most popular Chrome extensions affect browser performance
Here are the test results for Dark Reader: https://www.debugbear.com/chrome-extension-performance-looku...

I also briefly mention it in the section on FCP, explaining why it makes sense for the extension to use render-blocking content scripts. https://www.debugbear.com/blog/2020-chrome-extension-perform...

mostlystatic··on How the most popular Chrome extensions affect browser performance
Local news sites tend to be extremely slow and ad-heavy in my experience. So I thought of a medium-sized US city, searched for "Cincinnati news" and picked the top result.

I found what I was looking for, this is the article I ran the tests on: https://www.wcpo.com/news/education/higher-education/miami-u...

mostlystatic··on How the most popular Chrome extensions affect browser performance
Good point about extension code running while rendering is still blocked by the network. That should prevent any user-facing delay.

I just ran a few quick tests with the Top 50 extensions and an NYT article. The charts are ordered by largest median metric value.

https://gist.github.com/mattzeunert/de3c8aedd2936a34eeb88b62...

The Largest Contentful Paint (LCP) chart suggests an interesting phenomenon. Extensions like Dashlane and Evernote appear to slightly increase when that paint happens. These extensions load a large amount of code, but don't block the initial render.

Grammarly does not seem to push up LCP much. Its JS code runs before the page starts rendering, so maybe it is less likely to compete with other code later on.

Normally running code before the page renders would be bad, but if the page is network-constrained at that point it might soften the impact.

mostlystatic··on How the most popular Chrome extensions affect browser performance
I ran the tests 7 times and then took the median. I'll look into quantifying variance more, but for now here's a boxplot for total on-page CPU time. https://gist.github.com/mattzeunert/de3c8aedd2936a34eeb88b62...

I ran tests on example.com, apple.com, and a WCPO news article (for the ad blocker tests).

The biggest performance issue is that extensions just dump large scripts into pages indiscriminately. Most of the time extensions don't do anything differently based on the content of the page.

I also tested a WCPO news article to see the impact of ad blockers. I picked a local news website specifically because they contain a lot of ads. If a page doesn't have any ads the performance impact of an ad blocker will be slightly negative.

What my tests don't pick up is extensions that only run a certain domains. For example, if you run Honey on a shop they support I expect the CPU consumption to increase a lot more.

I wrote a similar article last year, which tests a few other pages as well: https://www.debugbear.com/blog/measuring-the-performance-imp...

mostlystatic··on How the most popular Chrome extensions affect browser performance
I ran most of the tests on example.com, which is easy to render without having a GPU available.

Looking at on-page CPU time for Evernote, 91% is spent just processing JavaScript or HTML. So I expect any benefit of a GPU to be minimal.

mostlystatic··on Easily rename your Git default branch from master to main
There's a GNOME mailing list discussion which suggests the etymology is different.

""" First appearance of "master" in git is in a CVS helper script... Why is that branch called master? Probably because BitKeeper uses "master" for its main branch... But maybe this "master" isn't the same one that's in "master/slave"? """

It then links to a BitKeeper file saying:

"We are then going to modify the file on both the master and slave repository and then merge the work."

https://mail.gnome.org/archives/desktop-devel-list/2019-May/...

mostlystatic··on Performant Front-End Architecture
Oh interesting, I didn't know about stitching the streams together in the service worker!

Do you know what the advantage of that is over serving the full cached HTML page layout and then fetching the content HTML from inside the page?

mostlystatic··on Performant Front-End Architecture
That's a good point, I didn't consider having the browser cache the document. That means you can achieve the same thing with the HTTP cache. (I'm not sure if the retention logic between the service worker cache and the HTTP cache differs much.)

Service workers give you more control about what's in the cache, for example you can serve a stale version of the HTML and then fetch an up-to-date version in the background. But since last year you can also use `Cache-Control: max-age=1234, stale-while-revalidate=86400`, so it should be possible with the HTTP cache as well now.

mostlystatic··on Simple text editor has over 15k monthly users
I use https://bigtextbox.com/ a lot, as a nicer way to leave a note in the browser than doing a Google search.
mostlystatic··on Google Cloud Is Having IO Issues in US-EAST1
Cloud SQL has been down for me for 45 minutes now. The status page still doesn't say, but it says this in the Known Issues for technical support:

"We are experiencing an issue with Cloud SQL instances hosted in the us-east1 region, beginning at Saturday, 2019-12-07 10:00 US/Pacific. Symptoms: Some Cloud SQL instances hosted in this region are becoming unavailable, and are refusing connections. Self-diagnosis: Connections to the Cloud SQL instance are rejected. Workaround: None at this time Our engineering team continues to investigate the issue. We will provide an update by Saturday, 2019-12-07 12:04 US/Pacific with current details."

mostlystatic··on AWS Customers Rack Up Hefty Bills for Moving Data
Yep, I started copying my images to the EU and Asia regions and now it's fine cost-wise. They don't have an Australia region for the container registry though, so launching VMs there is still pricy for me.
mostlystatic··on AWS Customers Rack Up Hefty Bills for Moving Data
I recently started running more Google Cloud VMs in the UK instead of the US. It was costing me £2 a day to run the VMs, but somehow I also paid £12 a day for "GCP Storage egress between NA and EU”.

Turns out that by default Google's Docker container registry only stores the Docker images in the US. So each time I launched a VM the Docker image was downloaded from the US. I wrote more about it here: https://www.mattzeunert.com/2019/10/13/reducing-docker-image...

The billing interface didn't show that the Cloud Storage cost was related to the Docker images. I was investigating my normal Cloud Storage use, but it didn't explain why I was being charged so much. Only after a few days did I get the idea that it might be the Docker images that were causing it.

mostlystatic··on Ask HN: Freelancer? Seeking Freelancer? (October 2019)
SEEKING FREELANCER | London, UK | Remote | Front-end developer

DebugBear is a website performance and quality monitoring tool for developers.

I'm a solo founder and looking for a freelancer who can write articles about web performance and build standalone marketing projects. If that works out you could also work on the main product.

I'm looking for:

- experience building front-end apps (frameworks/bundlers/...)

- experience researching and writing technical articles

- 5-20h of availability a week

Check out these links for the kind of project you might work on: https://www.debugbear.com/blog/measuring-react-app-performan... https://www.debugbear.com/blog/chat-widget-site-performance https://www.debugbear.com/json-size-analyzer

If you're interested, send me an email: matt/at/debugbear.com

mostlystatic··on Free Public Transport in Estonia
> But everyone mostly pays a flat rate for using the whole system each week (within the zones they travel to at least).

I was wondering how widespread travel cards are, since I never bought one personally. If you don't travel much on the weekends you end up paying more.

In 2017 TfL sold weekly, monthly, and annual travel cards covering year-round flat-rate travel for ~0.8m people. Travel card journeys account for about 39% of all journeys.

Maybe it was more common in the past, since travel card journeys dropped around 10% a year from 2015-2017.

https://tfl.gov.uk/corporate/transparency/freedom-of-informa...

mostlystatic··on Trains are more efficient and less polluting than other transportation modes
Fares 6 weeks in advance seem to be around £50, starting from £30 for a slower train.
mostlystatic··on What you need to know before you join a startup
You don't know what future funding rounds there'll be. Maybe you raise a seed investment and then decide to sell the company two years later. Maybe you'll raise 5 more rounds and IPO.

Also, if you sell your own shares the money goes to you, not the company. I guess you could then loan the money to the company, but you'd still be liable for tax.

Going from owning 1% of a 1M company to owning 0.5% of a 2M company isn't unfair. The extra value comes directly from the new shareholders investing their money.

Employees believing their ownership percentage will not change is a problem though, and founders should not suggest that to be the case.

mostlystatic··on Show HN: CoderMirror – Time tracker for developers with a focus on learning
You might want to make the Premium price a bit more prominent, took me a while to find it.
mostlystatic··on Show HN: Realtime Web UI for Chrome Headless
Looks cool! Small UX note: I initially tried to enter a URL to go somewhere, but nothing happened when I pressed enter. Then I saw the "No open tabs" message, but it still took me some time to find the little button with the "+" sign.
mostlystatic··on Show HN: An experimental data-flow analysis tool for JavaScript
I've not considered using IndexedDB before! Loading a large app generates several GB of data, and extracting that data from the tab is actually a big performance issue.

Instrumenting a single bundle is possible, but it's common to have some dependency on third-party JS or script tags in the page HTML.

Chrome has an experimental request interception API for extensions that allows rewriting the response. I think that would be ideal UX-wise.

I'm a bit wary though because that's how I started initially and I ran into a bunch of problems. One issue is running out of memory, the Babel compilation can often take several GB of RAM, and the default V8 memory limit in Chrome is too low.

mostlystatic··on Show HN: An experimental data-flow analysis tool for JavaScript
I'm still trying to figure that out :)

Here are some ideas:

• Debugging: figuring out why a variable or object property has an unexpected value

• Finding relevant code, possibly during onboarding of new devs

• Security: see where insecure values end up at runtime

• Telling BE devs what endpoint is used for a specific part of the UI

The architecture could also enable a few other features, like pausing when a particular value is encountered anywhere in the code.

mostlystatic··on Show HN: An experimental data-flow analysis tool for JavaScript
Thanks, just fixed it.
mostlystatic··on It doesn't have to be crazy at work
I'm also in the UK and my experience is similar.

Part of that may be because I've mostly worked as a contractor, where you tend to be a replaceable cog providing 8 hours of service a day. But most of the permanent employees also went home around 6pm.

I don't think the consequences for going home at the end of your workday are very severe. You don't need to stay late if production isn't down. If production is down at 6pm that shouldn't have happened and you need to adjust your process. At my last permanent role I spent a lot of time telling people to stop deploying the daily build after 3pm. (I understand that there's project managers pressuring them, but that doesn't justify ruining anyone's evening.)

If you can't get your work done during work hours you should fix that, not work longer hours.

mostlystatic··on Keeping your JavaScript bundle size in check
Oh cool! I didn't know about that, will add it to the article.
← PreviousPage 2 of 4Next →