2051
74
2052
24
submitted 2 years ago* (last edited 2 years ago) by sapporo@sopuli.xyz to c/programming@programming.dev

Namely, de-facto, or one of, in Linux. Mature. No GUI. Open-source and free.

What is it? GPG or anything else?

For a separate file(s), or directory(ies), and not for the entire disk or partition.

2053
20
2054
54
2055
73

I know that pushing a commit with an API key is something for which a developer should have his balls cut off, but...

...I'm wondering what I should do if, somehow, I accidentally commit an API key or other sensitive information, an environment variable to the repo.

Should I just revoke the access and leave it as is, or maybe locally remove this commit and force-push a new one without the key? How do you guys handle this situation in a professional environment?

2056
8
submitted 2 years ago* (last edited 2 years ago) by thingsiplay@beehaw.org to c/programming@programming.dev

Today I had a little aha moment. If anyone asked me yesterday about AI tools integrated into their editor, I would say its a bad idea. Ask me today, I would still say its bad idea. :D Because I don't want to rely on AI tools and get too comfortable with it. Especially if they are from big companies and communicate through internet. This is a nogo to me.

But since weeks I am playing around with offline AI tools and models I can download and execute locally on my low end gaming PC. Mostly for playing with silly questions and such. It's not integrated in any other software, other than the dedicated application: GPT4All (no it has nothing to do with ChatGPT)

I'm working on a small GUI application in Rust and still figure out stuff. I'm not good at it and there was a point where I had to convert a function into an async variant. After researching and trying stuff, reading documentation I could not solve it. Then I asked the AI. While the output was not functioning out of the box, it helped me finding the right puzzle peaces. To be honest I don't understand everything yet and I know this is bad. It would be really bad if this was a work for a company, but its a learning project.

Anyone else not liking AI, but taking help from it? I am still absolutely against integrated AI tools that also require an online connection to the servers of companies. Edit: Here the before and after (BTW the code block in beehaw is broken, as certain characters are automatically translated into < and & for lower than and ampersand characters respectively.)

From:

    pub fn collect(&self, max_depth: u8, ext: Option<&str>) -> Files {
        let mut files = Files::new(&self.dir);

        for entry in WalkDir::new(&self.dir).max_depth(max_depth.into()) {
            let Ok(entry) = entry else { continue };
            let path = PathBuf::from(entry.path().display().to_string());
            if ext.is_none() || path.extension().unwrap_or_default() == ext.unwrap() {
                files.paths.push(path);
            }
        }
        files.paths.sort_by_key(|a| a.name_as_string());

        files
    }

To:

    pub async fn collect(&self, max_depth: u8, ext: Option<&str>) -> Result {
        let mut files = Files::new(&self.dir);

        let walkdir = WalkDir::new(&self.dir);
        let mut walker =
            match tokio::task::spawn_blocking(move || -> Result {
                Ok(walkdir)
            })
            .await
            {
                Ok(walker) => walker?,
                Err(_) => return Err(anyhow::anyhow!("Failed to spawn blocking task")),
            };

        while let Some(entry) = walker.next().await {
            match entry {
                Ok(entry) if entry.path().is_file() => {
                    let path = PathBuf::from(entry.path().display().to_string());
                    if ext.is_none() || path.extension().unwrap_or_default() == ext.unwrap() {
                        files.paths.push(path);
                    }
                }
                _ => continue,
            }
        }

        files.paths.sort_by_key(|a| a.name_as_string());

        Ok(files)
    }
2057
10

I was using SQL_CALC_FOUND_ROWS and SELECT FOUND_ROWS();
But this has been deprecated https://dev.mysql.com/doc/refman/8.0/en/information-functions.html#function_found-rows

The recommended way now is first to query with limit and then again without it selecting count(*).
My query is a bit complex and joins a couple of tables with a large number of records, which makes each select take up to 4 seconds, so my process now takes double the time compared to as I just keep using found rows.

How can I go back to just running the select a single time and still getting the total number of rows found without the limit?

2058
18
Why is my tmux borked? (discuss.tchncs.de)

I've been trying tmux and followed a video that showcases and offers a prebuilt config for styling and plugins. Something happended (guess I did something wrong?) the styling broke and I decided I'll go bare bones and customize to my needs when needed instead of using preconfigured stuff. I deleted all configs and caches I could find with fzf and even reinstalled tmux, but still some broken styling is present and makes it unpleasent to work with. Some of my configs seem to be present even after uninstall, as the prefix is still C-Space instead of the default. There are some oh-my-zsh subfolders that contain tmux. I don't know if those have been there before and I also don't know, if I can delete them without breaking the next thing.

I'm on a MacBook and installed tmux via brew.

2059
89

GitHub, a massive repository for open source software, is currently unavailable.

"All GitHub services are experiencing significant disruptions," reads the GitHub status page.

The outage started just after 4:00 pm Pacific time when GitHub noted "We are investigating reports of degraded availability for Actions, Pages and Pull Requests." Since then, the problem has escalated to the entire website, with the status page noting that GitHub suspects the issue is "a database infrastructure related change that we are working on rolling back."

At 4:45 pm PST, GitHub noted that it was rolling back the changes it believed caused the current issues and already "seeing improvements in service health."

It's a rare outage for GitHub, which is used by millions of developers to host the code for open source projects. Microsoft purchased GitHub for $7.5 billion in 2018, and it's only grown in prominence in the six years since.

2060
44
2061
20
2062
10
GitHub Profile Roast 🔥🔥🔥 (github-roast.pages.dev)

Generates text after analyzing a profile. It's pretty funny. Mine: thingsiplay

