#programmers-off-topic

1 messages Β· Page 5 of 1

cinder karma
#

Tbh I was testing out perfmon last time I was in c# land

#

And ofc perf works if you want to have the worst time

#

"Ah, I enjoy moving my files from windows to Linux to test performance"

safe dragon
#

rider works well for everything except niche things like MAUI which I don't think it even really supports. I've tried using rider but I kept having to work on Blazor WebAssembly and MAUI neither of which rider supported at the time

#

not that visual studio properly supports MAUI either but that's cause MAUI is kind of a disaster in general

cinder karma
#

Yeahhhh

crystal wren
#

I don't think MAUI even properly supports MAUI.

safe dragon
#

it really doesn't

safe dragon
#

we have 1 maui app in production (a customer facing display at cash registers) and despite being a pretty simple application we've had to use a lot of workarounds

#

built our own custom videoplayer cause the one MAUI has only supports Android

#

many UI elements were just completely broken

#

when it crashed or a breakpoint it wouldn't know what to do and say it couldn't find a visual studio instance to debug in somehow and just give up

#

the layout inspector still does not work even today

lethal walrus
safe dragon
#

only the customer facing application

#

the actual cash register is a visual basic .net winforms application

#

so was the customer display for the longest time but then there were request for the display to support 16:9 aspect ratios which was just entirely unfeasible with the old one

#

16:9, multiple language support, support for displaying in foreign currencies...

#

suddenly there was enough desire to replace it

#

the POS itself will remain this old nasty vb .net winforms thing for as long as possible cause replacing that would be an absolute nightmare

#

20 years of archaic features implemented that we don't even remember exist but somehow still function

gleaming harness
#

The content data of type System.Collections.Generic.Dictionary2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] can't be converted to the requested System.Collections.Generic.IDictionary2[[System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].

I'm getting this error while trying to access the Data/Fish to allow fishing past 2am, what should I be doing instead?

young larkBOT
# gleaming harness The content data of type System.Collections.Generic.Dictionary`2[[System.String,...

<https://stardewvalleywiki.com/System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] can't be converted to the requested System.Collections.Generic.IDictionary`2[[System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e>

cinder karma
crystal wren
lethal walrus
#

indeed

#

i have no idea how it thinks it exists

thin estuary
cinder karma
#

checks Twitter after about a month

#

Apparently there is a new major exploit

pliant snow
#

The xz thing?

cinder karma
#

Yeah

pliant snow
#

Yeah its been a big news item

thin estuary
#

xz thing?

pliant snow
#

It was discovered that the maintainer for the xz compressioin algorithm package had been secretly adding in a backdoor over the past few years, which would be exploited when used as part of ssh

#

The backdoor seems to have only been completed, so it's unlikely it's in the wild much, but it's caused a huge fuss about what to do about it, given its such a core package

ivory shadow
#

The whole thing is so wild

bronze idol
#

Buckwild

safe dragon
#

not the kind of package I'd have expected a backdoor in

pliant snow
#

idk if you were to do it, it's one of the perfect ones

cinder karma
#

I just love how it was discovered

strange copper
#

Who is noticing 500ms of lag 😭

cinder karma
#

(I mean, I would, but also like.)

#

we're over here bitching about ns

safe dragon
#

our fuckin clients the second anything happens

cinder karma
#

(500 ms seems insanely long to me haha.)

#

that's like almost half a second!

safe dragon
#

it's exactly half a second even!

pliant snow
#

i feel like i get 500ms of lag even when connecting to my home server lol

safe dragon
#

500 ms delay is unacceptable in most software I've written

pliant snow
#

alright perhaps not

strange copper
#

I guess I don't deal with compression really and don't have a grasp of how long it should take

lethal walrus
#

first time I ever saw that

#

(xz repo)

cinder karma
#

christ

safe dragon
#

a little rough

#

I haven't used a pc since the discovery but I shouldn't forget to update tomorrow evening when I'm at my pc

sand frost
#

Does this only affect linux?

safe dragon
#

pretty much

#

you'd need a very up to date version of xz + a specific patch for openssh

#

I'm not technically supposed to be affected either on arch since it doesn't have the openssh patch but still better to be safe than sorry

lethal walrus
#

so if you run outdated linux you should be fine, since you wouldn't have the full backdoor?

safe dragon
#

yeah

sand frost
#

I don’t really use any flavors of linux rn but if it did affect lots of linux I might tell people at work who do

lethal walrus
#

for once my neglect to update my devices came in useful then

cinder karma
#

yeah I'll be pulling updates asap

safe dragon
#

fedora and Debian unstable users are the ones that definitely should update immediately but anyone on a rolling distro probably should just in case

cinder karma
#

yeah I'm actually on Ubuntu 20.04 still so lol

#

saved by my laziness

sand frost
#

I feel like Ubuntu and arch are the ones I hear about

cinder karma
#

Arch is pretty common

#

Suse is another one people like.

#

Anyways, I'd just pull updates

safe dragon
#

for personal use fedora has been gaining a fair bit of traction lately

cinder karma
#

the bright part of open source is that this got caught pretty damn quickly

sand frost
#

I have to assume that at work people would use some extremely basic flavor of Ubuntu

safe dragon
#

opensuse tumbleweed users should definitely update

sand frost
#

Unless they enjoy tinkering with linux, in which case im sure they know already

safe dragon
#

I don't like Ubuntu in the slightest but yeah it's likely

cinder karma
#

what's wrong with ubuntu?

#

