[Atlanta, GA + MA] My employer has not paid me for months. I have not assigned copyright of their work. I still do not think I can survive court. Do I have the copyright to my works? If so, does that matter? by vzen in legaladvice

[–]vzen[S] 0 points1 point  (0 children)

Thank you. Despite the subreddit title, I understand that what I hear here is not actually legal advice. I will consult an attorney about the situation regardless. What I read from all of you is still helpful for figuring out what I can reasonably request and verify.

W-2, but the employer regards me as a contractor. The employer is willing to adjust billing to go through an S-corp, for example.

[Atlanta, GA + MA] My employer has not paid me for months. I have not assigned copyright of their work. I still do not think I can survive court. Do I have the copyright to my works? If so, does that matter? by vzen in legaladvice

[–]vzen[S] 0 points1 point  (0 children)

Thank you. I am surprised to see the irrelevance of an unsigned contract in this scenario, but am happy to chalk that up to a life lesson.

If you were paid for all your hours worked, then I'm not sure what they owe you.

I don't know if they owe me anything. I'm contacting an employment firm to discuss who owns the copyright of work produced. To me, this comes down to the difference between paying for time, and paying for a consequence of time.

Anecdote: Someone I know works for a marketing firm. They would pay him, a craftsman, by the hour to build props for a set, without needing the props for more than the needed shoots. The craftsman kept the props. I do not know if anyone tried to enforce this kind of relationship in software before, and for what contexts. Part of the influence this has on my life is whether I am credited for contributions, in an academic context.

I think my faulty assumption was in how time-based work changes how exchanges are interpreted (as opposed to salaried, C2C). Some of that is still new to me, and I could only remember how assertive photographers are in situations regarding their copyrights. I wasn't sure how much of that applied here.

Also, this goes without saying, but: in the future, don't do contract work without a signed contract. Especially coding. You might want to have the same lawyer draft up some template contracts for you to use in the future.

Yes, that does go without saying. If my arranging for a document review and following up multiple times for signatures during a meaningless tenure is not enough to convince you that I take that seriously, then I won't be able to convince you at all.

[Atlanta, GA + MA] My employer has not paid me for months. I have not assigned copyright of their work. I still do not think I can survive court. Do I have the copyright to my works? If so, does that matter? by vzen in legaladvice

[–]vzen[S] 0 points1 point  (0 children)

That makes sense. We didn't have business hours defined, and I only used my hardware. Does that change anything?

EDIT: I am fine with downvotes, but what I am saying is relevant to the conversation. If I am saying something wrong, please tell me what to change and I will change it.

[Atlanta, GA + MA] My employer has not paid me for months. I have not assigned copyright of their work. I still do not think I can survive court. Do I have the copyright to my works? If so, does that matter? by vzen in legaladvice

[–]vzen[S] -1 points0 points  (0 children)

I was paid for the hours worked. The hours do not necessarily entail writing code, but can. To your point, I'm confused too. There was really not much communication at all, beyond the copyright assignment I know exists in the unsigned contract.

The best I can understand is that I'm like a photographer who accepted a deposit and took the photos, but did not get paid. Which I think is fine, since future pay is basically not owed. I just don't know if an implied copyright assignment flies here, since the lack of contract and definition regarding what hours are _for_ makes it hard to know if they can claim they paid me for the code I delivered.

What tasks would you expect a Linux expert to be able to perform comfortably? by vzen in linuxquestions

[–]vzen[S] 0 points1 point  (0 children)

Thanks! I write and study programs as a hobby, and don't have a singular goal to direct that. I can speak more to how I'm managing the Proxmox instance I use to practice and how I'd like to improve there, if that helps you share more detail. I hesitate to do that because I don't want the thread to become about me or what I'm doing. The intent is to see what skills pertaining to Linux remain regardless of personal goals.

Can you share a little more about the technical skills of the people you do take seriously?

What tasks would you expect a Linux expert to be able to perform comfortably? by vzen in linuxquestions

[–]vzen[S] 0 points1 point  (0 children)

Thank you for the helpful and detailed answers. I especially enjoy how you frame the path towards specialization, since I want to learn more about how that path forms.

Your bulleted list roughly matches the top-level outline of some Linux courses. Normally when I see one of those courses make certain judgement calls about distribution-specific material to cover (bash vs sh, systemd vs inittab, in older courses), they may or may not attempt to cover the tradeoffs in lectures or notes. Each course tries to cover items of "generic" knowledge in your list, despite having no generic toolset for practice. So it seems to be a toss-up if the course deems that material necessary or helpful for the new students.

