@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.

alcinnz, to random
@alcinnz@floss.social avatar

Repeating a thought from a week or so ago: Maybe opensource devs & indie creators need our own payment processor?

Stripe's pretty nice, but I'd rather not rely on VC startups. Maybe a cooperative alternative?

To be clear this would be a business endeavor satisfying Visa/Mastercard/etc rather than a technology.

You may argue this shouldn't be needed, but it is. I often see fellow techies overlook this need when proposing Patreon or Bandcamp or (prompting this toot) YouTube alternatives.

alcinnz, to random
@alcinnz@floss.social avatar

Every Phone Should Be Able to Run Personal Website - Rohan D: https://rohanrd.xyz/posts/every-phone-should-be-able-to-run-personal-website/

I also like the idea of pushing to make static webservers a standard feature in every consumer router!

alcinnz, to random
@alcinnz@floss.social avatar

I keep revisiting the concept of designing a visual functional language, & I'm starting to think that maybe I should actually implement it. It'd be a smaller project than my browserdev...

Where you've start with a singular concept of a (pattern-matching) "brick" which can express the entirety of computation by composing them in different ways.

And the editor would include a debugger where you can watch expressions run with random input. I'd be tempted to implement a JIT as well.

1/2

alcinnz, to random
@alcinnz@floss.social avatar

Since I shared plenty of links discussing audio this morning, I think I'll briefly describe how digital audio works.

A speaker or microphone is a fluctuating magnet(s) inside a coil(s) of wire producing or receiving sound waves. Resisters inside a digital-analog-converter can convert digital numbers into voltages for a transister to amplify. Also we can wrap a DAC with a circuit to find the digital number which matches the anolog voltage.

We tend to "sample" audio in 16bits at 44.1khz.

1/?

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

As I plan my next couple metathreads regarding a hardware-browser/communicator (expanding scope!), Opus-compressed (which I believe is a common codec IRL) audio for phone calls was giving me some qualms.

Reading the spec... While it'd certainly need additional hardware in our hypothetical architecture, its nowhere near what I feared!

I guess I'll write a bonus thread sometime soon ensuring I can handle DEFLATE compression!

@vertigo @screwtape I welcome tips!

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

I'm curious how compelling my hardware-Internet Communicator hypothetical is!

So: Given the opportunity to implement TCP/IP, HTML/CSS, (not JS, makes the hypothetical less interesting), Gemini, XMPP, eMail JPEG, PNG, WOFF, Xiph media, DVI, USB, etc from scratch on a novel string-centric CPU (with a couple coprocessors) designed specifically for it... Would you be interested?

Respond to expand on what interests you, or if there's an alternate computer architecture which interests you more.

alcinnz, to random
@alcinnz@floss.social avatar

For decades now we've been authenticating into sites using passwords, a secret shared between the user & the website.

Passwords are fine if you only have a handful, say for the devices you use to interact with these sites or your password manager. But when practically every site we interact with wants us to register an account your not going to create secure passwords... Especially with the misguided "security requirements" on most sites!

Please use a password manager! I endorse Bitwarden.
1/2

alcinnz, to random
@alcinnz@floss.social avatar

While I certainly don't expect everyone to self-host, I think the difficulty of doing so is routinely exaggerated.

I frequently see tools for coping with corporate-scale needlessly treated as necessities.

I promise you: Self-hosting is easy for anyone with modicum of tech talent!
I speak from experience!

And I'm sure it can be made easy for everyone.
ISPs do incur the most unavoidable complications...

alcinnz, to random
@alcinnz@floss.social avatar

