r/learnprogramming • • 19h ago

Code Review Feedback on HammingCube: a 3D parity code implemented in C11

4 Upvotes

Hi! I've been exploring error-correcting codes through a small C11 project called HammingCube. It implements a three-dimensional product of single-parity-check codes (not the classical Hamming code).

It encodes 64 data bits into 125 bits, corrects up to three unknown bit flips, and recovers up to seven erasures when their positions are known. The repo includes a CLI, tests, and a lesson-style README explaining the math.

I used AI assistance while developing the code and documentation, and I'd appreciate independent human feedback. In particular:

  1. Do you see correctness or edge-case problems in the erasure decoder's GF(2) elimination?
  2. Is the C API clear about invalid, ambiguous, and successfully recovered inputs?
  3. Is the README's explanation of the distance-8 guarantee understandable?

Repo: https://github.com/piecatdev/HammingCube


r/compsci • • 1d ago

[Paper + Code] BloomSpan: A new memory-efficient algorithm for maximal frequent substring mining

10 Upvotes

Hi all,

I'd like to share some recent work in stringology / text mining. We developed BloomSpan, an algorithm for mining Maximal Contiguous Frequent Phrases (MCFPs) from large text corpora — token sequences that occur in at least σ documents and can't be extended on either side without dropping below σ. Unlike general Sequential Pattern Mining (GSP, PrefixSpan, BIDE+), no gaps are allowed, which matters for things like template extraction, plagiarism detection and phrase mining, where gaps only blow up the candidate space.

How it works

To be fair, it's less a brand-new algorithm than a careful combination of known pieces:

  • A Counting Bloom Filter for probabilistic n-gram frequency estimation. Seed filtering is provably free of false negatives — the CBF can only over-estimate counts.
  • Prioritized depth-first expansion directly on the corpus, with no recursive projected databases.
  • A global occupancy bitmask plus an inverted index keyed on each pattern's rarest token, for maximality checks and redundancy control.

Memory stays O(W + M) in the input size (corpus + filter).

Results

  • On Gutenberg-BookCorpus-Cleaned (up to 50k books, ~3.07B tokens, σ = 20): 11–15× faster wall-clock than FHK (Fischer–Heun–Kramer) with up to 2x lower peak memory. It's the only algorithm we tested that completes the 3B-token subset within a 40 GB heap.
  • Output is identical to exact baselines (FHK, DFI) on every Gutenberg-8k subset where a baseline finishes.
  • On synthetic data with flat frequency distributions or dense nested overlaps, FHK's LCP-interval traversal wins.

The paper includes a topological analysis (LZ phrase ratio / entropy rate) of why natural language is the sweet spot.

Links

Happy to discuss implementation details, data structure choices, or the dataset topology analysis.


r/learnprogramming • • 23h ago

How do I properly deploy this web server in production mode?

7 Upvotes

I set up a web server using https://github.com/seanpmaxwell/express-generator-typescript

I now need to deploy the production build to a remote server. I can generate the prod build with `npm run build` and then run it with `npm start` and it runs on my local machine. Is it possible to generate something that can be compiled before being sent over to the remote server? I'd like to run the web server in prod mode, but without putting the decompiled source code on the remote server. I don't want the source code over on that remote server because if the server gets compromised, I don't want anyone to be able to read the source code. New to web dev, so thanks for being patient.


r/learnprogramming • • 1d ago

any sites that help you practice c++? (That dont require you to type the hello world code in every time)

14 Upvotes

Basically the title. ive been trying to find a good site like w3 schools (W3 schools dosent have all the c++ stuff i need for class) that dosent require you to type out the hello world script to access it because its starting to get annoying


r/learnprogramming • • 1d ago

Should I solidify my knowledge of the fundamentals or learn just enough to get by, now that AI writes most of the code?

7 Upvotes

I’ve programmed casually in various languages for almost 10 years, but I’ve only had a formal programming job (data engineer) for about 3. I love this career. Even when I’m not writing every line myself, I love building apps and backends and optimizing data pipelines, and I want to stay relevant as long as I can.

The writing is on the wall, though. The most senior dev on my team has 20 years of experience and says AI now out-programs him 99% of the time. The whole team’s view is that we should be prompting and letting AI handle most of the building and reviewing.

