[-] netvor@lemmy.world 2 points 3 days ago

He's not into that, he's imprisoned and wants you to free him.

[-] netvor@lemmy.world 1 points 3 days ago* (last edited 3 days ago)

This should go to YSK.

(With @kamen's explanation from this thread or something like that.)

[-] netvor@lemmy.world 2 points 3 days ago

Does no one else see that Musk is becoming a cliche´ bond villian?

...

Does no one else see that Musk is becoming parody of a cliche´ bond villian?

FTFY

[-] netvor@lemmy.world 2 points 3 days ago

I could describe myself in similar terms as you described yourself; basically a nerd who can also program my way out of a paper bag (and maybe a leather one).

To me the term "tech bro" always meant someone between Elon Musk and some low middle class douche-bag who feels smart and adult about "accepting" that AI needs to be everywhere and we also need to pay for SW every month. Someone person who would say "bUt iT's fOrD mOdEl T" and has some Alexa non-sense in their house.

14
submitted 4 days ago* (last edited 4 days ago) by netvor@lemmy.world to c/philosophy@lemmy.world

I'm not sure if this is a right type of question for this community.

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:

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.)

[-] netvor@lemmy.world 2 points 5 days ago* (last edited 5 days ago)

my go_to NamingCovention: ANYTHING but camel-case 🤮

[-] netvor@lemmy.world 3 points 1 week ago* (last edited 1 week ago)

When it comes to identifying the server, hostname the first thing that counts. lemmy.world or mastodon.social or google.com are three different hostnames. At this point you can basically treat the period as no special character, it's just part of the funny world. This basically answers your question: those are two different domains, ie. for all purposes, different instances.

However, your computer does not really connect to hostname but to IP address, so the next important thing is to translate the hostname to an IP address.

Aside: a valid hostname does not even have to have period in it. For example, localhost is a valid hostname! But generally hostnames without periods don't get translated to any useful IP addresses. localhost is probably the only one widely used hostname but your OS will translate it to a special IP address which marks your own device.)

So to translate the hostname to IP address is done using so-called DNS. So before you can connect, your computer already knows an IP address of a DNS server, and asks it to translate the hostname to IP address. Technically, this is still not where the period is strictly important.

Where the period does start to be meaningful is when you think about: so we have billions of IP addresses, billions of hostnames, how do we organize it all? Who is going to maintain the huge massive list?

So it works like this: There are dozens of organizations, each of which is assigned one or more "top level domains" (TLD). Then they are responsible for maintaining lists of all hostnames ending with those domains. Many of these organizations are local to certain states. For example, in Czech Republic, where I live, we have organization called CZ.NIC which maintains all domains ending with .cz. So it's up to CZ.NIC how it manages permissions and gives out the domains. In this case, basically anyone can register any free domain ending with .cz, and what this registration means is that now they can get a server with an IP address, run whatever they want and have the registered domain name point to that IP address.

Note that other organizations may decide to add additional rules. For example .uk domains are managed with extra rules, where non-government (commercial) entities are normally allowed to register only .co.uk and other .uk names are not handed out easily. I don't actually know the details about .uk but my point is that if you are going to think about a hostname and how to begin to understand who owns it, first thing that matters is the TLD, and from that point the rules might be slightly different. To be fair, I haven't seen much variance between this; almost all public TLD's I've seen were either "simple", meaning myname.tld or this thing that UK does (also New Zealand, from the top of my head).

One almost universal rule is, though, that if I, say, register seznam.cz with CZ.NIC, then I automatically get not only seznam.cz but also any address I can possibly come up which ends with .seznam.cz. foo.seznam.cz, bar.seznam.cz, www.seznam.cz, I can now start organizing my servers using this whole infinite space, with any number of extra periods. I could totally start a business and start promoting my server foo.bar.baz.whatever.cz on billboards, as long as CZ.NIC grants me whatever.cz.

So back to your question: mastodon.social and piefed.social are two completely different domains. All we know that they have in common is that whoever registered them, had to deal with the same organization; that is whoever maintains .social.

So TL;DR: there's really nothing that suggests that they would be the same instance.

[-] netvor@lemmy.world 3 points 1 week ago

What's even worse that the stolen comment got much more engagement than the original.

