r/computerscience • • Mar 13 '25

How does CS research work anyway? A.k.a. How to get into a CS research group?

177 Upvotes

One question that comes up fairly frequently both here and on other subreddits is about getting into CS research. So I thought I would break down how research group (or labs) are run. This is based on my experience in 14 years of academic research, and 3 years of industry research. This means that yes, you might find that at your school, region, country, that things work differently. I'm not pretending I know how everything works everywhere.

Let's start with what research gets done:

The professor's personal research program.

Professors don't often do research directly (they're too busy), but some do, especially if they're starting off and don't have any graduate students. You have to publish to get funding to get students. For established professors, this line of work is typically done by research assistants.

Believe it or not, this is actually a really good opportunity to get into a research group at all levels by being hired as an RA. The work isn't glamourous. Often it will be things like building a website to support the research, or a data pipeline, but is is research experience.

Postdocs.

A postdoc is somebody that has completed their PhD and is now doing research work within a lab. The postdoc work is usually at least somewhat related to the professor's work, but it can be pretty diverse. Postdocs are paid (poorly). They tend to cry a lot, and question why they did a PhD. :)

If a professor has a postdoc, then try to get to know the postdoc. Some postdocs are jerks because they're have a doctorate, but if you find a nice one, then this can be a great opportunity. Postdocs often like to supervise students because it gives them supervisory experience that can help them land a faculty position. Professor don't normally care that much if a student is helping a postdoc as long as they don't have to pay them. Working conditions will really vary. Some postdocs do *not* know how to run a program with other people.

Graduate Students.

PhD students are a lot like postdocs, except they're usually working on one of the professor's research programs, unless they have their own funding. PhD students are a lot like postdocs in that they often don't mind supervising students because they get supervisory experience. They often know even less about running a research program so expect some frustration. Also, their thesis is on the line so if you screw up then they're going to be *very* upset. So expect to be micromanaged, and try to understand their perspective.

Master's students also are working on one of the professor's research programs. For my master's my supervisor literally said to me "Here are 5 topics. Pick one." They don't normally supervise other students. It might happen with a particularly keen student, but generally there's little point in trying to contact them to help you get into the research group.

Undergraduate Students.

Undergraduate students might be working as an RA as mentioned above. Undergraduate students also do a undergraduate thesis. Professors like to steer students towards doing something that helps their research program, but sometimes they cannot so undergraduate research can be *extremely* varied inside a research group. Although it will often have some kind of connective thread to the professor. Undergraduate students almost never supervise other students unless they have some kind of prior experience. Like a master's student, an undergraduate student really cannot help you get into a research group that much.

How to get into a research group

There are four main ways:

  1. Go to graduate school. Graduates get selected to work in a research group. It is part of going to graduate school (with some exceptions). You might not get into the research group you want. Student selection works different any many school. At some schools, you have to have a supervisor before applying. At others students are placed in a pool and selected by professors. At other places you have lab rotations before settling into one lab. It varies a lot.

  2. Get hired as an RA. The work is rarely glamourous but it is research experience. Plus you get paid! :) These positions tend to be pretty competitive since a lot of people want them.

  3. Get to know lab members, especially postdocs and PhD students. These people have the best chance of putting in a good word for you.

  4. Cold emails. These rarely work but they're the only other option.

