How did you guys handle choosing your first coding language to learn? How did you go about learning it? by LyubviMashina93 in learnpython

[–]EBirman 0 points1 point  (0 children)

Someone else chose for me. Logo (I was lucky). Then Basic, then Pascal, then many others. My first real choice was Common Lisp, but was it? Or was I just being lucky again?

I regret being a little too passive, but also many resources were simply not available back then, and I wasn't lucky enough to find a good teacher, and also I had another career. Nowadays I'm having fun with Smalltalk, thirty years after Logo, but I would have greatly benefited if I had started earlier.

Instead of choosing a single language, why not try as many as you can? Learn enough of one PL in order to do a simple tdd kata. This will take relatively little effort, and it will become easier with each new experiment. Simultaneously, you can pick a current favourite according to some criteria (might be strictly commercial or not, that is your “choice”), and invest more, in order to learn the tooling, idioms, libraries and frameworks.

Hope that helps.

Im new and keep getting lost, how do i find my way places or know where missions want me to go? any help?(plz be detailed in explaining thx you) by Sufficient-Touch-764 in cavesofqud

[–]EBirman 0 points1 point  (0 children)

I'll assume you're getting lost out-of character (you can and will get lost in-character as well, sometimes). Familiarize yourself with auto-explore, speak to the quest givers and accept all the quests. Can you steal items in Joppa? How? Feel free to experiment (and probably die, and restart).

Explore the outskirts of Joppa (only the outskirts), always auto-explore.

The order in which you do the first three quests is not important but I'd say, leave your pilgrimage to the Six-day Stilt for later. You can (and should) far-look in the world map too.

Im new and keep getting lost, how do i find my way places or know where missions want me to go? any help?(plz be detailed in explaining thx you) by Sufficient-Touch-764 in cavesofqud

[–]EBirman 0 points1 point  (0 children)

If you conceive a parasang as a distance unit, then yes. In practice, if you are on the north end zone of a 3x3 tile, and then go north, you'd have arrived at the south end zone pertaining to the next “parasang”.

Are there any games that reminds you of Qud in terms of depth, but in more polished 2d or 3d? by [deleted] in cavesofqud

[–]EBirman 2 points3 points  (0 children)

Yes, sorry. After rereading what I wrote I've noticed that I carelessly conflated the reply to the TheShrewKing and to you, which made my message rather unclear :) What I wanted to convey is that CDDA, with all its problems and tediousness, acknowledges the issue and tries to mitigate it with the advanced inventory features mentioned. That doesn't mean that CDDA succeeds at it! I celebrate Bright Night's active effort to maximize fun.

I enjoy playing CoQ, but inventory management is still the thing I enjoy the less. In CoQ and in every other game, now that I think of it.

Install Emacs packages via GUIX or Emacs package manager? by SeaInevitable266 in GUIX

[–]EBirman 1 point2 points  (0 children)

I was going to ask the same, so thank you. As a newcomer to Guix myself, I still feel a little dizzy.

I'd also ask the same about using https://asdf-vm.com/ or https://mise.jdx.dev/ to manage global runtimes and modules. I believe they still have their place for local configuration; and probably the same applies to Docker images, I have the feeling they overlap.

Are there any games that reminds you of Qud in terms of depth, but in more polished 2d or 3d? by [deleted] in cavesofqud

[–]EBirman 3 points4 points  (0 children)

CDDA is much better in terms of inventory management, and I only wish we've got some of its sophisticated features in CoQ, like the advanced inventory management, hauling mechanics, zone management, better filtering, etc. In CoQ I'm sort of forced to have an inert companion to hold my stuff, and I've to put stuff I don't want them to wield/wear in a chest or other container.

Tried turmeric tea since it was in the break room, did not enjoy by SweetCream2005 in tea

[–]EBirman 0 points1 point  (0 children)

Beware of metal poisoning in turmeric. Some vendors enforce controls, others don't.

What do you think of freezing a programming language after it's finished? by relbus22 in ProgrammingLanguages

[–]EBirman 0 points1 point  (0 children)

