Programming

423 readers
4 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 1 year ago
MODERATORS
26
 
 

Hi programmers,

I work from two computers: a desktop and laptop. I often interrupt my work on one computer and continue on the other, where I don't have access to uncommitted progress on the first computer. Frustrating!

Potential solution: using git to auto save progress.

I'm posting this to get feedback. Maybe I'm missing something and this is over complicated?

Here is how it could work:

Creating and managing the separate branch

Alias git commands (such as git checkout), such that I am always on a branch called "[branch]-autosave" where [branch] is the branch I intend to be on, and the autosave branch always branches from it. If the branch doesn't exist, it is always created.

handling commits

Whenever I commit, the auto save branch would be squashed and merged with the underlying branch.

autosave functionality

I use neovim as my editor, but this could work for other editors.

I will write an editor hook that will always pull the latest from the autosave branch before opening a file.

Another hook will always commit and push to origin upon the file being saved from the editor.

This way, when I get on any of my devices, it will sync the changes pushed from the other device automatically.

Please share your thoughts.

27
28
 
 

I'm trying to see how active a project is, but dependabot spam makes it annoying to find actual commits and to know if those commits are relevant.

There's no need for me to know chai was updated from 5.1.1 to 5.1.2, I want to see what were the most recent actual features implemented.

29
30
31
 
 

The title. I have read many technical books (mostly compilation, programming languages & automata) , blogs and whatnot, and recently borrowed the above mentioned book Volume4 (combinatorial problems) from a local library. Just to give a try since Knuth is such a respected person in computer science.

It is by far the most frustrating and maddening book i ever laid my eyes upon. The author doesn't make the slightest effort to explain why something is useful, changes examples before explaining why previous example is interesting or how it shows why X is useful. On page 8, he says that "Graeco Latin squares allowed to François Cretté de Palluel to do with 16 sheeps, what otherwise would require 64 sheeps". How & why ?? No fucking clue. I know i am not the smartest person on earth, but i would love a little hand holding here, you know to explain a concept he introduced 2 pages previously, and gave 3 random anecdotes about.

The writing style is a complete opposite of what I (and I believe, what are most people ) am expecting. If you know something, it won't be useful, and you don't know something : don't count on the book for explanation. I had the physical urge to slap Knuth. It's absolutely maddening.

He then goes on his little hobby to gather 5 letter-English-words, and gives some fancy looking graphs with fancy names (3 cubes, Petterson graph, Chvatal graph). For all what i know, it could be graphs called 42 and graph Blabla. Again no clue how it's useful, nor why it's interesting. He introduces some definitions and theorems.

I am on page 26 (thr book is thicker than a bible) i think i am done. This book will not make you a better programmer, i have no idea who and for what reason could possibly find it useful?

If you think i am overreacting and should continue reading, please tell me so, but i don't expect it to get better

32
33
12
Ghostty 1.0 is Coming (programming.dev)
submitted 3 weeks ago* (last edited 3 weeks ago) by CodiUnicorn@programming.dev to c/programming@programming.dev
 
 
34
 
 

Our workflows and productivity metrics regularly ask knowledge workers for things that do not make good knowledge work.

Bloggers on reddit lament how much “meta-work” and “not-work” exists in tech. They kvetch about the conversations and the waiting. They consider the principal engineer’s calendar, packed with meetings, quod erat demonstratum that those roles are “easy” and “airware.” They insist that, if they could manage to not get caught, they could keep several such positions simultaneously and never under-deliver on any of them. None of these jobs, they claim, ask them for all that much code.

35
 
 

I'm working on a python program, and i need to sync the results to an ipad as a todo list (with checkboxes)

I had been using google keep, and manually copying /pasting the data over from my cli based app. I will be out of the country for 2 weeks, so im updating my software to no longer being cli, and ideally syncing the final list to google keep or something similar, since someone else will be running the software. You know how normies get when they see a terminal window..

tried this googlekeepapi thing i found online, but the authentication was very complicated and i couldn't get it to work. There is no specific reason we need to use google keep, was just the first thing that came to mind when we set this system up, and it works well and is cloud based.

Do yall know of any service where i can programmatically generate checkbox lists, and sync them over the web?

I should note i do not have a server available to self host. could potentially spin something up locally with a raspberry pi, but would prefer not to have another potential point of failure.

36
37
38
39
 
 

A new proposal for C/C++ to force bytes to be 8 bits wide

40
32
submitted 4 weeks ago* (last edited 4 weeks ago) by souperk@reddthat.com to c/programming@programming.dev
 
 

I just finished reading this book and decided to share my experience with it.

About the Book

