Photograph via snooOG

Computer Science Theory and Application. We share and discuss any content that computer scientists find interesting. People from all walks of life welcome, including hackers, hobbyists, professionals, and academics.

Welcome Computer Science researchers, students, professionals, and enthusiasts!

We share and discuss content that computer scientists find interesting.


Self-posts and Q&A threads are welcome, but we prefer high quality posts focused directly on graduate level CS material. We discourage most posts about introductory material, how to study CS, or about careers. For those topics, please consider one of the subreddits in the sidebar instead.

Want to study CS or learn programming?

Read the original free Structure and Interpretation of Computer Programs (or see the Online conversion of SICP )

Related subreddits

Other topics are likely better suited for:

Other online communities:

If you are new to Computer Science please read our FAQ before posting. A list of book recommendations from our community for various topics can be found here.


3,244,935 Subscribers


Create app with maps and pinned points with descriptions

Hello, what service is best for make map with my own marks for distribution to end user later? Also I wish to put there some photos or videos in reviews, maybe add comments field for registered users. Something like google maps, but I can’t share big different lists with locations with anyone in normal way I found a lot app builders in google, but maybe here anyone have experience and can give advices like sensei to student 👼

09:53 UTC


What is the pathway to learn denotational semantics?

I want to learn about denotational semantics. What are the prerequisites and resources to follow?

Thanks in advance!

07:26 UTC


Extreme OC'ing GTX1660s

I want to oc more my gtx 1660 super, by now I'm being power limited, my gpu stock limit is 150W on maxed out afterburner, I've tried to flash another gpu variant vbios which allowed me to go up to 176 but it was not stable, can I modify my stock vbios? Even with the signature lock? Is there any ways? I was thinking to shunt mod my gpu, but how can I monitor the power usage on the shunt molded gpu? Will it help a lot? What more mods can I do? My gpu is specifically the TUF Gaming Dual fan GTX1660 SUPER. My current OC- Core- +150 Mem- +865

I want more core and mem clock speeds, as I said earlier, what more can I do?

02:31 UTC


Three years in college still feel like I don't know anything.

I've been keeping my head down studying and making my grades. I try projects on my own and either set the bar high and can't reason through and give up. Or find tutorial and get stuck in hell. Is there any resources online, maybe lists of projects or books, that will help with getting me through this? I would like to apply for a internship but always pansy out cause I feel I don't have the skills needed. I've been through 3 basic coding classes (C++, Python, Java). I sit here, no projects coming to mind that I feel I can reason through. Any help or advice that it took for you if you've ever been in my spot. I like the idea of simulations. But the most I got to work is a very basic planetary sim of our solar system. No scale to it. Just colored balls revolving around a large yellow circle. My DMs are open if you'd rather not comment. Thanks to who reads this.

20:56 UTC


I'm working on a General Purpose AI Assistant called GAIA for buildspace nights & weekends S5

01:16 UTC


I want to study the history of computers by getting to know the must influential people in the field.

Hey all. I'm a self-taught programmer and I learn stuff by learning about the history of them. Whatever I learn, I start reading about its history from day 1 to the current day. What I need is a list of influential people in the field of CS so that I can follow their work to understand everything better (this is just the way I teach myself :D) Can you please drop the names of people who you think one who works as a computer scientist/programmer must know?

I plan to write about these people in a section of my newsletter called "Tech Titans".


23:02 UTC


How to Get my Resume Accepted by an ATS system.

I have graduated 3 months back and benn applying with no call backs. I have no experience and am not from a top tier university. How do I structure my resume so that it gets accepted by the ATS tracker and I Get call backs atleast for entry level jobs.

03:53 UTC


Best Certificates for Intelligent Systems Engineering?

I'm currently pursuing a bachelor's degree in Intelligent Systems Engineering (ISE), so I'm curious on what certifications for my future career would best benefit me in a field that mostly utilizes AI and machine learning. For anyone not familiar, ISE also includes designing, developing, and optimizing intelligent (smart) systems.

22:25 UTC


Process Memory Layout Question