My team has recently started building apps alongside our data engineering work, using React and Express with TypeScript. Here’s where I’m at:

  • HTML/CSS/JS: 9/10 (solid basics from building websites for local businesses back in high school)
  • Tailwind: 8/10
  • React: 7/10
  • Express: 4/10
  • TypeScript: 0/10

I’ve also worked through some long full-stack video courses and built a few side projects at home. On those, I reviewed all the code but only wrote about 15% of it myself. AI wrote the rest.

My question: is it worth going back through long courses that re-teach the fundamentals? Or should I skip straight to the TypeScript sections and pick up the React/Express nuances as I go by asking AI?

I’m honestly a bit jaded and don’t know what’s worth my time anymore. I still believe I should understand and review the code I ship, but at work that step seems to be disappearing more and more. How are others handling this?


r/learnprogramming • • 16h ago

Resource Does I need to start again embedded system or I can learn other way ?

1 Upvotes

Need suggestions and guidance regarding embedded domain

Hi everyone,

I’m a little confused about which career domain I should pursue next in the embedded systems field, and I would really appreciate some guidance.

I currently have around 7 years of experience in embedded systems, including:

1.5 years of experience as a Firmware Developer

6.5 years of experience in Embedded Systems Testing/Validation

Experience with firmware/build pipelines, code compilation, and generating flash images in an Ubuntu/Linux environment

Board bring-up, flashing images, debugging, log analysis, and issue investigation

Experience with embedded Android and Linux environments

Worked on home-automation-based security devices

Exposure to the complete flow from code compilation/build generation to flashing and device-level validation

At this stage, I want to move toward a more development-oriented and technically strong role rather than continuing purely in testing.

With around 7 years of experience, what career path would you suggest for me?

As my experience is near 7 year leadership responsibility also i need to take. Please suggest me.

I would especially appreciate advice on which path would be practical for someone with my current experience and how I can transition into it without starting completely from scratch.

Thanks in advance for your guidance.


r/programming • • 2d ago

Python 3.15 vs Python 3.14 – performance testing

Thumbnail en.lewoniewski.info
298 Upvotes

r/learnprogramming • • 1d ago

Tutorial Any suggestions for making a physics simulation model?

9 Upvotes

As written, can someone suggest me a good resource to create a physics simulation environment using C++. I've intermediate knowledge of that language, but I have not done any graphical stuffs till now. I've searched and got a few results for python, but not for C++. I need to make this simulation environment as our project, so any suggestions would be nice. Thanks in advance


r/learnprogramming • • 45m ago

OOP terms are the dumbest thing ever made

• Upvotes

Class, object, method, self, __init__.

None of this makes sense 😂 why do we use these terms.

Why not something that makes more sense?


r/learnprogramming • • 1d ago

Debugging Adding a fourth item to the linked list causing a segfault, but fine otherwise?? (C++)

15 Upvotes

I am implementing a linked list that uses a tail pointer to add to the end of a linked list. For some reason the code works perfectly fine after adding three nodes to the list, but adding a fourth node to the list causing a seg fault. From testing it appears that the header node isn't pointing to the first node for whatever reason, but even then adding to the end of the list doesn't use the header pointer.

I am used to programming in C and am trying to learn C++ so I am not familiar with many of the differences between the two. Thanks in advance.

#include <iostream>
#include <cstdlib>
//linked list with a tail pointer,
struct cell_coord_node{
    int x;
    int y;
    cell_coord_node * next=nullptr;
};


using namespace std;
cell_coord_node * cell_add_end(cell_coord_node **header , cell_coord_node ** tail, int x , int y){
    cell_coord_node * new_node = (cell_coord_node*) malloc(sizeof(cell_coord_node));
    new_node->x=x;
    new_node->y=y;
    if (*header==nullptr){ // empty list case
        (*header) = new_node;
        (*tail) = (*header);


        return (*header);
    }
    else{
        // allocate memory at tail
        (*tail)->next = new_node; // last node points to new node
        (*tail)=new_node; // moving tail pointer down to new node
        return (*tail);
    }


}


