r/computerscience

▲ 0 r/computerscience+1 crossposts

How to learn Reverse Engineering

Hey, I'm interested in the concept of Reverse Engineering, I know very basic coding in python and c++. So how to learn this thing? The tutorial seems very hard and I've been stuck for the past 4-5 months. Need advice on this

reddit.com
u/TopArea6304 — 12 hours ago

inventing a sorting algorithm with as few comparisons as possible for k-ary sorters?

I want a comparison sort where the human does the comparison (so all other operations take essentially 0 time relatively). I have 900 things to sort (I'm ranking shows I've watched), so binary comparisons would take a long time (~7541 comparisons). If we instead use k-ary comparisons (computer shows me k=10 at a time and I rank each batch individually), then, theoretically, we could get down to only log(900!)/log(10!)=~347 10-way comparisons!

I've looked around, but there doesn't seem to be much research on the topic. So I thought of a simple idea: just do binary insertion sort, but include other, unsorted elements in each comparison as well. That way, when we later go on to insert those unsorted elements, we already have a bit of an idea of the range they can be inserted in.

You can see a demonstration of my idea for k=3 in this video: https://x.com/JentGent/status/2056809963625078974

(I tried to insert them in alphabetical order to make the demonstration clearer, but I accidentally went out of order for some of the items.)

How would you implement this in practice? Right now, I'm updating the whole directed graph with a DFS on every node for each comparison, which I guess is fine if I say all operations except comparison take negligible time, but there's surely a more elegant solution. I've also faced some interesting edge cases that might complicate an implementation. Ideally, you should never know beforehand the order of any two pairs of elements in any k-way comparison you make, but it seems that's sometimes not possible

reddit.com
u/JentacularGent — 11 hours ago
▲ 7 r/computerscience+4 crossposts

Built an interactive system design tool every architecture is clickable and you can simulate failures

Reqflow : pick an architecture (WhatsApp,
Uber, Netflix…), hit play, watch a request flow through it step by step. Click any component for purpose + tradeoffs. Kill the cache and watch the path change.

15 systems, 18 concept guides, a drag-and-drop Builder with AI review, and a timed Interview mode.

Feedback welcome — especially what's missing from the 15.

getreqflow.com
u/YouSilent6025 — 15 hours ago

Confused..

Gng im so confused bw cse and ece...

What should I do? I looked into ece and found it good but I dont wanna regret my choice.

Cse on the other hand coding and all I find kinda boring but tbh i grew up playing games on laptop learning excell sheets and all.

I heard ECE students can also go in software side later if they don't like it.

That's why im considering ECE.

Someone pls help 🙏 🙏 🙏

reddit.com
u/Physical-Ad-7533 — 23 hours ago

Centralized traffic engineering?

Does anyone know what centralized traffic engineering is? I can’t seem to find much information about it. There’s very little information discussing this topic.

reddit.com
u/SpyderMountfuji__ — 1 day ago

How much impact do you think these two geniuses would have had on the Digital Revolution if they were still alive in the 1980s?

u/InfinteEnigma10 — 4 days ago

Learn operating systems as an experienced programmer

I’m 33 years old and I’ve been programming for almost 20 years. I learned programming with C++, and I used it consistently until I was 25. Nowadays I’m a backend developer in a company where I mainly work with .NET and Golang.

Question:
I recently started reading Computer Systems: A Programmer’s Perspective and I’m currently at the first chapter. While it seems comprehensive and interesting, I’m not sure it’s exactly what I’m looking for.

What I would like is something that simply teaches me how the various parts of an operating system work, so I can start exploring it and have some fun with it.

I already understand concepts such as why contiguous memory layouts matter, or why structuring data one way can be preferable to another. And while I’m sure this book could still teach me a lot, I’d like to stay focused specifically on operating systems.

So, is this the right book for my situation and goals, or is there something better suited to what I’m looking for?

Thanks for your attention, and have a great day.

reddit.com
u/idkletsdoit — 3 days ago

Is there any useful connection between formal grammars and linear algebra?

Apologies if this is a silly question, my linear algebra is rusty and my knowledge of grammars is only that required for an undergrad compilers course.

In Aho and Ullman's "Theory of Compiling" book, the authors use a very suggestive notation in chapter 2.2, where they discuss finding regular expressions that satisfy some set of equations. They even note that the algorithm to solve such set of equations is "reminiscent of solving linear equations using Gaussian elimination".

Another thing that feels vaguely similar is this concept of "generation". In the same way that vector spaces are generated from some basis, and the behavior of a linear transformation is determined by how it acts on the basis, a "nice" language is generated by some finite list of production rules, and once a set of production rules are found we can presumably tell a fair bit about the language it generates.

An immediate flaw that comes to mind with the above analogy is how "useless" generators are handled in linear algebra vs. formal grammars. Recall that if we have a generating set for a vector space, we have "useless" vectors that we can trim away to eventually find a linearly independent basis for that space. To my understanding, there is an analogous process to trim useless rules from a grammar that preserves the language it generates. However, if we have a context free grammar for a regular language, it isn't clear to me that there is a generic way to turn that context free grammar into a simpler regular grammar, which means that the amount of simplification we can do is limited if thats correct.