I'm currently learning OS concepts. And learned that a process's memory layout of C programs looks like the one in the image. So I'm currently trying to find answers to some questions that piqued my curiosity.

  1. Is this concept specific to implementation of a programming language? In this case C. (eg. could we design a compiler that have different layout than this or are we restricted by the OS)

  2. How did they end up with this design? All I see in the internet is that every process has this memory layout but never discussed how why and how they come up with this decision.

  3. If it's not programming language specific, is it OS specific then?


13:05 UTC


Jan Sloot's secret data compression algorithm ( real code here and operating principle )

I think everyone has already heard about the engineer Jan Sloot who compressed films up to 8 kilobytes!


This article and code claims to be a Nobel Prize and also a breakthrough in know-how. I am creating the first post here on this topic, so I ask you to distribute the code or tell the leading developers of the planet about the concept. (for the benefit of the whole world)

Resource administrators can edit this post or make it more readable or take ownership.

After studying Jan Sloot's patents and drawing conclusions, I created a web code that reflects its main principles. The patents themselves are here:


In this thread I will provide an algorithm and code that compresses any information by 200X. using an algorithm. and I will describe it in detail.

Let's start with the basics. that are worth understanding.

An 8-bit binary code has a total of 256 states or keys. These keys are generated using a seed generator based on time in milliseconds (the seed is the time itself), providing compression from 2048 to a 10-digit seed of 3.90625 milliseconds. In total, the generator has 65 thousand states for 256 keys, all of which can be stored as a dictionary. thus a 1 - 10 digit key is stored as 3.90625 milliseconds

In fact, there is no compression. There are binary code dictionaries, there is an algorithm, there are links and keys to time dictionaries. The algorithm and how it works were not immediately understood by me; it took hours and months of work on it Look, all the information is duplicates of the 8-digit binary code. where there are 256 combinations of all possible states (8-digit binary code) You just need to find the links. to dictionaries and restore them back. There is a time-based algorithm for this. So, Jan Sloot coded it in a timer, those hours in milliseconds. In film 2 hours is 120 minutes. or 3600 seconds or 3600000 milliseconds. 24 frames per second is 1 frame every 41 ms or 24 keys (frames) per second the algorithm linked the binary code and the time when it should be shown You can also hash the time and time seed and make time dictionaries. that's the whole point. Jan Sloot's had 3 algorithms of 400 MB each. hash and dictionaries. and 2 patents.

Keys can be called using the generation seed (time milliseconds) and thus obtain a binary code from the keys

I implemented this concept in the form of web code for understanding (the code will be below and in the comments)


Its working version in the form of web code

Thus, the algorithm encodes 2048 bits into a 10-digit millisecond seed.
which can be programmed using dictionaries and hashing

Sound signals can also be stored in the above manner, for example by storing all tones with a frequency between 1 and 30,000 Hz in a key encoding memory, and from there the different sounds can be recorded sequentially in time using a 1 bit key.

Secondly, the entire storage industry in it did not study and improve data storage systems so that there would be no duplicate data (8 bits -16 bits) - 99% of the information on data systems is duplicates of 8 bit information. The solution to the problem is 256 containers in RAID, each of which stores only duplicates of 8 bits in container 1 current 8 digits 111 111 11 or in container 2 current 000 000 00 BUT the duplicates themselves are not stored there; the container has a time counter, just like in the RAID algorithm itself there is a seed and a hash of the clock how to restore 8-bit duplicates in milliseconds. to a file As a result, we have that the file is just a seed and a hash of the timer counter that will restore the file in time. this can be implemented in the above algorithm. Thank you for your attention! I think this message will change the world of information technology. (the administration has the right to edit and distribute this information or make corrections)


This code is a prototype, and allows you to encode 2048 bits into a 10-digit number (time seed) your task is to adjust the time seed and the dictionary of combinations in a bank of 65 thousand combinations.

important update! This code can also speed up data transfer by 100 times on the Internet and between computers if 2 computers have dictionaries of combinations and time generation seeds. 100 Mbit x200 = this is 20000 Mbit If both sides have dictionaries of combinations and time seeds.

Now imagine if this code works recursively! This code was not created by me, but by a text neural network based on queries. I have only basic knowledge of codes and logic and combinations, so I ask the community to find and create and make this algorithm public (just like Linus Torvalds made the operating system kernel open)