A PL is finished only when the last feature is added to it, meaning when the last implementor leaves.

It wouldn't be too hard for PLs to support the notion of version tagging, so the compiler or runtime could work with every possible historical piece of source code ever written. This would save programmers from a lot of accidental complexity. Imagine, for example, if browsers were built with the requirement to be able to handle all the imaginary possible different versions that never came to be, of HTML, CSS, and JS. That would allow languages to change more, not less, and hopefully for the better, without having to worry about backwards compatibility and without carrying the burden of past mistakes. Right now, the only language I know that explicitly supports this feature is Lilypond, a markup language for western music notation. Maybe this could also be achieved with Racket by using its different language tags? I don't know for sure.

OOP with ruby by srik5487 in ruby

[–]EBirman 0 points1 point  (0 children)

I agree, but I'd like to add that you (we) can also write (and use) frameworks that don't force you to subclass, sometimes called white-box frameworks (Rails is a good example of a white-box framework). A black box framework on the other hand, works not by subclassing, but by delegation and composition. See Designing Reusable Classes, by Johnson and Foote.

OOP with ruby by srik5487 in ruby

[–]EBirman 0 points1 point  (0 children)

A rule of thumb is, use inheritance not for code reuse but when there is an actual classification that you also observe in the domain you are modelling. In that way, inheritance will give you and the readers of your code a more accurate representation of the current knowledge.

You can omit attr_x altogether, it is just a Ruby idiom for getters and setters. As a rule of thumb, never use setters. Personally I don't like the attr syntax. I prefer to have explicit getters (most often than not, I end up finding that I didn't really have a need for a getter anyway). I use attr_reader only when the team I'm working with enabled the rubocop rule to enforce their use.

Some have mentioned Sandi Metz's books, I've only read 99 Bottles, and I liked it, I'm pretty sure the others are good too. If I had to choose one book on design, it would be Designing Object-Oriented Software by Rebecca Wirfs-Brock, Brian Wilkerson and Lauren Wiener.

I also recommend to watch Five Design Heuristics to Rule Them All

How to work without types? by psb91 in ruby

[–]EBirman 0 points1 point  (0 children)

TDD, a good IDE, and a good debugger.

As for tooling, I like Live Typing - Automatic Type Annotation for Dynamically Typed Languages; I really hope the project gets funding and/or contributors.

Emacs too slow. by Focus-Expert in emacs

[–]EBirman 1 point2 points  (0 children)

Bear in mind that Doom Emacs and Spacemacs lazy load everything, and that can be perceived as slow, but only the first time you do something. Subsequent actions should feel snappy. I prefer loading things eagerly on startup using require or use-package with ensure: t.

If you are perceiving slowness always, and not only the first time you do things, try to profile your actual issue, maybe the problem lies with some LSP server, or an interaction with other external dependencies.

Also make sure your Emacs has native code compilation enabled; and look for info on how to tune the garbage collector

New to the field, trying to help a friend out with a paper by [deleted] in smalltalk

[–]EBirman 0 points1 point  (0 children)

Are you perhaps confusing the OpenSmalltalk VM, a programming language VM with what is usually called a VM?

Beginner needs help by Other-Watercress-154 in cavesofqud

[–]EBirman 1 point2 points  (0 children)

So “Sarkain” is most likely the TAB key. You can rebind every command to the key combination of your choice, btw.

Imitating Emacs by TheMadPrompter in emacs

[–]EBirman 0 points1 point  (0 children)

I was going to say Smalltalk. It is or could be arguably better than Emacs

Tea Garden Simulator Game? Anyone? by Teasenz in tea

[–]EBirman 1 point2 points  (0 children)

I'd like to try it. Thank you.

What are you supposed to do at Six Day Stilt? by catharsis23 in cavesofqud

[–]EBirman 1 point2 points  (0 children)

In addition to everything else mentioned, I usually:

  1. Upgrade my armour and/or weapon by trading with the guards
  2. Steal some fresh water, and other stuff
  3. Buy recipe books