HNHacker News
TopNewBestAskShowJobs

saghul

1,119 karma · joined April 17, 2011

Fellow Jitster, working on Jitsi.

https://bettercallsaghul.com

submissionscomments
saghul··on Docusaurus 2.0
I introduced Docusaurus as the way to finally unite all documentation for our project and it has been a huge success.

Our project consists of many components and we used to have a bunch of md files scattered around. Due to the MD-native nature of Docusaurus migrating from that to a Docusaurus site was really easy.

Even though a lot of customization is possible, the default theme is a great start and made our docs looks much more polished.

The thing I liked the most is that it's now a lot easier to contribute to it, and a lot of internal and external developers are adding content to it, which at the end of the day, is the important part.

Last, y discovered unDraw (https://undraw.co) through Docusaurus and it has been an invaluable resource!

Thanks Docusaurus team! <3

saghul··on Linux 5.19
That's not comparable. Asahi is about running natively on the hardware.
saghul··on I regret my website redesign
Thanks for sharing your experience. The new site looks great btw! I see many negative comments here, but hey, live and learn!
saghul··on ffsend: A fully featured Firefox Send command line client
Looks like there is a maintained fork here: https://github.com/timvisee/send
saghul··on React Native 0.69
Navigation for example. If you use react-navigation stack and native-stack may look very similar but have tons of hidden implications.

If you are presenting a screen modally on iOS you cannot present a Modal component over it for example. This requires that you understand (or at least research) platform specific behavior.

Even so, I’d take RN any day of the week.

saghul··on Copilot sells code other people wrote
Even if it was trained with OSS licenses, some of them require proper attribution, which copilot doesn’t do.

Now, where the threshold is for substantial derivative work in order to require attribution is an interesting question.

saghul··on Why is Apache clinging to OpenOffice?
LibreOffice does have some form of online version: https://www.libreoffice.org/download/libreoffice-online/
saghul··on Bringing Forward the End-of-Life Date for Node.js 16
Chill. To err is human. They are communicating this welll in advance so everyone has about a full year to update to Node 18 LTS. I’d say that is a very reasonable timeframe.
saghul··on Happy Birthday, Libera Chat
I don't see anything wrong with that.

I've been part of a community which forked in the past and it was so cringe (at least to me) for one of the sides to keep explaining the origins and such on each and every presentation even 10 years later.

Anyone who knew Freenode knows the story already, and does any newcomer need to know, on that very blog post? I'd say no.

saghul··on Happy Birthday, Libera Chat
While I'm no longer using IRC, I'm happy to see Libera.Chat succeed. Godspeed!
saghul··on Yalc, a NPM link which works
npm link creates symlinks, and this is not supported by the Metro bundled used in React Native, so this could be a way to help there for example.
saghul··on Mozilla Thunderbird Beta now supports Matrix chat
Way back when, when it was still called Google Talk, wasn’t it almost just XMPP? Alphabet wasn’t even a thing it was still Google. You can take off your tinfoil hat now :-)
saghul··on QuickJS JavaScript Engine
QuickJS is awesome, simple to use and very easy to integrate.

Over the past few years I slowly built a small JS runtime using QuickJS as the engine and libuv as the platform layer, amongst other things, in case anyone wants to take a look: https://github.com/saghul/txiki.js

saghul··on QuickJS JavaScript Engine
Note that the GH repo is just a mirror, development happens elsewhere. From the copyright notes there is another main developer involved, Charlie Gordon.
saghul··on Native Matrix VoIP with Element Call
We are currently using it for the “your microphone is noisy” notification feature, not for actual noise detection.

With Audio Worklets or insertable streams, however, it should be possible to apply it to the stream im real time, though we haven’t tried it yet.

saghul··on RasPBX Installation for Beginners
That sounds actually like a good idea. Do you have a resource on how to get started?
saghul··on Magit, the magical Git interface (2017)
> Like how easy is it to selectively stage portions of files in the git CLI?

git add -p

Then you can decide if each hunk is staged or not.

saghul··on Session Encrypted Messenger
Checkout Snikket if you haven't yet: https://snikket.org/ - Not affiliated, just a fan of Matt's efforts here.
saghul··on OpenBSD's Pledge and Unveil from Python
What would be the right way to do it? A plain old Python C extension?
saghul··on An Overview of Docker Desktop Alternatives
Is there a Docker Desktop for Linux? I don't see one here https://www.docker.com/products/docker-desktop (the Linux link takes you to Docker Engine).

The article presents "Docker Desktop Alternatives", then says "Minikube requires a VM. False" but it looks like on the platforms being compared here (macOS and Windows, since Docker Desktop is only available there) it does use a VM.

Did I get this wrong?

saghul··on Show HN: Blur Webcam Background on Linux
Kinda. Google uses the WebAssembly SIMD extension for their segmentation. Not sure if they have a fallback on Firefox, but if they do, it most likely won't perform the same way.
saghul··on Txiki.js: Tiny JavaScript runtime built with QuickJS and libuv
For the moment the intended use case is experimentation, by using the tjs binary as the runtime.

Embedding is something I’d like to get to, eventually.

saghul··on Txiki.js: Tiny JavaScript runtime built with QuickJS and libuv
No defined use case really, tinkering :-)

Initially I just wanted to try out some other ways to build a JS runtime, now that the web is much more advanced than it was when Node was created.

Shortly after I realized my goals aligned very well with those of Deno: provide web APIs where possible on a CLI / server runtime. Granted Deno is a much bigger beast.

saghul··on Txiki.js: Tiny JavaScript runtime built with QuickJS and libuv
Oh nice to see this here! I’m the author of this little amalgamation, happy to answer any questions :-)

I just love small (for certain definitions of small) C libraries and got hooked to QuickJS the moment I tried it. After a few weekends of tinkering I had “quv” which was just QuickJS running on the libuv event loop. Later on I integrated curl and implemented xmlhttprequest on top of it. The last large change I made was to embed wasm3 as the WASM / WASI runtime.

I haven’t had the time to continue working on it for a while, seeing this here might be the encouragement I needed! :-)

saghul··on CVE-2021-22555: Turning \x00\x00 into 10000$
TheFlow is also the person behind many of the PS Vita exploits. Amazing stuff!
saghul··on Ask HN: How to reduce back and forth in code reviews?
May sound a bit generic, but here is what I advise junior devs when joining the team:

“Don’t just read the code guidelines, try to search the ciérnase for a similar case to the problem you are solving and apply the same principles. Generally, look around and make your code blend. Then review your own PR, sometimes it’s easy to spot mistakes when looking at just the diff.”

In addition, I tend to repeat myself a ouch times so they “get it”, but I do expect not to have to point out the same mistake over and over again, so pay attention to what’s pointed out during review and remember it for future reviews!

saghul··on Audacity 3.0
Thanks Audacity team and contributors! I love to see major releases from tools I've been using for decades. So dependable, always ready to save my bacon when I need it.
saghul··on FOSDEM 2021
Jitsi does have recordings :-)
saghul··on JaaS: The team that builds Jitsi can now also run it for you
Hard to tell. We're calling it beta because we may change how the feature works, not because it doesn't work properly yet.
saghul··on JaaS: The team that builds Jitsi can now also run it for you
Please reach out. We are happy to talk about it and find ways to accommodate other use cases.
← PreviousPage 3 of 8Next →