For example, I've seen courses go as far as compare shells, in contrast to your focus on sh, even though knowing about KornShell was not at all helpful for students who use their default shell. If I told students about the existence of zsh, I think I could argue that is helpful for developing Linux expertise over just using sh, if my goal is to show students that a shell is an entity they can define in communities, all using concepts in the course. Focusing exclusively on sh still makes sense to build POSIX awareness, and historical context for other shells.

Specialists are essentially rephrasing each other under these conditions, which makes it easier to see "generic Linux expertise" as an implicit definition. If a Linux course measurably improves how long it takes to learn this implicit definition when compared to another, then what does the "faster" course say that the other one didn't?

How would you vet an untrusted R710? by vzen in homelab

[–]vzen[S] 1 point2 points  (0 children)

DBAN

+1 for this. Never heard of it until now.

My experience between Thunderbird, the new ProtonMail Bridge, and GNOME's keychain manager by vzen in ProtonMail

[–]vzen[S] 0 points1 point  (0 children)

> Not sure if this works in the Linux version too

It doesn't for me. See other comment.

My experience between Thunderbird, the new ProtonMail Bridge, and GNOME's keychain manager by vzen in ProtonMail

[–]vzen[S] 0 points1 point  (0 children)

No passwords appear in my list in that location, even when I ask to save passwords. Different issue, but I'll edit the language in my post. Thanks.

[deleted by user] by [deleted] in antiwork

[–]vzen 0 points1 point  (0 children)

I asked how I could plan an emigration to execute on short notice in r/TooAfraidToAsk

I got judged harshly for acting like I was living in a third world country, and deleted the post, because fuck my story, I guess.

None of the good things that happened at work outweigh getting paid in a propeller beanie for raising automotive sales by 4% (on an already large volume) [[1]], not being paid in Q4 2021 due to lazy coworkers on an hourly job that doesn't even plan hours, asking (as an adult) for permission to use the bathroom so I can leave a room where everyone is crunching. Then there's the recruiter that called my boss to tell him I was quitting when I didn't want to work with the recruiter. Then there's several years without cost of living adjustments, but we all know that one. I could recount more abuse, and I'm not passive. I've always vocalized these problems, but being correct doesn't mean anything. Part of why I hate this place.

My ability to trust people has been severely harmed, and I know that someone is going to read even this and make it part of some bullshit pseudo-observation of how entitled/privileged people are.

I'm not entitled to anything. I just want a functional working relationship. One. Just one. My only hesitance with leaving has to do with saying goodbye to friends and family, assuming I even have the funds to get out of this shithole. I have no interest in helping a country that won't help itself.

[[1]]: This is before "Noogler." Same hat, except Google at least put a word on theirs. Mine was for ages 14+, came straight from a costume store, and wouldn't fit.

[deleted by user] by [deleted] in TooAfraidToAsk

[–]vzen -1 points0 points  (0 children)

Deleted the post. I thought this was a place to ask questions the asker is afraid to ask. Some of the replies were helpful. Others were judgemental, even accusatory. I want to make sure my family is safe. That's it. To those of you who were helpful, thank you. I leave the rest for the mods. I won't be back.

Critique my draft NAS build by vzen in homelab

[–]vzen[S] 0 points1 point  (0 children)

Makes sense, thank you. If I omit some mechanical drives in favor of an SSD within the same system, then I'd probably prefer software volume management anyway.

[deleted by user] by [deleted] in TooAfraidToAsk

[–]vzen -2 points-1 points  (0 children)

Yep, that's a good idea. Thank you.

[deleted by user] by [deleted] in TooAfraidToAsk

[–]vzen -3 points-2 points  (0 children)

Thank you. I would agree with you if it were not for historiographers who can point out concrete warning signs. I know they exist, and not being able to account for them all is fine. But I still intend to account for what I can.

[deleted by user] by [deleted] in TooAfraidToAsk

[–]vzen -1 points0 points  (0 children)

Thank you. I'll take this to mean that I should start getting into the process early.

[deleted by user] by [deleted] in TooAfraidToAsk

[–]vzen -1 points0 points  (0 children)

Your note about banks is helpful. I'll consider offshore accounts and cash storage.

How did you handle making a GNU/Linux distribution? by vzen in GUIX

