Programming

18348 readers
169 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 2 years ago
MODERATORS
26
 
 

Tired of bloated image image viewers? Well, I was too and hence I created a dirt simple image viewer. Build from source or get it straight from AUR.

27
28
29
 
 

When I was in high school I found Sublime Text and learned "multiple cursors". Since then, I've transitioned to vscode, mainly because I need LSP (without too much configuration work) for my work.

I keep hearing about how modal editing is faster and I would like to switch to a more performant editor. I've been looking at helix, as the 4th generation of the vi line of editors. Is anyone using it? Is it any good for the main code editor?

The problem that I have is that learning new editing keybindings would probably take me a month of time, before I get to the same amount of productivity (if I ever get here at all). So I'm looking for advice of people who have already done that before.

My code editing does involve a lot of "ctrl-arrow" to move around words, "ctrl-shift-arrow" to select words, "home/end" to move to beginning/end of the line, "ctrl-d" for "new cursor at next occurrence", "shift-alt-down" for "new cursor in the line below", "ctrl-shift-f" for "format file" and a few more to move around using LSP-provided "declaration"/"usages".

I would have to unlearn all of that.

Also, I do use "ctrl-arrow" to edit this post. Have you changed keybindings in firefox too?

30
 
 

Macro keyboards are mini programmable USB keyboards that can be pressed to trigger shortcuts, a sequence of keypresses etc. They can have several layers so switching to a different one will trigger different keypresses from the same key, so e.g. different IDEs can be represented.

I've just bought one with a view to setting up shortcuts for debugging. Each IDE has its own unique keys for navigating through the code, so I figure it'll be nice to just press one key to start debugging and one key to step into instead of a combination of ctrl+whatever etc

Do you use one? If so, what do you use it for and what size do you use? Is it too big / too small?

31
32
33
 
 

Hi /c/programming,

I am developing PdfDing - a selfhosted PDF manager, viewer and editor. You can find the repo here.

Today I reached a big milestone as PdfDing reached over 600 stars on github. A good portion of these stars probably comes from being included in the favorite selfhosted apps launched in 2024 on selfh.st.

Here is a quick overview over the project's features:

  • Seamless browser based PDF viewing on multiple devices. Remembers current position - continue where you stopped reading
  • Stay on top of your PDF collection with multi-level tagging, starring and archiving functionalities
  • Edit PDFs by adding annotations, highlighting and drawings
  • Clean, intuitive UI with dark mode, inverted color mode and custom theme colors
  • SSO support via OIDC
  • Share PDFs with an external audience via a link or a QR Code with optional access control
  • Markdown Notes
  • Progress bars show the reading progress of each PDF at a quick glance

As always I am happy if you star the repo or if someone wants to contribute.

34
 
 

I know little about gradle and have only just started exploring it, so this is just a question out of curiosity.

It's supposedly a language agnostic dependency manager and builder, yet it seems to have only found its niche in Java. C/C++ projects could definitely do with dependency resolution...

35
 
 

I have in mind two options:

  • Code in the class being saved/loaded. The flows for each entity/model are in the same place, so it's easy to just have one file open to see all the functionalities of that class, but this means having more code in a single file.
  • Code in a dedicated class (like a factory)
    This makes each file smaller, but spreads flows of a single model into different parts of the repo, also because I'm thinking of having a directory /src/models and another like /src/export (or serialize)

What do you guys think?
What's your preferred way to organize the save and load flows?

36
37
38
 
 

Please accept this in the ethos of no stupid questions.

The only programming I do is to defy tracking by deleting hash lines after ? In the url.

Some popular sites I am embarrassed to admit to even viewing have found a way around this by offering me share links without the ?.

It’s Instagram I am ashamed to mention.

What do I do to get rid of the tracking now?

39
 
 

How can i connect imagine a Qt interface(C++) with a logic in java. I feel like I've should know this already but I don't, I know there are API but I don't want to do it,

