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 - "save yourself"
-
GF: "The Internet is broken!"
Me: "WHAT?! Sound the horn! Raise the alarm! Call gondor for aid! The Internet is broken! Does the president know?! Save yourself fools!"
*skips away on pretend horse*4 -
You know what?
Young cocky React devs can suck my old fuckin LAMP and Objective-C balls.
Got a new freelance job and got brought in to triage a React Native iOS/Android app. Lead dev's first comment to me is: "Bro, have you ever used React Native".
To which I had to reply to save my honor publicly, "No, but I have like 8 years with Objective-C and 3 years with Swift, and 3 years with Node, so I maybe I'll still be able help. Sometimes it just helps to have a fresh set of eyes."
"Well, nobody but me can work on this code."
And that, as it turned out was almost true.
After going back and forth with our PM and this dev I finally get his code base.
"Just run "npm install" he says".
Like no fuckin shit junior... lets see if that will actually work.
Node 14... nope whole project dies.
Node 12 LTS... nope whole project dies.
Install all of react native globally because fuck it, try again... still dies.
Node 10 LTS... project installs but still won't run or build complaining about some conflict with React Native libraries and Cocoa pods.
Go back to my PM... "Um, this project won't work on any version of Node newer than about 5 years old... and even if it did it still won't build, and even if it would build it still runs like shit. And even if we fix all of that Apple might still tell us to fuck off because it's React Native.
Spend like a week in npm and node hell just trying to fucking hand install enough dependencies to unfuck this turds project.
All the while the original dev is still trying TO FIX HIS OWN FUCKING CODE while also being a cocky ass the entire time. Now, I can appreciate a cocky dev... I was horrendously cocky in my younger days and have only gotten marginally better with age. But if you're gonna be cocky, you also have to be good at it. And this guy was not.
Lo, we're not done. OG Dev comes down with "Corona Virus"... I put this in quotes because the dude ends up drawing out his "virus" for over 4 months before finally putting us in touch with "another dev team he sometimes uses".
Next, me and my PM get on a MS Teams call with this Indian house. No problems there, I've worked with the Indians before... but... these are guys are not good. They're talking about how they've already built the iOS build... but then I ask them what they did to sort out the ReactNative/Cocoa Pods conflict and they have no idea what I'm talking about.
Why?
Well, one of these suckers sends a link to some repo and I find out why. When he sends the link it exposes his email...
This Indian dude's emails was our-devs-name@gmail.com...
We'd been played.
Company sued the shit out of the OG dev and the Indian company he was selling off his work to.
I rewrote the app in Swift.
So, lets review... the React dev fucked up his own project so bad even he couldn't fix it... had to get a team of Indians to help who also couldn't fix it... was still a dickhead to me when I couldn't fix it... and in the end it was all so broken we had to just do a rewrite.
None of you get npm. None of you get React. None of you get that doing the web the way Mark Zucherberg does it just makes you a choad locked into that ecosystem. None of you can fix your own damn projects when one of the 6,000 dependency developers pushes breaking changes. None of you ever even bother with "npm audit fix" because if security was a concern you'd be using a server side language for fucking server side programming like a grown up.
So, next time a senior dev with 20 years exp. gets brought in to help triage a project that you yourself fucked up... Remember that the new thing you know and think makes you cool? It's not new and it's not cool. It's just JavaScript on the server so you script kiddies never have to learn anything but JavaScript... which makes you inarguably worse programmers.
And, MF, I was literally writing javascript while you were sucking your mommas titties so just chill... this shit ain't new and I've got a dozen of my own Node daemons running right now... difference is?
Mine are still working.34 -
toxic workplace; leaving
I haven't wanted to write this rant. I haven't even wanted to talk to anyone (save my gf, ofc). I've just been silently fuming.
I wrote a much longer rant going into far too much detail, but none of that is relevant, so I deleted it and wrote this shorter (believe it or not) version instead. And then added in more details because details.
------
On Tuesday, as every Tuesday, I had a conference call with the rest of the company. For various, mostly stupid reasons, the boss yelled at and insulted me for twenty minutes straight in front of everyone, telling me how i'm disorganized, forgetful, how can't manage my time, can't manage myself let alone others, how I don't have my priorities straight, etc. He told the sales team to get off the call, and then proceeded to yell and chew at me for another twenty minutes in front of the frontend contractor about basically the same things. The call was 53 minutes, and he spent 40 minutes of it telling me how terrible I've been. No exaggeration, no spin. The issues? I didn't respond to an email (it got lost in my ever-filling inbox), and I didn't push a very minor update last week (untested and straight to prod, ofc). (Side note: he's yelled at me for ~15 minutes before for being horribly disorganized and unable to keep up on Trello -- because I had a single card in the wrong column. One card, out of 60+ over two boards. Never mind that most have time estimates, project tags, details, linked to cards on his boards, columns for project/qa/released, labels for deferred, released to / rejected from qa, finished, in production, are ordered by priority, .... Yep. I'm totes disorganized.)
Anyway, I spent most of conference call writing "Go fuck yourself," "Choke on a cat and die asshole," "Shit code, low pay, and broken promises. what a prize position," etc. or flipping him off under the camera on our conference-turn-video-call (switched due to connection issues, because ofc video is more stable than audio-only in his mind).
I'm just.
so, so done.
I did nothing the rest of the day on Tuesday, and basically just played games on Wednesday. I did one small ticket -- a cert replacement since that was to expire the next day -- but the rest was just playing CrossCode. (fun game, fyi; totally recommend.)
Today? It's 3:30pm and I can't be bothered to do anything. I have an "urgent" project to finish by Monday, literally "to give [random third party sales guy] a small win". Total actual wording. I was to drop all other tasks (even the expiring cert lol) and give this guy his small win. fucking whatever. But the project deals with decent code -- it's a minor extension to the first project I did for the company (see my much earlier rants), back when I was actually applying myself and learning something (everything) new, enjoying myself, and architecting+writing my own code. So I might actually do the project, but It's been two days and I haven't even opened single file yet.
But yeah. This place is total and complete shit. Dealing with the asshole reminds me of dealing with my parents while growing up, and that's a subject I don't want to broach -- far too many toxic memories.
So, I'm quitting as soon as I find something new.
and with luck, this will be before assface hires my replacement-to-be, and who will hopefully quit as soon as s/he sees the abysmal codebase. With even more luck, the asshole king himself will get to watch his company die due to horrible mismanagement. (though ofc he'll never attribute it to himself. whatever.)
I just never want to see or think about him again.
(nor this fetid landfill of a codebase. bleh.)
With luck, this will be one of my last rants about this toxic waste dump and its king of the pile.
Fourty fucking minutes, what the fuck.34 -
Actual rant time. And oh boy, is it pissy.
If you've read my posts, you've caught glimpses of this struggle. And it's come to quite a head.
First off, let it be known that WINDOWS Boot Manager ate GRUB, not the other way around. Windows was the instigator here. And when I reinstalled GRUB, Windows threw a tantrum and won't boot anymore. I went through every obvious fix, everything tech support would ever think of, before I called them. I just got this laptop this week, so it must be in warranty, right? Wrong. The reseller only accepts it unopened, and the manufacturer only covers hardware issues. I found this after screaming past a pretty idiotic 'customer representative' ("Thank you for answering basic questions. Thank you for your patience. Thank you for repeating obvious information I didn't catch the first three times you said it. Thank you for letting me follow my script." For real. Are you tech support, or emotional support? You sound like a middle school counselor.) to an xkcd-shibboleth type 'advanced support'. All of this only to be told, "No, you can't fix it yourself, because we won't give you the license key YOU already bought with the computer." And we already know there's no way Microsoft is going to swoop in and save the day. It's their product that's so faulty in the first place. (Debian is perfectly fine.)
So I found a hidden partition with a single file called 'Image' and I'm currently researching how to reverse-engineer WIM and SWM files to basically replicate Dell's manufacturing process because they won't take it back even to do a simple factory reset and send it right back.
What the fuck, Dell.
As for you, Microsoft, you're going to make it so difficult to use your shit product that I have to choose between an arduous, dangerous, and likely illegal process to reclaim what I ALREADY BOUGHT, or just _not use_ a license key? (Which, there's no penalty for that.) Why am I going so far out of my way to legitimize myself to you, when you're probably selling backdoors and private data of mine anyway? Why do I owe you anything?
Oh, right. Because I couldn't get Fallout 3 to run in Wine. Because the game industry follows money, not common sense. Because you marketed upon idiocy and cheapness and won a global share.
Fuck you. Fuck everything. Gah.
VS Code is pretty good, though.20 -
Story time! Promised this, so making good on the promise. Eh-hem.
Misunderstandings [A slice of life short play that actually happened]
Dramatis Personae (anonymized, bc of course):
Moi ........ me, myself and possibly some lint
Robert ..... co-architect
Daisy ...... line dev
Lisa ....... also line dev
Prologue: the beginninning
[A project is starting up, new devs are coming on, including the two individuals who drive this story.
Daisy, of Indian origin, an exceptional dev and lovely person. Mother, wife, very conservative by upbringing in her early 40s.
Lisa, also exceptional dev, lovely person. Mother, also wife, self-made immigrant with liberal views derived from personal pride and self-bootstrapping]
Enter the office, We introduce everyone, off to a nice start, everyone is happy and excited to be working on [large bank project].
Lisa and Daisy form a friendship of commonality, they have similar backgrounds by all appearances and similar concerns due to children the same age and shared employment. They seem to become fast friends and things proceed normally for some months. Smooth sailing, all is well.
The fuse is lit.
Scene: Lunchtime gossip
[Robert, middle 40s architect adjacent Moi, also architect, age is my own damn business [old, so very old].]
Robert: "So, it seems like Daisy and Lisa are getting along great."
Moi: *snerfs a little, almost chokes on enchilada* Yes, yes they are, It's nice to see...
Robert: *eyebrow, having learned to read my expressions* "Aaaaaaand..."
Moi: "I adore both of them, but they are primarily friends because they don't actually understand most of what the other says"
[Lisa has a thick Taiwanese accent, Daisy has a standard northern indian accent. Never the two shall meet]
Robert: "Are you sure, they seem to have a lot of conversations?"
Moi: "Positive, you weren't at lunch with the three of us. They're polar opposite in terms of values, it'll be fine so long as that never comes up"
Robert: "I'm not even digging into that"
Moi: *flan*
Sizzle.
Scene: This is bat country
[More months pass, everything is fine, project is humming along nicely, save a few blips of personality conflicts. Moi takes a vacation. A gas station, somewhere in the middle of Wyoming, a snowstorm, a sports car full of luggage]
*phone rings*
Moi: *looks down, sees it's Robert, eyebrow raises, answer* What's on fire?
Robert: "We had to let Lisa go"
Moi: "Ah, they finally understood each other."
Robert: "Yes..." *deep sigh*
[Fade to flashback]
Bang.
Scene: The office, Lisa's desk
[Daisy and Lisa are discussing non-descript conversation. Daisy broaches the subject of Lisa's past divorce and being a single mother]
Daisy: "It must have been hard, how did you manage?"
Lisa: "I had my daughter, she was my motivation. We made it here, I met my current partner"
Daisy: "That's good! It is so hard, coming to something new. I could never imagine leaving my husband."
Lisa: "He left us, we weren't important, I don't want to marry every again"
Daisy: "Surely you do though? Marriage is great for a woman, my parents found a great husband for me."
Lisa: "Haha, lucky you. Most indian marriage is like prostitution."
[At this moment, Daisy's demeanor takes a nose dive. Whatever was actually said, what she heard was, "Indian marriage is prostitution"]
Daisy: *tears begin pouring down her face, she flings herself back in her chair, head shaking violently she screams* "I AM AN HONORABLE WOMAN!"
[Daisy runs out of the room, straight to HR. Lisa sits there, stunned, not really understanding what just happened or the consequences]
Scene: Back in bat country
[Robert finishes the story, the emotions are a mixture of hilarity at the absurdity of the situation and frustration in the work void it has created]
Moi: "Satan, well. Fuck me. Fuck us. Fuck. Is Daisy alright, is she at least staying? We can't lose two devs at the same time."
Robert: "She got a few days off, she seems fine now, but she's... yeah, I never laughed so hard"
Moi: *double facepalm* "Yeah, the word choice was a bit outrageous. It's not like we didn't know it was coming. I'm going to get back on the road."
Robert: "Alright, enjoy yourself, I'll try and prevent any other forest fires."19 -
I have this little hobby project going on for a while now, and I thought it's worth sharing. Now at first blush this might seem like just another screenshot with neofetch.. but this thing has quite the story to tell. This laptop is no less than 17 years old.
So, a Compaq nx7010, a business laptop from 2004. It has had plenty of software and hardware mods alike. Let's start with the software.
It's running run-off-the-mill Debian 9, with a custom kernel. The reason why it's running that version of Debian is because of bugs in the network driver (ipw2200) in Debian 10, causing it to disconnect after a day or so. Less of an issue in Debian 9, and seemingly fixed by upgrading the kernel to a custom one. And the kernel is actually one of the things where you can save heaps of space when you do it yourself. The kernel package itself is 8.4MB for this one. The headers are 7.4MB. The stock kernels on the other hand (4.19 at downstream revisions 9, 10 and 13) took up a whole GB of space combined. That is how much I've been able to remove, even from headless systems. The stock kernels are incredibly bloated for what they are.
Other than that, most of the data storage is done through NFS over WiFi, which is actually faster than what is inside this laptop (a CF card which I will get to later).
Now let's talk hardware. And at age 17, you can imagine that it has seen quite a bit of maintenance there. The easiest mod is probably the flash mod. These old laptops use IDE for storage rather than SATA. Now the nice thing about IDE is that it actually lives on to this very day, in CF cards. The pinout is exactly the same. So you can use passive IDE-CF adapters and plug in a CF card. Easy!
The next thing I want to talk about is the battery. And um.. why that one is a bad idea to mod. Finding replacements for such old hardware.. good luck with that. So your other option is something called recelling, where you disassemble the battery and, well, replace the cells. The problem is that those battery packs are built like tanks and the disassembly will likely result in a broken battery housing (which you'll still need). Also the controllers inside those battery packs are either too smart or too stupid to play nicely with new cells. On that laptop at least, the new cells still had a perceived capacity of the old ones, while obviously the voltage on the cells themselves didn't change at all. The laptop thought the batteries were done for, despite still being chock full of juice. Then I tried to recalibrate them in the BIOS and fried the battery controller. Do not try to recell the battery, unless you have a spare already. The controllers and battery housings are complete and utter dogshit.
Next up is the display backlight. Originally this laptop used to use a CCFL backlight, which is a tiny tube that is driven at around 2000 volts. To its controller go either 7, 6, 4 or 3 wires, which are all related and I will get to. Signs of it dying are redshift, and eventually it going out until you close the lid and open it up again. The reason for it is that the voltage required to keep that CCFL "excited" rises over time, beyond what the controller can do.
So, 7-pin configuration is 2x VCC (12V), 2x enable (on or off), 1x adjust (analog brightness), and 2x ground. 6-pin gets rid of 1 enable line. Those are the configurations you'll find in CCFL. Then came LED lighting which required much less power to run. So the 4-pin configuration gets rid of a VCC and a ground line. And finally you have the 3-pin configuration which gets rid of the adjust line, and you can just short it to the enable line.
There are some other mods but I'm running out of characters. Why am I telling you all this? The reason is that this laptop doesn't feel any different to use than the ThinkPad x220 and IdeaPad Y700 I have on my desk (with 6c12t, 32G of RAM, ~1TB of SSDs and 2TB HDDs). A hefty setup compared to a very dated one, yet they feel the same. It can do web browsing, I can chat on Telegram with it, and I can do programming on it. So, if you're looking for a hobby project, maybe some kind of restrictions on your hardware to spark that creativity that makes code better, I can highly recommend it. I think I'm almost done with this project, and it was heaps of fun :D13 -
!rant.
Here's some useful git tricks. Use with care and remember to be careful to only rewrite history when noones looking.
- git rebase: powerful history rewriting. Combine commits, delete commits, reorder commits, etc.
- git reflog: unfuck yourself. Move back to where you were even if where you were was destroyed by rebasing or deleting. Git never deletes commits that you've seen within at least the last 50 HEAD changes, and not at all until a GC happens, so you can save yourself quite often.
- git cherry-pick: steal a commit into another branch. Useful for pulling things out of larger changesets.
- git worktree: checkout a different branch into a different folder using the same git repository.
- git fetch: get latest commits and origin HEADs without impacting local braches.
- git push --force-with-lease: force push without overwriting other's changes5 -
➡️You Are Not A Software Developer⬅️
When I became a developer, I thought that my job is to write software. When my customer had a problem, I was ready to write software that solves that problem. I was taught to write software.
But what customers need is not software. They need a solution to their problem. Your job is to find the most cost-effective solution, what software often is not.
According to the universal law of software development, more code leads to more bugs:
e = mc²
Or
errors = (more code)²
The number of bugs grows with the amount of code. You have to prioritize, reproduce and fix bugs.
The more code you write, the more your team and the team after it has to maintain. Even if you split the system into micro services, the complexity remains.
Writing well-tested, clean code takes a lot of time. When you’re writing code, other important work is idle. The work that prevents your company from becoming rich.
A for-profit company wants to make money and reduce expenses. Then the company hires you to solve problems that prevent it from becoming rich. Confused by your job title, you take their money and turn it into expensive software.
But business has nothing to do about software. Even software business is not about software. Business is about making money.
Your job is to understand how the company is making money, help make more money and reduce expenses. Once you know that, you will become the most valuable asset in the company.
Stop viewing yourself as a software developer. You are a money maker.
Think about how to save and make money for your customers.
Find the most annoying problem and fix it:
▶️Is adding a new feature too costly? Solve the problem manually.
▶️Is testing slow? Become a tester.
▶️Is hiring not going well? Speak at a meetup and advertise your company.
▶️Is your team not productive enough? Bring them coffee.
Your job title doesn’t matter. Ego doesn’t matter either.
Titles and roles are distracting us from what matters to our customers – money.💸
You are a money maker. Thinking as a money maker can help choose the next skill for development. For example:
Serverless: pay only for resources you consume, spend less time on capacity planning = 💰
Machine Learning: get rid of manual decision-making = 💰
TDD: shorter feedback cycle, fewer bugs = 💰
Soft Skills: inspire teammates, so they are more productive and happy = 💰
If you don’t know what to learn next — answer a simple question:
What skills can help my company make more money and reduce expenses?
Very unlikely it’s another web framework written in JavaScript.
Article by Eduards Sizovs
Sizovs.net18 -
TL; DR: please save me from IT hell
Note 1: this is a rant that comes after a couple other rants I'm going to call "family business saga" from now on because I feel like this is gonna go on for a while
Note 2: the following may look exaggerated but it's because of how pissed off I am at said person
So I have to help this one family member with his computer but he's worned me out so much last summer that I can't stand him (it's all tech based). At all. Both in person and via text calls. I dread and become pissy each time he's nearby, just his presence makes me want to jump in a hole and stay there for eternity.
And he's not the smartest cookie in the jar when it comes to tech, so he comes to me for help (instead of going to my brother. Aaagh why doesn't he go for my brother as well, it's mentally tiring having to "help" him - as he doesn't learn what I'm trying to teach him even after several attempts). I don't really mind being sought for help when it comes to tech, but this guy takes it one step further.
He entered my room with his computer in his hands saying this friend of his has installed W7 on his PC (why didn't he handle all the things he wants to do, it would save me a lot of anger containment) and that I *had* (it's always "YOU HAVE" because I'm a tech-ish person and I'm in uni for CS) to help him do a bunch of things.
So he boots up the thing and there are 32 updates to do, so I'm guessing that he didn't boot it up after the OS update until now. He leaves my room and I sigh out of relief. He comes back with the AC remote complaining it's too hot in my room and that he's gonna put it down a degree or 2. Jesus christ do not tamper with my AC settings, it's fine to me. The updates are still going on. He leaves again.
The computer takes its time to update and so does he. I'm happily playing minecraft when he comes back, the computer off after updating. He looks at it and says "why is it off?". I reply back "it finished updating.", trying to keep my cool. Even the most simple questions are irritation inducing.
He reboots it and lets it run. After it boots and it's ready to go he just stays there for like 2' without doing anything because the hard drive light was going off. I think he thinks the computer is going to explode if he touches it while the light is blinking 😬
He goes to connect the computer to the internet and gets all surprised that the computer doesn't recognize our home's internet (he has been here before with his computer, I guess, so he had connected, so I think he was expecting it to auto connect like that). I tell him that the computer doesn't recognize our home's connection because it has had a fresh OS installation and so it didn't have any connection registered. He types in the password and the connection is established.
He them starts going on about that he wants to get these pics on the business' website and how does he put them in his computer and all that. I do that for him and he's all like "how did you do that?? 😮" like it's a magic trick
And he's always going on at everything as if it's all a big undoable thing. "How do I do this? You know what, do it yourself and show me because I don't wanna fail". Dude. Bro. Everything - EVERYTHING - you are afraid of doing is undoable. EVERYTHING. Good christ.
I swear I've never felt so glad I'm going back for uni next week9 -
when you find a comment you wrote to yourself like three months ago after you already "fixed" the problem...
############
# REMINDER
# below has been modified to save half masked images
# you did this quickly to make a movie for a talk in late 2016
# don't forget to change it back to save fully masked images
# which are the ones that are actually used in processing
# END of pitiful attempt to save yourself from future aggrivation
############
at least I anticipated that this would happen...1 -
Describe the most hellish development environment you can imagine for yourself:
Me:
Workstation OS: Windows Vista with network boot, no hard disk and can't save local files
Server OS: Closed physical appliance of Windows Server 2000 with no possibility of installing extra software
Languages: Visual Basic, Perl, Php, assembly, ABAP
IDE: None, just echoing code lines to files
Web technologies: IIS, Sharepoint, Java applets, asp
Network: No internet access, internal company network only
Web browser: IE 6
Graphical design software: msPaint
Version control: Emails
Team communication: Emails
Software distribution vector: Emails
Boss: some 40 year old guy who knows nothing about computers
Not kidding most of these stuff were actually real in my previous workplace.11 -
Woohoo!!! I made it to 1000++s :) Now I feel less newbie-like around here :)
So... I don't want to shit-post, so in gratitude to all you guys for this awesome community you've built, specially @trogus and @dfox, I'll post here a list of my ideas/projects for the future, so you guys can have something to talk about or at least laugh at.
Here we go!
Current Project: Ensayador.
It's a webapp that intends to ease and help students write essays. I'm making it with history students in mind, but it should also help in other discipline's essay production. It will store the thesis, arguments, keywords and bibliography so students can create a guideline before the moment of writting. It will also let students catalogue their reads with the same fields they'd use for an essay: that is thesis, arguments, keywords and bibliography, for their further use in other essays. The bibliography field will consist on foreign keys to reads catalogued. The idea is to build upon the models natural/logical relations.
Apps: All the apps that will come next could be integrated in just one big app that I would call "ChatPo" ("Po" is a contextual word we use in my country when we end sentences, I think it derived from "Pues"). But I guess it's better to think about them as different apps, just so I don't find myself lost in a neverending side-project.
A subchat(similar to a subreddit)-based chat app:
An app where people can join/create sub-chats where they can talk about things they are interested in. In my country, this is normally done by facebook groups making a whatsapp group and posting the link in the group, but I think that an integrated app would let people find/create/join groups more easily. I'm not sure if this should work with nicknames or real names and phone numbers, but let's save that for the future.
A slack clone:
Yes, you read it right. I want to make a slack clone. You see, in my country, enterprise communications are shitty as hell: everything consists in emails and informal whatsapp groups. Slack solves all these problems, but nobody even knows what it is over here. I think a more localized solution would be perfect to fill this void, and it would be cool to make it myself (with a team of friends of course), and hopefully profit out of it.
A labour chat-app marketplace:
This is a big hybrid I'd like to make based on the premise of contracting services on a reliable manner and paying through the app. "Are you in need of a plumber, but don't know where to find a reliable one? Maybe you want a new look on your wall, but don't want to paint it yourself? Don't worry, we got you covered. In <Insert app name> you can find a professional perfect to suit your needs. Payment? It's just a tap away!". I guess you get the idea. I think wechat made something like this, I wonder how it worked out.
* Why so many chat apps? Well... I want to learn Erlang, it is something close to mythical to me, and it's perfect for the backend of a comms app. So I want to learn it and put it in practice in any of these ideas.*
Videogames:
Flat-land arena: A top down arena game based on the book "flat land". Different symmetrical shapes will fight on a 2d plane of existence, having different rotating and moving speeds, and attack mechanics. For example, the triangle could have a "lance" on the front, making it agressive but leaving the rest defenseless. The field of view will be small, but there'll be a 2d POV all around the screen, which will consist on a line that fills with the colors of surrounding objects, scaling from dark colors to lighter colors to give a sense of distance.
This read could help understand the concept better:
http://eldritchpress.org/eaa/...
A 2D darksouls-like class based adventure: I've thought very little about this, but it's a project I'm considering to build with my brothers. I hope we can make it.
Imposible/distant future projects:
History-reading AI: History is best teached when you start from a linguistic approach. That is, you first teach both the disciplinar vocabulary and the propper keywords, and from that you build on causality's logic. It would be cool to make an AI recognize keywords and disciplinary vocabulary to make sense of historical texts and maybe reformat them into another text/platform/database. (this is very close to the next idea)
Extensive Historical DB: A database containing the most historical phenomena posible, which is crazy, I know. It would be a neverending iterative software in which, through historical documents, it would store historical process, events, dates, figures, etc. All this would then be presented in a webapp in which you could query historical data and it would return it in a wikipedia like manner, but much more concize and prioritized, with links to documents about the data requested. This could be automated to an extent by History-reading AI.
I'm out of characters, but this was fun. Plus, I don't want this to be any more cringy than it already is.12 -
Please tell me I'm not the only one who gets really annoyed when someone uses jQuery to do stuff that would take the same amount of pure JS. I think these days many people only use jQuery out of laziness, not because it's necessary. Why load an entire library to set CSS attributes and innerHTML? Yes, there was a time when it was very useful to have jQuery, but today we have querySelectorAll and all that. You can save plenty of kBs, load time and improve performance.
Next time you're about to load jQuery ask yourself: do I really need it? Chances are the answer will be no.22 -
“PHP is evil” is not just a joke.
PHP is usually percieved as a language which is not so consistent and has some opinionated historical aspects but allows rapid development because it’s easy. They say PHP doesn’t focus on that “purist shit” such as concepts and “just gets things done”.
Hovewer, this is not true. PHP lures you in and lies to you promising saving time on development, but everything, and I mean EVERYTHING written in PHP is doomed to turn into a bloody mess sooner or later.
You have to be an AI to manage the growing PHP codebase and add features without breaking anything. With every feature it gets harder and harder. If you’re still a human managing a human team, you have to enforce guidelines. Automatic error preventon measures are made of code themselves so the cost of deploying them ona late stage can be ridiculous. And you never deploy them on early stage because you want to “save time”. Your people have to spend more and more time everyday checking on that guidelines. Your development process only becomes slower and slower. If you try to push things, your project will crumble to dust.
To make PHP at least decent, you have to figure out all this by yourself on an early stage. When you’re done, you spent a lot of time creating the buggy, ad-hoc, unspecified and unsupported alternative of what works out of the box in other languages. And you still code in PHP and still have all its disadvantages in your project’s DNA.
PHP is evil because it promises and never delivers. PHP is evil because it lies to you and it already fucked over so many of us.
If you want to code in PHP, do it under your pillow. Code your own silly projects.
If your project has the word “production” somewhere in its plans, PHP is not the way to go.
Amen.66 -
If your client doesn't know what the fuck he wants to see on his website even with all text and images included - don't take this fucking job.
They will let you choose a template and you end up switching it 5 times. "Oh we don't like it. What else do you have? Oh, this looks better." Next day "We don't like this theme anymore. We want to switch to what we had before."
If people can't draw their home page on a paper I tell them go fuck yourself straight in a face. I always put these people on my reference list so my future clients know I'm straightforward, not lazy, not low skilled, but honest with dumbasses like some of my previous clients.
You are asking for a basic website with 5 pages, you have a shitty budget and then I have to customize the entire theme and tweak every fucking possible element in CSS, HTML and PHP. Go fuck yourself. All you get for your money is WordPress with 15 min consultation how to copy paste your shit and save it. Never do fixed budgets, never work on projects like this if it's under $500-1000. Meet with the client to understand him/her better and see if he is a jackass-perfectionist or a chill person who won't be picky.
That's my memories of being a freelancer, trying to get any job for any budget just to build my portfolio. Never going back to this, at least not for small businesses with less than $5,000 budget. Reading people before you start working with them is a good thing.undefined idiot clients clients from hell hate it hatred freelancing freelance madness rants rant wordpress2 -
This “Auto save” feature in the latest app version is buggy..
-> new rant
-> prefilled with previous rant..
Anyway, here my actual rant begins.
Apple, go fuck yourself, seriously.. put your trillion dollars way up your arse...
Moved to Ireland, want to switch country..
“If you want to switch countries, cancel your Apple Music subscription first”..
so be it. Cancelled it..
“Your subscription will be cancelled in 28 days”.
FUCK YOU, YOU COCK SUCKING BASTARDS!!
I NEED TO SWITCH THE STORE TO BE ABLE TO DOWNLOAD BANKING APPS AND STUFF LIKE THAT..
But ok, I’m screwed in this regard..
Suddenly iMessage stopped working. This is kind of a big deal because I have unlimited data but only unlimited sms to Irish numbers and I need to communicate with people in Switzerland and Germany..
Internet works so I try to turn iMessage off and in again. But that doesn’t work.. i can only reactivate iMessage via WiFi.
So I go back to the hotel, reactivate iMessage..
“Verifying imessage” >> google..
Leads me to an Apple forum: “the verification of iMessage can take up to 24h”.
Are you fucking kidding me? I’m in a new country and rely on this overpriced shit..
Fun but sad fact, I have a second phone with me. IPhone 4 with iOS 7 and that thing WORKS!!
If this is where the future is going we’re all gonna die very soon.. plains crash, power plants explode but hey, at least they have data about it and it looks shiny. That’s all that matters..
Another reason to switch to android..
MacOs fucked me up so I already switched to windows + Linux. Next one will be getting rid of iOS, they don’t build small phones anymore anyway..1 -
If you want to install, configure, and dedicate resources to fail2ban, knock yourself out, but putting these options in your sshd_config alone will save you mountains of headache:
PermitRootLogin no
PasswordAuthentication no7 -
Github 101 (many of these things pertain to other places, but Github is what I'll focus on)
- Even the best still get their shit closed - PRs, issues, whatever. It's a part of the process; learn from it and move on.
- Not every maintainer is nice. Not every maintainer wants X feature. Not every maintainer will give you the time of day. You will never change this, so don't take it personally.
- Asking questions is okay. The trackers aren't just for bug reports/feature requests/PRs. Some maintainers will point you toward StackOverflow but that's usually code for "I don't have time to help you", not "you did something wrong".
- If you open an issue (or ask a question) and it receives a response and then it's closed, don't be upset - that's just how that works. An open issue means something actionable can still happen. If your question has been answered or issue has been resolved, the issue being closed helps maintainers keep things un-cluttered. It's not a middle finger to the face.
- Further, on especially noisy or popular repositories, locking the issue might happen when it's closed. Again, while it might feel like it, it's not a middle finger. It just prevents certain types of wrongdoing from the less... courteous or common-sense-having users.
- Never assume anything about who you're talking to, ever. Even recently, I made this mistake when correcting someone about calling what I thought was "powerpc" just "power". I told them "hey, it's called powerpc by the way" and they (kindly) let me know it's "power" and why, and also that they're on the Power team. Needless to say, they had the authority in that situation. Some people aren't as nice, but the best way to avoid heated discussion is....
- ... don't assume malice. Often I've come across what I perceived to be a rude or pushy comment. Sometimes, it feels as though the person is demanding something. As a native English speaker, I naturally tried to read between the lines as English speakers love to tuck away hidden meanings and emotions into finely crafted sentences. However, in many cases, it turns out that the other person didn't speak English well enough at all and that the easiest and most accurate way for them to convey something was bluntly and directly in English (since, of course, that's the easiest way). Cultures differ, priorities differ, patience tolerances differ. We're all people after all - so don't assume someone is being mean or is trying to start a fight. Insinuating such might actually make things worse.
- Please, PLEASE, search issues first before you open a new one. Explaining why one of my packages will not be re-written as an ESM module is almost muscle memory at this point.
- If you put in the effort, so will I (as a maintainer). Oftentimes, when you're opening an issue on a repository, the owner hasn't looked at the code in a while. If you give them a lot of hints as to how to solve a problem or answer your question, you're going to make them super, duper happy. Provide stack traces, reproduction cases, links to the source code - even open a PR if you can. I can respond to issues and approve PRs from anywhere, but can't always investigate an issue on a computer as readily. This is especially true when filing bugs - if you don't help me solve it, it simply won't be solved.
- [warning: controversial] Emojis dillute your content. It's not often I see it, but sometimes I see someone use emojis every few words to "accent" the word before it. It's annoying, counterproductive, and makes you look like an idiot. It also makes me want to help you way less.
- Github's code search is awful. If you're really looking for something, clone (--depth=1) the repository into /tmp or something and [rip]grep it yourself. Believe me, it will save you time looking for things that clearly exist but don't show up in the search results (or is buried behind an ocean of test files).
- Thanking a maintainer goes a very long way in making connections, especially when you're interacting somewhat heavily with a repository. It almost never happens and having talked with several very famous OSSers about this in the past it really makes our week when it happens. If you ever feel as though you're being noisy or anxious about interacting with a repository, remember that ending your comment with a quick "btw thanks for a cool repo, it's really helpful" always sets things off on a Good Note.
- If you open an issue or a PR, don't close it if it doesn't receive attention. It's really annoying, causes ambiguity in licensing, and doesn't solve anything. It also makes you look overdramatic. OSS is by and large supported by peoples' free time. Life gets in the way a LOT, especially right now, so it's not unusual for an issue (or even a PR) to go untouched for a few weeks, months, or (in some cases) a year or so. If it's urgent, fork :)
I'll leave it at that. I hear about a lot of people too anxious to contribute or interact on Github, but it really isn't so bad!4 -
Customers are so fucking stupid.
You're already on the page with a form with a "password" field and a fucking "save" button. WHY ARE YOU STILL ASKING ME HOW TO CHANGE YOUR FUCKING PASSWORD???
FUCKING STUPID CUSTOMER WHY DON'T YOUR FUCKING KILL YOURSELF???
FUCK!2 -
If you ever think of using React Native, don't
Save yourself the trauma of endless build errors and indeterministic side effects
Run for your fucking life and never touch that shit10 -
I just found out my parents have less than $30 in the bank by the end of each month after all expenses...
We are not living. We are barely surviving....
Every day in my house it is dark and the lights are off. They turn all lights off in order to avoid getting a high electricity bill. I have to use my phone's flashlight as the main source of light in my own house, as if i live in abandoned cottage in the middle of a forest.....
Both my parents are jobless (have been their entire lives). They just borrow money from their family members and grandparents to pay these bills every month. They depended on luck their whole lives. A luck in context of "maybe if i dont work anything at all then a huge pile of money will fall down from the sky!".
So now I, as their son, have to grow up in extreme poverty and fight my way up, because of DUMB, STUPID people. They are good people, but what does being a good person bring if you are fucking stupid and valueless?
I knew i was poor but today i found out i was THIS poor. I had no idea we were THIS much poor. Because today my 4g internet got cut off due to not paying bills. The bill is $30. My dad cant pay it cause he doesnt have $30 in the bank. I was in shock. So i had to pay it
My $8.125 usd an hour backend software engineer + DevOps engineer (2 jobs in 1), is considered as LUXURIOUS SALARY, in the most corrupted country of Europe -- SERBIA 🇷🇸
When i tell the world i make $8 an hour with a computer science degree working as a software engineer, they laugh at me. People mock me "bro even a mcdonalds worker earns $17/hour what are you doing" im doing what i was born into -- born into poverty of a third world shithole country.
With my $8 an hour salary, i am in TOP 3% of the HIGHEST earners in serbia. Can you fucking imagine how miserable lives do people live if this is not even an average salary, but among the ELITE salary? Because the average salary in Serbia, is $3.75 usd an hour, sometimes even less than that.
When people say "its not about luck its about hard work", please, GO. FUCK. YOURSELF.
Go and be born in a shithole third world country. Now on top of that be born in poverty due to poor decisions of your parents. Go ahead and try it. Lets see how hard you fucking have to work to get to the same level compared to someone who was born into for example America, where you get paid 6 figures immediately after graduating computer science. Or on top of that, you're born in a wealthy family in america. Did you work hard to be born in the 1st class freak show or were you LUCKY to be gifted such life?
My whole life i have been fighting to get money and escape this misery due to poor decisions of my parents.
Very ironically, my parents have lived extremely luxurious lives in the 90s. They had 5 cars. 1 huge house with a backyard garage private office private jacuzzi private gym. This house was worth at least 500k in the 90s. Today this house would cost at least 1.5 or 2 million. They went to luxurious travels. Hotels of $5000 per night per person. Literally wasted 45k in 3 days just for hotel. They even GAVE AWAY FOR FREE money to our relatives and cousins, taking them on luxurious vacations for free etc. None of those people appreciated them, none of them came to help them in tough times, everyone forgot about them and abandoned us.
Like i said, my parents are good people, but what does it profit being a good person if you are FUCKING STUPID.
They were extremely LUCKY but their STUPIDNESS has made them broke. I couldn't be THIS much fucking stupid even if i tried hard.
Nobody is coming to save us. No one cares. Its all up to me now. All the pressure and stress and poverty is passed and inherited onto my life now. its up to me to either get rich or end my STUPID bloodline
I am living a very difficult life and no one seems to understand this...26 -
Avoid ACPICA if at all possible. It's one garbage tier cluster fuck of bad design, horrible documentation and downright misleading and wrong code
It's meant to consist of an ASL compiler, disassembler, debugger, dumper, various user space utitilies and a kernel resident OSPM implementation *if* you can figure out what belongs to what. Even just compiling this pile of trash is a mystery in itself. Think you need the source files in source/common? EEEEH, wrong. Well, at least partially since most of them seem to be for the user space stuff..? Other ones *are* needed on the other hand. At least the disassembler and/or debugger and/or dumper components seem to reference them. Not that I could figure out how to compile those anyways. The real path to your goal seems to be to ignore a seemingly arbitrary subset of source and header files until your linker stops complaining
There's also a bunch of configuration defines, some of which *you* define, some defined *for* you, based on again others. Of course most of them do stupid shit. Enabling the debugger automatically enables debug logging. Enabling the disassembler force enables debug allocation tracking... What?
The code itself isn't of much help either. Looking in "os_specific/service_layers" you find what looks to be reference implementations of acpica functions in certain os' like windows and unix. Of course I had a look because AcpiOsReadMemory is supposed to read physical memory and I don't know how I would even implement that. But hey, osunixxf.c (xf for interface... of course) should tell me. I'll let you see for yourself in the attached image. Apparently it does fuck all and just returns AE_OK. No error, no logging, no nothing. Just ok. As you can imagine, AcpiOsWriteMemory doesn't do much more either.
...okay so maybe physical memory accesses aren't actually used and these functions are some sort of relic from past times? Nope! They are absolutely necessary for doing low level device interaction. WTF. So finally I went to the linux source and checked how *they* implemented them, and just as I thought, these functions are anything but no-ops...
...So for what fucking reason do these stupid interface implementations even exist but to purposefully mislead you?? They aren't used for fucking anything! As far as I know Windows doesn't even *use* ACPICA and Linux have their own fork with working implementations... They just sit there, just to tell you how to NOT do it
So that's some of my thoughts about ACPICA. Note that I haven't even used it as a library yet, I just got it to compile and link and it already fucked with me this much.
There's also so much more I didn't mention like that you *have* to modify the acpica source in order to get your own platform header working (else #error) eventhough the docs explicitely instruct you not too but you get the point
Don't use ACPICA if you don't have to. Save your sanity for something that's worth it -
So about two months ago in my consulting firm I was asked to replace a colleague on a project (node and Angular). The project is only a few months old but it’s already a total clusterfuck. DB is very poorly designed. It’s supposed to be a relational database but there’s not a trace of a foreign key or any key for that matter and I’ve seen joins like tableA.name = tableB.description (seriously, that’s your relation??). The code is a mess with entire blocks of code copied from another project and many parts of the code aren’t even used. He didn’t even bother renaming variables so they would make sense in the context they were shamelessly thrown into. The code is at best poorly typed if not typed at all.
During our dailies I sometimes express my frustration with my other colleagues as I very politely allude to my predecessor’s code as being hard to work with. (They are all “good friends" with him). I always get the same response from my colleagues: "yeah but you’ve gotta understand Billybob was under a lot of pressure. The user stories were not well defined. He didn’t have time to do a proper job". That type of response just makes me boil inside.
Because you think I have time to deal with this shit? You don’t think I’m working with the same client and his user stories that are barely intelligible? How long does it take to write type definitions for parameters going into a function? That’s right, 30 seconds at most? Maybe a minute if it’s a more elaborate object? How much time do you think you’ll save yourself with a properly typed function or better yet an interface? Hard to tell but certainly A LOT MORE than those 30 seconds you lost (no, the 30 seconds you INVESTED) in writing that interface!!!
FUCK people with their excuses! Never tell me you don’t have time to do a proper job! You’ve wasted HOURS of my time just because you were too fucking lazy to type your functions, too lazy to put just a little more thought into designing your tables, too lazy to rename a variable so that it’s name actually makes sense where it’s being used. It’s not because you were short on time. You’re just lazy!
FUCK!!!!!!3 -
Got one right now, no idea if it’s the “most” unrealistic, because I’ve been doing this for a while now.
Until recently, I was rewriting a very old, very brittle legacy codebase - we’re talking garbage code from two generations of complete dumbfucks, and hands down the most awful codebase I’ve ever seen. The code itself is quite difficult to describe without seeing it for yourself, but it was written over a period of about a decade by a certifiably insane person, and then maintained and arguably made much worse by a try-hard moron whose only success was making things exponentially harder for his successor to comprehend and maintain. No documentation whatsoever either. One small example of just how fucking stupid these guys were - every function is wrapped in a try catch with an empty catch, variables are declared and redeclared ten times, but never used. Hard coded credentials, hard coded widths and sizes, weird shit like the entire application 500ing if you move a button to another part of the page, or change its width by a pixel, unsanitized inputs, you name it, if it’s a textbook fuck up, it’s in there, and then some.
Because the code is so damn old as well (MySQL 8.0, C#4, and ASP.NET 3), and utterly eschews the vaguest tenets of structured, organized programming - I decided after a month of a disproportionate effort:success ratio, to just extract the SQL queries, sanitize them, and create a new back end and front end that would jointly get things where they need to be, and most importantly, make the application secure, stable, and maintainable. I’m the only developer, but one of the senior employees wrote most of the SQL queries, so I asked for his help in extracting them, to save time. He basically refused, and then told me to make my peace with God if I missed that deadline. Very helpful.
I was making really good time on it too, nearly complete after 60 days of working on it, along with supporting and maintaining the dumpster fire that is the legacy application. Suddenly my phone rings, and I’m told that management wants me to implement a payment processing feature on the site, and because I’ve been so effective at fixing problems thus far, they want to see it inside of a week. I am surprised, because I’ve been regularly communicating my progress and immediate focus to management, so I explain that I might be able to ship the feature by end of Q1, because rather than shoehorn the processor onto the decrepit piece of shit legacy app, it would be far better to just include it in the replacement. I add that PCI compliance is another matter that we must account for, and so there’s not a great chance of shipping this in a week. They tell me that I have a month to do it…and then the Marketing person asks to see my progress and ends up bitching about everything, despite the front end being a pixel perfect reproduction. Despite my making everything mobile responsive, iframe free, secure and encrypted, fast, and void of unpredictable behaviors. I tell her that this is what I was asked to do, and that there should have been no surprises at all, especially since I’ve been sending out weekly updates via email. I guess it needed more suck? But either way, fuck me and my two months of hard work. I mean really, no ego, I made a true enterprise grade app for them.
Short version, I stopped working on the rebuild, and I’m nearly done writing the payment processor as a microservice that I’ll just embed as an iframe, since the legacy build is full of those anyway, and I’m being asked to make bricks without straw. I’m probably glossing over a lot of finer points here too, just because it’s been such an epic of disappointment. The deadline is coming up, and I’m definitely going to make it, now that I have accordingly reduced the scope of work, but this whole thing has just totally pissed me off, and left a bad taste about the organization.10 -
Node: The most passive aggressive language I've had the displeasure of programming in.
Reference an undefined variable in a module? Prepare to waste your time hunting for it, because the runtime won't tell you about it until you reference a property or method on the quietly undefined module object.
Think you know how promises work? As a hiring manager, I've found that less than 5% of otherwise well-experienced devs are out of the Dunning Kruger danger zone.
Async causes edge cases and extra dev effort that add to the effort required to make a quality product.
Got a bug in one of your modules? Prepare yourself for some downtime because a single misplaced parentheses can take out the entire Node process, killing unrelated pages and even static file hosting.
All this makes for a programming experience that demands much higher cognitive load, creates more categories of bugs, and leads to code bloat/smell much more quickly than other commonly substituted languages.
From a business perspective, the money you save on scaling (assuming your app is more compute efficient under Node) is wasted on salaries and opportunity costs stemming from longer dev time, more QA, and more frequent outages.
IMO, Node is an awesome experiment, a fun language, a great tool for specific use cases, and a terrible fucking choice for an entire website.8 -
A dev life in Queen songs:
„A Kind of Magic“ - Build successful
„A Winter’s Tale“ - Key Account Manager visits customer
„Action This Day“ - Release day
„All Dead, All Dead“ - System down
„Another One Bites the Dust“ - kill -9 4711
„Breakthru“ - 10 hour debuging session
„Chinese Torture“ - Microsft Office
„Coming Soon“ - Client asks for delivery date
„Dead on Time“ - shutdown -t 10
„Doing All Right“ - How's the progress on the new feature?
„Don’t Lose Your Head“ - git push -f
„Don’t Stop Me Now“ - In the zone
„Escape from the Swamp“ - Hand in resignation letter
„Forever“ - while(1)
„Friends Will Be Friends“ - friend class Vector;
„Get Down, Make Love“ - No rule to make target "Love"
„Hammer to Fall“ - Release day
„Hang on in There“ - 2 weeks until release
„I Can’t Live With You“- Microsoft
„I Go Crazy“ - Microsoft
„I Want It All“ - Google
„I Want to Break Free“ - free( (void*) 0xDEADBEEF );
„I’m Going Slightly Mad“ - Impossible feature requested
„If You Can’t Beat Them“ - Impossible feature promised by sales
„In Only Seven Days“ - Impossible feature ordered
„Is This the World We Created...?“ - Philosphic moments
„It’s a Beautiful Day“ - Weekend
„It’s a Hard Life“ - Weekday
„It’s Late“ - Deadline was last week
„Jesus“ - WTF?
„Keep Passing the Open Windows“ - Interprocess communication
„Keep Yourself Alive“ - Daily struggle
„Leaving Home Ain’t Easy“ - Time to get up and go to work
„Let Me Entertain You“ - Sales meets customer
„Liar“ - Sales
„Long Away“ - Project start
„Loser in the End“ - Dev
„Lost Opportunity“ - Job ad
„Love of My Life“ - emacs/vim
„Machines“ - Computer
„Made in Heaven“ - git
„Misfire“ - Unhandled exception at Memory location 0xDEADBEEF
„My Life Has Been Saved“ - Google drive/Facebook
„New York, New York“ - Meeting at customer
„No-One But You“ - Bus factor = 1
„Now I’m Here“ - Morning rush hour
„One Vision“ - Management goals
„Pain Is So Close to Pleasure“ - NullPointerExcption
„Party“ - Delivery completed
„Play the Game“ - Customer meeting inhous -
„Put Out the Fire“ - Support hotline
„Radio Ga Ga“ - GSM/GPRS/UMTS/LTE/5G
„Ride the Wild Wind“ - Arch Linux
„Rock It“ - Linux
„Save Me“ - CTRL-S/CTRL-Z
„See What a Fool I’ve Been“ - git blame
„Sheer Heart Attack“ - rm -rf /
„Staying Power“- UPS
„Stealin’“ - Stack Overflow
„The Miracle“ - It works
„The Night Comes Down“ - It doesn't work
„The Show Must Go On“ - Project cancelled
„There Must Be More to Life Than This“ - Philosophic moments
„These Are the Days of Our Lives“ - Daily routine
„Under Pressure“ - 1 day until release
„Was It All Worth It“ - Controlling
„We Are the Champions“ - Release finished
„We Will Rock You“ - Sales at customer
„Who Needs You“ - HR
„You Don’t Fool Me“ - Debugging session
„You Take My Breath Away“ - rm -rf /
„You’re My Best Friend“ - emacs/vim4 -
Why do people not use search engines?
Like there exist so many good search engines and you still ask a question that can be answered by searching 2 minutes on the internet???
You could save yourself and others so much fucking time!!!7 -
Fuck this shit! We had bug on website when tinymce was showing broken tables and could not save them correctly. So, the first thing you think about is tinymce is fucked up and you have to either upgrade, downgrade or fix it fucking yourself. Well, I spend more than hour tryingto figure this out. Then I found out that some fucker set column length in DB where data are stored to varchar 800!!! WTF, are you fucking serious?
-
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.3 -
That moment when you are doing systems programming and accidentally fork bomb yourself.
Please ctrl-save, please ctrl-save, please ctrl-save! -
So, I browse to a video livestream and an annoying ad starts before the livestream is shown. Furthermore, the page jumps around because of a cookie notification that also blocks some UI elements at the top.
Note: this is the website of a public (government-paid) national news website with very high standards and a good reputation.
Action 1: refresh page; I hope the ad is skipped. Nope, annoying ad restarts. Page jumps around again because of the cookie notification.
Action 2: accept cookies to remove notification blocking the top UI (it's OK, I know it can't actually save any cookies on my machine). Instead of some nice JS doing it for me in the background, the page refreshes because you know, HTTP requests and whatnot.
Annoying ad restarts again... FML 🤬
Lessons to be learned from this for any web dev: these annoyances can and *will* exponentially get worse if used simultaneously against your users, instead of being used to help or inform your users.
As a user of you website, I want to watch a livestream. I don't care what stupid legislation forced you to shove a fucking cookie notification in my face. Make sure it is not annoying me to the point that I close you website and take minutes to rant about it!
Also, give me the freedom of choice to watch an ad or not. You and I both know that some ads simply are not for me. Better save yourself and myself the bandwidth.
And go get good at web development. You're a news site. That's more than just text and images. If you want great apps, social media coverage, videos, live streams, blogs, etc. go get some better web devs. Your current web frontend devs only qualify to get fired.1 -
Have you ever thought to yourself! Which project did I write that incredible important function. I could really save myself from YouTube and stack overflow right now5
-
!dev philosophical
Quality vs Opinion
I have a feeling that these things have always been at odds with each other and now with the constant connectedness it has just become more apparent that most people don’t understand the difference (or even realize there is a difference for that matter)
Let’s face it. Most people have awful taste. They listen to whatever new music their radio station decides was hot. They watch whatever show everyone else is watching. They are manipulated by large scale news organizations...
Basically, most people are sheep.
The problem is that sheep are a dangerous combination of loud and stupid. Giving these loud stupid sheep a platform to amplify their voice is a bad idea for a society, but a great tool for the pigs to manipulate them.
“Frightened though they were, some of the animals might possibly have protested, but at this moment the sheep set up their usual bleating of "Four legs good, two legs bad," which went on for several minutes and put an end to the discussion.”
This isn’t confined to one political party or view, it isn’t geographic, it isn’t based on education, it isn’t based on wether a person is ethical or not...
It’s universal.
You can translate “four legs good, two legs bad” into Agent Orange and his followers chanting “lock her up” just as well as it could be translated into the angry leaders of the modern feminist movement.
In both cases (both on opposite ends of the ethical spectrum) you have the loudest dumb, angry sheep getting the even dumber sheep to chant along, wether it is good for them or not.
Now to loop this back. The problem is that dumb sheep are emotional. They truly believe that they are NOT dumb and that their opinions and emotions are a measure of quality.
I FEEL bad, and you are talking to me, so you must BE bad.
I don’t LIKE this amazingly well made movie, so it must BE bad.
And anyone else who has a different opinion is just wrong. Anyone who try’s to explain the merits of the other side is either my enemy or is stupid.
^^^
Their opinion, incorrect.
————
Now for the tough part...
Most likely, based on probability, you are a sheep.
Yes, you! The smartest person you know. The guy/girl who has a degree or masters of a PHD. The person who builds amazing software. You! Are. A. Sheep. And you are dangerous to the world.
To put a cherry on top.
No, you opinions are not important. Your feelings are fucking meaningless. Your morals are worthless. Your voice has as much value and a loose asshole fart from a fat guy trapped in a deep well in Siberia.
But don’t get down about this. It’s doesn’t make you any less of a person. Remember that almost every person who has ever lived in history has been a sheep. They have chanted one useless, dangerous, misguided, harmful chant after another through the ages.
————
To those of you who try not to be sheep. Just keep trying to get a little better every day. When someone says...
“We do it this way because we have always done it this way”
... be skeptics. Explore the merits and logic of the situation.
And if you are tired of being led by stupid sheep then save some money, build something cool and start your own business.
Just remember, you will always need the sheep. They will be your employees, your friends, your bosses, your investors etc.
Treat them well, don’t hate them, and if you ever find yourself leading a pack of sheep then try to keep a healthy distance from their chanting while leading them down the right path.
They will thank you for it in the end.
———
PS. For those of you thinking “this is very judgemental and self centred”
All I can do is to try to speak your language....
Baaaahhhhh, baaahhhhh, bahhhhh
Which translates form sheep to human as...
“Eat a dick. Have a nice day” -
Hire are a few tips to up productivity on development which has worked for me:
1) Use a system of at least 16gb ram when writing codes that requires compilation to run.
2) Test your code at most 3 times within an hour. This will combat the bad habit of practically checking changes on every new block you write.
3) Use internet modem in place of mobile hotspot and keep mobile data switched off. This will combat interruptions from your IM contacts and temptations to check your WA status update when working.
4) Implementation before optimisation... This is really important. It's tempting to rewrite a whole block even when other task are pending. If it works just leave it as is and move on to the next bull to kill, you can come back later to optimise.
5) Understand that no language is the best. Sometimes folks claim that PHP is faster than python. Okay I say but let's place a bet and I'll write a python code 10 times faster than your PHP on holiday. Focus more on your skill-set than the language else you'd find yourself switching frameworks more than necessary.
6) Check for existing code before writing an implementation from scratch... I bet you 50 bucks to your 10 someone already wrote that.
7) If it fails the first and then the second time... Don't try the third, check on StackOverflow for similar challenge.
8) When working with testers always ask for reproducible steps... Don't just start fixing bugs because sometimes their explanation looks like a bug when other times it's not and you can end up fixing what's never there.
9) If you're a tester always ask for explanations from the dev before calling a bug... It will save both your time and everybody's.
10) Don't be adamant to switching IDE... VSCode is much productive than Notepad++. Just give it a try an see for yourself.
My 10 cents.1 -
Honestly my worst career choice was due to the fact that I was severely dissatisfied with my life at the time, so I answered a recruiting email from LinkedIn.
The job sounded great on paper, the office was great, the interviewees were amazing, BUT at the end of the day it was so much less of a challenge than my current job that I was sick of it after 3 MONTHS (for reference, people who had worked there for 4 years and were seniors were asking me for help all the time at that point...on basic java problems...yeah..).
So my only advice when you get the itch to respond to a recruiter is definitely weight your options. Ask yourself "Am I really unhappy with my job, or is it something else?" because it can really save you a world of pain later on.
I got a different job thereafter, but it was sure embarrassing to run into my old boss at a party and he was like "how's the new gig" and I had already left...2 -
Start my code day, no bugs in sight,
Each line I write, like code's delight.
Second function, errors suppressed,
Silent fixes, my skills put to the test.
Third loop, logic numb, yet breaking,
A contradiction in every line I'm making.
Fourth bug, clinging like a leech,
In the grip of coding's caffeine breach.
Fifth syntax, thoughtless actions cascade,
A program's dance, in lines arrayed.
Sixth compile, colleagues say, 'Go home,'
But where's home in this code dome?
'They say home is where the heart is,
But my heart's in a million logic twists,
Which line shall I follow?
The optimized or the broken,
I cannot tell them apart.'
In the last bit of code, I saved my hope,
When debugging was still an option,
So go ahead and save yourself from glitches,
For you are worthy of a million exceptions. -
When your code works then you have this inclination to add an extra feature and after adding it ,it works after catching a few bugs but then .... you feel so smug with yourself you add another feature and that stuff ups all YOUR CODE !!!and if you haven't saved a copy of the program before editing y0ur program so the eaaiset option you have I to use CTRL -Z and if you have been altering your code a lot the undo action only goes back a few alterations and hasn't undone your extra feature then you have to manually find the feature and clean it from your code taking longer then creating the program as a whole
=======
The undo action needs to save more alterations of the code 😑1 -
Top 5 Reasons for Not Discussing Weird Topics in Your Graduate Admission Essay
Knowing the top five reasons for not discussing weird topics in your graduate admission essay is very important. There is really no strict requirement about what kind of topic you use, as long as you can discuss it effectively. However, choosing weird topics may not really work for you, especially if it’s a very controversial or sensitive one. The following are the top five reasons why you should avoid discussing weird topics in your essay.
Reason #1: Weird topics are weird.
First off, weird topics are exactly that, weird. The last thing you want to do is weird out your graduate school admission panel, which is almost a sure way of getting yourself that polite rejection letter that every applicant dreads of receiving.
One of the main important points to remember is to think of your audience when writing your graduate admission essay. This audience will be composed of tenured professors, and probably younger teachers closer to your own age. Although it is a good idea not to tailor your essay according to what you think they want to hear, it’s best to stick to a topic that will make the panel want to get to know you more. You can do this by putting yourself in the admission officer’s shoes and trying to feel what your reaction would be with a particular topic you have in mind. Being creative is good, but to any audience, weird is weird, and most audiences will not know how to react to a weird admission essay.
Reason #2: Weird topics may reflect your personality in a bad way.
Weird topics make you look weird, or worse. You may think that a weird topic is the same as a creative topic, something that most experts on admissions officers urge applicants to use. With a weird topic, you can easily make the jump from being creative to just plain strange or worse, someone with an emotional or personality problem. Weird topics, when discussed ineffectively, are bad topics, and can be anything from the death of a pet, recent religious epiphanies, and even parent bashing. These topics are the last topics that can paint you in a good light so avoid these and other similar topics.
Reason #3: Weird topics may not represent the real you.
Weird topics will not paint the real you, unless you are naturally weird. If you really think that being a little bit off will pay off, then by all means do so. But if you want to appear as normal and as emotionally healthy as possible, save the strange stories for Halloween night.
Reason #4: Weird topics may seem too informal.
Weird topics can get too informal. You can be informal but you need to look normal as well in order to avoid appearing irreverent. Some may disagree with this, but often the only way to get on your admission panel’s good side is to tread on the middle ground arefully, and not be too stiff and prudish but not be too loose either.
Reason #5: Weird topics may confuse the readers.
While most schools allow their applicants free reign when it comes to writing an admissions essay, you can do your self a lot of good by treading on the middle ground. Avoid weird or strange topics if you can. A weird topic will put your readers in a place where they may not understand you. And in a process where getting to know you as a person is the main objective, this move will definitely have an effect on whether you get accepted or not. Knowing what to write in a graduate school admission essay is fairly easy, especially if the school provides you with a set of questions, known as prompts as your guide. As long as you already have the other requirements such as the right grade point average, recommendation letters, program of study and the like, you can start working on your essay. But if your still not sure whether it good idea to write essay by yourself. You can find tons of great quality writing services such as https://uk-essays.com/research-pape.... At such a websites you’ll easily find help from from people who already have considerable experience in writing a wide variety of essays. They will gladly help in any issue that makes you difficult.