(I use ubuntu, I'm lazy.)

safe dragon
#

primarily the switch to snaps annoys me

#

there's a reason practically no other ubuntu based distribution has followed suit

cinder karma
#

ah, okay, I still haven't used snap yet haha

#

apt-get still works!

safe dragon
#

if I wanted a stable reliable boring distro I'd go for Linux mint personally

cinder karma
#

for my next computer I might install server Ubuntu and then add stuff from there, I don't need all the userland stuff

#

I was on Mint earlier but I got tired of having to full reinstall to update distros

safe dragon
#

my home server runs good ol Debian stable

pliant snow
# sand frost Does this only affect linux?

The xz package they maintained was used on Mac, BSD, and Linux iirc.

However, it was like the just barely released version, so only the most up to date distros had it, and it explicitly only targeted debian and red hat-based machines, and even then it relied on openssh being set up in a non-standard way (which debian did)

pliant snow
cinder karma
#

IT WORKS SOME OF THE TIME

#

I've gotten away with no full installs at least twice!

safe dragon
#

when I installed mint on my old laptop I didn't have a USB drive large enough for the newest versions so I installed like a many years old version and gradually went through every single Linux mint upgrade process

#

worked well though certainly wasn't ideal

#

the laptop has been rocking mint since tho with no issues

#

I think it's turning 10 years old soon

pliant snow
lethal walrus
#

my laptop runs void linux because arch wouldn't install

cinder karma
#

I'm a fucking coward and like stability aquova

safe dragon
#

I used to hear people talk about void Linux and then nothing

pliant snow
#

they entered the void

#

as advertised

safe dragon
#

incredible

pliant snow
#

I haven't had any issues with arch stability

#

at least as a server, the bluetooth kernel stuff has broken a few times

safe dragon
#

unironically arch has been more reliable and less buggy for me than any Ubuntu based distro I've used other than mint

cinder karma
#

yeah, I think also I'm too lazy to learn rn

sand frost
#

I hate the idea of having to reinstall my OS, and never want to touch a wifi driver, so I stay on macOS

pliant snow
#

Everyone likes to tease it, but Im a Mac OS fan

cinder karma
#

Hmmmm

#

Nah I'm too much of a masochist

#

I like it when I hate my software and my software hates me

ivory shadow
#

I'm a fan of Linux distros with a read-only system partition. I blame my Steam Deck.

#

Being able to update the system super quick and know that there's zero chance of something breaking is pretty nice.

pliant snow
#

a nix fan

safe dragon
#

I can't be a MacOS fan

#

I've never used it

#

it definitely seems preferable for software development compared to windows but that's not a particularly high bar

#
  1. has an actually functional package management solution
#

Gratz u win over Windows

#

at least windows is getting sudo soon TT_catpraise TT_catpraise

cinder karma
#

is it though?

safe dragon
#

well idk about soon...

#

it's in preview rn

#

no more opening a terminal only to realize "oh I need admin permissions" closing the terminal and then opening it again "as administrator"

#

which has the fun side issue that my work VPN fucks with the "run as admin" dialogue and takes a solid minute to actually appear

ivory shadow
#

Logging into NuGet to publish a package was fun. Microsoft wanted me to login via email link but absolutely refused to send me one. I managed to login via GitHub instead, and then... Microsoft wanted to send me an email with a verification code. And then it didn't want to send that email either. And after I finally got past that, it shows me a nag screen to get their app to make logging in easier.

crystal wren
#

I would love to be a MacOS fan, but the hardware...

#

Anything would be better than my clipboard breaking regularly after about 24 hours of uptime like I mentioned recently.

ivory shadow
#

The hardware honestly seems like the most appealing part of Apple stuff to me. ... in a way. Their new processors are pretty neat. I don't care for the OS or the locked down nature of... well, everything really.

crystal wren
#

The hardware when it isn't designed to actively hate you in a similar way to the software is great!

#

And sadly, the days of the Hackintosh are long dead.

ivory shadow
#

On that note, I am interested to see how the Snapdragon X Elite ends up working out. It's interesting to see more ARM processor work for PCs.

pliant snow
#

its funny, as I switched away from them because of the hardware. Then they released the ARM processors lol

crystal wren
#

I just want something that isn't all of the issues I've been having with Windows for the last... year? 1.5 years?

ivory shadow
#

So you want Linux? Get a whole new and original set of issues! πŸ˜„

pliant snow
#

switch to linux, you can have some hot new problems instead

safe dragon
#

M1 was exciting and then almost instantly it settled back into regular incremental updates most people don't care about

crystal wren
#

Issues with MacOS:

  1. Hardware is money.

Issues with Linux:

  1. I literally cannot find a damned font rendering subpixel arrangement that works for my main monitor.
#

Which is a fresh issue, because this is a new monitor!

safe dragon
#

I remember font rendering being permanently fucked on my old pc on Linux

crystal wren
#

The one DE that works best is Gnome 3. Everything else, text is dreadful.

safe dragon
#

gnome hc_pensive hc_pensive

ivory shadow
#

give me KDE or give me death Windows 10

crystal wren
#

Yeah, KDE is my preference! But that's... that was the worst looking option font rendering wise on this monitor for some reason.

safe dragon
#

gnome itself is mostly fine but man do I hate the mentality of the people that make the decisions there cause they've delayed the adoption of so many good things because they just kinda decided they didn't personally consider it worthwhile

crystal wren
#

I wonder if it's maybe a Wayland issue now I think about it...

#

I've been avoiding trying out any non-Wayland options.

safe dragon
#

most Wayland issues are gnome's doing...

pliant snow
#

wayland does do some weird font stuff by default

#

theres a KDE setting to make xwayland behave better tho

safe dragon
#

I don't need to use scaling which is where almost all Wayland font issues come from

pliant snow
#

yeah

safe dragon
#

though honestly nothing is more broken than windows' scaling

#

because nothing makes sense my 15 inch work laptop has a 4k screen so I had to use scaling to make anything remotely readable. It completely fuckin breaks visual studio to the point of being entirely unusable

#

I ended up just setting the resolution on the laptop to 1080p

#

and disabling scaling

crystal wren
#

I've discovered a new favourite monitor resolution/size, speaking of scaling.

safe dragon
#

what completely moronic person decided a 15 inch laptop needs a 4k screen should reassess their priorities

pliant snow
#

my laptop has a 3:2 resolution, so I gotta scale as well lol

crystal wren
#

Yeah, 15 inches is stupid. 28" + 4K is a new favourite.

safe dragon
crystal wren
#

With 100% scaling, perfectly good for me!

safe dragon
#

6 pixels wouldn't be very high res

#

I use two 27 inch 1440p displays

#

works well for me

crystal wren
#

Yeah, my side screen is a 27" 1440p one. That's also a good combination!

safe dragon
#

have 1 colleague who swears by a single monitor setup with a single 30 inch 4k screen

#

he even removed the regular setup at the office (dual 1080p) just to install his single 4k monitor

crystal wren
#

That reminds me of people who enjoy a single ultrawide over two separate monitors...

#

I'll respect it, but I don't understand it!

safe dragon
#

as long as they never expect me to support their aspect ratio for any application I make

#

they can do their thing...

#

I like having 2 monitors so I can change workspaces for each individually

#

something that is not possible on KDE and GNOME in general which is part of why I always end up switching back to a tiling window manager

#

the best they've got is freezing one of the monitors to a single workspace while changing the other

crystal wren
#

I suppose it might be worth trying even more DEs to see if something works nicely for font rendering...

safe dragon
#

I'd love to shill hyprland cause I genuinely do love it but you gotta be into tiling window managers

#

and the manual config file based configuration that comes with

#

I think aquo also uses hyprland or KDE 6 I'm not sure...

pliant snow
#

I use both. KDE on my desktop and playing around with hyprland on laptop

safe dragon
#

COSMIC should be an option before the end of the year

#

that one's got its own font rendering library so it'd at least be different

#

I've been keeping track of COSMIC cause it has potential to be the perfect middle ground between floating and tiling for me specifically

#

and it's of course all written in rust so it gets #lost-rustaceans points

strange copper
#

time to professionally say "I made this tool in high school for a friend when I didn't know a thing about web scraping and barely anything about web apps and I haven't maintained it in years. I don't even play the game the tool is for" 😭

#

the code runs for 12 hours probably because they're getting hard rate limited

safe dragon
#

give them their table of horses

strange copper
#

I can't 😭 the app doesn't work

#

it used to work a few years back before the site changed some stuff

#

but it would genuinely run for like 10 minutes straight for people with a lot of game data because I made so many web requests I couldn't figure out how to condense

#

i'll let them know they're free to fork it, fix it, and host an updated version with credit but considering they're new to webapps idk if they'll actually do it

safe dragon
#

they might if they really want their horses

#

sometimes all you need is motivation

strange copper
#

really what the app needs is to open a websocket with the end user while it spends time scraping bc it takes so long

strange copper
#

you can see your horses in game but the tool aggregated it all so that you could sort and find the best stats and figure out what to sell and stuff (my friend played the game and i needed a personal project to build)

safe dragon
#

I've met people whose motivation to getting into programming was to pretty up their neopets page who knows

strange copper
#

true!

#

the first thing I ever did was build an origami website because at the time it was obsession

#

i keep it hosted for the memories πŸ’€

safe dragon
#

I have no fun story cause I just started with a comp sci major in uni

strange copper
#

peak web design from a template with my 5th-grade design skills

safe dragon
#

I love it

strange copper
#

i learned css coloring and i was like "PINK"

hallow spear
#

It's been a while since I touched C# after using Java and JS for a while, when on earth did they add arrow functions?

safe dragon
#

what's an arrow function

strange copper
hallow spear
#

() =>, sorry

strange copper
safe dragon
#

oh yes anonymous functions have been in C# for... years

#

as long as I can remember?

hallow spear
#

Huh, interesting. I dabbled with C# in Unity but I never knew they existed

strange copper
#

anonymous functions are my favorite thing in like every langugae

#

i took a class with a linter that enforced almost never using them and i died

safe dragon
#

LINQ uses them extensively and I use Linq extensively

#

I'm also a hobby functional programmer so I do love them

#

always saddens me that Linq has a performance cost in C#

#

always feels good going to rust where their iterators don't have a performance cost and often even end up pulling some magical optimization from somewhere that I can't seem to even replicate with a regular loop

hallow spear
safe dragon
#

first class functions are a major feature I look for in programming languages...

cinder karma
#

Myself, I look for second class functions

#

Gotta keep them in their place

safe dragon
#

lmao

#

bad news...

#

C# has first class functions...

pliant snow
#

some day i'll learn what that means

safe dragon
#

essentially functions can be used like any other type or parameter, functions can be return values, can be stored as a variable in a struct/class etc

#

most languages nowadays have first class functions

pliant snow
#

oh right

safe dragon
#

your favorite rust feature, closures, are part of it for rust

pliant snow
#

disgusting

crystal wren
#

An example of the font rendering at its best with KDE.

pliant snow
#

yep thats a font

lethal walrus
#

what's the issue?

crystal wren
#

Not being able to find any combination of font rendering setting and DE combination that doesn't look awful on Linux. Here's another example...

pliant snow
#

what does it look like if you screenshot it

#

that red font is bad tho, I'll admit

crystal wren
#

Looks fine screenshotted!

safe dragon
#

that red text is nasty

pliant snow
#

why would it look different screenshotted

safe dragon
#

it's quirky like that

crystal wren
#

Ah well to be fair, at 100% zoom it looks identical in the screenshot... Depending on position on the screen. Just like the text itself.

pliant snow
#

but if you capture a framebuffer of 1920x1080, or whatever, why is the monitor not rendering that exactly on its 1920x1080 pixels

crystal wren
#

It's just subpixel antialiasing screwy nonsense and I have no clue why.

#

Let me try a different resolution...

pliant snow
#

"We're getting our picture taken lads, straighten up"

crystal wren
#

And it's suddenly exactly like my second monitor now they're both at 1440p. Hmm...

#

What's worth noting, though...

safe dragon
#

devs built that in so you can't screenshot the problem of course

#

you're running a 1440p monitor at 1080p?

crystal wren
#

No, it's the 4k monitor at 4k that's having the issue. At 1440p now, it's fine.

But worth noting here is that in a plain old TTY with no attempted antialiasing, it's fine.

pliant snow
#

just turn off antialiasing, ez

safe dragon
#

you can often turn off subpixel font rendering

#

funky tho

pliant snow
#

is it all apps

#

or just xwayland ones

crystal wren
#

Why was I... damn it. I was thinking subpixel was the only antialiasing option for some bizarre reason.

pliant snow
#

although that isnt xwaylands problem usually

crystal wren
#

This is better, but not quite perfect.

pliant snow
#

where on earth is the option to change your antialiasing settings

safe dragon
#

4th door on the left

crystal wren
#

There, the perfect example is a demonstration of this. This is with subpixel antialiasing (apparently) turned off.

#

Notice the shimmering when the text moves.

safe dragon
#

doesn't look very off to me

#

or you gotta reboot

#

considering that seems to be a KDE native window I'd assume it's a proper Wayland window and not xwayland

#

maybe that's naive

crystal wren
#

Lemme just sanity check with Xorg...

safe dragon
#

for me font rendering was only worse on x11

#

Back on my old 1080p monitor with gtx 970 gpu

#

font rendering was messed up

#

the card had some strange issue where it did not properly support full srgb

crystal wren
#

Or a full 4GB VRAM...

safe dragon
#

caused all sorts of problems, especially on windows weirdly

#

thinking back the card was probably broken

#

I used it for years tho

crystal wren
#

I loved my 970, though.

safe dragon
pliant snow
#

what distro are you on?

#

I saw some debian text in one of the screenshots

crystal wren
#

Plain old Debian, nothing exotic.

safe dragon
#

tbh at this point Debian on a personal system is exotic

pliant snow
#

im somewhat surprised debian has pulled in wayland support

safe dragon
#

wouldn't be surprised if you're using the nouveau gpu drivers if you're still on Nvidia...

pliant snow
#

oh i think you'd notice

crystal wren
#

Went AMD specifically for Linux this time!

safe dragon
#

smart

pliant snow
#

running wayland on nouveau

safe dragon
#

Wayland worked better on nouveau than proprietary for a long time

crystal wren
#

And yeah, killing the subpixel antialiasing and a reboot does seem to have at least solved that. So that's the major thing out of the way.

#

Task number two... getting the full refresh rate out of this monitor.

safe dragon
#

on xorg having two monitors with different refresh rates is a nightmare sometimes but I've had no issues on Wayland

crystal wren
#

Yeah, I've got my secondary at 165, and primary at 120 right now without issues. On Windows, that would be an absolute nightmare.

#

...but this main display goes above 120, and I'd like to have it above if I can figure that out.

safe dragon
#

xorg can't handle it because its multi monitor support completely hinges on rendering all the monitors on some virtual larger single display with a single refresh rate

#

some weird ass hack someone thought of ages ago and we then got stuck with

safe dragon
#

I know one of my monitors is limited to 90 hz with freesync on despite supporting 144 Hz otherwise

pliant snow
#

i got new monitor arms today btw, its nice

crystal wren
#

I actually thought of that, and it still limits me to 120Hz even with FreeSync hard disabled.

safe dragon
#

love my monitor arms

crystal wren
#

Monitor arms are just essential once you've used one I think.

cinder karma
#

I kinda one some but I don't know where I'd put them

crystal wren
#

They take up less room than a monitor stand, so probably a similar spot to wherever your stand is.

safe dragon
#

presumably at your desk

#

yeah I love the space I now have under the monitors

#

got my work laptop and several other things under there

cinder karma
#

my monitor stand is storage though

#

it has like books in it

safe dragon
#

that's an interesting monitor stand then...

#

I'm not exactly sure how one would put books in a monitor stand

#

oh

#

yes ok not monitor arm

#

you could just put some actual book storage in the space that is currently occupied by the stand

crystal wren
#

...interesting.

#
Block 2, DisplayID Extension Block:
  Version: 1.2
  Extension Count: 0
  Display Product Type: Extension Section
  Video Timing Modes Type 1 - Detailed Timings Data Block:
    DTD:  3840x2160  143.999991 Hz  16:9    319.824 kHz   1253.710000 MHz (aspect 16:9, no 3D stereo)
               Hfront    8 Hsync  32 Hback   40 Hpol P
               Vfront   10 Vsync   8 Vback   43 Vpol P
    DTD:  1920x1080  143.759595 Hz  16:9    169.349 kHz    452.500000 MHz (aspect 16:9, no 3D stereo)
               Hfront  168 Hsync 208 Hback  376 Hpol P
               Vfront    3 Vsync   5 Vback   90 Vpol P
    DTD:  2560x1440  144.000000 Hz  16:9    216.000 kHz    591.840000 MHz (aspect 16:9, no 3D stereo)
               Hfront   28 Hsync  32 Hback  120 Hpol P
               Vfront    9 Vsync   8 Vback   43 Vpol P

The EDID does report the correct resolution/refresh rate combination as possible at least.

cinder karma
#

I misread and thought your monitor was 1253 hz

crystal wren
#

Wait a minute, I think I...

ivory shadow
#

Are you connected via HDMI and using AMD?

ivory shadow
#

Yeah, that was just what I was gonna bring up.

crystal wren
#

That's definitely gotta be it.

pliant snow
#

i have no idea if im optimizing my displays, i dont think ive ever messed with their settings

cinder karma
#

I set my own monitors to lower than what they support (they're up to 120hz, I set to 60hx)

#

don't need it

pliant snow
#

Oh well nvm then i guess im good

safe dragon
#

ah it's the fuckin hdmi forum's stupid behavior again

pliant snow
#

this monitor doesnt have displayport

#

in hindsight i shouldve made different decisions

safe dragon
#

idk how a company that just designs the spec of a connector cable can be this shit

#

but we've got several pulling it off

crystal wren
#

Are there any that aren't being like that?

#

In at least some fairly major form.

safe dragon
#

USB forum in one corner and hdmi forum in the other

pliant snow
#

isnt the hdmi forum just the big TV manufacturers

safe dragon
#

I think displayport is actually pretty good?

#

I assume the rj45 ethernet stuff is fine idk I've never heard anything complain about it

#

I don't even know who oversees them

pliant snow
#

God

safe dragon
#

Bell labs?

pliant snow
#

bell labs is a nokia subsidiary i think now

safe dragon
#

it is now yeah

#

no longer at&t

lethal walrus
#

it has a nice enough logo, simple but it works

safe dragon
#

wait

#

it's still kind of partially owned by AT&T

pliant snow
#

its like that new KIA logo

#

they cant afford all the lines in their name

shadow wing
#

i wanted to share this here cuz its really funny

"Here, take this already working react project and instal Next. You'll notice nothing works anymore."
Looking at the migration so far, you may already be getting a sense of the benefits of using Next.js:
https://nextjs.org/learn/react-foundations/installation

lethal walrus
#

oo next

safe dragon
#

my application no longer working is a great benefit

crystal wren
#

Oh no, React!

safe dragon
#

no it's react but on the server

lethal walrus
#

i like next, mostly

safe dragon
#

well apparently they're phasing out useMemo and introducing a compiler

#

so thats nice

#

of the ones I've tried I liked svelte the most

#

/sveltekit

#

but it's still typescript/javascript

lethal walrus
#

svelte is nice

lethal walrus
safe dragon
#

in my ideal world compiling to wasm was the norm

#

alas

lethal walrus
#

I imagine if you bypass jsx, you might be able to use nim with react

pliant snow
#

in my ideal world if your app is too complex to use vanilla js, we just give up

safe dragon
#

lmao

#

well

#

I guess the company I work for should just quit

#

though the old backoffice is quite a lot of really ugly jquery nonsense

#

mostly to do stuff Javascript itself has supported for at least a decade

#

really though almost all my web development experience comes from server-side rendering where 90% of the logic is in C# with Javascript just being a minor layer for some interactivity

crystal wren
#

Last time I did anything web related was... the most depressing thing ever. Especially with the mandated tools.

safe dragon
#

ah the authentic web development experience

crystal wren
#

Granted, that was... probably 2006? Maybe 2007?

pliant snow
#

woah i didnt know they had internet back then

safe dragon
#

just as old as our backoffice!

crystal wren
#

But imagine being required to mock up the design in Photoshop, slice it up, and slap it back together again... using Dreamweaver.

safe dragon
#

oh

#

no I won't

pliant snow
#

I think i used dreamweaver

#

actually wait i can find what software i used

#

GoLive CyberStudio

crystal wren
#

...

#

Okay, you win.

pliant snow
#

it's still in the meta tag of the first website I made when i was like 10

#

im pretty sure it was outdated even then, but my dad brought it home so i could play around with it

safe dragon
#

wtf is that

pliant snow
#

Adobe GoLive was a WYSIWYG HTML editor and web site management application from Adobe Systems. It replaced Adobe PageMill as Adobe's primary HTML editor and was itself discontinued in favor of Dreamweaver. The last version of GoLive that Adobe released was GoLive 9.

#

oh shit it was an adobe thing

safe dragon
#

just like dreamweaver

pliant snow
#

yeah, i must have had a version from before adobe bought it

#

then they replaced it with dreamweaver

#

did adobe actually create anything themselves

safe dragon
#

no

#

they designed their subscription models themselves

pliant snow
#

I also used iWeb for a bit, back when that was a thing

safe dragon
#

is this also roughly when you last learnt of improvements to html and css

pliant snow
#

yes

safe dragon
#

I've learnt that for html and css people just learn whatever version they first started using and then stick with that forever

pliant snow
#

i learned web dev mostly just so i could play around with <canvas>, aside from that I just stick with the basic tags lol

crystal wren
#

Hey, I've vaguely learned flexboxes.

safe dragon
#

idk how to use a canvas

pliant snow
#

i made toe's website, and anything beyond that is unneeded

lethal walrus
#

that's an ex-junimo, right?

crystal wren
#

Canvas makes me think of art, and is therefore scary.

safe dragon
#

I'm sure

pliant snow
safe dragon
#

yes toe is an ex junimo

crystal wren
#

Oh look, it's a modern YTMND.

lethal walrus
#

aquo why did you set a child of body to 100vh without removing body's margin

safe dragon
#

he's an expert

pliant snow
#

i cant hear you, flock of seagulls is playing

lethal walrus
#

and the autoplay on audio doesn't work, at least for me

pliant snow
#

i dont think that ever worked

lethal walrus
#

and i assume the controls attribute is meant to hide it?

crystal wren
#

You really were going for a YTMND. I like it!

safe dragon
#

it's already perfect

lethal walrus
pliant snow
#

wow

crystal wren
lethal walrus
#

I still hate tailwind, but not quite as much

pliant snow
#

this site is a scam

lethal walrus
#

I know I need to set up https

safe dragon
#

it's perfect

lethal walrus
#

but idk how to do that from aws

#

and I can't be bothered to migrate it to somewhere normal

pliant snow
#

I had a whole thing set up in nginx to do it, then I gave up and switched to Caddy, which just does it

safe dragon
#

I don't have a website to show off. I mean I have a domain on cloudflare but it redirects to you to localhost which I use to VPN into a bunch of stuff on my home network while I'm away

pliant snow
#

are there other pages on this site

lethal walrus
#

on my site?

pliant snow
#

yeah

#

all the links are external

lethal walrus
#

no

safe dragon
#

you don't need more

pliant snow
#

i like the gradiant thats good

lethal walrus
#

thx

pliant snow
#

im a big fan of unprofessional websites

lethal walrus
#

it's random

safe dragon
#

someday I'll make a public site for everyone to admire. I already have the domain

pliant snow
#

oh so it is

lethal walrus
#

actually

pliant snow
#

the angle seems not super random

lethal walrus
lethal walrus
safe dragon
#

I'll use react and 250 extra nodejs dependencies and then use that to load this kind of basic website

pliant snow
#

start right now

#

just get your home page set up

#

or just make a neocities and use your domain, and forget the hosting entirely

safe dragon
#

I'm not home rn...

pliant snow
#

do it on your phone, thats what the kids do these days

#

probably

crystal wren
#

Unironically, we've had people trying to write C# mods for Stardew using their phones.

pliant snow
#

i think literally all of my pages are just like, basic ass text pages thats 90% the paragraph tag, or something that uses the canvas

safe dragon
#

I've been meaning to try out Phoenix liveview for real now that it's nearing its actual 1.0 release even though it's both overkill and a bad fit for a basic webpage

shadow wing
lethal walrus
indigo mistBOT
#

An incomplete list of android compatible mods can be found at https://android.stardew.rocks. If you find a mod that isn't on there, submit it by following the instructions here.

safe dragon
lethal walrus
#

(106 folders in node_modules)

pliant snow
# shadow wing

one of these days i'll go back and make that background animate

#

someday ℒ️

safe dragon
#

why

#

does this even need a single nodejs dependency

lethal walrus
#

svelte

safe dragon
#

my beloved

lethal walrus
#

sass too

safe dragon
#

definitely not that bad

pliant snow
#

my site might be jank, but it's got 0 dependencies

lethal walrus
#

the package-lock.json is ~1800 lines

safe dragon
#

at least svelte is smart enough not to dump all the code of all its dependencies in the browser

crystal wren
safe dragon
#

I like it

lethal walrus
#

so that's something it depends on

safe dragon
#

luckily that's all of them

pliant snow
#

my netscape users will have to suffer

#

even then, aside from the canvas stuff, I think I only have like two JS functions at all

lethal walrus
lethal walrus
safe dragon
#

honestly realistically you're probably using some Javascript functions that are much newer than these html tags

pliant snow
#

the fact that HTML doesnt support just important snippets of HTML from other files annoys me

#

custom components was as close as i could get

lethal walrus
#

iframes though

pliant snow
#

im not sure thats the solution

lethal walrus
#

to be honest your site's actually quite nice without css

pliant snow
#

when you only know like 5 css terms, you have to make do

safe dragon
#

I taught him about the existence of <details> and <summary> yesterday

#

growing

pliant snow
#

how do you turn off css

safe dragon
#

not a question I ever expected

pliant snow
#

most of my site is centered around learning that <hr/> exists

#

OH SHIT NEW TECH

safe dragon
#

the future is here

lethal walrus
lethal walrus
pliant snow
#

it was quite the game changer

safe dragon
#

I remember trying to render a horizontal line in MAUI for 3 hours and gave up

#

it was supposed to work, I took the example from their own docs

#

it did not

pliant snow
safe dragon
#

using maui really made me understand why people resort to using web rendering for traditional desktop applications

#

it is not

pliant snow
#

why not

safe dragon
#

damn

pliant snow
lethal walrus
#

eh can't be that hard to be in charge of the vatican's TLD

safe dragon
#

I don't really go by crumbledore anymore but it'd be a neat domain

lethal walrus
#

just ask them nicely I'm sure they'd oblige

pliant snow
#

is it a .dev tld

safe dragon
#

it's just a .com

#

very basic

pliant snow
lethal walrus
#

it's apparently for sale!

devout vault
lethal walrus
#

for a mere $19650

devout vault
#

I really need to update my website...

lethal walrus
#

I assume USD

pliant snow
#

aquo.zone, which i dont use

#

and then stardew.chat which is more expensive than the others, annoyingly

lethal walrus
crystal wren
pliant snow
#

There's a A Quova out there who used to take my usernames

#

but i think they gave up

#

I have a @pliant snow.net email address, but I didn't bother setting up firstlastname

safe dragon
#

the only actually address bound to anything for me is warden.crumbstrace.com but it redirects you to a tailscale ip that should do absolutely nothing for you unless tailscale really fucked something up

lethal walrus
#

iirc I have 5 pillow.rocks emails

lethal walrus
#

i cannot remember them though

pliant snow
#

me is good

#

i did mail as the actual username

lethal walrus
#

it's a 503

safe dragon
#

what should my first public website be

pliant snow
#

as in url or content

safe dragon
#

what should I shill

#

the url I'll figure out myself

lethal walrus
safe dragon
#

and none of them ones most people use

#

get the strangest Javascript frameworks

lethal walrus
#

does htmx/alpine count as a framework

#

or as a library

safe dragon
#

I actually like alpinejs

#

htmx I still don't really understand

pliant snow
#

having a website is great fun

safe dragon
#

the biggest problem with trying out any tech. Thinking of a project to actually use it for

lethal walrus
#

I should learn vue

safe dragon
#

I've wanted to write a little photo viewer website for my photo storage on my server but that'd be behind my VPN for obvious reasons

#

and a password just in case...

pliant snow
#

let us see your photos

safe dragon
lethal walrus
#

wow

safe dragon
#

this is what you're missing out on

pliant snow
safe dragon
#

it's mostly just photos I take on vacations

#

like this one

#

in this case SeaLife in London

#

I don't think there's actually any photos there that would be bad to be public but still

#

ah there'd be some privacy issues

#

I'm not in any of the photos myself but other people are

#

poor souls

lethal walrus
#

I really should set up a proper home server

#

I was going to use my old pc but the "this case was opened!!" message refuses to go away and i can't find anything on the motherboard online :(

safe dragon
#

what kinda warning is that

pliant snow
#

where does the message appear?

lethal walrus
#

this except case open

pliant snow
#

what happens if you just... ignore it

lethal walrus
#

oh no the issue is I can't boot automatically

#

I have to, with my mere human hands press f1

safe dragon
#

home servers don't have a screen anyway no text 😌

#

oh disgusting

pliant snow
#

reset PRAM or something

lethal walrus
#

i'll probably figure it out eventually

#

the bios apparently has an option for it, except my bios is too old for it lol

safe dragon
#

my home server is actually using brand new hardware I bought specifically for that purpose

pliant snow
#

you could update the bios

lethal walrus
#

I could

safe dragon
#

does it support updating by USB

pliant snow
#

i updated mine just recently to try and get an error to go away

#

it didnt

ivory shadow
#

(I am glad I somehow missed the conversation about web dev. React is awful.)

pliant snow
#

but i did update it

lethal walrus
safe dragon
#

I updated my bios recently I forget why

pliant snow
#

i feel like most recentish ones support updating over usb

safe dragon
#

yeah it's a standard feature nowadays

lethal walrus
#

this computer came with windows vista

safe dragon
#

modern

lethal walrus
#

very modern yep

#

(this being the one with the error, not the one I'm using currently)

pliant snow
#

512 MB RAM

#

pentium 4

#

Theres a GPU installedℒ️

lethal walrus
#

mine actually has a gpu installed

#

it does have integrated graphics tho

safe dragon
#

my server does not have a discrete gpu

#

I'm not exactly sure what I'd do with it

lethal walrus
#

do your complex calculations

safe dragon
#

it's got a 5600G the integrated gpu is pretty good

lethal walrus
#

nice

safe dragon
#

don't mind me sshing into my server with termux on my phone just to run neofetch

lethal walrus
#

32gb memory wow

safe dragon
#

I use this as my development pc from my iPad

pliant snow
#

what are you doing using 14 GB of ram

safe dragon
#

main reason why it's fairly kitted out

#

I

#

have no idea

lethal walrus
#

you program.. from your ipad?

safe dragon
#

yes

#

I ssh into my home server

pliant snow
#

i also have a 5600G

safe dragon
#

and then program in neovim

pliant snow
#

im also not sure why I got the G

#

mine does have a GPU tho

#

there, i'll show off too

safe dragon
#

time to ssh into my server on my ipad cause 14 gb memory usage makes no sense

lethal walrus
#

I'm fairly sure my main pc has a worse cpu and I'm slightly jealous

pliant snow
#

im at 6 GB simply because people are listening to the jukebox lol

#

actually home assistant is using most of the ram atm

#

then there's governor's poor server

safe dragon
#

I have no idea how to even read this

pliant snow
#

read what

safe dragon
#

why is there a billion of each

pliant snow
#

Hit F5

safe dragon
#

now it’s in a tree 🌈

#

imma restart docker

pliant snow
#

thats probably fair

#

htop is weird, idk how to interpret it either

#

I use btop sometimes for that

safe dragon
#

how do I even get btop on debian stable

pliant snow
#

my debian server has it

#

it should be in apt

safe dragon
#

I rebooted the server and now it’s using 439 mb of ram

pliant snow
#

its still not great, but its better

#

excellent

#

lots of people helping themselves to your passwords

safe dragon
#

just set up a chron script that reboots it every night

#

problem solved

pliant snow
#

maybe should look at access logs

safe dragon
#

they can’t even get to the vaultwarden instance there’s no ip that points to it…

pliant snow
#

theyre in your house...

safe dragon
#

oh no

#

htop looks essentially the same for the actual processes but with like 1/35th the amount of ram

pliant snow
#

might just have a memory leak

safe dragon
#

I guess I’ll update

#

it’s been running without any reboot or change for like 4 months

#

why fix the problem when you can just set it to automatically reboot once a day

pliant snow
#

theres a program i self-host that recommends it be restarted once per day

safe dragon
#

very promising

#

what program is that

#

hmm it updating tailscale while I’m connected to the server using tailscale is proving to be a problem

pliant snow
#

invidious i think

#

lol

safe dragon
#

I just had to restart my session it’s ok

#

well everything seems to still be working

#

so that’s nice

#

I did kind of forget how I set up docker for my vaultwarden instance but it worked out

pliant snow
#

gotta get docker-compose

safe dragon
#

I do use docker compose

#

but I forgot I did

#

I tried to manually update and reboot the vaultwarden container but then it wasn’t happy

#

I think I’m going to have to mess with how I have this shit set up again once I try to also have a website running

#

I know I fucked with this for hours to get it to work

#

to get vaultwarden to run happily behind tailscale on my home network

cinder karma
#

you have no clue how angry boeing makes me

#

like boeing as a fucking concept rn

supple ether
#

why in the world does IReadOnlyList not have IndexOf???

ivory shadow
#

Because it extends IReadOnlyCollection<T> / IEnumerable<T> rather than IList<T>, and they were lazy on top of that. There is no good reason why.

supple ether
#

that kind of makes sense but like, they could've just added it to the interface? or an extension method?
instead I'm out here writing my own IndexOf like some kind of barbarian

ivory shadow
#

Yeah, they absolutely could have. It's bonkers that there isn't an official extension for that, imo

drowsy pebble
#

What do I do if I'm stuck in the "I want to develop something but have not clue what" loop? SDVpufferpain

safe dragon
#

if you figure that out please tell me hc_pensive

safe dragon
#

presumably there's no indexOf for enumerable because they want to discourage people to index into enumerables since that's O(n)

#

well, ElementAt has a special case for IList so it wouldn't actually be O(n) in most cases

#

IList<T> does implement IndexOf as expected

#

why does IReadOnlyList not implement IList...

#

ImmutableList<T> does implement IList

#

and it also implements IReadOnlyList

#

why even is there both an ImmutableList and a IReadOnlyList

#

right. Cause IReadOnlyList is a facade and not actually readonly(at least none of the contents are readonly)

#

wait no that's still true even for ImmutableList

#

really wish C# had actual genuine immutable datastructures

#

immutable/readonly datastructures in C# practically just send a message to devs more than they actually prevent being mutated beyond adding or removing elements from the datastructure

#

same for records or readonly fields or properties without setters

#

it all goes out the window the second the thing inside is a reference type

cinder karma
#

Read-only is weird

#

You might like Frozen

pliant snow
#

the film

safe dragon
#

it's a pretty decent movie

#

I think I've seen FrozenDictionary in the wild once

cinder karma
#

If I see another __init__.py this week I'm throwing the nearest mug out of the window

ivory shadow
#

__init__.py

pliant snow
#

discord really doesn't want to see them either it seems

cinder karma
#

Okay now I need to find a mug and a window

pliant snow
#

the nearest mug

cinder karma
#

Are doing as the crow flies

#

Or the nearest mug I can actually access

#

I should have thought this through

ivory shadow
#

It's Python surely you can just ```python
from kitchen import mug, window

if name == 'main':
window.defenestrate(mug)

cinder karma
#

Import error: no module named kitchen

ivory shadow
#

Shame.

modest jewel
#

Neocities' april fools.... the double take when i read 'AI assistant'

cinder karma
#

Apparently discord might be rolling out sponsored posts

lethal walrus
#

fun

cinder karma
modest jewel
# cinder karma

youtube pt. 2.....(tbt when youtube had no ads & was free)

lethal walrus
#

I do wonder if this means discord will start punishing people for using client mods, since they would probably have adblocker plugins

pliant snow
#

you can just run it in a browser tho with adblockers

lethal walrus
#

true but that's annoying

#

I like being able to click on the discord button and it opens discord

cinder karma
dapper sinew
#

i cant even launch steam again ChillBar_cry

cinder karma
worn remnant
# cinder karma

i hate gamer ads, but also sometimes they're funny. they try to get me to buy a tactical gaming chair or whatever hideous new mountain dew they've concocted

dapper sinew
#

it would probably be fixed be a restart

#

but im too stubborn for that

dapper sinew
shadow wing
#

also do you guys remember that may 4th fortnite promotion that discord ran last year?

#

the "ads" are gonna be like those

cinder karma
shadow wing
cinder karma
#

I get ads ranging from "Have you considered social security" to "enjoy crochet?" to "are you a multibillion dollar business trying to buy screwdrivers?"

modest jewel
#

is there a mod to grab things from things like ponds and tappers?

#

i got deluxe grabber redux. im surprised there isnt a patch for it that enables this functionality honestly.

#

oh maybe im in the wrong spot woops

cinder karma
dapper sinew
#

welp i must submit to the NixOS and restart pc

dapper sinew
#

im stuck on compiling monodevelop, if anyone know this program id like some help, im on NixOS and am stuck with this error No package 'glib-sharp-2.0' found

#

on the ./configure step

modest jewel
#

This isn't related but: I feel so spoiled that rider has had 3 EAPs so far (2024)

#

The joys of not running VS on a virtual machine 😌

cinder karma
sand frost
#

I’m not sure what that is but I’m sure it’s bad

dapper sinew
#

i made a script that runs another script cause i was lazy

safe dragon
#

but what's going to run that script

cinder karma
#

tbh I can't believe I once thought recursion was hard

safe dragon
#

I have absolutely used recursion in production

#

and not even for a functional programming language

#

I do remember struggling with it when I first learnt about it

leaden marsh
#

I think I personally understood recursion; it was learning the ways to not use recursion that was more interesting

safe dragon
#

always use recursion no exceptions

pliant snow
#

I don't think I've ever used recursion in production actually

sonic mirage
#

I just used it recently to generate a unique name for something. If the name generated is not unique, call itself again. The name is built with both time-based digits and a random number between 0 and 99, so it's highly unlikely that it'll ever even be not unique in the first place, but this guarantees it without having to repeat code or loop.

#

I've also previously used it to build a nested site navigation where it gets up to 3 or 4 nestings deep, so if the nav item still has children, call itself again but with its children nav items list.

safe dragon
#

I think every time I've used recursion outside of functional programming was to navigate a tree of some kind

#

the menu structure of the cash registers, the navigation tree of the backoffice

#

and a lot of stuff based on the hierarchy stores are placed in when multiple stores are managed by the same people who are then managed by other people etc...

#

lots of trees

empty yew
#

Y'all should look into LISP. Not only is it hard not to be recursive but there's a slightly elevated amount of parentheses.

safe dragon
#

which lisp tho...

leaden marsh
#

It's always some nested structure of some sort

empty yew
safe dragon
#

the lisp family of languages has always been fascinating to me and simultaneously not something I've ever actually given a shot despite liking functional programming

empty yew
#

I usually use GNU Guile which is Scheme-esque but that's because something I use for writing sheet music uses that

#

I think I was the only person in my uni year that actually used any LISP at all while there

safe dragon
#

lilypond... never heard of it

#

neat

empty yew
safe dragon
#

that's pretty much how digital music notation started

empty yew
#

I still know some people who use SCORE for some reason

safe dragon
#

considering you're a nerd and use sheet music software you probably have watched tantacrul's videos going into the history of sheet music...

#

I've watched all of them despite lacking any musical knowledge whatsoever and being generally incapable of hearing differences that are supposedly obvious

empty yew
#

Oh yeah. I've also responded to multiple of his questions asking "what software should I look into next" with LilyPond. He never did it though lol

safe dragon
#

nowadays it'd be a conflict of interest

empty yew
#

To be fair, some of the differences are hard to hear due to youtube compression

#

LilyPond is FOSS so I doubt he'd need to worry about that. It's not like the devs would let Muse group touch it. I also think he's still working on the Finale video which isn't free

safe dragon
#

someday

#

I now hold strong opinions on music notation software despite an inability to understand sheet music

empty yew
#

He also did just review GIMP so

#

If it helps, I can confirm his rants about Sibelius were extremely accurate

#

Like extremely

safe dragon
#

the quit sibelius button is something that stuck with me

#

hope the Foss solutions end up winning out in the end

#

I wanna see more stories like blender

empty yew
safe dragon
#

that's a good button

empty yew
#

Thank you. Comes from tanta's server lol

#

And I know there's a lot of bad with Muse group, but the fact they are actually providing FOSS successfully really says something about software in general

safe dragon
#

I know nothing about the muse group

#

it's a thing

#

this is no longer programming related...

#

so lisp amirite

pliant snow
#

whats a sibelius

empty yew
#

Sheet music software. It's got "unintended features"

#

(((((LISP)))))

safe dragon
#

I'll continue to look at niche functional programming languages that have almost no chance at ever finding mainstream adoption

empty yew
#

I think Taxi might catch on eventually

pliant snow
#

Reminds me how I hated all of the CAD software on linux, and eventually settled on OpenSCAD, which is just a thinly veiled programming language

empty yew
#

convert to TeX instead of word too

safe dragon
#

who says we don't already use tex

empty yew
#

Fair

#

I still can't find a good replacement for Excel though. Things come close, but never good enough for me

safe dragon
#

I really for the most part don't use any

pliant snow
#

libreoffice does most stuff i need

safe dragon
#

yeah same

#

I don't need it to do much

#

I like how whenever I look into a programming language there's some cult following that loves it unreasonably much

#

doesn't matter if the language only reached a 1.0 release 3 days ago

#

they're there

#

even when the language doesn't do anything noteworthy as far as I can tell

cinder karma
#

Haha

#

I need to look into zig

safe dragon
#

I hope that that's Zig spelled wrong

cinder karma
#

It is

safe dragon
#

oh ok

cinder karma
#

Just took three tries haha

safe dragon
#

I know nothing about Zig other than that it does something with allocators

#

I feel like I should take some time to learn basic C/C++ at some point

#

so many languages trying to replace it

#

whatever happened to carbon

#

oh it's still being worked on

cinder karma
#

Yes! Explicit allocation

#

Tbh for normal programming I still prefer rust

#

But I think zig is worth learning

ivory shadow
#

C# for normal programming is the best. I only touch rust if I need something super duper performant. I rarely do. Haven't tried Zig yet, but I have vague plans to the next time I'd go to rust for something.

pliant snow
#

I'm glad people like the C# experience. As an end user not on Windows though, anytime I see something written in C#, it's almost never worth my time trying to get it working lol (although I think this is more due to Win UI stuff than C# itself)

crystal wren
#

I was going to say I've never had issues with it on Linux, but then I realised I've never really tried to run anything that's... GUI stuff.

#

It's definitely about a million times better than it was in the Mono days, though.

safe dragon
#

you open rider and get faced with the question of locating your mono installation...

#

tbh despite having used C# a lot and for at least 9 years now I don't know how I would even start most of the programs through the terminal. I had to do it once for MAUI while trying to figure out how to get it to create a proper installer that'd actually work

#

and it wasn't just dotnet run it had like a whole list of extra parameters

crystal wren
#

Nowadays with things built for modern dotnet, it's just... ./program. No IL or anything goes into the main executable anymore, I believe the target platform setting just changes the starter binary for each platform?

safe dragon
#

I forget what I had to do for MAUI but it wasn't pretty

#

it's kind of strange cause running it from the terminal is the normal way to do it for every other language I use

#

but for C#/visual studio/rider I just press the "start" button

crystal wren
#

Now I need to see how Avalonia goes...

safe dragon
#

looking through the docs for dotnet run I don't know what it was that I had to deal with for maui...

#

most of these parameters are rather self explanatory

crystal wren
#

Yeah, that sounds like some weird "We haven't got things set up to build and copy over properly because this is nowhere near finished" type stuff...

safe dragon
#

yeah I mean maui was still in beta to be fair...

crystal wren
#

And not even slightly supported on Linux!

safe dragon
#

and they still call it cross-platform

#

😌

#

and half the things I'd look up to try to do would be met with "sorry that only works for android builds"

crystal wren
#

Yeah, Avalonia is about as simple as I anticipated!

safe dragon
#

impossible

#

is the build also just a basic dotnet build

crystal wren
#
alan@home-workstation:~/RiderProjects/avalonia-test$ dotnet build
MSBuild version 17.3.2+561848881 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  avalonia-test -> /home/alan/RiderProjects/avalonia-test/avalonia-test/bin/Debug/net6.0/avalonia-test.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.98
#

Literally yes.

safe dragon
#

so simple

crystal wren
#

Honestly, it really is a... nice experience on Linux.

safe dragon
#

but can you generate an installer...

#

god that reminds me of the nightmare of figuring out how to automatically distribute updates for our MAUI project without being tied to the windows store which is blocked on most of our cash registers

#

all the info online for distribution relied on publishing it to the windows store(for windows of course)

crystal wren
#

Well I hate how that sounds a lot!

safe dragon
#

it was possible but it did take some searching and we essentially had to build our own update system

#

also cause it was an msix we had to force some clients to update to a newer version of windows cause they didn't support msix installers

#

I think some of these were beta pains. There seems to be a lot more info on this now

#

and if you're wondering "why were you using something that's in beta for production use"... well it wasn't my choice to make

#

anything that wasn't owned by microsoft themselves was out of the question and I think the CTO was strangely excited about MAUI at the time

sand frost
#

Today’s fun and horrifying windows experience:

For the purpose of playing videos in PowerPoint, Internet Explorer 11 is required to be on your computer. You don't have to use it to browse the web; you simply have to have it installed, because under the covers, PowerPoint needs its technology to play videos on Windows.

crystal wren
#

I was very excited about MAUI when I saw cross-platform!

#

Then I learned it was going to ignore Linux, and...

sand frost
#

Note that a) IE11 is discontinued and b) it’s only on windows

crystal wren
#

And c) it's IE11.

sand frost
#

Also c) yes that

