0 Followers
0 Following
1 Posts

What's your favorite well-designed CLI and why?

https://lemmy.world/post/44771657

What's your favorite well-designed CLI and why? - Lemmy.World

Regardless of what the app does and whether the thing that does is particularly useful, powerful or important for what you need to do (or even well implemented), what is a command-line interface that you had a particularly good experience both learning and working with? In other words, I’m thinking about command line interface design patterns that tend to correlate with good user experience. “Good user experience” being vague, what I mean is, including (but not limited to) * discoverability–learning what features are available), * usability–those features actually being useful, * and expressiveness–being able to do more with less words without losing clarity, but if there’s a CLI that has none of those but you still like it, I’d be happy to hear about it. Edit: Trying to stress more that this post is not about the functionality behind the tool. Looks like most of first responders missed the nuance: whether app x is better than app y because it does x1 ad x2 differently or better does not matter; I’m purely interested in how the command line interface is designed (short/long flags, sub-commands, verbs, nouns, output behaviors)…

What should be emoji reaction for "me too" in the general sense

https://lemmy.world/post/42295913

What should be emoji reaction for "me too" in the general sense - Lemmy.World

I’m not talking about #metoo stuff. Assuming we’re using a sane IM app that lets us use standard emoji as a reaction to a comment. I just mean when someone tells you that they did something and the only information that you want to convey back is that you followed them and did the same. More concrete example that i encounter few times a week: my pal tells me he’s reserved the gym slot at 17:00, so I reserve that time too and i just want to reply “me too” to let him know it worked for me. (The way it works between us is that we want to go together but since he’s got family etc. i always let him pick the time first and just announce his slot reservation, and i just want to confirm it.) Another example is if someone says “i signed this petition to support our Czech president who is protecting our democracy” then I want to say “yes I did it too”. Just a nod that we’re standing on the same side. (Come to think about it, it could technically be used in a #metoo adjacent context, like, if a friend told me “i was abused by my boss” and i could just use the emoji but that would be sooooo wrong on so many levels… You get the point.)

New X ToS (in case you still have a Twitter/X account)

https://lemmy.world/post/40398967

When washing, should I turn garments inside out?

https://lemmy.world/post/38126599

When washing, should I turn garments inside out? - Lemmy.World

At some point (in a galaxy, long long time ago) I learned to turn jeans, shorts and hoodies inside out when putting them into washing machine. For some reason, I don’t do the same with smaller, simple things like T-shirts and underwear. I forgot what was the reasoning behind it, but when I think about it, can’t seem to come to a conclusion which way is better. Is one way better than another and why?

So what the boink is Bazzite "cloud native" blah?

https://lemmy.world/post/24035206

So what the boink is Bazzite "cloud native" blah? - Lemmy.World

Look, I’m a Debian user for 15 years, I’ve worked in F/OSS for a long time, can take care of myself. But I’m always on a lookout for distros that might be good fit for other people in my non-tech vicinity, like siblings, nieces, nephews… I’m imagining some distro which is easy for gaming but can also be used for normal school, work, etc. related stuff. And yeah, also not too painful to maintain. (Well, less painful than Windows which honestly is not a high bar nowadays… but don’t listen to me, all tried in past years was to install Minecraft from the MS store… The wound is still healing.) I have Steam Deck and I like how it works: gaming first, desktop easily accessible. But I only really use it for gaming. So I learned about Bazzite, but from their description on [their main site][bgg] I’m not very wise: > The next generation of Linux gaming > [Powered by Fedora and Universal Blue] > Bazzite is a cloud native image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld. Filtering out the buzzwords, “cloud native image” stands out to me, but that’s weird, doesn’t it mean that I’ll be running my system on someone else’s computer? Funnily enough, I scrolled a bit and there’s a news section with a perfectly titled article: “[WTF is Cloud Native and what is all this][art]”. But that just leads to some announcements of someone (apparently important in the community) talking about some superb community milestone and being funny about his dog. To be fair, despite the title, the announcement is not directed towards people like me, it’s more towards the community, who obviously already knows. Amongst the cruft, the most “relevant” part seems to be this: > This is the simplest definition of cloud native: One common way to linux, based around container technology. Server on any cloud provider, bare metal, a desktop, an HTPC, a handheld, and your gaming rig. It’s all the same thing, Linux. But wait, all I want to run is a “normal” PC with a Linux distro. I don’t necessarily need it to be a “traditional” distro but what I don’t want is to have it running, or heavily integrated in some proprietary-ish cloud. So how does this work? Am I missing something? (Or are my red flags real: that all of this is just to make a lot of promises and get some VC-funding?) [bgg]: https://bazzite.gg/ [https://bazzite.gg/] [art]: https://universal-blue.discourse.group/t/wtf-is-cloud-native-and-what-is-all-this/5147 [https://universal-blue.discourse.group/t/wtf-is-cloud-native-and-what-is-all-this/5147]

