@alcinnz@floss.social
@alcinnz@floss.social avatar

alcinnz

@alcinnz@floss.social

A browser developer posting mostly about how free software projects work, and occasionally about climate change.

Though I do enjoy german board games given an opponent.

Pronouns: he/him

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

DuncanWatson, to internet

Does anyone else find that has now just become the comment section of a newspaper? That sewer you just don't read because you have some self-love.

alcinnz,
@alcinnz@floss.social avatar

@DuncanWatson Pro-tip: Especially don't read the comment section on a news article about an event you've personal witnessed! That only makes the sewer more self-evident!

alcinnz, to random
@alcinnz@floss.social avatar

Some notes on my language:

  1. I do use jargon to aid with clarity & concision. In my blogposts I make an effort to add links to any jargon I write, & feel free to ask for definitions. Also, jargon helps me gloss over all the parsers I see in my studies.

  2. When I use the term "edgecase" that's me asking the question "How do I handle it when these 2 things meet?" If you use the term to discard potential users, shame on you!

1/2

alcinnz,
@alcinnz@floss.social avatar
  1. I mostly say "software freedom", but I alternate between "free software" & "opensource" because I don't want to be in that decades-old new-true-scottsman argument.

  2. I don't consider "Linux" to be a reasonable way to demarcate operating systems, & I think grouping all this choice under a single brand is actively harmful to our growth. If I want to generalize I find "freedesktop" suits my needs well. I say "Linux" regarding hardware support & the mechanations of how that piece works.

2/2

alcinnz, to random
@alcinnz@floss.social avatar

I'll see how many more of Shadow's authorization/accounts commandline tools I can cover this morning...

After initializing internationalization, some vars & SysConf id validates the count of commandline args (possibly ouputting usage), retrieves the process's user & group IDs followed by the corresponding password/group entries outputting them if non-NULL, possibly iterates over the user's groups looking up & outputting each of them, & cleans up.

1/?

alcinnz,
@alcinnz@floss.social avatar

After initializing LibShadow & validating at least 2 commandline args are given newuidmap looks up the PID for the first argument, opens its /proc/ directory, finds the user's password entry, performs validations, parses remaining commandline args as ranges, validates each of those ranges, & outputs them to the proc dir's uid_map file.

newgidmap works very similarly!

Unless the command's disabled, after initializing LibShadow & internationalization grpunconv has a special -R case.

2/?

alcinnz,
@alcinnz@floss.social avatar

Then it parses the remaining -h commandline flag, checks that /etc/gshadow is present & can be opened under a lock, & linear-scans that file to find the entry to overwrite setting the password.

After init'ing i18n logout might fork if the debug flag is set, initializes logging & LibShadow, & repeatedly iterates over the utmp[x] file checking if they're allowed to be logged in at this time. If not it forks, sends a message to their terminal, killing their process, & syslogging.

3/3 today!

alcinnz, to random
@alcinnz@floss.social avatar

From my latest blogpost...

An Introduction to the fr CSS unit - Robin Rendle @ CSS-Tricks: https://css-tricks.com/introduction-fr-css-unit/

Evolution of the scrollbar - Sébastien Matos: https://scrollbars.matoseb.com/

A Guide To The State Of Print Stylesheets In 2018 - Rachel Andrew @ Smashing: https://www.smashingmagazine.com/2018/05/print-stylesheets-in-2018/

C Recursion - Programiz: https://www.programiz.com/c-programming/c-recursion

alcinnz, to random
@alcinnz@floss.social avatar

How To Create Image Descriptions For Red Carpet Looks - Veroniiiica: https://veroniiiica.com/writing-image-descriptions-for-red-carpet-outfits/

alcinnz, to random
@alcinnz@floss.social avatar

How To Survive Your Project's First 100,000 Lines - Evan Ovadia: https://verdagon.dev/blog/first-100k-lines

100k LoC is where I start getting really concerned about software complexity. But Ovadia's writing a compiler, which is well suited to taking complexity off other projects!

As for my browserdev strategies: I lean heavily on Haskell's typesystem more than I use assertions. Unexpected codepaths get debugging statements.

Haskell's designed specifically to avoid non-determinism!

1/2

alcinnz,
@alcinnz@floss.social avatar

I have unittests (could have more), which I find valuable to help me build the individual pieces. But end-to-end are the more exciting, where I have webpages I want to test against!

I have clear module boundaries which helps both me, & others reusing my code.

Ovadia advises prioritizing dev velocity, & isn't keen on Haskell's inflexibility. Personally I find Haskell very expressive & it's errors helpful. It has good compiletimes (not great) & memory safety.

2/2

alcinnz, to random
@alcinnz@floss.social avatar

Beware of AI pseudoscience and snake oil - Baldur Bjarnason: https://www.baldurbjarnason.com/2023/beware-of-ai-snake-oil/

alcinnz, to random
@alcinnz@floss.social avatar