ivory shadow
#

I do not like MAUI.

safe dragon
#

our cash registers still have a button dedicated to opening internet explorer

ivory shadow
#

I need to play more with Avalonia. Haven't done much with that yet.

safe dragon
ivory shadow
#

I build desktop stuff rather than mobile, so something like MAUI that's got a big mobile focus is just gross to me.

sand frost
#

Debating whether to try to find a windows computer to present from, upload to google drive, or just say fuvk it and play videos in browser

safe dragon
#

I've been surprised in the past what weird things apparently have a dependency on IE 11

sand frost
#

And unfortunately this is for this afternoon

crystal wren
safe dragon
#

I think I've come across a few old mmo installers that would break if you didn't have internet explorer

ivory shadow
#

Does your presentation work right in LibreOffice Impress?

sand frost
#

I have not tested that

#

I don’t have that installed rn

#

Does it work on macOS?

safe dragon
#

libreoffice is my go to "fuck it let's pray" last resort

ivory shadow
#

LibreOffice works on all desktop platforms afaik

sand frost
#

I’m also considering trying PowerPoint in browser

safe dragon
#

it does

#

I'd probably opt to import it into google slides

#

I have not made a powerpoint or presented any slides in 5 years tho

#

I'd like to keep that going

sand frost
#

I present all the time, but often/usually use google slides