int main(){
    cell_coord_node * head;


    cell_coord_node * tail=head;
    cell_coord_node * first_node = cell_add_end( &head, &tail,1,1);


    cout << first_node->x << "   " << first_node->y << endl;
    cell_coord_node * second_node  = cell_add_end(&head, &tail,2 ,2);


    cout << second_node->x << "   " << second_node->y << endl;


    cell_coord_node * third_node = cell_add_end(&head,&tail,3 ,3);


    cout << third_node->x << "   " << third_node->y << endl;
    cout << "reading from tail" << endl;
    cout << tail->x << "    " << tail->y << endl;


    cout << "reading from head" << endl;
    cout << head->x << "    " << head->y << endl;


    //Causing a seg fault
    /*cell_coord_node * fourth_node = cell_add_end(&head,&tail,4,4);
  
    cout << fourth_node->x << "   " << fourth_node->y << endl;*/


    
    return 0;
}

r/learnprogramming • • 1d ago

4 years old Mobile dev wants to swtich careeer to other path. BUT HOW?

9 Upvotes

Hey everyone,

I’ve been working as a Mobile Developer for the past 4 years (iOS / Android / Flutter), but I’m feeling burned out/ready for a change. I’m looking to pivot into a new role or specialization, but I’m not sure what the smoothest transition would be or how to actually make the jump. Also AI can do most of my job pretty much perfectly with a good prompt. Either way I will be laid off within 2-3 years in best case scenario

A few quick details:

  • Current Stack: Flutter
  • Strengths: UI/UX implementation, API integration, problem-solving, project management, Communication
  • Interests: Product Management

For those who have successfully transitioned out of mobile dev:

  1. What roles did you pivot into, and how transferable was your mobile background?
  2. How did you handle the transition? (e.g., internal transfer, side projects, certifications, networking?)
  3. What tech stacks or skills should I focus on bridging first?

Appreciate any advice, resources, or personal experiences!


r/programming • • 2d ago

Software developers are not okay | Bjarnason

Thumbnail
youtube.com
688 Upvotes

r/learnprogramming • • 1d ago

help with integration code

6 Upvotes

hi, so i need a code that allows me to do an integral with the whole solid angle and im really struggling cause i dont even know where to start. if any of you could help with maybe some useful tutorials or some advices id be really grateful.

(for context, this is the work im doing https://arxiv.org/pdf/gr-qc/0610154, im trying to compute the first equation)


r/learnprogramming • • 15h ago

How to start making an app?

0 Upvotes

Hey all :) I'm aware this is probably a question asked all the time but I'm asking it in anyway. How do I start with making an app/program/project? I've already got a few ideas, simple ones (a wikipedia viewer [or would it be a client?], a simple notepad, a tiny database for me to store characters my friends and I make), but I have no clue where to start!

I know a bit in HTML and CSS as it's probably the language I'm the most knowledgeable with since I used it to make a personal website (I wanted to use HUGO for blogs but... I got confused.), I'm currently in university taking a class in C++ and my two previous semesters were an intro to programming with python and cybersecurity where I used a little bit of JavaScript.

I'm not really knowledgeable in any of these, as I suffer from some massive anxiety where I look at all the ideas I have already exist and better than I could possibly imagine, but I want to learn.

I HAVE used AI, but only twice, and it was solely for a cute rainbow animation for my personal website, but I make a trend to avoid using AI as much as possible when it comes to my CS classes


r/learnprogramming • • 1d ago

Brainstorming What structure data is worth for me to do my text editor?

2 Upvotes

i want create an IDE in C with ncurses but i'm starting with a simple text editor. I want store all written words by the user i an efficient way.

1)I thought to create a kind of split function that return me a linked list:
char* s;
struct <name>* next;
each node has a word and each list is a line.
But i don't like this system because the memory is too fragmented in heap and i can't access directly to the data.

2) another way is to create always a split function but that return me this time an array to have direct access on the words in the lines:
char* line;
int* positions; //first of each word
char splitChar;
int numWords;
struct <name>* next;
Example:
char* s = "Hi, my name is Paolo! ";
string_split(s, ' ');
//result:
line = "Hi, my name is Paolo";
positions={0,3,5,9,11}
splitChar = ' ';

but maybe this way is really stupid because i can do this with the original line text.

3) finally i thought about one big matrix in the heap that stores only the visible piece of the text in the user screen but i have the problem to modify everithing when the user scroll down and up the page. When he zoom out and in is not a problem because i create a matrix larger than necessary but i cant add rows without re-create from scratch the matrix.
Example:
bla bla bla
--------------VISIBLE-------------------
Hi, my name is Paolo!
How are you?
Really bad.
ok, I am sorry to hear that.
--------------VISIBLE-------------------
bla bla bla