Is there anything deeper here? Or am I grasping for straws and any similarities are superficial?

reddit.com
u/SereneCalathea — 3 days ago
▲ 6 r/computerscience+1 crossposts

What is the purpose of Ionic, Capacitor, Angular etc.

I am little confused on what these languages are really doing or what their purpose is. I have done research but still want to make sure I have a very deep understanding on whats actually happening. From my knowledge, Angular is you logic, routing, etc. It's just TypeScript which I'm familiar with. Now Ionic provides a UI-toolkit to use for your tags to easily convert to a mobile environment or mobile web app? And Capacitor is what actually does the conversion? I am confused on what it actually does because I saw something that said its not actually a native mobile app, it just allows access to native mobile tools like the camera. Just overall confused and would love for some clarification, maybe use examples like Dart and flutter?

reddit.com
u/PresenceOrdinary7653 — 6 days ago

Is context vs. admissible evidence an under-specified problem in LLM systems?

Question for people working with LLMs / RAG:

If a model sees text in its context window, how do we make sure it knows whether that text is actually valid evidence?

Ex: prompt might include current docs, old docs, retrieved snippets, answer choices, and injected text. All of that is “context,” but not all of it should count as evidence.

You think it’s mainly a RAG/provenance problem, or prompt-injection problem, or just something we need better evals for?

I’m thinking of this as a source-boundary failure, as though the model treats text as evidence just because it is present.

reddit.com
u/RJSabouhi — 7 days ago

I set out to make a codebook and I think it has interesting properties and wanted to share.

Hello, I wanted to share my program here because I thought it may be interesting to this field. My background is NOT computer science, however as a hobby I really enjoy tinkering with my machine and pushing the limits of what's possible.

About 8 or so years ago I became very interested in the subject of codebooks. My first prototype back then was made using a spreadsheet because that is all I could really understand as a rudimentary programming language. A few months ago I learned using today's tools it may be possible to rewrite the basic logic that goes into a codebook and set out to create my ideal code book. During the build process I attempted to follow Kerckhoffs's principle to a T.

The codebook is different from codebooks in the past (at least known codebooks) in a few ways.

  1. The ability to rapidly generate unique 'keys' for distribution.
  2. The size of the core dictionary...should be larger than any publicly available codebook
  3. The dictionary is full of duplicates and large phrases which theoretically defeat the downsides of old codebooks, frequency analysis. You can encode the same exact message and the output will be different each time.
  4. The ability to export long term key scheule. A full year key schedule comes in at about 5GB of raw data, BUT, if properly secured should ensure two parties can speak daily without ever being concerned.
  5. Compose mode, which allows the user to ensure that their message will be encodable in realtime. It basically provides a window of context into the database as you type so that you can optimize the encoding for maximum compression.
  6. What seems to be built in message integrity...here is what I mean by this. Because the total key space is 2,437,248!, IF the key does not match on the receiving end, the cipher text will decode to plaintext, but it will be complete nonsense. (see last image
  7. Lastly, portability. This codebook is easy to distribute while old codebooks required a massive amount of resources to make and distribute. If the codebooks were compromised, there was no mechanism to rapidly re establish a new one. They were also big! This program will run on any computer including via termux.

The main difference between a codebook versus encryption, is codebooks operate on physical laws. a 14million digit key is not just hard, it's impossible to crack. Modern encryption operate on hardness assumptions that eventually can be cracked.

Here is the open source code and database if you want to tinker around! https://gitlab.com/here_forawhile/ed

u/bldrlife1 — 7 days ago
▲ 21 r/computerscience+3 crossposts

Frame: a DSL for state machines that transpiles to 17 languages

Hello — I've been working on a state machine language called Frame, which is now in a decent alpha state and in active development. You can check it out at https://github.com/frame-lang/framec.

The main Frame tool is actually a preprocessor called the framepiler that looks for Frame syntax embedded inside your native source file. The framepiler transpiles Frame state machines (called systems) to plain, dependency-free classes (or equivalent) in the target language. Frame currently supports 17 target languages — Python, TypeScript, JavaScript, Rust, C, C++, Java, C#, Go, PHP, Kotlin, Swift, Ruby, Erlang, Lua, Dart, and GDScript — plus a GraphViz backend for visualization.

I would greatly appreciate any and all feedback on the language and technical approach, good or bad.

Thanks!

u/framelanger — 8 days ago

Straight to the point :

So recently i came across movies named : Beautiful Mind,Suits(2-3 episode only), Imitation Game -> and by watching those movies I am becoming more curious about reading THESIS (i don't even ​know what does it actually mean 🙂) but yeah i get the point that reading thesis is 10x better than reading freaking book in some cases .

So ,i wanna start reading thesis but:

  • How to start becuz i don't understand those highly technical sentences .
  • What are prerequisites if I am for instance interested in Economics, Computer science, Software and stuff.
  • And I don't also have enough knowledge I guess because i just entered the field of computer science (from past ​3yrs).
reddit.com
u/BitterEarth6069 — 8 days ago