Who benefits from the "14 Min Read" estimates popping everywhere?

https://lemmy.world/post/24033722

Who benefits from the "X Min Read" estimates popping up everywhere? - Lemmy.World

These things are nothing new. First time I saw them was on Medium com, if I remember correctly. Honestly I never understood why they were useful in the first place. Why would it even matter how long do I spend reading things? And how would such a guess even make sense in the first place? I mean, define “reading” – is it just skimming the text with your eyes and not even thinking about it? Or somehow thinking at the exact same rate & speed for all parts of the article, from intro to any novel ideas to unclear parts to conclusion? Also, doesn’t putting a “minute price tag” on a body of text kind of devalue it? Disclaimer: I’m probably heavily biased here, all I can think of is some sort of a pseudo book nerd who wants to be as efficient at “reading” as many things as possible with no pauses for thinking, but there has to be a real serious reason why these guesstimates are ever really useful? (A more honest disclaimer: I actually find them distracting, to say the least. I am prone to problems with managing focus, as well as expectations, so sometimes when I open an article with curiosity, having this thing whisper to my ear “you must spend about 14 minutes and go away” is not helping. On bad days it sort of hurts even if I know it’s BS.) Again, this is not anything new but I wonder about it recently, since it’s been my feeling that I’ve been seeing them pop up more and more, even in places they make no sense (like programmer’s guides or API references). This suggests to me that they are getting incorporated into publishing platforms, and it’s more about turning them off than deliberately including them. What’s the deal?

packaging cross-arch: missing *amd64.changes

https://lemmy.world/post/19913483

packaging cross-arch: missing *amd64.changes - Lemmy.World