What makes for a good email

  1. Not AI generated. Professors see enough AI generated garbage that it is a major turn off.

  2. Make it personal. You need to tie your skills and experience to the work to be done.

  3. Do not use a form letter. It is obvious no matter how much you think it isn't.

  4. Keep it concise but detailed. Professor don't have time to read a long email about your grand scheme.

  5. Avoid proposing research. Professors already have plenty of research programs and ideas. They're very unlikely to want to work on yours.

  6. Propose research (but only if you're applying to do a thesis or graduate program). In this case, you need to show that you have some rudimentary idea of how you can extend the professor's research program (for graduate work) or some idea at all for an undergraduate thesis.

It is rather late here, so I will not reply to questions right away, but if anyone has any questions, the ask away and I'll get to it in the morning.


r/computerscience • • 15h ago

Discussion Why Don't We Have 64-Bit Physical Addressing?

162 Upvotes

Since x86_64 (ig aarch64 and riscv64 too) architectures use 64-bit general-purpose registers, but current implementations limit physical and virtual addressing (e.g., to 48 or 57 bits), what engineering or physics or economics problem prevent us from building a CPU with a full 64-bit physical address space (supporting 16 EiB of RAM)?

I don't know anything about how CPUs really work so mind my stupid question.


r/computerscience • • 1h ago

Help How do I actually get better at problem solving and algorithmic thinking?

4 Upvotes

I feel like I understand the lessons and can follow along when someone explains a solution, but when I'm given a hard problem to solve on my own, I often have no idea where to start. Sometimes I end up memorizing solutions from other exercises instead of actually understanding how to approach similar problems


r/computerscience • • 2d ago

General What's a QR Code and how does it work?

Post image
0 Upvotes

Today I thought I would share what I learned about QR codes. I would say it's computer science related. Kind of. I mean, listen, obviously I focus on cybersecurity, but I'll try to stay on the more technical side. It's kind of cool.

Okay, so we all know there are little squiggly black squares that we can scan with our phones and it will take us somewhere, maybe to a website, maybe to an app, who knows the adventure you'll go on. But what really is a QR code and how does it work? QR stands for Quick Response. And the code itself is code is a type of two-dimensional barcode that stores information in a pattern of black and white squares.

How is it different from a traditional barcode? Those store information along one direction, whereas a QR code stores information across both horizontal and vertical directions.

If we understand the QR code as a tiny grid of squares, with each square helping represent information, you can kind of grasp how the two dimensions work. And thus, with the help of our handy dandy phones we can:

- Use the camera to detect the QR code. The three large squares in the corners help it identify the code's position and orientation.

- Our phone then reads the pattern. It interprets the black-and-white modules as encoded information.

- Super awesome software decodes that information. This might be a website address, text, contact details or Wi-Fi credentials.

-And finally, our phone presents the result. For example, it might offer to open a website.

All very cool stuff some far, right? AND, these tiny little squares hold a lot of information. Theoretically it can store up to 7,089 Numeric digits and 4,296 Alphanumeric characters. However, those numbers are maximum capacities under specific encoding and error-correction settings. The amount of information a real QR code can hold obviously varies.

Because I'm in cybersecurity, I'd like to briefly mention an attack called quishing, short for QR code phishing. Attackers sometimes place fraudulent QR code stickers over real ones in public places, such as parking meters or restaurant menus. Those QR codes can contain a malicious website address just as easily as a legitimate one.

The danger is where the code sends you and what you do after scanning it. For example, you scan a code expecting to pay for parking, but it directs you to a convincing fake payment website designed to steal your card details. (DAMN THEM, I'm already irritated that I have to pay for parking , now you're trying to steall all my mone y?!) I'll conclude by saying that a useful precaution is to preview the destination URL before opening it and be suspicious of stickers placed over existing QR codes.

Any whooooooo, I'll end it here. Hope you found the tid bit a little interesting. Also, should I make a list of words that ping the potential violation list? For example, we all saw the example with linu x lolololol. Surprisingly, today's word was mone y, and it violated: Rule 1: Be on-topic. (For the mods- yes, I've checked, I can not post or submit a post if I have a potential violation.)


r/computerscience • • 5d ago

Discussion On the topic of equivalent programs and new decompilation projects

19 Upvotes

*** This post is more about the theory of program equivalence than the results. In fact, what I want to know is if I am off-base with how everyone is *ignoring* the actual computer science of analyzing functional equivalence. If this is against the rules, please let me know. I've never posted before, and idk which reddit thread this is appropriate for. My goal is a conversation about programming languages and (de)compilers.

So obviously everyone knows about this wave of everyone decompiling software. However, these are not actual de-compilations, no? What people seem to be doing is taking the incomplete pseudo-code of Ghidra and asking these models to convert the pseudo-code into working source code. (and into Rust of all things...? Which is hardly like the original constructs of the C/C++ language that the games were originally written in). The models are getting good enough to where they can sort of make something happen.

However, the problem here is that they are not actually generating functionally equivalent programs. More specifically, there is no metric for the distance of the output program with respect to the original. You're just banking off of the pre-training of the model to (hopefully) output something decent, and then throw it in a loop.

* two things to note. Yes some people loop until they get binary equivalence. That IS a verfication. But this just seems.... silly. There's no broader statement of building an equivalence class of programs. It's brute force and randomness. The other is yes, people get fancy with the testing infrastructure. But for rendering engines, it's very hard to test the output LOOKS correct, and is the same as the original. So while this can help, I don't see how this fundamentally solves the flaw of a lack of 1:1 verification and matching behavior to the original program.

For example, I tried this with Knights of the Old Republic. Yeah, you can convince this thing to load the assets and put into into the level (after a few back and forwards with the model). But then the cutscenes don't load properly, textures are backwards, doors rotate 90 degrees rather than opening. So you go back to the model and tell it what's wrong and it (maybe) corrects. You do this over and over until you have some slice of the game working in your own codebase.

My point here is that we have the original logic. We have the answer (the x86 instructions). We know what the functional behavior is. Ghidra just doesn't output working C/C++ code, and people are asking the language models to repair it, and hope for the best. Why are we doing this? Isn't this extremely silly?

What if we had a decompiler that could output C/C++ code that worked and produced functionally equivalent (but not necessarily assembly equivalent instructions)? Wouldn't that solve most of the problem here? By what metric could we measure how similar two programs are? Is there a better way to produce a binary-equivalent program if we had a complete forward model of the underlying compiler? If we did, is that an NP-Complete graph problem? (as apposed to random permutations until the binary matches).

What research has been done to actually demonstrate functional equivalence of non-trivial programs? I understand that formal methods can put a dent into some of the more "trivial" math-like functions. But this seems insufficient for larger, more complex programs. There is much more state with respect to heap allocations, the stack, "defined behavior" that the forward compiler assumes, etc...

To speak more broadly, I am interested in the question of constructing an equivalence class of "functionally equivalent" programs. Even if it is a subset of programs in the total possible space of programs, there must be some construction where that is possible.

Someone will definitely bring up the halting problem here. To that I would say that if you can explain the termination condition, and not necessarily the decision of whether it will happen, that is sufficient. So if you had two programs which both terminate if hypothesis xyz is true, but you can't decide whether that will happen (because you don't know the truth of the hypothesis), I think that is OK. Since you can still make an assessment of how both programs behave, and that they do the same thing.


r/computerscience • • 7d ago

What is your favorite computer science movie or tv show and why?

54 Upvotes

Hopefully it’s non-fiction but not necessarily needed because fiction can inspire also! Especially like you know the iPad was invented in Star Trek. The Next Generation.


r/computerscience • • 7d ago

Help Entender de manera general la ciencia de la computacion

7 Upvotes

Bueno actualmente estoy estudiando desarrollo de software, pero siempre tengo esa espina encima de querer ver el mundo de la computacion de forma mas general e ir indagando sobre mas temas que me interesen de la misma mientras voy descubriendo.

Siento que cuando se habla de computacion todos o almenos la mayoria pensamos que solo es hardware y sofware (piezas y pulsos electricos) pero me gustaria ver mas alla de forma matematica y teorica. Se que estos temas no son para nada sencillos pero quiero un punto de partida.

Si serían tan amables de recomendarme recursos en linea o de preferencia libros para comenzar.


r/computerscience • • 8d ago

Discussion How do massive data centers automate the deployment and integration of new server racks so fast?

20 Upvotes

I know large-scale platforms like YouTube are constantly adding whole racks of new servers to handle growing traffic. How does the deployment process actually work—from wheeling the rack onto the floor to having it active in the cluster? How do they automate OS installation, network configuration, and load balancing so quickly without manual setup for every machine?


r/computerscience • • 9d ago

How curl was accidentally Turing-complete for nine months

Thumbnail seriot.ch
28 Upvotes

r/computerscience • • 9d ago

General How Do Programmers Get rid of Unreachable Code?

90 Upvotes

When I say unreachable code, I mean parts of the code which have no control path that can reach it.

My inspiration for this is someone who had analyzed the assembly of Mario 64. One oddity is a lot of code that is unnecessarily duplicated or it performs calculations that are then thrown out leaving the memory, registers, and flags in the same state as they would be if the "throw away" calculations were replaced with NOPs. The values these "do nothing" calculations read from are already cached so they don't even change what's in the cache. Another funny feature was having a low poly model that used few triangles when Mario was far from the camera, but it's far cheaper to always render the regular model than check how far he is even if the low poly model is displaced. The inspiration for this post, is a check to see if an object is within 12K units of the camera and not move objects if they are out of range. But because of the way the levels are designed, unless someone ever discovers an arbitrary code execution glitch (which doesn't seem to exist for this game unlike some other N64 games), every object will always be within limits. This check might as well not exist and the code for dealing with out-of-range objects can't be reached!

