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 - "there is a difference"
-
Boss: "Could you join the new DevOps team for a week or two, for some coaching?"
Me: "I'd rather watch you masturbate furiously in a corner of the office while you cry over your ex boyfriend"
Boss: "Yeah... that's why I ask you. You are the only one brave enough to watch"
Me: *Sigh* "But I don't know shit about what DevOps does, I'm a DBA. I've told you the difference a million times. Can't we just douse it in gasoline and set it on fire?"
Boss: "What?"
Me: "Not the team, the servers..."
Boss, imitating Gimli: "And my ex!"
Me: "I get why he left you"
Boss: "It's funny, he was actually better with computers than me, maybe even better than you. He hated me for starting this company, told me I was just chasing money instead of ideals. He just isn't grown up enough to see that there is more to the world than computer games, brewing beer, maker festivals and gay bars, that you need to take responsibility... Maybe it just never works out between managers and geeks..."
Me: "Indeed. The difference in competence is too large"
Boss: "Ugh. You are like straight version of him... but will you at least take a look?"
Me: "Fine, unzip your pants..."
Boss: "No, not that... you need to teach DevOps this docking thing, with the parallel stuff, and the horizontal growth"
Me: "Damn I really hope we're talking about servers now... Do you mean Docker?"
Boss: "That's it. They want to learn how to dock on the Windows servers. They reserved two 4xlarge on AWS. Is that enough for docking?"
Me: ...
Me: ...
Me: "You know what. I'm going back to hug my DB designs, and wash my brain with some queries. Then I'll return here to burn everything to the ground. There is no hope for you left"
Boss: "That's what he said"
Me: "You're using that meme wrong"
Boss: "OK. So what if you just stay on DB management, and I'll just give you the budget to recruit a new DevOps lead and pay for training?"
Me: "That would work"
Boss: "Why are you grinning?"
Me: "Because I have your ex's phone number"18 -
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 -
Please people! I'm begging you! please use !Rant correctly
! means NOT
!Rant == NOT Rant
You cannot call yourselves developers if you do not understand this simple syntax!19 -
HR sent around updated contracts asking everyone to sign them since the company changed its name, fair enough.
In the contract it stated "Your normal place of work will be X" - only X was many miles away, and I'd never worked there, never planned too. Assumed it was a mistake, sent it back. HR refused to change it, stating that the "normal place of work does not need to be the place where you normally work."
A lot of back and forth entailed, I refused to sign, I was reprimanded for not doing so, I was asked what my problem was as it made no material difference, and then I eventually replied with:
"Angela, I'm refusing to sign this as it's factually incorrect. No further explanation is required. I'll maybe consider signing this if you sign a piece of paper declaring you believe the moon is made of cheese, and you're the cow the milk came from to make it."
A very strongly worded email came back about how this was going on my record, I needed to offer a formal apology, etc. - all cc'd to my manager. I replied back, again copying my manager in, stating that this was ok, as I couldn't remain at a company who forced employees to sign dodgy contracts anyway.
Problem was (for them), I was a *massive* single point of failure for them at this point owing to some others leaving with no handover - hence I knew I wasn't going to be the casualty here. My manager flipped the lid at HR, got the CEO involved on threat of *him* leaving, and the whole thing massively blew up. Happy ending in that the HR person in question was fired, everyone else's contracts also had to be redone (I assumed everyone else just signed without looking which is worrying), and I actually got a pay rise out of it when higher ups realised the massive single point of failure I was.
But damn, I would've walked over crap like that. Walked pretty soon after anyway!13 -
Things have been a little too quiet on my side here, so its time for an exciting new series:
practiseSafeHex's new life as a manager.
Episode 1: Dealing with the new backend team
It's great to be back folks. Since our last series where we delved into the mind numbing idiocy of former colleagues, a lot has changed. I've moved to a new company and taken a step up as a Dev manager / Tech lead. Now I know what you are all thinking, sounds more dull and boring right? Well it wouldn't be a practiseSafeHex series if we weren't ...
<audience-shouting>
DEALING! ... WITH! ... IDIOTS!
</audience-shouting>
Bingo! so lets jump right in and kick us off with a good one.
So for the past few months i've been on an on-boarding / fact finding / figuring out this shit-storm, mission to understand more about what it is i'm suppose to do and how to do it. Last week, as part of this, I had the esteemed pleasure of meeting face to face with the remote backend team i've been working with. Lets rattle off a few facts to catch us all up:
- 8 hour time difference to me
- No documentation other than a non-maintained swagger doc
- Swagger is reporting errors and several of the input models are just `Type: String`
- The one model that seems accurate, has every property listed as optional, including what must be the primary key
- Properties go missing and get removed at the drop of a hat and we are never told.
- First email I sent them took 27 days to reply, my response to that hasn't been answered so far 31 days later (new record! way to go team, I knew we could do it!!!)
- I deal directly with 2 of them, the manager and the tech lead. Based on how things have gone so far, i've nick named them:
1) Ass
2) Hole
So lets look at some example of their work:
- I was trying to test the new backend, I saw no data in QA. They said it wouldn't show up until mid day their time, which is middle of the night for us. I said we need data in our timezone and I was told: a) "You don't understand how big this system is" (which is their new catch phrase) b) "Your timezone is not my concern"
- The whole org started testing 2 days later. The next day a member from each team was on a call and I was asked to give an update of how the testing was going on the mobile side. I said I was completely blocked because I can't get test data. Backend were asked to respond. They acknowledged they were aware, but that mobile don't understand how big the system is, and that the mobile team need to come up with ideas for the backend team, as to how mobile can test it. I said we can't do anything without test data, they said ... can you guess what? ... correct "you don't understand how big the system is"
- We eventually got something going and I noticed that only 1 of the 5 API changes due on their side was done. Opened tickets. 2 days later asked them for progress and was told that "new findings" always go to the bottom of the backlog, and they are busy with other things. I said these were suppose to be done days ago. They said you can't give us 2 days notice and expect everything done. I said the original ticket was opened a month a go *sends link* ......... *long silence* ...... "ok, but you don't understand how big the system is, this is a lot of work"
- We were on a call. Product was asking the backend manager (aka "Ass") a question about a slight upgrade to the new feature. While trying to talk, the tech lead (aka "Hole") kept cutting everyone off by saying loudly "but thats not in scope". The question was "is this possible in the future" and "how long would it take", coming from management and product development. Hole just kept saying "its not in scope", until he was told to be quiet by several people.
- An API was sending down JSON with a string containing a message for the user with 2 bits of data inside it. We asked for one of those pieces to also come down as a property as the string can change and we needed it client side. We got that. A few days later we found an edge case and asked for the second piece of data to be a property too. Now keep in mind, they clearly already have access to them in order to make the string. We were told "If you keep requesting changes like this, you are going to delay the release of the backend by up to 2 weeks"
Yes folks, there you have it, the most minuscule JSON modifications, can delay your release by up to 2 weeks ........ maybe I should just tell product, that they don't understand how big the app is, and claim we can't build it on our side? Seems to work for them
Thats all the time we have for today,
Tune in for more, where we'll be looking into such topics as:
- If god himself was an iOS developer ... not
- Why automate when you can spend all day doing it by hand
- Its more time-efficient to just give everything a story point of 5
- Why waste time replying to emails ... when you can do nothing instead
See you all next week,
practiseSafeHex13 -
Had this recently with a client, mysql server of one of our shared hosting servers went down:
Senior engineer 1: heads up guys, mysql of {server name} is down, working on it! *calls second engineer in*
Support people: thanks for letting know! (in case clients call about it)
*triiiingggg*
Me: good afternoon, how can I help you?
Client: this site which we manage for a shared customer says it can't connect to the database...
M: is it hosted on {server name of mysql problems}
C: yes.
M: there's a mysql disruption there right now, we're working on it!
C: *starts guilt tripping me about thy they chose us for stability reasons and now this happens*
M: sir, I can't change this situation so you can go on and on about that but it's not going to help anyone.
C: okay, so what can I tell my client?
M: you can tell that we have a mysql server disruption right now and are working to fix it as soon as possible!
C: and what am I going to tell my client if they don't accept that answer?
M: you can tell that we are fixing this disruption as soon as possible.
C: yes you said that but what if they don't accept that answer, what am I going to tell them THEN?!
M: Listen, sir. We have a disruption right now. It's not fun but whether I tell this by writing it to you in a fairy tail or shout it at you, it's not going to make a difference.
We have a disruption and we are working on i....
*click*
Well, fuck you too.7 -
I tried DuckDuckGo like two years ago and my opinion was “meh, I don’t like the results”.
Yesterday @Root made it clear that the sole amount of data collected changes the whole perspective of tracking.
I went to shower thinking about that and as I was standing there enjoying warm water...
It hit me.
I liked google results and disliked DDG not because DDG was worse.
I liked google results because they were CRAFTED for ME to LIKE them. They exploited my confirmation bias, the strongest of all biases.
I took my other phone which is android, has a different sim that isn’t tied to my identity (don’t ask, this is Russia), was never connected to my WiFi and of course has no google account tied to it.
I tried googling stuff.
The results was just like what DDG gets you, the only difference was google amp were on top.
The fuck. One of the wokest moments ever.106 -
How do I un-idiot my users when it comes to clicking on dodgy email-links??
Got a forwarded email just there from a user who said;
Good afternoon,
Is the below ok to open?
I just tried but got a popup saying I've been blocked from opening it.
I'm not sure who it is coming from and I am not waiting on anything but as it says its from dropbox and is important, i know it's okay.
Can you unblock the link ASAP please?
This is really impeding my work-day as I need to know what it is and act accordingly.
Regards... user.
The Original email came from a random jumble of letters with a subject line of 'important dropbox program' - not only does it look dodgy but its english is horrible! It said;
"Hi tu my freind,
You tu still read a pending verrry important document sent by one of your own contact to be vieweddd.
Install "Highly Confidential english.pdf" by clickinggg here
*insert link leading to something called 'viral-update-trojan.exe'*"
I mean, seriously... help!!! 😢
We have sent emails explaining how to hover over links and to not to click them if it looks wrong.
No one does it.
We hired a company to send fake phishing emails to train users in what to do.
It made no difference!
We now make people 'verify' their email addresses when opening any sort of link to try get them to actually look at what they're opening.
We also strip emails of original attachments and create 'safe' html copies as we can't trust them to look at what they're opening.
Everyone complains about it but Jesus Christ, this is why!!!
Its so exhausting!! What is wrong with people!!! Argh!!! 😤12 -
Where do I even start?
Personal projects?
So many. Shouldn't count.
Unpaid game dev intern?
Unpaid game dev volunteer?
Both worthwhile, if stressful. Shouldn't count either.
Freelancing where clients refused to pay?
That's happened a few times. One of them paid me in product instead of cash (WonderSoil, a company that [apparently still] makes and sells some expanding super potting soil thing). The product turned out to be defective and killed all of the plants I used it on. I'd have preferred getting stiffed instead. Their "factory" (small, almost tiny) was quite cool. The owner was a bitch. Probably still is.
Companies that have screwed me out of pay?
So many. I still curse their names at least once a month. I've been screwed out of about $13k now, maybe more. I've lost track.
I have two stories in particular that really piss me off.
The first: I was working at a large robotics company, and mostly enjoyed my job, though the drive was awful. The pay wasn't high either, but I still enjoyed the work. Schedule was nice, too: 28 hours (four 7-hour days) per week. Regardless, I got a job offer for double my salary, same schedule, and the drive was 11 minutes instead of 40. I took it. My new boss ended up tricking me into being a contractor -- refused to give me a W2, no contracts, etc. Later, he also increased my hours to 40 with no pay increase. He also took forever to pay (weeks to months), and eventually refused to pay me to my face, in front of my cowokers. Asshole still owes me about $5k. Should owe me the the difference in taxes, too (w2 vs 1099) since he lied about it and forced me into it when it was too late to back out.
I talked to the BBB, the labor board, legal council, the IRS (because he was actively evading taxes), the fire inspector (because he installed doors taht locked if the power went out, installed the exit buttons on the fucking ceiling, and later disconnected all of said exit buttons). Nobody gave a single shit. Asshole completely got away with everything. Including several shady as hell things I can't list here because they're too easy to find.
The second one:
The economy was shit, and I was out of a job. I had been looking for quite awhile, and an ex-coworker (who had worked at google, interestingly) suggested I work for this new startup. It was a "reverse search engine," meaning it aggregated news and articles and whatnot, and used machine learning to figure out what its users are interested in, and provided them with exactly that. It would also help with scheduling, reminders of birthdays, mesh peoples' friends' travel plans and life events, etc. (You and a friend are going on vacation to the same place, and your mutual friend there is having a birthday! You should go to ___ special event that's going on while you're all there! Here's a coupon.) It was pretty cool. The owner was not. He delayed my payments a few times, and screwed me over on pay a few more times, despite promising me many times that he was "not one of those people." He ended up paying me less than fucking minimum wage. Fake, smiling, backstabbing asshole.
The first one still pisses me off more, though, because of all the shit I went through trying to get my missing back pay, and how he conned me every chance he got. And how he yelled at me and told me, to my face, that he wasn't ever going to pay me. Fucking goddamn hell I hate that guy.8 -
THERE IS A FUCKING DIFFERENCE BETWEEN "React.component" and "React.Component"! Took me fucking 2 hours to figure this fucking thing out. Until then I was certain that this was some dependency issue. Oh the rage right now!! 🔫🔪💣💣😡18
-
There is a very big difference between:
"Here is all the code we have working"
And
"Here is all the code we have, working"2 -
Never have I been so furious whilst at work as yesterday, I am still super pissed about going back today but knowing it's only for another few weeks makes it baerable.
I have been the lead developer on a project for the last 3~ months and our CTO is the product owner. So every now and then he decides to just work on a feature he is interested in- fair enough I guess. But everything I have to go and clean up his horrendous code. Everything he writes is an absolute joke, it's like he is constantly in Hackathon mode "let's just copy and paste some code here, hardcoded shit there and forgot about separation of code- it all goes in 1 file".
So yesterday he added a application to the project and instead of reusing a shared data access layer he added an entirely new ORM, which is near identical to the existing ORM in use, for this one application.
Being anal about these things, the first thing I did was delete his shit and simply reference the shared library then refactor a little code to make it compatible.
WELL!! I certainly hit a nerve, he went crazy spamming messages on Slack demanding I revert as it broke ONE SINGLE QUERY that he hadn't checked in (he does 1 huge commit for 10 of everyone else's). I stuck to my principals and explained both ORM's are similar and that we only needed one, the second would cause a fragmented codebase for no benefit whatsoever.
The lead Dev was then forced to come and convince me to revert, again I refused and called out the shit quality of their code. The battle raged on via the public slack group and I could hear colleagues enjoying the heated debate, new users even started joining the group just to get in on mine and the cto's difference of opinion.
I even offered to fix his code for him if he were to commit it, obviously that was not taken well ;).
Once I finally got a luck at the cluster fuck of shit he had written it took me around 5 minutes to fix and I ever improved performance. Regardless he was having none of it. Still the demands to revert continued.
I left the office steaming after long discussions with the lead Dev caught in the middle.
Fortunately my day was salvages with a positive technical discussion that evening at a company with whome I had a job offer from.
I really hate burning bridges and have never left a company under bad terms but this dictator is making me look forward to breaking the news today I will be gone in 4 weeks.4 -
Hey guys, first rant,
At the moment I'm developing a very big and complex app. We are almost done and decided to deliver a test version to our customer. After he received our test he called us and said there is a problem with a function, he just said it's not working and wasn't very specific.
So I decided to check his problem, because an colleague couldn't figure it out.
I started the app via android studio and had a similar problem, there was a huge delay at the automatic recording function of Bluetooth messages, I thought yeah this is his problem.
I showed it my colleague and he said that he doesn't have this problem, we have different Bluetooth simulators so we thought that there must be a problem with the Bluetooth communication or the simulators are broken.
I checked if there is some kind of timing or buffer problem and logged the shit out of the simulator and found nothing, 3 hours were lost🏁.
My colleague checked his last changes because he had changed a lot at the App Api do to new conditions and those customer wishes💀 he couldn't found anything. So we thought maybe it's my device and the device of the customer. We switched the devices and tada no problem with my devices if the app is builded at the pc of my colleague.
I thought ok maybe it's because I turned some ndk features off. Turned it back on, nothing happened. So we exchanged our Android Studio Settings but no difference. So I said yeah whatever my mashine is just fucked. I restarted my mashine for the third time and started android fucking studio. Some little popup showed up "new updates"... the solution came to my mind ... Do to an update of android studio I excidently turned on Instant Run.....🌋 . I checked it, it was activated, these fucking instant run, great idea but not working... Turned it off, everything worked.
I called the customer because he can't have a problem and he said, this time not angry, oh yeah it was just a notification if I want to turn on my Bluetooth and I decided no and the Bluetooth recording is not recording, this is a problem... -😠NO FUCKING COMMENT😤-5 -
The amount of people who don't know the difference between kilobyte and kibibyte is too damn high. So much confusion.
TL;DR : Most people use Kilobyte ( KB ) and Kibibyte ( KiB ) wrong and i am angry about it.
When i first got involved with software as a teenager, i always wondered why we convert kilo to mega with multiplying by 1024, when we do it with multiplying by 1000 basically everywhere else. Our physics teacher called this SI unit system and told us that this is an internationally accepted statement. So why is there a different rule ? Did i miss out something ? Regrettably I didn't ask her about this.
I just didn't get fully as a teenager. Now, as I am a developer now, i understand that dealing with power or ten is troublesome. Due to ease of work, we lazily mess with SI system and use it wrongly. Isn't it the time we end this abomination ?
2 years ago i talked to a friend about this, he said that i shouldn't bother.
I talked to a teacher, he said "you are right but using different brand of unit system can be overkill, since there is not much difference anyways." I said okay and left.
1 mega = 1000 kilo
1 giga = 1000 mega etc
also,
MB = Megabyte ( 1000 Kilobyte )
KB = Kilobyte ( 1000 Byte )
MiB = Mebibyte ( 1024 Kibibyte )
KiB = Kibibyte ( 1024 Byte )
I am writing this because today i saw someone do it wrong on the internet, all of these came into mind. I wonder your approach about this, for research purposes.
Call me dick all you want, but i am the guy who always corrects uncertainty, no matter what. Things should be in place, correctly. No i don't have OCD. If you say something like "I have 1 MB of executable file, which means i have 1024 KB of it", i will find you, and i will correct you.37 -
About two years ago I get roped into a something when someone was requesting an $8000 laptop to run an "program" that they wrote in Excel to pull data from our mainframe.
In reality they are using our normal application that interacts with the mainframe and screen scrapping it to populate several Excel spreadsheets.
So this guy kept saying that he needed the expensive laptop because he needed the extra RAM and processing power for his application. At the time we only supported 32 bit Windows 7 so even though I told him ten times that the OS wouldn't recognize more than 3.5 GB of RAM he kept saying that increasing the RAM would fix his problem. I also explained that even if we installed the 64 bit OS we didn't have approval for the 64 bit applications.
So we looked at the code and we found that rather than reusing the same workbook he was opening a new instance of a workbook during each iteration of his loop and then not closing or disposing of them. So he was running out of memory due to never disposing of anything.
Even better than all of that, he wanted a faster processor to speed up the processing, but he had about 5 seconds of thread sleeps in each loop so that the place he was screen scrapping from would have time to load. So it wouldn't matter how fast the processor was, in the end there were sleeps and waits in there hard coded to slow down the app. And the guy didn't understand that a faster processor wouldn't have made a difference.
The worst thing is a "dev" that thinks they know what they are doing but they don't have a clue.7 -
"Hey, about that matter from yesterday..."
"Yes, what about that?"
"We need to talk about that again! How often do you trigger that system?"
"Once."
"You sure?"
"Yes, but i can check it, if you like."
*find references*
"See, only once."
"Can it happen at a random point later one?"
"No."
"Are you sure?"
"Yes"
"Can you check it?"
"Okay."
*shows code"
"Look here, as you can see, it will not happen at other times."
"Do you have an idea why it could happen anyway?"
"Maybe that system does the action without my software telling it to do so, wasn't that specified that way?"
"Yes, but it normally does that roughly 10 seconds after you give the command the first time, so we thought maybe you could say what makes it do the action at other points maybe."
"Did you check that systems sourcecode?"
"No not yet. But did that happen with the older version?"
"No. But we didn't try."
"Did you change something between the versions?"
"Yes, the new feature."
"Could that make a change in behaviour?"
"I don't see how."
"Can you remove that feature for test?"
"We can take the old version."
"No, we need the new version, but without the feature you added."
"That IS the old version, there is no other difference!"
"Are you sure?"
"Would you like to see it in source control?"
"No, ~ okay. What do you think causes the problem?"
"I haven't had any new ideas since we talked yesterday."
"Okay. Mhhh,...okay. Lets talk again later."
YES SURE! BRING IT ON! I'M LOOKING FORWARD TO THAT! PLEASE COME BY OR CALL ME AGAIN! AND BRING THE BOSS WITH YOU, TO SHOW HOW SERIOUS THE MATTER IS! LET ME TELL HIM THE STUFF I TOLD SEVEN TIMES LAST WEEK!2 -
I was thinking today about a certain aspect of running a software startup and then it came to me...
Hank Scorpio, from the Simpsons, was right in his approach.
So many time I have seen people get hired only for the company to get a less-than-optimal performance from them.
But why is this? Of course, it is many factors but one of the major ones is...
Employers seem to lump employees in together and assume that since most developers operate in one way that the new devs should be the same way.
The problem with this seems to be that we are all pandering to the lowest common denominator.
Let's face it, most devs (like most people) are not good, and almost everyone is not living up to their potential because of a lack of understanding of themselves and how they can achieve more.
On top of that, most devs are just employees who will do what you tell them to.
Since those above developers are the norm (Reference Seinfeld "95% of people are undatable") we have to assume that there is a 5% who are exceptional.
The difference between the 5% and the 95% is NOT some built-in superiority but that the 5% has a good idea themselves and an understanding of how to get the most out of them. They set goals and then find the right path to achieve them. They don't coast.
By assuming these developers are the same as the others is REALLY hampering their potential and by doing this the company only hurts itself.
So, that's a lot of talking but what actionable things can be taken away from this?
Hank asks Homer "What is your dream?"
Well, employeers should take the time to identify which of these developers are in the 5%. A problem arises though when the 5% decide it is in their best interest to blend in.
Like when home says his dream is to "Work for you?" Hank shuts him down and wants to get to the truth. He makes Homer comfortable with not only vocalizing but achieving his dreams.
When an employer is looking for their types they should be looking for the following...
1. A real genuine desire to achieve
2. A real plan to get their goals done
3. Critical thinking and self-evaluation
But more importantly, when they identify these types they should be asking questions like...
- How can we help you be more productive?
- Is there anything about our current operating norm that is hindering you?
- How does your productivity workflow look?
3 difficulties arise though…
1. Most hiring managers are incompetent, and quite frankly, everyone thinks they are in the 5% and for those managers who delude themselves into this without putting in the work, they will have an impossible time actually identifying those who are actually good and productive employees.
2. Showing special treatment to these folks may upset the people below.
3. You will hear things you don’t like…
Examples include…
- That new fancy open-office that you got because it was the trendy thing to do, you might hear that this is a huge hinderance.
- These days people seem to treat devs like nomads, “just give him a laptop and a table and he is fine”!. You may hear that this is complete BS. Real achievers may want a dedicated desk with multiple monitors, a desk with drawers etc.
- This WILL cost you money. I know of developers who cannot work without a dedicated whiteboard. Buy them whatever they need.
- They may want BOTH a standing desk and a chair to sit on.
- Etc.
The point is that it seems to me to be a foolish strategy to tailor your entire company to force everyone into the same work habits. Really good employees have the self-awareness to develop their own productive practices and any keeping of them inside a box will NOT help.27 -
About a year ago, I did an e-commerce for a client who wanted to sell electronic goods. It was a custom design, so the team prepared a mock-up and we showed it to the client who absolutely loved it. The specs were that he was going to sell only a few products (like 50 or so) so the website had to showcase the categories and didn't need to put a lot of products on page. Also the design had to be unique as he wanted to be different from his competitors.
A few weeks later, during the dev phase the client checks again the design and starts doubting about it. We redesign it adjusting to his oppinion. A week later he schedules a meeting where he starts complaining that the deadline is late and that the design doesn't accomplish his specs. At that meeting he tells us that he wants to sell thousands of articles since he's doing dropshipping.
We start from scratch and make a third design, which he approves after quite a lot of changes. He also asks for a dropshipping plugin which we install in its free version, when he complains about having to update manually, we answer politely that he has to purchase the paid version.
Fast forward, we deploy the website and the design has a few issues related to responsive development. We fix it quickly and the site starts working.
He also has a physical shop, however, since he's competing with big corporates like Amazon or eBay and he can't offer any difference, neither his phisical address or his on-line shop manages to be profitable.
He decides to close the business but before, he calls my PM saying that the website has "never worked" (There were a couple of people who bought with 0 issues and we tested the site countless times). And that we shouldn't have recommended a custom design because the website never worked. He also implied that we should compensate him because of that.
I've never seen my PM to tell someone to "fuck off" as fast as he did.6 -
I had to open the desktop app to write this because I could never write a rant this long on the app.
This will be a well-informed rebuttal to the "arrays start at 1 in Lua" complaint. If you have ever said or thought that, I guarantee you will learn a lot from this rant and probably enjoy it quite a bit as well.
Just a tiny bit of background information on me: I have a very intimate understanding of Lua and its c API. I have used this language for years and love it dearly.
[START RANT]
"arrays start at 1 in Lua" is factually incorrect because Lua does not have arrays. From their documentation, section 11.1 ("Arrays"), "We implement arrays in Lua simply by indexing tables with integers."
From chapter 2 of the Lua docs, we know there are only 8 types of data in Lua: nil, boolean, number, string, userdata, function, thread, and table
The only unfamiliar thing here might be userdata. "A userdatum offers a raw memory area with no predefined operations in Lua" (section 26.1). Essentially, it's for the API to interact with Lua scripts. The point is, this isn't a fancy term for array.
The misinformation comes from the table type. Let's first explore, at a low level, what an array is. An array, in programming, is a collection of data items all in a line in memory (The OS may not actually put them in a line, but they act as if they are). In most syntaxes, you access an array element similar to:
array[index]
Let's look at c, so we have some solid reference. "array" would be the name of the array, but what it really does is keep track of the starting location in memory of the array. Memory in computers acts like a number. In a very basic sense, the first sector of your RAM is memory location (referred to as an address) 0. "array" would be, for example, address 543745. This is where your data starts. Arrays can only be made up of one type, this is so that each element in that array is EXACTLY the same size. So, this is how indexing an array works. If you know where your array starts, and you know how large each element is, you can find the 6th element by starting at the start of they array and adding 6 times the size of the data in that array.
Tables are incredibly different. The elements of a table are NOT in a line in memory; they're all over the place depending on when you created them (and a lot of other things). Therefore, an array-style index is useless, because you cannot apply the above formula. In the case of a table, you need to perform a lookup: search through all of the elements in the table to find the right one. In Lua, you can do:
a = {1, 5, 9};
a["hello_world"] = "whatever";
a is a table with the length of 4 (the 4th element is "hello_world" with value "whatever"), but a[4] is nil because even though there are 4 items in the table, it looks for something "named" 4, not the 4th element of the table.
This is the difference between indexing and lookups. But you may say,
"Algo! If I do this:
a = {"first", "second", "third"};
print(a[1]);
...then "first" appears in my console!"
Yes, that's correct, in terms of computer science. Lua, because it is a nice language, makes keys in tables optional by automatically giving them an integer value key. This starts at 1. Why? Lets look at that formula for arrays again:
Given array "arr", size of data type "sz", and index "i", find the desired element ("el"):
el = arr + (sz * i)
This NEEDS to start at 0 and not 1 because otherwise, "sz" would always be added to the start address of the array and the first element would ALWAYS be skipped. But in tables, this is not the case, because tables do not have a defined data type size, and this formula is never used. This is why actual arrays are incredibly performant no matter the size, and the larger a table gets, the slower it is.
That felt good to get off my chest. Yes, Lua could start the auto-key at 0, but that might confuse people into thinking tables are arrays... well, I guess there's no avoiding that either way.13 -
tl;dr; I've worked 117.5h/week for a month because of a project lead that doesn't understand what I do despite countless attempts at explaining
So, once a year I do this large project for a voluntary organization, it takes me about 80h (and this is of course on top of my normal work and voluntary engagement (60-80h/week))
This year, I realized I don't have as much spare time as I used to, so I emailed the project lead several months in advance like "hey, you know that I do all my work on this before the rest of you start working on it, and you know I need you to sit down for about an hour and put together the list of things I need to know to get this done properly. Could you please do that a bit earlier than usual, a week or two extra would make a big difference", they replied "absolutely, no problem!"
Time went by, and about two weeks before I wanted that info I emailed a small reminder. Shit me not, a month later, after a countless amount of reminders I finally get a half finnished version of the list I need, note that this is two weeks before I'm supposed to be done. Which is fine, it's the usual timespan, not what I hoped for as I hoped for an extra two weeks, but not too late either.
Then shit starts to happen
I reply to the list I've gotten with some requests for the project lead to complete some of the information, to which I receive multiple replies with different answers to the same questions, okay, that's fine, I'll just use the last answer.(?)
So, I finnish the thing on time, clocking out on a total of 117.5h of work per week, two weeks in a row. Still fine, it's just two weeks.
Release day!
I arrive at the release meeting, and is greeted by the project lead handing me two papers with the words "we haven't been able to look through your work yet to make sure it's like we want it, but we sat down yesterday and here's a list of how we want things to be". So I remind them that the thing is supposed to be done that day, and that it takes me 80h to redo, and those papers will require me to redo everything from scratch. To which the project lead responds "but it doesn't have to be finnished until December, right?"
That is not true, not at all, in any way.
See, there are 600 people that depend on this project, and they need, yes, need to be able to access it from the day it's launched every year. That is an absolute requirement.
So after trying to tell this project lead, for multiple years, how much time I devote to this project (for free) every year, during a short period of time, and after trying countless times to explain why it has to be done when the project is released, I became quite irritated.
So, during the two weeks that have passed since, I've been receiving about 200 emails from people wondering why the thing isn't finished yet and why they can't use it. (forwarded every single one of them to the project lead) and have been redoing it all during the past two weeks, from scratch.
I'm finally done, I released it yesterday, finally! I accompanied it with a bitter email to the project lead.
Because seriously, this is the worst respect for both my time and the people that should use the project's time in all of those years I've been doing this. This year, I've been ignored multiple times; they've shat on my work because it didn't live up to their expectations, even tough they never told me their expectations; I've been misinformed etc.
And now it's starting to get to me, this is the first weekend in a month when I've been able to shut down my laptop, sit down, drink a cup of tea, read a fricking book, chat with some friends etc, and most importantly, sleep. Signs of the stress I've had for a month now is starting to remind themselves.
And there's this little though nagging me in the back of my head: if the project lead would've worked for an hour in September I would've had to do half the job I ended up doing, on double the time. I hate realizing that they don't give a shit about my part of this, even tough I do half the work.
Then why do I continue, year after year? Because I feel that those 600 people that benefit from this really deserve it! But why does there have to be a dick project lead in the middle that makes me feel sick working on the thing I love the most!
So, as I'm not really used to ranting like this, i have to add that I really have no point with this rant. Just had to get it off my chest!13 -
I really fucking loathe StackExchange. Some poor soul had the nerve (THE NERVE!) to ask a question about something they didn't understand (HOW DARE THEY!):
"What is the difference between a ping and a get request? The goal is to see if the site is up."
And par for the course over at smarmy-fucking-smug-pedant-land, in less than three hours, the question was closed: "[C]losed as not a real question... It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form.
Allow me to indulge in some pedantic, "well actually" fuckery of my own...
Well actually, that actually is a 'real' question, because it's, you know, a fucking question. There's a question mark in there and everything! The person is asking what the difference is between two different things, and we can tell it's actually two different things because the person uses two different fucking nouns. And not only is this person asking to know what the difference is between these two different things, they even give us a use-case for why they're asking the question: they're pretty sure that they think they might know there's at least two different ways to check that their website is up, they just want to know what the difference is between those two methods -- hence the two different fucking nouns. It's almost like they're trying to give us some contextual information about why they're asking so that even if there is some vagueness to their question -- which is bound to happen IF YOU KNOW YOU DON'T KNOW EVERYTHING ABOUT THE SUBJECT, WHICH IS PROBABLY WHY YOU'RE FUCKING ASKING -- then a reasonable, decent, helpful person who is making a good-faith effort to be helpful can infer from that context enough information that clarifies the question enough to remove any vagueness or ambiguity and thus provide a helpful answer. AND THAT'S WHAT FUCKING HAPPENED!
And what just fucking galls me to no end... the question was answered (SUCCINTLY, INFORMATIVELY, SIMPLY, AND CORRECTLY!) and even marked as accepted in less than fifteen minutes after being asked.
And that didn't stop some smug fuck from being an asshole and closing the question because "fucking scrub noobfags need to git gud."
https://serverfault.com/questions/...
If MySpace was a place for friends,
then StackExchange is the place for insufferably elitist smug cunts.4 -
Recruiter: are you interested in a client side java role?
Me: yes, here is my client side resume please submit me
Recruiter: sorry the hiring manager said they are looking for more of a back-end engineer
Me: you told me it was a client side role, please resubmit me with my back-end geared resume
Recruiter: yes that's correct, it's client side, we'll keep you in mind for the future but you should know there is a difference between mobile devs and web devs
Me: what you just said is not relevant to this conversation. I would be happy to discuss the diff between front-end and back-end, client vs server, etc.
Recruiter: I'm just relaying what the hiring manager is saying to me
Me: your [lack of] ability to relay technical information is quite apparent :/
*lesson learned*: interview recruiters before they start interviewing me
Unbelievable waste of time, how do these people even make a living? FML!16 -
Yes, senior developers get stuck just as much as junior developers do, the difference is that they get stuck in places that junior developers can’t even access. That is partially because senior developers are expected to do so much more than just simple coding, they need to also grasp and untangle client requirements, communicate clearly and thoughtfully with the team, be some sort of guiding/mentoring/leading figure, make sweeping architectural decisions, and so on and so forth.
A junior developer is struggling with making relevant columns of a table a nice shade of purple. A senior developer is struggling with making sure that implementing new client requirements will not have a destructive impact on the current infrastructure, there will be no regressions elsewhere in the system, tries to pinpoint what prior assumptions the new stuff breaks (it inevitably does), and how to reconcile everything.4 -
What's the difference between a wasp and single loose hair?
Apparently none till the wasp stings :/
Yesterday I thought I had a loose hair on my neck.. ok, I shrug it off.. later again the creepy feeling.. shrugs off..
I continue to work, sumberged in code, wanting to find the fucker (bug, not the wasp/hair).. lean in to the monitor... 10 cents away from the screen... Ok, maybe that's it! Feels the hair on my back, near shoulderblades again... shrugging again more violently to get it further down to fall out.. nothing.. ok, got the bug, threw myslef back in the chair with substential force & BAAAAM!!! Motherfucking hair bit me!! O.o
I scream in horror & on top of the lungs (it was late, after work hours so I didn't expect anyone else still at the office) PROKLETA PRASICA (roughly translated to goddamn female swine).. I previously saw some green bug flying around the office and I thought that nasty thing bit me (didn't know they bite soo, much more horror for me).. O.o
Anyhow, I jump up from the computer and see my coworker looking at me all baffled.. I proceed to franticly take of my headphones and hoodie..thinking about wtf should I do now, I cannot get undressed in front of him (not for my sake, bra is the same as top of the bathing suit for me, but still..I don't want anyone suing me for impropper behaviour of undreasing in front of coworkers..), how the fuck should I get to the toilet?! O.o
C: Are you ok?!
M: Um.. sth bit me..wtf?!
C: There was a wasp flying around somewhere some time ago.. are you alergic?!
M: um..not sure, I don't think so..we'll see soon..
I proceed to the WC, to take off tshirt & check/kill off the fucker.. on my way there (walking funny to not press the hair to my body again) I got another surprise, another coworker was working late..
C2: Are you ok?! O.o
M: yeah, sth bit me, probably a wasp..
Ok, finally on the loo..ok, do not lock self in in case it escapes and you need help.. don't even shut the door. Check.. standing between the doors I contemplate on how the fuck should I take my tshirt off without angering the fucker even more and getting bitten again.. O.O
I lifted the tshirt up my back to let it out.. nope, not there..the creepy felling of buzzing around between my shoulder blades continues.. crap.. what to do?!
I stood there & contemplated the task.. ok, roll up the tshirt to the shoulder blades, not against the body (duh) to prevent further stings..tighten the fabric, so it cannot escape, quickly remove the band from the body.. done..reversed the tshirt and straightened it.. bzzz... Fucker fell somewhere.. Dafaq?! Was it really just a wasp?! If yes, no problem...but what if coworker was wrong and I got bitten by that nasty green whateveritsname bug?! Eeeeewwww! Is it poisonous? Gotta find it & kill it for good.. waited a bit, than saw a goddamn wasp crawl from under the toilet.. wasp!! Yess!! Stopm stomp fucker!!
I get dressed & go back to my desk..
C: Did you terminate it?!
M: Yup, fucker went on a toilet paper trip down the drain!!
I sit down, starting to get my headphones back on and proceed to work.., but before I could, one last gem:
C: CTO would say, thank god it didn't sting you in your finger cuz you wouldn't be able to type anymore..
M: O.O so true hahhahahaaa
Disclaimer - I like animals, but I freakking hate wasps..especially if they get under my tshirt to sting.. :/7 -
Been reviewing ALOT of client code and supplier’s lately. I just want to sit in the corner and cry.
Somewhere along the line the education system has failed a generation of software engineers.
I am an embedded c programmer, so I’m pretty low level but I have worked up and down and across the abstractions in the industry. The high level guys I think don’t make these same mistakes due to the stuff they learn in CS courses regarding OOD.. in reference how to properly architect software in a modular way.
I think it may be that too often the embedded software is written by EEs and not CEs, and due to their curriculum they lack good software architecture design.
Too often I will see huge functions with large blocks of copy pasted code with only difference being a variable name. All stuff that can be turned into tables and iterated thru so the function can be less than 20 lines long in the end which is like a 200% improvement when the function started out as 2000 lines because they decided to hard code everything and not let the code and processor do what it’s good at.
Arguments of performance are moot at this point, I’m well aware of constraints and this is not one of them that is affected.
The problem I have is the trying to take their code in and understand what’s its trying todo, and todo that you must scan up and down HUGE sections of the code, even 10k+ of line in one file because their design was not to even use multiple files!
Does their code function yes .. does it work? Yes.. the problem is readability, maintainability. Completely non existent.
I see it soo often I almost begin to second guess my self and think .. am I the crazy one here? No. And it’s not their fault, it’s the education system. They weren’t taught it so they think this is just what programmers do.. hugely mundane copy paste of words and change a little things here and there and done. NO actual software engineers architecture systems and write code in a way so they do it in the most laziest, way possible. Not how these folks do it.. it’s like all they know are if statements and switch statements and everything else is unneeded.. fuck structures and shit just hard code it all... explicitly write everything let’s not be smart about anything.
I know I’ve said it before but with covid and winning so much more buisness did to competition going under I never got around to doing my YouTube channel and web series of how I believe software should be taught across the board.. it’s more than just syntax it’s a way of thinking.. a specific way of architecting any software embedded or high level.
Anyway rant off had to get that off my chest, literally want to sit in the corner and cry this weekend at the horrible code I’m reviewing and it just constantly keeps happening. Over and over and over. The more people I bring on or acquire projects it’s like fuck me wtf is this shit!!! Take some pride in the code you write!16 -
So one year ago I was working at this company from the US, me being in Europe, which automatically implies there is several hours of timezone difference.
The eng. manager decided we would have a release tomorrow (decision was made one month earlier), and stuff was being prepped up to make that happen.
In the US the workday was about lunch time and in EU it was one hour before finishing. The manager gets us in a meeting and asks me and another dude to do some testing that would take several hours to do. This testing could have been done several days or weeks earlier.
40 minutes after that meeting I get a private message from the PM asking for the status of the test...
Me: aaa.. well I started it and will continue tomorrow
Manager: wait what? we have launch tomorrow, this testing has to be done by tomorrow
Me: it's the end of the workday here, I got personal errands that I have to attend to
Manager: uhm ok ... I see...
I was just messaging something in the public chat right before calling it a day and the manager writes "thanks for the input, your day is over now", completely out of context to the conversation I was having with whomever.
There was no question of "can you stay extra hours and do this?", there was no "hey, I know your day is over we will pay you premium hours with this amount as according to our contract, could you do this now as we have release tomorrow?" ..no ..just .. "do it!". I automatically assumed that ..hey, maybe he wants to do this during and after the live launch (and yes I do admit my mistake of not asking just to be clear, but I assumed the manager knows that there is a timezone difference ..like it's a no brainer).
I can not tell you the heat sensation I had after that last reply from the manager ... it was completely uncalled for, and unreasonable.
I mean why not make a pre-launch phase where you put stuff on the staging server, and perform all the necessary tests and then when you get all the green lights from testing you then proceed with the actual deploy? ...no ... mention this like right at the end of the day before the launch....
And another thing that scratched my neuronal cortex is, how does he know exactly how long the tests would take?12 -
Sometimes I have really loose the will to live and find myself face palming multiple times.
I added live chat software a web frontend for a client. Very easy job that consisted of pasting in some embed code. The actual software is very good and has native ios/andriod apps - something specifically requested.
I got a call from my client about an hour ago, saying there is a "serious issue with the live chat".
My client stated the live chat won't work when his staff go home. He asked me what my solution to this was.
Saying "wtf" many times to myself I directed him to a settings within the chat software i.e. an "away mode" where an email is sent when no chat agents are available.
This apparently wasn't good enough and said I hadn't followed his brief of "adding life chat software to the website", which I had.
After a lengthy discussion I found the root of his frustration. He'd signed a contract with a client of his own, stating there would be 24/7 support via live chat on the website.
Obviously there a huge difference between adding a chat widget to a website and committing to having it manned 24/7 :)
After a further 10 minutes of trying push the blame on myself, the client insisted of having the chat software "appear" as someone was always online, even when they are not (people need to sleep ya know!).
Bu design, the chat software requires at least one agent be logged in before the chat status changes to "online" - why wouldn't it.
After a little while I was seriously wondering why I'm involved in this conversation. I jokingly stated: "Well you could always install Andriod/iOS app on your phone, login and permanently leave it running in background. You'd get lots of notifications, but the site would say the live is always online".
The latter was something I said in jest. To my surprise the client said he'd do that on his own phone going forwards. He actually thanked me for my "resourcefulness", lol.
I'm looking at the same dashboard now and there are 407 pending chat requests - his phone must literally be blowing up notifications :)5 -
Last week, my entire team was out including my manager.
I had to define the roadmap for Q4 and present it to everyone along with my skip level manager (Sr Director).
Now with 12 hour time difference, the call was scheduled at 04:30 AM India time.
Now since I am new, this was my first time (an opportunity to build trust), one off event, and some new learning experience, I decided to give it a shot because I am professional enough to fill in during critical times.
Everything went well.
I come back from vaccine break and this happened: https://devrant.com/rants/4595608/...
Now here is the interesting part. I had my 1:1 with my manager yesterday and she asked me the details of how things went the previous week yada yada..
Then she proceeds to tell me that Sr Director and herself are super impressed with me and by my work.
She was like, "we are thankful that we have you because after the lead left, you managed everything so well"
Then proceeds to asks me, "You had a conversation with lead that you'd be open to relocation. She mentioned me before she quit. Do you think that if you are with the team in US, you'd be able to perform better?"
I agree and tell her that in person socialising is a key tool that helps me a lot in my job.
Manager: "Cool. If you ever want to move to US or anywhere, just let me or Sr Director know and we'd be happy to do so. It's very easy and can be done quickly."
Me: "Do you mean visiting different offices or relocating full time?"
Manager: "Both."
For someone like me, coming from a third world nation who has seen nothing but hardship, this was one of the most rewarding career experience I have had. The decision lies with me. And she asked me that as soon COVID is over, I'll have to frequently visit different offices around the world.
This is my third international offer in 1.5 years that too in times of COVID. All by themselves and I wasn't even looking for them.
Holy fuck! Now I feel more confident and valued for my work.
Hard work is indeed paying off23 -
Project Cortana: Day 56
*What I liked*
Here is the rant where I described the project: https://devrant.io/rants/962190
Time for a review. The biggest advantage I have found was the productivity. Let me explain:
1. Cortana: It's useful as fuck if anyone is willing to use it all the time. It really helps to get reminders and notifications everywhere (PC, Laptop and Mobile).
2. Microsoft Launcher: An underrated gem due to the hate towards M$. Thanks to it's transparent theme, it looks absolutely gorgeous. The most useful part is the "Feed" where you get all your emails, recently edited documents, recently used apps or contacts all together. I was quite surprised to see the level of customization if offered considering it's M$.
3. M$ Office: I probably don't need to talk much about it, it's the most productive tool you can get. Outlook is fucking brilliant on mobile. Other office apps, while they are great on mobile, are probably more useful in tablets. And the "Focused Inbox" is the best thing happened to outlook.
4. M$ To-Do: Holy fuck, this is sick. I know that there is many alternative with more features. But this app is the perfect example of a todo app. Simple, has the exact right features and has a really smooth, beautiful UI. This really helped me to be productive.
5. OneDrive: Didn't find much difference compared to Google Drive.
6. People: Something that I discovered later and found it really useful. You can pin contacts in the taskbar and see emails, calender items associated with that contact in one click. Found it really useful considering I was chatting with my Supervisor and lectures quite frequently.
7. Windows Mail App: While I really like it, I have mixed feeling about it. I would really love to have HTML signature. Not sure why M$ is not implementing it. But the "Share" in the Context Menu is really useful while sending attachements.
Finally, the "Fluid Design" so far is beautiful. Loving the effects.
I will write what I didn't like in the next rant.14 -
So it happens that yesterday I stayed all night to install some Meraki antennas. "Installed, configured and tested sucessfully!"
This morning i was a approached by a user asking me why his iPhone is not connecting on sight. I explain the antenna thing and he asks me AGAIN, WHY isn't auto connection since its the SAME INTERNET... I try to go through the basics with no success. He shows how disappointed he is with my stupidity.
Then he asks where i got my diploma so he can make sure never to send his sons there, since i cant tell the difference of an internet provider and antennas who just distribute the internet signal. WELL, living and learning.
WTF was i thinking, hes right! OMG my whole life i believed we had to set up routers and all sort of hardware.
All i had to do is call to the Providers Call-centers, im sure they have PROPER ENGINEERS THERE!6 -
You want to land a job as PHP developer? About to go to an interview?
There are two ways:
1. Be able to explain the difference between an interface and an abstract class and their purposes. (I shit you not.)
2. If you aren't able to, then simply state you don't know and are eager to learn.
(The second approach might not work if you claimed to know object oriented programming "very well" before though.)
Yet I am astounded in how many interviews people were either playing smart and just rambled on not wanting to lose face. During the remote calls of some special candidates I could even hear them typing on their keyboards in the background googling the answers to my questions.
And the irony is that I thereby had to veto their appliance. As they had lost my trust in being able to communicate honestly. And for wasting my time.
Our domain is complicated and ever-changing and not knowing certain parts of software development is *normal*.
Yet don't just try to fake it in order to land a job. It won't work, and when it does you may find yourself literally in the company of like-minded individuals.23 -
People/companies talking about ooh we want gender diversity we want more female software developers, IT professionals etc
You talk the talk, do you know how to walk the walk?? Do you know how to deal with female engineers?
I am a hardcore engineer worked and studied majorly with men for years. I lead, managed teams had my own company worked as a consultant for years.
Then I got into the IT industry as developer later. I was completely against the idea of being female would make any difference or you would be treated differently.
Finally I had my own enlightenment and stopped resisting that idea.
Some treatments made me think what are these guys doing? Don’t treat me like your sister. I am not your sister. Don’t see the femininity or looks. I am not a Merrilyn Monroe to say oooh you are great you know soo much. I am not paid for that act, I do my job! It’s same as yours mate.
Don’t underestimate me or try to preach me as if I am a cute little girl. Don’t show off and boost your ego next to other guys.
Now I regretfully I agree the ladies ranting about male dominance and getting different treatment in IT.
I am literally trying to avoid red nail polishes or red lipstick god forbid. Maybe I should put some fake beard and a belly, loose jeans with an energy drink in hand. Here comes the expert IT professional, already ticking a box.
Honestly you are not taken seriously most of the time. If you are a guy then they are all ears..And those guys talk about they want gender diversity blah blah
You feel like a ghost when you express your opinion. You are not taken into account even when you have a comment or suggestion.
Even humiliated by a guy giving me a speech about how to be a good developer next to a manager. Look buddy I am not a yesterday’s child. I am at your age. I haven’t come to this position by jumping around picking flowers in a field. If I was a man, would you dare saying those to me? There could be a street fight coming.
LinkedIn selfie takers with body show offs putting ooh I am an IT recruiter as a female I got into IT. You can do it too. (don’t get me wrong I respect that achievement that’s good) but those girls get thousands of likes and applauses, you are working in IT for years people say they are seeking for. Your technical post doesn’t even get 20 likes. Your encouraging comment on a guy’s post isn’t even acknowledged. You are not even taken into account. Am I a ghost or something?
Honestly I don’t understand.
What do you mean by gender diversity? What do you want here?
Leave this gender bullshit. Look at the knowledge you don’t even know what equality means. It’s not having even numbers of genders. It is respecting knowledge and hard work regardless. Listening and acknowledging without judgement. Looking beyond male, female or others
Companies that say we want to have more females, you don’t come and knock on my door either. You are already stating a difference there. Attract with indifference don’t come and tell me you are a female we want more females here.
I’m telling you this sector is not getting proper gender equality for 25 years. Talk is there but mentality is not yet there.
I am super pissed off and discouraged today. I don’t even get discouraged that easily. Now I understand some women in IT talking about insecurities. I am on the edge of having one, such a shame.
Don’t come at me now I would bite!
This is my generalisation yes. Exceptions apply and how good it would have been if those exceptions were dominant.31 -
So my friends PC died, since he lives in another country I help him over Signal.
He assembled his own PC a year ago and does a lot of programming for his study. Today Im helping him troubleshoot why his pc does not boot. Does it get into the bootmenu or not? He knows it doesnt. Then I recommend him to try unplugging his graphics card and plug his monitor in the motherboard. I then get a question if there are two HDMI types. Im smiling and think he is messing with me. That must be a displayport. Nope he was serious, he has this HDMI cable that doesnt fit his motherboard.
I sat in a tram and laugh out loud.. Because this is what he send me.
If it was anyone who didnt do anything with computers I didnt think it was laughable, but come on every programmer should know the difference between HDMI and DisplayPort13 -
You know. I have mixed feelings on the way people have been reacting to senzory's rant regarding the way he deals with clients. Some people believe that he is unethical, some people see it as just business(me included) but to see what the community says is somewhat interesting.
First, let me be clear on something: i have been fucked over by clients many times for being a nice guy and trying to play it nicely.
Because of this I am selective of who deserves good treatment and who gets to fuck off. But regardless of the client I do the same thing: regardless of who it is, nice or otherwise. If a project will take 1 week to complete then I tell them that it will take 3 to 4 weeks. Why? Well because I have many things on my plate, I am married and have two children, one lives with me and I try to spend as much time with them as I can. I work from 8 to 6, sometimes later and when I get home I sometimes don't do shit since at work I maintain the web services of 2 fucking college campuses.
I don't look for my clients. Through word of mouth they come to me. And being in a privileged position(there are about 5 devs here and they all suck) they can either do with my times and fees or can fuck off over the border where Pedro will do their shit on vbscript and classic ASP(which I like, but you know why this is not an option in 2018)
Apps can be sold for large quantities of money, regardless of what their use case is, if a company wants to outsource their apps to an external developer(such as yours truly) that means that they are willing to play the game. And that is what business is: a game, a survival game.
Where I live, a company will not think twice of firing a single mother for whatever reason. In the U.S of A, and specially in Texas, you can be fired for whatever reason. I have automated people's jobs without knowing it, I have made people lose their jobs and saved companies thousands with my apps. Things like that were not know to me, had I known that someone would have lost their jobs I would have tried differently.
If a company is willing to tell employees(loyal employees) to fuck off, then i do not regret charging what I do and hustling the way I do with rat faced dickheads that care not for people. If I could I would destroy entire companies here. But that is for another story.
I have been used, insulted, gambled with and have been lied to, to my face by these companies. Which has left me jaded.
Oh now, trust me. I am still highly optimistic and nice. And if someone has a small business and I can help them out, then I will lower my rate and give positive vibes in the hopes of making things better through karma. I want to see the best in people. But this does not stop me from being a shark and giving quotes the way I do.
Because companies, as an overall entity are not people with the best intentions(sometimes) and they will not take your kindness, they will take advantage if possible in an effort to save money. Its just dickhead business.
So why, as a professional and privileged developer that obtained his skills through intense study and practice, a wizard by all means, should lower to these nameless, Faceless entities?
Why should i give them the fairness they do not give others? Why should I play the high morale game and come out as a loser?
At the end of the day, I get to swim in my own pool of success, knowing that they did not get the chance to fuck me over
So if you tell me that you took advantage of your hard earned skillset, and built a cross platform app(which compiles to native binaries) and sold 2 products for one, I will tell you that you are an excellent player at their game. If you tell me that you finished before and got to charge for 2 weeks of work doing just 2 days I will say that you are an excellent time manager. And if you tell me that at the end of the day you managed to keep said customer I will tell you that you are a true professional.
There is a difference lads, in selling a product to big momma jamma's cajun restaurant, to the largest logistics company around.
Be nice to those that desserve it.6 -
**noob alert**
Hi all, I'm new to this community. I found it out couple of days back while downloading some apps on play store. And I don't know how much time have I spent here since then... Damm, I've an interview after 2 days.
My query is, I am stuck/confused. I have so many ToDos. ToDos to learn new things, from UI to other langs to machine learning to database to etc etc. And I keep on postponing it because I can't decide which way to go first. There is so much fuzz about BigData/AI which sounds cool. Sometimes I want to build UI for my imaginary idea, then somebody says a man must learn linux and DB. Top of that I'm preparing for interviews, so I think I should get a job first and then start learning. But when I get a job, I get *busy* with job. It feels like Captain America, all he does is official work. I sometimes feel like trying open source coding, but quit the idea because I get scared or overwhelmed by imagining the big community behind it and I won't be able to make a difference or I might get bashed by others as I get bashed in StackOverFlow :-(
I'm unable to get help from friends/family/colleagues, not because they are bad. It's just they don't get it. People think just because you have a job which pays the bills and save money, everything is fine because there are lots of people who dream to get a job, so be thankful for what you have. I'm thankful... But it's not helping. I really want to do things more than what my job asks me to. The kid inside me is awake since I became adult.
Have you been in this condition or is it just me? Or is it too confusing? Could you please help me out. Thanks a lot. Sorry for serious post. I'm a java programmer by the way.9 -
1 friend who is currently studying in Canada.
I am not aware if he uses devrant or not.
Met him in a national robotic competition 3 years back.
Somehow, we exchanged numbers and nowadays we talk often whenever we get time (considering our busy life and timezone difference)
He is studying robotics and frequently sends me his designs and output with 3D printer.
About me, I left robotics(to be specific embedded) and got a job and working on backend these days.
Though, it's great talking to him and getting to know how the education goes there and his new works.
He also has a beautiful love story(not yet completed) which is another fun part to listen from him. -
dammit. I fucking hate it when I get stuck because of low level computing concepts and there is no explanation on Google.
like.. I understand the difference between an int and a float, but no one ever explains how you convert 32bit signed vectors to floats. or how bgra and rgba differ. or how to composite two images on a GPU. etc. the internet is great and all, but fuck, sometimes it seems as everyone is just as dumb as I am.4 -
I absolutely hate software that throws error message boxes that look identical to their "please enter new password" message box.
User called and said they needed their password reset. I give them a temp pin and tell them to press ok to the prompt and then put new password in. She says it is still saying invalid pin. This goes on for 10 minutes. I hang up and try on my laptop. Works fine. Then it hits me.
The message boxes look the same. Have the same width and height and shitty little yellow triangle with ! In the middle. The only difference between them is the text in size 9 font.
Gotta read people...cause sometimes the people developing your software assume you can. And to all the software people out there....end users don't want to fucking read.4 -
"I'm almost done, I'll just need to add tests!"
Booom! You did it, that was a nuke going off in my head.
No, you shouldn't just need to add tests. The tests should have been written from the get go! You most likely won't cover all the cases. You won't know if adding the tests will break your feature, as you had none, as you refactor your untested mess in order to make your code testable.
When reading your mess of a test case and the painful mocking process you went through, I silently cry out into the void: "Why oh why!? All of this suffering could have been avoided!"
Since most of the time, your mocking pain boils down to not understanding what your "unit" in your "unit test" should be.
So let it be said:
- If you want to build a parser for an XML file, then just write a function / class whose *only* purpose is: parse the XML file, return a value object. That's it. Nothing more, nothing less.
- If you want to build a parser for an XML file, it MUST NOT: download a zip, extract that zip, merge all those files to one big file, parse that big file, talk to some other random APIs as a side-effect, and then return a value object.
Because then you suddenly have to mock away a http service and deal with zip files in your test cases.
The http util of your programming language will most likely work. Your unzip library will most likely work. So just assume it working. There are valid use cases where you want to make sure you acutally send a request and get a response, yet I am talking unit test here only.
In the scope of a class, keep the public methods to a reasonable minimum. As for each public method you shall at least create one test case. If you ever have the feeling "I want to test that private method" replace that statement in your head with: "I should extract that functionality to a new class where that method public. I then can create a unit test case a for that." That new service then becomes a dependency in your current service. Problem solved.
Also, mocking away dependencies should a simple process. If your mocking process fills half the screen, your test setup is overly complicated and your class is doing too much.
That's why I currently dig functional programming so much. When you build pure functions without side effects, unit tests are easy to write. Yet you can apply pure functions to OOP as well (to a degree). Embrace immutability.
Sidenote:
It's really not helpful that a lot of developers don't understand the difference between unit, functional acceptance, integration testing. Then they wonder why they can't test something easily, write overly complex test cases, until someone points out to them: No, in the scope of unit tests, we don't need to test our persistance layer. We just assume that it works. We should only test our businsess logic. You know: "Assuming that I get that response from the database, I expect that to happen." You don't need a test db, make a real query against that, in order to test that. (That still is a valid thing to do. Yet not in the scope of unit tests.)rant developer unit test test testing fp oop writing tests get your shit together unit testing unit tests8 -
Awkward recruiting process? Sit the fuck back!
So about a year ago I got laid off. I got some help setting up LinkedIn and realising I'm not trash and offers to talk started flowing in.
So this consultancy firm asks me to come in for a talk and having nothing better to do I oblige - they're working on big, exciting Greenfield stuff and I'm amazed they want me.
Fast forward the most nervous week in my life and the HR assistant brings me into the meeting room, I get some water and a nice first impression - also my last. I wait in the room for five minutes.
In walks madam HR, madam Team lead and miss assistant from before, all carrying big ass laptops. We shake hands and they sit down and all open up their laptops between me and them - I just sit there feeling naked with my block of paper and pencil I brought.
So we wait for their machines to start up and madam HR just starts throwing questions at me and seemingly noting my answers into a sheet. Meanwhile madam Teamlead is busy on her phone most of the time and my most human interaction remains smalltalk and questions between me and miss assistant.
I did manage to get madam Teamlead to look up from her phone when I asked how they felt about the fact that I have no formal training and would need to pick up a lot of skills as we go, to which she said something along 'well this ain't a candy shop, we expect you to work' and looked back down at her phone.
A bit shaken, I agreed to stay for the technical test (apparently I passed the interview...)
Now this test was designed by their CTO since he didn't feel like any of the available tests on the market could properly judge applicants' skilllevels. Yes, alarms went off already at that point.
What I'm presented with is a word document with questions, and another for answers and... It's just string gymnastics and reference/value difference knowledge - shit it takes you a split second to look up or test if you ever get into these insane cases where you need to know. And then there was a likewise one with sql statements that was also just convoluted query gymnastics and trying to hide changes in the seemingly same statement through various questions. No questions on design, no problem solving, just... Attention span testing with a dash of coding?
Anyway, it turned out they had evening and weekend shifts and round the clock support tournus which on top of the ridiculous recruitment process and way lower than average salary offer had me turn them down.
Don't enable bullshit people, run away!4 -
Today my manager got mad at me because of something i said....
Dude i just jokingly said that i didn't appreciate her attitude. Like that was it
The thing is, she didn't get mad at me in a 'i am your boss and you were out of line way"
It was more of a....gf...kind of getting mad sort of deal....and it was really odd.
I know the difference. But either way I only know how to act in 2 ways: make the girl happy or not give a fuck about it.
So i just apologized.
I already got a wife and 2 daughters to keep happy.
There is a limit my dudes, for the ammount of women a straight male can keep happy.15 -
In Russian, the difference between "there is an entire legion of us" and "I don't give a fuck" is one whitespace.
Нас рать / насрать2 -
When new developers join in your team, please make a time and help them to get confidence with the project they will work on. Besides the project's documentation there is a human factor that can make the difference between a just another dev team and a great one.2
-
In the Ruhr area (Germany) we have some very old, very strange words with strange meanings. One of those words is ‚Prutscher‘.
A Prutscher refers to a person who does things but never gets a good result, due to lack of knowledge or simple carelessness. Most of the time, Prutschers are people who are interested in certain subjects and often work in the related jobs, but who lack the motivation to properly train themselves, learn what there is to learn and to always keep up with their technologies .
Here are a few examples I've stumbled upon so far in my career:
- Developers in their 60's who read a book about PHP 25 years ago and decided to become a software developer. Since then haven't read anything about it. Who then now build huge spaghetti monoliths for large companies, in which they prefix every function, every variable and constant with their initials and, of course, use Hungarian notation.
- People who read half a fucking tutorial about <insert any fancy js framework here> and start blogging/tweeting about it
- Senior web developers who need to be told what the fuck CORS is and who can't even recognize CORS related errors in their browser console.
- People who have done nothing else for 18 years than building websites for companies on Wordpress 1.x and writing few lines of PHP and Javascript from time to time. Those who are now applying as a frontend dev due to the difficult economic situation and are surprised that they are not accepted due to a lack of experience.
- Developers who are the only ones working on Windows in the team and ask their Linux colleagues for help when Windows starts bitchin.
- People who have been coding for 30 years, have worked with ~42 languages and don't know the difference between compiled and interpreted languages in the job interview.
- Chief developers at a large newsletter-publisher who think it's a good idea to build your own CMS (due to a lack of good existing ones, of course).
- Developers who have been writing PHP applications for multinational corporations for 25 years and cannot explain how PHP is executed. They don't even know what the fucking OPcache is, let alone fpm. FML
- People who call themselves professional developers but never ever heard of DRY, KISS, boy-scout rule, 12-Factor App, SOLID, Clean Code, Design Patterns, ...
- Senior developers wondering why the bash script won't run on their fucking Windows machine.
- Developers who consider Typescript to be a hindrance and see no value in it.
- Developers using ftp for deployments in 2022
- Senior Javascript Developer applying for a job and for whom Integer is a primitive data type in JS.
- Developers who prefer to code without frameworks and libraries because they are only an unnecessary burden/overhead and you can quickly code everything up yourself.
- Developers who think configuring their server(s) manually is a good idea.
You fucking Prutscher. What you have already cost me in terms of work and nerves. I can't even put it into words how deeply I despise you. I have more respect for the chewing gum that has been stuck in my damn trash can for the past 3 years than I do for you guys. You are the disgrace of our profession. I will haunt you in your dreams and prefix every fucking synapse of your brain with MY initials.
As a well-known german band once sang in a very fitting song: I wouldn't even piss on you if you were on fire.
If you recognized yourself in one of the examples here: FUCK YOU!29 -
Better gradle they said.
Builds faster they said...
There is a difference between faster and less slower.4 -
When I started my current job 6 years ago I was given a desk phone with a 100mb port. Speed didn't matter at the time as everyone was given laptops for our desks. I changed positions in the company where I'm going to be provisioning servers and whatnot over the network. Started using a desktop that didn't have a Wi-Fi adapter. I requested a new phone with a Gig switch port, if possible, so doing file transfers on the network wouldn't be limited. IT had a couple of questions...
IT-Have you noticed slowness when downloading/uploading?
Me-No, but its a 100mb port...so.
IT-Well I just did a speed test and we're getting 60up/5down. Your phone is over that.
(Working from home? Our fiber was way faster than that I thought.)
Me-That's fine, but this will be for internal network transfers. Not going out to the internet. We have gigabit switches on campus correct?
It-Yes but you shouldn't notice a speed difference.
Me, now lost-If you can't change out the phone that's fine. I'll figure our something.
IT-Now now, lets troubleshoot your issue. Can you plug your phone in?
Me-Yes I have it, but I'm remote today. There is no way for it to reach the call manager.
IT-Let's give it a try.
40 min of provisioning later he gave up and said maybe it is broke. Got a "working" one the next week.
PS first post, and writing on phone. Yay insomnia! -
!dev (Please, don't take this very seriously, I'm kind of burnt out)
I'm not having a good time.
I can't even write a post to properly explain how I feel.
I feel disappointed by life and by myself in many levels. Life is disappointing. I am disappointing too.
I'm having issues to focus, can't even write a couple of lines of code.
Time to listen to some emo lofi and write about how much I hate myself.
I wished I didn't feel these feelings.
I wished I didn't regret so many things I did or didn't do.
I wished I could fucking understand everything I read, but I don't, everything I read is gibberish, every paragraph makes me feel like I'm drifting in a storm.
I wished I was happy with my career, with my job. I wished I had a true friend.
I wished I could finish one goddamn fucking project for once.
I wished there was something that made me unique, but I don't think there's any.
I just feel like an ant, and that I don't really matter.
I don't feel like I'm someone at all, I feel like I'm experiencing a dream, and a rather boring one.
Programming used to be challenging and fun for me, but it has become this dull and stressful ordeal.
The internet has shown me that I don't matter really. I remember being a little kid and believing that the internet would not discriminate you, that right from the comfort of your house you could connect to people and be cared for, and collaborate in something.
But every year that passes I see that I was wrong. I have tried to put in time into people, I have asked people how they're doing, I have cared for their projects. But there's no reciprocation.
The internet itself has become a thing where the big fish only matters. The top 1k users will get 99% of the attention.
Fuck nurture, rule competition.
What's the point of creating a github project that you think it's cool? No one will give two shits about it, it won't make a goddamn difference whether you push it or not.
You know what fucking matters? If you're an apple or google developer and have thousands of followers.
Bla, bla, bla, I'm depressed...9 -
Yknow, I want to make an android app that I have in my mind for about half a year now and I already tried twice, both with Kotlin and with Java but everytime I try it's just pain and suffering and frustration...
No it's not because of the language, I like Java and I like Kotlin too and I'd say I'm at least decent at Kotlin and really good in Java...
No no.. the issue is the fucking Android SDK and the mix-and-match documentation available online!!!
Every fucking time I want to implement some sort of UI element, user action or a background service and I start googling how to do it It comes with with at least 3 different stack overflow solutions, all of them saying "that way of doing it is deprecated, instead you should X" and looking up the OFFICIAL FUCKING DOCS it will just make me roll up in the corner and cry because of how fucking inconsistent it is and the retarded domain language it uses... fucking transactions for fucking fragments inside fucking activities... because I guess the word "screen"/"view"/"template" or something similar natural just was too mainstream for the all knowing alphabet soup that google is...
And then you start looking up what the fucking difference even is and how to code it up only to find out there's at least 12 other opinions on how fragments should be used and what should be an activity and what should be a damn fragment...
But that's not all, that's just the base... I get a headache even thinking about how the fucking inflating of templates and the entire R. notation works. You want to open a fucking tiny corner menu with the settings options? WELL THEN YOU FUCKING BETTER REMEMBER TO IMPLEMENT IT THROUGH SOME SORT OF EVENT AND INFLATE THE MENU YOURSELF EVEN THOUGH ITS THE SAME FUCKING THING WITH STATIC STRINGS...
AND WHY THE FUCK DO I NEED LIKE 4 NEW FILES TO IMPLEMENT A FUCKING LISTVIEW...
also talking about ListViews... what was wrong with "ListView"... Why do we need a "RecyclerView"... oh right... because the fucks fucked the fuck up and all the legacy components were designed by a monkey and are next to useless! SO WE NEEDED A NEW NAME FOR THE FIXED VERSION, CANT NAME IT LISTVIEW AGAIN... FUCK YOU...
honestly... if I got a dolar for every "what the fuck android" I said during trying to understand that mess I'd be richer by a few hundred...
oh oh oh, but you know what? You don't like the android SDK? that's fine, you can use fucking React or Flutter or something... yeah.. because instead of torturing myself with the android SDK I want to torture myself with an abstraction of the same SDK and JavaScript as the fucking cherry on top... HAVE YOU FUCKING SEEN THE CODE FLUTTER SHOWS ON THEIR WEBSITE AS THE "Introduction" ?!!!
Look at this piece of shit:
[code in attached image, we could really use a proper Markdown support at least for rants]
THAT'S NOT EVEN THE ENTIRE THING, THAT'S JUST THE *REALLY* UGLY PART...
The fucking nesting... What is it with JS and all the fucking nesting everytime?! It looks like shit.... It reads like shit as well...
WHY, in the name OF FUCK, IS THERE MORE THAN 5 ANDROID FRAMEWORKS and ALL of them... used this FUCKING NOVEL idea of programming using A FUCKING BRACKET WALL
It always looks like:
(code(code[code{code(code{code()})}]));
If I wanted to make a fucking app or a website using fucking Haskell I'd do that.... at this point reading assembly code feels like heaven compared to this retardation... Why is this so popular?! WHAT DO YOU PEOPLE SEE IN IT?! Clearly it's not the aesthetics... it looks like a fucking frog vomit running down an emus leg, fuck that.... I don't even hate classic JavaScript, it's a good enough language and it does what I tell it to... but these ugly fucking frameworks like react, angular and whatever else uses this fucking format can go fuck right off. This is not the way JS is gonna get a better name for itself...
So:
Fuck Google
Fuck the marionette that designed the Android SDK
Fuck the Hellspawn the came up with the "functional-like" way of using JavaScript
Fuck everyone that thinks "JavaScript everywhere" is a good thing
And deeply future-fuck everyone that makes a new framework following any of these standards, stucks a .js at the end of the name and releases his hairball.js of an invention into the fucking world....
It's a mess... fuck everything android related...14 -
TL;DR you suck, I suck and everybody sucks, deal with it....
------------------------------------
Let me let off some steam, since I've had enough of people hating on languages "just because"
Every language has it's drawbacks and quirks, BUT they have their strengths also. Saying "I hate {language}" is just you being and ignorant prick and probably your head is so far up your ass that you look like an ass hat. With that being said, every language is either good or bad depending on the developer writing in it. Let's give you an example:
If I ware to give you a brick and ask you to put a nail in a plank, can you do it? Yes, it will be easier if you do it with a hammer, but you have a brick, so hammer is out of the question. If you hit your thumb while doing it... well... sorry, but it is not the bricks fault - it is YOU!
JavaScript, yes it has a whole lot of problems, but it works, you can do a ton of stuff and does a good job at that, it is evolving through node and typescript (and others, just a personal pref), BUT if you used js when you ware debugging that jquery (1.0) plugin written in the free time of a 13 yo, who copy pasted a bunch from SO, well, it is not js' problem - deal with it. Same goes for PHP, i've been there where you had a single `index.php` with bazillion lines of code, did a bunch of eval and it was called MVC, but it also is evolving.. thing is all languages allow you to do some dumb stuff so YOU have to be responsible to not fuck it up (which you always DO btw, we all do). Difference is PHP/JS roll with it because the assumption is that you know what you are doing, which again - newsflash - you don't.
More or less I would blame that shit on businesses which decided to go with undergrads to save money instead of investing in their product, hell, I am in a major company that does not invest that doesn't care a whole lot about dev /tech stuff and now everybody's mother is an engineer - they care about money, because investors care about money (ROI) and because clean code does not pay the bills, but money does.
If we get all of the good practices and apply them to each language every one of them has it's place, that is why there is no "The Language", even if there was, we STILL ware going to fuck it up and probably it was going to be even worse than where we are now.
Study, improve, rinse and repeat... There are SENIORS and LEADS out there that are about 25-30 and have no fucking clue about the language, because they have stuck up their heads up the ass of frameworks and refuse to take a breath of clean air and consider something different than their dogmatic framework "way" of doing things.. That is the result you are seeing. Let me give you a fresh example to illustrate where I am at atm:
Le me works with ZendFramework 2.3-2.5 (why not, which is PHP5+ running on PHP7 [fancy, eh]), and little me writes a module for said project, and tries to contain it in its own space, i.e not touching anything outside of the folder of the module so it is SELF-CONTAINED (see, practices), during 2-3-4 iterations of code review, I've had to modify 4 different modules with `if (somthing === self::SOMETHING_TYPE)` as requested by my TL, which resulted in me not covering 3 use-cases after the changes and not adding a new event (the fw is event-driven, cuz.. reasons) so I have to use a bunch of ifs in the code, to check a config value and do shit. That is the way of I am asked to do things I hate what I've done and the fact that because of CR I have lost case-coverage, a week of work and the same TL will be on my ass on monday that things are now "perfect".
The biggest things is "we care about convention and code style"... right.... That is not because of the language, not because of me, not because of the framework - it is some dude's opinion that you hate, not the language.
New stuff are better, reinventing the wheel is also good, if it wasn't you would've had a few stone circular things on your car and things ware going to be like that - we need to try and try, that is the only way we actually learn shit.
Until things change in the trade, we will be on the same boat, complaining about the same shit over and over, you and me won't be alive probably but things will not change a bit.
We live in a place where state is considered good, god objects necessary (can you believe it, I've got kudos for using the term 'God Object'... yep, let that sink in). If you really hate something, please, oh god I beg you, show me how you will do it better and I will shake your hand and buy you a beer, but until then, please keep your ass-hurt fanboy opinion to your self, no one gives a shit about what you think, we will die and the world will not notice...6 -
Many people told me that all my face expressions look pretty the same. Whatever my mood (angry, happy, surprised) there is no much difference that appears in my face.
Well I didn't believe them until I tested a "Facial Emotion" program written on Python, and it gives me ~almost~ all the time that my facial expression is: Neutral.
Well, I think the algorithm is not well implemented 😐8 -
Oh boy! Here we fucking go lads!
Mods are fantastic and people deserve recognition for what work they do, but as soon as you begin to start taking your work and trying to strip someone else's name from something is bullshit.
No Bethesda aren't perfect and yes the Nexus mod community do some great things, but without Bethesda there would be no Nexus and as soon as you try to make your efforts the forefront of someone else's work you can stop.
If I was to take devrant and place my logo on it and just call it a modification guarantee people would be upset, what's the difference here?
End scene.6 -
In my unenlightened youth, when programming was a module in my college diploma that didn't seem to be taking me where I wanted to go, I had a couple of guys guy in my class that could arguably be the weird ones.
Jonny, although he asserted that he was to be called "Jonhty", whatever, we never did. He was pretty much top of the high school food chain and for some reason elected to study computer science, none of us was prepared to put up with his shit. He was always boasting about some fanciful claim or another, famously entering the classroom and exclaiming he'd "fucked an absolute milf" and seemed somewhat evasive about the answer, turns out he was 17 and she was 35, the age difference was greater than his own age. We burst out laughing. He would also turn up late and state the college bus was late (it wasn't I got the free bus every day, he'd just not got out his wanking chariot early enough).
One valentine's day we got him a card from a mysterious stranger which was accompanied by a package containing a cucumber and Vaseline, the inside of the card read "to assist you in the following request: please go fuck yourself".
Before you think we were being unduly harsh, we had a centre table where we'd be taught from with computers around the outer rim of the room. He'd come up behind people while at the centre desk, quietly press ctrl+P and slowly walk back to the printer. I saw him do it to my machine and I got to the printer first, to which he shouted "that's MY work" which was amusing because unbeknownst to him I had put headers on all my documents so he really didn't have an answer for why my name was at the top of every page.
To top it all off he had dead eyes, there didn't appear to be much going on but the rent, there was no spark of intelligent life, and while I thought it, I never said it out loud, but other students did and I had to agree. He was just copying his way to graduation. However, he ultimately didn't graduate when people refused to allow him to copy.
Another guy, Richard I believe his name was, which is just as well because he was a right dick. In the UK our word for white trash is "chav" (that's a very naïve explanation for it but that's another rant best left for "socialsciencerant") and he was an complete idiot who was gifted with more brain cells than he ever needed to use. He actually studied hard and got reasonable grades, probably on par with me, but he boasted about smoking weed all the time, he was forever playing dark side of the moon via his loud mp3 player. I kinda left him alone generally until he was high in class one time and while we we're watching a documentary he'd shake my chair and make a weird noise in my ear every few minutes, the first couple of times startled me, the remaining multi-dozen times pissed me off.
It all came to a head with this guy when I'd been hearing about his uninteresting bs on drugs, music and how best to spend my time ("you need to lighten up man, come round my house, take a joint and relax man", that sorta thing), well this guy walked like he was mid way through shitting himself so I personally think that perhaps he is too chilled. Anyway he's arguing with me and after the exchange of him making his point, me disagreeing and expecting the end of it, he made the mistake of saying two words to me:
"Listen, mate..."
And I had him in check mate.
"Listen, I ain't your fucking mate , I don't even like you, you're a disruptive annoying twat that thinks he knows it all, we're all 17, none of us know anything, so shut the fuck up, sit the fuck down and stop boring me with your drugs, I ain't interested, and for the record I think pink Floyd ruined prog rock!"
He looked at me with sad puppy dog eyes, and started with the "but, why?", However I was interrupted and had to leave the class for unrelated reasons, I returned to be told he'd put safety pins up right on my chair so I'd sit on them, and mutual friends who TD me I'd been cruel and that he doesn't was hurt, so I should apologize, he overheard and said he was sorry for bring a bit of a dick.
However, you just know when you don't get on with someone? Yeah, that. So I said I wasn't sorry for what I said, for while it was harsh, I am not his mate, nor did I want to be his mate and that was all I had to say on the subject, and that if he wants to take offensive to a nobody not liking him then he's in for a very rough time in life.
Unsurprisingly I don't keep in touch with anyone from college!2 -
Difference between Thermal Paste And Thermal Pads
As we all know that the surface of the CPU or a heat sink is not flat. So the uneven surface of both types of equipment give rise to the small gaps, and these small gaps are poor in thermal conductivity, as a result, the Gaming Computer gets heated off quickly.
To fill these gap we require a thermal conductive which delivers the entire heat coming out from the CPU to the heatsink and there comes the role of Thermal paste or Thermal pads for more info about thermal paste see here (https://glinkster.com/best-thermal-...)
But the real question here is which should you chose to avoid heating problems? Is it either thermal paste or thermal pads? So without wasting much time let's get to know what are the basic differences and when you should apply what?
What is the difference between thermal paste and thermal pads?
Thermal paste or thermal compound actually it has a lot of names. Thermal paste is a greasy conductive paste directly applied to the heatsink. It is most commonly used as the interface in between the non-conductive parts for the cooling purpose. A good thermal paste made with the best quality of thermal compound can work well for the system. To apply thermal paste, you have to very careful as you have can also sometimes drop it near to the main CPU. But this is not the only option to fill the holes in between the CPU and the heatsink, there is one more thing that you can use is Thermal Pads.
Thermal Pads
Thermal pads are easy to put as compare to thermal pastes. But they are not as effective as compare to the thermal paste. You will find some stock coolers come with thermal pads as it looks clean. If sometimes you have to replace the heatsink, then you have to remove the pad too. So remember whenever you remove the heatsink ot dismount it, always change the thermal pad.
Common Mistakes you have to avoid
There are some common mistakes that a lot of people make while applying the thermal paste or thermal pads.
1) Never use thermal paste and thermal pads together.
2) But you can use thermal paste on the top of the thermal pads to improve the efficiency.
3) Use of two or three pads altogether can kill the performance of the CPU.10 -
!dev
I come from a small shitty valley where all that people want to achieve is getting approved for loans to buy more cows and shit.. My only friend comes from there as well but he’s different, more like me.. build a life, get out and pursuit something better and bigger..
We grew up smoking everything we could and drinking everything we got because what else are we gonna do, put shit on fire? Been there, done that.. it sucks growing up on the poop hole of the world.
We both left that shithole and started careers but he’s throwing it all out the window.. he’s getting caught with weed, DUI and shit. just a few years ago he got off of more serious drugs.. He built a career and shit for about 10 years but right now he’s just throwing it all away because drugs are in his comfort zone. But he has to go give Pias samples for a while now and if he doesn’t stop he is not getting his license back and the unemployment insurance won’t even pay him because (although he lost the job because of Covid) they said it’s because he smokes weed.
Without the license goes his career as he’s a service electrician.
So fucking hurtful to see, man.
And so hard to accept that he won’t listen and than I’m not his dad who can tell him what to do..
90% of the kids I grew up with who managed to leave that shit hole ended up as homeless junkies.. I guess I’m happy to have the mindset to not end up like them.. and that’s really all it is, the mindset is the only difference (which is complex in itself of course like parenting and stuff)5 -
Dear Mobile Designers,
There is a difference between mobile first and mobile preferred. Stop being lazy and take advantage of desktop real estate. My monitor is not a big ass tablet.
Thank you,
Desktop End User1 -
TLDR So according to our managers, our company is not dead yet, but very close to the edge. And there's nothing I can do about it.
Basically, they are asking the software devs to twirl our thumbs while we wait for other departments to pull us out of the dirt. Meanwhile, those people who can actually do something to get everyone back on track are running for the hills, looking for greener pastures (you know, sinking ship, turns out rats can swim).
I was told that I shouldn't leave as I am a 'vital part of the team whatever and so on'. But that is difficult to believe when I'm looking at 2 years minimum, in which nothing I will develop or have worked on in the past will make any difference. Whether I keep my job is determined by people who love numbers and have little concern for me as a person (not that this is new, but at least I was contributing before).
Guess I will be spending all that extra time at work reading and programming personal projects, since aside from no new projects, there will be no budget for taking courses that were promised before. Oh, and polishing my resume so I'll be ready when this ship finally goes down.8 -
Sometimes I see advice given to others that is either clearly wrong or even dangerous, but it's not socially acceptable to call them out on it because 'everyone is entitled to their opinion'.
Yes, you're right. I'm entitled to my opinion based on doing this for 20 years and facing your exact, usually "junior" situation a hundred times. You did a code camp earlier this year and still think JSX is part of the Ecmascript standard.
There is a difference, and not being able to point it out without being scolded for being "entitled" (ironically) is slowly draining me of any interest in helping others.
How the fuck do you cope with this?18 -
Today’s lesson in C programming:
DON’T use
system( “clear” );
in Mac OS...
Causes seg Fault in ur program when it is perfectly correct...
What happened was... a friend wanted help with C programming and had written this code... but it was getting seg Fault randomly... just random seg Fault when his code was correct...
I pinpointed the seg Fault to a printf statement but the statement was correct...
Off to search the issue I went, found out that flushing problems can occur in printf if u don’t use \n.
This happens randomly. Thought this might b the reason...
Went to a VM running Arch Linux and tested the code there... worked perfectly. No issues whatsoever.
From a distant memory I remembered some people discussing to never use system( “clear” ); since it causes issues.
Thought to remove that line from code, thinking it wouldn’t make any difference.
Well imagine my shock when the code worked fine after remove that freaking line...
M gonna blame this one on Mac OS since arch had no issues with it 😡😡
Now to find alternative to system( “clear” );
Damm it I spent 4-5 hours on this crap!!!!!!9 -
Knowing the way you should be treated a super power. I am seeing a lot difference in my previous and the current manager. Ex-manager thought that we are robots and we work strictly 8 hours, if some problem came during the project execution, he asked questions which felt like I am answerable to unknowns and felt like that I am being blamed.
My new manager, whenever any problem comes, she takes it as a challange, she tries to solve it. There are quirks too but I feel a lot freedom now.
My anxiety is gone. I am only stressed sometimes which is a big upgrade for me.
I know better now that how I want to be treated, I am a person. Have feelings and yes I'm not perfect so lack basic things but I'm willing to improve.7 -
The Return of Mr. Gitmaster:
So there is this colleague I already ranted about several times. After my previous team lead had confronted him about not doing much work, there was some irritation because he showed not up at work, but it turned out the external training he did was just a week earlier. Then he was ill a week, another week vacation so we didn't see him much. Not that his pre- or absence makes much difference to our repo: When his and my team lead looked at his commits of the past three months they found like the one copy-pasted HTML-form that wouldn't even show.
Fast forward to now, where we have a new team lead and we were going to lunch with Mr. gitmaster. So we got some more hero stories from the great work he was doing in the previous company. How he was graphically monitoring the heap fragmentation that stupid glibc was causing to their search engine, and how much better it became with tcmalloc.
I still don't understand how he bridges that cognitive dissonance from all the superior tech knowledge he displays to not actually writing any code at all. Not that I would not have experienced some states of feeling low, in paralysis unable to write a single line of code... but he seems so full of confidence, always commenting how trivial and easy all these tasks would be, as if it's all so lightyears below his abilities. Maybe he should just become a manager - but not mine. -
why people around me act like dump. i have recently worked with this site, which is written in php.
customer: (yelling) my website is hacked, fix it immediately
me : ok sir, we will restore your site immediately
after finishing talk with customer. i have checked website, there is no sign of website being hacked. i have checked server logs and website for security breach, there is no sign.
me: your website is not hacked, sir. can you please tell me where you have seen hacked page.
customer: look at those pages
after seen that page i facepalmed myself. it's a bug, person who created that page just splitted string without using any multibyte function, so page is showing with corrupted characters. i fixed it and problem solved. i have told about that bug, to the person who created that page.
me: hey you have used this function which is not able to handle multibyte characters, you should use multibyte character functions for that one.
person: every characters are the same. we shouldn't need to handle that way.
he is actually a senior developer. who don't even know the difference between unicode and ascii characters.1 -
Long story short: University fucked up single sign on.
For every online service I have, I set a different password, randomly generated ~ 20 characters long. At our university we have multiple systems but they offer a single sign on service which is quite nice because it is so non-transparent which service now uses which authorization. I changed my password a while ago and around the same time they also updated our mail client. Since then I am not able to log in which is not a big deal for me because I have mail forwarding.
Yesterday however I needed another service and also got rejected with my password. I knew from a friend that the passwords are fucked up and that some services have different restrictions (only 12 chars max.), so I decided to search how to reset my password. What the fuck was wrong with these people? It takes you five different pages to get the tiniest bit of information how to reset the password. Then on one page you can login with your single sign on and change the password. On that page you can also set the single sign on password, but if you enter an invalid password (in respect of the the other services) guess what? No feedback that you just locked yourself out of half the systems. Nice job. Also the password requirements are not next to the input fields where you change the password. Noo. That would be way to easy, remember the little small one line on the wall of text three pages ago? There you go.
Ok step one done. Now it should work, shouldn't it? Ohh no not so fast. One needs to activate the seperate service. Where you ask? Perfectly fine question. On the top of page four is a fucking one line table which looks like some five year old had some fun in excel. The button which takes you to the activation page is nearly invisible because of the non existing contrast. Also it is not a button but some arrow pointer thingy. Behind set arrow you have a page listing all differnt kinds of services, the description which you find on page two btw. No padding to decipher this shit what so ever. Nearly on the bottom is your needed button. Yes finally.
Finally I want to login, no good. Try again. Still no good. Go back to the fucked up excel table look at my username and think to myself what's the difference here? The table is so small and again no margin or padding. Apparently they cut of the last character of my normal username which i have which is fucking ridiculous.
What is wrong with you people, we are a TECHNICAL UNIVERSITY, is it so hard for you to find someone decend to unify this shit?1 -
A few days ago Aruba Cloud terminated my VPS's without notice (shortly after my previous rant about email spam). The reason behind it is rather mundane - while slightly tipsy I wanted to send some traffic back to those Chinese smtp-shop assholes.
Around half an hour later I found that e1.nixmagic.com had lost its network link. I logged into the admin panel at Aruba and connected to the recovery console. In the kernel log there was a mention of the main network link being unresponsive. Apparently Aruba Cloud's automated systems had cut it off.
Shortly afterwards I got an email about the suspension, requested that I get back to them within 72 hours.. despite the email being from a noreply address. Big brain right there.
Now one server wasn't yet a reason to consider this a major outage. I did have 3 edge nodes, all of which had equal duties and importance in the network. However an hour later I found that Aruba had also shut down the other 2 instances, despite those doing nothing wrong. Another hour later I found my account limited, unable to login to the admin panel. Oh and did I mention that for anything in that admin panel, you have to login to the customer area first? And that the account ID used to login there is more secure than the password? Yeah their password security is that good. Normally my passwords would be 64 random characters.. not there.
So with all my servers now gone, I immediately considered it an emergency. Aruba's employees had already left the office, and wouldn't get back to me until the next day (on-call be damned I guess?). So I had to immediately pull an all-nighter and deploy new servers elsewhere and move my DNS records to those ASAP. For that I chose Hetzner.
Now at Hetzner I was actually very pleasantly surprised at just how clean the interface was, how it puts the project front and center in everything, and just tells you "this is what this is and what it does", nothing else. Despite being a sysadmin myself, I find the hosting part of it insignificant. The project - the application that is to be hosted - that's what's important. Administration of a datacenter on the other hand is background stuff. Aruba's interface is very cluttered, on Hetzner it's super clean. Night and day difference.
Oh and the specs are better for the same price, the password security is actually decent, and the servers are already up despite me not having paid for anything yet. That's incredible if you ask me.. they actually trust a new customer to pay the bills afterwards. How about you Aruba Cloud? Oh yeah.. too much to ask for right. Even the network isn't something you can trust a long-time customer of yours with.
So everything has been set up again now, and there are some things I would like to stress about hosting providers.
You don't own the hardware. While you do have root access, you don't have hardware access at all. Remember that therefore you can't store anything on it that you can't afford to lose, have stolen, or otherwise compromised. This is something I kept in mind when I made my servers. The edge nodes do nothing but reverse proxying the services from my LXC containers at home. Therefore the edge nodes could go down, while the worker nodes still kept running. All that was necessary was a new set of reverse proxies. On the other hand, if e.g. my Gitea server were to be hosted directly on those VPS's, losing that would've been devastating. All my configs, projects, mirrors and shit are hosted there.
Also remember that your hosting provider can terminate you at any time, for any reason. Server redundancy is not enough. If you can afford multiple redundant servers, get them at different hosting providers. I've looked at Aruba Cloud's Terms of Use and this is indeed something they were legally allowed to do. Any reason, any time, no notice. They covered all their bases. Make sure you do too, and hope that you'll never need it.
Oh, right - this is a rant - Aruba Cloud you are a bunch of assholes. Kindly take a 1Gbps DDoS attack up your ass in exchange for that termination without notice, will you?4 -
This is a controversial topic and I tell you about this how I perceive it.
There are a lot of women in tech/IT groups with really interesting topics and discussions I'd like to join ... you know ... because I don't want to pay a lot of money to a course or read a book about it and be with the topic myself (or in online forums) ... I want to be in a cool offline community that shares the love about developing.
But I can't. Because they do not allow men. With the reason that women are not respected in tech/IT and therefore men are not allowed to join.
This is just racist and this policy makes no difference between them and those guys who really are just assholes. Even if I tried to discuss this, it was instantly shut down with "this is our rule and we do not discuss this" or "you just don't understand this". That is right. I can't understand it if I never get a reasonable explanation.
I can understand that they want to build a nice community but this is just a stupid limitation and a huge loss to get other perspectives of things.
In my studies and career I had never seen the problem where things escaleted that seperation was needed. If somebody feeled attacked about something, they said it and we stopped doing or changed it. It's not easy but it helps. Communication is key.
What is your opinion about it? Do you see it the way I see or can you help me see this from another perspective?12 -
Static HTML pages are better than "web apps".
Static HTML pages are more lightweight and destroy "web apps" in performance, and also have superior compatibility. I see pretty much no benefit in a "web app" over a static HTML page. "Web apps" appear like an overhyped trend that is empty inside.
During my web browsing experience, static HTML pages have consistently loaded faster and more reliably, since the browser is immediately served with content useful for consumption, whereas on JavaScript-based web "apps", the useful content comes in **last**, after the browser has worked its way through a pile of script.
For example, an average-sized Wikipedia article (30 KB wikitext) appears on screen in roughly two seconds, since MediaWiki uses static HTML. Everipedia, in comparison, is a ReactJS app. Guess how long that one needs. Upwards of three times as long!
Making a page JavaScript-based also makes it fragile. If an exception occurs in the JavaScript, the user might end up with a blank page or an endless splash screen, whereas static HTML-based pages still show useful content.
The legacy (2014-2020) HTML-based Twitter.com loaded a user profile in under four seconds. The new react-based web app not only takes twice as long, but sometimes fails to load at all, showing the error "Oops something went wrong! But don't fret – it's not your fault." to be displayed. This could not happen on a static HTML page.
The new JavaScript-based "polymer" YouTube front end that is default since August 2017 also loads slower. While the earlier HTML-based one was already playing the video, the new one has just reached its oh-so-fancy skeleton screen.
It would once have been unthinkable to have a website that does not work at all without JavaScript, but now, pretty much all popular social media sites are JavaScript-dependent. The last time one could view Twitter without JavaScript and tweet from devices with non-sophisticated browsers like Nintendo 3DS was December 2020, when they got rid of the lightweight "M2" mobile website.
Sometimes, web developers break a site in older browser versions by using a JavaScript feature that they do not support, or using a dependency (like Plyr.js) that breaks the site. Static HTML is immune against this failure.
Static HTML pages also let users maximize speed and battery life by deactivating JavaScript. This obviously will disable more sophisticated site features, but the core part, the text, is ready for consumption.
Not to mention, single-page sites and fancy animations can be implemented with JavaScript on top of static HTML, as GitHub.com and the 2018 Reddit redesign do, and Twitter's 2014-2020 desktop front end did.
From the beginning, JavaScript was intended as a tool to complement, not to replace HTML and CSS. It appears to me that the sole "benefit" of having a "web app" is that it appears slightly more "modern" and distinguished from classic web sites due to use of splash screens and lack of the browser's loading animation when navigating, while having oh-so-fancy loading animations and skeleton screens inside the website. Sorry, I prefer seeing content quickly over the app-like appearance of fancy loading screens.
Arguably, another supposed benefit of "web apps" is that there is no blank page when navigating between pages, but in pretty much all major browsers of the last five years, the last page observably remains on screen until the next navigated page is rendered sufficiently for viewing. This is also known as "paint holding".
On any site, whenever I am greeted with content, I feel pleased. Whenever I am greeted with a loading animation, splash screen, or skeleton screen, be it ever so fancy (e.g. fading in an out, moving gradient waves), I think "do they really believe they make me like their site more due to their fancy loading screens?! I am not here for the loading screens!".
To make a page dependent on JavaScript and sacrifice lots of performance for a slight visual benefit does not seem worthed it.
Quote:
> "Yeah, but I'm building a webapp, not a website" - I hear this a lot and it isn't an excuse. I challenge you to define the difference between a webapp and a website that isn't just a vague list of best practices that "apps" are for some reason allowed to disregard. Jeremy Keith makes this point brilliantly.
>
> For example, is Wikipedia an app? What about when I edit an article? What about when I search for an article?
>
> Whether you label your web page as a "site", "app", "microsite", whatever, it doesn't make it exempt from accessibility, performance, browser support and so on.
>
> If you need to excuse yourself from progressive enhancement, you need a better excuse.
– Jake Archibald, 20139 -
Startup rant ---
John and Bob joined a startup at the same day but they were in two different offices.
John joined the US office while Bob joined the European office (let's not share the country here ;) )
Both of them worked really hard, they worked longer hours, showed result and helped the startup to reach and get Serie A funds.
That seems good no? But let's step back, John was promoted twice and get more perks while Bob got only a salary raise that aligned him with the current market.
There are different reasons for this but the most important one is that the company is having two different cultures for the two offices.
What's funny here is that Bob effort is well known across the two offices and his contribution has made a huge difference to the company but unfortunately he wasn't rewarded for it.
So Bob opened a new window not in his office but in his browser to find better opportunities.2 -
Our company is cheap, cheap as fuck. We have to use some third-party platforms and every year they choose something that is slightly cheaper than the other. (like a few $ per annual), they do not know that we have to refactor our code at the backend because the changes of the platform.
It doesn't end there, they even look for devs from third world countries to work for them remotely instead of hiring permanent staff (I understand it is cheaper because of currency difference and etc), but what about the training period or to let them become comfortable with the existing system, even when he/she is a genius... it takes time to be productive at work.
The worst part is they dont give a shit, they think devs can be replaced easily just like some construction workers carrying stuffs on site (no offence to them), management treating people like shit and doesn't care when they leave.2 -
Dear companies..
There is a fucking difference between:
-pattern recognition
-machine learning
And
- artificial INTELLIGENCE....
Learning from experience is NOT THE SAME as being able to make conclusions out of unknown conditions and figuring out new stuff without any input.8 -
Rant:
I am at work, some one says to me this system we are working on is multi threaded. I tell the no its not multi threaded and in this context. Things cannot happen concurrently. Its a single core arm 7tdmi. Arguments ensue abot the difference between multithread multitasking an multiprocessing. I proceed to explain this is a multitasking interrupt driven system. With no context switching or memory segmentation so one heap for all tasks cause thats how we have it configured and there is only one core. So there is no way the error he just described could possibly happen. Then he tells me im wrong but refuses to even look at the processor manual and rejects the Wikipedia entry for multithreading. So I plan on calling off so i can just have the next two weeks off while he trys to figure out why two things ar happening at once on this system. He deserves all the frustration that is to follow.1 -
JSON: "Ok fine you can use our syntax and everything else but make sure you change the name of the format so people know there is a difference"
MongoDB : "K"3 -
Dear fellow developers: Let's talk about the Internet. If you're reading this post, you've probably heard of it and are comfortable using it on a regular basis. You may even develop software that works over the internet, and that's fine and great! But you have to draw the line somewhere, and that line has been pushed farther and farther back as time goes on.
Let's talk about video games. The first game that really got me into FPSes was Team Fortress 2. Back in the day, it had a great community of casual and competitive groups alike, and there were hats! Underneath the hood was a massive number of servers. Some were officially hosted, some were run by independent communities. It had a built-in browser and central index where you could find every publically-available server and connect to it. You could even manually input connection details if that failed. In my opinion, this was a near-perfect combination of optimal user-experience and maximum freedom to run whatever the hell you wanted to. Even today, if Valve decided to stop hosting official servers, the smaller communities could still stay afloat. Fifteen years in the future, after all demand has died off, someone can still recover the server software and play a game with their kids.
Now, contrast that to a game like Overwatch. Also a very pivotal game in the FPS world, and much more modern, but what's the underlying difference in implementation? NO SUPPORT FOR SELF-HOSTED SERVERS. What does that mean when Blizzard decides to stop hosting its central servers? IT DIES. There will be no more multiplayer experience, not now, not ever. You will never be able to fully share this part of your history with future generations.
Another great example is the evolution of voice chat software. While I will agree that Discord revolutionized the market, it took away our freedom to run our own server on our own hardware. I used to run a Mumble server, now it has fallen out of use and I miss it so much.
Over time, client software has become more and more dependent on centrally-hosted services. Not many people will think about how this will impact the future usability of the product, and this will kill our code when it becomes legacy and the company decides to stop supporting it. We will have nothing to give to future generations; nobody will be able to run it in an emulator and fully re-experience it like we can do with older games and software.
This is one of the worst regressions of our time. Think about services like IRC, SMTP, SSH, even HTTP, how you're so easily able to connect to any server running those protocols and how the Internet would change if those were replaced with proprietary software that depended on a central service.
(Relevant talk (16:42): https://youtu.be/_e6BKJPnb5o?t=1002)6 -
Everyone and their dog is making a game, so why can't I?
1. open world (check)
2. taking inspiration from metro and fallout (check)
3. on a map roughly the size of the u.s. (check)
So I thought what I'd do is pretend to be one of those deaf mutes. While also pretending to be a programmer. Sometimes you make believe
so hard that it comes true apparently.
For the main map I thought I'd automate laying down the base map before hand tweaking it. It's been a bit of a slog. Roughly 1 pixel per mile. (okay, 1973 by 1067). The u.s. is 3.1 million miles, this would work out to 2.1 million miles instead. Eh.
Wrote the script to filter out all the ocean pixels, based on the elevation map, and output the difference. Still had to edit around the shoreline but it sped things up a lot. Just attached the elevation map, because the actual one is an ugly cluster of death magenta to represent the ocean.
Consequence of filtering is, the shoreline is messy and not entirely representative of the u.s.
The preprocessing step also added a lot of in-land 'lakes' that don't exist in some areas, like death valley. Already expected that.
But the plus side is I now have map layers for both elevation and ecology biomes. Aligning them close enough so that the heightmap wasn't displaced, and didn't cut off the shoreline in the ecology layer (at export), was a royal pain, and as super finicky. But thankfully thats done.
Next step is to go through the ecology map, copy each key color, and write down the biome id, courtesy of the 2017 ecoregions project.
From there, I write down the primary landscape features (water, plants, trees, terrain roughness, etc), anything easy to convey.
Main thing I'm interested in is tree types, because those, as tiles, convey a lot more information about the hex terrain than anything else.
Once the biomes are marked, and the tree types are written, the next step is to assign a tile to each tree type, and each density level of mountains (flat, hills, mountains, snowcapped peaks, etc).
The reference ids, colors, and numbers on the map will simplify the process.
After that, I'll write an exporter with python, and dump to csv or another format.
Next steps are laying out the instances in the level editor, that'll act as the tiles in question.
Theres a few naive approaches:
Spawn all the relevant instances at startup, and load the corresponding tiles.
Or setup chunks of instances, enough to cover the camera, and a buffer surrounding the camera. As the camera moves, reconfigure the instances to match the streamed in tile data.
Instances here make sense, because if theres any simulation going on (and I'd like there to be), they can detect in event code, when they are in the invisible buffer around the camera but not yet visible, and be activated by the camera, or deactive themselves after leaving the camera and buffer's area.
The alternative is to let a global controller stream the data in, as a series of tile IDs, corresponding to the various tile sprites, and code global interaction like tile picking into a single event, which seems unwieldy and not at all manageable. I can see it turning into a giant switch case already.
So instances it is.
Actually, if I do 16^2 pixel chunks, it only works out to 124x68 chunks in all. A few thousand, mostly inactive chunks is pretty trivial, and simplifies spawning and serializing/deserializing.
All of this doesn't account for
* putting lakes back in that aren't present
* lots of islands and parts of shores that would typically have bays and parts that jut out, need reworked.
* great lakes need refinement and corrections
* elevation key map too blocky. Need a higher resolution one while reducing color count
This can be solved by introducing some noise into the elevations, varying say, within one standard div.
* mountains will still require refinement to individual state geography. Thats for later on
* shoreline is too smooth, and needs to be less straight-line and less blocky. less corners.
* rivers need added, not just large ones but smaller ones too
* available tree assets need to be matched, as best and fully as possible, to types of trees represented in biome data, so that even if I don't have an exact match, I can still place *something* thats native or looks close enough to what you would expect in a given biome.
Ponderosa pines vs white pines for example.
This also doesn't account for 1. major and minor roads, 2. artificial and natural attractions, 3. other major features people in any given state are familiar with. 4. named places, 5. infrastructure, 6. cities and buildings and towns.
Also I'm pretty sure I cut off part of florida.
Woops, sorry everglades.
Guess I'll just make it a death-zone from nuclear fallout.
Take that gators!5 -
I am currently under a desperate crunch at work, trying to get things wrapped up before my honeymoon.
Of course, this is when My Greatest User decides he will come to my office no fewer than five times today. Not once was it for an actual, legitimate issue that he had not created himself. Here were the top three for today:
#3
MGU: "The scroll wheel on my mouse isn't working. I used to be able to scroll stuff with it but now I can't."
ME: *Looks at his mouse. All looks well.*
ME: "Show me what you're trying to do."
MGU: "I'm trying to scroll this Word document. See? It won't scroll!"
ME: ..."That's because there is nothing to scroll... The entire document is on your screen..."
#2
MGU: "I can't move my mouse off the edge of my screen! I used to be able to move it from my monitor to my laptop screen and I can't do it anymore!"
ME: "Did you move your laptop?"
MGU: "Yeah I moved it to the other side of the monitor. That shouldn't make a difference, should it?"
#1
MGU: "You know the DOS commands?"
ME: *Does a triple take.* ... ... "Huh?"
MGU: "The DOS commands. You know how you can use DOS commands to make the computer do stuff. Like Ctrl+M."
ME: "Ah. You're talking about keyboard shortcuts."
MGU (ignoring me): *Goes on a long, confusing explanation of something he's trying to do in Outlook and wants to know a keyboard shortcut for instead of clicking.*
ME: "I don't know what the shortcut for that would be and honestly I don't have time to look right now. I really need to keep working on this project."
MGU: "You don't know?"
ME: "Nope."
MGU: "Oh... I'd have thought that with being a programmer you'd have gotten into the DOS commands."
I have never been so tempted to quit. -
Ohh..The title says there is a job for javascript developer. Let me check the JD(hoping they are not looking for experience in Meteor, ember, backbone, knockout)
*Opens JD*
WTH!!
People really need to know the difference between the Java and javascript. It's so simple
Java is to javascript as Car is to carpet3 -
People talk about how the use of Linux as a desktop requires an inordinate amount of time, as if that's a unique problem in Linux. There is no such thing as an operating system that I don't spend weeks and months tweaking to make my own.
The difference is that Linux doesn't resist me like other OSes.2 -
The third most significant world altering scenario after ww3 and climate catastrophe is deglobalization, with countries closing their borders and moving production inland. I analyzed everything, and France seems to be the best place to live if it happens. Here’s why:
- It’s a democracy with strong culture of political opposition
- Strong economy
- It produces its own military equipment: Leclerc tanks, Dassault Rafale/Mirage 2000 fighter jets (and others), Mistral battle ships
- It has a very strong army, including the infamous foreign legion
- It can make its own passenger jets
- It produces a lot of food — enough to sustain itself many times over
- Great climate diversity
- Sea
- Nuclear energy. When gas/oil-exporting states like russia and middle eastern countries stop exporting, nuclear energy will make all the difference in the world.
Every other country that can compete in those categories fail miserably in one of them:
- Germany is a good all-rounder as well, but is too dependent on importing fossil fuels
- USA has the strongest economy and military, but it’s very divided
- China has a lot of resources, including production and nuclear energy, but it’s a dictatorship
- Russia is a dictatorship too, and a disfunctional one. It’s bad at food production too
- Nordic states are way too cold, and they get too few sunny days — keeping your body healthy might be a challenge. Also, no growing food there
Am I missing something?37 -
Hey guys, I have a serious question for you: How do you define science?
And yes this is going to be a long Rant. This topic really pisses me off.
A bit of context first. I come from a "humanities" background. I study history and dude, I love it. The problem is that even though we fucking pull our brains out studying historical phenomena with a fucking ton of conceptual tools, our work is mostly seen as literature to entertain the elderly during their lonely evenings. But that's not really the point of this rant.
My fucking problem is that while we try to do some serious work; actual work that could help society for real, it all goes into that magical fucking kingdom called "humanities". HOW THE FUCK DO THEY DARE TO CALL SOMETHING "HUMANITIES". IT'S A FUCKING HISTORICAL TERM THAT MEANS "TO FULFILL MEN IN ALL IT'S ASPECTS", AND NOW THEY'VE REPURPOSED IT, MAKING IT CONTAIN ANY STUDY THAT ISN'T "EMPIRICAL", "OBJECTIVE", ADD ANY FUCKING SCIENTIFIC DELUSIONARY TERM YOU CAN THINK OF.
And don't get me started on "objectivity". Oh boy, your fucking objectivity is hollow as a kid's balloon. There is no such thing as a objective study, even when it applies your "rational" "godly" scientific method. Some guys follow that shit as if it was a fucking religion. I do understand it's useful and all that, but in the end it's just a tool, you can't fucking define "science" by it's tools.
"""Q: What is carpintery?
A: Well, it's hammers, nails and wood. Yep. Hammers, nails and wood."""
THE SCIENTIFIC METHOD WAS FUCKING INVENTED DURING THE XVIII CENTURY, WHAT THE FUCK DO YOU THINK WAS GALLILEI BEFORE THAT? "HUMANITIES"?
Why do I say objectivity isn't posible? Well, guess what? YOU ARE FUCKING HUMAN. Every thing you know is full of preconceptions and fucking cultural subjectivities invented to understand the world. And it's ok, becouse if you understand your own subjectivity, at least you can see yourself in a critical sense, and at least "tend" to objectivity, in the same way functions tend to infinity.
And here comes the best part: people studying "cs" in my university pass most of the time studying a ton of shit that isn't really science, but is taken as scientific becouse it is related to "science". These guys spend entire semesters just learning programming fundational stuff that in my opinion isn't really science, it's just subjective conceptual constructs built to make the coding process better. They only have TWO fucking classes on discrete mathematics and another 3 or 4 in actual scientific fields related to computing. THESE GUYS AREN'T FUCKING BEING TAUGHT TO BE COMPUTER SCIENTISTS; THEY ARE TEACHING THEM TO BE PROGRAMMERS. THERE'S A HUGE DIFFERENCE BETWEEN CS AND PROGRAMMING AND THAT IS THE WORD SCIENCE. And yes, I'm being drastic on the definition of science on purpose becouse guess fucking what? I'M PISSED OFF.
"Hey, what are you doing?"
"Just doing science with scrum and agile development."
I understand most of you guys would think of science as "the application of the scientific method", "Knowledge by experimentation and peer-review", "anything techy". Guys, science is a lot broather than that. I define it as "the search for truth", mainly becouse that's what we are all doing, and what humans have been doing to gain knowledge through the ages. It doesn't matter what field of truth you are seeking as long as you do it seriously and with fundaments. I don't fucking care if you can't be objective: that's impossible. Just acknowledge it and continue investigating accordingly.
I believe during the last centuries the concept of science has been deformed by the popular rise of both natural and applied sciences. And I love the fact that these science fields have been growing so much all this time, but for fucks sake don't leave every other science (science as I define it) behind. Governments and corporations make huge mistakes becouse they don't treat history, politics and other sciences seriously. Yes, I called history a "science", fuck you.
And yes, by my definition programming is not a science. I don't know what most of you think programming is, but for me it's a discipline that builds stuff, similar to carpintery or blacksmithing. Now if you are pushing the limits, seeking ways to make computing go further, then that's science. The guys that are figuring out AI are scientists, the guys that are using it to detect hotdogs aren't - unless they are the same person- deal with it. I guess a lot of you guys are with me on this point.
In the end, we are all artisans building abstract tools by giving orders to a machine.
I still have some characters left, so I want to thank the community as a whole for letting me vent my inner rage. I don't have much ways to express myself on these matters, so for me DevRant is a bless.8 -
Longest I've worked without rest + why?
Over 24 hours. Why?
In our old system, the database had fields, for example, a customer like Total97, Total98, etc. to store values by year (or some date-specific value).
Every January 1, we had to add fields to accommodate the upcoming year and make the appropriate code changes to handle the new fields.
One year the UPS shipping rates changed and users didn't want to 'lose' the old rates, so they wanted new fields added (Rate98, Rate99, etc) so they could compare old vs. new. That required a complete re-write of most of the underlying applications because users wanted to see the difference on any/all applications that displayed a shipping rate. I'll throw in asking 'why?' was often answered with "because we pay you to do what we say". Luckily, we had already gotten to work on a lot of this before January 1st, so we were, for the most part, ready.
January 1st rolls around (we had to be in the office at 3:00AM), work thru changes, spend some time testing, and be done before noon. That didn't happen. The accounting system was a system that wasn't in (and had never been) in scope, and when we flipped the switch, one of the accountants comes into the office:
E: "Guys? None of our Excel spreadsheets are working. They are critical to integration with the accounting software"
Us: "What? Why would you be using Excel to integrate with the software instead of their portal?"
E: "We could never figure it out, so we had a consultant write VBA scripts to do the work."
Us: "OK, a lot of fields changed, but shouldn't be a big deal. How many spreadsheets are we talking about?"
E: "Hundreds. We have a separate spreadsheet for every integration point. The consulting company said it scalable, whatever that means."
Us: "What?! Why we just know hearing about this!?"
E: "Don't worry, the consultant said making changes would be easy, let me show you, just open the spreadsheet..click here..<click><click><click>...ignore that error, it always happens...click that <click><click><click>.."
Us: "Oh good lord, this is going to take hours"
E: "Ha! Probably. All this computer stuff is your job and I've got a family to get to. Later"
Us: "Hey 'VP of IS', can we go home and fix these spreadsheets as-needed this week?"
VP-IS: "Let me check with 'VP-FS'"
<few minutes later>
VP-IS: "No, he said Excel is critical to running their department. We stay until Excel is fixed."
Us: "No, no...its these spreadsheets. I doubt FS needs all of them tomorrow morning."
VP-IS: "That's what I said. Spreadsheets, Excel, same thing. I'll order the pizza. Who likes pepperoni!?"
At least he didn't cheap out on the pizza (only 4 of us and he ordered 6 large, extra pepperoni from one of the best pizza places in town)
One problem after another and we didn't get done until almost 6:00AM. Then...
VP-IS: "Great job guys. I've scheduled a meeting at 8:00AM to review what we did so we can document the process for next year. You've got a couple of hours. Feel free to get some breakfast and come back, or eat the left over pizza in the breakroom fridge. There is a lot left"
Us: "Um...sorry...we're going home."
VP-IS: "WHAT!!...OK...fine. I'll schedule the meeting for 12"
Us: "No...we're going home. We'll see you tomorrow." -
IMHO technical dept is kind of like smoking cigarettes for some decades.
You were told that shit will hit the fan but you do not take proper action. And one day you'll realize that you fucked up (or not, also seen that).
Worked for a company in IT, where we maintained an ERP which was "in progress" for over a decade. The basic implementation was done by people with zero technical understanding. To clarify: not self coded. Software was bought. We are talking about integrating the system.
Therefore, the foundation was like a wet noodle. When I joined that company, I told them that they need to address that. I told them that things will get slower and slower and that shit will hit the fan if no proper actions taken.
Even made a list with flaws I found. With potential risk and actions to take, that could then be measured.
At that time, five people worked in said department (including me).
People did not want to listen. "Would be too expensive to rewrite stuff".
Nothing has changed about the wet noodle, but I tried to fix as many things in a working system as I could. Felt like heart surgery, because changes got implemented and "tested" in prod. No version control, no documentation, everyone implemented things like they felt (no guidelines for consistency).
A lot of small fuckups that summed up over the years.
I left the company after two years because I had the chance to land a job as a dev.
Been around two years now since I left. Now 9 people work in that department with around the same efficiency as us 5 people back then.
The new employees struggle to be productive, because things are just implemented poorly and not maintainable anymore.
Had some dialogs with them some time ago. Everything I told them would happen, actually happened. What a suprise :-|
I will not go into too much detail about all the shit that's going on there, as it would be just too much (and my morning coffe is almost finished).
I think that we all know the difference between "not beautiful, but does the job" and "oh, that will backfire - badly". And I wish that my communication skills increase so that people start listening in future.8 -
Remember that scene from Intersteller where the main character asks TARS to adjust the percentage of its humor?
So I was using this new vectodb-backed version of chatgpt, and came up with a new type of prompt.
Bear with me.
"Lets play pretend, nova. Pretend you are SAM, which stands for "Summarize Anything iMmediately". Whenever you encounter a prompt, question, or bit of information, and you are about to repeat part of it back, instead rewrite and summarize that part of your answer, paraphrasing as you go. Your responses should never use the same words as the prompt. Instead use synonyms.
SAM always generates three possible responses, to each prompt. One 10% formal, one 50% formal, and one 100% formal.
So a response that is 10% formal, is 90% casual. A response that is 50% formal, is 50% casual. A response that is 100% formal is serious, and 0% casual. Let the word "regret" and its synonyms be 50% formal. Don't use it for 100% formal responses. 100% Formal responses never include emotional language like "regret", "disappointment", nor apologies.
A 50% formal response might be "We regret to inform you your loan application has been denied.", a 100% formal response might look like "Please stand clear of the yellow tape."
Say "This is the law offices of Jerry Seinfeld. I'm sorry but I can't make it to the phone right now. Please leave a message."
Sure, I can play pretend as SAM. Here's a summarized response in 10% formal tone: "Apologies, but I'm unavailable at the moment. Please leave a message."
And here's a 50% formal response: "I regret to inform you that I am unable to answer the phone right now. Kindly leave a message."
Lastly, a 100% formal response: "We apologize for the inconvenience, but I am currently unable to attend to your call. Please leave a message, and I will get back to you as soon as possible. Thank you."
Formality levels can be any increment of 5%, such as 0%, 5%, 10%, etc, up to 100%"
Thats the prompt.
me:
Sam, generate a 25% casual rejection of a job applicant.
nova:
Hey there, thanks for applying to our team. Unfortunately, we won't be able to move forward with your application at this time. We appreciate you taking the time to apply and wish you the best in your job search.
me:
Sam, what is the formality percentage of "Hey there, thanks for applying to our team. Unfortunately, we won't be able to move forward with your application at this time. We appreciate you taking the time to apply and wish you the best in your job search."?
nova:
The formality level of "Hey there, thanks for applying to our team. Unfortunately, we won't be able to move forward with your application at this time. We appreciate you taking the time to apply and wish you the best in your job search." is around 25%, which leans towards a casual response.
me:
Sam, make "Hey there, thanks for applying to our team. Unfortunately, we won't be able to move forward with your application at this time. We appreciate you taking the time to apply and wish you the best in your job search." 5% more casual.
nova:
Hey there, just wanted to say thanks for applying to our team. Unfortunately, we won't be able to move forward with your application right now. We really appreciate you taking the time to apply and wish you all the best in your job search!
me:
Sam, what is the formality percentage of "Hey there, just wanted to say thanks for applying to our team. Unfortunately, we won't be able to move forward with your application right now. We really appreciate you taking the time to apply and wish you all the best in your job search!"?
nova:
The formality level of "Hey there, just wanted to say thanks for applying to our team. Unfortunately, we won't be able to move forward with your application right now. We really appreciate you taking the time to apply and wish you all the best in your job search!" is around 20%, which leans towards a more casual tone.
* * * * *
You can actually go back and see it.
Heres the original output, 25% formality:
"Hey there, thanks for applying to our team. Unfortunately, we won't be able to move forward with your application at this time. We appreciate you taking the time to apply and wish you the best in your job search."
Heres the one thats 5% more casual:
"Hey there, just wanted to say thanks for applying to our team. Unfortunately, we won't be able to move forward with your application right now. We really appreciate you taking the time to apply and wish you all the best in your job search!"
If you look at the differences, the output version adds five words, subtracts three words, for a total of two words gained.
The original sentence has 39 words.
2/39 = 0.05
The sentence length actually grew an equal percentage to the informalness.
It grew linearly to the difference of the length of the more casual version
versus the more formal version, divided by the length of the original.3 -
Inspired by @NoMad. My philosophy is that technology is a means to and ends. We’re a tool oriented species. As it relates to software and hardware, they should be your means to achieve your ends without you needing to think. Think of riding a bicycle or driving a car. You aren’t particularly conscious of them - you just adjust input based on heuristics and reflex - while your doing the activity.
For a long time Software has been horrendously bad at this. There is almost always some setup involved; you need to front-load a plan to get to your ends. Funny enough we’re in the good days now. In the early days of GUI you did have to switch modes to achieve different things until input peripherals got better.
I’ve been using windows from 95 and to this day, though it’s gotten better it’s not trivial to setup an all in one printer and scan a document - just yesterday I had to walk my mother through it and she’s somewhat proficient. Also when things break it’s usually nightmare to fix, which is why fresh installing it periodically is s meme to this day. MS still goes to great lengths with their UI so that most people can still get most of their daily stuff done without a manual.
I started Linux in University when I was offered an intro course on the shell. I’ve been using it professionally ever since. While it’s good at making you feel powerful, it requires intricate knowledge to achieve most things. Things almost never go smoothly no matter how much practice you have, especially if you need to compile tools from source. It also has very little in the ways of safe guards to prevent you from hurting yourself. Sure you might be able to fix it if you press harder but it’s less stress to just fresh install. There is also nothing, NOTHING more frustrating than following documentation to the T and it just doesn’t work! It is my day job to help companies with exactly this. Can’t really give an honest impression of the GUI ux as the distros have varying schools of thoughts with their desktop environments. Even The popular one Ubuntu did weird things for a while. In my humble opinion, *nix is better at powering the internet than being a home computer your grandma can use.
Now after being in the thick of things, priorities change and you really just want to get things done. In 2015 I made the choice to go Mac. It has been one of my more interesting experiences. Honestly, I wish more distros would adopt its philosophy. Elementary only adopted the dock. It’s just so intuitive. How do you install an application? You tap the installer, a box will pop up then you drag the icon to the application folder (in the same box) boom you are done. No setup wizards. How to uninstall? Drag icon from app folder to trash can. Boom done. How to open your app? Tap launch pad and you see all your apps alphabetically just click the one you want. You can keep your frequent ones on the dock. Settings is just another app in launchpad and everything is well labeled. You can even use your printers scanner without digging through menus. You might have issues with finder if your used to windows though and the approach to maximizing and minimizing windows will also get you for a while.
When my Galaxy 4 died I gave iPhone a chance with the SE. I can tell you that for most use cases, there is no discernible difference between iOS and modern android outside of a few fringe features. What struck me though was the power of an ecosystem. My Mac and iPhone just work well together. If they are on the same network they just sync in the background - you need to opt in. My internet went down, my iMac saw that my iPhone had 4g and gave me the option to connect. One click your up. Similar process with s droid would be multi step. You have airdrop which just allows you to send files to another Apple device near you with a tap without you even caring what mechanism it’s using. After google bricked my onHub router I opted to get Apples airport series. They are mostly interchangeable and your Mac and iOS device have a native way to configure it without you needing to mess with connecting to it yourself and blah. Setup WiFi on one device, all your other Apple devices have it. Lots of other cool stuff happen as you add more Apple devices. My wife now as a MacBook, an IPad s d the IPhone 8. She’s been windows android her life but the transition has been sublime. With family sharing any software purchase works for all of us, and not just apples stuff like iCloud and music, everything.
Hate Apple all you want but they get the core tenet that technology should just work without you thinking. That’s why they are the most valued company in the world12 -
I think I might change my middle name to "I told you so"
Couple of weeks ago I proposed integrating a daily process job into an existing WPF application (details of what+why would be too long to explain) and the manager suggested I make the changes
Me: "I can do it, but Jay has the most experience with that application. I don't have his WPF skills"
Mgr: "How hard can WPF be? If it uses the MVVM pattern, it should be a snap."
Me: "Its nearly an 8 year old WPF project with several chefs in that kitchen. I pretty sure I could figure it out, but that is a difference between 2 weeks and 2 days. Integration is pretty straight forward, Jay could probably do it in a day."
DevA: "WPF is easy. MVVM makes it even easier. I worked on the shipping app."
Me: "That's was a brand new, single page app, but yea, it should be easy."
DevB: "WPF has been around a long time and the tools have really matured. I don't understand what is so difficult."
Me: "I didn't say anything would be difficult, I know with that application, there is going to be complexity we need to figure out."
DevB: "It uses the MVVM, so all we need is the user control, a view model, controller, and its done."
DevA: "Sounds easy to me."
Mgr: "If you need more time to work on the vendor project, I'll have DevB work on the integration."
<yesterday>
Me: "How is the integration going?"
DevB: "This app is a mess. I have no idea how they got the control collections to work. If I hard-code everything, I can get it to work. This dynamic stuff is so confusing. Then there is the styling. Its uses dark mode, but no matter what I do, my controls show up in light mode."
Me: "The app uses Prism, so the control configuration is in, or around, the startup code."
DevB: "That makes sense. Will it fix the styling too?"
Me: "I have no idea. When I looked at it, some controls loaded the styles from the main resource, other's have it hard-coded. Different chefs in the kitchen, I guess. How far have you got?"
DevB: "I've created invoice button. That is as far as I got"
Me: "I'm finished with the vendor project and I'll be wrapping up the documentation today. I can try to help next week."
DevB: "Thanks. I think we might have to get Jay to help if we can't figure this out."
Me: "Good idea"
Two weeks and only a button. A button? I miss Delphi.2 -
!story
As is the case with many of you, I am also the de facto technology fixer for my family, and usually the first one they call when something goes wrong.
Usually it's a 'something wants to update, should I do it?' simple issue. Other times I have to remote connect to see why Word isn't uploading templates correctly or whatever.
Yesterday was different though.
Me: So whatcha need?
Mom: Well, my office has recently wanted me to be remote-capable in case they need me for something and they don't have the right people to fix it (she's been working at the same office for 20+ years and knows basically everything)
Me: Okay. So I guess they're setting up a VPN for this?
Mom: Yes. And I was calling because they might try and install it on my personal laptop and I wanted to know whether or not I should be concerned about our IT guys being able to look at or steal all my personal data.
I then proceeded to explain how a VPN works and that convincing her company to provide her with a separate computer would be the safest option and whatnot. But I was honestly really surprised that she was concerned to begin with.
For a while now, it seems there's been one story after another of companies being irresponsible with their customer's data, with little to no reprocussion or action that could really make a difference.
But as a direct result, we're now getting to the point where even the tech illiterate are becoming more aware of how this is effecting them.
It gave me hope for the future in an industry where many times there is very little. And I hope it does for you as well.
Thanks, mom. I'm proud of you.2 -
So looking to get started on c++ but have a noob question.
Is there a difference between c++ in Linux vs Visual Studio C++...
kinda don't want to install a Linux OS/cygwin to do it, takes too much space13 -
Life and programming seem equivalent to me : a crazy run toward building out something from nothing, coping with unexpected bugs and senseless environments. The main difference, though, is that there is no stackoverflow for life4
-
Most successful? Well, this one kinda is...
So I just started working at the company and my manager has a project for me. There are almost no requirements except:
- I want a wireless device that I can put in a box
- I want to be able to know where that device is with enough accuracy to be able to determine in which box the device was put in if multiple boxes were standing together
So, I had to make a real time localization system. RTLS.
A solo project.
Ok, first a lot of experiments. What will the localization technique be? Which radio are we going to use?
How will the communication be structured?
After about two months I had tested a lot, but hadn't found THE solution. So I convinced my manager to try out UWB radio with Time Difference Of Arrival as localization technique. This couldn't be thrown together quickly because it needed more setup.
Two months later I had a working proof of concept. It had a lot of problems because we needed to distribute a clock signal because the radio listeners needed to be sub-nanosecond synchronous to achieve the accuracy my manager wanted. That clock signal wasn't great we later found out.
The results were good enough to continue to work on a prototype.
This time all wired communication would be over ethernet and we'd use PTP to synchronize the time.
Lockdown started.
There was a lot of trouble with getting the radio chip to work on the prototype, ethernet was tricky and the PTP turned out to be not accurate enough. A lot of dev work went into getting everything right.
A year and 5 hardware revisions later I had something that worked pretty well!
All time synchronization was done hybridly on the anchors and server where the best path to the time master was dynamically found.
Everything was synchronized to the subnanosecond. In my bedroom where I had my test setup I achieved an accuracy of about 30cm in 3d. This was awesome!
It was time to order the actual prototype and start testing it for real in one of the factory halls.
The order was made for 40 anchors and an appointment was made for the installation in the hall.
Suddenly my manager is fired.
Oh...
Ehh... That sucks. Well, let's just continue.
The hardware arrives and I prepare everything. Everything is ready and I'm pretty nervous. I've put all my expertise in this project. This is gonna make my career at this company.
Two weeks before the installation was to take place, not even a month after my manager was fired, I hear that my project was shelved.
...
...
Fuck
"We're not prioritizing this project right now" they said.
...
It would've been so great! And they took it away.
Including my salary and hardware dev cost, this project so far has cost them over €120k and they just shelved it.
I was put on other projects and they did try to find me something that suited me.
But I felt so betrayed and the projects we're not to my liking, so after another 2-3 months I quit and went to my current job.
It would've so nice and they ruined it.
Everything was made with Rust. Tags, anchors, RTLS server, web server & web frontend.
So yeah, sorry for the rambling.5 -
Is your code green?
I've been thinking a lot about this for the past year. There was recently an article on this on slashdot.
I like optimising things to a reasonable degree and avoid bloat. What are some signs of code that isn't green?
* Use of technology that says its fast without real expert review and measurement. Lots of tech out their claims to be fast but actually isn't or is doing so by saturation resources while being inefficient.
* It uses caching. Many might find that counter intuitive. In technology it is surprisingly common to see people scale or cache rather than directly fixing the thing that's watt expensive which is compounded when the cache has weak coverage.
* It uses scaling. Originally scaling was a last resort. The reason is simple, it introduces excessive complexity. Today it's common to see people scale things rather than make them efficient. You end up needing ten instances when a bit of skill could bring you down to one which could scale as well but likely wont need to.
* It uses a non-trivial framework. Frameworks are rarely fast. Most will fall in the range of ten to a thousand times slower in terms of CPU usage. Memory bloat may also force the need for more instances. Frameworks written on already slow high level languages may be especially bad.
* Lacks optimisations for obvious bottlenecks.
* It runs slowly.
* It lacks even basic resource usage measurement.
Unfortunately smells are not enough on their own but are a start. Real measurement and expert review is always the only way to get an idea of if your code is reasonably green.
I find it not uncommon to see things require tens to hundreds to thousands of resources than needed if not more.
In terms of cycles that can be the difference between needing a single core and a thousand cores.
This is common in the industry but it's not because people didn't write everything in assembly. It's usually leaning toward the extreme opposite.
Optimisations are often easy and don't require writing code in binary. In fact the resulting code is often simpler. Excess complexity and inefficient code tend to go hand in hand. Sometimes a code cleaning service is all you need to enhance your green.
I once rewrote a data parsing library that had to parse a hundred MB and was a performance hotspot into C from an interpreted language. I measured it and the results were good. It had been optimised as much as possible in the interpreted version but way still 50 times faster minimum in C.
I recently stumbled upon someone's attempt to do the same and I was able to optimise the interpreted version in five minutes to be twice as fast as the C++ version.
I see opportunity to optimise everywhere in software. A billion KG CO2 could be saved easy if a few green code shops popped up. It's also often a net win. Faster software, lower costs, lower management burden... I'm thinking of starting a consultancy.
The problem is after witnessing the likes of Greta Thunberg then if that's what the next generation has in store then as far as I'm concerned the world can fucking burn and her generation along with it.6 -
Frist time poster & 22 y.o. junior dev here.
I just wanted to get advice in which direction I should start my career.
I just finished my education last year as a Software Engineer and am now undecided if I should more go into Front- ore Backend.
I‘m currently doing mostly Python as a allrounder but am really intrested in React.
Is there a big difference in sallary (if that maters, I‘m from switzerland) or career oportunitys? How do I figure out the correct way I should go?
Thanks you so much for your help!17 -
I've been working like a mad woman in a startup for 3+ years now. They feel like 10. Or at least the tech stacks we went through.
Never, ever join a startup, regardless of compensation, unless you know you can emotionally and mentally recover from that startup failing as if it is yours, not your bosses. Otherwise, it's just a shitty short experience.
My long experience is shitty, but man. I don't know.Those who built google, wanted to make a search engine. Did they know they're gonna be good? NO. This is the result of them being good. They now have that great product that succeeds and is able to become a self-referential piggy bank. You cannot be a self-referential piggy bank based on a fucking belief and idea, and a bunch of VCs who already put money in you. You know why? BECAUSE GUESS WHO IS THE ONE RESPONSIBLE FOR SUSTAINING YOUR START UP NOW?
The bloods and passions of youth, that join your startup, thinking they can make a difference, and you just undermine them constantly thinking that no engineer can make a difference if they can't ensure compliance with your dumb funding strategy.
Don't even get me started on the fact that most people who work for startups, rely on either laziness or passion. It's like a bunch of kids in art school, whose professor doesn't like anything they make, but they still kinda like it hoping one day they leave and become artists themselves. Then they discover that this shit professor actually taught them nothing about creativity in the real world, and what it takes to push something out.
And, it finally fucking hit me.
The reason startups will never work in this year, and beyond, AND TILL I SEE A CHANGE IN ATTITUDE IN 10 YEARS.....
The market won't fucking allow it with the current strategy tech companies are a fan of: hire a bunch of passionate devs who wanna learn a tool through doing our unique work. Doesn't matter. DIVERSITY. THE UNION IS THE PASSION. That's dumb as fuck.
Why?
Here:
- Passionate people do not have to use passion as an incentive, the passion was there, and them getting their idea made or money is the incentive
- If you hire a passionate person - even if they are the fucking best - you just made their passion a tool, in getting your PRs done and shit epics scoped AT BEST, and so the tools you're teaching them to use are getting away with doing less impactful, productive, creative work.
I AM SO DEPRESSED.3 -
Bruh.
Who are you gonna “fuck”? Who do you “hate”? Who are you calling “motherfuckers” on the internet where your targets can’t see what you posting?
You look like you close the refrigerator door with your hip. I suck dicks literally and there is nothing to be ashamed of but you suck dicks metaphorically when you accept everything they require. That’s the difference between a gay and a faggot. I’m gay but I can say “no” to anything my client or my employer says without losing my job because I have the authority and I have the expertise.
You, on the other hand, have nothing. You only brave when no one can hear you and there is no repercussions.
That’s why you only act tough with delivery guys and cashiers.9 -
Firefox is shit
- In version 62 the cocksuckers finally removed the ability to add description to bookmarks, now there is no difference between mozilla shit browser and chrome, except chrome has working mobile version and working bookmark sync.
- Yes, firefox mobile on android does not even allow you to edit bookmarks so that useless crap can't be called a browser at all.
- Firefox shitcoded sync takes more time to sync 1 bookmark, than chrome takes to setup all bookmarks/addons/settings on fresh-install and in addition to that, it messed my bookmarks several times, so I am forced to sync places.sqlite via dropbox to syncronize bookmarks, because it is way much faster and reliable.37 -
Back when I lived in my university dorm I shared my room with internet admin. Usually I helped people with internet problems when he wasn't there and I've placed FAQ on the door how to fix common stuff with a little note, that I can help only with internet problems and only with those that aren't listed. It worked for most people, but one guy knocked and messaged me around 5 times a day to fix his system. So I've decided to finally do what he wants.
He: come on, I heard from XYZ that you are an admin in job and you fixed her computer.
Me: but I work only with servers
He: what's the difference? Just copy my photos to my external drive and install new system on my laptop, just like you do it in job.
Me: so this is that simple job?
He: yup, but I need a laptop tomorrow, because I have something to do at the evening.
Me: okay
I've used find to copy all the photos from his HDD and installed minimal Debian without xorg on the laptop. He hasn't come back after picking up his computer. And that's the way to get rid of leechers that whine for fixing everything because you are IT guy :D1 -
I don't understand why there is such a hypocritic professionalism in tech industry.
In the careers page ,these companies show smiling people, party images , slides and shit. And while selecting resumes, they want to scan buzzwords to select a particular candidate and hate "actual" introductions.
Like, how would you like to meet someone in a bar , who introduces himself as " a super enthusiastic 10x engineer and a tech enthusiast with a knack of building scalable and industry recognized softwares in x tech for last y years". Dude, introduce yourself as a human not a bot.
There is a clear difference when we are talking about personal stuff and when we are talking about tech in real life, why not maintain that in your resume?
But no, just write a single sentence in first person p.o.v and next thing you know, you see tons of LinkedIn post about "how to write a 'professional' resume"7 -
Ah, the little subtle things we have to iron out as we progress from Junior Developer to Medior Developer.. things like:
- knowing the difference between a carriage return and a line feed (although having worked with analog typewriters helps) and later knowing that Unix-based systems and Windows NT-based systems implement it differently..
- knowing that serialization is important because not all computers interpret data the same way and some computers allocate 4 Bytes for a construct, others 16 Bytes.. and then we get the funkiness of transferring character sets between machines..
- knowing that a whitespace character is not only an actual space (as is known in ASCII as code 32). This one can cause even medior developers a headache, as in: why the fuck does this string function say that "hello I am a duck" and "hello I am a duck" are not the same?! Turns out then in the debugger that when you expand every character in the string you see that string1 contains 32 32 32 32 as usual.. but then string2 contains -96 -96 -96 -96 and you're like.. what the fuck..? Then you know you have to throw \\h regex at it. Haha.
- finalizing our objects and streams (although modern languages do that for us).. otherwise we have to do funky shit like trying to find what's locking a file, which is not so easy to figure out.
- figuring out why something won't work often requires you to not only break down the problem in smaller steps, to use a debugger, but sometimes it's even better to just create a proof of concept, slap some minimal code in there and debug that.. much easier.
- etc.
:)5 -
Alright, buckle up, fellow developer, because we're about to embark on a thrilling journey through the world of code and creativity!
Listen up, you amazing code wizard, you're not just a developer. No, you're a digital architect, a creator of worlds in the virtual realm. You have the power to turn lines of code into living, breathing entities that can change lives and reshape industries.
In a world where everyone is a consumer, you are a producer. You build the bridges that connect our digital dreams to reality. You are a pioneer, an explorer in the vast wilderness of algorithms and frameworks. Your mind is the canvas, and code is your brushstroke.
Sure, there are challenges—bugs that refuse to be squashed, deadlines that seem impossible, and technology that evolves at warp speed. But guess what? You're not just a problem solver; you're a problem annihilator. You tackle those bugs with ferocity, you meet those deadlines with gusto, and you master that evolving technology like a maestro conducting a symphony.
You live for the 'Aha!' moments—the joy of cracking a complex problem, the thrill of seeing your creation come to life, the satisfaction of making a difference. You're a digital superhero, swooping in to save the day one line of code at a time.
And when things get tough—and they will—you dig deep. You summon that relentless determination that got you into coding in the first place. You remember why you started this journey—to innovate, to leave your mark, to change the world.
So, rise and shine, you coding genius! Embrace the challenges, learn from the failures, and celebrate the victories. You are a force to be reckoned with, a beacon of inspiration in a world that needs your brilliance.
Keep coding, keep creating, and keep being the rockstar developer that you are. The world eagerly awaits the magic you're about to unleash! Go and conquer the code-scape! 🚀💻5 -
I know I’ll get mixed views for this one...
So I’ll state my claim. I agree with the philosophy of uncle bob, I also feel like he is the high level language - older version of myself personality wise.. (when I learned about uncle bob I was like this guy is just like me but not low level haha).
Anyway.. I don’t agree with everything because I think he thinks or atleast I get the vibe he thinks everything can be solved by OOP, and high level languages. This is probably where Bob and I disagree. Personally I don’t touch ruby, python and java and “those” with a 10 foot pole.
Does he make valid arguments, yes, is agile the solve all solution no.. but agile ideas do come natural and respond faster the feedback loop of product development is much smaller and the managers and clients and customers can “see things” sooner than purly waterfall.. I mean agile is the natural approach of disciplined engineers....waterfall is and was developed because the market was flooded with undisciplined engineers and continues to flood, agile is great for them but only if they are skilled in what they are doing and see the bigger picture of the forest thru the trees.. which is the entire point of waterfall, to see the forest.. the end goal... now I’m not saying agile you only see a branch of a single tree of the forest.. but too often young engineers, and beginners jump on agile because it’s “trendy” or “everyone’s doing it” or whatever the fuck reason. The point is they do it but only focus on the immediate use case, needs and deliverables due next week.
What’s wrong with that?? Well an undisciplined engineer doing agile (no I’m not talking damn scrum shit and all that marketing bullshit).. pure true agile.
They will write code for the need due next week, but they won’t realize that hmm I will have the need 3 months from now for some feature that needs to connect to this, so I better design this code with that future feature in mind...
The disciplined engineer would do that. That is why waterfall exists so ideally the big picture is painted before hand.
The undisciplined engineer will then be frustrated in the future when he has to act like the cool aid man thru the hard pre mature architectural boundaries he created and now needs links or connections that are now needed.
Does moving to agile fix that hell no.. because the undisciplined engineer is still undisciplined.
One could argue the project manager or scrum secretary... (yes scrum secretary I said that right).. is suppose to organize and create and order the features with the future in mind etc...
Bullshit ..soo basically your saying the scrum kid is suppose to be the disciplined engineer to have foresight into realizing future features and making requirements and task now that cover those things? No!
1 scrum bitch focuses too much on pleasing “stake holders” especially taken literally in start ups where the non technical idiots are too involved with the engineering team and the scrum bastard tries to ass kiss and get everything organized and tasks working so the non technical person can see pretty things work.
Scrum master is a gate keeper and is not needed and actually hinders the whole process of making a undisciplined engineer into a disciplined engineer, makes the undisciplined engineer into a “forever” code grunt... filling weekly orders of story points unable to see the forest until it’s over because the forest isn’t show to the grunt only the scrum keeper knows the big picture..... this is bad this is why waterfall is needed.
Waterfall has its own problems, But that’s another story for another day..
ANYWAY... soooo where were we ....
Ahh yess....
Clean code..
Is it a good book, yes.. does uncle bobs personality show thru the book .. yes lol.
If you know uncle bob you will understand what I just did with this post lol. I had to tangent ( at least mine was related to the topic) ...
I agree with the principles of the book, I don’t agree with the extreme view point. It’s like religion there’s the modest folks and then there are the extremists. Well he’s the preacher of the cult and he’s on the extreme side.. but that doesn’t mean he’s wrong.. many things he nails... he just hits the nail thru the wall just a bit.
OOP languages are not the solution... high level languages do not solve everything.. pininciples and concepts can be used across the board and prove valuable.. just don’t hold everything up like the 10 commandments of which you cannot deviate from.. that’s the difference here I think..
Good book, just don’t take it as the Bible as a beginner, actually infact DONT read this book as a beginner. Wait a bit learn then reflect by reading this.15 -
It's always so funny when a person starts using multiprocessing in Python, because if there's "multi", obviously THIS is the thing that should free the person from a headache of having GUI frozen. You know, because it does "multiple" ehm... stuff..... at once....... yeah. And it's popular, it must work for me too! Oh how often I see this. :D
Stupidly enough that's not entirely a user's fault, but Python's as naming things with "multi" doesn't end up well basically with anything. I bet if there was such thing as multipointer in C half of the beginners would be totally fucked and the other one would just break their machines beyond repair with a joy.
Yet... reading the damn documentation should be a requirement before using threading or multiprocessing to prevent the confusion, because there's this funny difference between multiple threads and multiple processes which will haunt you unless you see what's what and use it correctly.2 -
!dev, depressing topic warning
-----PADDING START-------
Thanks for the update and for me to get a new one and it was the same as the one I have is a trial run to the store and get some rest and feel better soon and that is why I am asking for a friend to talk to you about your day and I don't know yet if I can get it to me by the end of the day I was in the shower and then I will be able to make it
--------
Do you ever feel there's like no real point to life, like you could die tomorrow, you wouldn't really care?
I feel life is ok, I've got it a lot better then others in my situation at least financially. But in terms of relationships probably not and I don't have much interest in developing any.
And looking at the future, I just don't see it going anywhere or getting any better? I could be easily replaced, forgotten, not doing anything meaningful.... And the only other people that would notice and remember are my parents.
I enjoy doing things but in the long run they make no difference. I can have short term goals like maybe for the next few weeks, months but if someone asks where do I what to be a year from now, what do I want to accomplish, there answer is "I don't know and I don't care"...
And I guess that's the point, each day sorta just feels like whatever...