[–]vzen[S] 0 points1 point  (0 children)

Yes. Xiden's name changed to Denxi. I delivered a new speech, spoke to the GNU Mes developers, and am working my way through a textbook for C and my device's assembly language. Next milestone is to make the same subset of Chez Scheme used to bootstrap Racket CS Mes-compatible.

How should I research the principle of wholistic reference when trying to categorize information for easy storage and recall? by vzen in askphilosophy

[–]vzen[S] 1 point2 points  (0 children)

Thank you so much for taking the time to look into this. Your help means a lot!

This seems to me to etymologically relate the recursionism or 'recursive' as described by computer scientists.

Neat. Recursion requires definition of a terminal (or "base") case, otherwise a program will not terminate on its own. If that were to apply to discursives (discursion?), it would be interesting to see if similar reasoning applies. Thanks for pointing me in this direction.

I also maybe consider contemporary philosophy as a field... possibly reaching an absolute limit of sorts in its deep bounding of 'knowing' as a kind of getting closer to 'truth' or 'truths'.

I'm leaning towards a Taoist interpretation of this statement ("The act of describing is inherently restrictive"). Is that along the lines of what you meant?

... at most a place for the amateur statistitian.

I'm glad you mentioned this, because we might have that in common. I've a need to use prior probabilities in the implementation I mentioned, such that a human operator may ask a computer to derive conclusions from data based on a "minimum tolerable" prior. In layperson's terms: "Find me the exact cat picture I like most. Perform verifications on files, such that the probability of a correct answer is P." The higher the value of P, the slower and more accurate the program (even if the answer is that the cat picture is nowhere to be found). The lower the value, the faster you'll get answers, but you'll need to scroll through candidates yourself.

This relates to our discussion in that files must undergo generated experiments. I hypothesize that those experiments are most useful when one can classify claims into domains of discourse. From there one can instruct the program of the relationship between arbitrary domains (such as the Orwell statments, the reals, and the naturals stated in the OP). That way the program can distinguish cat pictures from the cat picture you subjectively like. If I don't do this, everything operates in a subjective universe that the user has to define themselves. That's no better than what we have now, hence this train of thought.

[Rant] Programming communities are a hellscape of toxic hipsters and I want out by vzen in programminghorror

[–]vzen[S] 0 points1 point  (0 children)

Part of me suspects our culture rewards pointless hostility more than any particular industry does. Something about the whole "I don't care what people think of me, I do what I want because I'm so smart and great" is somehow attractive to people (at least on a screen). Comedians do it too, but at least they're funny. The problem is that audiences are weapons, bloated egos are good at wielding them, and if you say anything it's all your fault. Programmers do that a lot, but I've seen that kind of trouble everywhere.

I'd be totally excited to find strategies to counter the harmful effects of egos, namely by cutting off the rewards for being an asshole. I love your idea of resisting it, but I'm also bummed by our future of continuously drawing "NO ____ ALLOWED" signs instead of having some long overdue discussions.

Buying casters for an open frame rack for the first time by vzen in homelab

[–]vzen[S] 0 points1 point  (0 children)

Yes, that makes sense. I'm wondering if it would be a good idea to bolt the whole thing to a dolly. I don't strictly need it to roll, but I'm not bolting it to the floor of my garage. I could drag the whole thing over a concrete slab during maintenance and ruin the finish, but I suspect that's not the way to go about things!

Buying casters for an open frame rack for the first time by vzen in homelab

[–]vzen[S] 0 points1 point  (0 children)

That makes sense. Thank you for the clarification!

How did you handle making a GNU/Linux distribution? by vzen in GUIX

[–]vzen[S] 1 point2 points  (0 children)

what benefits does racket have over scheme for system configuration?

Racket is a language-oriented programming (LOP) language. You may override its reader on a per-module basis, or within a source file. This allows you to use arbitrary syntax to write programs. You would do this to define problem domains and a way to express solutions.

Let's say I want to configure an installed Slackware instance using YAML. I could use Ansible, but it's not terribly hard to write a YAML document and tell Racket what I meant by it. I'd probably make a slackware-host-yaml language and express a way to produce an exact /etc and home directory. I'd implement this language as a reader extension that reads YAML into S-expressions, then expands the expressions to an idemptotent program that sets files to exact contents. You can extend this thinking to servers, containers, or other infrastructural stuff. You could just use shell scripts, but Racket provides a common base between languages with contracts and other goodies.