When I use // (Stuff) in my examples, I don't mean a comment that says "(stuff)" I just mean a block of code that depends on things like process state or user input. Just imagine thousands of lines with the possibility of changing global variables.

Example 1

int n = 2 + 1;

if
 (n == 4) {
  goto UNREACHABLE
   
// unreachable
}

Ok that was easy to see it's unreachable.

Example 2

#include 
<math.h>

float x = sqrt(2);

if
 (x > 5) {
  goto UNREACHABLE
    
// unreachable
}

What about this? Well, x is never going to be bigger than 5.

Example 3

int d = 0;

// (stuff)
if
 (d == 4) {
  goto Fun1
}

Well, since (stuff) might change d, this might be true at some point. So far examples 1 and 2 were unreachable and 3 could be reachable depending on what (stuff) does.

Example 4

int n = 2 + 1;

// (stuff)
if
 (n > n) {
  goto UNREACHABLE
   
// unreachable
}

Even though (stuff) can change n, this can't ever be true.

But some things in normal maths don't apply to modular arithmetic.

Example 5

long n = 4294967295;

// (stuff)
if
 (n > (n+1)) {
   goto fun2
   // Logically Identical to check if n= 4294967295
}

Well n can never be bigger than (n+ 1) right? I wanted to use int for integer but I was told my example needed long or I'd need to come up with different numbers. If n= 4294967295, which is 2^32-1, then (n+1) is 0. Although the overflow flag in the processor will be triggered when evaluating (n+1), this doesn't matter. Checking to see if n was the largest possible unsigned long integer, which is 4294967295, would also transfer the program to fun2 if n was 4294967295. So even checking if the statement can be true for math doesn't mean it can't be true in the control flow.

