Zangoose

joined 2 years ago
[–] Zangoose 1 points 23 hours ago (1 children)

That's entirely fair for the usecase of a small script or plugin, or even a small website. I'd quickly get annoyed with Python if I had to use it for a larger project though.

TypeScript breaks down when you need it for a codebase that's longer than a few thousand lines of code. I use pure JavaScript in my personal website and it's not that bad. At work where the frontend I work on has 20,000 lines of TypeScript not including the HTML files, it's a massive headache.

[–] Zangoose 5 points 23 hours ago* (last edited 23 hours ago)

This is the case for literally all interpreted languages, and is an inherent part of them being interpreted.

It's actually the opposite. The idea of "types" is almost entirely made up by compilers and runtime environments (including interpreters). The only thing assembly instructions actually care about is how many bits a binary value has and whether or not it should be stored as a floating point, integer, or pointer (I'm oversimplifying here but the point still stands). Assembly instructions only care about the data in the registers (or an address in memory) that they operate on.

There is no part of an interpreted language that requires it to not have any type-checking. In fact, many languages use runtime environments for better runtime type diagnostics (e.g. Java and C#) that couldn't be enforced at runtime in a purely compiled language like C or C++. Purely compiled binaries are pretty much the only environments where automatic runtime type checking can't be added without basically recreating a runtime environment in the binary (like what languages like go do). The only interpreter that can't have type-checking is your physical CPU.

If you meant that it is inherent to the language in that it was intended, you could make the case that for smaller-scale languages like bash, Lua, and some cases Python, that the dynamic typing makes it better. Working with large, complex frontends is not one of those cases. Even if this was an intentional feature of JavaScript, the existence of TypeScript at all proves it was a bad one.

However, while I recognize that can happen, I've literally never come across it in my time working on Typescript. I'm not sure what third party libraries you're relying on but the most popular OAuth libraries, ORMs, frontend component libraries, state management libraries, graphing libraries, etc. are all written in pure Typescript these days.

This next example doesn't directly return any, but is more ubiquitous than the admittedly niche libraries the code I work on depends on: Many HTTP request services in TypeScript will fill fields in as undefined if they're missing, even if the typing shouldn't allow for that because that type requirement doesn't actually exist at runtime. Languages like Kotlin, C#, and Rust would all error because the deserialization failed when something that shouldn't be considered nullable had an empty value. Java might also have options for this depending on the serialization library used.

[–] Zangoose 12 points 1 day ago (5 children)

As a TypeScript dev, TypeScript is not pleasant to work with at all. I don't love Java or C# but I'd take them any day of the week over anything JS-based. TypeScript provides the illusion of type safety without actually providing full type safety because of one random library whose functionality you depend on that returns and takes in any instead of using generic types. Unlike pretty much any other statically typed language, compiled TypeScript will do nothing to ensure typing at runtime, and won't error at all if something else gets passed in until you try to use a method or field that it doesn't have. It will just fail silently unless you add type checking to your functions/methods that are already annotated as taking in your desired types. Languages like Java and C# would throw an exception immediately when you try to cast the value, and languages like Rust and Go wouldn't even compile unless you either handle the case or panic at that exact location. Pretty much the only language that handles this worse is Python (and maybe Lua? I don't really know much about Lua though).

TLDR; TypeScript in theory is very different from TypeScript in practice and that difference makes it very annoying to use.

Bonus meme:

[–] Zangoose 3 points 1 day ago (1 children)

Gelid cryotheum my beloved

[–] Zangoose 5 points 1 day ago* (last edited 1 day ago)

It really depends on what you're printing, how strong you need it to be, and/or what axis you don't mind looking uglier because of layer lines.

In this case OP might have been able to print it on a side with minimal supports, but the idea is that printing it at an angle turns things that would have been overhangs (which are hard for printers to do because of the melted plastic sagging) into upwards slopes. The alternative is adding support material that is intended to snap off (i.e. The block at the bottom of this picture), but those would be hard/impossible to remove in models like OP's that would have supports inside the holes.

[–] Zangoose 3 points 2 days ago* (last edited 2 days ago)

Rust is only huge because it doesn't have an ABI. If you had an ABI (and didn't have to compile every single dependency into the binary) the binary sizes would probably drop a lot to the point where they're only slightly bigger than a C counterpart

Edit: I don't know if Go has an ABI but they also include a runtime garbage collector in their binaries so that probably has something to do with it.

[–] Zangoose 13 points 2 days ago (1 children)

The year after epoch overflows?

[–] Zangoose 18 points 5 days ago (1 children)

Step 1: Add ads into [insert app of choice here] that are really annoying

Step 2: Make people pay to get rid of them. Bonus points if it's a subscription

Step 3: People hate your app but it's the one that's installed by default so they use it anyway

Step 4: Profit

[–] Zangoose 2 points 6 days ago (2 children)

You also probably want to put the resin printer in a well ventilated area, as resin printers can also release particles into the surrounding air (and you really don't want to be breathing that in)

[–] Zangoose 2 points 1 week ago

We're already on the 6th generation of folding phones though

[–] Zangoose 2 points 1 week ago* (last edited 1 week ago) (1 children)

If I try to switch accounts, tapping an account just doesn't do anything unless I press it a bunch of times and then even then it doesn't really work consistently. It usually works once after restarting the app though (but then goes back to not working after that). Same thing with the "Add account" button

Edit: I lied about the "Add account" part, it looks like that's just hidden behind the side menu which I'm assuming is still a bug, but it does work

[–] Zangoose 2 points 1 week ago (3 children)

Anyone else having issues when switching between multiple accounts?

46
celeste rule (files.catbox.moe)
 

I wanted to see if video uploads work, I may have a few hours in celeste

7
submitted 2 months ago* (last edited 2 months ago) by Zangoose to c/[email protected]
 

My bytes.programming.dev's main feed is erroring again. It looks like everything else is loading fine, I just can't see anything on the timeline for some reason. Is it the same DB issue that was happening last time?

EDIT: I just checked and it seems like it's back

 
 

Source

Alt text:A screenshot from the linked article titled "Reflection in C++26", showing reflection as one of the bullet points listed in the "Core Language" section

 

Not really sure if there is a better place to put this, but is bytes.programming.dev having issues for anyone else? I can log in but my timeline doesn't load at all.

406
Yes, yes we can (lemmy.world)
submitted 4 months ago by Zangoose to c/linuxmemes
 

Credit to https://lemmy.world/post/18689927 for the original post

Alt text:

Me: mom can we have (Linux penguin)?

The rest of the meme is scribbled out and over it is one word, "Yes"

 

I'm trying out NixOS on my laptop right now and I'm loving it so far, but I was thinking of setting up distro box for ubuntu (mostly for a few developer environments dependent on it) and arch (for packages that aren't on nixpkgs yet). I was wondering about the battery life hit on a laptop and I couldn't find anything definitive on google/ddg. Has anyone here noticed a difference?

1475
Good luck web devs (lemmy.world)
submitted 11 months ago* (last edited 11 months ago) by Zangoose to c/[email protected]
 

Alt text:Twitter post by Daniel Feldman (@d_feldman): Linux is the only major operating system to support diagonal mode (credit [Twitter] @xssfox). Image shows an untrawide monitor rotated about 45 degrees, with a horizontal IDE window taking up a bottom triangle. A web browser and settings menu above it are organized creating a window shape almost like a stepped pyramid.

Edit: alt text

 

Alt TextA screenshot of a file manager preview window for my ~/.cache folder, which takes up 164.3 GiB and has 246,049 files and 15,126 folders. The folder was first created about 1.75 years ago with my system

 
view more: next ›