safe dragon
#

presenting hc_pensive

#

I've shown off features I've built but just by like, showing it

#

haven't needed slides

sand frost
#

I’m fine with presenting, in my field showing off features sometimes involves a 12’ tall robot

#

Bit more cumbersome

#

Or a 3 hour simulation

safe dragon
#

that sounds dope

#

there's a distinct lack of 12 foot tall robots in retail software

pliant snow
pliant snow
#

I have more copies of Internet explorer and Windows media player than windows users

safe dragon
#

that was microsoft's plan all along

pliant snow
#

played us like a damn fiddle...

ivory shadow
#

I have a 1tb ssd in my Steam Deck and I have so many proton prefixes notlikeblob

pliant snow
#

I also have a 1 TB SSD, but I don't think I'm very close to filling it

ivory shadow
#

Most of mine goes to ROMs. So many ROMs

elder matrix
#

OMG i just saw and relized that there is a programming channel here

#

Hope you all doing well coders

safe dragon
#

yes hi welcome to #lost-rustaceans

elder matrix
#

Hehe yeah thanks

safe dragon
#

the best off topic channel (not biased)

elder matrix
#

Yeah i can see that

thin estuary
#

What the hell Python

safe dragon
#

... what?

#

that can't be true

#

nah man wtf

#

why is a default parameter value retaining state from previous calls?