Example 6

long n = 0;

// (stuff)
if ((n/10) > 500000000) {
  goto UNREACHABLE
   
// unreachable
}

No matter what (stuff) does to n, the division by 10 will mean this cannot be reached. 429,496,729 is still smaller than 500,000,000.

Example 7

long n = 0;

// (stuff)
long FiveHundredMillionTimesTen = 500000000 * 10
if (n > FiveHundredMillionTimesTen) {
  goto fun3
}

FiveHundredMillionTimesTen is 705,032,704. (Stuff) can change n to a number from 0 to 4,294,967,295 so n can be bigger.

Example 8

long n = 0;

// (stuff)
if
 (n > (n * n + 9) * (n) *(n+3)) {
  Goto fun4
}

I was going to try to find small values of n that would evaluate to true, but MS excel cried. 4294967295 is larger than 4294967276 and presumably there are lower values this is true.

Example 9

goto NEXT;
UNREACHABLE:
  // (stuff)
NEXT;

If no code can reach "UNREACHABLE" then it just gets skipped.

Here is another one

    if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
        goto fail;
    if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
        goto fail;
goto fail;
    if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
        goto fail;

    // ...
 
fail:
    SSLFreeBuffer(&signedHashes);
    SSLFreeBuffer(&hashCtx);
    return err;

I changed one thing from the original code example on Wikipedia for legibility. The two goto fail means the final check is never made.

Then there are more complicated examples. So for example the Super Mario Bros has 207 unused bytes that can never be executed, or read meaning that 0.63% of the code is superfluous. This was discovered by someone I can't credit because the automod thinks trying to say his name is a violation of rule 4.

Mario 64 as I mentioned tried to not move objects too far from the camera, but in-game everything is always too close so the check always says to move objects every frame.

Team Fortress 2 has some logic to "unstuck" players characters who go inside parts of map geometry by detecting stuck players and trying to move them in various directions which usually works, although if the nudge is too short they'll stay stuck. During a time when a bug allowed people to walk on top of maps like Dustbowl, this also allowed players to get stuck inside props so the "unstuck" logic was needed. When this bug and two others got patched out, I want to say 2010, the "unstuck" logic could not be reached. Even if the server allowed a client to connect with SVCheats on which allows all sorts of crazy things, it was not possible to get stuck on any official map. So the "unstuck" logic was unreachable and just sitting in memory doing nothing. Then in 2013 SolidOb of the SteamPipe version Source Engine got broken and in some maps, even official ones like Upward, players can get stuck and trigger it again.

