@ebassi@mastodon.social
@ebassi@mastodon.social avatar

ebassi

@ebassi@mastodon.social

Geek, husband, lover, software developer, Londoner. Not necessarily in that order.

he/him

Proud #GTK and #GNOME dev; member of the GNOME Foundation.

You may remember me for my work at OpenedHand, Intel, Endless, and the GNOME Foundation. Otherwise, you heard about me being a scary person on the Internet.

Opinions are always my own, but if you don't like them that's too bad.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

ebassi, to random
@ebassi@mastodon.social avatar

Why on earth would you design a local IPC/RPC mechanism and use JSON, of all the stupid serialisation formats, as the payload.

JSON is terrible at anything at scale; it's wildly inefficient for constant time access, and the only reason it works at all on the Web is that you can count on an optimised JavaScript engine to paper over the format inefficiencies.

Seriously, folks: go look at how bad the Language Server Protocol is with large data sets.

ebassi, (edited )
@ebassi@mastodon.social avatar

I wrote an established JSON parser and generator, and I would never use it for anything even remotely performance sensitive.

ebassi,
@ebassi@mastodon.social avatar

80% of our local IPC interfaces are full of arrays of string dictionaries, ffs; that's the literal worst case.

ebassi,
@ebassi@mastodon.social avatar

I read these threads going around socials and mailing lists, and I feel like I'm Mugatu from Zoolander: doesn't anyone notice this?

ebassi,
@ebassi@mastodon.social avatar

@JCWasmx86 Sure, when you're on the web anything else is dominated by the network latency and bandwidth; which makes it even worse, because those are not issues on a local IPC. If you're on a 3G connection, traversing an array of objects you don't care about to get to the interesting bits isn't an issue; if you're on an abstract socket, you'll start to notice real quick.

ebassi,
@ebassi@mastodon.social avatar

@dvogel I have been only tangentially involved in discussions about LSP; I know that its implementation inside GNOME Builder has been a point of contention because of performance issues with the format; the allocation-heavy approach necessary while parsing adds a ton of overhead, and requires parsing the whole thing instead of jumping to various sections

ebassi,
@ebassi@mastodon.social avatar

@craftyguy for payload, I'd probably use something that has offsets and lengths upfront, so you can easily get to the data without allocations—or even get the whole payload in a single allocation. Something that supports binary data without encoding it in base64 and validating it as UTF-8, as well.

brooke, to random
@brooke@bikeshed.vibber.net avatar

there really should be a thing like screen or tmux that, instead of having shit-ass horrible keyboard shortcuts, integrates with your GUI terminal to handle backscroll and tab switching in a non-shit way

ebassi,
@ebassi@mastodon.social avatar

@brooke the first thing I learned in screen/tmux was to open a new window so I could run man screen or man tmux and see the list of key shortcuts—because I'll likely be dead long before I learn the random ass button mashing sequence that only somebody with deep seated self-loathing could come up with

zhenech, to random
@zhenech@chaos.social avatar

Do I know someone who knows someone who runs blogs.gnome.org?

https://blogs.gnome.org/markmc/2014/02/20/naked-pings/ says 404, but https://blogs.gnome.org/markmc/ lists that post and has exactly that link again. Seems some redirect rule is broken?

ebassi,
@ebassi@mastodon.social avatar

@lkundrak @zhenech it has been reported to the sysadmins a while ago, but the investigation was inconclusive, AFAIR. I've opened an issue, just in case: https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/1387

ebassi, to GNOME
@ebassi@mastodon.social avatar

Happy GNOME 46 release day!

ebassi, to random
@ebassi@mastodon.social avatar

Ah, yes: the day with 4 hours of work meetings is the perfect day for my ISP to shit the bed and leave me with no broadband

ebassi,
@ebassi@mastodon.social avatar

To the phone’s Personal Hotspot, Robin!

ebassi,
@ebassi@mastodon.social avatar

@ross I'll check again if they cover my area when the current contract ends; the only decent fibre was with Virgin, unfortunately

mcc, to random
@mcc@mastodon.social avatar

Note: In addition to the "fuck you!" to the audience of putting no war in his war show, Tomino supposedly did a "fuck you!" to the suits who financed the show, by— after being denied his request to make a female protagonist— making the protagonist male, then putting him through a long, complex forcefemme storyline that lasts much of the show's arc. I am not joking. It's wonderful.

"Loran! We need you to wear this frilly dress and take feminine posture/voice lessons! World peace depends on it!"

ebassi,
@ebassi@mastodon.social avatar

@mcc Syd Mead's Turn A Gundam mecha design is also very… opinionated, so to speak… but the Master Grade plastic model comes with the very best addition of a cow made to scale, so it automatically wins the contest.

revathskumar, to GNOME
@revathskumar@fosstodon.org avatar

