What are you working on, /g/?
Previous thread:
>>105764133
Why is the anime girl upside down in these threads? PLEASE respond.
Already lost interest in my interpreter/compiler, game, operating system, blog template engine. None of it lasted over a month.
What the fuck do I build so that I don't drop it in 2 weeks? In fact I refactored the architecture for my compiler 3 times.
I fucking hate this. Any tips or ideas to avoid this awful feedback loop where I have the sudden urge to rewrite from scratch because I start noticing flaws in the architecture or just lose interest.
>>105800262Something that's not worthless. Something that solves a real problem. Something that is born out of necessity and not novelty.
>>105800275Well everything that needs to be made has already been made.
I'm out of ideas except to reinvent the wheel.
>>105800250learn programming
>>105800308I already do. Please explain instead of gaslighting.
>>105800328If you don't know what gaslighting is how are you going to understand why she's upside down?
>>105800345i kinda want to murder your family with a fork ngl
>>105800345i will skullfuck you kike
>>105800262>>105800289for the idea part, you need to think like a user and not a programmer
think of something that will give you a real practical benefit, eg. save time on doing something you do routinely (not some imaginary user - actual YOU)
start using it already while writing it. don't wait until it's in a "perfect" or "complete" state, instead use its incompleteness as a driving factor. write something that just barely works, but still does its job; then work on improving it: keep adding more functionality and configurability and refining the code
>>105800345pissrael will fall and i will wipe my ass with their flag
How could anyone hate Israel? The assrape they gave Iran was absolutely delicious.
>>105800385When I think like a user I get big ideas like operating system or things like IDE but I already know that they're a death trap.
Every idea I can think is already there much better than I could ever do. And they're already in just werks territory.
>>105800431hows the AI research center
>>105800431>How could anyone hate the Nazis?>The assrape that they gave Polamd was crazy.
I like both Israel and the Nazis.
>>105800385That is how I made my Whiplash editor. Early versions were literally just a glorified text editor that allowed users to mass edit fields and I pumped out new releases every few days. It was more of a tool so less technical users could help me figure out what everything did than something practical for actually making your own custom tracks in those early days.
>>105800446How's Iran's leadership?
>>105800431He hates Israel because they are evil and committing genocide. I hate Israel because I am antisemitic. We are not the same.
>>105800496>Israel commits genocideYou need to have a human population for it to count as genocide, otherwise it's just an extermination.
>>105800537It really is too bad the moustache man didn't actually do any extermination. Hell, it's too bad Titus didn't finish the job.
>>105800562Yeah, and now they are in charge, and no one can do anything about it. Pretty great ngl.
>>105800440that's ambitious programmer thinking, not user thinking
what do you need a whole custom operating system or custom IDE for?
>>105783828i am STILL looking for an answer to this question.
>>105801689C++ obviously.
b
md5: 6d2a9bff0330b2a6534b1f767941f2fb
🔍
Python with static types. Compiles to C. With C++ style templates. And Java object model. And SDL2 built-in.
declare and assign with the following syntax
x : int = 10
>>105802245>With C++ style templateswhy
still working on the prime numbers from the other day. going to work on it some more when I have time tonight.
>>105801689"Better" is a loaded term. What are the evaluation criteria? Faster to execute with a particular size of input data? Faster to write? More flexible in the face of the "types" in the CSV? More fun to write?
The only way we know what you think is "better" is if you tell us. Or we can just project our own BS onto you and give you answers that are true for us but don't help.
For me it's C11 with GNU extensions.
>>105802245C, if you use libraries can be just as simple as python.
>java object modelMaybe something that compiles to jvm like kawa(scheme).
>assigns with the most gayest man can assignmaybe you should just kill yourself
>>105801689if you rewrote that in Haskell it would be beyond better
some faggot was shilling his dataframe library, and his basic requirement was that it DIDNT do good typeshit but was instead garbage stringshit thus defeating the purpose of the language
>>105802474The more you deal with real data, the more you find what a shitshow real data entry is.
>>105802465>>assigns with the most gayest man can assigndo you mean to tell me that you've never used the formal parameter annotation together with a default value before? This code works in Python 3
def foo(x:int=10): return x+1
>>105802639programmers only write programs that process data, data entry is another monkey's job
that said: if you refuse to process real data for whatever reason, you're not a real programmer but only a pretender - a script kiddie at best
>>105802271Because static types means assigning a type to each expression, so if 'foo' is type 'list<int>' then we know 'foo[3]' has type int, all of this at compile time
There is also a type 'list<obj>' for a list of arbitrary objects, where 'obj' is an object
>>105802759Python already has generics. Why do you need templates?
>>105802768To satisfy the C compiler, of course! The whole point is to compile to C and rely on the C static type checking system.
>>105802455my usecase is: i'm writing a script that takes in singular csv files (not big ones), calls an external API to gather additonal data, reformats the table into something usable, then spits it out as a new csv.
pandas has been great for the reformatting part, like applying functions to entire columns, performing sql-like joins on dataframes, etc. but what frustrates me about it is having to remember all the arcane syntax. e.g. it's [[col1, col2]] to grab multiple columns not [col1, col2], or oh shit that's actually not a dataframe its a series object so you can't even key into it with column names, etc. not to mention the complete NaN hell. it just feels like i'm constantly running into exceptions to what i assume are rules.
also, i'd eventually like to write similar scripts and host them all as API endpoints using something like a local network http server (golang?) so my coworkers can use them too. long story short i just don't really like python's whole venv thing.
>>105802843types solve this problem
except nan
>>105802843>what frustrates me about it is having to remember all the arcane syntaxwrite a wrapper for it, then
is it possible to link to a shared library as if it were a static library with existing tools on linux, i.e. resolve all the library's symbols in the linked to binary, perform the necessary relocations, etc.
arbitrary dynamic linkage isn't an option on some of the platforms i'm deploying to and on others i don't want to deal with dependency resolution
i've tried looking into it but anything that's not generic
>how do use linker
has been shit like bundling shared libraries inside of an executable then just like writing it to disk and loading it with loadlibrary/dlopen
embedding the libraries and using llvm's JIT based dynamic module loader might work if it doesn't trip security measures but at that point i'd be avoiding linking by embedding a linker, and it might be more sensible to just use llvm to build something that does what i want instead
I am too sick today. Got up super late. It's currently 18:00. Feels good that I didn't program.
I kinda only feel like playing games now.
Sorry for blogposting
>>105803031Maybe I'm misunderstanding what you're saying, but why not build the library both as static and dynamic, and then pick how to link based on the platform? There's resources out there on how to do this with CMake.
>>105804121turn her face upside down but leave the rest
>>105804674Yup, effective programming behavior: following instructions even when they seem not to make any sense.
drinking beer and learning C by vibe coding w/ chatgpt
I will never larp that it's 1980 and read K&R, deal with it babe :)
>>105805640can I make a linked list? sure, probably, but how about instead this: *yoink* and #include "linked_list.exe" ;)
problems?
>>105805666>he can't make a linked list without AIslopgrim
>>105805670Al is just another tool in my arsenol
>>105800289Retard take. Windows went to shit, Linux still can't dominate desktop, and everything is getting bloated and slow AF.
file
md5: a59651f43793ed8a824abd105bc78333
🔍
Suppose I placed well in a civil service exam (in my 3rd world country) for a tech specialty job position in a court of justice and it's very likely I will get the job position. Now suppose I have 0 skills, no personal projects beyond the simplest python scripts and 0 experience working in the tech area, actually any area at all since I'm a useless NEET.
Pic related is the job description, I have never done any of that, and more importantly I can't even imagine a sperg like me becoming a functional employee. Considering your own experiences working in tech, how hard would it be for someone like me to actually fit in the job within a reasonable time frame? Maybe AIslop can save me?
>>105800275Put down programming for a bit and get into some hands-on work. You can do both, and they will inform each other. Get involved in a local makerspace, learn some woodworking, welding. In the meantime your brain will make connections between seemingly disparate activities.
You will find people who have different skillset and might benefit from software in some way, at the very least. For instance generating patterns for laser etching or something. A girl who wants to make coasters will kiss you on the mouth just for basically making an inkscape plugin/macro.
Now you start a family, and you can teach all of them what you know, and together decide on important projects.
>>105805842sorry wrong thread I will post on /twg/
file
md5: 3755c78655ed195385305377c7ec9ace
🔍
https://godbolt.org/z/nobWs81dv
I've been working on a library for a while, and have been implementing formatting in it (fmtlib and std::format do not do what I need in my library). I couldn't figure out why one of my tests was failing and it turns out that libstdc++ is doing something wrong. clang with libc++ and msvc do the right thing.
basically I just use c++ as c with namespaces
>>105806277>not a c programmer>most niggerlious sepples programmerwhy would anybody do that, literally the worst thing you can do
I write everything in sloppy python
bottleneck? drop to C and have chatgpt do it lol
>>105806299look, I just like, don't care, alright? ugggggh, I know, sorry! but I just don't care and my programs run! sorry not sorry!
>>105806319>my programs runthen you better go catch them
>>105806354I can't, they're too fast!
>>105803830not really an option, it's not one library, and not just one application either
trying to put together a utility/dev environment with as close to 1:1 feature parity regardless of host so i can distribute work over a wide variety of old devices currently just sitting around doing nothing
a lot of of dependencies, and some of them also have complex abi and configuration sensitivities that make that a non-starter
and it would also take forever to build them all in a controlled predictable manner for each platform as my cpu is shit
alternatively if i could target a generic IR and just build one set of programs and build a runtime for each platform that would work
the various ways of executing LLVM IR don't really perform all that well, i think MLIR might be a bit better but that's also new
there's BPF but i don't know how actually usable that is
WASM seems like such a pain in the ass to get working and 64 bit support isn't really there
/dpt/bros.. Is it too late to learn to code? Also what language(s) are most useful for coding programs interfaces?
>>105806496>Is it too late to learn to code?Yes, you're 4 decades too late.
global EVERYTHING
there's really no reason not to
>renewing the domain for the 6th year in a row
>project nowhere near to be ready for release
>>105806496>Is it too late to learn to code?no. just don't expect to make any money.
>>105806750>did anon kill himself yet?>ah nope, his domain is still up, he's fine
oldfag here who has zero idea in programming, how do i start learning programming for GPUs ?
>>105806821>programming for gpus>>105806750thats actually sad what the fuck have you been doing. get some work done bitch
>>105806750Remember to never release until it is perfect! Not a single flaw in the git history, not a single grammatical error, not a single bug per commit!
What would others think of you when you release a half-baked 80% finished project? The cruel answer is that they never knew you.
You need to shill your broken product then improve it. Remember, windows didn't just get released in 1 day and suddenly supported all software that was built from DOS times until now.
It started with a simple command prompt, then a simple window manager with programs that can be counted on your hands, and so on.
>>105806821depends on whether or not you want graphics or compute
for graphics AMD's website has a bunch of helpful articles, in particular this one has a few links to places to get started
https://gpuopen.com/learn/how_do_you_become_a_graphics_programmer/
aside from https://vulkan-tutorial.com/ which is really out of date, (vkguide.dev is better) they're all good resources
NVIDIA has a whole bunch of free ebooks somewhere if i remember right
there's not really anything like that for learning pure compute (especially if you have an AMD graphics card)
the landscape is fragmented between different C++ dialects with 90% of it being NVIDIA's CUDA
AMD is trying to catch up with their basically 1:1 open source CUDA clone HIP, neglecting support for features of their hardware in favor of maximizing NVIDIA compatibility for lazy assholes who still think porting things to HIP is difficult
intel is trying to get everyone to adopt SYCL which is the only open standard modern compute API
no one has, despite there being a few SYCL implementations
intel's oneAPI being the main one, which also supports NVIDIA and AMD using CUDA and HIP as a backend
nvidia and AMD both have documentation on the CUDA and ROCm/HIP websites
nvidia has dev blogs, AMD has like one slideshow with a few interesting techniques and a few examples
https://tschmidt23.github.io/cse599i/
although i did find a course on CUDA randomly on github which i found very helpful despite needing to translate everything to HIP
>>105800235 (OP)Fucking around with terrain generation and opengl rendering with shaders.
>>105806446CMake has functions and macros to automate those kinds of things across multiple libraries/executables
>>105803031Do you not have access to the library's source code? If so you can always build it as a static lib. The amount of pain involved varies of course. I link Qt statically. It's very painful.
Here's some sample Lyzyrd's Gyzzyrd code. As you can see, it's very exciting and fresh, capitalizing on the absolutely massive historical cultural trends in programming language design stretching back generations. The Lyzyrd's Gyzzyrd team is a motley crew of renegades, rock stars, and ninjas. Until our initial release, we recommend using Python, C, or Java to satiate your lust for computer control.
Code on, dude. \_/
# conditional execution
if (test):
SUITE
# interface definition
interface NAME(baseinterface):
SUITE
# class definition
class NAME(baseclass) implements CLASS,...:
VAR : TYPE
...
SUITE
# cast object to type
OBJECT as TYPE
# container type template
x : list<int>
x.append(10)
x.append("20" as int)
# function definition
def foo(x:int=20) -> float:
print x + 1
return (x as float) + 0.5
>>105808590yea that's all well and good when you control what cmakefiles are doing
it's wild cmakefiles that don't let you set certain options and configure shit based on what they detect "automatically" are part of what's causing the problems
i'd have to write a really complicated script heavy toolchain file to actually deal with some of the shit i've run into
>>105808612nope
one of the more problematic platforms i'm targeting are several non-rooted androids but specifically through termux
not quite android, because it's trying to emulate a normal linux execution environment, as best it can with what it's got, and not quite linux because it's still quite limited
occasionally there's certain system libraries that have to be linked to that won't be and other times it's preferable or necessary to prefer either a termux supplied one or a system one
for a couple of more complex projects building them properly involved having to hack together a hybrid of the cmake linux arm configs and android configs along with injecting compiler and linker settings through config files outside of cmake
it would be nice to just forcibly cludge together a single binary that only really depends on system libs
iirc internally as part of the app's build process it does something odd with dummy shared libraries to partially circumvent the dlopen/ld restrictions for some shit so it and programs packaged for it don't have to worry about this
so i am wrapping my head around operator precedence and making an AST for expression parsing, but everything seems to gloss over brace matching. like not parenthesis which directly affect precedence, but the braces in a language which for example you can declare an array like arr = { 0 1 2 3 } or the braces to mark the block of a function declaration. brace tokens arent exactly operators, so what are they
>>105810356>can't tell if haskell (based) or cripples-- (cringe)
bros, what tool for documenting JS APIs do you recommend? I need it to be able to describe the API without the actual JS code. currently I am using Sphinx, but maybe there's something better.
>https://www.sphinx-doc.org/en/master/usage/domains/javascript.html
>>105810480sepples has functor?
>class that overloads ()what the fuck?
>every single line of code has to be rewritten 5 times, encased in different #ifdef #endif directives to support multiple compilers and build configurations
why do people choose to live like this
>>105810870what's wrong anon? you can also use a lambda expression (possibly with a capture list) if you want.
>>105810870its a dumb name for a "function object"
>>105810892don't forget all of the different gpu/multi cpu/NUMA technologies which require totally different compilers and will perform like ass anyway in any generic set up
>>105810870would it make you feel better if the class just had a Invoke() method instead of overloading ()?
>>105810892Me? I exclusively target MSVC and have a couple debug macros that go away in release builds
>>105810892it's a cross a white man has to bare, so others can fuck around in Python.
>>105810441I've seen them referred to as grouping operators
>>105810924No, I want more templates and redundant copies.
#include <functional>
#include <iostream>
template <typename A>
class arr {
public:
A a[10];
template <typename F>
auto map(F f) -> arr<decltype(f(std::declval<A>()))> {
using B = decltype(f(std::declval<A>()));
arr<B> x;
for (int i = 0; i < 10; i++) {
x.a[i] = f(a[i]);
}
return x;
}
void print() {
for (auto y : a) {
std::cout << y << " ";
}
std::cout << std::endl;
}
};
int main() {
arr<int> x;
for (int i = 0; i < 10; i++) {
x.a[i] = i + 65;
}
x.print();
arr<char> y = x.map([](int v) { return (char) v; });
y.print();
return 0;
}
>>105810924Yes, actually. I hate when syntax intentionally obfuscates what's actually happening.
>>105811298cool now map into an array of objects that cant be default constructed
>>105811343>janitorial dutiesliterally slavery forcing him to clean what he will never use
>>105811342#include <functional>
#include <iostream>
template <typename A>
class arr {
A oc1;
int oc2;
public:
A* a;
arr(A oc1, int oc2) {
this->oc1 = oc1;
this->oc2 = oc2;
this->a = new A[oc2];
for (auto i = 0; i < oc2; i++) {
a[i] = oc1;
}
}
~arr() {
delete a;
}
template <typename B>
arr<B> map(std::function<B(A)> f) {
arr<B> x(f(oc1), oc2);
for (auto i = 0; i < oc2; i++) {
x.a[i] = f(a[i]);
}
return x;
}
void print() {
for (auto i = 0; i < oc2; i++) {
std::cout << a[i] << " ";
}
std::cout << std::endl;
}
};
int main() {
arr<int> x(65, 10);
x.print();
std::function<char(int)> f = [](int v) { return (char) v; };
arr<char> y = x.map(f);
y.print();
return 0;
}
>>105811577anon you could have just used placement new, or variadics
instead this pointer garbage
shame on you
>>105810892programming has to be hard or you cant get paid
What the fuck does this even mean?
>>105812718why do you expect there to be any difference its 99% calls to some library which will take the vast majority of the time compared to the tiny amount of python bytecode execution
>>105812718that spinning up an interpreter and running library initialization has a cost
probably mostly just interpreter start time
but in a larger application going in and out of python the constant (un)marshalling does have a significant overhead despite the oft repeated myth that you get native performance with native python libraries
>>105812783shit never mind i misread the times lmao
with small enough programs any performance differences are probably vanishing into noise
i'm actually really impressed python could init that quickly
>>105812797>i'm actually really impressed python could init that quicklythe python runtime remains in memory after you run it the first time, try running it one time after a cold boot
>>105810892that's cnile "portability" for you
meanwhile in Java land, not only you can run same source code over different environments, you can even run the same compiled classes/jars over different environments
>>105811788the hard part should be the business logic, not language/environment setup
6502 assembly is the ultimate language for portability because every platform has a nintendo emulator
>>105813213I have to maintain Java 6 because corpo has a shitload of Visual JSP shit made with Netbeans 6, kill me.
This type casting polymorphic bullshit in gtk is annoying, inconsistent and unreadable.
It's more time and effort to write the cast than it is to just ensure you're passing in the correct type to the function.
>>105813553>annoyingit's C
>inconsistentwhere?
>unreadableskill issue
>>105813553you only have yourself to blame for using GNOME shitware
no developer who acts the way they do could possibly be capable of actually designing a usable library
with the damage they've done to critical projects like wayland and to the linux desktop as a whole i genuinely consider them the single biggest threat to FOSS
i wish there was some org whose sole purpose was to be contrarian to GNOME
whenever GNOME nacks some wayland protocol for literally no reason it could ack it
whenever GNOME refuses to implement some very reasonable feature into their DE it could add it to a forked version
whenever GNOME removes some feature tons of people use because the GNOME devs personally don't need it it could maintain it
I need to share a list of objects between multiple classes. Some of these classes need to be able to add / remove from the list. Some also need a mechanism to map a class specific value to elements on this list. Problem is when an element is removed via another class, how do I make the one with the mapped information aware of the change?
class Class1 {
readList();
List<T> &list;
};
class Class1 {
addElement();
removeElement();
List<T> &list;
};
class Class2 {
readAssocaitedList();
addAssociation();
removeAssociation();
List<T> &list;
map<key, T *> associatedList; //<-- this needs to be informed of list removals
};
>>105814501where, and how does that help?
>>105814507Assuming that the list is just some collection of elements, you can use a pointer as an abstraction to point to said list. Then, copies of that pointer will always remain accurate so long at that list stays in that address. Assuming some other class needs to be notified (post-processing?) a pointer to an instance of that class can be used to notify it when some operation is done.
>>105814534so something like this?
class List {
vector<function<void(T *)>> notifyTargets;
};
class Class2 {
Class2() {
list.notifyTargets.push(updateAssociatedList);
}
readAssocaitedList();
addAssociation();
removeAssociation();
void updateAssociatedList(T *);
List<T> &list;
map<key, T *> associatedList; //<-- this needs to be informed of list removals
};
>>105814558actually now that I think about it, isn't my problem the same as a database with associated objects needing to propagate a delete? How do they deal with this sort of thing?
>>105814461I assume your concern is that updating the list is making the pointers in the map point somewhere invalid.
Instead of storing T in the list and T* in the map, store std::shared_ptr<T> in both.
Unless you mean "when I remove something from the list, the map has to actually get updated to remove all the keys with that value". In that case make the class with the map actually hold the list instead of referring to it, let everyone else refer to it. and put the necessary logic in that class too. The shared_ptrs will probably still help here tho.
>>105814634Databases don't propagate a delete, a row is a row, they have triggers but you have to manually set them up.
You might be thinking of ORMs which have code annotations of CASCADE to generate boilerplate that sends queries to delete one thing after the other.
So yeah, you have to write or generate the boilerplate (aka the constraint where you touch X and you update Y and you touch Y and update X).
>>105814691doesn't a shared_ptr lead to a memory leak?
>add element to list>add association in map>remove element from list (map still holds the shared_ptr)>repeat until OOMif you don't make any attempt to access these deleted elements in the map you never have a chance to clean them up
>>105814461observer pattern for instant removal, shared pointers for delayed removal, or rethink your design to avoid shared state
>>105813297how is the IDE where the JSP were authored in a factor in what Java version you're running?
>>105816865Usually it doesn't matter.
In this particular case the issues are thus:
1) The Visual JSP shit has certain dependencies that come bundled with Netbeans 6, meaning you can't copy paste the project to Netbeans 21 and have it work out of the box.
2) Decouple it anyways. Extract the jar dependencies. Well, the jar dependencies are obsolete Netbeans plugins and obsolete Sun libraries (com.sun.rave) that have no source code available and have no upgrades available. These jar dependencies require things easy to replace (javax to jakarta transition) to very hard (JDK 6 concrete bullshit that was removed).
3) Try to find replacements anyways. Well, for the com.sun.rave stuff there is no replacement, you need to rewrite. And the Visual JSP format is very old, it existed during the transition from JSP 1 to JSP 2 while they were figuring shit out, so there's no modern "replace X for this com.sun.rave Y".
4) The cherry on top is that this Visual JSP format is for Netbeans 6. Netbeans 6 has a Design tab (removed for Netbeans 7 and over) that builds the website based on the JSP pages. Meaning that the JSP pages are autogenerated and bloated with autogenerated bloat that was added but not removed because it served a purpose at some point and the system it didn't make any difference to remove it. Directly porting the JSP pages means you get bloated autogenerated pages and no Design tab (which boomers like) to interpret them.
The moral of the story is: don't use meme frameworks.
>>105800262>Find crap programming lang nobody uses like Clojure, Pascal, D, Crystal, Nim, Haxe, nushell>Obsess over them for some cool feature or design choice they have>Rewrite a bunch of imagemagick and ffmpeg wrappers on it, some with toy raylib/Qt GUI>Realize is a waste of time and i could've just used Python since the beginning instead of going against the current>Get depressed and quit for two weeksHow to break the cycle? So far the only one of these i had developed some affinity is Clojure. And that's mostly due of sunk cost fallacy. But i dread I'll fall in the same meme with Nim soon.
>>105813297>Visual JSPAbstract kind of hell. Rewriting that piece of shit would be far more viable. There's a good reason all that got deprecated. It was a hack built on workarounds by corporate brownosers fishing good boy points.
>>105817590Rewriting is the only option.
Some of the applications got turned into raw HTML/JS/CSS from JSP.
One public facing one to React.
The others (the important ones) are too big and too important and the model/controller/view logic for each page is just one big mixed bean for everything, unraveling the business logic is too risky. I imagine it was quite convenient to have the "this field is visible" info nested 10 calls into Java land, but it generated horrible coupling.
>>105800289>everything that needs to be made has already been made.You're just not creative enough. I'm working on multiple novel personal projects that other people use regularly.
>Try running a file watcher in a Visual Studio project
>On save it's writing to a temporary file and renaming it as the original
Why?
>>105818814so it cant fail in a successful-looking state?
What's the most straightforward way to play low level audio on Windows? There's like a million different APIs
>>105817524>The moral of the story is: don't use meme frameworks.Meme designer+framework combos are the worst. Fragile as fuck as soon as anything changes.
I want to program my UIs precisely so they keep on working, damnit!
do {
coom()
} while (condition)
vs
let condition = false
while (condition){
coom()
}
The great debate.
>>105817551Why, of all languages, would you feel that over Python? With Py you have a CLEAR different use case from your hipster languages: quicker to write/read, absolute ass performance.
Your hipster language wrappers run faster.
>>105821105loop
coom();
exit when condition;
end loop;
>>105819706The most straightforward is gonna be PlaySound innit?
>>105817551>How to break the cycle?If you're results oriented then just stick with Python or JavaScript.
Otherwise find the lang that is not
>crap programming langfor you.
>>105821122Some people just NEED immediate results. With Python there is so much slop that you can produce even much more slop to consume and it is self reinforcing.
>>105821105#define ever ;;
for (ever)
coom()
>>105821105coom condition
hmm
md5: 868406c8ae0691362d775fa9ff3cd925
🔍
>>105821443prune parent 2
>>105813553Don't write GTK applications in C. Seriously. Nobody does this.
GObject/Glib is implemented in C as well as many other libraries in the GTK/GNOME ecosystem to make generating bindings easier, but you're not supposed to use C for actual applications. Just use Rust or Vala or Python.
alphabet
md5: b0ce59846f235255f91704f21d578aa6
🔍
>>105821122>>105821258I'm more or less obsessed with the "fear of missing out" effect where i could've shipped out something faster on the sametime that would take me learn from another tech. What if i sunk too much time into it and realize i don't like it in the end? But at the same time, i don't really click with most of the mainstream languages, niche ones are just a lot funnier. Python is a charade, only usable thanks to some Rust based startup or docker bloat, JavaScript ecosystem is only marginally better than Python in quality, Java's average codebase is the most atrocious thing I've ever seen (though i like the JVM on paper, i've been looming over Clojure for that reason) Rust takes too long to compile, and i'm too retarded for C++'s ecosystem. Only mainstream langs i've not tried yet are Go and C#, some people say they're considerably better than these ones, but Go doesn't look like a big deal compared with D and Nim. Isn't C# tooling also VS locked?
>>105822978This thought is foreign to me. I mostly just use what I know already from work. That means visual studio, C++, and Qt lmao. Maybe it's a bit much for some things but it's also the fastest way for me to whip something up that other people can actually use and it's easy for me to make it build on linux/mac too. If I am forced to use a new library I don't already know I pick whatever is the most standard and most popular. Just go down the path of least resistance that accomplishes the goal. Some nerd can refactor it in Rust or Zig or whatever meme language later if they want.
>>105822978Miss out on what, if you tried all languages? What's the point of shipping faster if you don't ship? Spend more time not making anything? If you like Clojure go with Clojure.
a daemon.
don't ask me what it does, it's not free and you can't have it.
still working on the prime numbers
fibonacci numbers between 2^100 and 2^200 holding a secret pattern
Are there any good books on compilers and debuggers that go through the fundamentals of how they work, etc.like those computer sci books that teach you about the fundamentals of computers like processrors, asm, binary, etc? How did you guys learn about compilers and debuggers?
>>105822978Try Common Lisp
>>105800235 (OP)I have been able to develop a way to cause PNG files to mutate slightly on open. This mutation stores a fingerprint of the system the PNG was opened on back to the PNG itself stegonagraphically in a way which is not visible to humans, forming a log of everybody who every viewed the image, even if they did so fully offline, as well as the number of times it was viewed and a timestamp. No metadata is used to achieve this. Nothing is required except for the user to open the PNG in pretty much any viewer. I made it because I was curious if this technology is possible after watching YouTube videos and it is. Is there any actual application? How do I turn a PNG that records everybody who looked at it into money? Am I even the first person to do this?
>>105800250The pose is a reference to Ghost in the Shell, specifically the stunts the Major pulls, the bishojo is Yuki Nagato from Haruhi Suzumiya.
Both japanese cartoons have technolo/g/ical themes.
>>105824091The course is called computer architecture in unis, search up book on zlib on the topic
>>105800308If she had anything to do with programming she'd be wearing a maid outfit and the book would be about number theory.
>>105806750>>105806817>tfw I went back to free DynDNS after those shitty laws in EU made my entire record publicdon't think a company has ever seen one cancel within the first minute of going live
>you will still pay for that year>get my data offline first>deletes my records and I pay themthat was the closest to people being able to dox me
>>105802245>Python with static types. Compiles to C.nim
>>105802245FreeBASIC has all of those except for templates. BASIC frontend with a GCC backend
>>105824091>compilersdragon book
>debuggerscan't help you sorry
>>105821516gtkmm is pretty close to my ideal UI framework. Shame it's a total pain in the ass to get working on any platform other than Linux
>>105827205>Nim is Python becoz block syntaxNocoder detected. Nim is a Pascal derivative.
learning a bit of c, lovin it so far
Where do you start reverse engineering this?
$ objdump -d a.out
a.out: file format elf32-littlearm
$ ldd a.out
/system/bin/ldd[24]: linker: inaccessible or not found
$ readelf -a a.out
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x9794
Start of program headers: 52 (bytes into file)
Start of section headers: 0 (bytes into file)
Flags: 0x5000200, Version5 EABI, soft-float ABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 4
Size of section headers: 0 (bytes)
Number of section headers: 0
Section header string table index: 0
There are no sections in this file.
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0x00008000 0x00008000 0x017c4 0x017c4 R E 0x1000
LOAD 0x002000 0x0000a000 0x0000a000 0x2d6b78c 0x2d6b78c R 0x1000
LOAD 0x000000 0x02d76000 0x02d76000 0x00000 0x02048 RW 0x1000
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10
There is no dynamic section in this file.
There are no relocations in this file.
Dynamic symbol information is not available for displaying symbols.
No version information found in this file.
>>105827305Open it in Ghidra or IDA
>>105827247Pascal is an Algol derivative, n00b
>>105824091>Are there any good books on compilers and debuggers that go through the fundamentals of how they work, etc.like those computer sci books that teach you about the fundamentals of computers like processrors, asm, binary, etc? How did you guys learn about compilers and debuggers?I've only written an instruction-level debugger for linux/arm but all the required info was in man ptrace, where poke/peektext are used to insert/remove bkpt #0 (trickier on archs with variable width instructions), and where getregs/cont is used to advance to the next pc
A source-level debugger on linux uses dwarf info where dwarf_addrdie, dwarf_getsrc_die, and dward_lineno finds the correspondence between the current address and source location, it gets complicated when there are multiple src files or cus, I began implementing it but didn't finish besides single src assembly programs
On compilers there are the usual books (dragon and appel) but I quite like compiler journals like these: https://github.com/DoctorWkt/acwj
>>105808669Here is more exciting, fresh Lyzyrd's Gyzzyrd code, fresh off the presses!
x : list<int> = []
x.append(10)
y : obj = x
# this is a syntax error
y.append(20)
Syntax Error: type 'obj' has no method 'append'
a : list<str> = []
a.append("Hello,")
b : obj = a
(b as list<str>).append(" World!")
In order to compile a class, we need to know the names and types of the members and the names, number of arguments, formal parameter types, and return types of the instance methods.
class Foo(obj):
x : int
y : Foo
def __init__(self:Foo,n:int):
self.x = n
self.y = NULL
def fooSum(t:Foo):
if t != NULL:
return t.x + fooSum(t.y)
return 0
>>105810892use wrappers and contain that shit outside of your main application logic nigga
https://github.com/Zizin13/ROLLER/blob/master/PROJECTS/ROLLER/polyf.c The function "poly" is my best attempt at making the 16.16 fixed point math readable. I added some macros so I don't have to see bit shifting everywhere. Annoyingly the function is so big that temporary values are re-used for different things so I gave up on giving them meaningful names and just put extremely verbose comments instead. My previous attempt shadow_poly is below and you can see how it's worse to try and name them. I also did that one before adding the macros lol. I may go through it and update it to be a little better and more like poly but it should work as-is even if it's extremely ugly. I am curious what the original code looked like and how they made their 16.16 fixed point math look pretty.
I want to learn how to compile software on linux to understand more about the process but I don't know which software to use.
cmake / ninja / cargo, etc. These are foreign to me, which package suites do you recommend?
>>105828487I just use regular old make personally.
>>105828487you use whatever software the project prefers/needs for whatever config you're using
you can't build a autotools and makefile based project with cmake
cmake turns CMakeFile based projects into specific build tools like makefiles, windows visual studio projects, and single or multi config ninja build scripts (with ninja being preferred because speed + cross platform)
there's a little wiggle room, like you can pick between GNU or LLVM tools and libraries for example, depending on the language and how robust the project itself is, sometimes despite the build tools it uses supporting multiple setups a project will only ever support one small set of configs
there should be meta-package(s)/package bundle(s) for development in most distos that contain(s) all of the commonly used build tools for a task or tasks and that should set you up for most things
>>105828986oh and most projects will have a list of dependencies both in terms of tools and libraries and will typically have a list of their package names for common distros as well assuming they're packaged
if they're unpackaged it's usually just links
or a lot of the more "integrated" programming languages like C#, Python, Go, etc. will have some sort of dependency manifest that you point a language provided package management tool or build tool at and it'll install what you need
>>105828498>>105828986>>105829055Thanks for your replies, it seems I will just have to use the project-specific tools instead of having a comprehensive, do-all collection of packages installed. It was really to cover all the bases in terms of packages being up-to-date and having no incompatibility or dependency issues.
devel
md5: 538246c6d04a6a22de4d39c829058448
🔍
>>105829235>it seems I will just have to use the project-specific tools instead of having a comprehensive, do-all collection of packages installed.anon i just told you that exists, it just depends on your distro
for example these are all the development meta-packages (package manager specific term being patterns) i've got installed on opensuse tumbleweed
there's not going to be one that covers 100% of your bases because that would be very stupid, you'd wind up with hundreds of gigabytes of python libraries alone (and there are some python distributions that partially do this, i believe that's what conda/anaconda is) never mind every other language
>>105829293Good info thanks
>>105828466>readableThat looks like a 1000 line function of code that was decompiled and then slightly cleaned up that no one else will ever try to understand.
>>105828179Since it compiles to C, Lyzyrd's Gyzzyrd relies on the segmentation fault handler for what Java would ordinarily call a NULL pointer exception. This lightweight error handling approach has exceptional performance and exemplifies the maxim "make the common case fast"
$ cat segfault.lg
x : int = NULL
print "The integer value is" + (x as str)
$ lgc segfault.lg
$ gcc -o segfault segfault.c
$ ./segfault
sh: segmentation fault ./segfault
Here at Lyzyrd's Gyzzyrd we encourage development in C, Java, and Python. We think you'll find the use of GNU debugger / LLVM debugger (gdb/lldb on the command line) most beneficial, especially the backtrace facility (bt). We encourage you to experiment with your system's segmentation fault handling by compiling the following code with the "-g" (enable debugging information) command line option to pass to your compiler
#include <stdio.h>
#include <stdlib.h>
struct foo {
int a;
};
int main(int argc,const char * argv []) {
struct foo * x = NULL;
printf("The integer value is %d\n",x->a);
return 0;
}
>>105829434Someday I will refactor it and roll it up for beautiful looks sars (i won't)
>>105829778int iDx; // edx
int iDy; // ecx
int iX0_1; // edx
int iY0_1; // ecx
are you the same fake dev who downloaded the world maps for a Chinese RPG and claimed they were for a game he was making?
he was mad butthurt
>>105829816Just an anon on a mission from God. I WILL have a software rendered spinning 3D car on the main menu by next week.
66f-1
md5: 6d202d38b84c6ec1011f6b3f3cf848e8
🔍
>1 file
>1 class
>1 function
>20k lines
>>105829778In a few weeks you wont be able to understand it any better than the sars
fn main() {
let args: Vec<String> = args().collect();
}
Is there something wrong about this?
>>105830714>fn>let>args:><String>
>>105830756I think <String> looks great.
I am actually starting to prefer how Vec<String> looks over std::vector<std::string>
>>105830714fn main() {
let args = std::env::args().collect::<Vec<_>>();
}
>>105830844Only a mother could accept this.
>>105830756... what's your language?
kermit
md5: 2d8f18b6221e7a1fb719cc0bc6ab8686
🔍
>>105829550Until we release a MVP compiler, our process is to compile Lyzyrd's Gyzzyrd code by hand. Pic related is a visual depiction of how CTO Kermit the Frog gets ready for the process. Vigorously spinning and throwing your arms about helps to improve circulation, vital for the mind-numbing task.
Scanning of LG source files occurs in two passes. In the first pass, type information is collected: declared classes and interface as well as function, procedure, and method signatures are collected and used to populate the type namespace, which is separate from the object namespace just as it is in C. Unlike Python, types are not first-class.
When a source file has been translated, our tech team celebrates by listening to rock music.
https://www.youtube.com/watch?v=8g6h1vI4Xv0 "The Cult - Fire Woman HD"
>>105830885;()<<_>>();
I'll accept it
images
md5: 68b7c8a40c06f3dfb789b385b020b2e7
🔍
>>105831315A sad note: upon taking too much LSD and listening to too much rock music, our director of HR has fired all of the female employees here at Lyzyrd's Gyzzyrd, Inc. It's a sausage party over here right now. Alright, back to work. I'm going to warm up for some more hand compiling now.
*ring ring*
Hello?
...
*click*
Ah, well, it appears that one of the more attractive former employees of Lyzyrd's Gyzzyrd has offered me sex for $3,000. Pic related. I'll be leaving work early right after dealing myself a few lines of cocaine.
do you pronounce daemon like demon or damon?
>>105833014I've never said that word out loud but I'll let you know when I do.
>>105833014like this
https://youtu.be/Xu9L2FxPTws?t=29
>>105830714That is the standard way to get command line arguments in Rust. The thing that sucks about it though is you need to make a heap allocation to get them. You can't just... tell the OS to give you a slice of &'static str
I require your most esoteric, schizophrenic approaches to and resources for mid-to-low-level physics engine programming
>>105834418pi = 3 ought to be accurate enough
>>105833014like 'women' but d instead of w
>>105810892youre doing something wrong
>>105833614fighter of the night man
>>105810892Not a problem in my programming language of choice (you know the one)
>>105810892You can stay incompetent. That works for me.
>>105810892this is why i use alt-langs
>>105834526I swear to fucking God
>>105834526they hated him because he spoke the truth
>>105800235 (OP)learning TCP sockets programming for a network filesystem. I want my client to be robust and handle server disconnects/crashes mid-transfer, to ensure data integrity (kinda like `hard` option works in NFS).
Apparently, blocking recv() can't detect a crashed TCP connection that was not properly closed by the server, it will block indefinitely (i guess that makes sense, as it has no way to tell a healthy connection from a crashed one).
Using SO_RCVTIMEO can detect such stale connections, now everything works properly and doesn't freeze my threads indefinitely.
>>105836443>using thread per connection
I restructured my percentage calculator for gorgeous looks.
Every row is now modulated.
https://github.com/aussie114/percentage_calculator/tree/master/src
>>105836490libfuse spawns threads on-demand for filesystem ops. I just have a few connected sockets and let each fs op pick a non-busy socket.
Previously, i've allowed for send/recv concurrency on a single socket, so that 2 threads could share one TCP connection, however the reconnect logic got complicated, so i've opted for not allowing that and just making 2x the connections for now.
>>105836576v cool anon. Is that vim?
>>105800235 (OP)>daily programming thread>3 days agoalso, if your programming language doesn't optimize this to x * 9 you're using a blub language.
VM/script kiddies need not apply.
long int
mathz ( int x )
{ return x + x + x * 2 + x + 3 * x + x;
}
https://github.com/ziglang/zig/pull/24362
It is done. He did it.
>>105838443Very cool PEMDAS, bro. Mind if I save it?
>>105838443how does a language optimize something?
>>105834418what kind of physics engine?
>>105828487your shell.
learn how your compiler works, how linking works, how rpaths work, etc. study the flags and settings and environment variables. build systems won't give you any insights, they exist to hide all the details from you. that's the whole point of them.
>a comprehensive, do-all collection of packagesyour shell, your filesystem, your compiler, your linker, etc.
everything can be built with these.
this is absolutely fucking amazing
>uses a game engine for 8 years
>didn't know it had the boolean variable
>if else 400 times over
>>105839995That's what you get for abolishing euthanasia.
>>105839339Qrd? Are they switching to green threads or merely using .await() instead?
>>105837793It's nvim with this theme https://github.com/catppuccin/catppuccin
I also use the treesitter mod for better syntax highlighting which is not really shown but it changes the colour of struct members and consts etc in addition to your standard keywords.
https://github.com/nvim-treesitter/nvim-treesitter
Is it possible to do better than this in C#? I'm creating a class to get the result of unmarshalling a C union whose concrete type I only know at run time, not ahead of time.
public class ParamValueObj
{
public ParValueKind Kind { get; set; }
public object Value { get; set; }
}
>>105839995Maybe I don't have enough context but why wouldn't you have storyline_array as a struct of structs so you do
global.storyline.cafe.coffee_cold_knowledge = 0;
and then just do
if (global.storyline.cafe.coffee_cold_knowledge)
Always check your AI slop. Copilot just wrote me the most amazing automation for Home Assistant to advise whether or not I should have my window open based on indoor and outdoor temperatures and humidity (it even calculated absolute humidity to do this) but it was pulling temperature data from the forecast condition instead of the temperature state attribute so the outside temperature displayed as "cloudy" with 0°C being the temperature it was using in its calculations.
yEGpIM
md5: 7368d0d062df3863752e4c93048dbbf0
🔍
>>105841417How obese are you?
>>105841494Skinny as fuck. If I were obese I'd probably figure out how to wire up a robot to open and close the window for me but that's a bit too much of an automation step for me. Until we have AI powered sex robots that can do this I'm good for now.
>>105841507Oh shit my bad man. I thought that's what you meant and I pictured you lying in bed turning to your side to shit in a bucket because you had not moved in 20 years.
>>105841528It's just a little sensor that displays advice.
Also fuck YAML:
https://pastebin.com/raw/yLUBtyxk
>>105838443The thread slowed down when the maidposters got banned. Total Eglin AFB victory.
>>105841158>Is it possible to do better than this in C#?Maybe. Do you know if the value you're going to unmarshal is one of a fixed set of types, or is it entirely open? (What you've written is the Entirely Open option.)
>>105838443Optimizations are compiler specific not language.
>>105838443Everyone is using AI now instead of asking questions here. Stake overflow is also dying which is exactly what it deserves to be honest.
>>105841766One from a fixed set of types, but it includes both reference and value types.
The C union holds a 256-long char array, a double, a short, or an int
Other than having an object field, the only solution I can think of is having a separate class for each possible type and each class inherits from an interface or something
>>105841702Nah, I'm just busy.
>>105841702>no! the global domestic post rate must go up!
>>105842016Maidposts were usually of exceptionally high quality and polite. Like, actual research instead of just college students doing homework.
>>105841871Which maid were you?
>>105841571There's a point where people should just use Lua as a configuration language and this clearly past that point
I feel bad that you had to implement that
>>105842141>Maidposts were usually long winded and if you had a low attention span you could be convinced they were intelligent
how complicated would you describe this? it's not very big.
https://github.com/francisrstokes/tiny-c-projects/tree/main/state-machine
>>105842174>1 indexedThat decision is what killed the language outside of game development, and the only reason it is tolerated there is because most game developers are nocoders using engines and never learned any kind of programming before getting into gamedev, so they don't even notice the 1 indexing.
>>105842197Which is why the small language known as Fortran never picked up steam
Face it, the 2 inch barrier of 1-based indexing is a skill issue
>>105842176>the world's best computer scientist liked posting her research, but if you didn't have a graduate level understanding of number theory you wouldn't be able to understand it
>>105842197It's a shame because the table design of Lua is extremely elegant.
>>105842141I never said I was a maid, just that me being busy caused the thread to slow down.
10 years as a software engineer, and I finally just learned how to actually use lookarounds in regex lol. Much easier than I thought it would be
>>105842217>Which is why the small language known as Fortran never picked up steamAll the gamedevs stitching things together in their engines with Lua are secret Fortran programmers now?
>Face it, the 2 inch barrier of 1-based indexing is a skill issueFace it, the 2 inch barrier of YAML is a skill issue
Modern project creation starts with loading cursor and telling it what to do.
Over the past couple days I wrote some scripts that convert data to audio, and audio back to data. I've tested it by recording it onto cassette tapes and after tweaking it, I've been able to record data onto tapes and read it back with 100% reliability, even with large files and repeated testing.
I'm using amplitude modulation, which seems to be uncommon with this kind of experiment. All the 80s home computers used frequency modulation for this, as far as I know.
https://github.com/dusthillresident/johnsonscript/tree/master/example_programs/data_on_audio_cassettes
if i wanna make a tool for controlling remote computers how do i make sure that it's secure
>>105843670add captcha to it
>>105842188not very
even simple state machine libraries tend to be much larger even if they're straight C like something like ragel can output
>>105844428I guess I meant in terms of the syntax use. Was that demonstrative of a competent programmer?
>>105844990beginner-intermediate
demonstrating skill above that in C is mostly going to chiefly concern correct platform library usage and understanding system behavior and not syntax (aside from using modern C features, and that's arguable because their historic lack of support means a lot of good C programmers don't use them); because that's where the fuck ups happen
kinda too small, not enough dynamically allocated memory, and not enough dependencies to run into issues that would demonstrate typical weaknesses
imo an actual advanced display of competence would entail demonstrating increasing knowledge of platform/compiler/other toolchain minutia on top of that which would require actually making it a library, not using a single shell script to build and using a real build system, supporting multiple configurations like static vs shared, supporting multiple platforms
i.e. demonstrating you can maintain and author real world library code with all pain that comes with that and not just consume it
>>105839995honestly the fact this pseud got as far as he did without being publicly called out, is the reason we need to bring back gatekeeping and toxic communities.
>>105846171Reminder: He's against stop killing games.
Yes, I am personally also against it, I want shit slop like this to die in an inferno blast along with subhumans who unironically enjoy playing it, but just reflect on the fact that he is financially invested in this and wants to abuse your stupidity while his code looks like that.
>>105802705What's the point if you use it once
>>105800235 (OP)Are there any books how to design databases? Not language specific books, but something to teach me how to organize them, what columns there should be and how to get the right data out of them.
>>105846188Luckily no one cares what you think, otherwise they would've elected you as a king.
>>105847364You cared enough to respond, so, did you figure out how unix commandline is meant to be used? Or are you still waiting for your perl script to finish running?
>>105847382Everything for a chance to put your ego down.
>>105847396Seems like you're still waiting for perl to finish running what du did in less than a second...
>>105847417Whatever, not-king.
>Whatever, not-k-AAACK!
I will still be here after your kang gets beheaded on liveleaks.
Fascinating.
Not your nonsense, but your delusion anyone cares about it.
>Fascinating.\n
Stopped reading right there.
>>AD
Stopped watching the AD right here.
mgdb
md5: 698622e49c2fda8e2cce6ecaedb9b238
🔍
>severe ADHD AND autism
We made euthanasia for subhumans like you.
>>severe AD
Yet I am using uBlock Origin and saw none of it.
>they arrest heroes that get rid of useless lawmakers
>but they don't use the Patriot Act to identify and purse scum like you for twenty years now
No wonder no one trusts the government.
>>105847532But you said government will kill me in 2 weeks?
>>105847538No, but I wish they fed you to pigs. Alive.
>>105848030It seems like your melty is much stronger than anything we saw thus far...
>>105848047Pigs' hunger for your flesh is bigger.
>>105848067If the government won't do it, then will I, together with a random assortment of people who might become jurors. It's assertive revenge for a guilty verdict.
I'll also record the feast and upload it to various video platforms from which it can't be deleted, so that the entire world will forever be able to experience your justly demise.
>>105839995NGL but starting the video with books on clean code, design patterns, and this hideous code example
Car car (
HorsePower{98u},
...
)
Made me think the real fake is code jesus. It solves a problem that only exists in the eyes of fakes like Uncle "Clean Code" Bob. My editor shows me the definition of a function after pressing Shift+K. I don't need """Clean Code""" to understand what my parameters are
Rest of the video was alright though
>>105839749In this case it's applying the rules a + a = a * 2 and a * b + a * c = a * (b + c) until the expression stops changing
read("x + x + x * 2 + x + x * 3 + x")
(+ (+ (+ (+ (+ x x) (* x 2)) x) (* x 3)) x)
fold(read("x + x + x * 2 + x + x * 3 + x"))
(+ (+ (+ (+ (* x 2) (* x 2)) x) (* x 3)) x)
(+ (+ (+ (* x 4) x) (* x 3)) x)
(+ (+ (* x 5) (* x 3)) x)
(+ (* x 8) x)
(* x 9)
(* x 9) can be rewritten (+ (* x 8) x) where x * 8 is the same as x << 3, so later an instruction scheduler might select add r0, r0, lsl #3 if add-lsl is faster than mult
>>105838443>>105848484The only real languages are the languages that make you money. Your toy examples, monads, and Polish notation need not apply
>>105848595I reject your control over people via money.
>>105848608It's not the money that makes it a real language, but the fact you're creating software people find useful enough to pay for. The money is just an analog for not being a waste of space
>>105848636People shove their dicks into vacuums. Who gives a fuck what they want or deserve.
I'm not giving you a (you) for that low effort bait
Go back to writing your 20th fizzbuzz your chicken tendies are almost ready
>slave has an opinion about his value
Whatever, slave.
Nice come back. Unfortunately one of us takes holidays twice a year to visit exotic countries and the other is stuck in his mom's basement arguing about optimizing 3 mul/add instructions
>he needs two vacations a year to see people poorer than him to cope with the stress in his miserable life
Ouch, nice self-own.
>>105848655People will pay to shove their dicks into vacuums, they will never pay for your slop.
>>105848824Wake up, you're still dreaming.
>>105842512I was just hoping a maid was still around. Without the maidposters this thread is a mixture of college students asking introductory programming questions, juvenile trolling and unmedicated schizophrenia.
>>105848952Because trannies avatarfagging contributed a lot?
>>105848952You forgot the autism and, dependent on whom you ask when, psychopathy. Different from schizophrenia.
>>105849001Unironically yes, until jannies started banning maidposters on sight.
>>105849024Because I spammed reports for avatarfagging.
What the fuck is a maid
t. First time visiting this general in 5 years since I got a job
>>105848595>Your toy examples, monads, and Polish notation need not applyYou don't need to get caught up in the particular notation, drawing out the ascii trees for better intuition would just make the post too long
>>105848595Are you employed?
>>105850151Yeah. Are you not?
>>105848636upwards of 99% of all paid software is completely useless slopware designed to turn a profit
almost anything actually worth using is made by people for fun or to solve a problem and maintained by people who volunteer their time or get donations to fix bugs they or other people find
>>105843185Testing this further, I've reliably transferred data from cassette tapes at ~4600 bits per second, from crappy tape recorder with really bad flutter.
>>105850528Now use zstd to compress data first.
>>105849168>What the fuck is a maid
>>105850714This sounds gay as fuck. /dpt/ has fallen. billions must nocode
im writing matlab oop code