devout vault
#

surprise indeed

frosty echo
#

That's like the #1 Python gotcha. But once you know about it, no problem

safe dragon
#

okay but what do you do about it

#

how do you work around optional parameters apparently just like.. being broken

#

I can't think of any kind of logic that would cause this behavior that doesn't sound just like a massive implementation bug

#

some of kind of reuse optimization gone wrong

frosty echo
#
def surprise(my_list = None):
  if not my_list: my_list = []
  print(my_list)
  my_list.append('x')
``` something like that
safe dragon
#

is this actually intended behavior?

#

do they explain it somewhere

#

now I'm really curious

#

I assume it's something that's going wrong with it retaining a pointer to the same array it made previously for some reason

#

it doesn't seem to have this problem for strings or simple primitive types

safe dragon
#

this feels like an introductory course to python programming

thin estuary
#

that link doesn't scroll to the right spot, but yeah, i see it documented... the question is, WHY would it be implemented that way

frosty echo
#

Hmm, it does for me

thin estuary
#

that page only explains that it does that, but doesn't say why

safe dragon
#

Default parameter values are evaluated from left to right when the function definition is executed. This means that the expression is evaluated once, when the function is defined, and that the same β€œpre-computed” value is used for each call. This is especially important to understand when a default parameter value is a mutable object, such as a list or a dictionary: if the function modifies the object (e.g. by appending an item to a list), the default parameter value is in effect modified. This is generally not what was intended.

#

the "generally" should honestly be replaced with never

#

unless it's someone who has gotten too used to python being broken

frosty echo
#

Well, no, once you know about it, you can use it

#

e.g. have a thing that operates on a list you give it, if not, on its own list it keeps

safe dragon
#

I can see how you could make use of it but man it'd be nasty to actually do that

#

that also means this mutable object is kept in memory forever for as long as the function definition is in memory doesn't it

#

very strange

frosty echo
#

Yes, but memory management like that isn't really a Python worry

safe dragon
#

I've never been the target user for python anyway...

pliant snow
#

python has some weird scoping quirks

safe dragon
#

I know from helping someone that functions can totally access variables from thin air that happen to have been defined before the function was called

#

they don't need to be passed to the function

frosty echo
#

Which is nice, as it means you don't need to... do that

safe dragon
#

it's horrendous though for actually understanding any reasonably sized project though

#

and refactoring would be a disaster when you rename a variable somewhere and don't realize some random ass function assumed there was a variable by that name

cinder karma
#

Yeah

#

Python for you haha

#

One reason why I actively prefer rust haha

safe dragon
#

rust and python are definitely intended for different kinds of projects and people

#

I do like rust a lot

#

it gets a little nasty sometimes to work around its constraints but I do like it

#

a lot of these weird things really feel like footguns for the sake of very minor conveniences

pliant snow
frosty echo
#

But if you do just define all your variables in your functions as you intend them to be "new", you shouldn't ever run into any problems

safe dragon
#

at least my lsp does throw a warning when I actually try to use this "feature"

pliant snow
#

I'm thinking like

#
foo = True
if foo:
    bar = 1
else:
    bar = 0

print(bar)

In my mind, bar should be either None or undefined

frosty echo
#

There, it could only ever be 0 or 1 anyway?

safe dragon
#

it shouldn't exist where the print statement is cause it's out of scope of where either of the different bar variables were defined

frosty echo
#

Oh, wait, you are expecting if blocks to have scope?

pliant snow
#

yes

thin estuary
#

yeah, like most sane languages do

frosty echo
#

Yuck, yeah I'm glad it doesn't

pliant snow
#

Python is, to my knowledge, the only language ive used where if statements don't have scope

safe dragon
#

I've never used a language where if statements don't have scope... other than helping people with python homework I suppose

#

in this specific example you'd just use a ternary operator if python has one

#

I assume it does

#

it does

pliant snow
#

which is what I'd typically use, yeah

#

I was just surprised when I learned that was valid

safe dragon
#
foo = True
bar = 0 if foo else 1
print(bar)
thin estuary
#

oh no, it's that weird syntax

frosty echo
#

Haha

safe dragon
#

it's an ugly ternary operator syntax for use but it works

sand frost
#

Yeah, I think that Python is fun to write but the lack of consistent, clear variable scope is very bad for people learning to program

thin estuary
#

wait, WHAT. the condition is IN THE MIDDLE?

safe dragon
#

yes