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
Search - "allocate"
-
The second episode of The devRant Podcast is here! We're happy to announce the release of episode #1 - featuring David Heinemeier Hansson (DHH) (known for creating Ruby on Rails, Basecamp, his book Rework, and much more). It was a thrill getting to interview David and we think everyone will really enjoy!
We also want to give a huge thanks to our two devRant users who helped us out and came on to talk about their rants - @peaam and @switchstep. We also greatly appreciate all of the questions that were submitted by community members. We really wanted to ask all of them since there were a lot of good ones, but unfortunately we ran out of time with DHH and we didn't get to ask any :/ We're going to make sure we better allocate time in the future.
You can get all the links to the podcast here: https://devrant.io/podcasts/... (available on iTunes, Google Play, YouTube, Soundcloud, Stitcher, and we've provided the raw mp3 in various bitrates).
If you'd like to see it on any other platforms in the future, please let us know. And like always, feedback is appreciated since we're new to this and still learning our way when it comes to podcasting. If you enjoy the show, please rate it to help us out :)
Thanks everyone!7 -
Someone on a C++ learning and help discord wanted to know why the following was causing issues.
char * get_some_data() {
char buffer[1000];
init_buffer(&buffer[0]);
return &buffer[0];
}
I told them they were returning a pointer to a stack allocated memory region. They were confused, didn't know what I was talking about.
I pointed them to two pretty decently written and succinct articles, the first about stack vs. heap, and the second describing the theory of ownership and lifetimes. I instructed to give them a read, and to try to understand them as best as possible, and to ping me with any questions. Then I promised to explain their exact issue.
Silence for maybe five minutes. They disregard the articles, post other code saying "maybe it's because of this...". I quickly pointed them back at their original code (the above) and said this is 100% an issue you're facing. "Have you read the articles?"
"Nope" they said, "I just skimmed through them, can you tell me what's wrong with my code?"
Someone else chimed in and said "you need to just use malloc()." In a C++ room, no less.
I said "@OtherGuy please don't blindly instruct people to allocate memory on the heap if they do not understand what the heap is. They need to understand the concepts and the problems before learning how C++ approaches the solution."
I was quickly PM'd by one of the server's mods and told that I was being unhelpful and that I needed to reconsider my tone.
Fuck this industry. I'm getting so sick of it.26 -
This story starts over two years ago... I think I'm doomed to repeat myself till the end of time...
Feb 2014
[I'm thrust into the world of Microsoft Exchange and get to learn PowerShell]
Me: I've been looking at email growth and at this rate you're gonna run out of disk space by August 2014. You really must put in quotas and provide some form of single-instance archiving.
Management: When we upgrade to the next version we'll allocate more disk, just balance the databases so that they don't overload in the meantime.
[I write custom scripts to estimate mailbox size patterns and move mailboxes around to avoid uneven growth]
Nov 2014
Me: We really need to start migration to avoid storage issues. Will the new version have Quotas and have we sorted out our retention issues?
Management: We can't implement quotas, it's too political and the vendor we had is on the nose right now so we can't make a decision about archiving. You can start the migration now though, right?
Me: Of course.
May 2015
Me: At this rate, you're going to run out of space again by January 2016.
Management: That's alright, we should be on track to upgrade to the next version by November so that won't be an issue 'cos we'll just give it more disk then.
[As time passes, I improve the custom script I use to keep everything balanced]
Nov 2015
Me: We will run out of space around Christmas if nothing is done.
Management: How much space do you need?
Me: The question is not how much space... it's when do you want the existing storage to last?
Management: October 2016... we'll have the new build by July and start migration soon after.
Me: In that case, you need this many hundreds of TB
Storage: It's a stretch but yes, we can accommodate that.
[I don't trust their estimate so I tell them it will last till November with the added storage but it will actually last till February... I don't want to have this come up during Xmas again. Meanwhile my script is made even more self-sufficient and I'm proud of the balance I can achieve across databases.]
Oct 2016 (last week)
Me: I note there is no build and the migration is unlikely since it is already October. Please be advised that we will run out of space by February 2017.
Management: How much space do you need?
Me: Like last time, how long do you want it to last?
Management: We should have a build by July 2017... so, August 2017!
Me: OK, in that case we need hundreds more TB.
Storage: This is the last time. There's no more storage after August... you already take more than a PB.
Management: It's OK, the build will be here by July 2017 and we should have the political issues sorted.
Sigh... No doubt I'll be having this conversation again in July next year.
On the up-shot, I've decided to rewrite my script to make it even more efficient because I've learnt a lot since the script's inception over two years ago... it is soooo close to being fully automated and one of these days I will see the database growth graphs produce a single perfect line showing a balance in both size and growth. I live for that Nirvana.6 -
*Opens some Computerphile video on YouTube in Chrome Canary*
CPU > hey ho dude, wait a minute..! I can't process all of this in realtime!!! >_<
Alright.. I think I've still got a copy of all their videos sitting somewhere in the file server.. perhaps I could use that instead.
*Opens said video from the file server in SMPlayer*
CPU > aah, thanks man. Now I can allocate 15-ish % of my resources to that and give you a good watching experience.
Web browsers are really great for being the most general-purpose document viewers, application execution environments (remote code execution engines as someone here called it), and overall be one of the most versatile programs on any PC's standard software suite.
But that comes at a price.. performance. And definitely when it comes to featureful fucking WordPress shitsites (shites?), bloated YouTube, Google, Facebook, and all that fucking garbage.. I fucking hate web browsers and this "Web 2.0" that people keep on talking about. Your boatload of JavaScript frameworks just to ease your own fucking development has a real impact when it happens on dozens of tabs, you know.
Besides, can't those framework creators just make it into a "compiler" * of sorts? So that front-end devs can flail their dicks in an shit-infested environment full of libraries and frameworks all they want, but the framework can convert it into plain JS code that the web server can then serve. Or better yet, the JavaScript standard could be improved to actually be usable on its own!
Look, I'm not a front-end dev. Heck, I'm not even a dev to begin with. But what I do know is that efficiency matters, especially at large scale. Web browsers being so overgeneralized and web devs adding a boatload of fucking libraries or frameworks or whatever, it adds up, both to the CPU's and my own temper.
(*) Quote marks because source code to source code isn't really compiling, but then uglified JS looks worse than machine code anyway so meh :/6 -
its 2016, and they still believe that office skillz are enough for CS101..
boy u have to allocate memory in runtime without leaks by end of semester, not just make a text bold with a fancy font..2 -
We were still using python 2.7 waaay into 2020 - It had been heralding the impending doom since 2018 and finally end-of-lifed in 2020.
That's when I finally managed to be the loudest asshole in the room and allocate a team (myself included) to refactor shit up to 3.6 (then somewhat more modern) for a month or so.
COVID the destroyer may have helped by wrecking havoc on our client's demands pipelines.
It was the third week into "the red sprint" when my entire team (myself included) were beheaded out of the company since we had "not delivered ANYTHING in weeks!" (emphasis in the original).
Frankly, being laid off was by a large margin the best thing that company ever did for me.
I heard from a poor schmuck who stayed behind that they were still using the shitty spaghetti code from before our refactoring - in freaking November 2021 - and that our entire last effort was thrown out because "nobody knows how to use it".
There is tech debt and there is tech bankruptcy.
I may have a lot of tech schadenfreude now :)13 -
This rant is particularly directed at web designers, front-end developers. If you match that, please do take a few minutes to read it, and read it once again.
Web 2.0. It's something that I hate. Particularly because the directive amongst webdesigners seems to be "client has plenty of resources anyway, and if they don't, they'll buy more anyway". I'd like to debunk that with an analogy that I've been thinking about for a while.
I've got one server in my home, with 8GB of RAM, 4 cores and ~4TB of storage. On it I'm running Proxmox, which is currently using about 4GB of RAM for about a dozen VM's and LXC containers. The VM's take the most RAM by far, while the LXC's are just glorified chroots (which nonetheless I find very intriguing due to their ability to run unprivileged). Average LXC takes just 60MB RAM, the amount for an init, the shell and the service(s) running in this LXC. Just like a chroot, but better.
On that host I expect to be able to run about 20-30 guests at this rate. On 4 cores and 8GB RAM. More extensive migration to LXC will improve this number over time. However, I'd like to go further. Once I've been able to build a Linux which was just a kernel and busybox, backed by the musl C library. The thing consumed only 13MB of RAM, which was a VM with its whole 13MB of RAM consumption being dedicated entirely to the kernel. I could probably optimize it further with modularization, but at the time I didn't due to its experimental nature. On a chroot, the kernel of the host is used, meaning that said setup in a chroot would border near the kB's of RAM consumption. The busybox shell would be its most important RAM consumer, which is negligible.
I don't want to settle with 20-30 VM's. I want to settle with hundreds or even thousands of LXC's on 8GB of RAM, as I've seen first-hand with my own builds that it's possible. That's something that's very important in webdesign. Browsers aren't all that different. More often than not, your website will share its resources with about 50-100 other tabs, because users forget to close their old tabs, are power users, looking things up on Stack Overflow, or whatever. Therefore that 8GB of RAM now reduces itself to about 80MB only. And then you've got modern web browsers which allocate their own process for each tab (at a certain amount, it seems to be limited at about 20-30 processes, but still).. and all of its memory required to render yours is duplicated into your designated 80MB. Let's say that 10MB is available for the website at most. This is a very liberal amount for a webserver to deal with per request, so let's stick with that, although in reality it'd probably be less.
10MB, the available RAM for the website you're trying to show. Of course, the total RAM of the user is comparatively huge, but your own chunk is much smaller than that. Optimization is key. Does your website really need that amount? In third-world countries where the internet bandwidth is still in the order of kB/s, 10MB is *very* liberal. Back in 2014 when I got into technology and webdesign, there was this rule of thumb that 7 seconds is usually when visitors click away. That'd translate into.. let's say, 10kB/s for third-world countries? 7 seconds makes that 70kB of available network bandwidth.
Web 2.0, taking 30+ seconds to load a web page, even on a broadband connection? Totally ridiculous. Make your website as fast as it can be, after all you're playing along with 50-100 other tabs. The faster, the better. The more lightweight, the better. If at all possible, please pursue this goal and make the Web a better place. Efficiency matters.9 -
So working on the Android for work, and go to add in images for parts of the app. I add in images and load the app up and it crashes, I thought hmm maybe I missed something for the imageview.
The exception was an out of memory exception and from looks of it, it exceeded my phone memory by quite a bit (OnePlus 3 has 8gb LOL), I was stumped since I don't typically run into this.
Turns out this time around it wasn't my fault lol, I had some images outsourced to a company our company uses for doing design work and well Android doesn't like 2000 x 2000 super high quality for logos.
I mean sure it's good it's high quality but to have 3 images eat up a lot of memory (I assume my phone won't allocate all 8gb to one app lol).2 -
Friend: why do I get this error help
[I check the logs]
Me: uh,its a OOM, did you allocate enough memory for GC?
Friend: wait hold on
[changes a method]
[works]
Friend: I shouldn't use this experimental method
Me: Cool man blog it2 -
Did I tell you that X third party system needed to be updated due to that pos using flash? Yes
Did you bitch about budget constraints and finding workarounds and stuff like that? Also Yes
Did I mention that X system was crucial for people and that we were not going to be able to do anything about it if we did not allocate the time to modify that before it happened? Also Yes
Did I mentioned this on multiple occasions? Yes
Was my team also pulled out from working on the alternative before this happened? Yes
Did I send multiple emails about this, talks, meetings and documentation of me saying all of the above? You betcha
Oh well 🤡6 -
I started learning ASM x86_64, so I chose MASM with VS 2013 because is the best for debugging
So I just waste like 2 hours trying to make a simple program like printing fibonacci numbers to start with ASM
The problem started when using printf function, after calling printf function, local vars became garbage, after googling and looking for the ultimate answer for the problem I found the site with the ultimate answer (https://cs.uaf.edu/2017/fall/...) and it was that MASM64 when calling a function you must allocate space with the actual space from the current function + the allocated space for the printf13 -
"CTO" here.
Two week ago the CEO informs me that the "investor" want to put me in contact urgently with an external software house to help me with my "bottlenecks".
The investor goes immediately on holiday, so it's not available for explanations. The CEO doesn't know much.
Today I meet the software house CTO and CEO.
They tell me that I should do a transfer of knowledge with them. That they will respect my requirements, my schedule and that they want to help me.
During the meeting the business consultant explains "his" vision. Some new development nobody understand. Not even the CEO. The other cofounder is probably in disagreement but stay silent.
I agree to cooperate with them in due time and with due scope and planning.
It appears they already signed a contract with the investor. The investor is offering to us 40 days of a senior developer, for "free".
The CEO doesn't even know the economical details of the contract and he is surprised that has been signed.He also didn't know that a person will come over for 40 (?) days and that we will have to pay the transfer expenses.
I try to be friendly. I explain to them the issues I need to solve. I say specifically that I need help on certain tasks and that my wish is that nothing "new" will start until we fix some obvious problems.
After leaving, in the evening I receive an email from the software house guy, telling me that next week I MUST allocate a slot for technical transfer and the 2 weeks after for on site training. Like that. He also mention we "agreed" on that which is false. We agreed on me deciding the timing.
We are only 2 developers, at the moment and the other one will be on holiday next week, so I'm trying to get from him a lot of things I don't know because I don't know everything.
I'm not even sure I'll be able to explain how to prepare all the environment.
Worst thing is that I don't know what will be the scope of the project.
I really don't know how to behave.
I wrote back setting my conditions. I have holiday too. I have to prepare "documentation", explanation, etc.
I don't want the "senior dev" coming when I'm not present.
Maybe I was too weak answering and I should have started a fight immediately. Because he actually AGREED to let me decide and after that he set conditions on me immediately.
I don't know.
My stomach is burning, I had a very bad digestion with fever and headache, feel like puking, plus I spent several evening hours fixing the fucking Linux kernel bug.
I want to survive. I don't want to let them oust me in this stupid way. I want to fight.
I know that if I will explode, scream or whatever I will be at fault and I'll accelerate my demise.
When I try to be "diplomatic" actually I end up being weak.
When I try to be assertive I'm in fact rude and hysterical.
I can't think anything else.
This is what burnout looks like.20 -
Hey girl, what's the address to your heart? Cuz I want to allocate some memories and point straight to it5
-
So here I am sitting on my dusty laptop gaming laptop (because supposedly it would offer me better performance in compiling code and working with CUDA according to the people above me) at a research institute where I just started working at. I am told that there are some issues with the code and that it fails to build on Windows with MSVC that ships with Visual Studio 2017 and later.
I poor some hot tea from my insulated bottle I brought from home and start reading.
I look in this header file and what do I see - a custom uint24_t struct. Interesting...
I keep sifting through the code base. I find some functions that check and change Endianess. Ok, but the software is developed, built on and runs only on Win7 and later desktop systems. Never mind...
Further I find a custom "allocator" that is used throughout the whole code base. It has three inline static class member functions: allocate, copy and deallocate plus some private constructors. And these just wrap around the standard new and free calls. Some flavours of this class actually only deallocate (with a comment above them: "This allocator does not allocate. HANDLE WITH CARE!!!", which is btw the only "code documentation" I have managed to find).
But wait! What is this? A custom thread and mutex. Oh, and string, and vector.
Further down the rabbit hole I find a custom math library with a matrix class that does not support multiplication between a matrix and a vector. Perhaps not a use case I guess...
I continue and come across some UI-related calls. Interesting, I wonder what they are using as a framework. Oh, my...We have an extensive GUI custom framework written from scratch (drawing buttons and all).
All of this is to load an OBJ file and render it on the screen on a standard Windows PC in some way.
Very nice... ;_;1 -
Why do I program everything myself in C, even a rest service? By writing everything yourself in C you make simple things complex to make complex things simple.
Writing a rest service for example learns you a part of http protocol, how sockets work, how to create a parser (in this case json). Three thing's you would miss if I used python.
On top, your rest service uses WAY lesser resource than written in python for example. Especially for CPU usage.
Allocating and free-ing still often have issues there, but I consider it a skill problem / discipline issue. Not blaming C for that. The rules are clear.12 -
Many people here rant about the dependency hell (rightly so). I'm doing systems programming for quite some time now and it changed my view on what I consider a dependency.
When you build an application you usually have a system you target and some libraries you use that you consider dependencies.
So the system is basically also a dependency (which is abstracted away in the best case by a framework).
What many people forget are standard libraries and runtimes. Things like strlen, memcpy and so on are not available on many smaller systems but you can provide implementations of them easily. Things like malloc are much harder to provide. On some system there is no heap where you could dynamically allocate from so you have to add some static memory to your application and mimic malloc allocating chunks from this static memory. Sometimes you have a heap but you need to acquire the rights to use it first. malloc doesn't provide an interface for this. It just takes it. So you have to acquire the rights and bring them magically to malloc without the actual application code noticing. So even using only the C standard library or the POSIX API can be a hard to satisfy dependency on some systems. Things like the C++ standard library or the Go runtime are often completely unavailable or only rudimentary.
For those of you aiming to write highly portable embedded applications please keep in mind:
- anything except the bare language features is a dependency
- require small and highly abstracted interfaces, e.g. instead of malloc require a pointer and a size to be given to you application instead of your application taking it
- document your ABI well because that's what many people are porting against (and it makes it easier to interface with other languages)2 -
I once interviewed for a role at Bank of America. The interview process started off well enough, the main guy asked some general questions about career history and future goals. Then it was off to the technical interviewers. The first guy was fine. Asked appropriate questions which he clearly understood the answers to.
The next guy up, however, was what I like to call an aggressive moron. After looking at my resume, he said I see you listed C++. To which I said, yes I have about 7 years of experience in it but I've mostly been using python for the past few years so I might be a bit rusty. Great he said, can you write me a function that returns an array?
After I finished he looked at my code, grinned and said that won't work. Your variable is out of scope.
(For non C programmers, returning a local variable that's not passable by value doesn't work because the local var is destroyed once the function exits. Thus I did what you're supposed to do, allocate the memory manually and then returned a pointer to it)
After a quick double take and verifying that my code did work, I asked, um can you explain why that doesn't work as I'm pretty sure it does.
The guy then attempted to explain the concept of variable scope to me. After he finished I said, yes which is why I allocated the memory manually using the new operator, which persists after the function exits.
Einstein then stared really hard at my code for maybe 10 to 15 seconds. Then finally looked up said ok fine, but now you have a memory leak so your code is still wrong.
Considering a memory leak is by definition an application level bug, I just said fine, any more questions?4 -
I can’t say it’s the most painful but it’s one of my recent painful lessons.
So I’m learning C and in my project I was trying to make a copy of a 2D array and I kept getting seg faults up the ass every time I tried to allocate one of the inner arrays and after a long day of debugging I realized that I was trying to allocate memory within an array that doesn’t exist so I had to create the first array then allocate memory for each inner array after.4 -
Dear team leader, If you tell me „I need to review this merge request before merging”, then make sure you are able to allocate time to do this.
If you need MORE THAN A WEEK to even start, then maybe your delegation skills are nonexistent. -
In an encryption-module, I had a bug, that caused my PC to crash, every time I tried to encrypt something.
Turns out, the loop, that appends
0-Bytes to the string, to make it Block-Cipher compatible,
Had an logical-bug in its exit-condition, that caused it to run infinitely and allocate an infinite amount of memory. -
Ah, the little subtle things we have to iron out as we progress from Junior Developer to Medior Developer.. things like:
- knowing the difference between a carriage return and a line feed (although having worked with analog typewriters helps) and later knowing that Unix-based systems and Windows NT-based systems implement it differently..
- knowing that serialization is important because not all computers interpret data the same way and some computers allocate 4 Bytes for a construct, others 16 Bytes.. and then we get the funkiness of transferring character sets between machines..
- knowing that a whitespace character is not only an actual space (as is known in ASCII as code 32). This one can cause even medior developers a headache, as in: why the fuck does this string function say that "hello I am a duck" and "hello I am a duck" are not the same?! Turns out then in the debugger that when you expand every character in the string you see that string1 contains 32 32 32 32 as usual.. but then string2 contains -96 -96 -96 -96 and you're like.. what the fuck..? Then you know you have to throw \\h regex at it. Haha.
- finalizing our objects and streams (although modern languages do that for us).. otherwise we have to do funky shit like trying to find what's locking a file, which is not so easy to figure out.
- figuring out why something won't work often requires you to not only break down the problem in smaller steps, to use a debugger, but sometimes it's even better to just create a proof of concept, slap some minimal code in there and debug that.. much easier.
- etc.
:)7 -
Okey, so the recruiters are getting smarter, I just clicked how well do you know WordPress quiz (I know it's from a recruiter, already entered a php quiz An might win a drone)
So the question is how to solve this issue:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home4/xxx/public_html/wp-includes/plugin.php on line xxx
A set memory limit to 256
B set memory limit to Max
C set memory limit to 256 in htaccess
D restart server
These all seem like bad answers to me.
I vote E don't use the plug-in, or the answer that trumps the rest, F don't use WordPress4 -
A full 4 level page table on x86_64 is over around 687 GB in size. Allocating it fixed size obviously won't work...
So now when allocating virtual memory pages for an address space I sooner or later have to allocate one page to hold a new page table... which has to be referenced by the global page table for me to use... where there isn't any more space... which is exactly the reason we allocated a new page in the first place... so I'm fucked basically8 -
Weekly Q: How do you keep yourself motivated?
A: No matter what - I allocate a little bit of time every week to something I really care about right now.
When I was green it was mostly learning. Now it's mostly codebase cleanup, dev experience improvement or dabbling with some feature that's not prio.
Might not sound like a lot but doing it weekly does add up. -
I've been a "firefighter" on our big money-making project for like a year now and probably will be for the next year. Every sprint, fully booked out.
However, this sprint, some people think I have time to brainstorm, learn new tech and attend meetings related to a completely new project.
"Will it done in 2 weeks?"
"How long do you estimate?"
I can knock up a rough version of your fucking application in about a week if someone grows some fucking balls and schedules me some fucking time for it. STFU and stop interrupting my other work. Allocate some time or shove it up your ass so far until you regurgitate it then swallow it again and choke on it. -
Hopefully, you already know that the company controlled by the alledged reptiloid subhuman and olimpic testicle juggler formerly known as Mister Zuck My Tits is not to be trusted.
But as is always the case in this bitch, I've been forced into cowjizz flooded swamps' worth of stinking shit platforms for the sake of avoiding isolation.
And so, I've just found yet another way in which Facebook **THUNDERSTRIKE** ... the company, not the geriatric ward, is one of the CROWN ACHIEVEMENTS of human civilization.
Let me tell you something: some people are fucking broke. Hell, some people sleep on the streets, live on scraps, and willingly engage in acts of public defecation when provoked. But I'm not even talking about them no, just plain *broke*.
And so imagine being that guy who doesn't really use his phone much, except maybe for sharing cat pictures with mom because that's what being an absolute chad is all about. You don't get a new phone, because money is a __little__ bit tight. But THEN...
The dreaded CAPITAL strikes, and requests of you to bend and fall onto your knees so as to provide intense, intimate and manual -- as well as oral -- PLEASURE to the [NOT SO] METAPHORICAL PENIS of the """SYSTEM""".
Oh, what an abominable, drooooooling revenant that lies before you!
"Gimme your ass... " he says, menacingly, as you wail about in a futile attempt to guard and preserve the very last vestiges of your own anal virginity.
And so you fight, and kick him in the NADS with everything you have, down to the final shreds of vigor. Victory! Or so you thought...
"You must... " he mutters, mortally wounded "update WhatsApp... "
"Still you breathe?!" you exclaim, suddenly transformed into a heroic, sexy moustachoed arquebusier "After I'm done ~OILING~ my VICTORIOUS CHEST, I *shall* bestow DEATH uppon you!".
But as you rip open your shirt to apply sensual oiling to your marvellous frontal assets, your nemesis reveals it's portentous Portugal: "this new version of Android... " he gasps as he perishes "is incompatible with your device... "
"Ughh! Sacrebleu!" you shriek out in pain, realizing that you are now unable to ACCESS THE FUCKING DATA THAT IS IN YOUR OWN FUCKING HARDWARE BECAUSE OF A STUPID FORCED BINARY INCOMPATIBILITY.
That's right. Now even if I *do* get a new phone, I can't do shit about losing all of the family memes. And contacts and all of that shit, but the stickers are more important. A minor inconvenience, yes, and it didn't need all of this preamble but I was doing the dramatic fight scene bit inside my head as I was writing and I got into it.
Because the only documented way to transfer all of that data is to OPEN THE APPLICATION and scan some code, but everytime I go to do that, IT TELLS ME I NEED TO UPDATE. And every time I GO TO UPDATE, it says that MY PHONE is TOO FUCKING OLD!! AAAAAAAGHGHGHGHGHGHGHG!!!!
And you too, might be a dashing french man from centuries past, with both balls and tits down to your fucking knees, folding your arms in a position that exhumes smugness in a disgustingly irreverent and self-aggrandizing way, looking at me as a mere plebeian who cannot wrap his head around the mystical art of interacting with Google's black deuce box.
And you would be somewhat right in your judgement! But just having to fiddle about with these fucking pocket Elmo screens is such a traumatic experience for me that I'd rather lose my stickers.
[ADBREAK] Are you a debonair victorian undercover butt pirate, taking unparalleled care of your Falstaffian, highfalutin poils pubiens? Need your "sword" sharpened, as you browse through the pages of this magnanimous lexicon? Would you rather allocate final death to your coworkers than learn one more synonym for sonorous, supercilious and pontifical?
We all know that ALL you need to help keep that honor intact is slaying your enemies in high-stakes combat. But how to satisfy less gallant needs, when male prostitution is outlawed in more than sixteen duchies?
Look no further than BloodCurse, the ancient hex that will haunt your family for countless generations! With BloodCurse, you may crawl the earth as a mindless, shameless, piece of shit cockswallowing JUGGERNAUT that craves nothing BUT the consumption of scabbed human ass!
BloodCurse is easily contracted through consumption of the GENITAL fluids of highly-lecherous succubi, conjured through [EXTREMELY CENSORED]! This forbidden arcana allows the user to debour HIS OWN testicles in no time!
Get your bottle of scents, sensual Portuguese chest oils, and fucking designer-drug bath salts for the low, low price of a passionate, unceassing self-blowjob! And use my code FRONTALASSETS for 60% OFF in your next soul-robbing foray into the felational dark arts!
Big ups to BloodCurse for sponsoring this RRRRRRRR~$RRR$$RR%5RRRRR$0000:>A48CC50A E3A1B22A : 330D4750 7C24E5A5|.......*3.GP|$.. 5262E7D5 0D1C24E6 : 85594B39 1CB7593E|Rb......YK9..Y>
:~11 -
I joined a project that has been in development for four years. After a couple of weeks of getting used to what has already been done I saw some strange coding.
One thing that struck me in particular was how often I saw pointers to pointers of objects being passed as arguments without any obvious reasons.
Only after I got to write a new functionality myself did I see why that was done.. as I needed to do it too. I had to allocate the memory for an object that was given as the parameter.
C is a hell of a language.. just as I thought I was good at it things like this happen. -
Why the fuck does windows use 100MB for the efi partition? Like oh hey I will exactly allocate enough space for me. Oh you want ArchLinux and NixOs too? Well fuck you have fun dangouresly moving around partition just to increase the fucking size of the efi partition I just allocated at install-time without ever asking you about it.6
-
In my working floor there is a large bottle of water for waterstation. It usually ran out during the middle of the month. So I curious about the ran out situation, I got the answer from the housekeeper.
"The was not enough budget to allocate water bottle for our floor, we need to share all of them for the whole building. We only received 4 bottles for a half-month."
(It ran out 4 days from the beginning of the month)
...
EEEEEEEEEEERRRRRRHHHHHHHHHHHHHHHHHHHHHHHH2 -
Oh god, structure alignement, why you do this... You might be interested if you do C/C++ but haven't tried passing structures as binary to other programs.
Just started working recently with a lib that's only a DLL and a header file that doesn't compile. So using python I was able to use the DLL and redefined all of the structures using ctypes, and the nice thing is: it works.
But I spent the whole afternoon debugging why the data in my structures was incoherent. After much cussing, I figured out that the DLL was compiled with 2 bytes packing...
Packing refers to how structures don't just have all the data placed next to each other in a buffer. Instead, the standard way a compiler will allocate memory for a structure is to ensure that for each field of the structure, the offset between the pointer to the structure and the one to the field in that structure is a multiple of either the size of the field, or the size of the processor's words. That means that typically, you'll find that in a structure containing a char and a long, allocated at pointer p, the double will be starting at p+4 instead of the p+1 you might assume.
With most compilers, on most architectures, you still have the option to force an other alignment for your structures. Well that was the case here, with a single pragma hidden in a sea of ifdefs... Man that took some time to debug...2 -
http://bit.ly/2fme7PU
Check out this article I wrote on Jekyll. There's a tutorial in progress there too :) Jekyll is a static site building framework that allows you to dynamically allocate headers, footers, etc. Change a header once and it updates across all pages. I have a tutorial in progress there too :)3 -
It was about 2:30am.. The darkness had been dominating the outside for a while, and I was having issues with my partitions on my CentOS server. Yup that's correct. I think.
I really wanted to go to bed. Last thing I had to do, was re-allocate some space from centos-home to centos-root. But I fucked up, of course I did.
After about half an hour of making food and trying different stuff to solve the "Can't read superblock error" error, I found an answer that just lead to "Can't read secondary superblock error, sorry".
At least they apologize now lol.
I ended up trashing the centos-home volume (is volume and partition the same ?) and just smashing it all onto centos-root. I lost some data, but screw that, stuff is working and I'm not going to bed.
Yeah, stuff is working. I hope. No errors encountered yet.
Moral of the story: Home partition isn't needed and it's okay to kill it1 -
Why somebody would think that allocate huge amount of objects in the static memory make any sense?? Why??? You need to allocate a bloody database context and all the allocation of your IOC containers and keep increasing!!!
-
First rant!!
I've got into an impasse.
I'm working as a mobile developer for one of the well known multinational corporations. I am working here for 1.5 years, it's my first job and I'm already a team leader. It doesn't mean that this is my programming experience. The problem is that I'm feeling that this job stops me from growing on personal plan. I have no more time to work on my personal projects, i have no real portfolio, projects made for the company cannot be included in my portfolio and so on. And also the payment isn't real good so i can't quit and allocate my full time to my own projects. And without a good portfolio i can't get my own customers.
What do you guys would do in my situation.3 -
aaargggggghh, some fucker thought its clever to allocate memory in a tight loop..and do a switch/case in it as well. the size and branch taken was known beforehand -.-
preallocating and thinking about the code for a second is really hard for some ppls brains it seems.. -
Currently having very funny project lead, who gives on the spot estimates for 9 years old very pathetic quality code having Android app in security domain. Memory leaks, bad practices, typos, CVEs etc. you name it we have it in our source of the app.
Since 5-6 sprints of our project, almost 50% of user stories were incomplete due to under estimations.
Basically everyone in management were almost sleeping since last 7-8 years about code quality & now suddenly when new Dev & QA team is here they wanted us to fix everything ASAP.
Most humourous thing is product owner is aware about importance of unit test cases, but don't want to allocate user stories for that at the time of sprint planning as code is almost freezed according to him for current release.
Actually, since last release he had done the same thing for each sprint, around 18 months were passed still he hadn't spared single day for unit testing.
Recently app crash issue was found in version upgrade scenario as QAs were much tired by testing hundreds of basic trivial test cases manually & server side testing too, so they can't do actual needful testing & which is tougher to automate for Dev.
Recently when team's old Macbook Pros got expired higher management has allocated Intel Mac minis by saying that few people of organization are misusing Macbooks. So for just few people everyone has to suffer now as there is no flexibility in frequent changing between WFH & WFO. 1 out of those Mac minis faced overheating & in repair since 6 months.
Out of 4 Devs & 3 QAs, all 3 QAs & 2 Devs had left gradually.
I think it's time to say goodbye 😔3 -
Had someone mention adding tasks to stories in our sprint mid-sprint is messing up the sprint statistics... Can someone explain to me how one is supposed to know every task and approximately how long it will take to complete for a given story before even opening the code base up?
This is currently my major gripe with agile / scrum. How exactly you're supposed to instinctively know the solution to a complicated problem, as well as the steps to implement it, the approximate time it'll take, AND roadblocks you'll run into on DAY ONE? WHAT?
Too often does a 2 point story turn into a 5 point story because deep down it was a more complicated problem than originally thought, and a good scrum developer is supposed to... Either clairvoyantly known that or just allocate hours into unrelated tasks?
Someone help me out here -
Searched on various forums, everyone seems to have conflicting opinions.
If I want hibernation to work correctly on my laptop , do I need to allocate swap equal to RAM (some are also saying double 😥) I have 16 gigs of RAM, so allocating 32 gigs (or 16 gigs) swap seems like a waste of space. Will do only if absolutely necessary.
I am running manjaro KDE by the way7 -
That time you where asked to start a vm that would over allocate the servers resources, said I don't think that a good idea and where told to just do it.
Well as expected the server slowed to a crawl then crashed. Guess I'll be getting a bigger server now2 -
Currently fixing concurrency issues with a callback which is called so frequently it probably has multiple instances running and which can't ever be paused. Also, it isn't allowed to allocate or free memory. Riddles like this are the reason I got into computer science.
-
I need to tell you the story of my MOAB (Mother of all bugs).
I need to write some stuff in C (which i am fairly used to) and have a function that allocates memory for a Matrix on the heap. The matrix has a rows and columns property and an associated data array, so it looks like this
struct Matrix{
uint8_t rows;
uint8_t columns;
uint8_t data[];
}
I allocate rows*columns + 2 bytes of memory for it.
I also have a function to zero it out which does something like this
for(int i=0; i < rows*columns;i++){
data[i]=0;}
Let‘s come to the problem:
On my Mac the whole stuff works and passes all tests. We tried the code on a Linux machine and suddenly the code crashed in various places, sometimes a realloc got an invalid pointer, sometimes free got an invalid pointer and basically the code crashed at arbitrary points randomly.
I was confused af because did i really make THAT many errors?
I found out that all errors occured when testing my matrices so i looked more into it and observed it through the debugger.
Eventually i came to the function that zeroes out my matrix and it went unusually high and wondered if my matrix really was that big.
Then i saw it
The matrix wasn‘t initialised yet
It had arbitrary data that was previously in the heap.
It zeroed out a huge chunk of the heap space.
It literally wrote a zero to a shitload of addresses which invalidated many pointer.
You can imagine my facepalm2 -
WTF Windows?
If you call the API function to lookup the name of a service it expects a buffer and the size of the buffer.
If the supplied size is smaller than the service name it returns the number of characters (excluding the null-terminator) of the service name.
You can allocate a buffer for the service name and call the function again to receive the service name.
Except now Windows wants to know the size of the buffer including null terminators.
That took me a moment to figure out. -
Goodbye, cruel wairld:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 123736064 bytes) in /var/www/vhosts/hexicalapp/public_html/Classes/Services/Devrant/SearchService.php on line 1741 -
Bullshittery continues. This time around, absolutely innocent, clamav is root cause. For once not incompetent idiot, but piece of software. IDK if that makes me happy or upset.
So our email server that I configured and took care of died. RIP. Damn, better put it back together ASAP. So Im under pressure, while still pissed at everything that I ranted before (actually my last 2 rants were throttled, and in total all of that happened past 60 minutes but devrant rate limiting) I start auditing logs. You imagine, we kindda need it NOW, and it's second time last month clamav is pulling stunts and MTA refuses (properly) to work without antivirus. So pressurized, I look at logs, what the fuck went wrong.
clamav deamonize() failed - cannot allocate memory
Hmm. Intresting, but sounds like bullshit. I know server is quite micro becouse they wanted to save on costs as much as possible, but it has well over half a gig free ram just before it crashes (like 800MB) with that message. Is it allocating almost gig in one call or what? Looked carefully at trusty htop while it was starting, and indeed, suddenly it just dies with quite a bit of ram free, almost as much as it weights already. And I remember booting it up when I was configuring it, and it had fair bit of headroom.
Google, help me friend... Okay, great, so apparently at some point clamav loads virus DB into ram (dafuq?), and than forks, which causes spike of 2x the ram usage, and than immidietely frees it up.
Great, that sounds like great design decision... At least I know, I can just slap on SWAP file, restart it and call it a day.
It worked, swap file is almost empty (used 15megs, 900 megs free ram, whatever).
That leaves me wandering, who figured out to load DB to ram? That means pretty much that clamav will eat a little bit more ram each vir db update, and that milisecond "double ram" spike will confuse innocent people who just wanted to run clamav and it worked last *long period of time* and now crashes without warning without any changes to configuration.
Maybe there is logical explanation, I want to know it.8 -
Why the pointer of member function so special.
trying make a non-template class that like std::function but simpler:
1. wrap static function pointer.
2. wrap class member function pointer and the class object pointer.
3. WITHOUT ALLOCATE MEMORY.
I can't store member function pointer because the size is undefined?! -
A beautiful but fundamentally flawed Rust one-liner I found in my own code during refactoring today:
iter.size_hint().1.map_or_else(Vec::new, Vec::with_capacity)random size_hint.1 gets _really big_ sometimes rust allocate maximum possible memory needed one-liners14 -
Any devs know if the Xbox One X will allocate more resources to UWP apps or do we have the same resource restrictions as the Xbox One S?
If there are more allocated, is there a way to simulate an Xbox One S usage?
Couldn't find any documentation on UWP one x development :-/ -
I'll need to do a survey on how different frontend frameworks support asynchrony, both in data and component loading.
I have a very powerful lazy loading primitive for React (https://github.com/lbfalvy/... ), but it's a bit broken so I'm rewriting it into a stateful TS class (because it would have to allocate a lot to be immutable and fast) and a React shim. I'm considering adapting it to other frameworks that struggle with code splitting or async data, or perhaps - like react - only ship a built-in solution that requires unrelated business logic to acknowledge the frontend framework.
Are you happy with the workflow of using asynchronously loaded data in your frontend framework of choice?1 -
Anyone playing Star Trek Online via Wine, PlayOnMac, CrossOver, or WineBottler? They yanked the official Mac installer in February and I refuse to allocate space for bootcamp or my Macbook Pro or a dual boot on my hackintosh. I got it working momentarily on crossover but something went wrong.
Damn you Cryptic Studios! -
How to remain consistent? Like I really do love what I do. But if there is a task that I can complete in like 2 days, I would allocate 1 week for that task, procrastinate for 4-5 days and finish it in the last day.5
-
In my current job, I feel like I'm not learning much as it like I'm stuck. I also want to work at Google, which has been a childhood dream of mine. Additionally, my upper management promote on using GPT to write code which I feel like it's not a good thing as a younger professional seems like my development skills is depricated. The worst part is that I'm unable to allocate time to learn new things on my own. I want to leave this job to focus on practicing my development skills through popular open-source projects, and by doing LeetCode and Codeforces. However, I'm afraid to take decision because of the current tech job market.
To all senior developers and engineers, I would appreciate your valuable advice. Please help me as if I were your younger brother!
Any advice appriceated.14 -
Rant 1
---
I honestly would love to get fired. Im looking forward to, but not trying to. Feel me? If i ever get fired for whatever reason i wouldnt be depressed. I'd actually be so relieved and happy as if i died and all my problems are solved. Getting relieved from stress and finally having ability to allocate my time towards my personal project makes me be productive even more. A salary of 600-1300$ in this economy and inflation isnt gonna do much. Is it just me?
Rant 2
---
Im slowly leaving separate backend-frontend type of work. Spent years to perfect it only to find out through someones tutorials what i can build in 1 year with separate backend and frontend he can build in 20 days with nextjs. Its mindblowing to me. And every website i open when i inspect code its always _next. All websites are nextjs. Nextjs seems like its the future and already taking over the web space. Is it a smart idea to do this? or is it better to separate pure-frontend from pure-backend1 -
Not much riskiest though,
So on my office laptop I've duel boot Fedora as primary OS and windows another.
So for some reasons I needed extra space on windows so I had to un-allocate some space from /home as it had assigned too much disk(more than 100GB I think)
So I unmounted /home moved all the /home/myuser to /opt using sudo then did sudo rm -rf to /home/myuser and un-allocated some space
after I restarted laptop I get to know that I fucked up little xD
Took me while to fix that shit, I literally created one more user and fixed it as at the time of booting it was trying to get few configs from /home/myuser and even had permission issues.