@federicomena@mstdn.mx avatar

federicomena

@federicomena@mstdn.mx

Co-fundador de GNOME, ciclista, carpintero, cocinero, cartógrafo, jardinero, él. :flag_bisexual: :flag_pansexual:

Trabajo en #gnome, #svg (mantengo librsvg), infraestructura de #accesibilidad.

GNOME co-founder, cyclist, woodworker, cook, cartographer, gardener, he/him. :flag_bisexual: :flag_pansexual:

I work on #gnome, #svg (maintainer of librsvg), #accessibility infrastructure.

Xalapa, México.

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

federicomena, to random
@federicomena@mstdn.mx avatar

Who's gonna port xroach to the Apple goggles thing so it looks like you have bugs crawling on the outside?

kornel, to random
@kornel@mastodon.social avatar

It's surreal how slowly time moves in the world of C compilers.

Today there are still active projects that are hesitant to move past C89, and C99 is still the "new" standard.

The C99 standard has been released before the first public Mac OS X and Windows XP. It's older Itanium and the x86-64 instruction set. It predates iPod, Game Cube, first ever Xbox, and Nokia 3310.

Entire platforms lived and died in the meantime, while C programmers still can't be sure if they can rely on the new C99.

federicomena,
@federicomena@mstdn.mx avatar

@kornel Our technical debt is measured in centuries.

federicomena, to random
@federicomena@mstdn.mx avatar

Welp. Someone found a small regression in librsvg. That bit of code has 100% test coverage, and 100% branch coverage (eyeballed; rustc doesn't emit that yet). But the interactions between the possible values of the objects which the code is handling... are handled wrong.

An easy fix, and I'm adding a few tests, but it gets me thinking.

federicomena, to rust
@federicomena@mstdn.mx avatar

Guess what! Librsvg is now available as a crate on crates.io!

https://crates.io/crates/librsvg/2.57.0-beta.2

The plan is to follow GNOME's release schedule, with a new minor release every six months, and micro releases as needed. The final 2.57.0 will be available in early September, per https://wiki.gnome.org/FortyFive

This is thanks to @sophie and @brainblasted's support and encouragement.

Testing is much appreciated! I'm still nailing down the release process for this.

federicomena, to rust
@federicomena@mstdn.mx avatar

Hey, newbies - do you want to implement a relatively simple feature for librsvg? Someone just requested support for the image-rendering property, which lets you control whether embedded images are pixelated or smooth. Implementation notes at https://gitlab.gnome.org/GNOME/librsvg/-/issues/985

federicomena, to random
@federicomena@mstdn.mx avatar

Peeps, do you know any good blogs/studies/papers/whatever on converting old/unsafe C++ code bases to modern C++?

federicomena, to random
@federicomena@mstdn.mx avatar

Did y'all notice librsvg's CVE from right before GUADEC?

Zac Sims just published a very nice analysis of how the Canva engineers found the bug.

When URL parsers disagree: Discovery and walkthrough of CVE-2023-38633 in librsvg - https://www.canva.dev/blog/engineering/when-url-parsers-disagree-cve-2023-38633/

federicomena, to random
@federicomena@mstdn.mx avatar

TFW you "optimize" code to avoid an allocation and a memcpy, and the new code is slower.

(Rust's HashMap is GOOD.)

federicomena, to random
@federicomena@mstdn.mx avatar

I have a 230,000-line log file that looks like Lisp (stuff inside nested parentheses), but is not Lisp.

Emacs didn't finish indenting the file after 3 hours, and seems like it's taking 2 seconds per line after around 60,000 lines.

Short of writing my own custom indenter, is there a tool that can take something that looks like

(this
(and
(this plus
(some more of this)
)
)
)

And will turn it into

(this
(and
(this plus
(some more of this)
)
)
)

?

federicomena, to random
@federicomena@mstdn.mx avatar

Just think of all the CVEs safely stored in GitHub's Arctic Code Vault. If we need to reconstruct civilization from it, we'll at least have fun fixing them again.

federicomena, to random
@federicomena@mstdn.mx avatar

It used to be that installing a program that a friend had written was a royal pain in the ass if it was not yet packaged by distros.

Now I just do "flatpak install". And. It. Always. Works.

federicomena, to random
@federicomena@mstdn.mx avatar

Librsvg 2.57.90 is out! This is the first beta release for GNOME 46.

Use Rust image loaders instead of gdk-pixbuf / libpng / libjpeg-turbo. Support 'ch' CSS units, and also include all the fixes from 2.57.1.

Using Rust image loaders also means that Windows and MacOS builds should be easier, since now they don't have to have a working gdk-pixbuf just to use rsvg-convert, for example.

https://gitlab.gnome.org/GNOME/librsvg/-/releases/2.57.90

federicomena, to rust
@federicomena@mstdn.mx avatar

Are you a nerd? Would you be able to help with fuzzing librsvg?

https://gitlab.gnome.org/GNOME/librsvg/-/issues/1018 has a bunch of tasks that I'd love for someone to explore.

federicomena, to random
@federicomena@mstdn.mx avatar

Help, my ADHD is rowhammering my memory palace.

federicomena, to random
@federicomena@mstdn.mx avatar

Ada Lovelace watches over the GTK BoF

federicomena, to random
@federicomena@mstdn.mx avatar

Prompt engineering? Is that when you fuck around with your shell configuration?

federicomena, to fedora Spanish
@federicomena@mstdn.mx avatar
federicomena, to random
@federicomena@mstdn.mx avatar

Dear UIs who show me "1 year ago" when it's about something in October 2021... that's not what I think of as "1 year ago".

federicomena, to random
@federicomena@mstdn.mx avatar

Librsvg will use Rust-only image decoders starting on 2.58.0 - https://viruta.org/librsvg-rust-image-decoders.html

Librsvg usará decodificadores de imágenes en Rust desde la versión 2.58.0 - https://viruta.org/librsvg-rust-image-decoders-es.html

federicomena, to random
@federicomena@mstdn.mx avatar

Do you run services written in node.js? Do you have to restart them periodically because their RSS becomes enormous?

federicomena, to random
@federicomena@mstdn.mx avatar

Is there a way to filter out toots when someone posts about thing? 'cause I like their regular posts, but their opinions on thing are bullshit.

federicomena, to rust
@federicomena@mstdn.mx avatar

Rustifying libipuz: character sets - https://viruta.org/rustifying-libipuz-charset.html

Rustificar libipuz: conjuntos de caracteres - https://viruta.org/rustifying-libipuz-charset-es.html

federicomena, to random
@federicomena@mstdn.mx avatar

How times change. Long ago programs tended to have fixed limits for things. Then the GNU Coding Standards came along and recommended avoiding arbitrary limits, and using things like dynamic allocation instead.

Now that everything is under attack and fuzzing and etc., we are putting limits back in everything. Flexible software, able to take advantage of huge machines, but with safety valves.

federicomena, to random
@federicomena@mstdn.mx avatar

Slack has the audacity to pop up a window titled, "Want a productivity boost?" 🙃

federicomena, to random
@federicomena@mstdn.mx avatar

Librsvg 2.58.90 is out! This is the first release that uses Meson instead of Autotools.

This a very early ALPHA release so that distros have time to change their build scripts.

https://gitlab.gnome.org/GNOME/librsvg/-/releases/2.58.90

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