The Internet Isn’t Meant To Be So Small - Kelsey McKinney @ Defector: https://defector.com/the-internet-isnt-meant-to-be-so-small

alcinnz, to random
@alcinnz@floss.social avatar

A few developer console tricks - Go Make Things: https://gomakethings.com/a-few-developer-console-tricks/

alcinnz, to random
@alcinnz@floss.social avatar

Quickly resize a video with FFmpeg/Vaapi for Mastodon - Paolo Melchiorre: https://www.paulox.net/2023/05/03/quickly_resize-a-video-with-ffmpeg-for-mastodon/

alcinnz, to random
@alcinnz@floss.social avatar

10 Million Blacklight Scans Later, Here’s What You Found - Maria Puertas @ The Markup: https://themarkup.org/blacklight/2023/05/03/10-million-blacklight-scans-later-heres-what-you-found

alcinnz, to random
@alcinnz@floss.social avatar

Prompt injection explained, with video, slides, and a transcript - Simon Willison: http://simonwillison.net/2023/May/2/prompt-injection-explained/#atom-everything

alcinnz, to random
@alcinnz@floss.social avatar

I don’t hate it though - Andy Bell: https://andy-bell.co.uk/i-dont-hate-it-though/

ghostzero, to random

netcat, 1995

alcinnz,
@alcinnz@floss.social avatar

@gsuberland @fribbledom @ghostzero I miss having 6m channels...

(Yes, I know they're still around [I enjoy them], just making a point that these complaints are from another era. Seems we can never please everyone)

seachanger, to random

Rad things about mastodon we take for granted

CW - these are amazing

Editing posts - hard to go back once you taste this

Alt text as the norm - total community enforcement

Replies - option to delist them so we don’t clog the feed

Timeline curating - we have near infinite timeline options with filters, lists, local, federated, hashtags etc

Muting - we can choose a time period!

Character count - 500 let’s you get an effing thought out

Ownership - we can own the damn thing ourselves

alcinnz,
@alcinnz@floss.social avatar

@yatil @notjustbikes @EposVox @seachanger My tip specifically for your images: Naming the location as the description should be enough. That fits the purpose of your images!

alcinnz, (edited ) to random
@alcinnz@floss.social avatar

Proofreading my code for inserting extra text into the styletree, I've found a few corrections to make already!

  • Corrected from display: list to display: list-item to trigger generation of "list markers".
  • Added implicit counter-increment: list-item to that display type.
  • Added support for list-style-position: outside; marker-side: match-self/parent;. Involved parsing direction property.

https://git.argonaut-constellation.org/~alcinnz/haskell-stylist/tree/main/item/src/Data/CSS/Preprocessor/Text.hs

alcinnz,
@alcinnz@floss.social avatar

Few more fixes, which should really help my auditory browser "Rhapsode":

  • Found a bug where counters weren't getting inherited unless they were being modified. This fix should really help Rhapsode's in-page navigation!
  • I now pay attention to @counter's speak-as property. If caller supports the more general property.
alcinnz,
@alcinnz@floss.social avatar

Finally, I've made a tweak to ensure newline-collapse settings are preserved during whitespace collapsing!

Tomorrow I think I'll publishing this new release of Haskell CSS Syntax!

khm, to random
@khm@mastodon.sdf.org avatar

deleted_by_author

  • Loading...
  • alcinnz,
    @alcinnz@floss.social avatar

    @khm Good to have this clarity, the top-of-thread could be interpreted as overly toxic!

    As someone who semi-regularly uses Firefox (behind GNOME Web or my own not-ready-yet handiwork; ie not Chrome) I would say there are things to complain about regarding Mozilla & Firefox. I find much of their behaviour quite tragic & self-sabotaging.

    But FakeSpot isn't one, at least yet, & I prefer to focus on "What are we doing about it?"

    alcinnz,
    @alcinnz@floss.social avatar

    @khm Fully agreed!

    The "it doesn't support all the same web standards Chrome does" complaints bothers me a lot as an amateur browserdev. I can't compete on that metric at all, while others struggle!

    alcinnz,
    @alcinnz@floss.social avatar

    @khm Well, there's a massive disconnect when I discuss this with Chrome devs who are asking for it.

    They (or at least the one I've discussed with) think browsers have to be as complex as they've made them, & when we suggest that the web should have tighter scope they say that there are devs who need these features.

    Personally I question whether the web has to be the one to deliver those features...

    evan, (edited ) to random
    @evan@cosocial.ca avatar

    It is bad business to start your own protocol when there's an existing open standard.

    It's like making a new brand of air.

    Open standards are a commons. They're a gift. Some idealists and eggheads have already worked out the hard parts. You get that part of the stack 100% free.

    Why in the world would you put any effort whatsoever into replicating the free part?

    Work on the other parts. The parts people care about and pay for.

    alcinnz,
    @alcinnz@floss.social avatar

    @Andres @evan How about "never work on private standards"?

    You have no right to refer to it as a standard if you don't seek external input & implementations!

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