HN user

WinonaRyder

331 karma

I'm an Indie contractor and Open Source coder (10+ years) from the UK who loves React, Go/Golang, TypeScript and Linux.

Get in touch via hn@1li.dev

Posts12
Comments37
View on HN

SEEKING WORK | UK | REMOTE | FULL-TIME | PART-TIME

I'm a full-stack developer and contractor proficient in Go, PHP, JavaScript, HTML, and CSS, with over a decade of expertise. Specializing in React, TypeScript, Go and associated technologies for more than six years.

Location: UK

Remote: Yes

Willing to relocate: No

Technologies: React, etc. (8+ years), TypeScript/JavaScript (8+ years), Go/Golang (10+ years)

Résumé/CV: https://1li.dev/resume

Email: hn@1li.dev

Github: https://github.com/amitybell

YouTube works fine and has for years. Earlier this year Google started blocking some requests and due to the use of a redirect you often need to create a `New Identity` to get around it. It _usually_ helps if you visit the youtube.com homepage first, though.

Thanks. It seems that it simply takes too long to load so the profiling hits the timeout limits. We'll investigate more to see if we can improve the situation.

To expand a little: since the tested sites are not actually connected to oya.to, we don't really know what is and isn't part of the site so end up proxying and optimize every request.

Some sites redirect to different domains or paths e.g. m.example.com or example.com/en-gb. Some sites have ads and other scripts that do polling so the page never really finishes loading, etc.

Sorry for the late reply. The HN reply app doesn't seem to notify post replies...

We'd love to know what URL it was. Over the last week we've fixed a number of failures as well as actually report more failures without you having to click the report.

Those scores seem to be one of said failures. Possibly the site redirects away from the original URL - an issue that should be fixed now.

I'm actually running a service that does lighthouse checks (amongst other things) so nice to see more people focussing on making things faster. You can see the report for your site here, there are some minor issues it found:

Thanks! I'm especially impressed with the spelling check. It works even better than Sublime Text's builtin spell-checker :)

The layout issue seem to be not supporting 320w viewports: it's intentional (analytics, etc.). It would be nice, though, if the tool was able to show something like the amount of users who still use certain screen sizes.

The broken link issue looks like a 302 redirect which isn't a broken link.

This looks quite impressive, how does it work with dynamic (per user) content?

It should work completely transparently. We only render text/html content and like everything else, its keys include cookies so if you send cookies with user-specific content everything should be just fine.

If I have such a vue site for example, do I have to modify anything to get it to work?

You shouldn't need to do anything. We want the whole process to be:

* Sign up * Add your site * Point your DNS at our servers * Forget about it

Of-course you can add page-specific rules or use the (somewhat hidden) API, but everything apart from the the caching and image optimizations are turned off by default for normal users. Search engines and other bots like social networks get a static version of every page requested by default.

The pricing mentions unlimited bandwidth, but limited requests. what counts as a request?

A request is any request that hits our servers (html, scripts, images, api requests). Of-course, we also do things like changing src urls where we can to include our own content-hash, so we can tell the browser to cache it for a long time which reduces the number of requests even if your caching headers are set up perfectly.

Hi Everyone!

Today I'd like to share with you oyato cloud (aka https://oya.to)

We use Google-recommended[1] dynamic rendering techniques and other best practices to automatically optimize your pages and images on a per-page and per-visitor basis. So you can e.g. have your home-page fully statically rendered and everything else as normal like Netflix does/did.

Your React apps and client-side rendered sites are automatically pre-rendered (like SSR) to guarantee search engine and social-network indexability.

Your images are automatically optimized and resized depending the browser window size and image formats it supports.

Even a static server-rendered site like HN can see Lighthouse score improvements[2] :)

[1] https://developers.google.com/search/docs/guides/dynamic-ren...

[2] https://perf.oya.to/?url=https%3A%2F%2Fnews.ycombinator.com

No matter how correct you are, you won't get anywhere by making the other person feel stupid.

I came to the same realization some time after an incident at Uni...

In a Uni class I tried to correct the lecturer about some Unix/Solaris? feature using my Linux knowledge and when he wouldn't agree, I basically ignored everything he taught for the rest of the class.

I think it was maybe something about file systems and IIRC I looked it up after (realizing what a dick I was) and I found that I was indeed correct, but I still feel bad about the way I acted to this day.

Although, in my defense, earlier in the class I had to show a whole bunch of students how to exit Vi/Vim so as you can imagine, I was already starting to feel like some kinda Unix god at that point.

SEEKING WORK

Location: UK

Remote: Yes (only)

Willing to relocate: No

Technologies: React/Webpack/Babel, etc. (5+ years), TypeScript (3+ years), Go/Golang (9+ years), PHP, JavaScript/HTML5/CSS3 (ES5, ES6+, 10+ years), Node.JS, Python, Linux, Docker, Podman etc.

Résumé/CV: Available on request.

Email: hn@sonoya.uk

Website: https://sonoya.uk/

I’m an independent contractor (own ltd company), full-stack/front-end engineer, designer and open source programmer who's been coding for ~15 years.

I'm currently working on cloud proxy/website optimizer https://oya.to/ and font optimizer/host http://woff.cc/

An ideal position would be a fully-remote contract, full or part-time, but willing to negotiate.

Location: UK

Remote: Yes (only)

Willing to relocate: No

Technologies: React/Webpack/Babel, etc. (5+ years), TypeScript (3+ years), Go/Golang (9+ years), PHP, JavaScript/HTML5/CSS3 (ES5, ES6+, 10+ years), Node.JS, Python, Linux, Docker, Podman etc.

Résumé/CV: Available on request.

Email: hn@sonoya.uk

Website: https://sonoya.uk/

I’m an independent contractor (own ltd company), full-stack/front-end engineer, designer and open source programmer who's been coding for ~15 years.