More context: They told me to write an aplication, game such as 4 connect, battleship or that kind of games, so I've thought to make the "snakes and ladders", i knew how i could do the 2 thinks separately but I don't know how to connect the frontend with backend, even tho I knew the games should works with threads. So I don't know if I could do it with the interface in Qt, because the main porpouse of the practice is to work with threads

40
 
 

I'm currently making a Mastodon Bot, and I'm not entirely sure how to host it, like where do i ensure the API Access Token's and such aren't at risk of public view.

I've made sure, and I haven't pushed yet, but I've ensured that .env is inside .gitignore. I'm just unsure, and would love some help. This is just a little project I found on GitHub, and thought I'd might as well learn a few things of how things like this are developed.

41
 
 

Anybody heard of this before?

42
43
 
 

I'm a D developer who recently got into the whole WASM thing with it using betterC (I do plan to write my own very minimalistic runtime to allow me using classes yet again), and currently I'm looking into enhancing the language's support of WASM in one way or another, especially when it comes to two "exotic" types of WASM, externref and funcref (there's also exnref, but it's just before finalization, so I'm waiting a bit with that one).

Me and others also programming in D have experimented with LDC (D compiler with LLVM backend) attributes since those types supposed to be address space 10 and 20 pointers, but I don't know whether the issue is that LDC doesn't handle type/pointer attributes the way we expected it to thus ending up generating i32 instead, or that I specifically need to emit the types for the LLVM backend.

44
 
 

I am currently searching for a name that I can use for a software project. Id like to have a short one that has no real meaning associated with it. I already asked some ai's. All names that I found sound terrible or have some meaning attached to it. . Like the name is already used for some medication or so.

How do you guys come up with names?

45
 
 

With all the CDNs and content been served from several locations for a single web page for example, would it be possible to implement a maintainable whitelist in something like a proxy? Does it makes sense? Or I would break half of the websites?

46
47
48
 
 

How can it have a system partition which is read only and still make the user create and use its files? How does it differ from Linux in terms of permissions and user management? How are the users kind of "confined" in android?

49
 
 

I regularly hear people asking which programming language to learn, and then reeling off a list of very similar languages (“Should I learn Java, C#, C++, Python, or Ruby?”). In response I usually tell them that it doesn’t really matter, as long as they get started. There are fundamentals behind them.

What do I mean when I say fundamentals? If you have an array or list of items and you’re going to loop over it, that is the same in any imperative language. There is straightforward iteration and there is iterating over all unordered combinations and a few other patterns, but those patterns are basically the same in C, Java, Python, or Fortran. Having neural pathways that fluently express intention in these patterns, the same way you express thoughts in sentence structures in English, are fundamentals.

But not all languages have the same set of patterns. The patterns for looping in C or Python are very different from the patterns of recursion in Standard ML or Prolog. The way you organize a program in Lisp, where you name new language constructs, is very different from how you organize it in APL, where fragments of symbol sequences are both the definitions of behavior and become the label for that behavior in your mind.

These distinct collections of fundamentals form various ur-languages. Learning a new language that traces to the same ur-language is an easy shift. Learning one that traces to an unfamiliar ur-language requires significant time and effort and new neural pathways.

50
 
 

So when I started programming in 2001, it was du jour in the communities I participated in to be highly critical of other languages. Other languages sucked, the people using them were losers or stupid, if they would just use a real language, such as the one we used, everything would just be better.

Right?

This sort of culturally-encoded language was really prevalent around condemning PHP and Java. Developers in these languages were actively referred to as less competent than developers in the other, more blessed languages.

And at the time, as a new developer, I internalised this pretty heavily. The language I was in was blessed, obviously, not because I was using it but because it was better designed than a language like PHP, less wordy and annoying than Java, more flexible than many other options.

It didn’t matter that it was (and remains) difficult to read, it was that we were better for using it.

I repeated this pattern for a really long time, and as I learned new languages and patterns I’d repeat the same behaviour in those new environments. I was almost certainly not that fun to be around, a microcosm of the broader unpleasantness in tech.

At least, until I got called on it.

view more: ‹ prev next ›