lainchan / λ

The Beginner's General

λx.x · 2026-01-22 21:08
This is the Beginner's General for beginners' questions. If any of you have a simple question, and a suitable thread doesn't already exist, just post it here and someone will probably try to answer it. Remember to do some research before asking a question; no one wants to answer a question that a simple search can already resolve Old thread: >>40486
Agent Richard Gill · 2026-01-23 20:42
I hate to ask this because what should have been a rather simple thing has turned into a wasted day. I am trying to create a textbox that smoothly transitions between two heights to accommodate additional rows of characters. It is my understanding that at the very least, this is handled in CSS with the field-sizing and transition properties set, but I have had no luck in getting this working. I figured I would need some sort of pseudo-class that would detect a line wrap or a new row, but CSS supposedly reruns whenever a property gets modified? This is my first foray into frontend webdev and it has been an absolutely humbling experience to learn all of this soykaf.
Hacker · 2026-01-26 14:19
>>43853 I got curious myself and wanted to test out a minimal in-browser JS editor. It is a lot trickier than I expected and I haven't gotten it to work quite right but something like this may be sufficient for your usecase? <script> 'use strict'; document.addEventListener('DOMContentLoaded', () => { // ======= some stuff of another project ======== const add = x => document.body.append(x); const node = type => (...children) => { const x = document.createElement(type); for (const y of children) { if (y instanceof Element || typeof y === 'string') { x.append(y); } else { for (const z in y) x.setAttribute(z, y[z]); } } return x; }; ['style', 'button', 'br', 'textarea'].map(x => window[x] = node(x)); // ======= relevant stuff below ======== add(style(` textarea { resize: none; line-height: 10px; } textarea.short { height: 30px; animation-name: shrink; animation-duration: 500ms; } textarea.long { height: 100px; animation-name: grow; animation-duration: 500ms; } @keyframes grow { 0% { height: 30px; } 100% { height: 100px; } } @keyframes shrink { 0% { height: 100px; } 100% { height: 30px; } } `)); const btn = button('toggle'); add(btn); add(br()); const txt = textarea({class:'short'}); add(txt); // works fine if not toggled too fast btn.onclick = () => txt.setAttribute('class', txt.getAttribute('class') === 'short' ? 'long' : 'short'); // works fine... if you don't type too fast txt.onkeydown = () => { txt.style.height = 'auto'; const line_count = txt.scrollHeight / 10; console.log(txt.scrollHeight); txt.setAttribute('class', line_count > 3 ? 'long' : 'short'); txt.style.height = ''; }; }); </script>
Bobby Newmark · 2026-02-18 10:22
I want to make a simple web service in a language that's stable but lacking community libraries, just for fun. Are there any good simple databases that I can interact with through HTTP or something like that, to get around the lack of database drivers in that language? The ones I've found are like special purpose or something, like real-time or graph databases. I want something more general and not overkill.
Incognito · 2026-02-18 10:34
>>43953 Are you sure you need a full-featured database? Flat files don't scale that bad, tables are easy to implement, and your filesystem probably supports more features than you might think. e.g. atomic writes (rename), complex graphs (links), compression.
Cutter · 2026-03-06 06:22
Is it theoretically possible to make an OS written in Haskell?
Agent Jones · 2026-03-06 08:49
Can you manipulate hardware directly from Haskell? If so, yes. If not, you'll at least need some bindings from another language (assembly or C) but the logic can be done in the language you want.
Miho Iwakura · 2026-03-12 17:48
How do I get started learning lisp? I sort of took a liking to it recently, but I don't know where to start. Any good books, resources, websites I should check out? Any specific dialects I should look into first? My background is mostly C, C++, Perl, Python, a bit of Rust, things like that.
McCarthy · 2026-03-14 05:03
>>43987 Either CL (read the "Getting started" from https://lispcookbook.github.io/cl-cookbook/ then go through https://gigamonkeys.com/book/ while peeking at the cookbook) or Clojure. Doing a bit of AoC is a good way to learn, in my opinion. Scheme is just too fragmented to learn right now, with R7RS-large not being ready and the resulting maze of SRFI to navigate to get anything done. Plus, coming from these languages, it may be too academic for you.
Davis · 2026-03-17 14:20
Reposting >>>/q/13901 here to help spread awareness for those who have difficulty reaching this site: >It just hit me what the issue likely is after checking abuseipdb: the admin probably lost the IPv4 address https://www.abuseipdb.com/check/107.161.19.243 >I'm behind a cursed double NAT44 setup. I don't have NAT66 setup nor have I been able to make the primary router give a IPv6 prefix. >I tried to test this via two VPSes with ping6, but for some reason it says the "network is unreachable" and I cannot be bothered to figure that out, but if someone can simply trying ping and ping6 I'd appreciate it.
Hiro Protagonist · 2026-03-21 12:40
I want to benchmark my code in C. I've read that I could use time functions (Windows time functions in my case), but is that enough to have a good benchmark? Do I need something else to do a good benchmark?
The Plague · 2026-03-30 11:41
When I was a kid I played around with Python & a few other coding languages, but I never really got that into computers. However, I want to learn how to understand & operate computers on a deeper level than I currently do, & I think that actually learning how to properly program would be a big part of that. In particular, I think I'd like to start with python. Any advice on where to start & some of its applications?
Just another Random Lainon · 2026-03-30 13:15
>>44030 Python is fine for learning algorithms and programming concepts, but I think C is better for learning how computers actually work (or assembly, but I find it easier to think in terms of C even when writing assembly). I don't have any book to recommend though.
Von Neumann · 2026-03-30 14:22
>>44031 Oh yeah, I definitely plan on learning C as well, for a few reasons, but I'm looking to learn how to crawl before I walk, & I figured that Python would be a good beginner language that's still considered quite useful.
Netrunner · 2026-03-30 14:46
If you already know the basics (conditions, loops, boolean logic, basic data types), I think you can directly jump into C. It isn't that complicated, and the footguns are a good learning experience. I still remember my first non-immediate-crash buffer overflow.
x<->y · 2026-03-30 14:49
>>44033 I'll also add that dynamic types suck. They make learning more confusing and are horrible for debugging, only to make writing code marginally quicker.
Mentat · 2026-04-06 14:37
It's hilarious and tragic how many "experienced programmers" would fail tying to write a simple snake game or implement a drop down menu from scratch. No engine, no libraries other than draw pixels/text and get keys/mouse state.
over · 2026-04-10 19:45
>>44073 Let's be honest: A lot of so-called coders don't give a soykaf about actually knowing how things work. They feel happy if it just works. And this problem will get waaay worst with all this vibe coding bullshit. Laziness is a good thing when ingeniously applied since it did bring good things, but without the 'genius' part this laziness can be a synonym for mediocrity or straight stupidity.
Arisu Mizuki · 2026-04-14 20:44
>>44129 The codebases I work with do not allow AI use. Its ignorant to even mention vibe coding on a beginner thread. The less handholding you get when starting out, the better.
Unnamed · 2026-04-17 03:38
>>44131 It is ignorant. Take a look at that channel you just posted the thumbnail for and try to get any insightful content that isn't complete beginner advice. I understand it's hard to become good at coding, and it's easier to just give in to comformity. I do not know if it's more productive, but it certainly isn't making anyone smarter by any means.
vector · 2026-04-17 05:02
>>44130 >>44139 I must apologize to you. I was just trying to make some cheap trolling, but now I feel bad because you (both?) are way to polite with your replies. I gave up on "modern programming." Now I only code for retro systems in plain assembly as a hobby, and A.I. genuinely is like kicking dead whales down the beach dong this kind of stuff. It gets absolutely confused between, e.g. flat assembler syntax and ASxxxx syntax; it's pretty laughable. It's understandable because since it's such a niche area, the data these overly-hyped, fancy auto complete tools get regarding this type of code must be reaaally scarce. I guess is a plus point for me. Sorry again for the trouble.
vector · 2026-04-24 10:38
Took up learning C because I want to make a framebuffer window manager or a window manager widget, tried some other books which were meh and landed upon K.N.King's book, this one is good but this is like doing math homework, I'm only on page 150/800 after a month and getting slower by the day. When does it get fun, C doesn't seem to have immediate practical use like bash :(
Neo · 2026-04-26 16:44
what's lain's recommendations for good hosting? countries, companies? lain wants minimal bullshit, little monitoring, and so on. not interested in playing lawyer telephone. lain isn't doing anything illegal, but with the current bullshit around moderation, there's no desire to hop around or get locked in.
Chan Siu Ming · 2026-04-27 05:15
>>44159 It depends. What do you want to host? For something low traffic, self-hosting a Tor hidden service is easy and the most cost-efficient. If you need clearnet access and don't have a full-stack IPv4, you'll need to rent a VPS (or you can still self-host and ignore IPv4-only users). I personally rent at OVH, but there are cheaper providers. For something more professional, VPSs still work, but they get more expensive with more traffic. "Cloud" stuff can be more cost-efficient I've heard. I never used it though.
藤原純一 · 2026-04-27 08:29
>>44160 imageboards, tor services personal site + watering hole type beat. looking to minimize data exposure.
Nobody special · 2026-04-28 04:59
>>44159 >>44161 I have an image that might be relevant
byte · 2026-04-28 10:07
>>44162 This is a god tier response lain. thanks so much
Ishikura "Tatsu" Tatsuhiko · 2026-04-28 19:38
>>44159 ive hosted an imageboards from servers located in germany, netherlands, the us and romania. didnt have issues with any of them.
Terzibashjian · 2026-04-30 17:36
>>44166 Not until it gets well known enough that your web host gets flooded with concern-trolling from the "soyjakkers." Then of course there's the CP spammer that's been terrorizing imageboards for the past decade-plus.
dup · 2026-05-02 07:43
>>44173 >neurosuggesting a single cp spammer ah yes, the bright glow that touches all places people congregate.
Sol Weintraub · 2026-05-29 11:00
it turns out my summer job isnt gonna start for a month, and i really need something to work on. any open source stuff that'd be good to get involved with? I'm best with c/c++, and reverse engineering. Most of the tools I use are either like in stuff i have little experience with, or so far outside the range of my abilities. I was looking into a few emulators, and want to know if theres any interesting decompilation projects going on, or other things you guys would recommend helping with?
Leto Atreides I · 2026-05-29 12:22
>>44280 I used to be involved with the pret project (decompilation of pokemon games). Last I heard, most of their projects are nearing completion but no one started a decompilation project for 5th gen yet. It shouldn't be that hard since it would use similar tools to the other NDS games.
Morpheus · 2026-06-10 01:43
>>43852 How do you point a header file towards a template? I'm getting the error: bits/stringfwd.h:71:30: error: no template named 'allocator' I looked at the file /usr/lib/gcc/x86_64-w64-mingw32/13-posix/include/c++/bits/stringfwd.h it includes <bits/c++config.h> & <bits/memoryfwd.h> In memoryfwd.h there is template<typename> class allocator; & template<> class allocator<void>; but the stringfwd.h can't see it? I tried putting -D_GLIBCXX_HOSTED since the template is enclosed in an #if _GLIBCXX_HOSTED I tried using the "-include" argument to include the full path of memoryfwd.h. There is also this line in memoryfwd.h namespace std _GLIBCXX_VISIBILITY(default) How do I get stringfwd/clang to see the allocator template?
Gyula Kovacs · 2026-06-17 08:50
>>44330 You'd be better off writing your own string library in C89. Compilation times from C++ templates are just unneeded pain.
sizeof · 2026-06-17 23:53
>>44330 `template<typename> class allocator;` is just forward declaring a template, it isn't the actual template definition. You need to find `template<typename> class allocator {...}` and have that be #include'd. Personally though I don't think the standard library is worth it, it's easier to write your own thing than deal with the mess of it all.
Armitage · 2026-07-10 02:39
I've been writing Python for some time and I feel like I'm always inventing my data structures and their transformations from first principles. Algorithms I can usually either copy from a paper or translate from first order logic in a way that's at least correct. The code works but it's difficult to both write and read because there's too much index magic going on. Is there a resource that I could refer to when I don't know how to arrange my information properly? I'd prefer a physical book I can get my hands on but anything would help. It's not a lot of data, by the way, just representations of automata, words, and patterns.
Lady Jessica · 2026-07-10 04:16
>>44445 My usual ways to improve index magic is giving better names to variables like prefix_idx, bucket_by_prefix_idx, and introducing helper functions like get_something.
Drifter · 2026-07-13 07:18
>>44445 Try to write the high-level algebra (i.e., data types and their transformations) on paper first. Write the invariants, properties, ... For example, if you have write a language that allows concurrent processes, you will have to define a "process" (and everything else) in simple terms and convince yourself the system works. A cluttered implementation is usually a symptom of a cluttered mind.
XERXES · 2026-07-25 04:51
>>44457 >A cluttered implementation is usually a symptom of a cluttered mind. good one
some average joe · 2026-07-31 17:42
Hi, I hope every lain is doing great. I'll get straight to the point:How can I get good (or decent at least) at algorithmic thinking? I'm tired of being the guy who just knows the syntax. I don't care if the road is difficult, I want to stop being mediocre. which books are good for someone who is just starting to take this seriously? I'm reading some articles but I want to know the advice of the lainons because nowadays it's not known what was written by a person and what was written by a LLM. Since I don't like receiving without giving something in return I will leave a pair of PDFs I found online: Practical Binary Analysis https://abbascybersec.com/wp-content/uploads/2025/11/Practical-Binary-Analysis.pdf Hacking the Art of Exploitation https://repo.zenk-security.com/Magazine%20E-book/Hacking-%20The%20Art%20of%20Exploitation%20(2nd%20ed.%202008)%20-%20Erickson.pdf I sincerely hope this year is being kind to you lains
Elliot Alderson · 2026-08-01 19:11
>>44545 If you are serious about learning to think go read SICP. If you want to expand your mind a bit on how data structures (and thus algorithms on them work), to read and implement purely functional data structures by Chris okasake
typedef · 2026-08-01 22:06
>>44545 The Art of Computer Programming is a heavy way to do this, given that you are working through most of the exercises as you read it too. But one way you can enhance your thinking ability in a fun way is to play Zachtronics games. Highly recommend Opus Magnum as a first Zachtronics game, try get through to the end (or close to the end) before jumping to another, so you can get really in depth with a system.
Acid Burn · 2026-08-02 13:45
>>44545 An unorthodox way to achieve mastery in "algorithmic thinking" (whatever that means) is to attempt something that can't be possibly done without it. For example, you could try to build your own kernel; it is impossible to create a kernel from scratch without mastering algorithmic/systems thinking. Of course, don't attempt something way beyond your ability. Start with something simple like a compiler/interpreter. By the way, to be able to master something, you need to be able to define it clearly and concisely. Axioms/definitions should be as simple as possible to allow maximum flexibility while remaining accurate. For example, suppose I define algorithmic thinking as "compiling thoughts to code". Is there ambiguity? Are there unnecessary words? From this definition you can elaborate a strategy that allows you to master "compile thoughts to code" with more rigour. It's easy to see that to compile thoughts to code first you have to load the code in your brain, translate the thoughts to code, and then generate the code. These abilities are independent and can be trained individually: - Load You need to be able to create a mental model of the software you are building. This means that cognitive load is one of the fundamental limits for a programmer. Making changes to a tiny, atomic system doesn't require a lot of working memory; adding a feature to a 1M LOC monolith is more challenging. Improving your ability to handle cognitive load is simple. Just read a lot of code and write a lot of code. It should take you around five years to master this ability if you practice every day. - Translate Transforming your mental model to a formal language (i.e., code). This part is so simple that machines have been able to do it since the 90s. You only need two things: * A database of solved problems * A set of rules to transform any mental model into solved problems (symbolic manipulation) Suppose your manager, Mr. Bossman, informs you he wants to create an online casino. Your mental model should be a tree where "website" is the root and "front-end", "back-end" and "database" are leaf nodes. Then: * website -> a server, docker, ... * back-end -> Pure Haskell * front-end -> HTML And that's basically it. Use as many abstraction layers as you like. The ability to quickly transform an abstract idea into a concrete implementation helps but it's not as important as the ability to generate correct ideas. - Codegen Once you have a solution it's only a matter of writing it as fast as possible. You can either use an LLM or your hands. In general, the hard part is creating correct, detailed mental models. You can read books but I believe deliberate practice is more important.
limited · 2026-08-06 05:55
basically been learning how to program in C recently before i apply for vocational training in cybersecurity and it's been doing great so far but i realized that i also need to develop certain skills like analyzing code efficiently, catching errors and vulnerabilities, critical thinking, etcetera. what are ways to develop and maintain these skills? i hypothesized that a possible way to go about it is to write the code in a text editor and conducting two manners of analysis, one where i skim over the code without much thought and the other is a vigilant in depth analysis than looking into the output and hopefully notice patterns of weaknesses and biases
sizeof · 2026-08-06 08:30
>>44586 One way to do it is to look at each line and ask yourself 1. What do I assume is true for this bit to work properly? 2. Is it actually true That way you can catch all manners of bug, from overflows to null pointers to messy iterators. Another range of vulns is when you give the user information or give them control on the program. These are harder to fix because they are design issues, not coding errors.
Armitage · 2026-08-06 13:18
i just cant into programming and i have no idea why. i have been using computers for 16 years and i have been trying to learn programming on and off for the last 10 years. i have tried gamedev (lua, gdscript, UE blueprints), python, rust, C, embedded C++, java, assembly, bash, lisp. i managed to build some useful programs in python but i never really understood what i was doing. assembly was fun and i understood a lot of what i was doing but writing complex or useful programs was too much work. C, C++ and rust are like hyerogliphs and i cant understand code other people wrote at all, and what i write quickly becomes nonsensical. in gamedev i would just give up after a minimum viable product because things would start breaking down when i increased complexity and i was too lazy to make more art/models. i have no idea what is hapenning in java i genuinly dont understand what problems it solves or how anything hapens in that god forsaken language. i understand sysadmin and os concepts quickly and intuitivly but i can not for the life of me learn to code good. please help lainchan!!!
50M3L4ZY455H0L3 · 2026-08-06 21:06
>>44593 you're in a pretty common situation. You are just "learning a language" instead of learning how to design programs and how to solve a given problem. Anyone can learn how to write std::cout << "Hello, World!\n"; or print("Hello, World!") or whatever, but not many bother to understand how I/O facilities are implemented from scratch and why they were designed that way. Assembly instructions are the same. it is useless to "know assembler" if you do not understand how a computer works from the physical part to abstract ideas; what is a relative jump and what is an absolute jump? when to opt for one and when for the other? what is a stack? what is a heap? by the way, do you know how to implement a data structure and how to justify when you use one in favor of another? and those are just the basic questions that any decent programmer should know how to answer without hesitating for a second. > i understand sysadmin and os concepts quickly and intuitivly are you sure you do understand them? don't answer that to me, answer to yourself. > i was too lazy to make more art/models ok? then don't waste your time and energy making models or whatever. make a simple sprite and experiment with it; you're a programmer, not an artist (?) > i managed to build some useful programs in python but i never really understood what i was doing I think this is subjective, but did you do rudimentary scripts that any LLM can do in, like, 2 seconds or did you make moderately complex programs as a parser or minimalist compiler or a simple emulator? I propose an exercise to you: 1. research a common math problem; the easiest one (I think) is the fibonacci sequence. It's really important that you don't look for "how to code the solution," you must do a extensive research of that problem: https://mathmonks.com/fibonacci-sequence https://www.mathsisfun.com/numbers/fibonacci-sequence.html 2. pick up the language you are most comfortable with and come up with the solution yourself. AGAIN: do NOT look for the solution online or whatever, you must solve the problem yourself. Take as long as it takes, the important thing is that you learn how to solve the given problem. languages are irrelevant, they're just tools 3. after having managed to solve the problem on your own, now feel free to see how other people implemented their solutions and study them. What could you have done differently in your algorithm? What would you change in other people's algorithms? How can it be implemented with another language? etc... 4. (optional, but I think it's very useful) create a flowchart of your algorithm: https://en.wikipedia.org/wiki/Flowchart once you're done, re-write the code using that diagram as a guide. Did it work correctly, or did you get something wrong? If so, what do you need to change? You can even add new things to the diagram and see if your idea works both in code and on paper. 5. now ask yourself the following questions: do you actually understand the problem? would you be able to explain it to someone else who doesn't know about it without having to read it in a book or something like that? can you code it not from your memory, but because you understand how the math of the given problem works? 6. now do another one like the factorial function or make a program that calculates the pythagorean theorem. It's up to you whether you do it or not. If you choose not to, then you should consider changing your vocation because this one isn't your thing. it's not wrong to accept your limits. Whatever you do, I wish you success
藤原純一 · 2026-08-07 08:39
>>44593 >C, C++ and rust are like hyerogliphs and i cant understand code other people wrote at all That's normal, usually you're going to need domain specific knowledge so you already more or less know what the code is trying to do before you read it, and/or knowledge about the idiosyncrasy of that specific language and codebase so you can decipher the intent behind the non-obvious code; first one is the "what", the second is the "how", so to speak. Most of the time the only solution is to study those two things and then push through it. Now, C and Rust have macros, and C++ also has overloading, and they all can have dynamic dispatch (even C). These features can make code hard to understand, so maybe find a way of integrating a LSP into your editor so you can jump to definitions when you're trying to follow what something is doing. >what i write quickly becomes nonsensical This is a bigger problem. Try writing down what you're trying to do, and then try writing strategies to accomplish that (you can also draw diagrams or whatever else that you feel helps you "offload" complexity from your mind, there are no rules). If it feels too hard, see if you can decompose your initial problem into smaller units, repeat the process to solve those, and then piece them together. And maybe the problem is elsewhere; post a zip or a tar with code, even if you find it embarrassing, maybe add comments or notes on the parts that you think have become nonsensical so we can see if there is a deeper problem in how you approach programming and algorithmic problem solving. >>44595 LLM tier advice. Understanding how an interruption vector or a MMU works is literally irrelevant for the high-level thinking that this anon seems to be asking for. Data structures, and to some degree, math, could help them, but not necessarily.
Technician · 2026-08-07 12:08
>>44609 > LLM tier advice I'm just trying to help, although I was pretty sure someone would tag me as a LLM. people being so paranoiac these days is both predictable and tragicomic, like cavemen seeing fire for the first time. that's why these days I try not to interact with randoms online, although I felt that I had to pay for the previous help I received somehow.
Crazy Jake · 2026-08-07 17:46
>>44593 I also used computers casually over 10 years before studying IT. I would even think myself as a power user, as I knew more about computers than some pleb from the street. Little did I know. It's turtles all the way down. I wrote a longer reply but essentially things you say are quite normal feelings. Learn computer architecture, operating systems and concurrency, networking, data structures and algorithms and a few programming languages, perhaps a few books per language in case the authors take different approaches. Obviously some languages like C++ take a decade to master, but try to learn like beginner, intermediate and advanced stuff. (IMO In C++: beginner stuff is the general stuff on how C++ works, intermediate stuff is some simple OOP and STL algorithms and data structures and advanced stuff is smart pointers, inheritance, polymorphism, overloading/riding, virtual functions, templates and beyond) Then principles of programming languages and compiler & interpreter stuff. Maybe then there's a chance to understand Java. Maybe some software design books are worth looking into, too. But I don't know enough about them and I wouldn't follow them sheepishly. If game dev is something you are interested in, look into OOP versus ECS approaches. Since you mentioned embedded C++, I'd like to say a few words about embedded stuff. It's almost a whole discipline on it's own. It would make sense to learn some electronics first, and then study one family of microcontrollers, like everything in the datasheet of AVR Atmega 328P or whatever you choose. I don't even know if C++ is needed, I'd use C but whatever. It would be important to learn how to config all the functional blocks you want to use and then use kind of normal C in the infinite loop, perhaps with a bit more bitbanging than normal. Interrupt handlers (vs. polling) are also an important concept. There's probably some good books about microcontollers and related things, too. E.g. it would make sense to study the theory why PWM is needed for certain motor control applications, and that's something you won't probably find in a datasheet. Once you learn one type of microcontroller, it is easier to move to a different family and note the differences. If it's a more capable controller, maybe it's time to install an RTOS and play with that. Networking stack also needs some more umph. Also, microcontrollers have weird memory layouts and fuses and stuff, so it makes sense to learn about the cross-compiling toolchain. A more advanced person could also learn about PCB layouts and mechanics design to make real devices. But anyway, it is important to learn deeply and slowly to get a real understanding of the concepts. These subjects are hard. Reading other people's code is generally hard. It is okay to study fifteen years. And it's okay to leave something as a black box for the time being. I don't know everything I mentioned here. If you are interested in something, there's probably a book/documentation about it. E.g. if you want to write windows GUI applications, there's probably a book about that, if you want to understand firewalls, there's probably a book about that.
Gyula Kovacs · 2026-08-07 18:51
Here is some advice for the people giving advice: read what the other person is saying and try to give them concrete, actionable solutions. Don't just start saying things that you think are going to make you sound smart or knowledgeable. And if you do want to sound smart and knowledgeable, don't regurgitate the generic /g/ post about embedded C++; try saying something actually smart and insightful.
x<->y · 2026-08-07 23:42
>>44618 Here's some advice for people who want to play badass by offending people online: If you're going to bump the thread projecting yourself and pretending that you're special for playing sardonic on duty, at least have the common courtesy of sharing something of value for the person who asked the question in the first place (supposedly the reason why you're scolding us in the first place). I remember when this place was more civilized... https://github.com/The-Misfortunate/Papers/blob/main/Computer%20Science%20From%20Scratch%20Building%20Interpreters%2C%20Art%2C%20Emulators%20and%20ML%20in%20Python%20(David%20Kopec)%20(Z-Library).pdf
SHODAN · 2026-08-08 09:11
Do a project and learn what you need to for that project. To decide on a project, pick a problem, not a math problem, an actual problem you have in your life, and try to solve it with software you wrote yourself. >>44617 Great way to waste a ton of time doing nothing. Except a normal person who values their time will get bored and lose interest far before the 15 year mark. The internet has made programming books useless. Even knowing how to implement data structures is useless for most problems. Arrays, sets and hash maps are really all you actually need unless you're doing some FAGMAN stuff. Programming is a means to an end, not an end in itself. If you want to just do an intellectual activity for its own sake, do pure math. Computers and programming languages, are largely arbitrary.
Cowboy · 2026-08-08 11:30
>>44624 >sage >bumping the thread so this is a llm, and it can't see that I saged because whatever api it is consuming from doesn't include that data this site is so dead, holy soykaf
Ein · 2026-08-08 20:28
>>44595 >>44609 >>44617 >>44624 >>44626 thank you very much for your advice everyone! i realise now i shouldve said why i want to learn programming, which is so i can audit the software im running and be able to contribute patches upstream when i encounter issues... >>44618 they took the time to write out lengthy replies for free, in their free time to try and help me, an internet stranger, as best as they can. i dont think they did it to puff up their ego. >>44627 fwiw i didnt realise you saged either until you pointed it out because normal and email/sage name are similar colors and its an imageboard so you usually dont pay attention to the names anyway. lainchan really is dying down though and its probably going to get worse, especially since 4ch and altchans are getting superseded by the sharty and splinters in cultural significance so new users influx will slow down. and ofcourse because less and less people use PCs or even browse the web outside of silos.
50M3UNFUNNYBUFF0N · 2026-08-08 21:20
>>44628 thanks for defending us, lain! seeing that you are a good person really made my day. Although I feel that my previous post (>>44595) has an unnecessarily pedantic and arrogant tone, I apologize so much for that! I also know that I get very defensive but lately the tourists who come from 4chan (or しt-chan which is what I prefer to call it) are making this site very hostile and that bothers me a lot. On this same board there is a thread dedicated to sharing PDFs: >>36539 you should give it a check-up. Since you seem to be interested in game development, I can recommend these sites: https://lazyfoo.net/tutorials/SDL3/index.php (uses SDL3) https://lazyfoo.net/tutorials/SDL/index.php (uses SDL2) https://learnopengl.com/ they use C++ though, but here is an awesome resource for beginners: https://www.learncpp.com/ I hope you succeed with your projects. and cheer up, if someone like me can learn, you will too!
Nameless · 2026-08-14 14:23
hey, recently i have taken up the decision to fully learn C as a novice (that's to put it generously) i have incorporated deliberate practice into my learning and so far it's been doing great, only issue is that i require honest feedback/constructive criticism from a third party to improve but the problem is, is that i study alone and independently and so i have to rely on AI for feedback, something to which i want to avoid and hopefully never turn to if there is an alternative so my question is, are there any websites/forums where one can submit their code and get feedback on? maybe threads in other imageboards (something akin to /ic/ in 4chan) but for programmers? thought about maybe going via discord as a potential way and or substack, thoughts? excuse my retardation
aliased · 2026-08-14 15:58
You can just post here, no need to ask
Cutter · 2026-08-14 16:30
>>44658 You can also post your code in the thread about the language you are using, in your case C: >>41530 You'll probably get more C focused advise in there and also you will find excellent resources. I wish you success!
DEBUG-CONTENTS · 2026-08-14 17:08
>>44659 >you can just post here, no need to ask that's my initial thought but i realized it would be very repetitive and would easily clutter the thread, speaking of which, this thread mainly is for questions rather than full blown critique >>44660 thank you so much, forgot that thread even existed! thanks!
H.R. Giger · 2026-08-15 10:30
>>44658 Programming is not art. You don't need feedback as long as your code is useful and it works as intended.
aliased · 2026-08-15 12:36
It certainly is an art in the sense of techne. "You don't need feedback as long as your code is useful and it works as intended." is a stupid advice because 1) there is plenty of soykaf code "that works" until you need to modify it slightly or give it slightly different input. 2) learning by trial and error is the slowest way to learn anything.
Stallman · 2026-08-15 15:22
>>44662 How will you know if it works "as intended" if you don't get feedback from testers and how do you know if it's useful if you don't get feedback about if it solves a necessity or not? What was your point again?