I've seen her comments all around YouTube, and this always seems to happen to her. (I'm assuming it's because they are the most insightful, informative yet still on point.) Don't give up Barbara, some of us are seeing through the scam and rooting for you!

[-] netvor@lemmy.world 1 points 1 week ago

but no pepersplaining please

[-] netvor@lemmy.world 2 points 1 week ago

Is it AI though? I thought AI's are blocked from using celebrity faces.

I assumed someone made it with AI using unspecified faces and then photoshopped in the real ones.

[-] netvor@lemmy.world 9 points 1 week ago

ALL KINDS OF SUFFERING ARE MERGE CONFLICTS

GIT IS OUR MIRROR

REBASE IS HEAVEN

[-] netvor@lemmy.world 1 points 1 week ago

Also in my experience LLM can often propose solutions which are working but way too complex.

Story time: just yesterday, in VueJS I was trying to iterate over a list of items and render .text of reach item as HTML, but I needed to process it first. Note that in VueJS this is done by adding eg. <span v-html="item.text"></span> where content of the attribute is the JavaScript expression needed to get the text.

First I asked ChatGPT to write the function for processing the text. That worked pretty well and even used part of the JavaScript API which I was not aware about.

Next, I had a "dumb moment" when I did not realize that as I'm iterating through items I can just say <span v-html="processHtml(item.text)"></span>, that's all I really needed. Somehow I thought (or should I say, "hallucinated", ba dum tsss) for a moment that v-html is special or something (it is used differently than the most abundant type of syntax). So I went ahead and asked ChatGPT how to render processed texts while iterating.

It came with a rather contrived solution which involved creating another computed property containing a list of processed texts. I started to integrate it into the existing loop: I would have to add index and use that index to pull the code from the computed property, which already felt a little bit weird.

That's when it struck me: no, no, no, I can just f*ing use the function.

TL; DR: The point is, while ChatGPT was helpful I still needed to babysit it. And if I didn't snap from my lazy moment, or if I simply didn't know better, I would end up with code which is more complex, more surprising, which means harder to reason about for both humans and LLM's. (For humans because now it forces you to speculate about coder's intent, and for LLM's because it's less likely to be reminiscent of surrounding code in its learning data.)

[-] netvor@lemmy.world -1 points 1 week ago

Do you "discard" the water by... just letting it into the sink? How long before aresnic is everywhere?

78
submitted 1 month ago* (last edited 1 month ago) by netvor@lemmy.world to c/nostupidquestions@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.)

13
submitted 1 month ago by netvor@lemmy.world to c/programming@lemmy.ml

I initially wrote this as a response to this joke post, 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.

9
submitted 1 month ago by netvor@lemmy.world to c/programming@lemmy.ml

I started writing this as an answer to someone on some discord, but it would not fit the channel topic, but I'd still love to see people's views on this.

So I'll quote the comment but just as a primer:

The safest pattern to use is to not use any pattern at all and write the most straight forward code. Apply patterns only when the simplest code is actually causing real problems.

First and foremost: Many paths to hell are paved with design patterns applied willy-nilly. (A funny aside: OO community seems to be more active and organized in describing them (and often not warning strongly enough about dangers of inheritance, the true lord of the pattern rings), which leads to the lower-level, simpler patterns being underrepresented.)

But, the other extreme is not without issues, by far.

I've seen too many FastAPI endpoints talking to db like there's no tomorrow. That is definitely "straight forward" approach but the first problem is already there: it's pretty much untestable, and soon enough everyone is coupling to random DB columns (and making random assumptions about their content, usually based on "well let's see who writes what there" analysis) which makes it hard to change without playing a whack-a-bug.

And what? Our initial DB design was not future proof? Tough luck changing it now. So new endpoints will actually be trying to make up for the obsolete schema, using pandas everywhere to do what SQL or some storage layer (perhaps with some unit-of-work pattern) should be doing -- and further cementing in the obsolete design. Eventually it's close to impossible to know who writes/expects what, so now everyone better be defensive, adding even more cruft (and space for bugs).

My point is, I guess, that by the time when there are identifiable "real problems" to be solved by pattern, it's far too late.

Look, in general, postponing a decision to have more information can be a great strategy. But that depends on the quality of information you get by postponing. If that extra information is going to be just new features you added in the meantime, that is going to be heavily biased by the amount of defensive / making-up-for-bad-db junk that you forced yourself to keep adding. It's not necessarily going to be easier to see the right pattern.