Thank you for your attention, I think the implementation of this code will greatly change the world of it!

09:06 UTC


Real time predictive maintenance

I am continuously predicting the next 8 timesteps, with each prediction spaced 1 second apart as new data arrives. To manage this, my dataset maintains a fixed size of 100 values. Whenever 8 new values are obtained from the sensors, they are added to the dataset and the oldest 8 values in the dataset are removed, ensuring the dataset size remains constant. The model is then fitted using LSTM on this updated dataset, allowing it to make predictions for the next 8 seconds (8 timesteps) .Then KNN is used on the next 8 time steps to detect a fault. This cycle continues on and on: fetch 8 values, append to dataset, discard the first 8, fit the model, predict for the next 8 time steps, detect fault on the predicted values. I want to know if its a good idea for a real time predictive maintenance since I'm using the sensor values from a stepper motor streamed directly to the python LSTM program. If not give me some ideas.

I want to know suggestions

07:14 UTC


MSR Undergrad Research Internship

I am not sure if this is the correct place to ask (and please lmk if I should ask somewhere else) but does anyone know the process of gettng an undergraduate research internship at MSR for the summer? other than having prior research experience in the desired field and being able to answer interview questions about that and all that jazz, what else is good to prep for? thank you!

06:23 UTC


I get cache hit/miss and how it extends times but...

when I see a question that has arbitrary number afterward and says "how many misses occurred?" I get stumped. I just started reading about it today.

Say I had a 2 way associative cache with 8 2 word blocks and then


how many misses occurred? How would I know?

Thanks in advance for any explanation, and no this isn't a direct homework problem.

03:44 UTC


How to simplify XNOR to () clauses?


The only XNOR rule I know is x XNOR y = xy + x'y'. Any guide on how to do what they did in this example?

22:20 UTC


Looking for resources for Turing machine and undecidability

I am looking for resources regarding the formalization of Turing machine in First order logic, undecidability of validity of FOL and undecidability of logical implication in FOL, and their proofs by reduction to halting problem. The resources can be of any kind (books, articles, etc...). Thank you for you help.

20:32 UTC


Hi there! Considering writing a paper on examining the viability of computation of certain tasks on the cloud. How much depth is there for investigation, and how might you recommend I narrow it down? Thanks a lot!

17:57 UTC


I want to create an archive of best free resources to learn computer science and coding on YouTube.

Hey all, I want to create an archive of the best free resources available on YT or other platforms and design a road map to be a software engineer for free. I like this guy and his courses https://youtube.com/@thecherno?si=Sw2mzhJBDENOzhsX

Can you drop other useful resources here, please? I already included whatever is on Coursera but I believe that sometimes there are gems available on YT or Github that people don't know about.


13:42 UTC


Pumping Lemma in Theory of Computation | How to use pumping lemma in a question?

11:01 UTC


starting university CS major but no prior experience

Way back in the day, I went to a major US university as a CS major but with essentially no prior knowledge or experience. I was in good company, and I got my degree with no difficulty.

But today, is it common for someone to enter college as a CS major with virtually no experience outside of a couple of high school programming classes? If someone does, how hard will it be for them? Will they be WAY behind everyone else? Or just a little? I know that which university it is probably makes a difference, but I'll keep the question general for now.

Thank you!

07:24 UTC


Point of reading CS books

Hey all, I’ve been at it enough to know the foundations of programming, but not long enough to have read any books. I see a lot of people recommending reading books on certain topics, but I also see time and time again that “the only way to learn is to actually code”. Can someone break down the nuances here/the point of reading a book on coding?

00:15 UTC


Possible mistake in a book regarding parsing and lexical analysis

Hello everyone!

I was just reading a book (Algorithms and Theory of Computation Handbook, Volume 1) and I came across the following passage :

"From a practical point of view, for each grammar G = (Σ,V, S, P) representing some language, the following two problems are important:

1. Membership problem: Given a string over Σ, does it belong to L(G)?

2. Parsing problem: Given a string in L(G), how can it be derived from S?