Continuous Architecture in Practice is a sequel to Continuous Architecture both written by Murat Erder, Pierre Pureur, and Eion Woods. The authors attempt to address feedback from their 1st book by navigating the reader through the Trade Financs eXchange (TFX) case study.

The book starts with a brief introduction to the core concepts of Continuous Architecture, including its 6 principles, as well as its essential activities:

  1. Focus on quality attributes
  2. Drive architectural decisions
  3. Know your technical debt
  4. Implement feedback loops

From then on the book switches focus to common architectural concerns:

  1. Data
  2. Security
  3. Scalability
  4. Performance
  5. Resilience
  6. Emerging Technologies

Each concern is tackled in a separate chapter that features an introductory quote, a definition along with some historical context, a list of issues an someone should keep in mind when architecting for that concern, a list of tactics, and a further reading section.

My Opinion

Overall, I liked reading the book, it gave me a lot of inspiration and a desire to learn more about particular topics. The book assumes a certain level of familiarity with software engineering which helps it focus on general concerns and avoid implemention specific details.

I particularly liked the Emerging Technlogies chapter as it offers a healthy view on AI, ML, and shared ledgers. It helps remove the fairy dust that's blinding our industry, and instead focuses on meaningful changes that actually provide value to a product.

Also, as someone with experience in software security I appreciated the focus on shifting left security concerns.

Who Should Read This

In my opinion, every software engineer can benefit from reading this at some point in their career. However, I wouldn't recommend it to a junior, if you are not already familiar with the topics covered in the book it could be intemediating.

PS I am not affiliated with the book or its authors in any way. I am just a person that read a book they liked wanted to share my experience.

41
42
 
 

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

The GNU Compiler Collection (GCC) support for the C23 programming language standard is now considered "essentially feature-complete" with GCC 15. As such they are preparing to enable the C23 language version (using the GNU23 dialect) by default for the C language version of GCC when not otherwise specified.

Preparations are now underway to set the default C language version of GCC to GNU23 as the GNU dialect of C23. Or in other words, implying -std=gnu23 when no other C standard is specified.

43
44
 
 

The latest update to the TIOBE Index reveals notable shifts in the world of software development. While traditional programming languages remain popular, many developers are seeking out technologies that can make sense of the vast amounts of modern digital data. Legacy languages like C, COBOL, Fortran, and Assembly still have their place, but they no longer take center stage.

45
 
 

https://positive-intentions.com/blog/qr-codes-as-a%20data-channel

QR Codes as a Data Channel

the demo in the blog article is a bit cluncky. here is a better link for it: https://chat.positive-intentions.com/#/qr

46
47
48
 
 

Today, we’re thrilled to announce Deno 2, which includes:

  • Backwards compatibility with Node.js and npm, allowing you to run existing Node applications seamlessly
  • Native support for package.json and node_modules
  • Package management with new deno install, deno add, and deno remove commands
  • A stabilized standard library
  • Support for private npm registries
  • Workspaces and monorepo support
  • Long Term Support (LTS) releases
  • JSR: a modern registry for sharing JavaScript libraries across runtimes

We are also continually improving many existing Deno features:

  • deno fmt can now format HTML, CSS, and YAML
  • deno lint now has Node specific rules and quick fixes
  • deno test now supports running tests written using node:test
  • deno task can now run package.json scripts
  • deno doc’s HTML output has improved design and better search
  • deno compile now supports code signing and icons on Windows
  • deno serve can run HTTP servers across multiple cores, in parallel
  • deno init can scaffold now scaffold libraries or servers
  • deno jupyter now supports outputting images, graphs, and HTML
  • deno bench supports critical sections for more precise measurements
  • deno coverage can now output reports in HTML

Deno is a single binary for the TypeScript and JavaScript ecosystems. Deno is secure by default (installing npm libs do not automatically have full system perms/access).

The new standard library stabilizes a vetted collection of safe binaries instead of having to search for and install random libraries for basic or common use cases with [or without] own security assessments.

Deno compile compiles the TS/JS project into a single binary.

The backwards compatibility to npm and npm/js frameworks enables deno usage in existing projects and with existing libs with the benefits of deno and a path to incremental migration.

The announcement video is worth watching. The intro is great.

49
 
 

Every second Tuesday of October Ada Lovelace Day is celebrated - to commemorate the famous English mathematician of the XIX century, and the first programmer in history.

To mark this occasion, we rounded up a party of games that are not only fun to play, but can teach you to think like a true engineer and feel like a tech wizard!

Welcome to Ada Lovelace Day Sale. Hello, world!

ends 14th (tomorrow)

50
 
 
view more: ‹ prev next ›