So the tricky part is, which patterns are actually strong enough yet not necessarily obtrusive, so that you can start applying them early on? That's a million dollar question.

I don't think "straight forward" gets you towards answering that question. (Well, to be fair, I'm sure people have made $1M with "straight forward code", so that's that, but is that a good bet?)

(By the way, real world actually has a nice pattern specifically for getting out of that hole, and it's called "your competitor moving faster & being cheaper than you" so in a healthy market the problem should solve itself eventually...)


So what are your ideas? Do you have design patterns / disciplines that you tend to apply generally, with new projects?

I'm not looking for actual patterns (although it's fine to suggest your favorites, or link to resources), I'm mainly interested in what do people think about patterns in general, and how to apply them during the lifetime of the project.

173
submitted 4 months ago* (last edited 4 months ago) by netvor@lemmy.world to c/showerthoughts@lemmy.world

When I speak, unless I'm sharing the screen I always keep looking at myself. It's kind of strange -- it clearly does not match a real-world conversation, but somehow I can't help it.

Edit: More context -- I'm wondering if others have it, if this is something that can be explained by some "brain" thing, and also how does it affect the conversation.

37
submitted 6 months ago by netvor@lemmy.world to c/science@lemmy.world

Every time I try to understand how forces which hold atoms and molecules together work, I find myself wanting to ask this question: why not the other way around? Could there be an atom which has electrons and neutrons inside, and protons outside?

It feels like a silly question, but is there something we know about the universe we live in that implies that this is not possible?

34

This is not strictly self-hosted but another approach I which is similar in philosophy, and which I actually prefer in many cases: hosted services.

--

So about 5 years ago I got fed up with having to update nextcould (or was it owncloud? I don't recall) so I was looking for a hosting service.

Initially I expected this to be a bit of a burden on my budget (especially if one scales with users), but to my surprise, I found OwnCube (owncube.de), where the price was about EUR 18 per year. Great deal. So I went ahead, set it up, tested for a while and eventually ended up configuring my parents' phones to use it for storing contacts & photos instead of Google.

To be clear, I did not use nextcloud myself directly. I had been already paying for fastmail, and it's perfect, except it's single-user, so for myself I kept using fastmail, just synchronizing fastmail (using vdirsyncer) and owncube nextcloud just to have a backup and also alternate interface.

This was working perfectly, until one day, it broke. It just stopped working (throwing some errors on sync). When I opened my web interface there was just this message, saying the nextcloud intrerface is not compatible with PHP 8.0+.

Seemed understandable: they updated the underlying server to PHP 8.0 but not the Nextcloud instance. Not superb, but fine, I'll just open a support ticket.

However, the ticket went nowhere. The support engineer kept repeating something that amounted to,

  • they needed to update PHP for security reasons,
  • the plan I subscribed to does not "come with auto-updates",
  • so

I am responsible for updating the Nextclould instance, not them.

That does not make sense. I don't have access neither to the instance nor to the updater. All I can do now is stare at the message. Their admin UI did not provide anything, either (some "magic" button, URL or SSH access).

I pointed it out but they kept repeating themselves and eventually explained that I can either cancel the service and start it again (pay again!) -- which will give me updated NC but my data will be erased, or I can "book auto-updater" which meant I should pay one time fee about 70 EUR (more than double my yearly plan).

That does not make sense. I understand that I chose the basic mini plan, I can't expect anyone to jump over hoops. I also perfectly understand that any software can break because of version mismatch (after all, I'm a software engineer myself). But nobody knows how many times per year that can happen, so if I have to pay extra every time then my plan is unpredictable.

Sadly the ticket went nowhere, the support sounded like a broken record, with "pay X amount of EUR here" link. Seems like a definition of holding my data hostage.

Eventually I decided to cancel the service.

--