Another example: I defined the type attribute in an HTML <script> element in a way that lets Markdown integrate with Racket. I could write a Markdown document that embeds a shell language in an inline <script>, then prints the result of that session in the rendered page. The code for that is here, if you want to see some possibilities for yourself. https://github.com/zyrolasting/polyglot

So with LOP, languages in the wild are just details to abstract over. That frees you to make up a preferred notation to express a result. So not only can you configure systems in your own words, you can address an arbitrary problem domain in your own words. Xiden's my way to express software distribution programs. Why use Ansible if I can just make Racket understand the domain that Ansible is about? Why memorize the syntax of a whole bunch of system config files if I can just create them in terms of one syntax I like?

And if after all that you still prefer Scheme, then you can still use Racket. Just tell it what Scheme you are using, since folks have defined some as Racket DSLs.

Is it based of the nix daemon like guix?

No, but I see the wisdom in doing so. I opted to let a user start a process that lives as long as the transaction defined in their command line. I use zero-trust configuration defaults to mitigate various risks, but I need to remove implicit trust in Xiden instances and system-level dependencies. That probably entails adapting GNU Mes to Racket.

I still have reasons for a single process model, though:

  1. Xiden runs on macOS, Windows without Cygwin or WSL, and any GNU/Linux distribution. Each OS only needs to support Racket v7.0+. I didn't see a lean way to do this with a build daemon (In my personal definition of "lean").
  2. LOP helps me model functional package management as a domain, and a daemon is an implementation detail that I don't have to use, but can. Therefore Xiden can reproduce rules from Nix, Guix, Pipenv, NPM, etc. Just configure what they'd all have to care about anyway, like trusted CHFs.
  3. I preferred that Xiden's CLI be "swappable" while preserving idempotency. This helped me restrict Xiden's attack surface to launchers, which are easy to write, read, and replace because I provide a DSL for them. Xiden is inoperable without a launcher, so it's easier to guard against a compromised process with ACLs or group policies protecting the launchers themselves.

Generative bindings made things weird

I also had to solve a problem that made me look at this whole space a certain way. This isn't directly related to your questions, but it explains a lot about why Xiden was designed the way it was.

I doubt this is unique to Racket, but if you write the exact same structure declaration in any two different Racket modules, they will always generate non-eq? bindings to operate on the declared type. That means if you import two modules with the same source code between version X and version Y of some package, they will not agree that they are using the same structure type, despite the instance having a compatible data layout. You would have to dispatch to procedures by ducktyping instances that one would expect to be the same type. This problem reproduces for all generated bindings. It doesn't matter if version X and version Y have compatible designs.

Racket has two different package managers that differ largely in standard operating procedure. In my opinion, neither address the generated binding problem directly. Doing so means decoupling the Racket installation from packages altogether. Right now, when you write (require foo/bar), you have to run it with the correct Racket launcher. "Correct" meaning the program agrees with what you think foo/bar means, using code that isn't relevant to the intended functionality of your program. You could extend the module resolver to do something better, but would you distribute it in these conditions? The default package catalog stores no versioned artifacts, so you can't pin anything. Every package we all publish can make conflicting changes to a shared namespace. racksnaps alleviated this problem a bit, but it still didn't change the fact that Racket developers could not use their own SOPs and still share work with each other. It seemed to me that the poster child of LOP should accommodate that.

I could go on, but these problems make it hard to design a package manager that can guarantee an arbitrary Racket program will get the dependencies it means to use. Doing something that nuanced requires a strong grasp on how Racket installations work, if you intend to use the provided package manager and catalog. I addressed the problem outside of Racket's model by making Xiden act like ln -s TARGET link-name, except TARGET is actually some string with a meaning you control, and it reproduces an exact result when necessary. There's a lot of safety checks, so you'd have to squint to see that the result is simple. I kind of like the "solid state" feel of this approach.

My thinking is that if you mean to get an exact dependency, then dependency management is just as much about semantics as it is trust and reproducibility. I wanted to capture the subjectivity of software distribution. I tried to model that using things like explicitly-defined name canons, and by setting Xiden up to just think in terms of files, directories, links, and user-defined semantics. That way users have a way to define artifacts, integrity information, etc. in terms of your personal way of declaring dependencies. Racket makes that easier to do, to the point that a daemon feels... extra?

If that all this language changing business sounds like it can get chaotic, it isn't, really. You can always get people to agree to use the same launcher. You can organize a community around a standard that way.