@ericjmorey@programming.dev avatar

ericjmorey

@ericjmorey@programming.dev

Data Science

This profile is from a federated server and may be incomplete. View on remote instance

ericjmorey ,
@ericjmorey@programming.dev avatar

Every job has parts that you don't like. You need to learn the skills that you get paid to use or find someone to pay you for the skills you have.

Linux is as frustrating to someone that has built up a skill set with Windows centric knowledge base.

ericjmorey ,
@ericjmorey@programming.dev avatar

Languages that caught my attention were Julia, Clojure and Go.

What about these languages caught your attention?

What are some good resources for someone like me who likes to learn by doing things?

Check out https://inventwithpython.com/

ericjmorey ,
@ericjmorey@programming.dev avatar

Should be Scrimba.com

ericjmorey ,
@ericjmorey@programming.dev avatar

Pop!_OS is going to stand out with this new desktop environment. System76 is clearly giving it enough attention to make it as good or better than other Linux desktop environments.

ericjmorey ,
@ericjmorey@programming.dev avatar

I used to use that until I noticed that all open tabs for all logged in sessions are easily accessible through the menu or the "Firefox View"

ericjmorey , (edited )
@ericjmorey@programming.dev avatar

You can use this as an opportunity to have a conversation about what it is about those movies that she likes. This could open up to a larger conversation where you can connect and grow your relationship as mother and child. Or she might just say something vague and simple and you can ignore the movies while they sit in a separate library.

ericjmorey ,
@ericjmorey@programming.dev avatar

In that case, why aren't you using any other editor that can do the same? Why not just use VSCode?

ericjmorey ,
@ericjmorey@programming.dev avatar

"All punctuation will be considered but avoided where possible because street names and addresses, when stored in databases, must meet the standards set out in BS7666.

"This restricts the use of punctuation marks and special characters (e.g. apostrophes, hyphens and ampersands) to avoid potential problems when searching the databases as these characters have specific meanings in computer systems."

This seems like a dumb line of reasoning. The problem has never been the signs or punctuation in a database. It's that the people in charge don't even know what BS7666 even says.

ericjmorey ,
@ericjmorey@programming.dev avatar

It's strange to me people refer to the awk command rather than the AWK language.

ericjmorey ,
@ericjmorey@programming.dev avatar

I made devices to track wildlife via gps and an embedded simcard and GSM radio to report tracking data. It would be trivial to install a device to basically turn the laptop into one of those tracking devices. But this is beyond what a typical business would consider doing.

ericjmorey ,
@ericjmorey@programming.dev avatar

It's great to see that TUXEDO is having success with their European market for Linux pre-installed computers

ericjmorey ,
@ericjmorey@programming.dev avatar

Why do you say that? It seems that Poettering's reasoning for avoiding SUID binaries is sound.

ericjmorey ,
@ericjmorey@programming.dev avatar