The importance of the membership problem is quite obvious—given an English sentence or computer program, we wish to know if it is grammatically correct or has the right format. Solving the membership problem for context-free grammars is an integral step in the lexical analysis of computer programs, namely the stage of decomposing each statement into tokens, prior to fully parsing the program. For this reason, the membership problem is also often referred to as lexical analysis (cf. [6])."

I, by no means, am an expert. However, it's obvious to me that the author is confusing lexical analysis and parsing (syntax analysis). Answering the membership problem is exactly why we build parsers for compilers. And, tokenizing a program has nothing to do whatsoever with the grammar of the programming language.

In the past I have been very wrong about things like this, so I wanted to hear your views on this.


14:01 UTC


What is Retrieval Augemented Generation (RAG) for LLMs? A 5-minute visual guide. 🧠

TL;DR: RAG overcomes the limitations of LLMs by bringing in external sources of information as relevant context.

RAG functions like a student in an open-book exam. When faced with a question, the student can look up the latest information in textbooks or online resources, ensuring their answer is accurate and up-to-date.

A Visual Guide On RAGs in the Context of LLMs


13:57 UTC


Best way to assess quality of book summaries compared to the actual book

I am working on generating book summaries, I need a way to do quality assurance on it as it is AI generated. Obviously, the best way would be to read the book manually and read the summary to check how good or bad it is. However, I am looking for means to automate it via code.

Ask: I am new to this but I was thinking in terms of cosine similarity, for this use case. Of course, I am open to exploring better, more efficient approaches.

07:38 UTC


Does transport layer provide socket to socket connection or process to process connection?

Even though one process might have multiple sockets (eg. A server process generally has many sockets running concurrently), we say that transport layer provides process to process connection? Shouldn't it be socket to socket instead?

04:06 UTC


Help: Finding shortest path in a large graph (Spotify Artists)

I am doing a project for fun where I am trying to visualise a graph network of my spotify playlist using Spotify API. Issue is I am not sure how to approach this problem of finding shortest path (if possible) between the artists given that I can only see related artists and their genres. I think leveraging genres may be the best approach, but my playlist is a mish mash of different genres with little overlap.

Edit: for clarification, I am pretty bad at graph traversal and I do not have a graph. I have two artists and I can find related artists (which a bit of black box how exactly it works) so I do not necessarily have all the neighbouring nodes to do Dijkstra as it is done in textbooks

23:29 UTC


How to enable free GPU in Google Colab? Explained

10:32 UTC


How did you meet your CS mentor? Share your stories and advice!

Hello r/compsci community!I'm interested to know where and how you met your mentor who guided you towards your goals. Maybe someone who helped you in:

  • Getting a job
  • Interview preparation
  • Understanding important concepts
  • Career growth

Did you find them through:

  1. Work colleagues?
  2. Professional associations?
  3. LinkedIn?
  4. Online communities like Reddit?
  5. Any other unexpected places?

I'd love to hear your stories and experiences. What made this person stand out as a mentor to you? How did the relationship develop?P.S. I'm a master's student at McGill/MILA, aiming for machine learning engineer roles in Big Tech companies. If anyone here is open to mentoring, I'd be grateful for the opportunity to connect!

03:18 UTC


What I (and my company) risk for decompiling proprietary DLLs


I've just learned that decompiling a DLL to extract its functions is prohibited.

I'm currently decompiling a lot of proprietary DLLs because a lot of our hardware suppliers (controllers, amplifiers, etc.) are forcing proprietary software on us with DLLs without providing us with headers or docs, so it's pretty painful. I don't do it to get algos or whatever, but just to drive the machines we buy.

What am I and my company at risk of? Is it tolerated ?



Thanks a lot to everyone who gave me advices.

I spoke about this case at a meeting with the hierarchy and then we then contacted hardware resellers and in 3 out of 4 cases they told us they would send us api docs, headers and so on.

I asked them point-blank, telling them how I do it without docs or anything I'm allowed to decompile. They all said no need, we'll send you a doc. They never told me it was forbidden... So it remains unclear

I'm waiting for an answer of my legal dptmt. I will post here their answer.

Thanks again to all of you <3

17:03 UTC

Back To Top