Free idea for others to run with (I don't have the time): Visual functional programming!

Drag & drop "blocks" into "(pattern) -> (value) (fallback...)" definitions to define new blocks. Or provide intelligent autocomplete as an option.

That concept should be Turing Complete, & readily graspable (especially with a debugger). Programs written in it could be entirely self-contained.

Main challenge: Hooking up I/O people find meaningful.

I think it fits in @jos 's vision discussed yesterday.
1/2

alcinnz, to random
@alcinnz@floss.social avatar

Something that really strikes me is that there are certain policies which if we can get them adopted could unravel a lot of ideology for the better!

One I know by the term "modeshift" (thanks @notjustbikes !), that is designing our cities for more than just the car! Make other transport choices equally reasonable options, if not more so!

Another I'd posit is a Universal Basic Income. If we're not coerced into capitalism, we'll have more freedom to try other things!

1/2

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

O.K., it seems like there's decent interest in my continue my hardware-browser hypothetical.

Follow-up question: In which direction should I take it? Multi-choice!

Feel free to expand or suggest more in replies!

alcinnz, to random
@alcinnz@floss.social avatar

I believe in the value of files, but I'm not convinced that folders are the best way to organize them.

Files (in open-standard formats) are our most powerful weapon against walled gardens! If you can take your things effortlessly from app to app! Allowing you to switch apps at a whim or combine multiple apps together.

There can be great business risk in not recognizing how mission-critical your files are. How you want them to outlast any particular service or software.

Ooooo, idea!

1/2

alcinnz, to random
@alcinnz@floss.social avatar

There's numerous ways to achieve the task of a "computer mouse", with the design I described yesterday being quite outdated. So what are the common designs today?

Most mice (or wireless "hamsters", lol!) shine a laser light askew at a surface to reveal any roughness it might have. An image sensor rapidly compares the last 2 frames to determine how far the previous has to be shifted to match the next.

Involves a lot of very clever arithmetic, & a "digital signal processor" to run it on!

1/5?

alcinnz, to random
@alcinnz@floss.social avatar

Tonight I'll study the last few of the more trivial networking tools in INetUtils!

After initializing internationalization & parsing commandline flags tftp (literal named "trivial") chooses which port to connect to whilst registering an interrupt handler & initializer a "mode" global before running a REPL referring to a lookuptable of callbacks.

There's other REPL commands in tftp but (after parsing its args) "put" opens the specified file, configures a timer & timeout, ...

1/?

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

Reflecting on the concept of "Situated Software", & simpler platforms like Mu or UXN/Ververa I'm following...

https://100r.co/site/uxn.html

The thing that strikes me (I have seen others suggest this) is that many could do with a higher-level UI model. Some apps need raw I/O, but most don't. And would benefit from letting a wider diversity of people write renderers which actually work for them.

Design work is tricky here though.

1/2

alcinnz, to random
@alcinnz@floss.social avatar

It seems the time to remind you: I'm builing my own browser engines "The Argonaut Constellation"!

I see a need to illustrate an alternate vision for the web if we are to get the improvements we want. I see a need for a more modular engine to aid experimentation both regarding the web & elsewhere.

And well... Someone had to do it!

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

I'm curious: How much interest would there be in the visual functional programming I've been discussing implementing in December? Aiming to design a single graspable & expressive concept covering the entirety of computation! Like a LEGO brick.

It'll include some primitives for showing dialogs, importing/exporting files, generating random input, & TCP/TLS sockets. But I won't develop the stdlib much further than that.

What might you do with it? Vote & ideally expand in replies.

alcinnz, to sircmpwn
@alcinnz@floss.social avatar

SourceHut is a suite of software-project management microservices centred on an OAuth server, common configuration, common branding, & eMail started by @sircmpwn . About as loosely coupled as any suite gets!

I self-host SourceHut components I find relevant to my Argonaut Constellation! For ease of forking it to explore potential enhancements to the web, & for it to actually be fully-functional in my browsers!

I'll keep my synopsis of its mechanics highlevel in fear of writing a userguide.

1/3

alcinnz, to random
@alcinnz@floss.social avatar

This morning I will study a basic FTP client from INetUtils.

After nitializing internationalization & with the aid of a support-library parsing commandline flags, ftp checks some system parameters, possibly registers some interrupt handlers and/or runs a "setpeer" command, & repeatedly prompts for a command.

For each command read via readline or getline it discards empty lines (quitting upon EOF), does some minor parsing, & dispatches to the appropriate command with error reporting.

1/3

alcinnz, to random
@alcinnz@floss.social avatar

I figure RISC32imv running at multiple megahertz would be plenty for decent realtime audio & graphics. Without any external audio & graphics cards! Though the V extension standardizes 128bit vectors, not 32bit like we minimally need.

Meanwhile early home computers are prized for how simple & understandable their OSs are.

Who can paint me a picture of bringing that appeal to risc32imv?

Abstractions might you want over an audio queue & framebuffer?

Programming language? Input? Simplifications?

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

Popquiz: Which component of an OS is the most complex?

I could relate this to my hardware-browser hypothetical, but that's pretty irrelevant.

(I'm leaving off scheduling, since that's as complex or simple as you want it)

alcinnz, to random
@alcinnz@floss.social avatar

Resources I cited for more in-depth exploration of topics I mentioned in my writing on how GPU work:

YouTube Channels:
3Blue1Brown
Retro Game Mechanics Explained
Technology Connections (some of the earliest videos, on CRTs)
Captain Disillusion's VFXCool

Also I referred heavily to Wikipedia since it covers these topics very well, Architecture of Consoles by Rodrigo Copetti, & A Trip Through the Graphics Pipeline by Fabian Giesen.

I like these sources!

alcinnz, to random
@alcinnz@floss.social avatar

Continuing my study of some of INetUtils' more trivial commands...

After parsing commandline flags & an additional arg handling missing usernames rlogin might check which port to use for Kerberos, checks which port to use for login, looks up the terminal being used & its speed to serialize to text, retrieves windowsize, register SIGPIPE handler, initializes event-polling data, possibly performs some Kerberos or Shishi checks via their APIs, reports errors, configures socket, & mainloops.

1/?

alcinnz, to random
@alcinnz@floss.social avatar

If/when I get around to building a desktop engine, I'd build it as a GTK/Qt/etc wrapper around my current work whilst integrating other components like GStreamer, LibPoppler, Ruffle (as a semi-serious joke), & LibShumate. Alongside native form engines I'll build.

A 2nd-tier wrapper would add sidebars & overlays, upon which I can implement largely-platform-independent WYSIWYG editors. As well as a web inspector.

Text selection will be vital for OS-integration, screenreaders, & editing.

1/2

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

Ugh! My debugging tools aren't helping me figure out why Haphaestus is freezing/crashing when I integrate all its pieces together!

They're just saying "Null pointer in the GHC garbage collection!" I've tried GDB, LTrace, & Valgrind.

Help please! I'm willing to pay an experienced Haskeller to get myself unstuck! Or maybe a C dev's better...

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