I'm currently working on cloud proxy/website optimizer https://oya.to/ and font optimizer/host http://woff.cc/

An ideal position would be a fully-remote contract, full or part-time, but willing to negotiate.

I know to many this will seem like a pointless, redundant post but having gotten used to Markdown, I find myself having to DDG this page every so often to see what formatting options are actually supported. Surely I'm not the only one?

Anyway... maybe the mods/admins can add a link to it on the submission page? currently AFAIK, the only way to find it is to use a search engine or browse the FAQ page.

We got ours through our insurance provider. It was a template of sort and I had to pour to tonnes of pages, but they provided helpful guides and also had templates for everything from Privacy Policy, T&Cs, Cookies, GDPR, to (separate) Acceptable Use, Sales... and other documents I didn't even think we needed.

They also happen to be a legal services provider, so I don't know if it's standard practice, but it's maybe one other alternative to think about.

The most obvious one I miss (I don't currently only use server-side analytics) is something like screen size. You can do user-agent sniffing to _guess_ what the size of a mobile device is, but it doesn't tell you whether or not you can stop wasting time making your content responsive on a tiny screen that no-one uses anymore.

Source code: https://github.com/zgoat/goatcounter.

The author also gives a rationale for choosing the EUPL (EUROPEAN UNION PUBLIC LICENCE) here: https://www.arp242.net/license.html.

EDIT:

ksec posted this link: https://github.com/zgoat/goatcounter, but, at the time of writing, my comment is higher...

It provides rationale for why GoatCounter exists and comments about _why not_ other solutions like Fathom, Open Web Analytics, KISSS, Ackee, Countly, Analysing log files, Google Analytics, statcounter, Simple Analytics, getinsights.io, statcounter.com. plausible.io/.

Zstandard is awesome!

Earlier last year I was doing some research that involved repeatedly grepping through over a terabyte of data, most of which were tiny text files that I had to un-zip/7zip/rar/tar and it was painful (maybe I needed a better laptop).

With Zstd I was able to re-compress the whole thing down to a few hundred gigs and use ripgrep which solved the problem beautifully.

Out of curiosity I tested compression with (single-threaded) lz4 and found that multi-threaded zstd was pretty close. It was an unscientific and maybe unfair test but I found it amazing that I could get lz4-ish compression speeds at the cost of more CPU but with much better compression ratios.

EDIT: Btw, I use arch :) - yes, on servers too.

I've used GoAccess in the past, but didn't find it a good fit esp. since I prefer JSON logs. I don't know if it supports this - maybe I didn't read enough docs - but at the time, I remember it was easier to spend an hour whipping up a tool in Go that did exactly what I wanted.

As for loki, it's a separate server but the setup takes maybe 10-30 minutes of reading some docs, maybe changing some config files and the systemd unit file to keep it up and running is less than 10 lines (most of which is boilerplate).

Of-course I have the benefit of a client library so I can just call a function on a struct at the end of a request with no need to worry about serializing the relevant data into some predetermined format, compression, etc.

We love JSON logs and previously just sent most of it to systemd's journald and use a custom tool to view them. But maybe a year ago Grafana released https://github.com/grafana/loki and we've been using it on https://oya.to/ ever since.

IIRC, the recommended way to integrate it with Grafana is via promtail but we weren't too keen on the added complexity of yet-another service in the middle so we developed a custom client library in Go to just send the logs straight to Loki (which we should probably open source at some point).

I don't think there's any fancy graph integration yet, but the Grafana explore tab with log level/severity and label filtering works well enough esp. since they introduced support for pretty printed JSON log payloads.

SEEKING WORK

Location: UK

Remote: Yes (only)

Willing to relocate: No

Technologies: React (5+ years), TypeScript (3+ years), Go/Golang (9+ years), PHP, JavaScript (ES5, ES6+, 10+ years), HTML5, CSS3, Webpack, Node.JS, Python, Linux, Docker, Podman etc.

Résumé/CV: Available on request.

Email: hn@sonoya.uk

Website: https://sonoya.uk/

I’m an independent contractor (own ltd company), full-stack/front-end engineer, designer and open source programmer who's been coding for ~15 years.

I'm currently working on cloud proxy/website optimizer https://oya.to/ and an ideal position would be a fully-remote contract, full or part-time, but willing to negotiate.

Location: UK

Remote: Yes (only)

Willing to relocate: No

Technologies: React (5+ years), TypeScript (3+ years), Go/Golang (9+ years), PHP, JavaScript (ES5, ES6+, 10+ years), HTML5, CSS3, Webpack, Node.JS, Python, Linux, Docker, Podman etc.

Résumé/CV: Available on request.

Email: hn@sonoya.uk

Website: https://sonoya.uk/

I’m an independent contractor (own ltd company), full-stack/front-end engineer, designer and open source programmer who's been coding for ~15 years.

I'm currently working on cloud proxy/website optimizer https://oya.to/ and an ideal position would be a fully-remote contract, full or part-time, but willing to negotiate.

Too many to reply to directly, but thanks for all the links and advice. I will try to contact the maintainer via email and see what happens.

A little more context:

This project is a library that can appear in internet-facing servers and when the bug is triggered, the process can proceed to consume 100% CPU.

In my case I found it due to bots, but they only triggered it by accident.

Like another comenter, I'd say mine was "not starting". More specifically writing. I often get ideas about articles I'd like to write but I just end up talking myself out of it.

This past Sunday morning - like countless others - I woke up with an idea comparing JavaScript ES5/ES6 to vanilla ice of various quality and decided to just post it in all its shitty glory on Twitter. It didn't go viral and I didn't gain any fame from it... but I wasn't the only one that found it funny (my biggest fear crushed) so it's a start, I guess.