Why software always want to "Restart & Update"?

ebassi,
@ebassi@mastodon.social avatar

@revathskumar Because offline updates prevent leaving opened libraries, plugins, and files around; if a file is opened by any process, the update will still succeed, but the new file won't be used. You'd have to close and restart both those browsers, first, but GNOME Software doesn't know if a package is related to a running application or not.

There's a good explanation here: https://fedoramagazine.org/offline-updates-and-fedora-35/

ebassi, to random
@ebassi@mastodon.social avatar

My day to day cooking vastly improved once I got these tools:

  1. a Microplane; the zesting one is also perfect for quickly and efficiently grating garlic and ginger
  2. a mandolin—just be careful and use cutting gloves or the handle
  3. heat resistant silicon spatula and spoons; super easy to clean
  4. the Japanese powder to solidify frying oil; this one is a complete game changer
  5. digital thermometer; fundamental for meat and oil
ebassi,
@ebassi@mastodon.social avatar

We have the technology, we don’t need to live like savages

ebassi,
@ebassi@mastodon.social avatar

@tante it’s honestly the greatest invention of humankind: turns hot oil into a solid that you can easily dispose of without making a mess

ebassi,
@ebassi@mastodon.social avatar

Speaking of cooking, if you enjoy Chinese cuisine, do yourself a favour and buy Fuchsia Dunlop’s “Every Grain of Rice”; y’all thank me later

ebassi,
@ebassi@mastodon.social avatar

@aarbrk I don’t think so; I’ve seen people saying you can do that on commercial composting facilities, if they also collect used frying oil. It won’t work in your own composter.

sara, to random
@sara@hachyderm.io avatar

Ok I’m doin the thread I said I wanted to do last week. (feel free to mute unless you enjoy a little second-hand drama as a Monday morning treat)

Attn people! Are you job hunting? Does this pic of search results look familiar? Have you ever seen a bunch of job postings like this from Canonical and thought “gee I should apply to one of these”?

I’m here to tell you:

IT’S A TRAP! 🧵

ebassi,
@ebassi@mastodon.social avatar

@panos @sara @me the original commercial product was Launchpad; Ubuntu was mainly the tech demo that you could build on top of that. Once Launchpad failed, Ubuntu became the product. So there was a time when "Ubuntu was about humanity" applied

ebassi,
@ebassi@mastodon.social avatar

@panos What I was saying is that, by virtue of not being the commercial focus, Ubuntu was allowed to ignore the "let's make money" side of things for a while, and that's mainly when it got big, by taking what upstream projects like GNOME and freedesktop were doing in order to make the Linux desktop usable, with Canonical engineers working upstream.

tf, to random
@tf@mastodon.scot avatar

The moment you realise that in multiple computer migrations you lost the source code to a tool you wrote years ago, which you were sure you pushed to git server, so never bothered to backup up anywhere else. But the particular server is long gone. Oh well.

ebassi,
@ebassi@mastodon.social avatar

@tf if you have the binary, you can probably use Ghidra to decompile it: https://ghidra-sre.org/

It's even available on Flathub: https://flathub.org/apps/org.ghidra_sre.Ghidra

federicomena, to random
@federicomena@mstdn.mx avatar

OK, the Mad Max Fury Road soundtrack is actually pretty good for doing releases.

ebassi,
@ebassi@mastodon.social avatar

@federicomena I can also recommend the Pacific Rim soundtrack

ebassi, to random
@ebassi@mastodon.social avatar

Finally landed a bunch of changes in JSON-GLib that I've been working off and on for the past three months, mainly dealing with proper JSON conformance.

Had to undo a lot of generic/extensible code in the tokeniser I lifted out of GLib, in order to get to a decent state; I've also added a whole conformance test suite to ensure that we don't deviate (too much) from RFC8259.

Can't wait to see bugs getting filed because the parser got stricter.

ebassi,
@ebassi@mastodon.social avatar

@alatiera to be fair, I'll likely end up adding an optional "strict" mode to the tokeniser and parser, as a way to bail out on things like empty data, or comments; for anything else, like unescaped control characters or floating point numbers with no leading/trailing zero, I very much doubt anybody ever noticed.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • normalnudes
  • InstantRegret
  • thenastyranch
  • mdbf
  • Durango
  • Youngstown
  • slotface
  • hgfsjryuu7
  • vwfavf
  • rosin
  • kavyap
  • osvaldo12
  • PowerRangers
  • DreamBathrooms
  • anitta
  • magazineikmin
  • khanakhh
  • GTA5RPClips
  • ethstaker
  • cubers
  • ngwrru68w68
  • tacticalgear
  • everett
  • tester
  • Leos
  • cisconetworking
  • modclub
  • provamag3
  • All magazines