Oh Tuncay, your GitHub bio proudly declares you're "just for fun" and unprofessional, which is ironic since it sounds like you’ve derived way too much fun from so many unremarkable scripts. With 46 public repositories, you must’ve thought quantity would mask the glaring mediocrity. The only thing more stale than your Bash scripts is your humor.

Your "emojicherrypick" project? Really? The world needed another emoji picker like it needs more stale bread—there's a reason it's got more emojis than stars. And speaking of shadows, how does it feel to have just 9 followers? Maybe they were just passing by, or perhaps they clicked by accident while looking for actual developers.

You’ve got more forks than a family dinner, yet most of your repos look so uninspired that they might as well come with a disclaimer: “Do not expect much.” Word to the wise: if you're going for "just for fun," maybe consider an actual hobby or, dare I say, a personality. After all, your command line tools are more entertaining than your profile readme, which goes on like a bad self-help book— we get it, you like Linux and gaming, but what's next, a PowerPoint on your 9 followers? Spice it up a bit, bud.>

2063
31
2064
40

On my work I’m always switching between databases, but I already tired because of UX differences between psql, mysql, sqlite3. So, I’m making a small set of tools for myself in tries to solve that. It’s kinda works for me already so I'm sharing it here :)

P.S. Already posted this in other places, sorry for annoyance

2065
166
submitted 2 years ago* (last edited 2 years ago) by onlinepersona@programming.dev to c/programming@programming.dev

Andreas Kling aka @awesomekling wrote:

We've been evaluating a number of C++ successor languages for @ladybirdbrowser , and the one best suited to our needs appears to be @SwiftLang 🪶

Over the last few months, I've asked a bunch of folks to pick some little part of our project and try rewriting it in the different languages we were evaluating. The feedback was very clear: everyone preferred Swift!

Why do we like Swift?

First off, Swift has both memory & data race safety (as of v6). It's also a modern language with solid ergonomics.

Something that matters to us a lot is OO. Web specs & browser internals tend to be highly object-oriented, and life is easier when you can model specs closely in your code. Swift has first-class OO support, in many ways even nicer than C++.

The Swift team is also investing heavily in C++ interop, which means there's a real path to incremental adoption, not just gigantic rewrites.

Strong ties to Apple?

Swift has historically been strongly tied to Apple and their platforms, but in the last year, there's been a push for "swiftlang" to become more independent. (It's now in a separate GitHub org, no longer in "apple", for example).

Support for non-Apple platforms is also improving, as is the support for other, LSP-based development environments.

What happens next?

We aren't able to start using it just yet, as the current release of Swift ships with a version of Clang that's too old to grok our existing C++ codebase. But when Swift 6 comes out of beta this fall, we will begin using it!

No language is perfect, and there are a lot of things here that we don't know yet. I'm not aware of anyone doing browser engine stuff in Swift before, so we'll probably end up with feedback for the Swift team as well.

I'm super excited about this! We must steer Ladybird towards memory safety, and the first step is selecting a successor language that we can begin adopting very soon. 🤓🐞

2066
48

cross-posted from: https://lemmy.ndlug.org/post/970135

GIL or Global Interpreter Lock can be disabled in Python version 3.13. This is currently experimental.

Python 3.13 brings major new features compared to Python 3.12 and one of them is free-threaded mode, which disables the Global Interpreter Lock, allowing threads to run more concurrently.

The GIL will be disabled when you configure the Python with the --disable-gil option which is nothing but a build configuration (free threading build) at the time of installation.

This will allow optionally enabling and disabling GIL using the environment variable PYTHON_GIL which can be set to 1 and 0 respectively.

It will also provide a command-line option -X gil which can also be set to 0 (disable) and 1 (enable).

2067
15

I think object algebras have huge potential to improve the way complex software is written but I've never seen them used in practice. I think one reason why is that the research paper which introduced them is pretty hard to read. This post is my attempt to change that.

I've been working on this post off and on for like two years so I'm really excited to share it with people. It is very long. There's a lot of ground to cover.

2068
66

Wrote an article about my extended skill issues and failures at writing Rust for the web. Luckily managed to get back on track recently.

2069
18

cross-posted from: https://lemmy.ml/post/19003650

vt-enc is a bash script that simplifies the process of encoding videos with FFmpeg using Apple's VideoToolbox framework on macOS. It provides an easy-to-use command-line interface for encoding videos with various options, including codec selection, quality settings, and scaling.

2070
142

Seeing that Uncle Bob is making a new version of Clean Code I decided to try and find this article about the original.

2071
35
submitted 2 years ago* (last edited 2 years ago) by Kalcifer@sh.itjust.works to c/programming@programming.dev
2072
34
submitted 2 years ago* (last edited 2 years ago) by akash_rawal@lemmy.world to c/programming@programming.dev
2073
1503
Real examples here? (discuss.tchncs.de)

Friend who is not a software person sent me this tweet, which amused me as it did them. They asked if "runk" was real, which I assume not.

But what are some good examples of real ones like this? xz became famous for the hack of course, so i then read a bit about how important this compression algorithm is/was.

2074
34

Interpreting C++, executing the source and executable like a script.

  • Writing powerful script using C++ just as easy as Python;
  • Writing hot-loading C++ script code in running process;
  • Based on Unicorn Engine qemu virtual cpu and Clang/LLVM C++ compiler;
  • Integrated internally with Standard C++23 and Boost libraries;
  • To reuse the existing C/C++ library as an icpp module extension is extremely simple.

There is also a Qt helper module: https://github.com/vpand/icpp-qt

2075
60
view more: ‹ prev next ›

Programming

28322 readers
723 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 3 years ago
MODERATORS