dneaves

joined 1 year ago
[–] dneaves@lemmy.world 7 points 4 months ago (2 children)

Which plugins? I dont really care about many of them. Does the editor type my funny robot words and help me make sure the words I typed made sense for the language (aka, language servers)? Yes? Good.

[–] dneaves@lemmy.world 10 points 4 months ago (4 children)

Neat. I use Zed at work, but now also having it on my personal desktop will be nice. Bye, VSCode.

On my system, just one note that it didn't render a menu bar. Not that I use it much anyway, just had to find the default keybind to open the keybinds config (btw: ctrl K |> ctrl S) and pasted what I used from work (then bulk-replaced all cmd's with ctrl's)

Theme change was not sticking on first launch, but second launch I guess it realized "Oh, I'm supposed to be this color now. Got it". Ligatures don't do, but it is a preview and that's just an aesthetic.

[–] dneaves@lemmy.world 21 points 5 months ago (1 children)

/s is bloat, say it like you mean it!

[–] dneaves@lemmy.world 12 points 5 months ago

For a while I had an Asus laptop, and no matter what, it seemed to not want to work properly with systemd-based distros. It would hang on-boot about 95+% of the time, I'd hard shut-off, restart, repeat.

On a whim, I tried Void Linux (runit) on it. And for whatever reason, it worked.

[–] dneaves@lemmy.world 3 points 5 months ago* (last edited 5 months ago)

Materials:

Coal and emeralds are usually higher up in caves, where stone is (emeralds much less apparent, best obtained through trading with villagers), and are rarer the further down you go. Iron, copper, and lapis lazuli are found almost throughout all height levels of cave. Gold, diamond, and redstone usually start around where stone-meets-deepslate, and further down. Ancient Debris is only in the Nether, and far down in the layers of netherrack.

Some non-ore materials, like bamboo, dripstone, moss, amethyst, coral, prismarine, etc., just require exploring the right biome to find them.

"Templates" are usually in chests of points-of-interests (below).

Points of Interest:

Really the best way to find most of these are just exploring. If your world is oceanic, consider a boat or boat-with-chest. If the world is continental, maybe consider a horse/donkey/mule/camel (if you stumble across a saddle).

Some PoI's are common-ish enough where you'll probably find at least one just by exploring, or exporing the right biome. Shipwrecks and underwater ruins in the oceans, pyramids in the desert, villages and incomplete nether portals in most biomes. These you just have to stumble across them, and you'll know when you see them.

Some PoI's are very hidden, and really require luck and time to find, like "old-style" dungeon spawners, Ancient Cities, Trail Ruins. Trail Ruins in particular, you can spot them from the surface if you notice the terracotta and/or suspicious gravel (which looks like gravel at a glance, but it may be out-of-place next to dirt/grass), but they're pretty rare to find. Ancient Cities are always in the Deep Dark, but requires a lot of digging/wandering around blindly to find due to the rarity. The old dungeon spawners are very obvious if you stumble across them, it just looks like a cobblestone cube with mossy-cobblestone mixed into the floor, and the spawner cage in the middle. Nether fortresses look like bridges and buildings of dark-red netherbricks. Piglin Bastions are giant towers of blackstone (plain, bricks, etc), with some guilded blackstone scattered in.

Strongholds, can be found with Eyes of Ender (obtained later in the game, after killing Blazes and Enderman for their Blaze Rods and Ender Pearls respectively).

Some, like Woodland Mansions, Ocean Monuments, and Trial Chambers (in 1.21) can be found by leveling up a Cartographer villager and purchasing the corresponding map from them.

[–] dneaves@lemmy.world 11 points 7 months ago* (last edited 7 months ago) (1 children)

Elm

In short, it's ruined my expectations of languages. It's a functional language, like the style of Haskell, and transpiles to html or js (its meant for web). There's very little that it allows for going wrong, and for things that could fail, it either tells you to port that out to JS and bring it back when you're done, or you have to handle a Result type or Maybe type.

It sounds strict, yes, but not having to deal with issues later is so nice.

[–] dneaves@lemmy.world 4 points 8 months ago

Also, I take issue with the claim that OOP is all about "objects". It's also about classes.

Depending on the language, classes are just objects too. So its still just about objects.

[–] dneaves@lemmy.world 2 points 9 months ago

Hello world should look something like this: print("Hello, World"!)

You don't need the annotation line in Haskell-esque languages, most of the time. Without the annotation, this is Hello World in Haskell:

main = print "Hello, World!"

And when you need more complexity, it can still be far simpler than Unison (or Haskell)

import qualified Data.List as List
import Data.Function ((&))

processNumbers numbers =
    let
        isEven n = mod n 2 == 0
    in
    numbers
        & List.filter isEven
        & List.map (^2)

main =
    processNumbers [1, 2, 3, 4, 5, 6]
        & print
[–] dneaves@lemmy.world 3 points 9 months ago

i starts at 0, checks if i is less than n (the first time it will be, no matter what), prints a "#", then increments i by 1 and loops

[–] dneaves@lemmy.world 13 points 9 months ago (2 children)

Why does the for loop repeat after it exits to print a new line? If it exits the loop, shouldn't it be done with it?

There's the new line after the for loop to make sure that the next recursion starts on a fresh line. Otherwise the next recursion would print on the same line, right where it left off, and you'd just have a line of "#"'s. The for loop itself is just for printing "#"'s.

Why is n incremented and not i as stated with i++?

I think this is a confusion with the recursion. Look at the line with draw(n - 1); this happens before any printing of hashes happens, and only continues after its done. And it calls itself as long as it's not less than or equal to 0. To psuedo-code the order of operations here:

draw 3 {
    draw 2 {
        draw 1 {
            draw 0 {};
            print "#" * 1;
        };
        print "#" * 2;
    };
    print "#" *3;
};

so n is never incremented as you think, it just calls decremented versions of the draw function before the current one finishes. The i's are purely involved in the for loop, which only prints hashes. Does that make sense?

[–] dneaves@lemmy.world 7 points 9 months ago* (last edited 9 months ago) (2 children)

Although, i would agree with it not necessarily being "friendly", since its a drastically different syntax than many beginners would be used to, the brackets and parenthesis here are not what you think they are.

Unison is a language in the style of Haskell, F#, Purescript, Elm, etc. So that first line is actually type annotations.

In Haskell, this would just be helloWorld :: IO () , meaning a function named "helloWorld" with no arguments and produces what is essentally a potentially-unsafe IO action with a Void return (the empty parenthesis () ).

Here in Unison they call the bracket part "abilities" or something. Its saying the same thing as Haskell, but being more explicit in saying it can raise an exception.

[–] dneaves@lemmy.world 2 points 10 months ago (1 children)

I think maybe starting with Leninism, what youre saying may be true, but not with Marxism. I think this comment explains it a bit well:

comment

So the original Marxist idea would lead to withering-away of government, and thus zero parties, not one-party authoritarianism. But due to all the authoritarian implementations, people think of states like the USSR when they hear/see communism

view more: ‹ prev next ›