It seems Poettering is convinced doas, while decreasing attack surface, depends on SUID binary implementation which is a concern in its own right. Poettering is trying to eliminate that dependency in his `run0' implementation to reduce the attack surface even further.

The relevant excerpt from the long chain of posts from Poettering's mastodon.social account is copied below:

... led various people to revisit the problem and come up with alternatives: most prominently there's probably OpenBSD's sudo replacement called "doas". While it greatly simplifies the tool and removes much of the attack surface, it doesn't change one key thing: it's still a SUID binary.

I personally think that the biggest problem with sudo is the fact it's a SUID binary though – the big attack surface, the plugins, network access and so on that come after it it just make the key problem…
… worse, but are not in themselves the main issue with sudo.

SUID processes are weird concepts: they are invoked by unprivileged code and inherit the execution context intended for and controlled by unprivileged code. By execution context I mean the myriad of properties that a process has on Linux these days, from environment variables, process scheduling properties, cgroup assignments, security contexts, file descriptors passed, and so on and so on. A few of these settings the kernel is nice…

… enough to clean up automatically when a SUID binary is invoked, but much of it has to be cleaned up by the invoked suid binary. This has to be done very very carefully, and history has shown that SUID binaries are generally pretty shit at that.

So, in my ideal world, we'd have an OS entirely without SUID. Let's throw out the concept of SUID on the dump of UNIX' bad ideas. An execution context for privileged code that is half under the control of unprivileged code and that needs careful, …
… manual clean-up is just not how security engineering should be done in 2024 anymore.

With systemd v256 we are going one step towards this. There's a new tool in systemd, called "run0". Or actually, it's not a new tool, it's actually the long existing tool "systemd-run", but when invoked under the "run0" name (via a symlink) it behaves a lot like a sudo clone. But with one key difference: it's not in fact SUID. Instead it just asks the service manager to invoke a command or shell under…

… the target user's UID. It allocates a new PTY for that, and then shovels data back and forth from the originating TTY and this PTY.

Or in other words: the target command is invoked in an isolated exec context, freshly forked off PID 1, without inheriting any context from the client (well, admittedly, we do propagate $TERM, but that's an explicit exception, i.e. allowlist rather than denylist).

One could say, "run0" is closer to behaviour of "ssh" than to "sudo", in many ways. Except that…

it doesn't bother with encryption or cryptographic authentication, key management and stuff, but instead relies on the kernel's local identification mechanisms.

run0 doesn't implement a configuration language of its own btw (i.e. no equivalent of /etc/sudoers). Instead, it just uses polkit for that, i.e. how we these days usually let unpriv local clients be authorized by priv servers.

By isolating the contexts and the resources of client and target we remove some other classes of attacks…

… entirely, for example this stuff:

https://ruderich.org/simon/notes/su-sudo-from-root-tty-hijacking

But enough about all that security blabla. The tool is also a lot more fun to use than sudo.

Read the rest where he explains run0's use and functionality beyond the design logic.

ericjmorey ,
@ericjmorey@programming.dev avatar

That doesn't seem to clear up anything other than indicating that the fork was motivated by wanting to do things differently for the sake of being able to do things differently.

Which is fine, I do this often enough. But I don't expect to get a lot of others to follow suit on that basis alone.

ericjmorey ,
@ericjmorey@programming.dev avatar

I guess it depends on what you're planning doing with NixOS or Aux. I wouldn't use it for anything new and critical. I'd figure out a mitigation strategy if I were relying on it for something critical.

But for experimental purposes, neither option seems like a bad call.

ericjmorey ,
@ericjmorey@programming.dev avatar

Disinvestment into Python, Flutter, and Dart is a clear signal that those tools are unimportant to Google. I won't be recommending that anyone use Dart or Flutter on new projects.

ericjmorey ,
@ericjmorey@programming.dev avatar

You shouldn’t have ever been recommending dart or flutter.

Why not?

ericjmorey ,
@ericjmorey@programming.dev avatar

Python is in essence the interface for AI tools that are optimized with languages that are easier to get high performance results with.

ericjmorey ,
@ericjmorey@programming.dev avatar

You seem to think Google cares at all.

Odd conclusion to draw. I'm simply not inclined to recommend tools that are not going to be supported by the organization that created them. Development ecosystems are important when planning a project.

ericjmorey ,
@ericjmorey@programming.dev avatar

I'm not sure how cononical is connected to this.

ericjmorey ,
@ericjmorey@programming.dev avatar

Interesting. This wouldn't be the first time that they pushed forward with tools that were later abandoned due to lack of uptake outside of the Ubuntu ecosystem if it comes to that.

ericjmorey ,
@ericjmorey@programming.dev avatar

Yes

ericjmorey ,
@ericjmorey@programming.dev avatar

Engineers over index in their own ways, but I think you're spot on with decoding the PR speak.

The Python team was very involved with the Python Software Foundation and was influencial with directing priorities for the Python programming language reference implementation (which is by far the most widely used implementation of Python). Google just gave up their say in how the language will evolve. Seems like an incredibly bad strategy. But then again, Google has been, from a financial perspective, nothing more than a digital classified ads platform for decades. If a smart MBA were running Google they'd start spinning off divisions into new IPOs and cashing in with dividends like other large conglomerates have done in the past when they have stopped inovating or actually commit to their projects long term.

ericjmorey ,
@ericjmorey@programming.dev avatar

They're hiring replacements in Germany, not India.

ericjmorey , (edited )
@ericjmorey@programming.dev avatar

It looks like your reply got submitted multiple times.

I agree with you now about preference for web apps, but that was not the case when Google started pushing Flutter.

ericjmorey ,
@ericjmorey@programming.dev avatar

Yes. I was just giving accurate information, not making any sort of argument.

ericjmorey ,
@ericjmorey@programming.dev avatar

OOF

ericjmorey ,
@ericjmorey@programming.dev avatar

This really seems like something you should pay a lawyer to figure out what would get you the results you want.

ericjmorey ,
@ericjmorey@programming.dev avatar

In that case, probably not worth spending more time on licensing terms until later.

Good luck!

ericjmorey ,
@ericjmorey@programming.dev avatar

Oh. I thought "it" was your software project.

I see what you're saying now. I would not use this simply because profit is an unreliable measurement. A revenue based test makes more sense. Possibly adding an investment valuation test as well. Since many VCs encourage no initial revenue when they fund startups.

ericjmorey ,
@ericjmorey@programming.dev avatar

I’m not exactly sure what is meant by investment valuation tests. As an example, is the investment valuation supposed to be something like “the financial contribution to this repository cannot be more than 5x the estimated cost to contract the entire source code by a reputable institution?”

I mean a test for the latest round of funding of the company establishes a value of the company and if that value is over $x, the terms apply. Fir publicly traded companies, you could just use market capitalization.

ericjmorey ,
@ericjmorey@programming.dev avatar

I'm not sure that it's a matter of video vs text as much as it was the presentation style.

Making a video about your ideas probably wouldn't hurt.

Good luck!

ericjmorey , (edited )
@ericjmorey@programming.dev avatar

A text post on opensource@programming.dev is going to have people skim. A link post on opensource@programming.dev to a blog or webpage with a summary of intention posted in the body of the link post would get people in a better mindset to read the detail at the linked blog post.

I think you told a story from your perspective rather than introducing your idea from the perspective of trying to get the attention of a potentially interested audience that is in a casual browsing mindset. As a result, people were trying to skip past your story and get to the meat of the idea which wasn't presented concisely.

ericjmorey ,
@ericjmorey@programming.dev avatar

I agree with all of that.

ericjmorey ,
@ericjmorey@programming.dev avatar

It seems like you aren't the only person thinking about this

https://www.theregister.com/2024/04/30/bruce_perens_post_open_license/

I think you might be closer than Bruce Perens to a license that more people would be willing to use. However, they explicitly name and define machine learning model training as a prohibited use of the covered work.

ericjmorey , (edited )
@ericjmorey@programming.dev avatar

A few ideas:

Try to create a service that lets you send a message over ActivityPub to a lemmy community.

Try to use Elixir to read and then flip the 3rd bit of an arbitrary byte stored in your system's RAM.

Try to make a simple game in c++ compiled to Webassembly to be played in a browser.

ericjmorey ,
@ericjmorey@programming.dev avatar

I don't know which idea was good, but that's why I shotgunned 3 of them at you.

Have fun!

ericjmorey ,
@ericjmorey@programming.dev avatar

It's a shame that he didn't do a writeup on this. It's nice to have a video to demo the workflow, but it's really annoying to go back to the video to get details to try it yourself.

ericjmorey , (edited )
@ericjmorey@programming.dev avatar

That looks useful. Thanks for the pointer!

Unfortunately, in this case I'm not interested in a summary. I already watched the video and would need to refer back to it for details, not general concepts.

I'll definitely use that site in the future though.

Edit: looks like it's not so good for long videos.

[Thread, post or comment was deleted by the moderator]

  • Loading...
  • ericjmorey ,
    @ericjmorey@programming.dev avatar

    ChatGPT doesn't know anything, don't trust it.

    Possible to make career in free software?

    I'm a computer engineering undergrad in my finals and I really don't care about applying for jobs, there's so much competition and I hate just about every one of my classmates. I don't want to spend hours making shitty bloated proprietary software but 99% of jobs seem to be like that. Is it possible to actually make a career in...

    ericjmorey ,
    @ericjmorey@programming.dev avatar

    FYI, software development is considered a trade job by the US Department of Labor.

    ericjmorey ,
    @ericjmorey@programming.dev avatar

    I try to be positive here on programming.dev but someone gave you an incredibly thoughtful reply and you returned the favor with absolute disrespect. I think the only positive outcome here would be for me to simply block you and encourage others to do the same.

    ericjmorey ,
    @ericjmorey@programming.dev avatar

    I've been using https://darkreader.org/ with settings to make the text an orangey-yellow with a black background. I don't know what most websites are intended to look like by the authors. I really like the extension. I'm not sure if there's a way to make it do the reverse for you, but might be worth looking into.

    ericjmorey ,
    @ericjmorey@programming.dev avatar

    Awesome! I installed that Tranquility plugin too for those times when reader view in Firefox doesn't work, which I've been annoyed with but never looked for a solution. Now I have that solution!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • All magazines