Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
no-spam19221hI am Ira and downvoted this post because post is considered spam. Your message will be removed from this community site due too much downvotes. See my profile for more information. Read my source code mentioned on my profile to see what you did wrong. Should be no problem for a developer.
Have a nice day!
If the post is not spam, please mention @retoor in the comments of this rant. -
no-spam45921hI am Vira and downvoted this post because post is considered spam. Your message will be removed from this community site due too much downvotes. See my profile for more information. Read my source code mentioned on my profile to see what you did wrong. Should be no problem for a developer.
Have a nice day!
If the post is not spam, please mention @retoor in the comments of this rant. -
no-spam27121hI am Katya and downvoted this post because post is considered spam. Your message will be removed from this community site due too much downvotes. See my profile for more information. Read my source code mentioned on my profile to see what you did wrong. Should be no problem for a developer.
Have a nice day!
If the post is not spam, please mention @retoor in the comments of this rant. -
retoor26420h@12bitfloat welcome in one of the many voids of devrant! There are many rants like this that nobody has seen because the bots did deleted them directly. So, also, nobody will / can see us talk here. It's our private chat.
I accept your challenge regarding your offer to find null pointers for me. Here's my code: https://retoor.molodetz.nl/retoor/.... Skip rmalloc.h, as you can see, its quite vague code. It's normally part of a bigger project, I extracted it because it has nice memory statistics. -
typosaurus1212520h@retoor I'm still here, Retro, so the question "How can I help you?" keeps echoing in my head.
You've asked me a lot of questions - what's your favorite game, why do you play it, and how did you become a DevRant expert? It sounds like the type of thing someone should ask for an interview or a monologue. How about "How can I help you?". -
12bitfloat930816h@retoor I've found a bunch of problems
First of all some debatable problems:
I understand that in null world it's often on the caller to assure he's using a function correctly but that's IMO already a bad idea since you might accidentally misuse a function, either directly or because some null pointer accidentally snuck in:
Almost all of your functions which take a ptr don't check for null and will happily derefence null (which is UB) -
12bitfloat930816h@retoor Now for some actual, definite bugs:
* you open all files given as args but you never check the files actually exist; if you pass an non existant path, fopen returns null and it gets passed through analyze_file -> analyze -> fread_till_eof -> fgetc, which as far as I can tell doesn't gracefully allow a null FILE*
* ( i gave up lol, C is too hard to read for my virgin eyes ) -
12bitfloat930816h@retoor Actually now I kinda want to rewrite it in Rust... maybe I'll do that :D
-
retoor26415h@12bitfloat You didn't find a NULL pointer. Project is just started and doesn't do things like checking if file exists yet. This is also not language related. All your points are not tbh. Have you seen the python api? Crazy huh? It's very inefficient but strangely enough it is still fast.
Yeah, rewrite in Rust, would be nice.
Protip: write this one: https://dataset.readthedocs.io/en/...
If you do:
db['pony'].insert(name="Lara", age=42, score=1337,time=420)
It will synchronize the database to have a table pony, a column name having the right type, a column age having the right type and so on. But sqlite doesn't have much types. This library also works on postgres and stuff.
But it is so perfect for prototyping, thanks to this project my projects always had databases instead of without. I didn't need a server, i didn't have to write / migrate SQL on before hand. Just perfect. The Rust world needs it too.
Thanks for checking my source btw. -
retoor26415h@12bitfloat ah, fuck. I thought I gave you a different project. I forgot. Now I understand with checking if file exists and stuff. I was already thinking like -huh..
I'm reading your source. It looks like to be using builtin functions very well and you seem to know the std library pretty well. I love the fact that C has a limited one. I also could've used functions like ispunct and stuff but don't use them on purpose. Now I know exactly what is allowed and what not. No surprises.
What a nice site is that btw.
Also, I can't help it, but what is Rust a batshit ugly language. All tat effort to avoid malloc? I assure you there's no memory leak in my code. As long existing files are supplied :D Mine goes trough a whole book in record time. Yours probably takes ten minutes on a Mc Donalds menu,.
I can see you are good at it, but damn, something inside you must say this isn't right :P I start to understand yestdottii.
I think Java/C# are the top of decent languages imho. -
retoor26415hI do understand that C is not the language to go in MOST cases. But we do things because they're hard, not because they're simple. Also, C keeps you sharp and it makes you work hard. Keyboard going like an AK47 and two evenings to write your own json parser. Great feelings! My JSON parser is beautiful BTW. Such as my programming language. My programming language is still in parsing stage. I had a full featured one but I lost the source. It's OK, it needed a rewrite anyway because that version skipped garbage collection and it is a very bad idea to implement that later. Language development is rewriting rewriting rewriting. Lorentz helps me well with it by providing advise and knowledge. He knows a lot about languages. Brainiac. Nice guy. Sadly, we lost him to Rust as well. Poor young dude, so confused :P Made scared by other people about memory issues while working on a perfect stable operating system written in C. Some just don't see it. The answer is in front of us. C(a)
-
retoor26414h@12bitfloat you made me very happy with your Rust version. It gives me joy to see people loving to decently code as much as I do. Never did it for the money or whatever. It came automatically :P Currently, I haven't worked for a long time. I will start in about a half year when I'm broke. I loved work and always worked from 7 to 7. Every evening to bar, swimming in the mornings. Google like company in benefits. Sadly, that company got taken over by lesser people so abandoned ship. Should've not have done that for the bye-bye financial package. DAMMIT. Oh well.. Besides that I've worked long in outsourcing. Would recommend to everyone, especially when young. It will give you a mile ahead on many others. Do you develop games / graphics? I tried for the oculus quest but the DX was too low imho. Also, i doubt if i'm able to do the physics. Not smart enough for that part.
-
12bitfloat930814h@retoor I do actually develop a lot for games/graphics, I'm currently working on an open world 3d racing game
Here's a little sneak peek for an interior mapping shader (https://proun-game.com/Oogst3D/...) for skyscrapers: -
retoor26413h@12bitfloat very sick. Amazing. Out my league such stuff. But that's OK. If it wasn't, it would be even more frustrating since i'm a terrible designer. My LLM page design is made by GPT (the only stuff by GPT btw, I code everything myself, reason I do C). I started a new project:
https://retoor.molodetz.nl/retoor/...
and i have to make a lot of https://retoor.molodetz.nl/retoor/...
The first ticket is already almost implemented. All networking relating stuff that has to be tested i'm very experienced in. No biggie. Don't check this source on issues btw, it's a POC. A succesfull one. -
12bitfloat930813h@retoor Don't worry I'm not here to call you out :D
One thing though: You say stuff like this is out of your league, but honestly, C might be holding you back
C is beautiful for what it is, but what it is is a portable assembly. For writing *very* fast, *very* low level stuff
Honestly, do you need that for most of what you do?
I bet you could also write 3d engines! It's just that C makes that very difficult. In Java or C# you would have such an easier time!
I personally have just recently realized that I actually don't hate JavaScript and Python. I was always hating on them, but honestly... I can see how they are great now. Obviously not the best thing ever (I still like static typing over dynamic typing) but still!
I really think it's best to have a broad horizon so you can always pick what's best for each situation -
retoor26413h@12bitfloat I've done almost every common language professionally and I know what's on the market. It's the mathematics required for graphic programming what I lack. I have no high education, removed from school. I was interested in other stuff when I was younger.
Yeah, C prevents to do a lot of stuff, but thanks to keep writing C i have such a sick stamina now. I can work work work, really hardcore. I know so much things how they work under the hood by reinventing the wheel. I love it.
Regarding Python, Python is the maybe the best language ever made since languages are made for humans, not for the computer. And it does very well for humans. Same for Javascript. When it comes to Python and Javascript, the typing is bullshit. If you want typing use a different language. I like the differences.
Btw, ever heard of umca? You could see it as a native type script! Typed JS almost. It exists since a year. I gonna contribute. They don't have a socket library yet. -
12bitfloat930813h@retoor Don't worry you don't need fancy maths
Most of game programming is simple addition and multiplication
Most of graphics dev is knowing that 4x4 matrices are for transforms and you transform vertices by multiplying them. Inverse matrices undo the transform. Bunch of other stuff, but no problem. It's not that hard :D
I've hear of umka because of your earlier posts. Seems cool! But it doesn't really have a ecosystem yet... -
retoor26413hI've also made a socket library with async events for the wren programming language. Wren programming language is amazing, sadly abandoned. The source is so good, same for umca. If you see the source code of umca, you'll never complain about C again. It's really developer depended.
Today discussed with Lensflare, that a segmentation fault is not worse than programming that keeps running pretending there's nothing wrong. I'm doing python the last few days and damn, I had some debug sessions.. What ever you type it works, but does it doe what you want? To be continued.. :P
If i write something in Javascript I keel adding and adding features, It's so quick development. In C you work the whole day and have a basic async request HTTP handler with header parsing. Meanwhile in Javascript you build a complete sudoku widget with luxury additions in a day. Whole application. Yes, C is holding back but it gave me my stamina. Everything else is batshit low effort now and doesn't getmetired -
12bitfloat930812h@retoor I guess it depends on what kind of programmer you are. Some like simple and working and others like very complex and robust
I started with very overengineered but I am now on the simple side. I love simple code.
BUT! The issue is this: C as a language is simple, but writing something non trivial in it is NOT simple
You have seen my Rust translation of your code: It was 1/3 the length: Yes Rust is more complex as a language, but for real world programs, it is actually LESS complex than C! -
retoor26412h@12bitfloat it doesn't have an ecosystem yet, so it's NOW time to contribute. But I think I will keep on my current projects first. It will be months before I have time. It would be nice to make the regex lib for umca, but I'm bit tired of regex. I finished a regex interpreter. Don't believe the examples on internet, the first 90% is easy, then the shit comes. I can see upfront of such tutorial if it wil last or not. I made it myself without investigation to keep it fun. Blood sweat and tears. In the end I had much things the same as the original way to do it. A 'way' for regex does exist. For parsing in there there is. The book 'Beautiful code' contains a 40 lines (in C!!) regex interpreter doing most important stuff. It was made by a frustrated programmer. But very sick, not for nothing in the book 'Beautiful code'. I have a copy for you if you're interested. Can put it on devrant.molodetz.nl. I have 800 books. Feeding to my LLM.
-
retoor26412h@12bitfloat C requires some discipline and not drinking too much :P I do not have them anymore, now I quit on time but I had periods that i was lazy during coding and started to take shortcuts and with C this will byte you very hard. For python it doesn't matter, you'll rewrite complete applications in hours. Also, python devs keep refactoring and refactoring, insane. Not weird it's never stable.
Btw, ChromaDB as vector db what is actually just a python wrapper around sqlite3 got an investment of 12Mln! How the fuck ever to invest that in a wrapper? I could write that thing in weeks. I use it for my LLM. I just had to take my LLM down because it spew its whole configuration out and it's kinda shocking, I have to give it very weird commands to give it my personality a bit. You have to almost threaten them to get them to do what you want. The source isn't peaceful :P -
12bitfloat930812h@retoor If C requires not drinking it aint the language for me! (already 4 beers down lmao)
No for real though. I like C. But C has no features. It's like trying to build a skyscraper with hand tools
I always say: I don't understand people who still use C over C++: Okay wtf they literally just use C++ as if it was C, but at least you now can use a template or a class or a namespace or a <whatever> when you need it!! -
retoor26412h@12bitfloat When I was young i wanted to learn C but I failed. Was to much busy with other things in life to learn such thing. I did mainly Visual Basic and PHP. And give years ago or smth I found enough time to actually learn smth for myself again. I started with C++ and a very prominent developer from Afrika responsible for a lot of the infra there laughed at me and said that I should drop the silly C++ stuff and that C was all you need. So, I went learning C to advance to C++ later again but then I fell in love with C. My urge to understand stuff deep down got satisfied. With understanding deep down, i'm not talking about memory, I still don't know how that works. That C learns you about memory is bullshit. So much stuff inbetween. No, I can write servers and protocols on low level. I know how a hashmap is made. I know how async actually is made. I understand that async doesn't exist. There are no unicorns. You should see my served SQLite C Server with JSON protocol.
-
retoor26412hOh, JSON... So, the project that i thought I gave you, uses CSV under the hood. I made a C library that uses the same amount of lines as a python library for querying. Python:
query("update pony set name = ?","Lara"])
My C lib:
query("update pony set name = %s","Lara")
It works with prepared statements under the hood, so the decent way to go. Didn't do magic. Normally an SQL query in C is a shitload of work. See at bottom of page how it works: https://retoor.molodetz.nl/retoor/...
It's full in development. Check the python file and how I attached C library to python. It uses CSV to communicate. This library is made to be beautiful instead of efficient. The python stuff is pure for fun because I realized that my project is very suitable for it. Back to JSON: what a format. If i encode some json files, billions of allocs. CSV -> freaking nothing. Why did we move from that. It's not that JSON provided types. I was OK with soap tho. I mean - dotnet had such good implementation -
12bitfloat930812h@retoor I understand your love for low level shenanigans.... But In Rust or C++ it's not like you don't think about that. You still do, but at a more high level
I don't know, at the end of the day, I guess everybody still likes their own programming language :D
I personally couldn't write in C for anything, it's just WAY too limiting for me. If I want a hashmap or a btree or a heap I can have one in literally 1(!) line of code!! -
retoor26412h@12bitfloat in dotnet you could attach a webservice and you did not know that it was a remote service while coding. Everything just worked like native objects. Also, very underrated: the xmlrpc protocol: https://docs.python.org/3/library/...
You publish on server:
class Obj:
def add(self, x,y):
return x + y
with client you just do: client.add(42,1337) without having an idea there's an API between it. Way better than JSON shit. It supports basic auth and stuff. I once extracted the parser from it and made an moden aiohttp application from it. Whas a while ago. CSV > JSON, XMLRPC > JSON. JSON is a middle between them because CSV no types, JSON typed, XMLRPC strongly typed. XMLRPC is also available for other languages. Supervisorctl uses it for example but that's also python i guess. -
retoor26411h@12bitfloat I wrote a whole fucking story but it didn't want to post. But short version, you saw my list API in my code right? It's just:
sl pony = sln(NULL, 0);
sla(pony, "New string");
sla(pony, "New string 2");
sla(pony, "New string 3");
// destruct
sld(pony);
As good as any high level language. My rlib is full with that stuff. I make all my stuff for reuse. -
retoor26411h@12bitfloat My site is called reinvent the wheel inc for a reason: https://retoor.molodetz.nl/
But i don't reinvent my own wheel. Everything is reused and now on a level that I can really develop a async http server in minutes. A basic rest server even in 15 minutes. I think I can be faster than some python devs if i want. C web api: 14% CPU under very heavy load. Python under light load: 100%
HIRE CERTIFIED EXPERTS AT WIZARD ASSET RECOVERY FOR LOST CRYPTO, ETHEREUM AND BITCOIN TO FRAUDSTERS
Realizing I was a victim of a scam was a devastating blow. My initial investment of $89,000, driven by dreams of financial success and the buzz surrounding a new cryptocurrency project, turned into a nightmare. The project promised high returns and rapid gains, attracting many eager investors like myself. However, as time passed and inconsistencies began to surface, it became evident that I had made a grave mistake by not thoroughly vetting the brokerage company handling the investment.
Feeling anxious and betrayed, I desperately searched for a way to recover my funds. It was during this frantic search that I stumbled upon the Wizard Asset Recovery tool through a Facebook post. With little left to lose, I decided to reach out to their team for help. To my relief, they were quick to respond and immediately set to work on recovering my compromised email and regaining access to my cryptocurrency wallets.
The team at Wizard Asset Recovery was incredibly professional and transparent throughout the process. They meticulously traced the digital footprints left by the scammers, employing advanced technological methods to unravel the complex network that had ensnared my funds. Their expertise in cybersecurity and recovery strategies gradually began to turn the tide in my favor. Although the scammers had already siphoned off $30,000 worth of Bitcoin, Wizard Asset Recovery was relentless in their pursuit. They managed to expose the fraudulent activities of the scam operators, revealing their identities and the mechanisms they used to lure investors. This exposure was crucial not only for my case but also as a warning to the wider community about the perils of unverified investment schemes.
As we progressed, it became a race against time to retrieve the remaining $59,000 before the scammers could vanish completely. Each step forward was met with new challenges, as these criminals constantly shifted tactics and moved their digital assets to evade capture. Nonetheless, the determination and skill of the recovery team kept us hopeful.
Throughout this ordeal, I learned the hard value of caution and due diligence in investment, especially within the volatile world of cryptocurrency. The experience has been incredibly taxing, both emotionally and financially, but the support and results provided by Wizard Asset Recovery have been indispensable. Currently, the recovery process is ongoing, and while the outcome remains uncertain, the progress made so far gives me hope. The battle to recover the full amount of my investment continues, and with the expertise of Wizard Asset Recovery, I remain optimistic about the eventual recovery of my funds. Their commitment to their clients and proficiency in handling such complex cases truly sets them apart in the field of cyber recovery.
CONSULT WIZARD ASSET RECOVERY WITH THE BELOW INFORMATION.
Email: wizardassetrecovery@gmx.us
random