251
1
submitted 11 months ago by yogthos@lemmy.ml to c/programming@lemmy.ml
252
2
submitted 11 months ago by vfreire85@lemmy.ml to c/programming@lemmy.ml

Some friends of mine are saying that this might be the next big thing on IT. As someone who still thinks of starting a new career in this field (just got my associate level certificate in system analysis after a long time being a journalist who works in PR), especially considering that my company is becoming a bottomless pit, should I start building my stack on this before things get really sour at my current job?

253
1
Qt 6.10 Released (www.qt.io)
submitted 11 months ago by JRepin@lemmy.ml to c/programming@lemmy.ml

Qt 6.10 is now available, with new features and improvements for application developers and device creators!

Highlights for UI builders include a new flex-box layout system for Qt Quick, and support for more vector animations in SVG and Lottie format. And we have listened to your feedback and made it easier to exchange data between C++ code and a Qt Quick UI developed in QML. Such data can then be used with the new SearchField control, or with a new FilledSurface graph from the Qt Graphs module.

If you prefer to maintain your existing codebase, upgrading to Qt 6.10 ensures your application automatically aligns with high-contrast system settings on both desktop and mobile platforms. This and other improvements in our accessibility implementation directly benefits users reliant on assistive technologies, improving usability and inclusivity without requiring any additional development effort.

In addition to these highlights, new APIs across the Qt modules bring increased flexibility and productivity for both QML and C++ developers, and for users of Qt Widgets and Qt Quick.

254
1

Apologies for being nonspecific, but I don't know how else to describe Bob's struggles. Bob has been on the team for over a year now, and his code is just... not okay.

To his credit, he can make something that works... but that's not enough. His code belongs on programming horror. He's not supposed to be my junior; I'm just the repository's lead. I spend half my week helping him. Reviewing his pull requests takes hours because it's always a rats nest that needs significant refactoring/simplification. I'd love to say "do better" - but this is his best.

