Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "garbage collection"
"If Java had true garbage collection, most programs would delete themselves upon execution." - Robert Sewell31
Relatives: You're a computer guy, right, what are you working on these days?
Me: *should I bother explaining, should I not* Oh, just some stuff.
R: Oh come on, tell us, how difficult can it be?
M: *sigh* I'm working on a custom garbage collector for-
They're now under the impression that I'm involved in collecting rubbish from bins. Sigh. My hair doesn't help here, either, lol (I have one of those tangled, unruly mops of hair)
This will take time to explain.21
Manager: Why aren’t you working?
Dev: I am, I’m just not typing because I’m thinking an issue out.
Manager: Well what is taking so long? You haven’t written any code for like 15 minutes, you’ve just been doodling on your notepad.
Dev: I’m not “doodling”. I’m taking notes and trying to visualize the issue. It’s a complicated issue with application stat—
Manager: Well just simplify it then
Manager: Instead of making it a complicated issue just simplify it and then it won’t take you so long. You’re likely overthinking it, I never spend more than 30 seconds thinking about any issue before coming up with a solution. That’s what makes me so effective at my job is my ability to be lean like that.
Dev: …this issue is a bit harder than deciding what to have for lunch26
Manager: Does anybody having any money saving ideas?
Dev: By switching our supplier from X to Y we could save $10,000/year and they have much better customer service.
Manager: So? I’m looking more for savings opportunities in the +$100k range. That’s a small idea, I’m looking for *BIG* ideas.
Dev: Do you have any big ideas?
Manager: No, but I really really want to save big money like that. I thought you would have something worthwhile.
Dev: $10,000 still a lot of money
Manager: I guess…. Ok we can do it. But don’t bother me with peanuts like this again.
Dev: ??? You asked me buddy18
Manager: Oh my god have you heard of libraries? I don’t even need to hire developers anymore, everything can just be done with code other people have already built for free
Dev: Well you actually cause a bit of technical debt when you use an abstrac—
Manager: EVERY TICKET SHOULD BE DONE USING LIBRARIES GOING FORWARD.
Dev: …This is going to implode…Can we at least fund some of the libraries we end up using?
Manager: WHAT? NO! Open source developers are suckers, what idiot puts code on the internet for free?? I shouldn’t be required to fund their stupidity. Let’s just take their stuff and make money with it.
Dev: *Phone rings 100th time today from recruiter*. One sec I have to take this call……It’s urgent.13
Manager: I read an article today
Dev: oh here we go….
Manager: We must pivot to only functional programming, which means only using functions instead of classes
Dev: Actually functional programming is a bit more nuanced tha—
Manager: Any use of classes going forward is not allowed. Everything must use functions! Classes are an outdated way of programming, using classes is why we continue to miss our deadlines. Functional programming is lean, classes are waterfall.
Dev: What about the libraries we use? Many of those use classes
Manager: Wrap them in a function then, that way they are pure which is one of the requirements of functional programming. You would know that if you spent as much personal time as I do keeping up with the times.34
Manager: Why haven’t you shipped any code today? It’s almost lunch.
Dev: Stuck on a bug
Manager: I’ll help you
Dev: Please don—
Manager: Have you tried thinking outside the box?
Dev: …Dear god please end my existence
Manager: You could try stack overflow too, have you ever used that site before?
Dev: 😮 🔫
Manager: Also sometimes bugs are caused by npm modules so rule that out first
Dev: *On knees praying to Zues for forgiveness and/or conveiniently placed lightning strike*11
User: We have been dealing with this bug for a month now! How come nobody has fixed it?
Dev: Who did notify about this issue?
User: You’re not listening we have been dealing with this for a MONTH!
Dev: When this issue first occurred did you tell anyone?
User: …. Ok I don’t remember but I know I said something to someone. Anyway it doesn’t matter, your job is IT so how come this isn’t fixed?
Dev: Did you have an email? Ticket number? Teams message? Any record of where this was dropped?
User: I think you’re missing the point. We haven’t been able to do out jobs for A MONTH. We’ve just been sitting around completely helpless. We’ve been trying to figure a system using paper and pencil to replace the electronic one but it’s too complicated. How come this wasn’t fixed the second it happened?
Dev: It’s hard to respond to an issue if it’s not brought to out attention.
User: Ok but we are too busy to create a ticket! We have a million things to do and we can’t do any of them because your app doesn’t work! We’ve been sitting here telling each other how terrible this system is AND IT HAS BEEN A MONTH.
Dev: …. Yeah I got that13
Dev: I’m taking a vacation next week
Manager: Good you need a break! I’ve put together a list of tickets for you to action during vacation since you’ll mostly be free during that time
Dev: Do you know what vacation means?
Manager: Well I work during *my* vacation
Dev: You write non-answers to emails and interrupt devs with status questions that are easily answered by a single glance at the kanban board. Also, you’ve just assigned a month’s worth of storyboard points to me on my week long vacation. We’d get more work done if you didn’t “work” during your vacation.
Manager: Well it all needs to get done! It’s the only way we can catch up and get ahead of schedule.
Dev: Why do you exist again?16
Things I wish I could tell my 18 year old self.
1) Accept you will make mistakes.
2) Truly learn the language you are using.
3) Write idiomatic code for the language you are using.
4) Be upfront about not knowing something.
5) Don't let not knowing something stop you from learning it.
6) None of us knew X until we learned it.
7) Understand your strengths and weaknesses as a developer, play to them.
8) Be willing to try new things.
9) X language isn't ALWAYS the best choice, X paradigm isn't ALWAYS the best choice. Choose wisely.
10) You won't know everything, but you might know more than others.
11) Your ideas and ego don't matter more than ensuring the product works.
12) "Perfection is the enemy of the good [enough]" - Voltaire
13) "Perfection is not achieved when there's nothing more to add, but when there's nothing more to remove." - Einstein.
14) Conflicts happen, deal with it.
15) Develop a toolset and really learn them.
16) Try new tools, they may prove better than what you were using.
17) Don't manage your own memory unless you absolutely have to, you are probably not smarter than the collective intelligence of the team that built the various garbage collection methods.
18) People can be dicks, especially online.
19) If you are new and people are being dicks to you, did you skip past the irc message about etiquette? If you did, you're the dick in this situation.
20) It can be tough, but it is fun, so have fun!6
Dev submitting PR: “Testing instructions: Self explanatory”
Dev reviewing PR: You need to be a bit more verbose than that.
Dev submitting PR: “Testing instruction: Feature should work as expected”
Dev reviewing PR: *sigh*… Feature doesn’t work as expected
Dev submitting PR: WHAT IS NOT WORKING AS EXPECTED??? I NEED MORE DETAIL THAN THAT!!
Dev reviewing PR: …….So do I you muppet6
Client: We need to add a field to the model that serves as a unique identifier
Dev: You already have one, it’s the _id property
Client: We want another! This one is for a task number so we can make a connection between the database record and our ERP.
Dev: Ah I see. I can add that for you. Is this truly a unique identifier or will you be using the same ERP identifier for multiple database records?
Client: I already said it’s a unique identifier. One ERP record to one database record, end of story! To do otherwise would be absolutely ridiculous! You should think for yourself before you ask silly questions.
Dev: My apologies I just want to make sure to clarify exactly what the requirements are.
**6 months later**
Client: HOW COME I CAN’T ASSIGN THE SAME UNIQUE IDENTIFIER TO MULTIPLE DATABASE RECORDS??? CAN’T PROGRAMMERS GET ANYTHING RIGHT EVER??
Senior Manager: I have to use your app today, how do I do that?
Dev: Well first you log in, and then you clic—
Senior Manager: That’s way too low level, I only deal with things on high level! Explain it to me from a high level.
Dev: Use the app to orchestrate the visibility of action items to stakeholders and pivot the leverage towards buy-in.
Senior Manager: Hmmmm….
Senior Manager: Aha! I understand how to use the app perfectly now!
Senior Manager’s Account: Last Login - Never.5
Manager: You use linux? Why?? I’ve only ever used windows and it’s the best of all the computers in my experience. It contains everything anyone needs: email, meetings and the internet.13
Manager: Absolutely everything must be done with libraries, vanilla JS solutions are absolutely prohibited!
Manager: Why is our app so slow to load? Is there a library we can install to speed the loading up?8
Manager: I like nested ifs
Dev: They can be difficult to maintain
Manager: No they aren’t I write them all the time!
Dev: Have you ever maintained one?
Manager: No, I don’t do code maintenance. I don’t have time for it.5
Manager: I don’t care if it has bugs, if we don’t ship it this Friday I’ll have to redraw my Gantt chart AND I’M RUNNING LOW ON CRAYONS!!!9
Let's take bets on the root cause of the S3 outage!
I'm guessing a bad deploy of a sever-side Java application with a garbage collection problem.6
Dev: Hey that internal audit you asked me to perform didn’t go so well
Manager: It has too! I’ll get in a lot of trouble if it doesn’t pass.
Dev: Ok well it’s a lot of work to get it to a passing state, we have to dedicate a lot of resources to fix all these findings.
Manager: We don’t have any spare resources, they are all working on new projects! Why did you have to find things??
Dev: ….It’s a lot of hard to miss stuff, like missing signatures on security clearance forms
Manager: Ok can’t you just say that everything is all good? They’ll probably not double check.
Dev: I’m not really comfortable with that…Look all of these findings are all just from one member of the team consistently not doing their job, can’t you just address that with him and I can make a note on the audit that issues were found but corrective action was made? That’s the whole point of audits.
Manager: You don’t get it, if anything is found on the audit I’ll look bad. We have to cover this up. Plus that’s a really good friend of mine! I can’t do that to him. Ok you know what? You are obviously not the right person for this task, I’ll get someone else to do it. Go back to your regular work, I’m never assigning you audits again.8
Me and my girlfriend's pillow talk about memory leaks
Me: **... So garbage collection is a means to stopping a memory leak from occuring
Gf: what 's a memory leak ?
Me: a memory leak is like when you want a pizza, and the guy gives you pizza. But you don't eat the pizza and you ask for another pizza. You keep doing this repeatedly. Until the pizza guy realizes what you're doing and decides to kill you. He then takes back all his pizzas
Gf: why would you do that though?
Me: Lazy ass programmers who don't clean up after themselves.6
Manager: We are now using libraries for everything. I estimate based on nothing that this will increase productivity x20.
*Project grinds to a halt while devs scramble to learn/implement new library*
General Manager: Where was the productivity increase?
Manager: Our devs are not willing to learn new things quickly4
Dev: Ok issue fixed, you just need to log out and back in again on your end to receive the fix
User: It’s still not working
Dev: Did you log out and in again?
User: No why would I want to do that?
Dev: It’ll reset your locally saved login information which is causing the issue
User: I thought you said the issue was fixed?
Dev: On our end yes, we just need you to reset your end in order to receive the fixed version
User: Look I have been dealing with this issue for 6 months. Fixing bugs are your responsibility. I have too much to do, you have to get this fixed. *click*.
Dev: Yeah you submitted the bug ticket yesterday night though
Email from users manager later that day: <User> is saying you are refusing to fix this bug. This is unacceptable. Fix it or else I will escalate this. Also there are other bugs we noticed today too, fixing them is absolutely critical!
Dev: What other bugs did you notice?
*no response for 2 weeks and then:
User: Hey you can close this ticket, the issue seems to have resolved itself.
Manager: I’m getting a strange error now….it says CORS? Any idea what that means?
Dev: Ezpz, just a matter of how many goats to sacrifice and incantations to recite
Manager: Are you serio—
Dev: Bring me my debugging pentagram8
Manager: Hey how come you left so many comments on my PR?
Dev: Well you’ve just recently learned how to code so there’s going to be a lot of things to learn beyond what you’ve picked up in your online coding tutorials. Don’t worry it’s only minor things like you put everything all in one function, left outdated comments in the code, have if statements 4 levels deep, have a console.log after every line of code some of which log .env variables, skipped error handling, cast to “any” a bunch instead of using more specific types, didn’t write any tests and some unrelated tests are now failing due to a circular dependancy.
Manager: THAT IS SO DISRESPECTFUL!!APPROVE MY PR IMMEDIATELY. IT WASN’T EVEN EASY FOR ME TO CREATE THE PR, NOW I HAVE TO MAKE AN UPDATE!? YOU’RE THE DEV, YOU SHOULD FIX IT NOT ME!! NEVER COMMENT ON ANY OF MY PRS AGAIN.9
Chuck Norris can write Java without wearing glasses. He can C#.
Chuck Norris can compile C++ with just a word editor and K&R.
Chuck Norris can read the comment you almost put in on line 63 (it would have been very helpful.)
Chuck Norris can optimize programs in binary.
Chuck Norris does garbage collection with his mind.6
HR: Hey we heard about all of the apps you are building and we were wondering if you could build one for us too
Dev: Well I’d have to run it by my manager first, what kind of app were you looking to build?
HR: Ok basically it’s a button that when you press it it completes the list of daily tasks that normally take us all day everyday like payroll and attendance reporting.
Dev: You…. want me to…automate your entire job away?
HR: No! We would be the ones to push the button😡.
Dev: I….. I’ll…. I will pass that along.4
Manager: IT and I have decided that you will not be doing any rewriting of the legacy code. We paid a lot of money for it and throwing it away would be impossible. Instead you will create a “config file” that will customize the legacy code behaviour to whatever spec we need. IT said this would be possible and would be a very simple way of operating everything going forward. That way no future code needs to be written or maintained, it’s just a matter of changing this “config file” to match our needs.
Dev: Nobody in IT codes though.
Manager: Yes but they work with config files all the time. If you need to be shown how they work just ask them.
Dev: I know how they work it ju—
Manager: Good!! So that should speed things up quite a bit. See this is why developers need managers.16
Just got pitched another one of those “billion dollar” app ideas at work....
An app that stores app ideas
You don’t need an app for that, you can write your app ideas on a napkin and store them in the trash where they belong.3
Manager: That last dev you hired is working out well. Where did you get him from?
Dev: *Looking at new hire’s resume which only contains a single bootcamp and nothing else*
Dev: He’s a rescue.11
Manager: *taps dev on shoulder* Hey I noticed a minor bug I think
Dev: Sigh…. So then create a ticket for it
Manager: Can’t you just fix it right now?
Dev: I can but I’m currently working on that other issue you told everyone was “top priority” at the morning status meeting. Should I switch to actioning this minor bug instead?
Manager: Don’t switch just multitask and work faster!
Put this in your build script for compile-time garbage collection:
find / -name "*.java" -type f -delete5
If java had real garbage collection then most programs would delete themself immediately upon running.2
Gunnery Sgt. Hartman:
What do you code, anyway?
SIR, JAVA, SIR!
Gunnery Sgt. Hartman:
JAVA? Holy dogshit! Only steers and queers code in Java!! And you don't much look like a steer to me so that kind of narrows it down. Do you suck dick?
SIR, NO, SIR!
Gunnery Sgt. Hartman:
I BET YOU'RE THE KIND OF GUY WHO'D WRITE LEGACY CODE AND NOT HAVE THE COMMON COURTESY TO WRITE ANY COMMENTS.8
Manager: We have a new equity survey from HR that is ABSOLUTELY MANDATORY. Anyone who doesn’t fill it out will be severely reprimanded for being against diversity in the workplace. We need this data in order to ensure we have the ABSOLUTELY EXACT ratio of EVERY minority so that we can show the people that we do not discriminate against ANYBODY for ANYTHING. One of the problems with hiring new people is that most people we want to hire turn out to be white and we are absolutely not allowed to hire any more white people because we are over the quota for white people. Now there’s a loophole to this, if that white person belongs to some sub-minority like they are muslim or gay or something like that it’s totally cool and we can show people we don’t discriminate on these things when making employment decisions!
Dev: That’s…not wh—
Mandatory Survey: Please select your sexual preferences and/or religion from the dropdown below.
Dev: jesus christ.18
Dev: There’s a file in your PR with over 1000 lines of code, I think it should be broken apart into a couple smaller pieces to be a little more in line with the single responsibility principle
Muppet Dev: That file only has one responsibility! It can’t be broken apart!
Dev: How’s that?
Muppets: It’s single responsibility is managing that group of functionality
Dev: Ok refactor this following block of code to make it more readable/maintainable while still ensuring the tests pass
*** Block is an absolute mess of nested ternaries, poorly named functions, single letter variables and outdated comments. An underhand pitch if there ever was one ***
Interview Candidate: Why would you refactor code if the tests are already passing?
Dev: …… NEXT.8
Don't talk to me I'm a programmer!
First, I'll kill you
make you leave all your children
Then I'll chop off your HEAD
now you're a zombie
I'll thread all your limbs back together
you can never REST
because I'm a master of all slaves
this is a test
And if I'm finally done with you
I'll leave you for garbage collection
Don't talk to me2
devRant is awesome, but Disney also manages to light-up my day.
This is how Wall-E became a beloved member of our team, and helped me put a smile on my face throughout a very frustrating project.
It all started in a company, not so far far away from here, where management decided to open up development to a wider audience in the organization. Instead of continuing the good-old ping-pong between Business and IT...
'not meeting my expectations' - 'not stated in project requirements'
'stuff's not working - 'business is constantly misusing'
'why are they so difficult' - 'why don't they know what they really want'
'Ping, pong, plok... (business loses point) ping, pong'
... the company aimed to increase collaboration between the 2 worlds, and make development more agile.
The close collaboration on development projects is a journey of falling and getting back up again. Which can be energy draining, but to be honest there is also a lot of positive exposure to our team now.
The relevant part for this story is that de incentive of business teams throughout these projects was mainly to deliver 'something' that 'worked'. Where our team was also very keen on delivering functionality that is stable, scalable, properly documented etc. etc.
We managed to get the fundamentals in place, but because the whole idea was to be more agile or less strict throughout the process, we could not safeguard all best-practices were adhered to during each phase of a project. The ratio Business/IT was simply out of balance to control everything, and the whole idea was to go for a shorter development lifecycle.
One thing for sure, we went a lot faster from design through development to deployment, high-fives followed and everybody was happy (for some time).
Well almost everybody, because we knew our responsibility would not end after the collection of credits at deployment, but that an ongoing cycle of maintenance would follow. As expected, after the celebrations also complaints, new requirements and support requests on bug fixes were incoming.
Not too enthusiastic about constantly patching these projects, I proposed to halt new development and to initiate a proper cleaning of all these projects. With the image in mind of a small enthusiastic fellow, dedicated to clean a garbage-strewn wasteland for humanity, I deemed "Wall-E" a very suited project name. With Wall-E on board, focus for the next period was on completely restructuring these projects to make sure all could be properly maintained for the future.
I knew I was in for some support, so I fetched some cool wall papers to kick-start each day with a fresh set of Wall-E's on my monitors. Subsequently I created a Project Wall-E status report, included Wall-E in team-meetings and before I knew it Wall-E was the most frequently mentioned member of the team. I could not stop to chuckle when mails started to fly on whether "Wall-E completed project A" or if we could discuss "Wall-E's status next report-out". I am really happy we put in the effort with the whole team to properly deploy all functionality. Not only the project became a success, also the idea of associating frustrating activities with a beloved digital buddy landed well in our company. A colleagues already kickstarted 'project Doraemon', which is triggering a lot of fun content. Hope it may give you some inspiration, or at least motivate you to watch Wall-E!
PS: I have been enjoying the posts, valuable learnings and fun experiences for some time now. Decided to also share a bit from my side, here goes my first rant!3
The worst (best) pun I've seen in a while.
I hope it was intentional. Probably not. But one can hope.
Manager: Why? That’s stupid.
Manager: Well I’ve never had that issue before! Besides that’s only a fraction of a cent off, that won’t even matter!
Dev: … literally the plot of office space but ok20
Managers when a project is going off the rails:
Managers when something is successfully on track:
THIS NEEDS A ROADMAP, WHERE IS THE CORPORATE GOVERNANCE, WHOSE IDEA WAS THIS, I DIDN’T APPROVE THIS ACTIVITY.2
I had spent the last year working on a online store power by woocommerce with over 100k products from various suppliers. This online store utilized a custom API that would take the various formats that suppliers offer their inventory in and made them consistent. Now everything was going swimmingly initially, but then I began adding more and more products using a plug-in called WP all import. I reached around 100k products and the site would take up to an entire minute to load sometimes timing out. I got desperate so I installed several caching plugins, but to no avail this did not help me. The site was originally only supposed to take three to four months but ended up taking an entire year. Then, just yesterday I found out what went wrong and why this woocommerce website with all of these optimizations was still taking anywhere from 60 to 90 seconds to load, or just timing out entirely. I had initially thought that I needed a beefier server so I moved it to a high CPU digitalocean VM. While this did help a little bit, the site was still very slow and now I had very high CPU usage RAM usage and high disk IO. I was seriously stumped the Apache process was using a high amount of CPU and IO along with MYSQL as well. It wasn't until I started digging deeper into the database that I actually found out what the issue was. As I was loading the site I would run 'show process list' in the SQL terminal, I began to notice a very significant load time for one of the tables, so I went to go and check it out. What I did was I ran a select all query on that particular table just to see how full it was and SQL returned a error saying that I had exceeded the maximum packet size. So I was like okay what the fuck...
So I exited my SQL and re-entered it this time with a higher packet size. I ran a query that would count how many rows were in this particular table and the number came out to being in the millions. I was surprised, and what's worse is that this table belong to a plugin that I had attempted to use early in the development process to cache the site. The plugin was deactivated but apparently it had left PHP files within the wp content directory outside of the actual plugin directory, so it's still executing scripts even though the plugin itself was disabled. Basically every time I would change anything on the site, it would recache the whole thing, and it didn't delete any old records. So 100k+ products caching on saves with no garbage collection... You do the math, it's gonna be a heavy ass database. Not only that but it was serialized data, so when it did pull this metric shit ton of spaghetti from the database, PHP then had to deserialize it. Hence the high ass CPU load. I had caching enabled on the MySQL end of things so that ate the ram. I was really desperate to get this thing running.
Honest to God the main reason why this website took so long was because the load times made it miserable to work on. I just thought that the hardware that I had the site on was inadequate. I had initially started the development on a small Linux VM which apparently wasn't enough, which is why I moved it to digitalocean which also seemed to not be enough, so from there I moved to a dedicated server which still didn't seem to be enough. I was probably a few more 60-second wait times or timeouts from recommending a server cluster to my client who I know would not be willing to purchase it. The client who I promised this site to have completed in 3 months and has waited a year. Seriously, I would tell people the struggles that I would go through with this particular site and they would just tell me to just drop the site; just take the money, just take the loss. I refused to, this was really the only thing that was kicking my ass. I present myself as this high-and-mighty developer like I'm just really good at what I do but then I have this WordPress site that's just beating the shit out of me for a year. It was a very big learning experience and it was also very humbling as well, it made me realize that I really don't know as much as I think I might. It was evidence that there is still so much more to learn out there, I did learn a lot from that experience especially about optimizing websites the different types of methods to do that particular lonely on the server side and I'll be able to utilize this knowledge in the future.
I guess the moral of the story is, never really give up. Ultimately things might get so bad that you're running on hopes and dreams. Those experiences are generally the most humbling. Now I can finally present the site that I am basically a year late on to the client who will be so happy that I did not give up on the project entirely. I'll have experienced this feeling of pure euphoria, and help the small business significantly grow their revenue. Helping others is very fulfilling for me, even at my own expense.
Anyways, gonna stop ranting. Running out of characters. If you're still here... Ty for reading :')8
Manager: This dropdown is hard to use on mobile
Dev: I thought building this for mobile wasn’t in the scope?
Manager: I changed my mind. It’s a lot easier for me to test on mobile so just rework it so it works on mobile. But only for testing.
Dev: How about I make the dropdown a rotary dial instead?
Manager: Good idea!
*At the daily status meeting*
Manager: I don’t have anything to table or anything I want to ask about. I honestly don’t know what the point of this meeting even is.
*Throughout every other living breathing moment of time*
Manager: Hey, I had an idea
Manager: Hey, I wanted to get your thoughts on something
Manager: Hey, what do you think about…
Manager: Hey, what are you currently working on?
Manager: Do you think you could just *sneak* in this new feature request and have it to me by EOD?
Manager: Hey, I just sent you an email
The email: Hey I think I found a bug, it’s with image alignment in Microsoft Word and it’s pretty breaking to my productivity report. Do you think you could take a look right now? Thoughts?5
Manager: Explain “Kooburrnehteez” to me.
Dev: Well when a mommy server and a daddy server love each other very much…2
If anything taught me that garbage collectors aren't the one true answer for memory management then it's got to be modded minecraft
It takes around 10-20 seconds only to disconnect from a game and go back to the main menu.
You also get memory leaks, which result in several second long freezes when the GC kicks in, that happen every 15 seconds.1
Cheap computer, Broken AC, Fresh coat of off-white/grey paint, Torn chair with ciggy burns in it, non-adjustable cubicle desk that is wayyyy too high, people from unrelated departments popping by every 15mins to give me an update I didn’t ask for on their inconsequential lives or their opinion on whatever the fuck is the biggest trending hashtag right now.
May I never go back into the office again.
Dev: Hey I need something from Team B
Manager: Ok I’ll get it from them now
Dev: Unfortunately they have the current time blocked off as uninterrupted coding time for the next two hours.
Manager: Yeah that means they’re not occupied by anybody else. It’s the best time to get a hold of them!
Stupid fucking communities normally all pieces of garbage. And no, there is no built in garbage collection, but then I find this, I POST 1 THING AND I GET GREAT RESPONES AND REALLY NICE ENGAGEMENT LIKE WTF3
I've had a Xiaomi Mi 8 for a few months now. Although I'm impressed by what I got for the amount I paid (a phone that cost about $250 for 6GB RAM, Snapdragon 845, Android 9 and premium build quality is quite a steal), it definitely comes with a consequence.
MIUI (specifically MIUI 11) is godawful. It is single-handedly the worst Android ROM I've ever used since my shitty Android 2.2 phone back around 2010. If you're gonna buy a Xiaomi phone, plan to install Lineage OS on it (but even that's a pain which I'll explain why later).
- Navigation buttons don't hide while watching a video.
Why? God only knows. The ONLY way to bypass without root this is to use its garbage fullscreen mode with gestures, which is annoying as all hell.
- 2 app info pages?
Yeah, the first one you can access just by going to its disaster of a settings app, apps, manage apps and tap on any one.
The 2nd one you can access through the app info button in any 3rd party launcher. Try this: Download Nova launcher, go to the app drawer, hold on any app and tap "app info", and you'll see the 2nd one.
Basically, instead of modifying Android's FOSS source code, they made a shitty overlay. These people are really ahead of their time.
- Can only set lock screen wallpapers using the stock Gallery app
It's not that big an issue, until it is, when whatever wallpaper app you're using only allows you to set the wallpaper and not download them. I think this is both a fuckup on Xiaomi and (insert wallpaper app name here), but why Xiaomi can't include this basic essential feature that every other Android ROM ever made has is beyond me.
- Theming on MIUI 11 is broken
Why do they even bother having a section to customize the boot animation and status bar when there's not one goddamn theme that supports it? At this point you're only changing the wallpaper and icon pack which you can do on any Android phone ever. Why even bother?
They really, REALLY want to be Apple.
Just look at their phones. They're well designed and got good specs, but they don't even care anymore about being original. The notch and lack of a headphone jack aren't features, they're tremendous fuckups by the dead rotting horse known as Apple that died when Steve Jobs did.
Xiaomi tries to build a walled garden around an inherently customizable OS, and the end result is a warzone of an Android ROM that begs for mercy from its creator. Launchers integrate horribly (Does any power user actually use anything that isn't Nova or Microsoft launcher?), 3rd party themes and customization apps need workarounds, some apps don't work at all. People buy from Xiaomi to get a high end budget Android phone at the price of some ads and data collection, not a shitter iOS wannabe.
They really, REALLY want you to have a sim card
If you don't have a sim card and you're using your phone for dev stuff, you're a 2nd class citizen to Xiaomi. Without one, you can't:
- Install adb through adb
- Write to secure settings
- Unlock your bootloader and get away from this trash Android ROM
What's the point? Are they gonna shadow ban you? Does anyone contact them to unlock their bootloader saying "yeah I wanna use a custom rom to pirate lizard porn and buy drugs"? They made this 1000000000x harder than it needs to be for no reason whatsoever. Oh yeah and you gotta wait like a week or something for them to unlock it. How they fucked up this bad is beyond me.
So yeah. Xiaomi. Great phones, atrocious OS.14
I was looking at some info about how much ads pay, CPM and all that, came across a guy who answered a question related to this on quora (FUCK quora piece of shit content farm :/ but that's a story for another day) and put links to his apps on Google Play in it.
I always had low self esteem and think that I know nothing and I'm shit but seriously fact that people who make apps like this exist and are proud of their shit makes me feel better.
His entire collection of apps are garbage like this, like a "driving school" with images from Google Search and other games screenshots and "top 10 search engines" with just logos of search engines. 😂
The garbage recruiters are trying to sell is insane.
Don’t scrape the bottom of the ocean trying to pass barnacles off as salmon!
Just because someone can make computer go “beep boop” -- and you can’t — says more about you then it does about them.
Do they have a single thing in their portfolio that is even a little better than the output of the average “Learn x in y mins” video on youtube? Let that stock simmer for a little longer before you serve it!
Nothing in their portfolio at all you say? They’ve never once written code unless they were forced to? Top talent! Hired!
They scored 80% on your screening test? Wow! My dog scored 90%.
Modern day snake oil peddlers the lot of them.8
Oh my, never was i triggered more. Of course i can only speak for my experience. I study software development as focus.
First off, the starting languages and or concepts you learn.
Why the fuck do they start with java and don't even really explain how instances actually work? Of course they don't. Because it would be way too fucken much for a semester to go over garbage collection, Instanciation of stuff, allocation in such an advanced system, etc..
How about starting with something not 50% managed by a vm?
Good ol' C. And now don't tell me thats a rough start. We all know about these subjects or exams where it's all about sorting people out. Who will be able to manage a whole bunch of shit or who should consider something else.
Yo dawg sick idea: how about sorting it via the will to achieve the skill of coding?
Nah but we make the exams around coding (by the fucking way done on paper, what the hell) such a fucking breeze, asking you how to convert hex do dec.
Meanwhile maths will make you cut yourself in a dark corner, after you nearly shot yourself because of some lame-ass business-subject.1
I've been a dedicated Golang programmer for a few years now.
But lately I learned rust, and now even the thought of garbage collection makes me davastated :(1
Dev: Hey this library you are mandating the use of doesn’t do one of the things you assumed it does
Non-Tech Manager: Well I think it does because I looked at it and that’s what it seemed like and the only reason you can’t figure it out is you are a bad developer and have attitude issues that’s why you are failing. You need to look on the bright side of things more often. This library has over 100k downloads which means it must do what people want it to. I think the problem is you. We can’t spend anymore time on this we have to just fix it and move on.6
If languages had slogans...
1) Java -- Buy one get two for free on your delicious NPEs.
2) C -- I burn way too much calories talking, let's do some sign language. Now see over there... 👉
3) Python -- Missing semi-colon? Old method. Just add an extra space and watch the world burn.
4) C++ -- My ancestors made a lot of mistakes, let's fix it with more mistakes.
5) Go -- Meh. I can't believe Google can be this lazy with names.
6) Dart -- I'm the new famous.
7) PHP -- To hide your secrets. Call us on 0700 error_reporting(0)
9) Lua -- Beginners love us because arrays start at 1
10) Kotlin -- You heard right. Java is stupid!
11) Swift -- Ahhh... I'm tasty, I'm gonna die, someone please give me some memory.
12) COBOL -- I give jobs to the unemployed.
13) Rust -- I'm good at garbage collection, hence my name.
14) C# -- I am cross-platform because I see sharp.
15) VB -- 🙄
16) F# -- 😴9
So another rant inspired me.
Tell me one fact or detail about your favorite programming language, other devs not using it, might not know about.
I go with: In Delphi you don't have garbage collection, unless you use interfaces the right way.7
Having my first memory leak problem ever. This sucks. I've tried what seems like everything. Forcing garbage collection every time I press a key to try and debug the issue. Fuck. I have 'using' blocks everywhere, and I have no idea what I'm doing wrong.5
In interviews, I tend to forget the basics while I can answer more advanced questions. For example, I can't for the life of me remember the four principles of OOP but I can talk about garbage collection in my main programming language.1
!Rant (sorry for that)
But does anyone know of a good 'raw' php book? (preferably an audio book) I want to learn a lot more about the core of php, how garbage collection works (for example) I have tried reading it from php.net but I only understood parts of it1
I hate Intellij Idea but it's best option available to develop in Scala. Improvements in VSCode/Metals is my last hope.
The (few) things I NEED from Intellij:
* Very good autocompletion
* Refactoring tools (renaming, auto imports)
* Search tools (find usages, sub/super-types)
The (many) things I hate of Intellij:
* Layout with panel sizes doesn't behave properly and it scales instead of remaining fixed.
* Tedious 2-hands shortcuts makes the right hand to move a lot from the mouse
* Delays and lag in the UI, freezes on garbage collection
* High memory consumption, high CPU usage and generally slow and cumbersome
* The delay in the UI between commands is so that it's accidentally possible to introduce typos
* Can't move tabs around and organize them as I like
* Ugly font rendering and missing typography settings
* Multi-caret implementation as a different editing mode is annoying because requires frequent switching
* Unnatural code folding regions, why method arguments are not folded with the method?
* Unhelpful support forum, sometimes dismissive answers
* Highlighting of current word under the caret doesn't work
* Very slow editor, can't keep spacebar pressed to move text or it hangs!
* Several settings reset at every update. Like the auto fetch of git
* New features are added and enabled by default which is very invasive
* Some of the features mentioned above are really annoying and it's not possible/not trivial to disable them
* It uses its own compile and several times it highlights false positives7
Meditation. Or Awareness Meditation to be precise. It enables me to regain control over my mind, because I get distracted really fast. It really helps sorting things out, taking a step back and getting an overview where I actually am and if what I'm doing right now is actually relevant/has priority. I mostly find that it's not, so I have to return to the important stuff.
For those interested: meditation sounds weird, even obvious at first or you just don't get what's it all about. You actually have to practice meditation for a long time and study the concepts until you start to understand what all these phrases and talking means. Behind them lies great wisdom/huge amount of concepts which is easily underestimated. So don't be frustrated too much if you don't feel it working right away. Be assured I've been there too. Also don't start with meditations like 'just stop thinking or think nothing' because in my opinion this is highly complex shit and frustrating at first. Start with awareness or breathing meditations or even get an app to support your daily habit.1
feeling like shit at work because I'm not productive at all.... I'm a fullstack web dev and was assigned to create a java data importer with multiple sources, multiple scenarios and using various data types... What makes this difficult is that I'm not used to strictly typed languages, because I'm used to swapping variable types and nulling them down/whatever I need to do with them whenever I want. In java I need to assign the correct variable types, there are no asociative arrays . I've been fixing one issue this whole day. Litteraly one fucking issue. Maneged to fuck javas garbage collection even though it's supposed to be automatic. Fuck. I feel like I need to stay late, and program on the weekends to achieve anything with this assigment because right now I feel like I make 0 progress. Boss leaves for vacation next week for a week, and he's the other dev that theoretically should be working with me...4
Our systems lead is trying to tell our software person how much adding unit tests would cost. It also sounds like he wants TDD to be added in after the fact. And he's bitching because the software guy won't move forward with it until we get it with the customer. He also wants all of them automated, but doesn't want to accept that that is going to cost a lot. Like a lot, a lot. This is a guy who doesn't know algorithms (had to explain dykstra to him), doesn't understand the tech stack we are using (I had to explain .net versions, the JIT compiler, and garbage collection to him), and seems not to understand hardware (I had to explain floating point math to him), yet he feels qualified to tell us how long it is going to take us to implement automated unit tests for major, complex features.
During my small tenure as the lead mobile developer for a logistics company I had to manage my stacks between native Android applications in Java and native apps in IOS.
Back then, swift was barely coming into version 3 and as such the transition was not trustworthy enough for me to discard Obj C. So I went with Obj C and kept my knowledge of Swift in the back. It was not difficult since I had always liked Obj C for some reason. The language was what made me click with pointers and understand them well enough to feel more comfortable with C as it was a strict superset from said language. It was enjoyable really and making apps for IOS made me appreciate the ecosystem that much better and realize the level of dedication that the engineering team at Apple used for their compilation protocols. It was my first exposure to ARC(Automatic Reference Counting) as a "form" of garbage collection per se. The tooling in particular was nice, normally with xcode you have a 50/50 chance of it being great or shit. For me it was a mixture of both really, but the number of crashes or unexpected behavior was FAR lesser than what I had in Android back when we still used eclipse and even when we started to use Android Studio.
Developing IOS apps was also what made me see why IOS apps have that distinctive shine and why their phones required less memory(RAM). It was a pleasant experience.
The whole ordeal also left me with a bad taste for Android development. Don't get me wrong, I love my Android phones. But I firmly believe that unless you pay top dollar for an android manufacturer such as Samsung, motorla or lg then you will have lag galore. And man.....everyone that would try to prove me wrong always had to make excuses later on(no, your $200_$300 dllr android device just didn't cut it my dude)
It really sucks sometimes for Android development. I want to know what Google got so wrong that they made the decisions they made in order to make people design other tools such as React Native, Cordova, Ionic, phonegapp, titanium, xamarin(which is shit imo) codename one and many others. With IOS i never considered going for something different than Native since the API just seemed so well designed and far superior to me from an architectural point of view.
Fast forward to 2018(almost 2019) adn Google had talks about flutter for a while and how they make it seem that they are fixing how they want people to design apps.
You see. I firmly believe that tech stacks work in 2 ways:
1 people love a stack so much they start to develop cool ADDITIONS to it(see the awesomeios repo) to expand on the standard libraries
2 people start to FIX a stack because the implementation is broken, lacking in functionality, hard to use by itself: see okhttp, legit all the Square libs, butterknife etc etc etc and etc
From this I can conclude 2 things: people love developing for IOS because the ecosystem is nice and dev friendly, and people like to develop for Android in spite of how Google manages their API. Seriously Android is a great OS and having apps that work awesomely in spite of how hard it is to create applications for said platform just shows a level of love and dedication that is unmatched.
This is why I find it hard, and even mean to call out on one product over the other. Despite the morals behind the 2 leading companies inferred from my post, the develpers are what makes the situation better or worse.
So just fuck it and develop and use for what you want.
Honorific mention to PHP and the php developer community which is a mixture of fixing and adding in spite of the ammount of hatred that such coolness gets from a lot of peeps :P
Oh and I got a couple of mobile contracts in the way, this is why I made this post.
And I still hate developing for Android even though I love Java.3
Rust's type system is amazing. I love it so much, but every time I get a compiler error I look at garbage collection with envy. It's such a love/hate relationship.7
Completely fed up today, trying to investigate a memory leak using google chromes profiling tools, first of all all the "documentation" is well out of date so you have to pretty much guess your way through it.
Anyway i start to investigate and it looks like the JS Heap increases in size only after a garbage collection, surely this is the wrong way round or am i just being stupid2
Anyone do anything other than read the kanban board to the PM at the standup? Read it yourself and let me code dammit, I could change the columns those cards are in if you’d just let me.3