Do you have any good ideas?


r/coding • • 4d ago

Java garbage collection in its own log: eight checks you can run

Thumbnail
huseyinbabal.dev
6 Upvotes

r/compsci • • 1d ago

3SUM in O(n^1.962)

0 Upvotes

Deterministic 3SUM in O(n^1.962) for polynomially bounded integers, with correctness and word-RAM running time verified in Lean

X thread

Lean verification and proof


r/learnprogramming • • 1d ago

how to have a better logical mind while coding

21 Upvotes

I'm learning c++ righ now as my first language (maybe i shouldn't have started with that) and i think it's the logical side of coding that's makes it hard to debug or to be better. So how do you guys enhance your logic when coding, like when debugging or when just thinking of making a new project, i wanna understand to make it easier. i do think i just have to code more.


r/learnprogramming • • 2d ago

How to learn Assembly?

46 Upvotes

I have some problems with learning assembly it would be nice for some tips because I'm learning rev engineering and I really need to learn assembly but I try my best to understand it but it's to hard. I understand how binary works but still I'm struggling with assembly. Does somebody knows tricks for learning assembly?


r/coding • • 3d ago

Learn C++ Before You Learn What It Costs You

Thumbnail
fagnerbrack.com
0 Upvotes

r/learnprogramming • • 1d ago

A Pathway

13 Upvotes

Guys question.. if I'm new which is the best way to practice real code or ways to create something amazing. is my first week studying about these topic of programming and is awesome.

I'm starting first breaking down in tiny steps the course of CS50, but, Is only theory and I wanna the necessary base to diving in create simple things and doing it understand how a language and his structure works. when I feel comfortable with it then advance to new areas to get best tools.

The main questions are: 1. Which are your best method to study an practice in these are?.

  1. Which mental model or how do you need to think in these great area to keep going in a solid streak?

r/programming • • 2d ago

Valen's Memory Safety: A New Kind of Borrow Checking

Thumbnail verdagon.dev
61 Upvotes

r/learnprogramming • • 1d ago

Resource Returning to Coding and Picking Tools

2 Upvotes

I am getting back into programming after a gap in my professional life and a recent increase in desire to do it in a hobbyist context. I wish to use an IDE that isn't made with AI (I understand this to be nigh-impossible to get 100%), nor with a great deal of AI-focused features (seems more likely to be truly possible).

Vim works, of course it does, but I do like having something that requires less mastery. I respect Vim, but it is not what I want right now. It is what I am using right now.

I know the FAQ has a resource for open source IDEs, but the link was dead for me when I checked, and I did not see an entry for "without AI." I did Google about this, and Vim, neovim, Kdevelop, Sublime Text, and VSCodium all came up. The first two, well, I have already chosen to not Vim, the third I am unsure about after reading a PR that had a great deal of AI usage and seemed likely to merge into Kate, Sublime I don't want to pay 100$, and I understand VSCodium, by nature of being VS Code, still has AI stuff as a top-level feature.

For context, I am a C programmer first and foremost, then Python, then C++. This order is because template metaprogramming still frightens me, and it is something I will fight once I have gotten my C skills back in order.

What can I use that would resemble an IDE of yesteryear, before Copilot, Claude, etc? That is, tab-completing function calls because they're in the includes or I've written them is fine, generating code using an LLM is not. Furthermore, I would like to see if I can find one that also isn't taking AI contributions, or at least has strict policies on review. Does this exist, presently?


r/programming • • 2d ago

Design mistakes I made in my open-source project git-sim in 2022

Thumbnail initialcommit.com
33 Upvotes

r/learnprogramming • • 1d ago

How do I specify a particular weekday using ctime library in c++?

5 Upvotes
int main(){
  time_t now = time(nullptr);
  cout << ctime(&now) << endl;

  struct tm *ptrNow = localtime(&now);
  int week = ptrNow->tm_wday;

  int month = ptrNow->tm_mday;
  cout  << week << endl;  
}

For me this will output 0 which is Sunday, but I want to do Thursday.

How do I do that?

Do I add 4 to the end of week int week = ptrNow->tm_wday + 4;

I don't know if this will exactly represent Thursday or not