I’m trying to “build” (see below) a package for another architecture. I made it through (by disabling, frankly) most of the steps. Long story short, I end up running something like this: debuild -us -uc --host-type riscv64-linux-gnu -d -C/dev/null but debuild keeps failing on this line: […] make[1]: Leaving directory ‘/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0’ dh_shlibdeps -a dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package ‘zigdev’ in ‘…/zigdev_0.0.0+t20240906145412.egg.gbc271d0-1_riscv64.deb’. dpkg-genbuildinfo -O…/zigdev_0.0.0+t20240906145412.egg.gbc271d0-1_riscv64.buildinfo dpkg-genchanges -C/dev/null -O…/zigdev_0.0.0+t20240906145412.egg.gbc271d0-1_riscv64.changes dpkg-genchanges: info: including full source code in upload dpkg-source --after-build . dpkg-buildpackage: info: full upload (original source is included) debuild: fatal error at line 1062: can’t open zigdev_0.0.0+t20240906145412.egg.gbc271d0-1_amd64.changes for reading: No such file or directory So the *1_amd64.changes file does not exist, but riscv64 does: zigdev-0.0.0+t20240906145412.egg.gbc271d0 zigdev_0.0.0+t20240906145412.egg.gbc271d0-1.debian.tar.xz zigdev_0.0.0+t20240906145412.egg.gbc271d0-1.dsc zigdev_0.0.0+t20240906145412.egg.gbc271d0-1_amd64.build zigdev_0.0.0+t20240906145412.egg.gbc271d0-1_riscv64.buildinfo zigdev_0.0.0+t20240906145412.egg.gbc271d0-1_riscv64.changes zigdev_0.0.0+t20240906145412.egg.gbc271d0-1_riscv64.deb zigdev_0.0.0+t20240906145412.egg.gbc271d0.orig.tar.gz Building with amd64 architecture finishes correctly *_amd64.changes exists and is used. First, do I really need this .changes file? (I’m not planning to upload this to Debian archive.) And if so, how to make debuild use the correct file? The environment (when calling env inside rules file) looks like this: ASFLAGS= CFLAGS=-g -O2 -ffile-prefix-map=/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0=. -fstack-protector-strong -Wformat -Werror=format-security CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2 CXXFLAGS=-g -O2 -ffile-prefix-map=/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0=. -fstack-protector-strong -Wformat -Werror=format-security DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/11111/bus DEBEMAIL=Me [email protected] [[email protected]] DEB_BUILD_ARCH=amd64 DEB_BUILD_ARCH_ABI=base DEB_BUILD_ARCH_BITS=64 DEB_BUILD_ARCH_CPU=amd64 DEB_BUILD_ARCH_ENDIAN=little DEB_BUILD_ARCH_LIBC=gnu DEB_BUILD_ARCH_OS=linux DEB_BUILD_GNU_CPU=x86_64 DEB_BUILD_GNU_SYSTEM=linux-gnu DEB_BUILD_GNU_TYPE=x86_64-linux-gnu DEB_BUILD_MULTIARCH=x86_64-linux-gnu DEB_BUILD_OPTIONS=notest parallel=8 DEB_HOST_ARCH=riscv64 DEB_HOST_ARCH_ABI=base DEB_HOST_ARCH_BITS=64 DEB_HOST_ARCH_CPU=riscv64 DEB_HOST_ARCH_ENDIAN=little DEB_HOST_ARCH_LIBC=gnu DEB_HOST_ARCH_OS=linux DEB_HOST_GNU_CPU=riscv64 DEB_HOST_GNU_SYSTEM=linux-gnu DEB_HOST_GNU_TYPE=riscv64-linux-gnu DEB_HOST_MULTIARCH=riscv64-linux-gnu DEB_RULES_REQUIRES_ROOT=binary-targets DEB_TARGET_ARCH=riscv64 DEB_TARGET_ARCH_ABI=base DEB_TARGET_ARCH_BITS=64 DEB_TARGET_ARCH_CPU=riscv64 DEB_TARGET_ARCH_ENDIAN=little DEB_TARGET_ARCH_LIBC=gnu DEB_TARGET_ARCH_OS=linux DEB_TARGET_GNU_CPU=riscv64 DEB_TARGET_GNU_SYSTEM=linux-gnu DEB_TARGET_GNU_TYPE=riscv64-linux-gnu DEB_TARGET_MULTIARCH=riscv64-linux-gnu DFLAGS=-frelease DH_INTERNAL_BUILDFLAGS=1 DH_INTERNAL_OPTIONS= DH_INTERNAL_OVERRIDE=dh_auto_install FAKED_MODE=unknown-is-root FAKEROOTKEY=2071757222 FCFLAGS=-g -O2 -ffile-prefix-map=/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0=. -fstack-protector-strong FFLAGS=-g -O2 -ffile-prefix-map=/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0=. -fstack-protector-strong GCJFLAGS=-g -O2 -ffile-prefix-map=/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0=. -fstack-protector-strong GPG_AGENT_INFO=/run/user/11111/gnupg/S.gpg-agent:0:1 HOME=/home/netvor LANG=en_US.UTF-8 LC_COLLATE=C LDFLAGS=-Wl,-z,relro LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libfakeroot:/usr/lib64/libfakeroot:/usr/lib32/libfakeroot LD_PRELOAD=libfakeroot-sysv.so [http://libfakeroot-sysv.so] LOGNAME=netvor MAKEFLAGS=w MAKELEVEL=2 MFLAGS=-w OBJCFLAGS=-g -O2 -ffile-prefix-map=/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0=. -fstack-protector-strong -Wformat -Werror=format-security OBJCXXFLAGS=-g -O2 -ffile-prefix-map=/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0=. -fstack-protector-strong -Wformat -Werror=format-security PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11 PREFIX=/usr PWD=/home/netvor/.cache/mkittool/debstuff/build/zigdev-0.0.0+t20240906145412.egg.gbc271d0 SOURCE_DATE_EPOCH=1456533483 TERM=rxvt-unicode ZIGDEV_ZIG_VERSION=0.13.0 ZIGSITE=/opt/zigdev ZIGSITE_PREP=debian/tmp/opt/zigdev Open “spoiler” below to read more about my goals. Since the fact I don’t actually want to build Zig properly here might confuse and annoy people, ::: spoiler Project overview First and foremost, I want to learn more and become more familiar with Debian build system as well as Zig and system-level programming. How I want to do it is to start creating zig-based binary packages for personal/experimental use. Now, already have a pipeline and tooling ecosystem which I use for Python and Bash packages: my system is DEB centric and handles package lifecycle from git repo to APT (or DNF, really) repository and I prefer when any new project can be immediately built and deployed as .deb. So now I want to add Zig support. But means my Zig-based projects will need something to put to Build-Depends, and since Zig does not officially provide APT repo, I want to create my own – this is what I’m focusing on right now. So I’m creating this hacky package called zigdev whose only purpose will be to exist in my internal APT repos and deploy /opt/zigdev/zig to my test machines. One day, this package will can be easily replaced by official zig package, so for now (while building this particular zigdev package), I’m trying to cut every corner I can: * I don’t actually build Zig, I just download tarball using curl. * I’m trying to disable every truly arch-specific step, since these would typically need arch-specific chroot or similar setup. For example, I don’t care about dynamic linking, stripping or reproducibility. Once I get this zigdev package running, I can start building my hello_world.zig’s and similar. At that point I will start slowly moving towards creating a more proper binary packages by refining an rules template for my zig projects (using zig tooling, though.) (All this while also learning Zig itself and system-level programming in general, of which I have almost no experience with, so that will move with glacial speed.) :::

Understanding The Apologist’s Evening Prayer

https://lemmy.world/post/19367548

Understanding The Apologist’s Evening Prayer - Lemmy.World

I’m not sure if this is a right format of question. The context is not essential, but in a recent video Alex O’Connor quoted “The Apologist’s Evening Prayer” by C.S.Lewis. As a non-native English speaker, I failed to understand it from hearing, so I looked it up but I still struggle with interpreting it. Can someone here help me out with “translating” to a bit simpler English? So here’s the poem, as taken from cslewis.com [https://www.cslewis.com/the-apologists-evening-prayer/]: > From all my lame defeats and oh! much more > From all the victories that I seemed to score; > From cleverness shot forth on Thy behalf > At which, while angels weep, the audience laugh; > From all my proofs of Thy divinity, > Thou, who wouldst give no sign, deliver me. > > Thoughts are but coins. Let me not trust, instead > Of Thee, their thin-worn image of Thy head. > From all my thoughts, even from my thoughts of Thee, > O thou fair Silence, fall, and set me free. > Lord of the narrow gate and the needle’s eye, > Take from me all my trumpery lest I die. Disclaimer: I’m aware that with poetry, interpretation can be problematic, but here’s my thought process: when I tried to look for “explanation” I haven’t found any, which hints to me that the text is not particularly ambiguous once you can see through the poetry part. (In other words, people who quote this don’t feel the need to add explanation since the meaning is rather clear for an educated native reader.)

In January, is it winter in Australia

https://lemmy.world/post/18184467

In January, is it winter in Australia - Lemmy.World

I mean, everyone knows that in January it’s hot in Australia, and in July it’s cold there. But do Australians call it “winter” in January and “summer” in July? Or does just “winter” imply hot weather and beaches, and “summer” implies winter, eh, i mean, snow sports and wool socks. And given that, most of the population lives in northern hemisphere, is there a body of dad jokes and culture tropes related to the fact that “we’re different”, or is it just too cringe and boring. (I realize both could be true on this one.)

LLMs as interactive rubber ducks (or Q&A trainers)

https://lemmy.world/post/18158054

LLMs as interactive rubber ducks (or Q&A trainers) - Lemmy.World

I initially wrote this as a response to this joke post [https://lemmy.world/post/18144181], but I think it deserves a separate post. As a software engineer, I am deeply familiar with the concept of rubber duck debugging. It’s fascinating how “just” (re-)phrasing a problem can open up path to a solution or shed light on own misconceptions or confusions. (As and aside, I find that among other things that have similar effect is writing commit messages, and also re-reading own code under a different “lighting”: for instance, after I finish a branch and push it to GitLab, I will sometimes immediately go and review the code (or just the diff) in GitLab (as opposed to my terminal or editor) and sometimes realize new things.) But another thing I’ve been realizing for some time is that these “a-ha” moments are always mixed feelings. Sure it’s great I’ve been able to find the solution but it also feels like bit of a downer. I suspect that while crafting the question, I’ve been subconsciously also looking forward for the social interaction coming from asking that question. Suddenly belonging to a group of engineers having a crack at the problem. The thing is: I don’t get that with ChatGPT. I don’t get that since there’s was not going to be any social interaction to begin with. With ChatGPT, I can do the rubber duck debugging thing without the sad part. If no rubber duck debugging happens, and ChatGPT answers my question, then that’s obvious, can move on. If no rubber duck debugging happens, and ChatGPT fails to answer my question, then by the time at least I got some clarity about the problem which I can re-use to phrase my question with an actual community of peers, be it IRC channel, a Discord server or our team Slack channel. — So I’m wondering, do other people tend to use LLMs as these sort of interactive rubber ducks? And as a bit of a stretch of this idea—could LLM be thought of as a tool to practice asking question, prior to actually asking real people? — PS: I should mention that I’m also not a native English speaker (which I guess is probably obvious by now by my writing) so part of my “learning asking question” is also learning it specifically in English.