Most recently, Bob crashed his dev environment with a getter. (A mix of nested parsing logic with Angular's change detection = CPU crashed). It'd be impressive if it wasn't so irritating since I've already had a conversation with him about proper use of getters/setters. I even demonstrated how spammy the calls can be with a console.log statement for emphasis.

I could go on, but this is enough of a rant. I don't really know how to handle him going forward; I spend so much time helping and teaching him but he retains none of it.

Is there any hope for him? Any learning material? Advice on balancing my own sanity and workload?

255
1
submitted 11 months ago by ThorrJo@lemmy.sdf.org to c/programming@lemmy.ml

The new and updated data-sharing options will be released in the next couple of weeks with the upcoming 2025.2.4 update of JetBrains IDEs. Non-commercial users will get a notification about the updates in the terms of use. For holders of other types of licenses, if you never provided consent, nothing will change.

256
1
submitted 11 months ago by Ephera@lemmy.ml to c/programming@lemmy.ml

Found this article interesting. Some (technological) highlights for me:

She initially wrote simple Python scripts to help with chain-of-custody problems. Those scripts worked on her machine, but she had trouble delivering the software to the people who actually need it.

Yeah, Python, Java etc. are quite portable in theory, but we also always ship the runtime along with it at $DAYJOB, because we don't want to deal with different runtime versions and users failing to install them properly. And since the runtime is compiled for specific platforms, we effectively have non-portable artifacts anyways.

Deuson's first attempt at distributing her software was to bundle it using Kubernetes. That sort of worked, but it turned out to be hard to get it installed in police departments. Opening ports in the firewall is also often prohibitively hard. "Getting software into these environments is really difficult."

Eventually, she decided that the only way to make this work would be to write a single, standalone executable that does everything locally. It would need to be able to run on ancient desktop computers, in a variety of environments, without external dependencies. That's why she ultimately chose Rust to write FolSum.

I feel like our industry poured tons of effort into making things deployable via Kubernetes, but there's still an absurd amount of niches, where this just does not make sense. Always interesting to hear about yet another such niche...

One thing that users really liked about the Rust version of the application was that it starts quickly, she said. Lots of commercial software is big and bulky, and takes a while to start up, leaving users staring at splash screens. FolSum starts up almost as soon as the user releases the mouse button.

Yep, I never quite buy it when this is deemed unimportant in commercial software development. The chance of your software running all the time is really low. And if it's not running all the time, I need to start it before I can use it. If I need to wait a minute for that, that takes me out of my workflow and I'll kind of hate your software for it.

It turns out that non-technical users like the approach that she has called "GUI as docs", where the application puts the explanation of what it does right next to the individual buttons that do those things. Several users have told her that they wished other software was written like this, to her bafflement. For-profit software is often a forest of features, which makes it hard to find the specific thing one needs, especially if the tool is only rarely used, she said.

I've been looking to take that kind of approach for our GUI at $DAYJOB, too. Our software is not either something that users use all the time. They might not look at it for months at a time. It's ridiculous to assume that they will remember all the concepts, just as ridiculous as it is to expect them to look at a completely separate manual every time. So, just dotting help texts around the place seems like a good idea.

257
1
submitted 11 months ago by trevor@lemmy.ml to c/programming@lemmy.ml
258
8
submitted 1 year ago by yogthos@lemmy.ml to c/programming@lemmy.ml
259
12
submitted 1 year ago by yogthos@lemmy.ml to c/programming@lemmy.ml
260
7
submitted 1 year ago by trevor@lemmy.ml to c/programming@lemmy.ml
261
13
262
11
submitted 1 year ago by Ephera@lemmy.ml to c/programming@lemmy.ml

Result presentation (first 25 mins) and discussion of an accessibility study that Thunderbird ran. They explain various accessibility technologies (like screen readers, eye tracking etc.) and problems they encountered in their design when users relied on these technologies.

Nothing really groundbreaking in here, but still good for challenging one's assumptions.

263
7
submitted 1 year ago by trevor@lemmy.ml to c/programming@lemmy.ml
264
3
Agit-Flow and git-repo (git-repo.info)
submitted 1 year ago by yogthos@lemmy.ml to c/programming@lemmy.ml
265
13
submitted 1 year ago* (last edited 1 year ago) by promitheas@programming.dev to c/programming@lemmy.ml

Hello everyone!

I decided to learn ncurses a few days ago so I can do a project I've been thinking about lately, and in the process I figured since I'll go to the trouble of solving a bunch of the problems with writing relatively complicated TUIs with ncurses, I might as well generalise the solutions into a library or two for future me and anyone else who will find them useful.

Anyway, enough introduction, heres what I want to do with the library:

I want it to dynamically manage size and position of ncurses windows. This means windows should be able to be added, and removed (just those for now, I don't know if I'll implement resizing windows from the perspective of someone using the library to have that functionality), and have the size and position of the windows update automatically.

Initially I thought a binary space partitioning tree situation might be a good way to tackle this, but I want it to be a bit more flexible. For example, the dev using the library should be able to set certain windows to behave differently than leaves in a bsp (think persistent status bar at the bottom of the application, taking up the entire width but only a couple lines in height for example, or toggle-able file explorer on the left/right of the application like neovim's NERDTree).

How would you guys go about designing something like this, while still keeping the code relatively simple and efficient?

Here is a badly drawn diagram of what I mean:

Steps here refer to how someone using the library might go about creating each element (window) of their UI in their own project.

Until step 4 a bsp tree makes sense, but after that when I want to add a window which doesnt conform to the rules of a bsp tree, it gets a bit difficult.

Also, Im thinking there should be some way for windows to have some idea of their neighbours so that when a change occurs, they can adapt to it.

Anyways, essentially I'm looking for your thoughts on how you would go about implementing something like this.

Much appreciated!

266
6
submitted 1 year ago by yogthos@lemmy.ml to c/programming@lemmy.ml
267
3
submitted 1 year ago by trevor@lemmy.ml to c/programming@lemmy.ml
268
3
submitted 1 year ago by yogthos@lemmy.ml to c/programming@lemmy.ml
269
2
submitted 1 year ago by trevor@lemmy.ml to c/programming@lemmy.ml
270
2
submitted 1 year ago by trevor@lemmy.ml to c/programming@lemmy.ml
271
3
submitted 1 year ago by yogthos@lemmy.ml to c/programming@lemmy.ml
272
2
273
1
submitted 1 year ago by trevor@lemmy.ml to c/programming@lemmy.ml
274
25
275
1
submitted 1 year ago by trevor@lemmy.ml to c/programming@lemmy.ml
view more: ‹ prev next ›

General Programming Discussion

10011 readers
1 users here now

A general programming discussion community.

Rules:

  1. Be civil.
  2. Please start discussions that spark conversation

Other communities

Systems

Functional Programming

Also related

founded 7 years ago
MODERATORS