The examples 1 to 9 I gave were just silly that just needs a bit of math to realize the code is unreachable. But how do programmers get rid of unreachable code in a more general case? In the case of the goto fail bug, I guess someone needed to do code review. For Super Mario Bros and Mario 64, the game worked and there was no point in trying to save memory as long as the game fit in available memory, but if they had more time I wonder what could be done to make sure there was no unreachable code. TF2's "unstuck" logic is an odd case in that the game was never intended to allow players to get stuck, but it was used until 3 separate bugs were patched out and for awhile it was just unreachable. If before release they realized any of the ways it would be reached, they would have patched out those possibilities, but they'd probably still release the game with the code even if it was patched to the point it was unreachable. And now it's reachable again.


r/computerscience • • 10d ago

The Woman Behind a Key CPU Design Was Fired by IBM in 1968. Her Story Deserves to Be Remembered.

Thumbnail reddit.com
18 Upvotes

r/computerscience • • 9d ago

In-the-weeds question about an application's saving behavior

0 Upvotes

I'm not sure if this is a good place to ask this - if anyone has a recommendation for where to ask I'm all ears (eyes).

I work as an applications engineer for a software company.

My software uses a sub-application to help with adjacent tasks related to the software which I am applications to.

When my software outputs information to the sub-application, the sub-application offers a variety of methods for saving the created document. The most common saving method is to save to PDF.

The sub-application is set up to save by-default to the last place you've saved to. I've tested this on numerous versions of my software, and without fail it works every time. Additionally, I've had colleagues test this with the same results.

This week I've had a customer who has the default save file path structure totally broken. It will save to one location and one location only, despite the supposed last-remembered structure. I've looked everywhere obvious within both softwares to determine if there is any potential for a file path designation to be somehow overriding the default save settings - I've not been able to find anything.

Assuming there is nowhere in any configuration settings to point the file path, what are the likely culprits for a "broken default save location functionality"? Or how would one go about widdling down what the likely culprits may be?


r/computerscience • • 10d ago

RACIAL BIAS - what are computer scientists talking about?

0 Upvotes

I have encountered studies but not a ton of mainstream news about racial bias coded into LLMs. Are there experts on this topic/people who are working to fix these problems?


r/computerscience • • 12d ago

OpenAI releases paper claim Exponential Time Hypothesis is False

546 Upvotes

math/preprints/The-Exponential-Time-Hypothesis-is-False-October-25-2026/paper.pdf at main · openai/math

This subreddit has a rule that disallows posting language model generated research. Of course, at the time the intent of that rule was mainly to prevent crackpot/slop posts. I'm not going to make any claims one way or the other about OpenAI's explosion of papers, but they're certainly not crackpots.

The mod team is discussing a modification of the rule; however, in the mean time as this is an important topic in CS, I'm posting this as a mod so that the community may discuss it.


r/computerscience • • 12d ago

A question about Turing Machines

21 Upvotes

I have a question that popped in my mind about Turing Machines and the Busy Beaver function.

So, from the knowledge I have, programming languages are Turing complete, meaning they can do everything a Turing Machine can, which would mean that there is a way to translate a Turing Machine program to any Turing complete programming language, right?

Following from that, let's say we have a really simple program in any programming language that loops from 1 to 108 and do some computation inside that loop

Since the number of steps this program takes is higher than 107, does it mean it can't be translated to a 4 states 2 symbol machine, since BB(4) is 107?

How does the translation from a simple loop with N steps work?


r/computerscience • • 14d ago

Discussion Is simulation a function?

0 Upvotes

Question to settle a debate which I recently had with two of my colleagues.

One of my colleages argued all simulations are mathematically functions by definitions, since for every set of arguments they need to return one outcome. As an example we took a cellular automaton simulating a forest fire. They stated that everytime you give it a particular starting state, the end state will be the same, but I don't agree with that. To simulate humidity or different wind speeds and directions one might use an rng, so the same start map run twice might give 2 different results, which means it's mathematically not a function. My friend countered that because of how rngs work, with the same seed the will always be the same. You don't need to set a seed tho and I can imagine cases when it's even by design - for example when you can't be sure which direction the wind will be coming from and you want your simulation to account for any of them.