So the morale, I guess..?

  • Be careful to whom you entrust your data

  • Don't get too tempted with great prices. Make sure you understand what is (NOT) included.

  • DO keep your backups.

    • For me, vdirsyncer worked great; it is a bit pain to configure and troubleshoot but the architecture is great and it gives you opportunity to sync between independent accounts and even plain text files, which can be a life-saver. (Even sync with google worked.)
  • Consider having more instances.

    • Eg. you could pay one and self-host one, use the paid one as a primary access point (public internet, usually much easier), and the self-hosted one as a backup.
    • Alternatively, one could even share a pool of instances with friends, split the bill and sync both ways.
    • (You will still need an almost-always-running cronjob somewhere to sync the data, if you're going with vdirsyncer approach.)
35
submitted 1 year ago by netvor@lemmy.world to c/linux@lemmy.ml

Is there some mature and usable application or tool that would enable tracking desktop activities to aid in time tracking?

Over 10 years (back when I used Windows at work), I recall I was using an app on Windows -- I forgot what it was, definitely closed source, although very well made -- that would sit somewhere in the tray and just track my activities (mostly just active window title and app), and later it would enable me to look back at the data, analyze it and categorize the time.

I recall that for my rather ADD-ish brain, this was a life-saver.

I don't recall name of the app, but it looked kinda similar like timeBro (judging just from brief look at their web page and their demo)

I haven't seen anything like that for Linux -- I admit I haven't really tried to search very hard. Given the vast diversity of desktops (from GNOME to KDE to i3), technologies (Xorg to Wayland...) and work environments (native apps, web browsers, flatpaks, command lines, IDE's, Vim's, even SSH servers) I wonder if it would even be feasible to have something like this that would work reliably everywhere-ish and provide really useful data.

23

With any question, why is it always so helpful to know why the answer is the one that is? In another words, which principle of thinking and learning is most closely tied to question "why"? Or is it purely social act of expressing deeper interest? Is questioning for reasons mandatory?

I feel I know the answer to this question intuitively, but find it hard to express it into words without it sounding stereotypical and lazy.

This seems bizarre, because it's children who are most "famous" for asking "why" all the time, but: How would you, say explain to a child, why do we need to know reasons behind things?

168
submitted 1 year ago* (last edited 1 year ago) by netvor@lemmy.world to c/nostupidquestions@lemmy.world

This might be just EU thing, but is there an effective way to deal with endless "accept/reject cookies" dialogues?

Regardless of the politics behind, I think we can all agree that current state of practice around these dialogues is ...just awful.

Basically every site seems to use some sort of common middleware to create the actual dialogue and it's rare case when they are actually useful and user friendly


or at least not trying to "get you". At least for me, this leads to being more likely to look for "reject all" or even leave, even if my actual general preference is not that. I've just seen too many of them where clicking anything but "accept all" will lead to some sort of visual punishment.

Moreover, the fact that the dialogues are often once per domain, and by definition per-device and per-browser, they are just .. darn ... everywhere, all the frickin' time.

Question: What strategy have you developed over time to deal with these annoying flies? Just "accept all" muscle memory? Plugins? Using just one site (lemmy.world, obviously) and nothing else? Something better?

Bonus, question (technical take): is there a perspective that this could be dealt on browser technical level? To me it smells like the kind of problem that could be solved in a similar way like language -- ie. via HTTP headers that come from browser preferences.

19

When we go out of our comfort zone, go for some new adventure or new challenge, we will naturally pay more attention to what happens in our minds as we're going through this new experience.

"Demons", i.e. results of past bad, or even traumatic experience can be active during our daily life, often in various activities ranging from getting out of bed to talking to people where we have complex relationships (family members, co-workers, bosses, even kids..).

In daily life, random acts of these demons can go almost unnoticed, but that could be just because we're so much used to them acting that we've already normalized this "mischief" as normal facts of life.

One way of exposing them is talking to therapist.

Another way is learning to be mindful and pay more attention to oneself.

Yet another way is experiencing something new and unique -- our brain will naturally tend towards some sort of mindfulness, merely by instinct of being careful in new environment.

This could also mean that people that are burdened by these demons too much (or in particular "effective" ways) can't easily deal with the things that they discover about themselves, or that their demons act on some kind of "meta" level where they can smuggle themselves into the very process of this growth. As a result, they will tend to avoid these challenges which could lead to further spiraling deeper into "anti-growth", and so on...

6
404: FetchError: invalid json response body at http://lemmy:8536/api/v3/site

but don't worry, lemmy we love you 🥰, we can wait a while...

view more: next ›

netvor

joined 1 year ago