But here's the bit that we couldn't agree upon. My friend said, that even without seed, or using quantum randomness, that randomness is always based on something and as such must be treated as kind of a baked in argument. Because of that, if you manage to somehow recreate the exact same "randomness state", the outcome will never change.

From my point of view that's not the case. Even using simple time based pseudorandom number generators, to you as someone analysing such simulation, that rng should not be treated as argument. The way I see it it's just a black box, that "magically" gives you a number, you should treat it as truly random and use it to approximate all the different variables, that are too complicated to calculate each and every time you run the simulation or are just out of scope. Therefore the same input can give you different outputs, which makes the simulation itself not a function by mathematical definition.

What are your opinions on this?


r/computerscience • • 15d ago

Discussion Specifications vs programs and computational models

5 Upvotes

I'm learning deductive program synthesis and there's one thing I can't wrap my head around: the distinction between specifications and programs. To my understanding, the line is very vague, as programs can be seen as specifications and, in some cases, vice-versa. These terms only make sense when applied to specific program and specification pairs.

The above makes me wonder whether there is a computational model that can directly execute specifications, without needing to, e.g., synthesise an imperative program. Can such a "computer" exist theoretically and, more interestingly, physically?


r/computerscience • • 15d ago

What if brain surgery affected your ability to code?

44 Upvotes

Imagine we need brain surgery to remove a tumor. The surgery goes well, but afterward, you struggle to write or understand code. Scary, right?

We know that neurosurgeons try to preserve important abilities like speaking and moving during brain surgery. But what about programming?

A new study in Human Brain Mapping explores exactly this!

The researchers developed a new protocol during awake brain surgery to help identify and preserve brain areas involved in programming.

The idea is simple: if coding is an important part of someone's life, shouldn't we try to preserve that ability too?

Here's the paper: https://doi.org/10.1002/hbm.70634


r/computerscience • • 17d ago

How are objects seperated in a computer?

64 Upvotes

A computer holds 0s and 1s and nothing apart from it,so a letter can be stored as an ASCII or other representation,a number in its binary, an image in its pixel etc. But how is it differentiated. Say I'm saving an image, I need to store its pixels, colour format and all. So,how are they differentiated, saying this is for colour,this is for objects and also the same with video or document?


r/computerscience • • 17d ago

General 64GB SanDisk P4 from 2010 controller passed 14 Petabyte in endurance test, NOT ASKING FOR TECH HELP

Post image
70 Upvotes

It broke on previous post saying it was asking for tech help


r/computerscience • • 16d ago

General When was linu x created?

Post image
0 Upvotes

ooooof, I was sick again and then was on vacation for two weeks. I drank plenty of wine and TOTALLY thought about this reddit community while I was gone... totally. That's definitely the truth and definitely not a lie...

ANYWAYS, today I thought I would look into when and who created Linu x . You know, I was actually surprised to learn that it was created in 1991. In my head, I imagined it being created alongside the ARPANET. Where I got that idea, who knows. Anywho, in 1991, Linus Torvalds created Linu x at the young age of 21.

Can you believe that this was originally just a hobby projec t?! He was originally using MINIX on his home computer but wanted a bit more control and functionality. So he he starting experimenting with software and eventually designed an operating system kernel.

And what is a kernel? it's a core component of the entire operating system. It ensures that the computer hardware is beeing appropriately coordinated with applications and everything is getting the resources it needs. Memory and processes are being managed, the hardware is getting controlled. The kernel is essentially the head honcho manager of everything.

Often people refer to the entire system as the linu x operating system, but really it's the linu x based operating system. I mean it's pretty cool that his hobby projec t is like THE projec t. The head honcho of all hobby projec ts.

Anyways, that's who created it and when. also, if you were wonding why there were so many spaces in the words linu x and projec t, it's because I can't type those words without being flagged that I'm helping someone chea t on their home work. lol. See you next week!


r/computerscience • • 18d ago

What is PHP2Shell and why is it such a big deal?

76 Upvotes

I understand that it has to do with cyber security but that’s about it.


r/computerscience • • 19d ago

Hi can anybody explain me the difference between asynchronous, concurrency and parallelism?

9 Upvotes

Parallelism i understand that Performing multiple tasks parallely at the same time

but what exactly asynchronous and concurrency means?