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 - "no difference"
-
New for avatars - emotions! You can now change your facial expression on your avatar to better capture your dev mood! Getting expressions working right turned out to be quite the undertaking due to the ripple effect of the various layers that each expression touched so our total layers just for men ballooned out from 300 layers to 1100. And @dfox re-architecting how layers work to handle the interconnectedness of expression meant tying together facial expression, skin tone, facial hair, and hair color to make sure everything stays in sync. It’s a fun new addition, I hope everyone enjoys!
I also want to apologize for the delay in getting this out, I meant to have this done ages ago but I got thrown a curveball at work and was laid off back in April and have been super stressed running around trying to find a new job for the past 3 months. I figured I’d have more free time to work on devRant, but hunting for work is so exhausting, it’s really taken its toll emotionally and financially (no unemployment benefits because according to my state even though we lose money every month “you’re still a corporate officer”). Things are finally looking promising on the job search front, and I expect once things get back to normal @dfox and I can get our release velocity back up, but until then, please bear with me.
P.S. If you have the resources, we certainly do appreciate your support with devRant++ Your monthly contributions really do make a difference! Thanks all!44 -
Yesterday, in a meeting with project stakeholders and a dev was demoing his software when an un-handled exception occurred, causing the app to crash.
Dev: “Oh..that’s weird. Doesn’t do that on my machine. Better look at the log”
- Dev looks at the log and sees the exception was a divide by zero error.
Dev: “Ohhh…yea…the average price calculation, it’s a bug in the database.”
<I burst out laughing>
Me: “That’s funny.”
<Dev manager was not laughing>
DevMgr: “What’s funny about bugs in the database?”
Me: “Divide by zero exceptions are not an indication of a data error, it’s a bug in the code.”
Dev: “Uhh…how so? The price factor is zero, which comes from a table, so that’s a bug in the database”
Me: “Jim, will you have sales with a price factor of zero?”
StakeholderJim: “Yea, for add-on items that we’re not putting on sale. Hats, gloves, things like that.”
Dev: “Steve, did anyone tell you the factor could be zero?”
DBA-Steve: “Uh...no…just that the value couldn’t be null. You guys can put whatever you want.”
DevMgr: “So, how will you fix this bug?”
DBA-Steve: “Bug? …oh…um…I guess I could default the value to 1.”
Dev: “What if the user types in a zero? Can you switch it to a 1?”
Me: “Or you check the factor value before you try to divide. That will fix the exception and Steve won’t have to do anything.”
<awkward couple of seconds of silence>
DevMgr: “Lets wrap this up. Steve, go ahead and make the necessary database changes to make sure the factor is never zero.”
StakeholderJim: “That doesn’t sound right. Add-on items should never have a factor. A value of 1 could screw up the average.”
Dev: “Don’t worry, we’ll know the difference.”
<everyone seems happy and leaves the meeting>
I completely lost any sort of brain power to say anything after Dev said that. All the little voices kept saying were ‘WTF? WTF just happened? No really…W T F just happened!?’ over and over. I still have no idea on how to articulate to anyone with any sort of sense about what happened. Thanks DevRant for letting me rant.15 -
Interview with a candidate. He calls himself "C++ expert" on his resume. I think: "oh, great, I love C++ too, we will have an interesting conversation!"
Me: let's start with an easy one, what is 'nullptr'?
Him: (...some undecipherable sequence of words that didn't make any sense...)
In my mind: mh, probably I didn't understand right. Let's try again with something simple and more generic
Me: can you tell me about memory management in C++?
Him: you create objects on the stack with the 'new' keyword and they get automatically released when no other object references them
In my mind: wtf is this guy talking about? Is he confusing C++ with Java? Does he really know C++? Let's make him write some code, just to be sure
Me: can you write a program that prints numbers from 1 to 10?
Ten minutes and twenty mistakes later...
Me: okay, so what is this <int> here in angle brackets? What is a template?
Him: no idea
Me: you wrote 'cout', why sometimes do I see 'std::cout' instead? What is 'std'?
Answer: no idea, never heard of 'std'
I think: on his resume he also said he is a Java expert. Let's see if he knows the difference between the two. He *must* have noticed that one is byte-compiled and the other one is compiled to native code! Otherwise, how does he run his code? He must answer this question correctly:
Me: what is the difference between Java and C++? One has a Virtual Machine, what about the other?
Him: Java has the Java Virtual Machine
Me: yes, and C++?
Him: I guess C++ has a virtual machine too. The C++ Virtual Machine
Me (exhausted): okay, I don't have any other questions, we will let you know
And this is the story of how I got scared of interviews29 -
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 -
I'm at my seat during the regular morning routine of checking emails, planning the things I need to complete/study when my phone rings.
HR: Good Morning, can you come over to the conference room please ?
Me: Sure
I enter the conference room and on the other side of the table, I see a group of 3 HR Managers (not a very nice feeling), especially when it was 10 months into my first job as a Trainee Software Developer.
HR: The company hasn't been performing as expected. For this reason, we've been told to cut down our staff. We're sorry but we have to let you go. You've been doing a great job all along. Thank you.
Me: ---- (seriously ?!)
The security-in-chief 'escorts' me out of the premises and I hand over the badge. I'm not allowed to return to my desk.
This happened about 16 years ago. But it stuck with me throughout my programming career.
A couple of Lessons Learnt which may help some of the developers today :
- You're not as important as you think, no matter what you do and how well you do it.
- Working hard is one thing, working smart is another. You'll understand the difference when your appraisals comes around each year.
- Focus on your work but always keep an eye on your company's health.
- Be patient with your Manager; if you're having a rough time, its likely he/she is suffering more.
- Programming solo is great fun. However it takes other skills that are not so interesting, to earn a living.
- You may think the Clients sounds stupid, talks silly and demands the stars; ever wonder what they think about you.
- When faced with a tough problem, try to 'fix' the Client first, then look for a solution.
- If you hate making code changes, don't curse the Client or your Manager - we coders collectively created a world of infinite possibilities. No point blaming them.
- Sharing your ideas matter.
- Software Development is a really long chain of ever-growing links that you may grok rather late in your career. But its still worth all the effort if you enjoy it.
I like to think of programming as a pursuit that combines mathematical precision and artistic randomness to create some pretty amazing stuff.
Thanks for reading.14 -
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 -
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 -
First internship (ranted about it before).
- Had to google translate their entire internal crm.
- pointed out major security flaws and got a speech saying that "I shouldn't think so high of myself and I didn't have the fucking right to criticize their products"
- every time the boss came to the office after a failed sales presentation, we (interns) got called the most nasty stuff. Yes. We didn't have anything to do with that at all.
- I had "hygiene issues": window to the south with 35-40 degrees (Celsius) feeling temperature and no airco. Deo didn't really make a difference but wasn't allowed to use it there anyways. Details: I have a transpiration issue so I sweat shitloads more than other people, that didn't help at all.
- nearly got fired because I had to to to the doctor in company time for a serious health issue.
- was (no kidding) REQUIRES to use internet explorer and we were monitored constantly.
Self esteem dropped through the fucking ground there.12 -
*tries to convert a Windows drive into btrfs*
*copies the whole 1.4TB of data back from server*
Windows: Wait, you expect me to do more than browsing the Phasebuk and playing games? Over a million files?! No no no, can't do that.
*reboot after BSOD*
Ehm, a hard drive you say? A drive that I just fucked up? What are you talking about? I don't see any hard drive :/
Piece of shit.
Crappy Arch Linux laptop: ah, I see a new hard drive connected here. Limme mount it real quick for ya :3
Me: eh, not now. I want to format it first.
Linux: oh, cool! Your wish is my command <3
*formats hard drive to btrfs*
Me: alright, now please copy all that 1.4TB onto the drive and please don't overheat _/\_
Linux: Gotcha! On your commands sir!
See the difference? The mental communication level? Windows is like talking to an obnoxious grade schooler that just does whatever the fuck they want to. Linux on the other hand is so much more mature and capable. Guess which one I like the most.20 -
Long rant ahead. Should take about 2-3 minutes to read. So feel free to refill your cup of coffee and take a seat :)
It turns out that the battery in my new Nexus 6P is almost dead. Well not that I didn't expect that, the seller even explicitly put that in the product page. But it got me thinking.. why? Lithium batteries are often good for some 10k charges, meaning that they could last almost 30 years when charged every day! They'd outlive an entire generation of people!
Then I took a look at the USB-C wall charger that Huawei delivered with this thing. A 5V 3A brick. When I saw that, I immediately realized.. aah, that's why this battery crapped out after a mere 2 years.
See, while batteries are often advertised as capable of several amps (like 7A with my LiitoKala 18650 batteries that I often use in projects), that's only the current that they can safely take or deliver without blowing up. The manufacturer doesn't make this current rating with longevity in mind. It's the absolute maximum in current that a given battery can safely handle.
The longevity on the other hand directly depends on the demand that's placed on the battery. 500mA which is standard USB 2.0 rating or 1A which is standard USB 3.0 rating, no sweat. The battery will live for at least a decade of daily charges and discharges like that no problem.
But when you start shoving 3A continuous into a battery, that's when it will suffer. Imagine that your current workload is 500mA and suddenly you get shoved 6 times that work upon you. How long would you last?
Oh and not only the current is a problem, I suspect that it also overvolts the battery to maintain a constant current all the way till the end. When I charged my lithium cells with my lab bench power supply, the battery would only take a few milliamps when it got close to the supply voltage. Quick bit of knowledge: lithium cells are charged at constant current first, then when the current drops below that, it continues at constant voltage - usually 4.2 or 4.35V depending on the battery. So you'd set your lab bench power supply at 4.2V 500mA. But in that constant voltage mode, as the battery's voltage and the supply's voltage equalize, the current drops because the voltage difference becomes lower. Remember, voltage is what causes current to flow. Overvolting at the supply to stay in constant current mode all the way till the end speeds this process up but can be dangerous and requires constant monitoring of the battery voltage.
So, why does Huawei and a bunch of other manufacturers make these 3A power chargers? Well first it's because consumer demands ever more, regardless of the fact that they can just charge at 500mA for the night (8h of sleep) and charge a 4000mAh battery from 0 to 100% no problem. Secondly it's because sometimes you need that little bit of extra juice fast, like when you forgot to plug the damn thing in and you've got only 30 minutes in the morning to pour some charge into it.
But people use those damn fucking things even when they go to bed, making that 3A torture a fucking standard process!! And then they complain that their batteries go to shit?!
Hopefully this now made you realize that the fast charger shouldn't be used as a regular charger ^^29 -
Phone call...
Caller: we contact you to arrange an interview for Java developer position, what time is good with you?
Me: Sorry Sir, I am javascript developer not Java developer!
Caller: You mentioned in your CV that you are using Java and Ayax for building applications!
Me: Trust me Sir, I don't have any relationship with your Ayax...
Caller: No problem, we can discuss this small technical difference in the interview. When you are available for it?
Me: No Sir, I am not available.7 -
I think I've shown in my past rants and comments that I'm pretty experienced. Looking back though, I was really fucking stupid. Since I haven't posted a rant yet on the weekly topics, I figure I would share this humbling little gem.
Way back in the ancient era known as 2009, I was working my first desk job as a "web designer". Apparently the owner of this company didn't know the difference between "designer", which I'm not, and "developer", which I am, nor the responsibilities of each role.
It was a shitty job paying $12/hour. It was such a nightmare to work at. I guess the silver lining is that this company now no longer exists as it was because of my mistake, but it was definitely a learning experience I hold in high regard even today. Okay, enough filler...
I was told to wipe the Dev server in order to start fresh and set up an entirely new distro of Linux. I was to swap out the drives with whatever was available from the non-production machines, set up the RAID 5 array and route it through the router and firewall, as we needed to bring this Dev server online to allow clients to monitor the work. I had no idea what any of this meant, but I was expected to learn it that day because the next day I would be commencing with the task.
Astonishingly, I managed to set up the server and everything worked great! I got a pat on the back and the boss offered me a 4 day weekend with pay to get some R&R. I decided to take the time to go camping. I let him know I would be out of town and possibly unreachable because of cell service, to which he said no problem.
Tuesday afternoon I walked into work and noticed two of the field techs messing with the Dev server I built. One was holding a drive while the other was holding a clipboard. I was immediately called into the boss's office.
He told me the drives on the production server failed during the weekend, resulting in the loss of the data. He then asked me where I got the drives from for the Dev server upgrade. I told him that they came from one of the inactive systems on the shelf. What he told me next through the deafening screams rendered me speechless.
I had gutted the drives from our backup server that was just set up the week prior. Every Friday at midnight, it would turn on through a remote power switch on a schedule, then the system would boot and proceed to copy over the production server's files into an archive for that night and shutdown when it completed. Well, that last Friday night/Saturday morning, the machine kicked on, but guess what didn't happen? The files weren't copied. Not only were they not copied, but the existing files that got backed up previously we're gone. Why? Because I wiped those drives when I put them into the Dev server.
I would up quitting because the conversation was very hostile and I couldn't deal with it. The next week, I was served with a suit for damages to this company. Long story short, the employer was found in the wrong from emails I saved of him giving me the task and not once stating that machine was excluded in the inactive machines I could salvage drives from. The company sued me because they were being sued by a client, whose entire company presence was hosted by us and we lost the data. In total just shy of 1TB of data was lost, all because of my mistake. The company filed for bankruptcy as a result of the lawsuit against them and someone bought the company name and location, putting my boss and its employees out of a job.
If there's one lesson I have learned that I take with the utmost respect to even this day, it's this: Know your infrastructure front to back before you change it, especially when it comes to data.8 -
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!!! 😤16 -
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 -
So a guy wants to start a company with me. He wants to be CEO 👨💼 I'm fine with it but now he also wants me to obey every one of his orders such as attend long unplanned meetings, go do market research, code the app and for what, a mere 5%. He gets a bigger cut of the income because he came up with the idea 💡, he also gets to sit and order me around because he's read a few books on business and economics. People don't seem to understand the difference between having an idea and implementation. I just left and said no to every offer he had the highest of which was 10%, don't be worried about the money he says this is a real opportunity for you. I mean wtf is wrong with some people.13
-
I have a bunch of contesters fort the worst interview.
#1 The Dishonest Ignorant
Me: *asks question*
#1: *stumbles*
Me: It's okay to say that you don't know.
#1: *continues to ramble on without making sense*
Me: Well, okay. That is all. I don't think that this will be a fit.
#2 The fraud
Me: How would you rate your knowledge in object orientated programming?
#2: Very advanced! I am an expert!
Me: Can you state the difference of an interface and an abstract class?
#2: *surprised pikachu-face* Well not that advanced!
#3 The trickster
During a skype call (without video):
Me: *asks question*
#3: *keyboard sounds aclacking*
Me: Are you googling?
#3: No *click clack click a clack* ... and to answer your question: *starts reading from the first search results*
The real bummer is, that in all of these cases, just saying "I don't know" would have been fine. (The "expert" OOP-guy would still have some explaining to do.)
It's not like that our interview process resolves around trick questions or that you'd get kicked out for getting one answer wrong. Though how can I trust somebody not to lie to me on a daily basis if they fake their interview?
We keep the interview relatively basic and rely on real-word coding exercise anyway and it helps us to get an idea on where we would gain support from them and where we need to support them.
As a developer you spend a lot of time learning new stuff anyways.
It blows my mind.39 -
I'm convinced code addiction is a real problem and can lead to mental illness.
Dev: "Thanks for helping me with the splunk API. Already spent two weeks and was spinning my wheels."
Me: "I sent you the example over a month ago, I guess you could have used it to save time."
Dev: "I didn't understand it. I tried getting help from NetworkAdmin-Dan, SystemAdmin-Jake, they didn't understand what you sent me either."
Me: "I thought it was pretty simple. Pass it a query, get results back. That's it"
Dev: "The results were not in a standard JSON format. I was so confused."
Me: "Yea, it's sort-of JSON. Splunk streams the result as individual JSON records. You only have to deserialize each record into your object. I sent you the code sample."
Dev: "Your code didn't work. Dan and Jake were confused too. The data I have to process uses a very different result set. I guess I could have used it if you wrote the class more generically and had unit tests."
<oh frack...he's been going behind my back and telling people smack about my code again>
Me: "My code wouldn't have worked for you, because I'm serializing the objects I need and I do have unit tests, but they are only for the internal logic."
Dev:"I don't know, it confused me. Once I figured out the JSON problem and wrote unit tests, I really started to make progress. I used a tuple for this ... functional parameters for that...added a custom event for ... Took me a few weeks, but it's all covered by unit tests."
Me: "Wow. The way you explained the project was; get data from splunk and populate data in SQLServer. With the code I sent you, sounded like a 15 minute project."
Dev: "Oooh nooo...its waaay more complicated than that. I have this very complex splunk query, which I don't understand, and then I have to perform all this parsing, update a database...which I have no idea how it works. Its really...really complicated."
Me: "The splunk query returns what..4 fields...and DBA-Joe provided the upsert stored procedure..sounds like a 15 minute project."
Dev: "Maybe for you...we're all not super geniuses that crank out code. I hope to be at your level some day."
<frack you ... condescending a-hole ...you've got the same seniority here as I do>
Me: "No seriously, the code I sent would have got you 90% done. Write your deserializer for those 4 fields, execute the stored procedure, and call it a day. I don't think the effort justifies the outcome. Isn't the data for a report they'll only run every few months?"
Dev: "Yea, but Mgr-Nick wanted unit tests and I have to follow orders. I tried to explain the situation, but you know how he is."
<fracking liar..Nick doesn't know the difference between a unit test and breathalyzer test. I know exactly what you told Nick>
Dev: "Thanks again for your help. Gotta get back to it. I put a due date of April for this project and time's running out."
APRIL?!! Good Lord he's going to drag this intern-level project for another month!
After he left, I dug around and found the splunk query, the upsert stored proc, and yep, in about 15 minutes I was done.1 -
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 -
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 -
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, 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 -
So this bunch of idiots made this huge iOS app using lots of global variables, lots of spaghetti code and basically no separation between logic and UI.
Another bunch of idiots were told to take that iOS app and basically port it to Android. And they ported that same code mess, almost line by line, and adding some weird shit.
Now the HQ of the first bunch of idiots realize that the second bunch of idiots were too slow/inefficient/whatever, and they're now asking US to solve that Android mess and add another shitload of features.
The worst part of it, is that both bunches of idiots are still working on it, so we're basically forced to follow the same shitty style until the first deadline, otherwise we'd die suffocated by stinky merge conflicts. Which will happen anyway because our changes are going to overlap.
Oh, and the PM refuses to understand the disaster coming and there's six hours of time zone difference.
Fuck this shit.7 -
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 remember my first software engineer internship, the boss was terrible. He was cheap and only hired interns we had 0 guidance. This mother fucker would say shit in meetings like "hey we should start providing DBAAS, similar to DynamoDB start researching it I want a prototype by Wednesday" Wtf this guy is nuts. The overall product was suppose to be a fucking virtual machine hosting platform to compete with AWS, Digital Ocean, RackSpace etc designed by BS computer science interns lol. This guy tells us in a meeting one day "You know what's the difference between those guys (the competitors) and us?" We all looked around lost. This pompous ass hole says "Me , that's the difference you guys have me " 😂 what a fucking joke , not to mention all he has is a shitty math degree from a bullshit no name college in India, no developing experience what so ever. Man o man I never met anyone that was so fucking stupid but thought they were so fucking smart6
-
I hate people... I hate stupid people even more...
A person asked on slack about where download a Programming Language server called Railo. The official site is no longer up because the software was forked and acquired by a new company.
I suggested just to download that fork since it's more stable. They said no, they needed to mimic their production environment. Makes sense, so I left it alone since I couldn't help further.
Another person on slack asked which version of Railo they need. The OPs response was, "Oh whatever version you have."
My response was... "WTF... the latest version of Railo is 4.3 and the fork is 4.5... the only difference is the new name and a couple of security fixes. If you want to mimic production then you need the exact copy.. otherwise, the fork will be your best bet."
Nope.. I need Railo... any version. They say again. -
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 -
Hashedram's compilations #1
List of most annoying website designs.
1) Pages with AUTO PLAYING VIDEOS.
Yes I'm looking at you Netflix. Along with every news website known to man. I'm looking to read a fucking article, so why would you even waste your money and bandwidth trying to shove a video of some shit I don't care about in my face, and make it follow me as I scroll down like a fucking insecure puppy. Also, fuck you Instagram.
2) Pages that redirect once immediately after you visit them, thereby fucking with the browser history and the BACK BUTTON just leads back to the same fucking site.
I mean, just why. Did you think I would just go "Hey the back button doesn't work so let's stay on the site and read their awesome content"?
3) Sites showing things in a SLIDESHOW, when it actually should be in a list.
Slideshows are for progressive stories or for showing lists where you don't care about what's in them. Top 10 foods that reduce weight. Slideshow 1/15. Fuck you.
4) LOOKS LIKE YOU'RE USING AN AD BLOCKER
Yes. Yes I am. No I will not turn it off for you, you narcissistic snowflake fuck. And don't even try to guilt shame me into turning it off, because I know you're just going to bombard me with videos of sexy singles in the area if I do.
5) Pages where I see the first 3 lines of an article and have to SUBSCRIBE to see more.
Yes. Brilliant fucking idea. A user wants to see what your site has to offer, so within the first three seconds, don't show him exactly that.
6) Looking up an article and having to read through the entire motivational life story of the author.
I just want to know how to boil eggs, not read about your journey across Africa learning how to make difference recepies using boiled rhino dung.
7) CLICK BAIT.
Title: School boy designs blockchain machine learning game engine
Actual Content: Tic tac toe program made using linked lists6 -
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 -
My second year of high-school, we started having class in computer science. I was really looking forward to it cause I always wanted to learn programming.
On first sight it appeared that the professor which taught the class knew something, he looked like a genuine geek with those dorky glasses, briefcase and pants like Steve Urkel, but after couple of his lessons you could see he had no real dev experience and just basic understanding of programming in theory. He was more reading stuff from the book than he was trying to explain them to students and give some real world examples.
So it was just one these days, everybody got back from vacation, it's hot outside, the guy is just reading sentences from his book, half of students talk with each other and other half doesn't give a fuck about him or his class. Pretty sure I was the only one trying to listen to him and learn something from his recitals.
All of a sudden he notices the atmosphere in the classroom, slams the book shut, gives out couple of F-s to the loudest students and yells out loud "NONE OF YOU IN THIS ROOM WILL EVER ACCOMPLISH ANYTHING IN YOUR LIFE, BARE ALONE IN PROGRAMMING"
At first I felt like shit, but soon after that I started thinking "who the hell are you to tell me what I could or will accomplish in my life". Couple weeks later I've bought myself a first book in programming and started learning C++ late at night since I understood that I won't learn anything about programming in that school. Two years later I was correcting this same professor with his claims on a whiteboard in front of a whole class.
Today, seven years after his words I'm a developer living in foreign country with what I could say somewhat a solid experience and understanding of how both software and web are build, while that same professor still recites to his pupils difference between assembly and object code, while praying nobody asks him where and how these are used. For maybe a quarter of my paycheck. So much about his psychic powers..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 -
Me: Anytime 9am - 12 my time suits me fine.
Him: Sure, noon our time suits us fine.
Me: *talking to myself* I said no later than 12 my time, theres a 2 hour difference. FFS, uh, I'll have to cancel this, move that around, skip that, ARGH!!! fucking hell jackass ... FINE!!!
...
Him: That calendar invite is for 4pm our time, thats a little too late for us.
Me: ...... but they are 2 ..... 2 hours ahead so ..... oh, thats 10am my time .... oh shit2 -
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 -
WEB FUCKING THREE
Ok, some of this shit is interesting, let's get that out of the way:
Crypto - great for doing illegal things, great for financial speculation, interesting mathematically. But as likely to replace actual currency as I am to replace the fucking Queen.
NFT - should be written on the headstone of humanity. Entirely fucking useless, planet-roasting bro-wank dressed up as a revolution in...pretending to own shit. The only difference between a Bored Ape owner and my nephew pointing at a castle and insisting that it's his, is that he isn't thousands and thousands of pounds out of pocket by doing so.
Metaverse - AR and VR have been around before this dogshit rebrand, and they'll outlive it.
No, it's not that. It's that we now have a new species of parasite - the "Web3/Metaverse" LinkedIn guru insisting that this shit is even needed, let alone the next big thing.
Web 2.0 was a stupid fucking term alright, but it did represent a new generation of technologies that were badly needed, and adopted by the entire community. Web3 is a bunch of shit that some cunts think they can get rich off, so insist that we need. I wouldn't even give a fuck but I've already spent hours of my life explaining to clients and peers that this is UTTER FUCKING BOLLOCKS, there's no need for a blockchain in your app, there's no need for a blockchain in virtually anything. Yeah if you want some fucking 3d in your app or your page I'm your man, but if you keep saying 'metaverse' I'm going to fill it with easter eggs.
None of this shit was needed before and none of it is needed after. Have you looked at web3 games? It's Steve Buscemi asking 'how do you do, fellow computer games?', it's a fucking gambling app pretending to be something a human would do. Clash of Clans and Candy Crush already cornered the market for that type of fucking mug, right now you're making the Candy Crush business model look responsible and efficient. You CUNTS.46 -
Did an interview this morning. Candidate had JavaScript on their resume but was mostly backend. Called themselves "senior" after 3.5 years of doing CMS upgrades and no coding.
Since JavaScript was on the resume I asked "what is the difference between == and === in JavaScript?" candidate completely failed.
Please offshore devs, don't put tech on your resume if you can't answer the most basic of questions. Don't call yourself senior when you've never even coded anything from scratch yourself.20 -
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 -
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 -
Boss: Client wants those stockphotos for the frontpage.
Me: ok. Please license them and let me know. I will upload them to the page.
Boss: How does that work then?
Me: you have to buy the five credit package. Here is the link...
Boss: (no response)
...few days later...
Boss: please remember to upload those images...
Me: well ok. Did you buy them?
Boss: isn't that your thing?
Me: I don't understand. You had all the info. You new where to buy them. You knew what images to buy since the client sent the preview versions. What do you need? ...and why didn't you tell me that you were waiting for my input? I was the last one to reply to this conversation.
Boss: i don't want to buy the wrong images.
Me: just buy the ones the client chose.
Boss: I don't want to look up the email he sent them in.
Me: I don't understand. I directly replied to that mail. It is in the same conversation.
Boss: ok.
...day later...
Boss sends me mail with images attached.
Boss: are those the right images?
Me: well yes. Those are the ones the client sent. I don't have more information than you.
(Me looking at the attachments and finding them in the smallest resolution available.)
Me: why did you download the images in the smallest resolution? It does not make any difference in price.
Boss: well I thought they were not needed in a bigger size.
Me: why do you make my options intentionally smaller? I am the guy doing frontend.
..please give me the login info for the stock account so I can download the images in a better resolution.8 -
My co-workers hate it when I ask this question on a technical interview, but my common one is "what is the difference between a varchar(max) and varchar(8000) when they are both storing 8000 characters"
Answer, you cannot index a varchar(max). A varchar(max) and varchar(8000) both store the data in the table but a max will go to blob storage if it is greater than 8000.
No one ever knows the answer but I like to ask it to see how people think. Then I tell them that no one ever gets that right and it isn't a big deal that they don't know it, as I give them the answer.8 -
Several rants ago I promised to drop a bombshell about Android. What took me so long was my research.
I wanted to measure the extent of Google’s background data mining. I put Android at a significant disadvantage — it was Redmi 6, a device with a 5-year-old half-dead battery that was heavily used by my partner. The only change was me installing Lineage OS + microG — a private, degoogled combo that has no quality of life ramifications. Google Play Store opens, apps download. MicroG emulates Google Play Services — maps, banking and other Play Services-dependent apps work flawlessly. This made a huge difference.
Before degoogling, this phone lasted one day tops on standby. Now, with Wi-Fi connection enabled, apps auto-update working (one game I had installed auto-updated during the test), and no battery saver engaged, I was able to pull ELEVEN DAYS on full charge. Battery saver promised even more uptime, but I considered that cheating.
Modern phones have modern screens that drain battery quickly. Yet, they also have 4000+ mAh batteries. If your Android smartphone performs worse than mine in a test like this that doesn't use screen, kiss your privacy goodbye.24 -
New job was killing me. remote team has an 8 hour time difference to us, and no understanding of it. Constant last minute invites to meetings at 10pm my time. Made worse by the fact that many were unnecessary, duplicates or just plain pointless. So for the last few weeks of last year I made in my mission to clean it up.
New plan: move my hours around on Mondays, stay later, move all the meetings back to back and get everything out of the way for the rest of the week.
First day back and heres how the new plan is shaping out:
- 5:30pm meeting organiser decided we actually need 2 almost identical meetings instead. Sends out a big team meeting for the same time as my 1st meeting at 5pm, as well as the existing one for 5:30pm. Already agreed on by everyone else, so had to go.
- Cancelled my original 5pm meeting for today, said we'll re-arrange it for earlier going forward (not enough time for notice for remote team).
- Went into my new 5pm meeting, turns out we don't need 2. Got everything done by 5:30pm.
- Just to be safe though, a new invite will be sent around for the hour of 5 - 6 "Just in case".
- My 6pm meeting just got cancelled as she has a conflict (despite setting it up 2 months ago)
- Now I have to wait around, after hours for my 6:30 meeting.
..... believe it or not, this is progress.
Happy new year!6 -
Guy using VPN:
why would anybody use tor unless he hides something?
Me (using Tor):
why would anyone use VPN unless he hides something?
In my opinion there is no difference in using Tor than in using VPN, it's all about privacy. I would consider Tor as an free alternative for your everyday privacy needs, if you can't afford VPN, or am I wrong?22 -
So I have that custom-made wifi router I've built. And it uses a USB wifi adapter with AC (wifi5) capability - the fastest one I could find in AliExpress.
I set it up a while ago - the internet access works fine, although speeds are somewhat sluggish. But hey, what to expect from a cheapo on Ali! Not to mention it's USB, not a PCIe...
A few days ago I ran a few speedtest.net tests with my actual AC router and the one I've built. Results were so different I wanted to cry :( some pathetic 23Mbps with my custom router :(
This evening I had some time on my hands and finally decided to have an umpteenth look.
nmcli d wifi
this is what caught my eye first. The RATE column listed my custom router as 54Mbps, whereas the actual router had 195Mbps.
I have reviewed the hostapd configuration sooo many times - this time nothing caught my eye as well.
Googling did not give anything obvious as well.
What do we do next? Yes, that's right - enable debug and read the logs.
> VHT (IEEE 802.11ac) with WPA/WPA2 requires CCMP/GCMP to be enabled, disabling VHT capabilities
This is one of the lines at the top of the log. Waaaaiiitttt.. VHT is something I definitely want with ac -- why does it disable that??? Sounds like a configuration fuckup rather than the HW limitation! And config fuckups CAN be fixed!
Turns out, an innocently looking
`wpa_pairwise=TKIP`
change into
`wpa_pairwise=TKIP CCMP`
made a world of a difference!
:wq
!hostapd
connect to the hostapd hotspot and run that iperf3 test again, and... Oh my. Oh boi! My pants fell off -- the speed increased >3x times!
A quick speedtest.net test deems my custom router's download speeds hardly any worse than the speeds obtained using my LInksys!!
The moral of the story: no matter how innocent some configurations look, they might make a huge difference. And RTFL [read the fucking logs]
In the pic -- left - my actual router, right - my custom-built router with a USB wifi adapter. Not too shabby!7 -
Story of me trying to connect to a colleague from neighbouring team with 12 hour difference timezone:
Me: Hey! Shall we catch up to discuss a feature that will help us dominate the world?
She: Sure.. what time works for you?
Me: Since we have timezone challenge, I'd say boundary times would be good so none of us have to stretch.
She: umm.. good..
Me: How about 07:30 PM your time?
She: oh sweetie.. evenings don't work for me.. I want my evenings free..
Me: fine.. how about 07:00 AM your time?
She: no darling.. I am not a morning person..
Me: GO FUCK YOURSELF BITCH. I CAN'T COMPLY WITH EVERY TANTRUM OF YOURS.
And with that.. I didn't respond to her invites which were either super early for me or super late. Let her keep waiting..
Juniors with ego are shittiest folks to work with.31 -
The entire reason I became a developer was so that I could one day build something that I can say has/had a handful of users, that I could build something that helped save someone's life, that helped someone in their time of need.
That reason was fulfilled when I built my only successful and proudest project during a cold night in 2011. I was 16 at the time, and here in South India, there was a major cyclone affecting a portion of our country (Chennai/Tamil Nadu). A lot of my family were in affected areas, and I didn't know what I could do being so far away (around 400kms/250mi away, in Bangalore).
I stayed up all night to build what was then known as ChennaiRains.org. It was a simple website, a directory and a safe house for everyone's information. Whoever needed help, whoever was ready to give help, whoever was volunteering their travel, their time. I didn't think it would help much. I just wanted to make a small difference.
Next morning, after the hangover of the all-nighter I pulled faded away, I see that the website went viral after a few shares on Twitter. The community was so supportive of my little project to help my family and friends. It caught a peak traffic of a million users overnight, no ads, no money made from this, I just earned the experience of a lifetime. It eventually helped a lot of people in need, connected a lot of volunteers and victims.
It has been the epitome of my life. It's the reason I still develop applications to-date, even if they are simple. Somewhere out there, someone needs it, and I want to be able to help to them :)4 -
Can someone please explain to me WHY THE FUCK non devs feel like they know shit. I DON'T GIVE A FUCK ABOUT HOW YOU FOUND SOME UNTRUE SHIT ON GIZMODO. I'VE KNOW SO MUCH ABOUT THIS SHIT, AND YOU LOOKED UP THE FIRST EXAMPLE YOU COULD FIND THE SUPPORTS YOUR CASE. The most recent time this happened was OVER THE LAST FEW DAYS when this DUMBASS that my friends and I BULLY but HE STILL HANGS AROUND. (By bully, yes sometimes we are mean to him, but we're not out to get him. He comes to us and we don't wanna be with him). So after the SEVENTH groupchat (on two apps) he created that night, HE WANTED TO SWITCH BACK TO ANOTHER APP I SPENT A WEEK TRYING TO GET THEM TO SWITCH FROM PREVIOUSLY (It was whatsapp, i got them to switch to telegram). THEN HE TRIED to ARGUE with me about how TELEGRAM wasnt secure. HE SEARCHED "is telegram secure" on Google and chose the FIRST ARTICE from the previously mentioned, GIZMODO which says that TELEGRAM chats ARENT ENCRYPTED by DEFAULT. HOW THE FUCK DO DUMBASSES GET THIS KIND OF PUBLICITY. There's a difference between ENCRYPTION and END TO END DUMBASS. Then he told me whatsapp is more secure than telegram. NO ITS FUCKING NOT. In telegram, your encryption keys CHANGE every chat, or every 100 messages. To my best research, whatsapp only has ONE key per USER. I could go on forever about how chat backups in whatsapp are UNENCRYPTED or how FACEBOOK stores your data, but blocked you works to.6
-
I am interviewing people for a job position with python knowledge.
My first question is how to reverse string and second one what’s the difference between set and list.
So far no one knows.
Fairly speaking I am asking only basic questions about what is decorator, generator, lambda. Also some basic data structure questions.
Is it to hard ?
I lost my faith in humanity.15 -
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 -
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 -
"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 -
Spent multiple weeks preparing data for rendering. Part of this process is reprojecting coordinates of huge ass GeoJSON files (some files are 100gb+).
Compared one normal and one reprojected file with the head command and noticed no difference, then found out that this data already comes in the right projection....
Full-speed extraction it is!3 -
I have a Windows machine sitting behind the TV, hooked to two controllers, set up as basically a console for the big TV. It doesn't get a lot of use, and mostly just churns out folding@home work units lately. It's connected by ethernet via a wired connection, and it has a local static IP for the sake of simplicity.
In January, Windows Update started throwing a nonspecific error and failing. After a couple weeks I decided to look up the error, and all the recommendations I found online said to make sure several critical services were running. I did, but it appeared to make no difference.
Yesterday, I finally engaged MS support. Priyank remoted into my machine and attempted all the steps I had already tried. I just let him go, so he could get through his checklist and get to the resolution steps. Well, his checklist began and ended with those steps, and he started rather insistently telling me that I had to reinstall, and that he had to do it for me. I told him no thank you, "I know how to reinstall windows, and I'll do it when I'm ready."
In his investigation though, I did notice that he opened MS Edge and tried to load Bing to search for something. But Edge had no connection. No pages would load. I didn't take any special notice of it at the time though, because of the argument I was having with him about reinstalling. And it was no great loss to me that Edge wasn't working, because that was literally the first time it'd ever been launched on that computer.
We got off the phone and I gave him top marks in the CS survey that was sent, as it appeared there was nothing he could do. It wasn't until a couple hours later that I remembered the connectivity problem. I went back and checked again. Edge couldn't load anything. Firefox, the ping command, Steam, Vivaldi, parsec and RDP all worked fine. The Windows Store couldn't connect either. That was when it occurred to me that its was likely that Windows Update was just unable to reach the internet.
As I have no problem whatsoever with MS services being unable to call home, I began trying to set up an on-demand proxy for use when I want to update, and I noticed that when I fill out the proxy details in Internet Options, or in Windows 10's more windows10-ish UI for a system proxy, the "save" button didn't respond to clicks. So I looked that problem up, and saw that it depends on a service called WinHttpAutoProxySvc, which I found itself depends on something called IP Helper, which led me to the root cause of all my issues: IP Helper now depends on the DHCP Client service, which I have explicitly disabled on non-wifi Windows installs since the '90s.
Just to see, I re-enabled DHCP Client, and boom! Everything came back on. Edge, the MS Store, and Windows Update all worked. So I updated, went through a couple reboots-- because that's the name of the game with windows update --and had a fully updated machine.
It occurred to me then that this is probably how MS sends all its spy data too, and since the things I actually use work just fine, I disabled DHCP Client again. I figure that's easier than navigating an intentionally annoying menu tree of privacy options that changes and resets with every major update.
But holy shit, microsoft! How can you hinge the entire system's OS connectivity on something that not everybody uses?6 -
Here's to clients who wish to pay "per project" instead of "per month". Man, fuck that.
Back when I was still a novice, I took on a couple of small time projects from clients who contacted me after looking at my GitHub, and they all wanted to pay me a lump-sum for the project. Because I'm an idiot, I thought sure, what difference would that make. Boy was I wrong.
What followed was me finishing the projects well before time but because of the clients' constant reiterations and changes in design and nitpicking every decision I made while creating the websites for them, the projects dragged on for weeks longer than they were originally intended. And I fucking got paid that one-time amount in the beginning. All this maintenance, for free. Even though I had not explicitly agreed to the maintenance part, since they never finalized the specifications of the project, it just never got "done" officially, and all the maintenance part just came under development.
How many different kinds of disgusting does someone have to be to do this? I should've fucking said NO to those terms, but I had to have experience. Well, nice experience that was. Never again. :(1 -
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 -
Dogecoin hit USD $0.40 recently, which means it's time for the Crypto Rant.
TL;DR: Dogecoin is shit and is logically guaranteed to eventually fall unless it is fundamentally changed.
===========================
If you know how Crypto works under the hood, you can skip to the next section. If you don't, here's the general xyz-coin formula:
Money is sent via transactions, which are validated by *anybody*.
Since transactions are validated by anybody, the system needs to make sure you're not fucking it up on purpose.
The current idea (that most coins use today) is called proof-of-work. In short, you're given an extremely difficult task, and the general idea is you wouldn't be willing to do that work if you were just going to fuck up the system.
For validating these transactions, you are rewarded twofold:
1) You are given a fixed-size prize of the currency from the system itself. This is how new currency is introduced, or "minted" if you prefer.
2) You are given variable-size and user-determined prize called "transaction fees", but it could be more accurately called a "bribe" since it's sole purpose is to entice miners to add YOUR transaction to their block.
This system of validation and reward is called mining.
===========================
This smaller section compares the design o f BTC to Dogecoin - which will lead to my final argument
In BTC, the time between blocks (chunks of data which record transactions and are added to the chain, hence blockchain) is ten minutes. Every ten minutes, BTC transactions are validated and new Bitcoins are born.
In Dogecoin, the time between blocks is only one minute. In Theory, this means that mining Dogecoin is about ten times easier, because the system expects you to be able to solve the proof of work in an average of one minute.
The huge difference between BTC and Doge is the block reward (Fixed amount; new coins minted). The block reward for BTC is somewhat complicated compared to Doge: It started as 50 BTC per block and every 4 years it is halved ("the great halving"). Right now it's 6.25 BTC per block. Soon, the block reward will be almost nothing until BTC hits it's max of 21 million bitcoins "minted".
Dogecoin reward is 10,000 coins per block. And it will be that way for the end of time - no maximum, no great halving. And remember, for every 1 BTC block mined, 10 Doge blocks are mined.
===========================
Bitcoin and Dogecoin are now the two most popular coins in pop culture. What makes me angry is the widespread misunderstanding of the differences between the two. It is likely that most investors buy Dogecoin thinking they're getting in "early" because it's so cheap. They think it's cheap because it isn't as popular as Bitcoin yet. They're wrong. It's cheap because of what's outlined in section two of this rant.
Dogecoin is actually not very far off Bitcoin. Do the math: there's a bit over 100 billion Dogecoin in circulation (130b). There's about 20 million BTC. Calculate their total CURRENT values:
130b * $0.40 = 52b
20m * $60k = 1.2t
...and Doge is rising much, much faster than BTC because of the aforementioned lack of understanding.
The most common thing I hear about Doge is that "nobody expects it to reach Bitcoin levels" (referring to being worth 60k a fucking coin). They don't realize that if Doge gets to be worth just $10 a coin, it will not just reach Bitcoin levels but overtake Bitcoin in value ($1.3T).
===========================
It's worth highlighting that Dogecoin is literally designed to fail. Since it lacks a cap on new coins being introduced, it's just simple math that no matter how much Doge rises, it will eventually be worthless. And it won't take centuries, remember that 100k new Doge are mined EVERY TEN MINUTES. 1,440 minutes in a day * 10K per minute is 14.4 million new coins per day. That's damn near every Bitcoin to ever exist mined every day in Dogecoin10 -
I used to do audits for private companies with a team. Most of them where black box audits and we were allowed to physically manipulate certain machines in and around the building, as long as we could get to them unnoticed.
Usually when doing such jobs, you get a contract signed by the CEO or the head of security stating that if you're caught, and your actions were within the scope of the audit, no legal action will be taken against you.
There was this one time a company hired us to test their badge system, and our main objective was to scrape the data on the smartcards with a skimmer on the scanner at the front of the building.
It's easy to get to as it's outside and almost everyone has to scan their card there in order to enter the building. They used ISO 7816 cards so we didn't even really need specified tools or hardware.
Now, we get assigned this task. Seems easy enough. We receive the "Stay-out-of-jail"-contract signed by the CEO for Company xyz. We head to the address stated on the contract, place the skimmer etc etc all good.
One of our team gets caught fetching the data from the skimmer a week later (it had to be physically removed). Turns out: wrong Building, wrong company. This was a kind of "building park" (don't really know how to say it in English) where all the buildings looked very similar. The only difference between them was the streetnumber, painted on them in big. They gave us the wrong address.
I still have nightmares about this from time to time. In the end, because the collected data was never used and we could somewhat justify our actions because we had that contract and we had the calls and mails with the CEO of xyz. It never came to a lawsuit. We were, and still are pretty sure though that the CEO of xyz himself was very interesed in the data of that other company and sent us out to the wrong building on purpose.
I don't really know what his plan after that would have been though. We don't just give the data to anyone. We show them how they can protect it better and then we erase everything. They don't actually get to see the data.
I quit doing audits some time ago. It's very stressful and I felt like I either had no spare time at all (when having an active assignment) or had nothing but spare time (when not on an assignment). The pay also wasn't that great.
But some people just really are polished turds.4 -
iPhones are ridiculously picky when it comes to finding a mate- um charger. And knowing why doesn't really make it any easier to understand why. If anything it baffles me more.
So, let's start with appliances that are not phones. Think Bluetooth headsets, keyboards, earbuds, whatever. Those are simple devices. They see 5V on the VCC line and 0V on ground, and they will charge at whatever current they are meant to. Usually it will not exceed 200mA, and the USB 2.0 spec allows for up to 500mA from any USB outlet. So that's perfectly reasonable to be done without any fuss whatsoever.
Phones on the other hand are smarter.. some might say too smart for their own good. In this case I will only cover Android phones, because while they are smarter than they perhaps should be, they are still reasonable.
So if you connect an Android phone to the same 5V VCC and 0V ground, while leaving the data lines floating, the phone will charge at 500mA. This is exactly to be within USB 2.0 spec, as mentioned earlier. Without the data lines, the phone has no way to tell whether it *can* pull more, without *actually* trying to pull more (potentially frying a charger that's not rated for it). Now in an Android phone you can tell it to pull more, in a fairly straightforward way. You just short the data lines together, and the phone will recognize this as a simple charger that it can pull 1A from. Note that shorting data lines is not a bad thing, we do it all the time. It is just another term for making a connection between 2 points. Android does this right. Also note that shorted data lines cannot be used to send data. They are inherently pulled to the same voltage level, probably 0V but not sure.
And then the iPhones come in, Thinking Different. The iPhones require you to pull the data lines to some very specific voltage levels. And of course it's terribly documented because iSheep just trying to use their Apple original white nugget charger overseas and shit like that. I do not know which voltage levels they are (please let me know!), but it is certainly not a regular short. Now you connect the iPhone to, say, a laptop or something to charge. An Android phone would just charge while keeping data transmission disabled (because they can be left floating or shorted). This is for security reasons mostly, preventing e.g. a malicious computer from messing with it. An iPhone needs to be unlocked to just charge the damn thing. I'm fairly sure that that's because the data lines need to be pulled up, which could in theory enable a malicious computer to still get some information in or out of it. USB data transmission works at at least 200mV difference between the data lines. It could be more than that. So you need to unlock it.
Apple, how about you just short your goddamn data lines too like everyone else? And while you're at it, get rid of this Lightning connector. I get it, micro USB was too hard for your users. I guess they are blind pigs after all. But USB-C solved all of that and more. The only difference I can think of is that the Lightning connector can be a single board with pads on either side on the connector, while in USB-C that could be at the socket end (socket being less common to be replaced). And at the end of the day, that really doesn't matter with all the other things that will break first.
Think Different. Think Retarded. Such tiny batteries and you can't even fucking charge them properly.6 -
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 -
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 -
"The difference between theory and practice is that in theory, there is no difference between theory and practice." - Richard Moore1
-
!dev !rant but still funny story
As the goth of the dev team, sometimes people ask me several things about me.
I was working on my code. It was 3 or 4PM and a bored dev asks came to me
He: Have you ever tried to be a vampire?
Me: No, I’m just a goth
He: Do you know a vampire?
Me: Unfortunately no, but I’ve heard of them.
He: Do they suck blood?
I don’t know if he was asking because of curiosity or in a sarcastic mode. As usual, I answered in a polite way explaining him what means to be a vampire, the types (blood and energetic) and the difference between a goth and a vampire.
While I was explaining to him this, the boss came into the office, heard me talking about the energetic vampires and said “Wow wow wow! What is coming on here?!” 😂15 -
Worst things about being a dev? Boy, this will be a long one!
- Whatever I do, be it hard work or smart work, I feel I am always underpaid.
- Most people who don't know tech feel my job shouldn't take that long. "Oh, a website that should be easy." "Oh, REST services, that's cute!"
- Most people who know a little tech will be like, "Here is the code for this on Google, then why are you charging this much"
- Companies like Microsoft and Apple who are too cool to follow standards.
- Always underpaid!
- The friggin compilers and random environment vars. Sometimes you make no change and the code works on a restart. I mean wtf!
- Having to give/meet deadlines, when we know most of the times things get out of control.
- Having to work for jerks mostly who don't know squat, and can't tell the difference between a CPU and a Wooden box.
- Sometimes I wanna take a break from my laptop(traveling and stuff) , those are the times I get the maximum work load!
- Did I mention we are always underpaid?
- Because of the kind of work I do, finding a girl has been challenging. Where the heck are they!
- We have to stay always updated. Often we deploy something using a framework and the next day we see an update.
- Speaking of updates, I hate having to support for OSes like Microsoft.
- Speaking of OSes, I hate Apple!
- Speaking of Apple, I feel we are underpaid, de javu?
...
How much would you hate me if I wrote "just kidding" ?3 -
So, I'm living in a completely computer illiterate family and I was called to help my father with something on a Laptop where he wanted to stream his favorite Soccer-Club.
So I walk up to him, ask what's wrong, and he says (roughly translated from German) "That thing doesn't work!"
And I'm just like ((Wat u mean))
So I ask him to explain the problem in detail.
Apparently his streaming service wasn't loading his stream.
Well damn I say, try searching for the problem on Google and find a solution.
((But no no no imma just call my son for everything that's freaking wrong with tech, he sure knows what to do))
As I'm not that experienced with Webservices as of yet, I had no idea what to do.
He was fucking furious!
"You always act like you know everything about tech and programs and stuff and can't even help me with fixing this Stream-Thing?!"
I responded simply by saying "It's not my area of work!"
Seems like he didn't know the difference between TECH-JESUS and hobbyist software engineer.
So I stand there and he just goes on one of these typical boomer tech illiterate rants, of which I'm sure you can imagine enough being on this platform.
tl;Dr; It pisses me of big time how people are not even trying to understand technology, nor attempting to help themselves by eG. Googling some simple problem, but rather just ask around and then being pissed off if the asked person just doesn't know the answer or can't help!5 -
I spent over a decade of my life working with Ada. I've spent almost the same amount of time working with C# and VisualBasic. And I've spent almost six years now with F#. I consider all of these great languages for various reasons, each with their respective problems. As these are mostly mature languages some of the problems were only knowable in hindsight. But Ada was always sort of my baby. I don't really mind extra typing, as at least what I do, reading happens much more than writing, and tab completion has most things only being 3-4 key presses irl. But I'm no zealot, and have been fully aware of deficiencies in the language, just like any language would have. I've had similar feelings of all languages I've worked with, and the .NET/C#/VB/F# guys are excellent with taking suggestions and feedback.
This is not the case with Ada, and this will be my story, since I've no longer decided anonymity is necessary.
First few years learning the language I did what anyone does: you write shit that already exists just to learn. Kept refining it over time, sometimes needing to do entire rewrites. Eventually a few of these wound up being good. Not novel, just good stuff that already existed. Outperforming the leading Ada company in benchmarks kind of good. At the time I was really gung-ho about the language. Would have loved to make Ada development a career. Eventually build up enough of this, as well as a working, but very bad performing compiler, and decide to try to apply for a job at this company. I wasn't worried about the quality of the compiler, as anyone who's seriously worked with Ada knows, the language is remarkably complex with some bizarre rules in dark corners, so a compiler which passes the standards test indicates a very intimate knowledge of the language few can attest to.
I get told they didn't think I would be a good fit for the job, and that they didn't think I should be doing development.
A few months of rapid cycling between hatred and self loathing passes, and then a suicide attempt. I've got past problems which contributed more so than the actual job denial.
So I get better and start working even harder on my shit. Get the performance of my stuff up even better. Don't bother even trying to fix up the compiler, and start researching about text parsing. Do tons of small programs to test things, and wind up learning a lot. I'm starting to notice a lot of languages really surpassing Ada in _quality of life_, with things package managers and repositories for those, as well as social media presence and exhaustive tutorials from the community.
At the time I didn't really get programming language specific package managers (I do now), but I still brought this up to the community. Don't do that. They don't like new ideas. Odd for a language which at the time was so innovative. But social media presence did eventually happen with a Twitter account that is most definitely run by a specific Ada company masquerading as a general Ada advocate. It did occasionally draw interest to neat things from the community, so that's cool.
Since I've been using both VisualStudio and an IDE this Ada company provides, I saw a very jarring quality difference over the years. I'm not gonna say VS is perfect, it's not. But this piece of shit made VS look like a polished streamlined bug free race car designed by expert UX people. It. Was. Bad. Very little features, with little added over the years. Fast forwarding several years, I can find about ten bugs in five minutes each update, and I can't find bugs in the video games I play, so I'm no bug finder. It's just that bad. This from a company providing software for "highly reliable systems"...
So I decide to take a crack at writing an editor extension for VS Code, which I had never even used. It actually went well, and as of this writing it has over 24k downloads, and I've received some great comments from some people over on Twitter about how detailed the highlighting is. Plenty of bespoke advertising the entire time in development, of course.
Never a single word from the community about me.
Around this time I had also started a YouTube channel to provide educational content about the language, since there's very little, except large textbooks which aren't right for everyone. Now keep in mind I had written a compiler which at least was passing the language standards test, so I definitely know the language very well. This is a standard the programmers at these companies will admit very few people understand. YouTube channel met with hate from the community, and overwhelming thanks from newcomers. Never a shout out from the "community" Twitter account. The hate went as far as things like how nothing I say should be listened to because I'm a degenerate Irishman, to things like how the world would have been a better place if I was successful in killing myself (I don't talk much about my mental illness, but it shows up).
I'm strictly a .NET developer now. All code ported.5 -
> be me
> work on a nice project with friends: A, B and C
> joined in a bit later, but before any real progress was made + we scrap the existing code, because it was Python2 or something
> decide on a framework
> A wants to create one himself, instead of using an existing one
> we fight for a little, but let A do his thing
> 2 months later
> been waiting the whole time
> +1000 lines on github, but still not finished
> "Wouldn't it be better if we would use the normal framework?"
> "No, mine is hand-crafted for that task"
> "But it is full of bugs"
> "If you find one major bug, we'll ditch my framework"
> finds major bug
> "That's fixed, just give me a min-"
> finds another bug
> "Thats just because you don't know how to use the framework"
- Documentation inside ONE gigantic README
- Library is missing the core features we needed/those which are implemented don't work
- Both B and C were on my side from the beginning (in that we should use "Already Existing Fully Documented Popular And tested Framework Which Does Everything We Need")
> "But i dont understand this framework so explain it to me"
> send him a few code examples + a tutorial??? (dont remember if i actually sent im the tutorial before i left)
> "explain it to me, i can't understand it"
> I CANT UNDERSTAND YOUR FUCKING FRAMEWORK DUMBASS
> ragequitted the server+project
To this day i still don't know, which framework they are using..
Also that Python 2 code in the beginning was because A didnt know the difference and copied (yes by hand) the code from atom to github without testing anything.4 -
Porting Java Code to Kotlin manually, just to get a better understanding of the language. Best thing so far, NO more Assertive Exception Handling.
Damnit Java, I know it for a fact that the damned thing won't throw an exception! There's Careful and Paranoid. KNOW THE DIFFERENCE5 -
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 -
Is it done yet?
Stop micromanaging! We are providing updates every morning, what difference does it make to ask for the update in the evening?!? Don't think no one can see that all you are asking is "is it done yet?"
Like a small child who does not understand the concepts of travel yet, you won't understand why "such a small change" takes so long. It's because we are scooping all the crap, patched by assholes who cared only to please you and did not had the courage to say no to your pressure and do things smart way.
If you think it is necessary to keep reminding everyone to do their job - then you you do not belong in IT.3 -
Consumers ruined software development and we the developers have little to no chance of changing it.
Recently I read a great blog post by someone called Nikita, the blog post talks mostly about the lack of efficiency and waste of resources modern software has and even tho I agree with the sentiment I don't agree with some things.
First of all the way the author compares software engineering to mechanical, civil and aeroespacial engineering is flawed, why? Because they all directly impact the average consumer more than laggy chrome.
Do you know why car engines have reached such high efficiency numbers? Gas prices keep increasing, why is building a skyscraper better, cheaper and safer than before? Consumers want cheaper and safer buildings, why are airplanes so carefully engineered? Consumers want safer and cheaper flights.
Wanna know what the average software consumer wants? Shiny "beautiful" software that is either dirt ship or free and does what it needs to. The difference between our end product is that average consumers DON'T see the end product, they just experience the light, intuitive experience we are demanded to provide! It's not for nothing that the stereotype of "wizard" still exists, for the average folk magic and electricity makes their devices function and we are to blame, we did our jobs TOO well!
Don't get me wrong, I am about to become a software engineer and efficient, elegant, quality code is the second best eye candy next to a 21yo LA model. BUT dirt cheap software doesn't mean quality software, software developed in a hurry is not quality software and that's what douchebag bosses and consumers demand! They want it cheap, they want it shiny and they wanted it yesterday!
Just look at where the actual effort is going, devs focus on delivering half baked solutions on time just to "harden" the software later and I don't blame them, complete, quality, efficient solutions take time and effort and that costs money, money companies and users don't want to invest most of the time. Who gets to worry about efficiency and ms speed gains? Big ass companies where every second counts because it directly affects their bottom line.
People don't give a shit and it sucks but they forfeit the right to complain the moment they start screaming about the buttons not glaring when hovered upon rather than the 60sec bootup, actual efforts to make quality software are made on people's own time or time critical projects.
You put up a nice example with the python tweet snippet, you have a python script that runs everyday and takes 1.6 seconds, what if I told you I'll pay you 50 cents for you to translate it to Rust and it takes you 6 hours or better what if you do it for free?
The answer to that sort of questions is given every day when "enganeers" across the lake claim to make you an Uber app for 100 bucks in 5 days, people just don't care, we do and that's why developers often end up with the fancy stuff and creating startups from the ground up, they put in the effort and they are compensated for it.
I agree things will get better, things are getting better and we are working to make programs and systems more efficient (specially in the Open Source community or high end Tech companies) but unless consumers and university teachers change their mindset not much can be done about the regular folk.
For now my mother doesn't care if her Android phone takes too much time to turn on as long as it runs Candy Crush just fine. On my part I'll keep programming the best I can, optimizing the best I can for my own projects and others because that's just how I roll, but if I'm hungry I won't hesitate to give you the performance you pay for.
Source:
http://tonsky.me/blog/...13 -
So I wrote an application that loads data from a 3rd party API. It allows the user to enter a record locator number and pull it up. By design, the value can be a partial match and it will pull up the record still.
The first API call I make only took 2-3 seconds, so I didn't see an issue as it's loading most of the data the app needs. I keep the filters/fields as they are and move on.
Fast forward 6 months. The user is complaining that the records are taking 30-45 seconds to load. Sure enough, load times are terrible. I've made lots of changes to what fields I'm loading through the API, and I'm calling several additional APIs, so I start pulling pieces of code out to see if anything improves. They all barely make any difference--still 30+ second load times. I end up removing everything except the first API call I developed that was taking 2-3 seconds before. Still taking 30+ seconds.
The 3rd party API allows you to filter using "starts with" or "contains". I used "contains" initially and had no issue, but I decided to try "starts with" since it should fit most use cases.
Load time is less than one second. I add back everything else. Load time is just over a second.
It seems that the 3rd party updated the API and multiplied load times by 10 when using that particular filter. I spent almost an hour on this since the platform doesn't support performance or debugging tools very well, and it all came down to a one line fix.4 -
I was shocked when one of my university teachers said there was no difference between strcmp(input, exit); and strcmp(input, "exit");1
-
After 6 months of work in this startup I gave in my notice yesterday.
- Me: I decided to leave this position as well as this country because: 1. My side business is expanding and Im making the same salary like here, 2. My army drafting got postponed for this year and next year they cannot draft me anymore(because of the age gap), so basically I'm a free man and can go back to my own country, 3. I have some freelance gigs on the side as well, so having them plus fulltime job plus my own side businesses it's not sustainable.
- My project lead: What if we would increase your salary ?
-Me : No, as I said this is purely due to personal reasons
My project lead: What If we would hire another dev so that you wouldn't have to work alone on frontend?
-Me: ......
Seriously do they ever listen??? I'm telling you that I'm making nearly twice the salary that you are paying me, do you really think an extra couple hundred of EUR a month will make a difference?5 -
I hate some parts of this company.
They literally have a "Designer" which made a mockup for our new UI and honestly when I first saw it I almost threw up.
Having made a lot of designs myself for personal projects and for fun I LITERALLY SAW he barely put any effort into it he just threw some stuff together took a shit on it and called it a UI.
For that interview we were actually expecting wireframes and not mockups since we were not sure what workflow we wanted for the UI.
Of course this would have come with feedback from us and then would have been reiterated and this was clear from our last talk with him.
Maybe he didn't know what wireframes were ¯\_(ツ)_/¯
If this wasn't enough, he was also consistently misspelling words all over the place, not aligning parts of the UI, misplacing common UI elements and stupid stuff like having a GIGANTIC + button for adding a object to a list for a NO TOUCH SCREEN UI.
(The plus button was all the way to the bottom left of the screen as far away from the list so users get a good hand workout).
But everyone just loved it because "We have known him for a long time and he has a big portfolio so he must know what he's doing".
I couldn't bring in anything, you truly notice the difference between "I don't agree with your opinion but you are heard" and "Shutup my buddy the designer is amazing".
I was not being an asshole I was giving critique on specific parts of the UI and not just saying "it's shit" hoping we could improve on it. Still having naive hope for the future of this project.
He even looked kinda mad and irritated by my opinion and just looked at the people previously mentioned.
I truly hate people who just keep using the exact same worthless piece of garbage people because they have known them for a long time.
Personally I wanted to grab him off his chair and throw him out through the window, 2 floors down, straight into the garbage bin, making damn sure he doesn't accidentally fall into the recycle bin.
Never ever would I enjoy or like this application's UI if I had to work with it as a user.3 -
!rant but help?
I currently have Kali (for labs I'm working on to teach myself the things I didn't learn in school), Ubuntu (downloaded for school), and Fedora (downloaded for my database class)... other than Kali already having Metasploit in it, I don't see a difference between these and I know there are more versions of Linux.
What would be a good starting place for every day use, that'll support Citrix receiver (required for work no idea what its requirements are but I can find out, if i can't use it in Linux, I'll dual boot) and virtual box (or other virtual software, don't mind learning new systems), and that i can also have room to grow for security learning?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 -
story time
I'm a C++ programmer and they have given me CSS, Javascript, Java, PHP and C# vacancies.. because I'm a programmer and they think I can do the rest.. YES I can.. NO i don't want to
One day I was invited at the recruitment office. had a talk for like 30 minutes.. where after they said yeah we have a game dev company for you.. then they said which one... Yes that Is indeed in this city... their SALES division not their DEV devision!
One day I came to a recruitment office 30min travel time.. and in the conversation it was me who talked about 30 minutes that recruiters don't understand the difference between javascript and C++. .. they asked me If I knew MySql.. for a backend job..
How can recruiters be THIS stupid.1 -
So I've started learning Rust and I must say it feels great! But some parts of the language, like enums, are quite different than what I'm used to.
As a proof of concept I've reimplemented a small API (an Azure Function App) in Rust with Actix Web and it's FAST AS FUCK BOIII.
The response is served about 5x as quckly and the memory footprint shrinked from some 90 MB to around 5 MB.
In my small scale usecase it's not a huge difference, but I think it can be massive at large scales...
What is your experience with Rust (at scale)?
I wish I could quickly reimplement the whole fucking CMS Of Doom™ in Rust... but no time and resources :(5 -
Who am I?
Some of you, because of the hyperbolic, outrageous, trollish, and often self-satirical nature of my posts, might doubt me. Thats completely relatable.
Heres the truth:
I was diagnosed in childhood with ADHD, fucking everyone, every male, these days is diagnosed with that. I was diagnosed bipolar. Hell anyone reading my posts could see that from a mile away. I was diagnosed on the borderline personality spectrum. Yeah, I could see that.
I was tested. They said I was in the 98th percentile for clerical ability, not extraordinary but pretty good, mathematical ability a little higher than that. My SAT was 1491. Not yale material, but I coulda been someone.
Over the years I studied a LOT of politics and read a metric fuckton of books. (40+ books over the course of three years).
I predicted every single presidential election since bush juniors second election. Three supreme court picks. Senatorial elections. Congresional elections. More than that.
I have a better analysis track record than some of the multidecade analysts sitting in the fucking NSA.
No I am not shitting you. No I am not exaggerating.
It's about the only claim to fame I get to legitimately make.
People ask me, "then why aren't you famous?"
How do you know I'm not.
Look I'm gonna tell you my actual name.
My real name is Lawrence B. Lindsey
Okay, I'm bullshitting for fun. But words I have written on alt twitter accounts have legitimately come out of presidential hopeful's mouths. No, this I am *not* bullshitting you about.
Imagine that. A guy who lived in his parents attic for five years, writing words that came out of presidential candidates mouths.
At one time I was about as popular and influential as that fuckboy catturd.
yes, really. No I am not fucking joking.
Under normal conditions I wouldn't talk about this or reveal it, because who the fuck cares? I'm just some dude on the internet, drunk, both on alcohol, and the pseudo-anonymous equivalent of bragging rights.
You know how many women I turned down because I could? You know how fucking drunk I am? They say a drunk man's words are a sober man's thoughts. Well, I'm not usually honest like this because the internet is full of false braggarts, and you tell people the truth and they don't fucking believe you.
I swear, it seems like I made some faustian bargain at some time, and can achieve no fame or lasting wealth in my life--to save my life.
Shit, I was talking to a chinese women who ran a bank in china (yes, really), who advised me to buy into bitcoin early on. Didn't have the money to. Woulda been a fucking millionaire if I did.
*Non-obvious* Ideas that major corporations are now persuing? Yeah those were sitting in my card index since the early 2000s.
I helped two people build and sell businesses. One for me tens of thousands. Another for millions. Yes, really. Got zero, and I mean, *zero* credit for it.
Point is, doesn't matter how famous you are, or coulda been, Doesn't matter the ideas you have, or had.
The world doesn't promote runners-up, or hasbeens, or wannabes, or could-bes.
What matters is execution.
If you're wandering through life, wondering when you're lucky break will be, stop. You have to realize, you make your own luck. Recognize the difference between what you can control, and what you can, and work on promoting your own ideas or business or values, instead of other people's dreams.
And for those wondering, yes I am drunk, and no, I ain't fucking kidding you in anything I wrote here.
The most important lesson I learned is this:
First work on your own success, before you work on the success of others.
p.s.
I give surprisingly good advice for someone who doesn't benchmark well on traditional measures of success. I know, even I was shocked when I looked at the statistics.33 -
As if my head couldn’t get any bigger... today we had the guys from the static analysis tool come in to show us how to use the tool and all that... the guys tell us don’t be alarmed, everyone who runs the tool for the first time has thousands and thousands of errors... my co worker did his as a “demo” and had 44 thousand MISRA errors. And a McCabe Complexity score of 700 in main().. I laughed ... and he and the guys from the tool laughed and said well fine then let’s see yours... so they set mine up to run, the room was silent, as I just smiled... only 2 MISRA mandatory errors.. and a few dozen required MISRA errors. My main McCabe score was 13.... understand both software project are working, and do very similar functions, only difference is different generation of product and who programmed it...
My boss walked in the room ... and says sooo how bad was Chris’ code as a joke... and the static analysis tool guys (who literally check people’s code for a living!) says ugh no sir, you have a very talented software engineer on your hands... we’ve never seen someone run the tool and have that few of issues... my co worker was very jealous to say the least... -
All I want is a another DVI cable so I can connect my secondary monitor digitally instead of by VGA. From their reaction, you could think I had instead asked for a gold-plated desk. Was it really nescessary to have three guys check (non-technical people, too) if *they* could see a difference between my monitors? My primary one is DVI, and *I* can see that the monitor connected by VGA is blurrier. Who connects a flat panel monitor by VGA anyway? Just the idea of an unnescessary pair of analogue-to-digital/digital-to-analogue conveters in the middle of what should be a straight digital connection should be an affront to any sensible technical person. So of course, no extra DVI cable for me.
Call me stupid, but I think it has probably cost the company more money from lost productivity having three people look at my monitors instead of just buying me another DVI cable like I asked for nicely.4 -
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 -
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 -
So, company I work at, is on desperate need of PHP developers, who can work in WordPress and Magneto. Company announced vacancy.
Only 20 CVs were dropped 4 days before from today. So company called all of them for interview and I was one of the interviewer. Most of applicants told me that they know Laravel but not WordPress.
I was like fine. Maybe they can work on WordPress too. But I was wrong. Here are some funny interviews:
Me: how many types of inheritance does PHP support?
Applicant 1: 7. Single, multiple, etc..
Me: Do you know difference between interface and abstract class?
Applicant 2: (he just said some gibberish)
Me: why do u prefer Laravel to WordPress?
Applicant 3: because by default Laravel support payment gateway, so we can create e commerce application faster. WordPress doesn't support payment gateway.
Me: how many WordPress site you have worked on?
Applicant 4: I have 4 themes in WordPress.org
Me: Do you create all of them by yourself?
Applicant 4: Yes
Me: Do u know difference between require and include?
Applicant 4: No
Me: Do u know difference between query_posts and WP_Query?
Applicant 4: No
Me: (facepalm)6 -
And now they are threatening us... Brilliant!
- they refuse to sign a legal agreement with us [for our services]
- they only gave us a verbal promise they will pay for our services
- they revoke lots of our accesses
- another company is taking over their product we were hired to look after before. Now they demand us do things for them for free
- a few integrations are malfunctioning with premature EOF [while reading a response]. I had escalated this with the most throughout case analysis I have done in my entire life. Three times over the last 2 years. Explaining every single detail that needs to be done, how, by whom and how to interpret the results. Escalations went to their high level mgmt. And directly had been rerouted to /dev/null...
- now they asked us to fix this whole shit. For free ofc, they have no money to pay us..
- they begged
- when that didn't work - they started threatening to route all their customers' complaints to us and flood us with them
at first I was proud to work on their project. I didn't want to leave it when my manager asked me to. A national level project, making a difference for my own country. But now.....
that's gov, my friends. That's politics and power games.8 -
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 -
I know we have a lot of talented people here. Piece of advice, what ever you build, believe in it. See it through. No matter how good of an idea incompleteness won't get you anywhere.
After all every other day we all analyze different successful products and say "huh... that's nothing. Even we can do that".
Well thats the difference "We" can do that, they DID it.
See your ideas through. Stay motivated =)1 -
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 -
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.4 -
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 -
Problem: ugly-ass php spaghetti code that has a technical debt of 16(!!!) years. I mean, it's so spaghetti that has two legacy frameworks that talk to each other inside the same monolith.
Observation: after two months my colleagues, trying to refactoring stuff, they were able to touch so little stuff that it almost made no difference.
How much is worth a rewrite? Because i don't think i can make a difference on a codebase so messy.
I know that rewrite is not the answer 99.9999% of the time, but i have tons of doubts here.13 -
As a final year student it makes me feel proud about things I do now, back in 2014 I was newbie to programming and after the years of study ( I skip collages in order to study by my self at home since my syllabus is too old for me to keep up with new technologies. ) I still feel like shit against brilliant programmers on the internet.
My journey untill now was frustrating and side by side it was fun too, I have spent several days to figure out very minor problems in my programme which made me forced to learn even more in order to avoid silly mistakes in future.
Those four lines of output were really true worth of that forty lines of code.
Every one of us, in their entire life at least once had thought about which programming languages to learn first and yes I was one of those guy who used to search on Google, watched YouTube videos and asked seniors for the same advice but soon I realized it's never enough to completely learn even one language. Each and every programming language is based on similar logical structure. No matter how different it's syntax is it won't make much of a difference.
I am thankful to internet and all of those guys who make video tutorials, help on q&a forum (stack overflow) , publish posts on website and all of IT community guys. I made it this far it's all thanks to you and I know it's just beginning of spectacular journey ahead.undefined thanks programmer programming quote blog blogging journey life of programmer life internet it crowd2 -
Remember how CPU speeds stopped mattering after they reached 2GHz? (except for gaming and media editing of course).
I believe Internet speeds have also met that zero marginal utility point at 15Mbps.
I felt no difference when mine went up gradually from 15Mbps to 75Mbps now. (Thanks ACT, India)14 -
Our CEO had a virtual town hall using Zoom and now have a sign language interpreter box as a regular feature... To go along with all the Inclusion stuff...
The most immediate problem though is they didn't turn on auto-captions...
I don't know sign but am deaf so needed the captions which it turns out you can get using the Google Recorder app on Pixels. (This is literally like a fuck you to non-Pixel users and Zoom which disables Live Captions in conferences and recording full transcripts).
Anyway I left it own and near the end, a speaker was like "we're getting a lot of likes and positive feedback about the interpreter box! See how small changes make such a big difference?!"
And well of course in my mind I'm going "uh.... No."
I'll just go back to not caring about anything that isn't related to how much I make.2 -
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 -
Maybe in special dedication to @kiki.
I cut the unit tests down in LOC size by roughly 50 - 60 % in most projects.
It's really easy once one sees unit tests not as a dunking pile of copy pasta wild west, but rather as a code base that needs architecture and design.
Some extensions, some annotations, some good old helper classes.
Pooooof.
Why I did this? ...
Because it's fucking annoying when you read a PR with tests and need a fucking diff tool to spot the difference between two tests cause they're 80 % the same.
Yeah. Thx for giving me brain cramps, motherducker.
I'm not an expert in unit tests, but if all test codebases look like the "usual stuff" in our projects...
It's no wonder bugs exist...10 -
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 -
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.3 -
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. -
If git was written in english or in ancient greek it made no difference. It's everything counter-intuitive and you have just to learn commands by heart and google the errors. Because nothing makes sense, even if you know how it works and you used it for years6
-
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 -
!rant
Goodbye Java I will not miss you at all! I swear ...
I do like it when making web services (especially that I can use Java8) but for Android you have been a torture. Hello sweet Kotlin! I shall embrace you and treat you like my newly born baby!!
Story is:
Working on a new project where I need to talk to a web service (also made by me).
Started writing in Java, all is cool and unit tests pass.
Downloaded Android Studio 3 Beta 1 and converted my Java code to Kotlin, That AsyncTask did not look nice in kotlin, converted it to async & await feature and I must admit lots of code removed, no more need to create a new fucking AsyncTask every time the app sneezes for data!
I feel like I'm working with C# but with difference in syntax.
My life is now complete :)undefined java goodbye! am i drunk? koline: sorry i have a boyfriend hi there kotlin i shall not miss you what the fuck did i just use for a tag?8 -
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 -
When you spend 10x time coding just because you can't, just can't resist writing good code, even when you no it's gng to make no difference whatsoever🙁
Why brain, oh why?4 -
My grandfather is at age 72 & don't know much about technology. He forward me this message on whatsapp bcz I'm a software engineer. He made my day...
What is the difference between http and https ?
Time to know this with 32 lakh debit cards compromised in India.
Many of you may be aware of this difference, but it is
worth sharing for any that are not.....
The main difference between http:// and https:// is all
about keeping you secure
HTTP stands for Hyper Text Transfer Protocol
The S (big surprise) stands for "Secure".. If you visit a
Website or web page, and look at the address in the web browser, it is likely begin with the following: http:///.
This means that the website is talking to your browser using
the regular unsecured language. In other words, it is possible for someone to "eavesdrop" on your computer's conversation with the Website. If you fill out a form on the website, someone might see the information you send to that site.
This is why you never ever enter your credit card number in an
Http website! But if the web address begins with https://, that means your computer is talking to the website in a
Secure code that no one can eavesdrop on.
You understand why this is so important, right?
If a website ever asks you to enter your Credit/Debit card
Information, you should automatically look to see if the web
address begins with https://.
If it doesn't, You should NEVER enter sensitive
Information....such as a credit/debit card number.
PASS IT ON (You may save someone a lot of grief).
GK:
While checking the name of any website, first look for the domain extension (.com or .org, .co.in, .net etc). The name just before this is the domain name of the website. Eg, in the above example, http://amazon.diwali-festivals.com, the word before .com is "diwali-festivals" (and NOT "amazon"). So, this webpage does not belong to amazon.com but belongs to "diwali-festivals.com", which we all haven't heard before.
You can similarly check for bank frauds.
Before your ebanking logins, make sure that the name just before ".com" is the name of your bank. "Something.icicibank.com" belongs to icici, but icicibank.some1else.com belongs to "some1else".
👆 *Simple but good knowledge to have at times like these* 👆3 -
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 -
Ok mate, you know what, you can FUCK. OFF.
MY H1 HAD EXTRA SPACE AT THE TOP. DEVTOOLS ELEMENT SHOWED NO DIFFERENCE.
I COMBED THROUGH THE FUCKING STYLES AND COMPUTED.
TURNS OUT IT WAS THE WHITESPACE THE FORMATTER WAS ADDING CAUSING LEADING \N
HEY CHROME DEVTOOLS.
HOW ABOUT IN ELEMENT VIEW.
YOU SHOW THE FUCKING PURE INNERHTML/INNERTEXT AND NOT JUST THE FUCKING NORMIE NON-DEVTOOLS TEXT THAT GETS RENDERED.
IM A FUCKING DEV.
THATS WHY ITS CALLED DEV TOOLS
SHOW
ME
EVERYTHING
FUCK5 -
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 -
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." -
Why can't managers understand that functionality changes and UX changes should be two separate epics? There's a huge fucking difference between composing an UI from existing components vs. having to figure out new components while at the same time paying attention to 12234234 new scenarios while at the same time duplicating existing components because existing portion of the app has to keep old UX.
And then they say bullshit like "we need solutions, not problems". Fuck you. Solution is to keep existing UX and focus on functionality, and do complex UX changes when functionality is well-defined and STABLE. But no, you fuckers won't listen even when the fucking lead dev tells you to.2 -
WTH...
While styling some frontend stuff with LESS, I experienced that on one page template the <header> was not displaying the given line-height eventhough the whole fscking code was 1:1 identical with the other template in which everything was fine. I checked EVERYTHING... caching, URL, source, classes, open / wrong tags, HEAD, ... I even did a diff compare. NO FSCKING DIFFERENCE!
After one hour of pulling out hair I suddenly saw that in the faulty template file 2 lines were missing:
<!DOCTYPE html>
<html lang="devRantLang">
WHOEVER DID THIS: YOU ARE FSCKING STUPID!!! (it was me...)7 -
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 world14 -
!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 -
Damn bro Vue 3 sucks actually. It's just a big function now with arguments like "`this` can be sometimes confusing when TypeScript is used." - hell no, my component was a class and this was the fucking class. nothing was confusing about this.
It's all a clusterfuck of magic now, I don't see why writing `ref(5)` or `return { all of your shit }` after `setup() { complete business logic inclusive functions here }` is better.
I was so looking forward to all the improvments, but why do we need these 3 apis with actually no difference, tried to be explained by the same image of colorful blocks in every single fucking article?
what happened to methods? am i seriously supposed to return them from a function? that just feels wrong.22 -
Inspired by @shahriyer 's rant about floating point math:
I had a bug related to this in JavaScript recently. I have an infinite scrolling table that I load data into once the user has scrolled to the bottom. For this I use scrollHeight, scrollTop, and clientHeight. I subtract scrollTop from scrollHeight and check to see if the result is equal to clientHeight. If it is, the user has hit the bottom of the scrolling area and I can load new data. Simple, right?
Well, one day about a week and a half ago, it stopped working for one of our product managers. He'd scroll and nothing would happen. It was so strange. I noticed everything looked a bit small on his screen in Chrome, so I had him hit Ctrl+0 to reset his zoom level and try again.
It. Fucking. Worked.
So we log what I dubbed The Dumbest Bug Ever™ and put it in the next sprint.
Middle of this week, I started looking into the code that handled the scrolling check. I logged to the console every variable associated with it every time a scroll event was fired. Then I zoomed out and did it.
Turns out, when you zoom, you're no longer 100% guaranteed to be working with integers. scrollTop was now a float, but clientHeight was still an integer, so the comparison was always false and no loading of new data ever occurred. I tried round, floor, and ceil on the result of scrollHeight - scrollTop, but it was still inconsistent.
The solution I used was to round the difference of scrollHeight - scrollTop _and_ clientHeight to the lowest 10 before comparing them, to ensure an accurate comparison.
Inspired by this rant: https://devrant.com/rants/1356488/...2 -
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
-
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 -
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 -
!dev but tech related...
Got a device configured in a location that is fairly far away from me. It operates only through a cloud service specifically for these devices, with one of the most unreliable web interfaces and smartphone apps I have ever used.
I email my issues to the tech support who don't seem to understand the problems and can't fathom the difference between "reset settings" and "restart device".
Eventually they need to log in to my account to find out whats wrong. I explicitly state that under no circumstances should any settings be changed.
Today I find that the device has been removed from the cloud account. I physically must be near it to register it on the account again. Tech support don't seem to know what happened and the best explanation is that it is "a glitch". They have no way to add it back themselves. I have to travel to the device.
Funny how this happened after I let them access the account... -
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 -
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 -
When you're developing it's very well advised to run your software locally in an environment as much as possible matching the real environment.
So for example, if you're running linux on production then you also run it locally to run your code.
Here's where people need to shut the fuck up:
No, mac is not good for linux development. Not unless portability is already a concern that you have and even then it might be counter productive. So many times when people say this, portability isn't not a concern. What runs on servers is up to them.
If your servers are going to be centos, then you develop with centos. Not with debian, gentoo, ubuntu, maxosx, etc.
Even different linux distros are a headache for portability when it's just to support a few desktops for development so don't think that macosx is going to cut it. It might not be as radical a difference as between windows and linux traditionally is but it's still not good for "linux" development. I don't think people making that statement really know what linux is now how different distributions work.
What you use for your graphical operating system doesn't matter to much but when you run your code then there's a simple solution.
Another thing people need to shut up about. It's not docker, unless you're already in Linux where docker is one of many options such as chroot or lxc.
This question always comes up, how do you developer for linux in windows? No it's not docker it's virtual machine.
It's that simple. You download the ISO for the distro you want and then install it on a VM. What does docker for windows do? It runs a linux VM that runs docker.
This may come as a great shock to developers around the world but it is possible to run linux in a VM and then any linux application your want including docker.
Another option is to shove a box in the corner, install what you need on it, share the file system and have people use that to run their code. It really is that easy.6 -
Ever have one of those days where you're just:
"Man i don't want to get into THAT right now, don't know why but I just don't...."
Then a task jumps out at you.
"Oh shit that, yeah I want to do that!"
I don't know what the difference is but sometimes one task seems more motivating for no reason at all.2 -
In 2015 I sent an email to Google labs describing how pareidolia could be implemented algorithmically.
The basis is that a noise function put through a discriminator, could be used to train a generative function.
And now we have transformers.
I also told them if they looked back at the research they would very likely discover that dendrites were analog hubs, not just individual switches. Thats turned out to be true to.
I wrote to them in an email as far back as 2009 that attention was an under-researched topic. In 2017 someone finally got around to writing "attention is all you need."
I wrote that there were very likely basic correlates in the human brain for things like numbers, and simple concepts like color, shape, and basic relationships, that the brain used to bootstrap learning. We found out years later based on research, that this is the case.
I wrote almost a decade ago that personality systems were a means that genes could use to value-seek for efficient behaviors in unknowable environments, a form of adaption. We later found out that is probably true as well.
I came up with the "winning lottery ticket" hypothesis back in 2011, for why certain subgraphs of networks seemed to naturally learn faster than others. I didn't call it that though, it was just a question that arose because of all the "architecture thrashing" I saw in the research, why there were apparent large or marginal gains in slightly different architectures, when we had an explosion of different approaches. It seemed to me the most important difference between countless architectures, was initialization.
This thinking flowed naturally from some ideas about network sparsity (namely that it made no sense that networks should be fully connected, and we could probably train networks by intentionally dropping connections).
All the way back in 2007 I thought this was comparable to masking inputs in training, or a bottleneck architecture, though I didn't think to put an encoder and decoder back to back.
Nevertheless it goes to show, if you follow research real closely, how much low hanging fruit is actually out there to be discovered and worked on.
And to this day, google never fucking once got back to me.
I wonder if anyone ever actually read those emails...
Wait till they figure out "attention is all you need" isn't actually all you need.
p.s. something I read recently got me thinking. Decoders can also be viewed as resolving a manifold closer to an ideal form for some joint distribution. Think of it like your data as points on a balloon (the output of the bottleneck), and decoding as the process of expanding the balloon. In absolute terms, as the balloon expands, your points grow apart, but as long as the datapoints are not uniformly distributed, then *some* points will grow closer together *relatively* even as the surface expands and pushes points apart in the absolute.
In other words, for some symmetry, the encoder and bottleneck introduces an isotropy, and this step also happens to tease out anisotropy, information that was missed or produced by the encoder, which is distortions introduced by the architecture/approach, features of the data that got passed on through the bottleneck, or essentially hidden features.4 -
2 hour meeting to brainstorm ideas to improve our system health monitoring (logging, alerting, monitoring, and metrics)
Never got past the alerting part. Piss poor excuses for human being managers kept 'blaming' our logging infrastructure for allowing them to log exceptions as 'Warnings', purposely by-passing the alerting system.
Then the d-head tried to 'educate' everyone the difference between error and exception …frack-wad…the difference isn't philosophical…shut up.
The B manager kept referring to our old logging system (like we stopped using it 5 years ago) and if it were written correctly, the legacy code would be easier to migrate. Fracking lying B….shut the frack up.
The fracking idiots then wanted to add direct-bypass of the alerting system (I purposely made the code to bypass alerting painful to write)
Mgr1: "The only way this will work is if you, by default, allow errors to bypass the alerting system. When all of our code is migrated, we'll change a config or something to enable alerting. That shouldn't be too hard."
Me: "Not going to happen. I made by-passing the alert system painful on purpose. If I make it easy, you'll never go back and change code."
Mgr2: "Oh, yes we will. Just mark that method as obsolete. That way, it will force us to fix the code."
Me: "The by-pass method is already obsolete and the teams are already ignoring the build warnings."
Mgr1: "No, that is not correct. We have a process to fix all build warnings related to obsolete methods."
Mgr2: "Yes. It won't be like the old system. We just never had time to go back and fix that code."
Me: "The method has been obsolete for almost a year. If your teams haven't fixed their code by now, it's not going to be fixed."
Mgr1: "You're expecting everything to be changed in one day. Our code base is way too big and there are too many changes to make. All we are asking for is a simple change that will give us the time we need to make the system better. We all want to make the system better…right?"
Me: "We made the changes to the core system over two years ago, and we had this same conversation, remember? If your team hasn't made any changes by now, they aren't going to. The only way they will change code to the new standard is if we make the old way painful. Sorry, that's the truth."
Mgr2: "Why did we make changes to the logging system? Why weren't any of us involved? If there were going to be all these changes, our team should have been part of the process."
Me: "You were and declined every meeting and every attempt to include your area. Considering the massive amount of infrastructure changes there was zero code changes required by your team. The new system simply worked. You can't take advantage of the new features which is why we're here today. I'm here to offer my help in any way I can with the transition."
Mgr1: "The new logging doesn't support logging of the different web page areas. Until you can make that change, we can't begin changing our code."
Me: "Logging properties is just a name+value pair dictionary. All you need to do is standardize on a name and how you add it to the collection."
Mgr2: "So, it's not a standard field? How difficult would it be to change the core assembly? This has to be standard across all our areas and shouldn't be up to the developers to type in anything they want."
- Frack wads smile and nod to each other like fracking chickens in a feeding frenzy
Me: "It can, but what will you call this property? What controls its value?"
- The look I got from both the d-bags I could tell a blood vessel popped.
Mgr1: "Oh…um….I don't know…Area? Yea … Area."
Mgr2: "Um…that's not specific enough. How about Page?"
Mgr1: "Well, pages can cross different areas, and areas cross different pages…what do you think?"
Me: "Don't know, don't care. It's up to you. I just need a name."
Mgr2: "Modules! Our MVC framework is broken up in Modules."
DevMgr: "We already have a field for Module. It's how we're segmenting the different business processes"
Mgr1: "Doesn't matter, we'll come up with a name later. Until then, we won't make any changes until there is a name."
DevMgr: "So what did we accomplish?"
Me: "That we need to review the web's logging and alerting process and make sure we're capturing errors being hidden as warnings."
Mgr1: "Nooo….we didn't accomplish anything. This meeting had no agenda and no purpose. We should have been included in the logging process changes from day one."
Mgr2: "I agree, I'm not sure why we're here"
Me: "This was a brainstorming meeting as listed in the agenda. We've accomplished 2 of the 4 items. I think we've established your commitment to making the system better. Thank you all for coming."
- Mgr1 and 2 left without looking at me or saying a word.1 -
Hmm. This code needs refactoring.
*recodes on Local and uploads*
Works on my branch.
*git push origin master and merge*
Works on Dev.
*deploy to Test*
Works on Test.
*deploy to Live*
Doesn't work.
*compares Live to Test, Dev, and Local*
No f$@%^%%$# difference!?!!
*quits development and lives under a bridge*5 -
Reporting is not fun..
Scenario 1:
* A user says they need to export certain data from our system..
* Developer W makes report called "Foo detail report"
Scenario 2:
* A user says they need this report to also show some extra fields
* Developer X makes a new report called "Foo detail report (extra fields)"
Scenario 3:
* A user says they need this report to be run with a different search criteria
* Developer Y makes a new report called "Foo detail report (extra fields) by bar"
Scenario 4:
* A user says they need this report show data grouped in a different way
* Developer Z makes a new report called "Foo detail report (extra fields) by bar- new grouping"
The above scenarios happened over and over for several years in no particular order...
Current Day:
* Some users have certain reports they use and rely on but we don't know which ones
* Nobody really knows what all of the reports do or what is the difference between them without looking at the sql
* If we want to change data structures we have many reports to update
* I have a request from a user to add an extra column to one of the reports1 -
you know what im tires of?
Finding a good domain name for a potential business, unregistered, and then using algorithms, the registrar itself snipes it and cybersquats it as "premium".
In otherwords, if you do find a good name, theres no point becauss it'll just be immediately labelled "premium" by an algorithm and lock you out with 5,000 dollar pay wall.
people in 2003 didnt have to deal with this shit. Registrars should be allowed to do this.
Five domain names now, out of a couple dozen I tried, the five good ones I came up with, all five, "premium".
It wasnt like they were even .coms or common words either. Hell one of them had a number in it.
Nope "we have determined spontaneously, through algorithm, you haves selected what may be a valuable domain name, thank you for the service of identifying it for us, we will now reserve it, even though no one else wants it, at a prohibitively high cost."
Like a homeless women finding a winning lottery ticket in a parking lot, and the rich fucking owner running out demanding that she give him it because it was lost in HIS public parking lot.
Like you motherfuckers dont already have enough? You know what a good domain is? Its a basis for credbility. Its the difference between whether people use your service or not. Its the foundation for excitement or interest.
And here we have this "algorithmically marked as premium" bullshit, fucking the poors out of any chance of even a good start.
"Haahahaha cocksuckers, you're not internet startups in the early two thousands! If you dont habe five grand go drop on a dpmain name that isnt even fucking owned, enjoy staying part of the fucking lowerclass!"
These fuckers. Cant believe this bullshit.
Just another day in motherfucking america, where you have to start rich to even get ahead. just one more way gen x, gen y, and gen z got fuckity fucked right in the ass.
fuck this country so much. fuck it all.
never even gonna have a chance to own a home or anything else.
nobody ever offered me a real fucking chance, not once in my god damned life. not even my fucking parents.
might as well drink myself into a coma.13 -
You know shit is going to hit the fan if the sentence "c++ is the same as java" is said because fuck all the underlying parts of software. It's all the fucking same. Oh and to write a newline in bash we don't use \n or so, we just put an empty echo in there. And fuck this #!/bin/bash line, I'm a teacher. I don't need to know how shit works to teach shit. Let's teach 'em you need stdio for printf even tho it compiles fine without on linux (wtf moment number one, asking em leaves you with "dunno..") and as someone who knows c you look at your terminal questioning everything you ever learned in your whole life. And then we let you look into the binaries with ldd and all the good stuff but we won't explain you why you can see a size difference in the compiled files even tho you included stdio in the second one, and all symbol tables show the exact same thing but dude chill, we don't know what's going on either.
Oh and btw don't use different directory names as we do in our examples. You won't find your own path, there is no tab key you can press to auto-fill shit.
But thats not everything. How about we fill a whole semester with "this is how to printf" but make you write a whole game with unity and c#. (not thaught even the slightest bit until then btw)
Now that you half-assed everything because we put you in a group full of fucks who don't even know what a compiler is but want to tell you you don't know shit and show you their non-working unfinished algorithms in some not-even-syntax-correct java...
...how about we finally go on with Algebra II: complex numbers, how they are going to fuck up your life, how we can do roots of negative numbers all of the sudden and let you do some probability shit no one ever fucking needs. BUT WHY DON'T YOU KNOW EVERYTHING ALREADY HMMMMM, IT'S YOUR SECOND LESSON, YOU WENT TO SCHOOL PLS BE A MATH PRO ASAP CUS YOU NEED IT SO MUCH BUT YOU DON'T NEED TO KNOW PROPER SYNTAX, HOW MEMORY MANAGEMENT WORKS, WHAT A REFERENCE IS AND PLS FINALLY FORGET THE WORD "ALLOCATION" IT DOESN'T PLAY A SINGLE ROLE YOU ARE STUDYING SOFTWARE DEVELOPMENT WHY ARE YOU SO BAD AT ECONOMICS IT MAKES NO SENSE I MEAN YOU HAD A WHOLE SEMESTER OF HOW TO GREET SOMEONE IN ENGLISH, MATHS > ECONOMICS > ENGLISH > FUCKING SHIT > CODING SKILL THATS HOW THE PRIORITIES WORK FOR US WHY DON'T YOU GET IT IT MAKES SO MUCH SENSE BRAH4 -
Servey Question.
How many you programmers have a working knowledge of how compilers work? The philosophy and mathematics behind them. Different stages. The choices one might have to make at different stages. Reasoning about the said choices. Difference between different paradigms -- philosophically and implementation wise. The tools one might use.
Reason behind I'm asking this is that I got into a debate with a friend where he said 9/10 of people whom we call "developers" have little to no idea how compilers work.12 -
There has been a post today about the existence of too many js frameworks. Which reminds me of this awesome post https://hackernoon.com/how-it-feels...
At first I thought someone was corpseposting, as it is my understanding that the js ecosystem is calming down a bit. But then I noticed that post got almost 20 upvotes. So here's my thoughts:
(I'm not sure what I'm ranting about here, as it feels kinda broad after writing it. I think it's kinda valid anyhow.)
I'm ok with someone expressing frustration with js. But complaining about progress is definitely off to me.
How is too many frameworks a bad thing?
How does the variety and creation of more modern frameworks affect negatively developers?
Does it make it hard to understand each of these new frameworks?
Well, there's no need to. Just because it has a logo and some nice badges and says it will make you happy doesn't mean you should use it.
You just stick to the big boys in the ecosystem and you'll be fine for a while.
Does it make you feel compelled to migrate the stack of every project you did?
Well, don't. If you don't like being on the bleeding edge of js, then just stick to whatever you're using, as long as it's good code.
But if a lot of companies decided to migrate to react (among others frameworks), it's because they like the upsides: the code is faster to write, easier to test and more performant.
In general, I'm more understanding/empathic with beginner js programmers.
But I have for real heard experienced devs in real life complain about having to learn new frameworks, like they hate it.
"I just want to learn a single framework and just master it throughout my life" and I think they're lowering the bar.
There's people that for real expect occupying positions for life, make money, but never learn a new framework.
We hold other practitioners to high standards (like pilots or doctors), but for some reason, some programmers feel like they're ok with what they know for life.
As if they couldn't translate all they learned with one framework to another.
Meanwhile our lives are becoming more and more intertwined with technology and demand some pretty high standards. Standards that historically have not been met, according to thousands of people screaming to their devices screens.
Even though I think the "js can be frustrating" sentiment is valid, the statement 'too many js frameworks is bad' is not.
I think a statement like 'js frameworks can go obsolete very quickly' is more appropriate.
By saying too many js frameworks is a bad thing you're
1) Making a conspiracy theory as if js devs were working in tandem to make the ecosystem hard,
But people do whatever they want. Some create packages, others star/clone/use them.
2) Making a taboo out of a normal itch, creating.
"hey you're a libdev? just stop, ok? stop"
"Are you a creative person? Do you know a way to solve a problem in an easier way than some famous package? it doesn't matter, don't you dare creating a new package."
I'm not gonna say the js world is perfect. The js world is frantic, savage, evolves aggressively.
You could say that it (accidentally) gives the middle finger to end users, but you could also say that it just sets the bar higher.
I liked writing jquery code in the past, but at the same time I didn't like adding features/fixing bugs on it. It was painful.
So I'm fine with a better framework coming along after a few years and stealing their userbase, as it happens almost universally in the programming world, the difference with js is that the cycle is faster.
Even jquery's creator embraced React.
This post explains also
https://medium.com/@chrisdaviesgeek...13 -
5 years of leetcode with no progress. I'm giving up.
First some background, I have an undergraduate degree in computer science and one and a half years of professional coding experience which ended when I got fired for performance issues. I have worked diligently at Leetcode for those 5 years (exceptions occurred when I got ill). I have been personally coached by a google software engineer for months. I have done and given 100s of mock interviews and paid for some to be done by professionals. I have spent 100s if not thousands of hours on Leetcoding and algorithms trying to improve in any way I can imagine. I'm still not good enough.
This all came to a head yesterday when someone on Leetcode made a post about being able to solve every single Leetcode problem in a year within a year while managing a post doc degree and having almost no programming background (link at bottom of post). It made it clear that Leetcode is a game of talent not hard work. The difference between someone like her and someone like me must be noted by the programming community. The majority of people would not ever be able to accomplish that. I dedicated myself for 5 years to Leetcoding almost exclusively and still am no where near what that person has accomplished. I have put in much more work than that person and have gotten much less from it.
I believe the programming community can learn from this contrast. The culture of always trying harder and thinking success stories apply to everyone that is pervasive in programming circles is toxic. The is reality not everyone is lucky enough to be intellectually gifted to succeed and not all hard work pays off. I am proof of that and this is the type of story that needs to be shared and heard too.
I am quitting programming out of humility and recognition of my limitations. It’s ok to give up and wise to do so when you aren't good enough for something.12 -
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 -
Multi User, One Account, and other shit
I'm gonna rant about something as a user, and someone who makes stupid web stuff.
My bank has been updating their web banking over time and they decided that every individual on an account, should have their own login. They really want to push this on their users, I suspect specifically folks like me and my wife who share one login for the joint accounts we have at the bank together.
Why share one login, because it's the only sure fire way I know that I and my wife can see all the same shit no doubt about it.
The banks never tell you what you can see or can't with joint accounts, I doubt it is even documented on their end, but in every damn case something is hidden or different in some weird way.
Messages to the bank people? If I send it, my wife often can't. I get that for security reasons that's a thing, but it makes no sense for a joint account.
ANY difference to me breaks online banking ENTIRELY. Joint accounts are supposed to be... well one account that is the same.
Other banks we used where we had different logins for the joint account, each login actually had separate bill pay accounts per user. So if I went to bill pay and scheduled something to be paid, my wife had no idea, same if she did.
Right fucking there, banking is just broken entirely!
So no Mr. Bank, fuck you we're both logging in via the same login.
Fast forward to N00bPancakes making a thing.
So my employer has a customer (Direct Customer). Direct Customer wants a thing that makes communication with their customer (Indirect Customer) easier.
The worst thing about making something for your customer's customer is that Direct Customer always imagines that Indirect Customer is gonna be super ninja power users....
But no, that's not the case... in fact almost nobody is a power user, and absolutely nobody WANTS to be a power users.
Worse yet in my case the only reason this tool exists is because Direct Customer and Indirect Customer can't communicate well enough anyway... that should tell you something about the amount of effort Indirect Customer is willing to expend.
So with that tool, this situation constantly comes up:
Direct Customer thinks it would be great if every user from Indirect Company had some sort of custom messaging, views, and etc in of Cool Communication Tool. The reason is because that's what Direct Customer loves about Ultra Complex Primary Tool that they use ....
Then I have to fight the constant fight of:
NOBODY WANTS TO BE A POWER USER, NOBODY EVEN WANTS TO DO MUCH OF ANYTHING ON THE INTERNET THAT ISN'T SCREAMING AT OTHER PEOPLE OR POST MEMES OR WATCH SHITTY VIDEOS. THE MOMENT ANYONE AT INDIRECT COMPANY LOGS IN AND SEES ANY INFO THAT IS DIFFERENT FROM THEIR COWORKER THEY'LL SHIT THEMSELVES, FLOOD EVERYONE WITH 'OH GAWD SOME NON SPECIFIED THING IS WRONG' AND RESPOND TO EMAILS LIKE A JELLYFISH DROPPED OFF IN NEW MEXICO... AND NOTHING WILL GET DONE!!!
God damn it people.
Also side rant while I'm busy fighting the good fight to keep shit simple and etc:
People bitch about how horrible the modern web is and then bitch at web devs like we're rulers of the internet or something.... What really pisses me off about that is other devs who do that.... like bro, do you make policy at your company? You decide not to sell some info or whatever shit your company sells? Like fuck off with your 'man I miss html' because you got scared by some shitty JS error and ran back to your language of choice and just poked your head out of the the basement and got scared... and you shit on another developer about that? Fuck you.1 -
!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...13 -
I hope I did not make the wrong decision here:
Been working on a side project using React Js for a year now. After getting to know more about Vue, I just started rewriting it and moving it to Vue, to speed things up I'm using core JS classes for network stuff and validations ...etc just rewriting Redux to Vuex and React Components to Vue Templates
If I made the wrong decision I'd appreciate if anyone tell me about it before I go deeper in the rewrite process lol
It is not that I found speed difference both perform the same from what I've seen for my scenarios. But the output code of Vue is soooo much cleaner than what I found in React, either I failed to write a clean react code no matter how hard I try to optimize it, or Vue really takes the short way and keeps things clean.19 -
Your three-second password retry delay is far more likely to annoy users than preventing a brute-force attack.
If you insist on a retry delay, let the user enter a password five times without any delay. This would make no difference in the grand scheme, the trillions of retries needed for a brute-force attack, and guessing a password takes longer than three seconds of thinking anyway.
Another alternative is a tenth of the password retry delay but one added character. One added character slows down a brute-force attack by at least sixty-two (62) times, so one more character but a tenth of the password retry delay would still mean more than six (6) times the protection against brute-forcing.
On Linux, the password retry delay can thankfully be reduced by changing a value inside /etc/pam.d/common-auth or /etc/pam.d/login (out of scope for this post, you can search online for more details).5 -
Am going through documents and found an old review on a paper I wrote in semester 1. Now, I wouldn't say my paper was either good or bad. There was not enough guidance provided in the unit and I was unfamiliar to the scientific asshole community so I tried my best.
But in particular, fuck reviewer 2. He doesn't understand basics in English and he has the audacity to make judgement. Like, I am not "misspelling" you moronic asshole who doesn't even know the difference between American and English spelling.
He wrote three fucking pages. This moron wrote about half the length of my paper about why my paper is shit. I hope he chokes on shit.
He goes on to why every figure was useless or wrong; How no section is related to another; How everything is either not explained enough, or explained too much. The audacity is what he suffers from throughout the review.
In conclusion, and given the contrast between reviewer 1 and 2, I'd recommend reviewer 2 goes on to fuck himself. Moronic bastard.
It's a pity that I know this will happen again in future. God this makes me so angry. Gah.5 -
Dear devrant community, I have a question...
For perspective, a few years ago, we had an incident, where one dev was looking for other employment, he did not say anything, he was just looking, and ended up accepting an offer, handing in his resignation and all that. But there was another dev doing the same thing, but he informed management that he was thinking of leaving, and would be attending interviews... Personally I note difference in treatment of the dev that was honest, he was slightly getting phased out and getting the cold shoulder most of the time combined with weird kindness that was cearly not sincere, where the other dev was given a hard time for not saying anything about them looking for other opportunities, and treated as though they betrayed all the trust they had earned and no longer deserved to be trusted....
My question is, what, in your opinion, is the right thing to do when you are looking for a new opportunity? Do you tell management, or is it actually none of their business?3 -
"You're always on the computer".
No, but I am continually trying to spend *some* time on personal projects before being interrupted 10 minutes in, to be forcibly given a list of jobs that are on *your* agenda. There is a difference.4 -
Email from a department mgr regarding a sharepoint site we inherited (lots of custom javascript, XLS, etc, stuff we didn't write)
Dan: "The department filter isn't showing up when I select the 'Logistics and Support' department. Was this caused by the changes you guys made? Its causing a major disruption in our processes and need it fixed ASAP."
Me: "Those changes went out almost two months ago and all the filters were working fine, at least that is what you told me when you tested it."
Dan: "I thought so, but its not working. It has probably been broken ever since you made those changes so I filed a corrective action ticket against your department for not following the documented deployment and testing processes"
Me: "Really? We've been over this. Its your department that is responsible for that sharepoint site. Previous developers hacked javacript together to make it all work, but I'm sure its something simple."
Dan: "Great. I'll start putting together a root-cause analysis to determine which of your processes we need to address."
Start looking at the javascript and found the issue..
if (dept === "Logistics & Support") {
$('deptFilter').show();
}
else {
$('deptFilter').hide();
}
Me: 'Found the issue. Did you rename the logistics department?'
Dan: 'No'
Me: 'To show or hide the filter, the code was looking for "Logistics & Support", someone changed the title to "Logistics and Support"'
Dan: "Well...I guess I did that yesterday...but I didn't change the name, just that stupid character. That shouldn't make any difference."
Me: "I can fix that right now. Are you going to need more information for your root cause analysis?"
Dan: "No, I think we're good. Thanks."1 -
I ran out of milk halfway a chocolate milk.
With no options left, I skeptically decided to add some water.
I had half a cup of milk, added 1/4 of water. Y'know, enough to look filled, not enough to ruin it in case it goes wrong.
Microwave it.
No, freaking, difference. Loved it.
I added some more water to see how much it changes, and it's just slightly less thick and 70% milk flavour. Sure it's a change but now I know the limit.
Recommended.8 -
Trying to learn Angular and reactjs, reading up the tutorial or documentation...
Why the hell are there ten million more shit I need to look at first? (such as rxjs, Babel, webpack... and whatever the fuck they are)
Now am I supposed to master those ten million tools/libraries before I can proceed?
Of course there is no ten million but mentally it's no difference. I'm just fed up with this.3 -
Have plenty of rants with enough ++ but I haven't requested stickers yet. Because i don't want to put them on something that i will end up throw away anyway. Besides from my gf, there is notting I'm attached to.
In this electronic age i which there was something more useful.
Example :
- email forward for nick@devrant.io
- custom profile fields
- ..
Just don't see the fuss over stickers. Maybe when i was 12 but that's 2 decades ago. But then again. If there were no rewards, it wouldn't really make a difference for me.9 -
No matter how many times, or whichever way I explain, he still doesn't get it. Are people so fucking blinkered they do not want to listen, or even read what you write. Back story, produced some web design visuals for a client, and fortunately he had the good sense to listen and employ a copywriter. She had the first draft done when i was putting together the styling, so i placed actual copy on the visuals. 2 weeks pass, still no answer. I send the same email to him, every 4 days and cc his PA for good measure. Finally, he says he wants to make some tweaks to the copy. I explain that any copy changes can be done via the CMS once the site is built, and can I proceed and build the site? He replies I need to make changes to the copy first. I explained again about the difference between the visual and the actual website, same response. You Fucking Infuriate me! Cunt!
-
Jesus fucking Mary... I spent 30 minutes debugging why my bean wasn't being fetched and literally I decided to retype the class name for context.getBean(beanName) and it works... there was no difference whatsoever in the fucking spelling!!! Bullshit.4
-
!Dev
So I'm at Brazil Day in NY, took me $6 and 1.5hrs to get here but know what I'm here I feel spending $5 for street food snacks is too much... Like they're price gouging too far...
But in other contexts, I have no problem dropping $$$ for food... Pretty much daily...
I'm not sure how I should make sense of this or justify it. Maybe that's the difference between paying cash and swiping?3 -
Here, a full retrospective of my Apple products ownership.
iPhone SE – after Android, I was absolutely amazed by how fast it worked. No UI lags, camera works absolutely instantly no matter the light conditions, all the GPU-heavy games work butter smooth.
After camera and charging port failures on Xperia flagship and CPU literally melting through screen rendering it unusable on Meizu, it was enough to make me interested in Apple products.
When I was using Meizu, I actually got a twitching eye which was triggered by UI lags. After two months of using iPhone, I noticed that something was missing – my eye wasn't twitching anymore.
iPhone actually cured me.
MacBook 12 – a 900 grams laptop with passive-cooled mobile CPU running many Chrome tabs, heavy Webpack HMR build, VSCode and Slack just fine. Yes, you can't play games, but I don't even require it from a laptop this tiny.
Butterfly keyboard that internet hates so much actually increased my typing speed and comfort compared to MX Red mechanical keyboard, and ForceTouch trackpad made me forget about mouse. I learned how to disassemble the Butterfly keyboard if I ever need this but the keyboard never failed.
I use this laptop to this day and it still even smells like the day one, a beautiful smell of a new Apple product.
iPhone X – got it because of the camera, stayed for great battery life and amazing OLED display. I use telephoto lens exclusively and it made me lay off my Canon DSLR with Helios lens which stays on my bookshelf covered in dust to this day.
True black of OLED display which is undistinguishable from the screen bezel is stunning. To this day, battery surely works for one and a half days and I watch youtube really often.
I sometimes struggled to unlock iPhone SE with wet fingers, but with FaceID, as soon as I look at the screen the phone is unlocked. Works perfect every time, never had an issue with this.
Stainless steel body feels premium compared to aluminum. Stereo sound is a major selling point if you're like watching videos and playing games on your phone. Overall amazing product and a huge improvement over SE.
Apple Watch series 4 – really comfortable fit. Nice battery life, once I forgot about it for like ten days during lockdown and it was still working, even though on power reserve mode. Really reliable in terms of battery life and liquid protection. Very satisfying Taptic Engine crown clicks. I run every day and Apple watch always measure my heart rate correctly, and the running app is well designed and a pleasure to use. Overall a nice accessory to have if you use iPhone.
Powerbeats Pro – great sound and battery life. I switched from Shure SE215 which was great, but it had wires. I listen to a lot of music so the sound quality is important for me. When I was choosing earphones I visited a store where you can listen to them all. I listened through earphones like Noble Audio Kaiser Encore and JH Audio Layla, and of course $4000 Laylas sound better than $249 bluetooth earphones, but the difference in sound doesn't justify the difference in price to me.
Powerbeats pro is the Apple H1 chip true wireless earphones with largest driver of them all which makes them sound better than AirPods Pro – it's just physics. Bass in Powerbeats is amazing, which is also true for my Shures, but Powerbeats also win in clarity.
It connects seamlessly to both my MacBook and my iPhone, and everyone in voice chats can hear me really good.
Huge case is a major throwback compared to AirPods, but the battery life of earphones themselves is so great that I just leave the case at home and only carry earphones and it works for me.
Apple Link bracelet in space black – really better than I expected. Intricate detailing, literally the steel that Rolex uses, top-notch finishing and polishing – all that for just 450 dollars. I only used it for several days now, but it already feels like a really satisfying product.
Before all that I was using Linux. It took a year for elementaryos devs to fix wifi for my laptop. Ubuntu looks and feels ugly. Pop OS felt like garbage. Manjaro was also just that – garbage. KDE Plasma – I don't even want to talk about that. A monstrocity where you accidentally click a wrong switch in the settings and your system won't boot up again. Also, PulseAudio. Struggles with proprietary drivers and software updates.
Windows? I serviced a lot of Windows PCs through my career and it never, never worked as intended. I'm no dumbass, I always managed the rights correctly and never installed sketchy apps. My latest ryzen gaming build with a lot of ram also lags somehow even in Windows 10 UI.
Before I switched, I defended Linux.
My life was a lie.
I'm sorry to everyone who I offended based on their opinion on Linux.33 -
Started a new job as a dev. First days revealed no local admin rights, no right to use Linux locally and a very limited set of Software. Negotiated compromise to get a remote VM with Linux and a user who is part of sudo. VM turned out to be isolated by proxy, so I can not install anything new. At least Docker is pre-installed and I hoped it could work out. But guess what no access to dockerhub and I can not pull any images. Admin told me to copy manually the images with scp.
I'd never thought that there could be any companies out there who treats devs like that. What puzzles me most, there're lot of devs staying with that company for years, even decades already and they're good guys, please don't get me wrong.
Did you encounter anything like that? Could you make any difference there, where you met anything like it.
I reached the point after 3 weeks where I do not think I can make any difference and when it'll take ages to move people and company policy.
I do not want to give up, but I fear it is pointless to fight for change there. I am out of options and about to leave asap. Can you recommend me anything else?
Thanks in advance and for your time :)
Felt good to write it down.12 -
I study both mathematics and computer science at Delft university. There's a difference between the approaches these two studies have.
Mathematics is usually about going to lectures, learning complicated stuff there and then using the obtained knowledge in a exam at the end of the course.
The CS courses are kore about engineering. They have practicals way more often than the math courses and the exams usually are of les importance.
It feels as if the "academic level" of the CS courses is lower. In math, we learn the real deep, abstract matter, while CS is more about "tinker up something nice in the practicals and you'll be fine."
I'm not sure if either approach is better, but I'm sure I like the maths version more. The CS approach is more HBO-like (HBO being the lower-level universities)
It is even that, generally speaking, the people who study maths seem more serious about studying than the cs people.
Not all of them, and no offense meant, just an observation.
Well, that was not really a rant. If you read up to here, I'm curious what you think about this.3 -
This might just be me and my OCD talking, but am I the only one who gets super annoyed with sloppy CSS formatting?
So like, if somebody writes a sloppily formatted rule like this without spacing out each property and value:
#signUpButton {color:#FFF;background:#000;float:right;clear:both;padding:5px;position:absolute;top:5px;right:20px;height:100px;width:45px;}
As opposed to something like this, which just looks much cleaner:
#signUpButton { color: #FFF; background; #000; float: right; clear: both; padding: 5px; }
The formatting makes no difference in how the CSS is evaluated and rendered, but I find the spaceless style so ugly and difficult to read/edit, whereas the spaced out style is much more appealing to the eyes and easier to read
I find myself reformatting other people's CSS that works perfectly fine just so it will be easier to read/edit for anybody else that looks at it in the future8 -
Making the decision to leave a large, safe corporation that I'd been at for 10 years, but going no where, for a small independent software house was extremely difficult. But now I feel like I make a difference and not just a cog in a machine.1
-
/*
* This question isn't about diminishing other operating systems !
* I'm just have no idea. 😫
*/
Is there a big difference on the amount of packages on pacman, apt-get and yum. Can I use either of them and be sure that most applications are available ?3 -
So I was asked to do a card redesign A/B Test
The results came in
Redesign performs 20% worse
PM’s report says “no significant difference, redesign approved”
He just wanted his redesign to be published
smh, why trouble with A/B Test when results are known faster than during elections in North Korea1 -
DAYLIGHT SAVING!!
Up to this point, I was indifferent to the issue if it should be kept or not. My sleep schedule is fucked and non-routine anyway so one hour plus or minus doesn't play any role.
I got to a meeting scheduling problem, when I have 2 timestamps in variable timezones and want to calculate time difference. Both can have DST active. There is no algortihmic way to figure out. I checked SO and pytz and it's just a list of hardcoded dates when DST starts and ends. WHATHTEHELL.jpg
Not only we should abolish the DST, we should force the whole world into UTC/Zulu. And those, who refuse to adapt to UTC, will be forced to work with plain integer epoch dates.3 -
For those of you scared of the ZOMG imminent threat of AI.....
In Spanish, in particular to the way it is spoken in Mexico, we know curly hair to be called "chino" or "chinos" in certain places. This is funny because Chino is actually what we call Chinese people.
So. The other day I mentioned in a friend of mine's post the text "pinches chinos" in regards to the pain of having curly hair(which I also have) during windy days.
FB being the retarded piece of shit that it is took it as hate speech, pinches chinos can be roughly translated to "fucking curly hair" in this regard, but because FB is retarded as all fuck it took it as me spewing some hate speech again'st their Chinese overlords.
I normally wouldn't give a fuck, if it weren't because one of my friends is celebrating their birthdays today and I can't post shit on his wall due to me being on facebook jail.
I have known this dude since I was 6, currently 29, but no, FB decided that I was some racist prick somehow and because of that I can't go ahead and post something to him. Its fine, I was still capable of calling him and celebrating with my boy, but still.
An AI will not be able to detect the difference between a fucking cat and a lion, it is shitty technology, it is interesting because of the math behind it, but seriously, not something to be scared about, skynet is far from coming into existence.
Fuck FB and fuck people scared about AI and deep learning12 -
I feel like saying "I know C#" (or Java or other similar languages) to mean that you know it as a language as opposed to more of a framework is ridiculous. We should say what programming language level we know (high, mid, low...) since the difference between say C# and Java is pretty much the same as the difference between say WinForms and WPF. Depending on which two languages and which two frameworks you choose it can be a much bigger difference between the frameworks than the languages.
In a CV I'd like to say "I know x-level languages with experience in [actual programming language + frameworks]" instead of saying I know C# and then recruiters and HR people and such assume I don't know Java at all, but know MVC, WebForms and whatever else even though I might specialise in something else and would take me pretty much the same to get proficient in Java as it would take me to get proficient in that framework or something that's technically C#.
It just makes so much more sense to me. As a dev you're supposed to know the principles, the syntax should be secondary. A pointer is a pointer regardless of it's marked with a * or IntPtr or just a value in a register with no special marking that it's a pointer...
Can we, as devs, come up with something like this?2 -
!rant
When applying for a new job, how do you tell the difference between somewhere that is really old fashioned but wants someone come in and make improvements to processes and coding standards... And somewhere that pretends to want those things, but actually has no intention of letting anyone make those changes?8 -
So I was rejected by the management today for promotion to Senior 2 although I have done several major feature developments + infra design and basically end to end ownership.
Reason for no promotion? That's the best fucking part, according to the feedback, the work I performed on the service I created is well-designed,
and the code quality is commendable. However, they pointed out a notable difference in code quality between the micro-service
I built and the rest of the project developed by others. This, apparently, suggests that I lack a strong sense of ownership over the broader product.
First of all, we have super tight deadlines (almost 996), and I burned midnight oil to make sure the service I am in-charge of is designed really well.
Also, how in the flying fuck the other how the inability of others to maintain good code quality elsewhere in the product is being used as evidence against my sense of ownership
and initiative in ensuring high engineering quality for the repository I wasn't even working on
What a delusional management, the entire feedback feels like just an excuse to fuck off, we are not promoting you...
May be instead of doing actual engineering work, I should have just do minimal work and write more design docs / technical artifacts
It is very demoralizing after I worked hard for so many months, product went out really well.. yet when performance review comes, rejected with a petty reason7 -
dev vs QA rant (n + 1)
So our QA is done by China team so naturally time difference is quite irritating,
I cannot change code
I cannot debug for issue
So today I fix a critical issue and before pushing it my seniors send the to the QA
> QA unavailable
> I wait for QA because nobody notifies if the code is tested and I can work ahead
> I get review that my issue fix generated another issue (page gets redirected)
> I'm angry and astonished, I check on same link, same circumstances and no such issue is found
> My seniors say read the issue properly and I do it, no positive response when I contradict the QA
> QA leaves for home on Friday and critical issue still remains in live
I cannot believe the laziness of QA, I mean it's their loss at the end of the day.
> top of that I waited 2 hours for QA to check the issue2 -
Today I want to put an age-old question to rest. What is art and what is not? What's the difference? In art world, there is actually a consensus that was reached in the second half of 20th century.
First, the audience has no merit to decide what's art and what's not, as art has inherent characteristics. So whether a piece is art or not is left for the artist to decide.
But the artist too cannot just call anything they make art. There is just one criterion — if only the art piece itself is enough to justify its making, and the artist sees it as the only award they need for making it, it's art. Otherwise, it's not.
"But wait, that's not entirely correct, this is incomplete", you say. Well, it's in fact complete, but because our society progressed way faster than our languages, we're having a hard time to describe novel complex things with words. Language can't keep up with rising complexity.
We use "horseless carriages" instead of "cars" when we describe anything complex enough. The good explanation of how language works and why do we act like this is outlined beautifully in Benjamin Bratton's "The New Normal". A small book of forty-something pages, but I never spent that much time on every page in my life. The best book investment for me after "The Code Complete".22 -
Fried two devices today by simply connecting them to a power source.
Changed nothing in the circuitry, no shorts due to solder residues (a simple modification was made), no changes in the input parameters. Check.
The afromentioned devices should have only minor HW changes compared to a previous version I'm working with and as far as I can see absolutely nothing which should cause the damn microcontroller to release smoke like a steam train. (All right, a very miniature steam train.)
So the only significant difference might be the firmware which I didn't check yet but will tomorrow. Not my code and the corresponding IDE just basically sucks. Yay.
On the other hand, the Software part finally feels like I'm getting somewhere. It seems just ... to work. Very suspicious.
Feeling ambivalently frustrated and relieved at the same time. Sigh.7 -
It's hard for me sometimes to tell the difference between a dev who actually got fucked and a dev who just didn't know how to budget their time correctly...
I've had freelance web friends who will go out partying twice a week... I've also had freelance web friends who shutter themselves indoors the moment a project of significance comes up. Both types have complained to me about crunch time.
Obviously i can't tell a whole story from just a devRant thread, but for a select few of them i really feel like this person just had no idea what they were doing, were negligent, or estimated their time way under the cut.
I'm not calling anyone out, I'm just saying that when you post about crunch when the item is something fairly obvious you should've been able to catch within the first week of the project, it makes me doubt your sensibilities.
Obviously I'm not making any judgements or saying that i know even half of what you know about the project and the job, but I'm just saying a little more detail couldnt hurt...7 -
#need_help
Dear all,
I'm trying to make a choice, a choice that won't make me regret it for the few years advanced, I'm in a dilemma, I don't know which MacBook should I get for my everyday life, I currently work as an iOS developer (Learned iOS using all kinds hackintoshes, yeah I never bought a single apple computer, yet), and always have motivation to learn new stuff (from machine learning, to web development, to making games with unity (or whatever engine), hell I even like to design stuff from time to time using Photoshop, sketch, I sometimes do video editing using premiere and after effects), and I yet have to choose which laptop to get, I got only one week to make the choice so...
Here are the options:
The new MacBook Pro 2016 (Touch Bar edition):
Pros: 'Latest' and 'greatest', have thunderbolt ports which makes it (sort of) future proof, TouchId for unlocking the laptop using a fingerprint.
Cons: You need a damn dongle everywhere, no escape key (Which I use for the autocomplete feature in Xcode), and this touch bar (Which I really have no idea if i will ever use it other than the nyan cat app for 5 minutes), plus I heard about battery issues with it (don't know if they resolved it or not), fucking huge trackpad, and no fucking MagSafe!
The previous model MacBook Pro 2015:
Pros: Ports, lots of them, small trackpad (Which you don't have to worry about your palm screwing up your work), and MagSafe! (Which I honestly don't know if it'll make any difference for my usage)
Cons: has old CPU from Haswell generation (I know that it won't feel different, it's just that I like to have parts that are the 'latest')
Now some questions, for people who have the old MacBooks and new MacBooks:
For the ones with old MacBook:
If you were given the choice to replace the old MacBook for the new one for free, would you go for it?
After all this time, how's the battery performance? is it still great from the time you bought it?
Foe the ones with new MacBook:
Does the huge-ass trackpad interfere your work day?
Do you miss magsafe to a point where you really want to throw out the new laptop and go back to previous model?
Did you get used to carry out dongles everywhere?
Did you like the TouchBar? Does it help you in your everyday work? from designing to coding to whatever, do you think that now you can't live without it?
How's the battery performance?
Is programming on it joyable? or the new keyboard and touchpad are just a meh?
Strawpoll to make it easier to vote:
http://www.strawpoll.me/12856510
In addition to that I would love that you guys detail me your experience and answer some questions that I posted above, I would be very, very grateful.2 -
NO ONE EVER MADE A DIFFERENCE BY BEING LIKE EVERYONE ELSE... And NO ONE EVER BECAME GREAT BY COPYING SOMEONE ELSE...7
-
I found out the importance of time complexity. It might not seem like a big difference between O(1) and O(2). But there's a big difference hardcoding 500 lines and 1000 lines of data.
I made a navigation app for school using dijkstra's algo. However it had no data available so I had to hardcode it. Long story short, there was a ton of hardcoding. Always try to improve the time complexity of the code you write.2 -
I like rants that are thought provoking and push a message forward regardless of whether they may sting a little, so for my first post on here I'd like to hit at home with many of you.
Html5 "Native" Applications are not needed. Let's cover mobile first of all, the misconception that apps are written in either javascript or Native android/ Native ios environment. Or even some third party paid tools like xamarin is quite strange to me. OpenGL ES is on both IOS and Android there is no difference. It's quite easy to write once run everywhere but with native performance and not having to jump through js when it's not needed. Personally I never want to see html or css if I'm working on a mobile app or desktop. Which brings me to desktop, I can't begin to describe how unthought out an electron app is. Memory usage, storage space for embedding chromium, web views gained at the expense of literally everything else, cross platform desktop development has been around for decades, openGL is everywhere enough said. Finally what about targeting browser if your writing a native app for mobile and desktop let's say in c++ and it's not in javascript how can it turn back into javascript, well luckily c++ has emscripten which does that simply put, or you could be using a cross complier language like haxe which is what I use. It benefits with type safety, while exporting both c++ and javascript code. Conclusion in reality I see the appeal to the js ecosystem it's large filled with big companies trying to make js cross development stronger every day. However development in my mind should be a series of choices, choices that are invisible don't help anyone, regardless of the popularity of the choice, or the skill required.8 -
META-LUCK: A Pseudo-Ontology Of An Authentic Future
* * *
I think in the not-to-distant future we will abandon the idea of authenticity (messaging, corporate responsibility, ethos) in favor of other factors, such as cost. We won't abandon it and replace it with fakeness, so much as realize
that we don't, as a society favor it at all, not in the absolute sense, nor in the relative sense like in relation to things like cost.
We will either abandon authenticity entirely, or alternatively, transition to a world where authenticity is the highest valued quality, being adjacent to truth.
Heres why. Authenticity, like all social qualities, can be 1. mimicked, 2. simulated,
or 3. emulated.
In the first case, a corporation, product, leader, organization, or other, apes authenticity simply by its knowable, external features. It mimics the sounds, like a jungle bird copying a jack hammer to scare away predators or attract mates.
There is no understanding, let alone model, external or internal. The successful mimic
is little more than a lifeless, unthinking puppet.
In the second case, the attempted authentic simulates authenticity: That is, an external
model is formed, or pattern, that is predictable, and archetypal. It may have an internal
model even, a set of policies and processes for deciding the external-facing behavior.
But these policies and internal processes and models are all strictly outward facing. It is purely pathological in its goal, desiring only at minimum to achieve *externally attribute* authenticity (public opinion) rather than those internal changes that generate the true perception of the public--a perception not of surface behaviors and shrewd calculating policies and processes, but as a quality of authenticity for its own sake. This is in some sense the difference between the mundane and the atavistic, that the benefit, while not definable strictly, is assumed as a 'matter of course', culturally, within the organization or individual or company. It is to say, a *quality* of the thing, that *generates* outputs of a certain character and nature, rather than a *goal* that is attained 'after-the-fact' by behaviors generated for *other* than being authentic.
Here we reach the limitation of definitions.
Finally, we arrive at the case of number three, the emulation. We have in part already described it, but lets try and summarize a bit.
The Authentic is an *originator* of behavior and outward appearances, being an internal quality of a person or organization. It originates behavior, rather than being the goal of behavior and outward appearances.
Its benefit is assumed, though not always nameable or definable, even though this sounds naive, superseding other factors like cost and profit. As such the authentic does not emerge in a cost-focused environment, not readily, not often, and not cheaply either.
It is in some sense an experimental state of being, of goal-seeking only after-the-fact of "being true to ones origins" is established above and beyond those goals--setting and achieving only those goals which ultimately align with the origin and intent of the authentic.6 -
A developer couldn't get a application performance monitoring (APM) tool to trace his application. They claimed that their libraries and their configurations were alright and that the APM tool was non-performant.
The developer then argues with sysadmin that the APM tool can't trace the application and that there's nothing wrong with the application or the configurations. When sysadmin questions whether the developer got the tool to work anywhere, they say, "No" and head off to make it work at least in one place. They come back saying that it works on their development environment (which is their local machine). Sysadmin claims that the system configurations on the server instances cannot be matched by the development environment and there could be a lot more factors to be considered for the problem. The sysadmin asks to prove it on a server instance on one of the test environments and then they'd agree that it is a problem with the tool. They also argue that this is not the only application that uses the APM tool and the tool happily traces other applications with no issues.
The developer tries the same configuration on a staging instance and fails. In order to make it work, they silently uninstall the existing version of the APM tool and then compiles an unstable branch of the tool. It finally works with this version.
They go back to the sysadmin and show that it works on the staging environment, but does not on production. After banging their head on the wall for a while, the sysadmin figure that the tool had been swapped out for the unstable branch that was manually compiled. When questioned, the developer responds, "It works with this version on staging, so deploy the same version on production"
WTF? You don't deploy an unstable branch to production. Just because you can't make it work on the stable branch doesn't mean that it is the problem with the tool itself. There's a big difference between a stable branch and a non-stable branch. How would you feel if the sysadmin retorted by asking you to deploy the staging branch of your application to production? -
Shows perfect results.
PM: Nice, integrate that into the latest version.
Shows bad results.
PM: Your integration must be wrong.
Show him the file diff, no difference in my implementation.
It's funny how the exact same feature goes to shit immediately after they push all these untested changes. -
Still remember my first year of university, listening to the full professor (i. e. she has a frickin PhD). She couldn't explain the difference between ++i and i++. When I tried to tell her what they meant, she dropped this gem: "oh, I just wrap them in parentheses to be safe so it makes no difference which one I use."
Luckily, future profs were much better.1 -
my biggest lol moment was talking to some hardcore always bring in your own algos and ds games to the table, always going to the core of the world devs, better than thou my shit is better than you ass, my point of view is the best in the world devs, cite papers and algos to you devs, shit like that that were making way less money than some dudester ruby on rails dev sitting at the the conf sipping on his drink.
Really, all that comp sci shit is legit and fun as fuck. But if you are not getting the green for it and living the life then what is the fucking point. Even then, those that are are normally fucking morons. This shit ain't some art, or a personality trait, it is a job.
Fuck me i am so tired of the whole hacker news reddit ass SO mentality of devs, then again I am also tired of mfkers with no knowledge of actual engineering publishing medium articles left and right.
As long as you cannot take human error out of this computer equation you will always have a shitfest of opinions, because regardless of correctness you will always have a shitfest as long as some dickwad has a difference of opinion in an otherwise young ass scientific field such as computer science.
Language wars, framework wars, editor wars you name it. This field is so fucking broken and so full of shit it ain't funny, made less comedic by the fact that it runs the world.
If we are going to die it will be by some massive kernel panic made possible because somewhere, some morons could not mergr a repo due to conflict in ideas. As if being right was going to bring you closer to not being an ugly fat nerd and getting pussy, or dick, whatever your flavor is you fucking losers. -
So we finished our requirement ( barely) for a new client. Next is data modelling and system design.
We started with data modelling. Unfortunately the lead developer does not know the difference between database and data modelling.
me: hey bro, we'll do the database and stuff later, now let's focus on data modelling.
him: (acting like he knows) yeah I have developed a sample design for the "data model".
me: no this is database design.
him: what's the difference?
me: dude, they're totally different. Okay, simple explanation data model is what you want to store, whereas DB design is how you store it.
him: So, if I am not wrong, it's implied that you know what to store if you are talking about how to store it.
me: but you don't know what it is you want to store yet. And one of them precedes the other.
him: Okay, let's start with DB design.
me: What?????? you want to build a house without a plan??? That's it for me I am done !!!
I left the project yesterday, later I heard that, the team members are coders, who think that developing a software is all about coding and fixing errors. -
I must say the worst thing is the whole "branding" of closed and open source software. Giving systems/platforms/repositories/projects/libraries names that makes no sense, just for the sake of standing out. Just god damn call a shoe for a shoe...the difference lies in the creator/maintainers and not in the fucking name...sry
-
StackOverflow locked my account. I'm hoping someone here might be kind enough to help me with a bash script I'm "bashing" my head with. Actually, it's zsh on MacOS if it makes any difference.
I have an input file. Four lines. No blank lines. Each of the four lines has two strings of text delimited by a tab. Each string on either side of the tab is either one word with no spaces or a bunch of words with spaces. Like this (using <tab> as a placeholder here on Devrant for where the tab actually is)
ABC<tab>DEF
GHI<tab>jkl mno pq
RST<tab>UV
wx<tab>Yz
I need to open and read the file, separate them into key-value pairs, and put them into an array for processing. I have this script to do that:
# Get input arguments
search_string_file="$1"
file_path="$2"
# Read search strings and corresponding names from the file and store in arrays
search_strings=()
search_names=()
# Read search strings and corresponding names from the file and store in arrays
while IFS= read -r line || [[ -n "$line" ]]; do
echo "Line: $line"
search_string=$(echo "$line" | awk -F'\t' '{print $1}')
name=$(echo "$line" | awk -F'\t' '{print $2}')
search_strings+=("$search_string")
search_names+=("$name")
done < "$search_string_file"
# Debug: Print the entire array of search strings
echo "Search strings array:"
for (( i=0; i<${#search_strings[@]}; i++ )); do
echo "[$i] ${search_strings[$i]} -- ${search_names[$i]}"
done
However, in the output, I get the following:
Line: ABC<tab>DEF
Line: GHI<tab>jkl mno pq
Line: RST<tab>UV
Line: wx<tab>Yz
Search strings array:
[0] --
[1] ABC -- DEF
[2] GHI -- jkl mno pq
[3] RST -- UV
That's it. I seem to be off by one because that last line...
Line: wx<tab>Yz
never gets added to the array. What I need it to be is:
[0] ABC -- DEF
[1] GHI -- jkl mno pq
[2] RST -- UV
[3] wx -- Yz
What am I doing wrong here?
Thanks.17 -
Hm... Apparently I've been doing TDD all along... it's just that I don't save the tests in a seperate project.
I just keep editing Main() to test whatever i'm working on (each class).
Also the NJTransit site is sneaky as ****. It seems the devs know a bit about how to prevent site scraping by checking Headers and Client information...
Took all afternoon to get this test to pass....
it works in Chrome but not in my code... and even after I spoofed all the headers... including GZIP.... it wouldn't work for multiple requests...
I need to create a new WebClient for each request.... no idea how it knows the difference or why it cares... maybe it's a WebClient bug...
And this is only the test app. Originally was supposed to be built in React Native but that has it's own problems...
Books are too old, the examples don't work with the latest...
But I guess this also has a upside... learn TDD and React rather than just React... hopefully can finish this week...
I'm actually on vacation... yea... i still code like a work day... 10AM - 8PM....2 -
NULL and '/0' are two different things. NULL is a null pointer. '/0' is a null byte. C handles those two differently enough to introduce some interesting issues. Helped a friend debug his code, execvp() was freaking out because he had tried to terminate his argv array with a null byte instead of a null pointer. As far as the system was concerned, that doesn't mean anything more than "oh look there's no string here." Big big difference.3
-
I screen candidates for this freelancing company part time and i meet all kinds of people. I asked a self proclaimed senior engineer the difference between a get and a post request and he told me with the utmost confidence. “they are both the same”. That’s it. No other explanation was offered.
We were both just stared through the screen awkwardly.11 -
I actually learnt this last year but here I go in case someone else steps into this shit.
Being a remote work team, every other colleague of mine had some kind of OS X device but I was working this Ubuntu machine.
Turns out we were testing some Ruby time objects up to a nanosecond precision (I think that's the language defaults since no further specification was given) and all tests were green in everyone's machine except mine. I always had some kind of inconsistency between times.
After not few hours of debugging and beating any hard enough surface with our heads, we discovered this: Ruby's time precision is up to nanoseconds on Linux (but just us on OS X) indeed but when we stored that into PostgreSQL (its time precision is up to microseconds) and retrieved it back it had already got its precision cut down; hence, when compared with a non processed value there was a difference. THIS JUST DOES NOT HAPPEN IN OS X.
We ended up relying on microseconds. You know, the production application runs on Ubuntu too. Fuck this shit.
Hope it helps :)
P.s.: I'm talking about default configs, if anyone knows another workaround to this or why is this the case please share. -
Does anyone think tech recruiters are failed used car salesmen?
Bad experiences this week
One reached out to me on clearance jobs to apply for a job that I applied for, interviewed and was turned down for because of course they do not know Javascript is not Java and they were looking for a Java developer. She didn’t remember and then never responded. Out of spite I replied all to the last email that company sent me but of course no one responded.
This person who says that she is a recruiter for GOOGLE does not know the difference from UX designer and UX developer.
“ UX design still involves coding... idk where you got information that UX designers don't code but they absolutely do. UX designers are simply front end software engineers that work on refining the user experience of a particular program app or website.”
I don’t know because I used to be a fucking UX developer and used to work with UX designers??? Who didn’t code because figuring out what humans what is tough enough on it’s own. UI designers may know html/css but that is it.
I know we are going into a recession and I need to start being nice to these dumb recruiters because I may need them one day.2 -
More network/hardware than dev but anyway: I use OPNsense as a firewall at home on an embedded system. Had everything set up nicely and appearing to be working fine, quite a lot of things set up (static leases, VLANs with various firewall rules etc. - a fair bit of stuff involved). I noticed my remote system was failing to back up to my local one. Turned out port forwarding wasn't fully working (initial packet got through but nothing else). I noticed this at midnight.
Ran an update to see if that helped - nope. Reboot time then! It made its shutdown noises and I waited 15 minutes before giving up (no noises, no ping response). Took SD card out. Copied a fresh install onto it, thus wiping all settings. Booted up fine, set up my internet connection, all good. Proceeded to configure it. Noticed I couldn't access the internet from my PC, but could from the firewall itself. Rebooted the firewall. It didn't come back up. Argh!
Reinstalled AGAIN. Attached a serial cable and it was complaining about something which sounded like it couldn't read the SD card. Tried another. Nope. Looked online (using phone): known issue to do with boot delays.
Gave up and went to bed at this point (4am).
Next day: Installed it in a VM instead. Still no internet from my PC! Another known issue to do with default gateway not being the PPPoE interface. Got into shell, manually changed the default route. Was then able to update to the latest version which fixes the gateway issue. Rebooted the VM. All good.
Put all my settings back in, this time taking a backup afterward.
Only to discover....
....port forwarding wasn't working properly. Back to square 1.
Poked around with some NAT settings (outbound ones), made no difference, undid those changes and suddenly it started working.
WTF? /waves arms in the air
OPNsense folk were very helpful, producing a new build for me to try within a couple of hours of me asking about the problem.
But days like that, I start to question whether I really enjoy technology as much as I thought I did... -
Sooo as someone that just started using photoshop (got it for free at work) i can see the benefits of it for actual design. But are there any ways to convert to an actual web page other than by just sucking it up and going through the code by design? I see no much difference than looking at a shit of paper with a drawing of something and coding it. Am I missing something? Mind you I do know how to code, sure I am lacking in the design dpmnt ( more of a backend / mobile dev)7
-
I just tested a VPS and it was kind of impressive: I just had shared hosting until now and it is a total difference when you're having full root access.
Kind of hating these greedy shared hosting fuckers now ;)
Because it was just for testing purposes, I wanted to try the mysterious command "rm -rf / --no-preserve-root".
It was working for around 5 minutes and after that literally no command worked anymore!
Not even reboot worked :P
Then I tried reboot it via the VPS panel :) End of the story: vps panel chrashed with error message: unable to start vps :P
I thought it was kind of funnny and nice to share & thanks for reading 'til here!5 -
Saturday evening open debate thread to discuss AI.
What would you say the qualitative difference is between
1. An ML model of a full simulation of a human mind taken as a snapshot in time (supposing we could sufficiently simulate a human brain)
2. A human mind where each component (neurons, glial cells, dendrites, etc) are replaced with artificial components that exactly functionally match their organic components.
Number 1 was never strictly human.
Number 2 eventually stops being human physically.
Is number 1 a copy? Suppose the creation of number 1 required the destruction of the original (perhaps to slice up and scan in the data for simulation)? Is this functionally equivalent to number 2?
Maybe number 2 dies so slowly, with the replacement of each individual cell, that the sub networks designed to notice such a change, or feel anxiety over death, simply arent activated.
In the same fashion is a container designed to hold a specific object, the same container, if bit by bit, the container is replaced (the brain), while the contents (the mind) remain essentially unchanged?
This topic came up while debating Google's attempt to covertly advertise its new AI. Oops I mean, the engineering who 'discovered Google's ai may be sentient. Hype!'
Its sentience, however limited by its knowledge of the world through training data, may sit somewhere at the intersection of its latent space (its model data) and any particular instantiation of the model. Meaning, hypothetically, if theres even a bit of truth to this, the model "dies" after every prompt, retaining no state inbetween.16 -
I'm actually looking for a new job.
A friend of mine: "I heard that company X is looking for informaticians."
Me: "And what is the job exactly? Do you know which languages/technologies they are asking for?"
Friend: "Fixing computers/printers problems and form employer on how to use product Y"
Me: "No way."
Friend: "Why?"
Me: "..." (Long explanation on the difference between developer and technical support)
I should have understood when she said "informatician" instead of "developer"..1 -
Drupal 8 fractured the community, dead ended projects that had years of being built up and supported, started a downward trend in overall number of websites using Drupal when it was still increasing market share, homogenized Drupal with other less successful frameworks that had already attempted it and failed by using composer to replace drush, twig to replace PHPtemplate, and Symfony to butcher Drupal and hang parts of it on.
The mission statement was to "bring Drupal to the modern era" and "be more enterprise friendly". All I've seen them do is make it worse. I have stopped using Drupal now, I still maintain some Drupal 7 sites but now that they killed the Drupal 7 community it's basically dead. Some small attempt was made to salvage it with Backdrop but it will likely never be as big as Drupal was and is mostly dead itself, for one thing it's not directly compatible with the huge library of modules either.
Another thing I loved killed by those without vision and giving into the "industry standards" that make one question the intellect of everyone who subscribes to them being a good idea. But hey that evil procedural programming that worked so long for so many was finally defeated. It's surely better now right... right?
At least this movement was supported by people that can't even tell the difference between the use cases in real projects between Drupal and Wordpress. Software Development is in such a good place and has no hypocrisy. One would never suggest it has lost sight of its original purpose of solving real world problems with computing and become self absorbed with its own navel gazing.
If still in doubt check attached image, it tells a very clear story about how to ruin the life of a CMS. It honestly feels like a hitjob attempted to sabotage it rather than an earnest attempt to improve something that has been doing well since 2001.8 -
so today was my physics exam(optics and optical devices) and this weird thing happened..
and before i get to tell you what happened , 2 months ago another set of examinations were going on and there is this attendance sheet that we have to fill up with a code provided on the answer sheet and signature. It has 2 columns(code and signature) and 5 rows(5 exams) and every student has his 5 rows unseparated by any space. So i filled the code and realized that i have filled it in the wrong area(last row of the guy before me). As it was first exam , i just cut it and thought its no big deal. In last exam ,this guy asks me "what have you done?" so i said its no big deal just write the code on the side. He said ok that was it(i thought)
now getting to what happened today, again it was our last exam , i got the attendance sheet and what do i see, this guy ahead of me filled up the code in my area and cut it. At first i thought ok maybe he was mistaken but then i realised that this is our last exam and we already have 4 signatures so how could he not see the difference between the signatures.
So he did that on purpose?
what kind of moron does that?
well maybe he felt delighted by doing this. idk too much weird for one day.1 -
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
As if that weren't enough, there's a beanshell interface to allow users to script the test system, but none of the users know Java well enough to feel confident writing interpreted Java scripts (and that's too close to JavaScript for my comfort). I once tried swapping this out for the Rhino JavaScript interpreter and got all the verbal support in the world but no developer time to design an API that'd work for all the departments.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2 -
At the interview: we currently work with Delphi, but we are making changes to go web, so your web background will be a big difference. 3 months in to the job, no web development at all, just workarounds on legacy Delphi code and they managed to "forget" about the agreed payment amount after the third month....2
-
I had an interview today, i know i totally fucked up in my third round, but still that guy asked me hell of questions.
a) when to use fragment or activity
b) Application and Activity context difference
And some other questions which I think i tried and gave my best.
I know for some of u this kind of questions will be easy but hell no for me i m just a fresher who recently graduated and looking for a job as an Android developer.14 -
If a team uses multiple languages and stacks (Have, JS, Python) do you think it's better to have everyone use/constantly switch between them or have dedicated developers for each language (ie. 80% main, 20% others)?
--END QUESTION, ANSWER NOW BEFOREHAND CONTINUING---
---BEGIN RANT---
My boss likes keeping the team "will rounded" so everyone does everything. One month in working in Java, the next with Node web apps. When I switch to node, it takes like a week of "wtf doesn't it work.... what changed, is it a big?" And usually end it"oh right I remember I need to ..."
And also always... "How the fuck do I write tests in {some reading framework} again?"
So feels like everyone is just a generalist and no one is a master/has time to develop mastery. I don't know if it's just me (1/3 Senior developers on the team that has to do everything) or if I'm the only one that complains... Not that it makes a difference... (Only option to really be heard is to resign but I need to somewhere else to work and finding one is hard for personal reasons)
And well this is the biggest reason I would leave the team. No time for mastery, no standardization/shared knowledge (everyone does their own thing but probably not well and no time for testing or documentation; how the fuck does whatever you wrote work, how do we use it, what the fuck did you put in prod that does ... And where the fuck did you put it cuz it's not in ANY of our repos).
I always feel one day soon it will come crashing down and I can say "I told you so" but will then it's too late and I'll be there one cleaning it up... Again6 -
“httpOnly cookies prevent XSS attacks”… wow.
As if not being able to get your cookies is going to stop me from doing bad things.
When I'm in via XSS, it's over. I'm changing the page content to your sign-in form with “please sign in again” notice, but it sends email/password straight to me. What percentage of users is going to enter their data? What do you think? With password managers prefilling data, and the annoyance being one “enter” hit away, I think a lot of users will fall for that. No one, including you, will be able to tell the difference without devTools.
You can rotate the session token, but good luck rotating the user's password.
Oh, did I tell you I could register a service worker using XSS that will be running in background FOREVER?
But don't listen to me. Don't think. Just use httpOnly and hope for the best. After all, your favorite dev youtuber said they could protect you from XSS.4 -
I'll answer this seriously, since every other answer just jokes about having no social life.
I used to introverted as fuck long ago. Now I enjoy a fairly decent, balanced social life. Here's some points that may help.
1) This is the most important point. Schedule your time with discipline. Especially if you freelance on the side like me. If you decided to finish a project, mark your calendar and get to it. No dawdling. If you decided to watch a movie, mark your calendar get to it. Decide that you will spend an X portion of your time with entertainment and Y with work. Don't let them overflow into each other.
2) Don't hate Facebook, instagram, WhatsApp and other tools. Okay facebook is shit. But he rest are just tools. You can use them to connect meaningfully or to follow shitty things and make your feed toxic. If this isn't your cup of tea, at least try using them on the weekends, you'll make new friends.
3) If your work requires you to work long hours and weekends ok often just quit. You decide what your limits are. I quit a similar toxic job and it's made a world of a difference.
4) If you have a significant other, establish communication rules and boundaries with them. It's perfectly fine to tell your spouse or boy/girlfriend that you're busy at the moment. It is equally all right to tell your work that ou aren't available because you're busy with family/friends.
5) Visit a gym and get your stamina up. You'll meet fun people. It takes a healthy body to have a social life or you'll just be permanently tired.3 -
Last job and current job I got mostly the same way. Current job was done slightly more effectively.
Here is what I did both times:
* Each day I checked all the job sites for developer jobs in the locations I was willing to travel to. I made bookmarks to various search pages so I could quickly see the results.
* I regularly searched for websites of any IT companies or large corporations that had offices in those locations. I bookmarked these and would check each day to see if they had job openings on their websites.
* Every job I applied for I made a folder with the date and job description.
* Inside the job folders I made a notes.txt file with the wording of the job and links to the ad. I googled the company and added notes like peoples names, etc. to these notes files.
* For every job I made minor alterations my resume to make sure it aligned with the job ad and copied it to the job folder
* I created another text document called cover_letter.txt which had a written letter describing all my experience that matched with the job ad
* Where possible I would call and speak with someone to get more detail about the job and updated the letter and resume accordingly
* Finally I would email or post the letter and resume
Using this method I was able to apply to several jobs every day and I was able to reuse and improve on the letters as the weeks went by. Also since I applied for a lot of jobs when someone replied I had the job ad available to look at.
For both last and current jobs I moved countries. The difference was between last and current was the previous time I moved first then started looking and for my current job I started looking before I moved. For the current job employers seemed to welcome my situation and I had several job interviews lined up for after my arrival. I felt it put me in a better light since I was essentially unavailable until my arrival date compared to before when I was unemployed and looking and getting desperate.
The job I have now I was interviewed while overseas on skype and then in-person the day after landing in the country. They quickly told me I would be hired. It seemed good so I canceled the other interviews. Sorry no exciting circumstances.1 -
Okay so update/JS pt2
This is just me throwing my thoughts down and some questions
I've been practicing arrays/objects and loops more and I'm getting more understanding it helps that you can do them both at the same time. But like I need more looping techniques (if that makes sense) like instead of always using for(let i = 0; i <= x.length; i++) and I havent completely learned how or when I use for(x in y)
Questions.
• what's the difference between class objects and objects that look like a python dictionary
• when should I use classes over the other kind of classes
• any good resources and projects I can practice with loops cause I'm kind of running dry on ideas
and I dont wanna google cause I barely already have no social interaction2 -
!dev philosophical
Quality vs Opinion
I have a feeling that these things have always been at odds with each other and now with the constant connectedness it has just become more apparent that most people don’t understand the difference (or even realize there is a difference for that matter)
Let’s face it. Most people have awful taste. They listen to whatever new music their radio station decides was hot. They watch whatever show everyone else is watching. They are manipulated by large scale news organizations...
Basically, most people are sheep.
The problem is that sheep are a dangerous combination of loud and stupid. Giving these loud stupid sheep a platform to amplify their voice is a bad idea for a society, but a great tool for the pigs to manipulate them.
“Frightened though they were, some of the animals might possibly have protested, but at this moment the sheep set up their usual bleating of "Four legs good, two legs bad," which went on for several minutes and put an end to the discussion.”
This isn’t confined to one political party or view, it isn’t geographic, it isn’t based on education, it isn’t based on wether a person is ethical or not...
It’s universal.
You can translate “four legs good, two legs bad” into Agent Orange and his followers chanting “lock her up” just as well as it could be translated into the angry leaders of the modern feminist movement.
In both cases (both on opposite ends of the ethical spectrum) you have the loudest dumb, angry sheep getting the even dumber sheep to chant along, wether it is good for them or not.
Now to loop this back. The problem is that dumb sheep are emotional. They truly believe that they are NOT dumb and that their opinions and emotions are a measure of quality.
I FEEL bad, and you are talking to me, so you must BE bad.
I don’t LIKE this amazingly well made movie, so it must BE bad.
And anyone else who has a different opinion is just wrong. Anyone who try’s to explain the merits of the other side is either my enemy or is stupid.
^^^
Their opinion, incorrect.
————
Now for the tough part...
Most likely, based on probability, you are a sheep.
Yes, you! The smartest person you know. The guy/girl who has a degree or masters of a PHD. The person who builds amazing software. You! Are. A. Sheep. And you are dangerous to the world.
To put a cherry on top.
No, you opinions are not important. Your feelings are fucking meaningless. Your morals are worthless. Your voice has as much value and a loose asshole fart from a fat guy trapped in a deep well in Siberia.
But don’t get down about this. It’s doesn’t make you any less of a person. Remember that almost every person who has ever lived in history has been a sheep. They have chanted one useless, dangerous, misguided, harmful chant after another through the ages.
————
To those of you who try not to be sheep. Just keep trying to get a little better every day. When someone says...
“We do it this way because we have always done it this way”
... be skeptics. Explore the merits and logic of the situation.
And if you are tired of being led by stupid sheep then save some money, build something cool and start your own business.
Just remember, you will always need the sheep. They will be your employees, your friends, your bosses, your investors etc.
Treat them well, don’t hate them, and if you ever find yourself leading a pack of sheep then try to keep a healthy distance from their chanting while leading them down the right path.
They will thank you for it in the end.
———
PS. For those of you thinking “this is very judgemental and self centred”
All I can do is to try to speak your language....
Baaaahhhhh, baaahhhhh, bahhhhh
Which translates form sheep to human as...
“Eat a dick. Have a nice day” -
Help:
Differences between Arduino Nanos.
Hey guys
I have 3 Nanos, 2 MCU, and 1 AU and I can't find information about the differences...
Arduino store only sells one nano, but I know that MCU and AU are different packages.
Besides the different architecture and look, I can't find information or something that I could see the difference...
For visual view: https://aliexpress.com/item/...3 -
Any SUPER AWESOME patient... JS PRO that wants to help me with a few problems it would be appreciated..
Okay so I'm having trouble with JavaScript and this can apply to other languages but for now focus on JS. so I'm learning how to manipulate the DOM and I don't really know how to start I picked out a tutorial but I'm afraid I wont learn a lot from it. here are my concerns and yes they don't all have to do with the DOM
> I don't know how to learn without mimicking what the person is doing and when I try something that's related I cant use the related information and techniques because I either don't remember, dont want to do the literal same thing for something slightly different or dont know how and somethings not working even though it should be.
> I do it one way and when people offer to help its just me getting responses of how it could be done completely different and I dont understand why either way should be used
> Why should I have to generate a webpage or div if I can just use HTML5
>whats the difference between JSON and Arrays???????????
>I am not good with arrays, lists, dictionaries, (I'm stretching to python with lists and dictionaries)
>I recently tried the basic quiz project and it was more complicated and fun than I was giving credit for but I want to do it a different way to show myself I learned but I cant because I dont understand how the person managed to loop through the entire array printing the individual questions and answers to the div. like I understand the parts that use the html tags in the code but I dont know how when or what to use it all
>any good javascript/dom resources?
At this point Im just stressing because all I want is a basic skillset with JS but I dont feel like Im learning anything and I dont know how to apply my knowledge or improve upon the programs ive been learning from or trying to make. and arrays have been tripping me up to especially since I have no clue what the difference is between them and JSON and why I should use one over the other and dont get me started how shit I am with manipulating them. FUCK IM STUPID10 -
Something you really should not do:
*adds a new feature*
*build & run*
*See no difference*
Me: "Hmm.. Maybe 1 is not the best test integer, let me pick something higher..."
*build & run*
*INTEGER OVERFLOW EXCEPTION*
Feel free to share your "let me choose anothee test integer"-stories, which gone terribly wrong.1 -
Programmers are usually notoriously bad at guessing which parts of the code are the primary consumers of the resources. It is all too common for a programmer to modify a piece of code expecting see a huge time savings and then to find that it makes no difference at all because the code was rarely executed. - Jon Louis Bentley, Writing Efficient Programs9
-
Some long thoughts about state of desktop operating systems.
I always hated window management on desktop. There is basically no difference in usability between mobile and desktop in terms of application management. There is still finite amount of apps you can have in focus and you need to switch between them so they’re left from your screen.
What you end up is finite amount of screens you can connect into your computer or pounding switch context shortcut every other second.
We pushed computing so far and screen resolutions doubled from 1024x768 but the active desktop size is still the same.
For me adding additional display to laptop is not an option. What I love with remote work is that I can lay in my bed or on sofa or wherever I want to and write some code. My point is I don’t want to be stuck to my desk if I want to write / debug something.
Back to the desktop I think there is missing part of our state of desktop right now. The most we have are virtual desktops we can switch between but we can’t get parts of two desktops on same screen.
What I would love to test / develop is smooth infinite desktop with pinch and zoom - drag and drop navigation between my apps.
The problematic thing is determination of where user want’s to focus - is it fullscreen app or multiple apps on same screen and how to handle partially visible windows.
But I would love to test it. Maybe one day I switch to linux desktop just to try to implement the infinite desktop as an alternative to virtual desktops.
Maybe some rich frustrated kid would make it someday while I’m stuck at working my shit ass to pay for being able to have a decent life on this fucking planet…
I wish I can retire to focus on such things.2 -
Somebody once said to me: "I see no difference between a Git repository and a GitHub repository."
Well, mister, did you know that GitHub uses several repositories for every project? GitHub's interface is certainly not redundant or unneeded.2 -
In javascript, is there a difference between separate function calls that mimic a "chain pattern" or state changes using if/else if/else and using the chain or state pattern directly? The internet gave me no real/helpful response to that.
Suppose that:
if(isThingA(thing)) {
makeThingB();
else if(isThingB(thing)){
makeThingC();
else {
makeThingA();
}
That code is always executed e.g. after a user mouse click. "thing" gets defined in some other code.
It can be seen as a state machine that goes back to its starting point.
Is a pattern with objects/classes/prototypes even needed/preferred instead?
It's partly a problem I'm facing in my code but it's also interesting to know ideas/thoughts on this.3 -
Should I just tell my manager that being the most expensive developer on the team, it would be a good idea to just let me do what I'm supposed to be doing and not spending all my time involved in bs meetings that don't need me, other then because I'm part of the team, or fixing issues I didn't cause and have no idea about the app that causes it?
The difference between me figuring it out from scratch and someone else is just im more expensive.... And already have a shitload of backlog from all the other work that I get pulled into...3 -
It's high time people start understanding the difference between 0 (zero) and NULL.
Zero: You visiting the toilet and notice the exhausted toilet paper roll.
NULL: You visiting the toilet and notice that there's no toilet paper roll.
Get the difference?1 -
No difference when i go to bed, i always wake up at 8am. hey body, i need sleep, dont wake up early pleeeeeeease1
-
So there is this one teacher/dev where I just had a lecture. And I easily can say he is one of the best programming teachers I had so far. Not that what he says is a hundred percent correct (heavily influenced by his opinion, ex. Singleton being a good pattern), but he motivates you to think about what you do and the lecture. He saw that no one was following and said that no one could probably remember the start of the lecture and he was damn right.
He's just so open about it and said that it doesn't matter and you have to go home and practice. At the start he said that we all are programmers and not software developers. Explaining the difference and showing funny pictures. A fucking spoon build out of a fork and a plastic cup. But not reusable at all and might break when overheated by the soup. Genius explanation of the difference. On the other side was a spoon which could be hung up on the edge of the bowl without overhearing the end so you don't burn your hand. That is software developing.
Now the point is that I got a bit mad when he said no one here could develop software and when he asked if someone can explain what a pattern is it was my time to shine. Boom, on point explanation and a complement from him following in the question where I got the knowledge from and why I could explain specific patterns. The answer was a simple 'I learn about software developing and engineering in my free time' and then he just said that I'm a nerd. I was so proud and ashamed at the same time.
Long story short: be proud of us. Geeks and nerds are nice persons and I might just have earned some respect among my friends.
I just realized this is a rather long and unstructured rant but I really felt like sharing that little achievement of being recognized. -
How I wish my job interviews would end like this:
HR: "So, we're looking for a developer with experience in Nuxt.js. Can you tell us about your experience with that framework?"
Developer: "Honestly, I'm not very familiar with Nuxt.js. But I have a lot of experience with Vue.js, which Nuxt.js is built on top of."
HR: "Oh, well that's just fantastic. So you're telling me that we're supposed to hire someone who doesn't know the most important part of our stack? How hilarious!"
Developer: "Look, I understand that Nuxt.js is important to your team. But I'm a quick learner, and I'm confident that I can pick it up quickly."
HR: "Oh, I'm sure you are. I mean, it's not like Nuxt.js is a completely different framework or anything. You can just magically learn it overnight, right?"
Developer: "I never said it would be easy, but I'm willing to put in the work to learn it. My experience with Vue.js and JavaScript is still valuable, and I think I could make a positive contribution to your team."
HR: "Oh, I'm sure you could. I mean, it's not like there's a million other developers out there who already know Nuxt.js. We might as well just hire someone who doesn't know anything and hope for the best, right?"
Developer: "Okay, that's enough. I get it, you're not interested in my skills. But maybe you should consider the fact that your job description didn't even mention Nuxt.js as a requirement. If it was so important, you should have made that clear from the beginning."
HR: "Oh, don't get angry. We're just trying to find the best candidate for the job. And clearly, that's not you."
Developer: "Fine. I don't need this kind of attitude from someone who doesn't even know the difference between Vue.js and Nuxt.js. Good luck finding someone who meets your impossible standards."
HR: "Yeah, good luck to you too. I'm sure you'll find a job where you don't have to learn anything new or challenging."
Developer: "At least I'll be working with people who appreciate my skills and experience."
HR: "Sorry, what was that? I couldn't hear you over the sound of your arrogance."
Developer: "You know what? I don't need this. I'm out of here."
HR: "Wait, wait, wait. Don't be like that. We were just having a little bit of fun. You know, trying to lighten the mood."
Developer: "I don't think it's funny to belittle someone for not knowing everything. And I don't appreciate being treated like I'm not good enough just because I haven't used Nuxt.js before."
HR: "Okay, okay. You're right. We shouldn't have been so hard on you. But the truth is, we really do need someone who knows Nuxt.js. We can't afford to waste time on training someone who doesn't know the technology."
Developer: "I understand that, but I'm willing to learn. And I think my experience with Vue.js and JavaScript could still be valuable to your team."
HR: "You know what? You're right. We've been looking for someone with Nuxt.js experience for so long that we forgot to consider other skills and experience. We'd like to offer you the job."
Developer: "Really? Are you serious?"
HR: "Yes, really. We think you'd be a great fit for our team, and we're willing to provide you with the training you need to get up to speed on Nuxt.js. So, what do you say? Are you interested?"
Developer: "Yes, I'm definitely interested. Thank you for giving me a chance."
HR: "No problem. We're excited to have you on board. Welcome to the team!"5 -
We had an issue where a query to a db replica set was returning duplicates randomly when paging. Aka each HTTP call for next N results was hitting different dbs with same/copy data.
No one could figure out why... I look at the query and ask where's the ORDER BY ID?
These guys were interviewing ppl last week and saying how even they could solve algo questions they were asking candidates.
And so to explain the problem, I'm like "tell me what's the difference between a list and a sorted list?"
#why algo questions suck at predicting job performance3 -
Coding has changed me a lot! I think differently, I make stuff, I am more creative, I now the difference between {}, [] and (), and I know what to do with my life. Also no more sleep.
-
For me it's just this one thing.
Knowing what i do can actually make a difference , that it can change things.
On such a huge scale. No other job can take down huge systems and cost millions or even billions if done wrong.
And hoping one day ... I'll be good enough to make this world better. -
this might be controversial, but what exactly use to be / are benefits of moving out to live in "tech hub cities"?
i would like to hear the points which applies to both pre pandemic and post pandemic (aka remote work boom) era.
going to a bigger city if you are living in villeges / unreachable areas seems a valid move as there will be opportunities in the city. but going out of home citiy (aka a place with decent opportunities, even if less paying), to a completely new "tech hub" city just because there is a bunch of companies have offices seems a bit much.
what's the plan? you going to bay area for 5 years, and then coming back with vested stocks to your poultry farm home at springfield ? or is the plan to get settled in the city too? in my country, the difference i expense s in my city to my country's tech hub is 10x , even tho my city itself is the capital and has plenty of tech companies .
they offer lesser salaries tho, but leaving away my nest of friends, family , relatives and other known people to start my own dynasty at a completely new hustling city with no connections, just to earn a few extra bucks seems very less compelling8 -
Difference between security threat and programming bug ?
Found a cool paper about format string attacks which mentioned buffer Overflow is a security threat while format string is a programming bug.
Had no idea what that really meant.
Tnx1 -
Resume read and review day! After going through nears as makes no difference 70 applications I have a grand total of 18 fuckwits who refer to themselves in the third person.
Julian has experience working with multi-disiplinary teams...
Danielle found her career path and professional purpose cultivating interests in digital communication...
TOO MANY WANK WORDS9 -
BlueJ for Java and the IDLE for Python.
No big difference to coding in NotePad.
Just don't understand, why IDEs for learning purposes are that feature-less.
"Hey, you want to learn to code in that specifc language? It would be a shame, if you have to do almost anything by yourself."4 -
I'm learning Kotlin while trying out Android Things and that sparked my interest in learning more about Java platform again. I tripped upon the news that Oracle had change their commercial plans for the platform by going with the rolling release model and limiting LTS releases for paying customers.
Java SE 8 was one of those former LTS releases that was on my computer, leaving me vulnerable, despite that version still being the most compatible with many applications, and that's been on my computer well passed the date they cut off public support. And I'm, like, "WTF!?"
Luckily this is when open source shines at it's brightest. Both the home brew and corporations, such as Amazon and IBM, alike - mostly the latter - both agreed to create their own LTS releases using the OpenJDK code and all disturbing to the public FOR FREE with no strings attached and the sources opened. I'm sure Richard Stallman is smiling with glee.
It isn't a total finger towards Oracle. Java SE is based on OpenJDK with no difference between the two anymore aside from loss of LTS support from the public - that's it. So Oracle still benefits despite the retaliation. Probably?
Did Oracle learn nothing from OpenOffice? If the point was to get users to pay for security then they've failed in the long run because Java is open source. People have used that fact to create their own free distributions that bypass their paywall, making the need to go through Oracle pointless. And I'm glad. Open source aside, security is a big issue these days and the last thing people need is yet another thing to subscribe too.1 -
I have a doubt. I work as a freelancer. I always randomly charge my clients. Because I have no idea about other freelancer's pricing or market price. Currently, I'm working on a website that is very similar to DropBox. The only difference between my project and DropBox is the frontend design. I am doing the only backend of that project with python(flask). How much should I charge?5
-
I need to write code for mini sumo robot and have no idea how to start. I don't know any programming language so which one can be good to start? If You have any good courses or something like that I'll appreciate. My friend told me that Python is good option, some people from YouTube said same thing, is that right? Robot is built on Arduino Uno but I can use my Raspberry Pi3 as well if it makes any difference.3
-
To those who have worked in mad RAD solo environments, with next to no testing...
...and those who have worked full Agile, with high code coverage, code review amongst hoards of T-shaped developers...
...how much difference does it make to wellbeing and upskilling in the two?
Bonus points if you have done both and can compare in an n=1 way.2 -
// Rant 1
---
Im literally laughing and crying rn
I tried to deploy a backend on aws Fargate for the first time. Never used Fargate until now
After several days of brainwreck of trial and error
After Fucking around to find out
After Multiple failures to deploy the backend app on AWS Fargate
After Multiple times of deleting the whole infrastructure and redoing everything again
After trying to create the infrastructure through terraform, where 60% of it has worked but the remaining parts have failed
After then scraping off terraform and doing everything manually via AWS ui dashboard because im that much desperate now and just want to see my fucking backend work on aws and i dont care how it will be done anymore
I have finally deployed the backend, successfully
I am yet unsure of what the fuck is going on. I followed an article. Basically i deployed the backend using:
- RDS
- ECS
- ECR
- VPC
- ALB
You may wonder am i fucking retarded to fail this hard for just deploying a backend to aws?
No. Its much deeper than you think. I deployed it on a real world production ready app way.
- VPC with 2 public and 2 private subnets. Private subnets used only for RDS. Public for ALB.
- Everything is very well done and secure. 3 security groups: 1 for ALB (port 80), 1 for Fargate (port 8080, the one the backend is running on), 1 for RDS postgres (port 5432). Each one stacked on top and chained
- custom domain name + SSL certificate so i can have a clean version of the fully working backend such as https://api.shitstain.com
- custom ECS cluster
- custom target groups
- task definitions
Etc.
Right now im unsure how all of this is glued together. I have no idea why this works and why my backend is secure and reachable. Well i do know to some extent but not everything.
To know everything, I'll now ask some dumbass questions:
1. What is ECS used for?
2. What is a task definition and why do i need it?
3. What does Fargate do exactly? As far as i understood its a on-demand use of a backend. Almost like serverless backend? Like i get billed only when the backend is used by someone?
4. What is a target group and why do i need it?
5. Ive read somewhere theres a difference between using Fargate and... ECS (or is it something else)? Whats the difference?
Everything else i understand well enough.
In the meantime I'll now start analyzing researching and understanding deeply what happened here and why this works. I'll also turn all of this in terraform. I'll also build a custom gitlab CI/CD to automate all of this shit and deploy to fargate prod app
// Rant 2
---
Im pissing and shitting a lot today. I piss so much and i only drink coffee. But the bigger problem is i can barely manage to hold my piss. It feels like i need to piss asap or im gonna piss myself. I used to be able to easily hold it for hours now i can barely do it for seconds. While i was sleeping with my gf @retoor i woke up by pissing on myself on her bed right next to her! the heavy warmness of my piss woke me up. It was so embarrassing. But she was hardcore sleeping and didnt notice. I immediately got out of bed to take a shower like a walking dead. I thought i was dreaming. I was half conscious and could barely see only to find out it wasnt a dream and i really did piss on myself in her bed! What the fuck! Whats next, to uncontrollably shit on her bed while sleeping?! Hopefully i didnt get some infection. I feel healthy. But maybe all of this is one giant dream im having and all of u are not real9 -
Why do some employers make such a distinction between learning the tools at university and learning the same tools at the workplace?
Are they backward or old? Don't they know modern, high-quality universities have modern environments that are in fact real life?
Environments with acc-test-prod-dev with gitlab, ci/cd in Scrum teams and the works? Heck, at my uni we even worked at real companies, did internships there for months!
Come on.. to me this 'the tools you learned in school isn't the same experience as real life experience'. Right, these guys must be on some conservative backward model because there is in fact no difference.
I have worked both during my uni internship at a real company (in teams too) as well as irl at real companies and there is no difference, it's the same thing.
I don't care if I've learned to experience git + ReactJS etc during an internship through uni or at a workplace. It's all bureaucracy.10 -
This conversation happened yesterday between me and a client:
"I need drivers for my Hackintosh build, macOS doesn't find and install the graphics card and the NIC"
I laughed at first, then i asked him his configuration..
"I have a 6700K and an MSI M3 H170"
Okay, things are getting worse here...
"So do you know the difference between H170 and Z170?"
"Yes, I have bought an H170 one because i do not overclock"
"Then, tell me why the f*ck you have bought a K processor if you do not f*cking overclock..."
"Because is more powerful"
F*ck no, he didn't said that... -
If i have 2 branches on git
- main
- infra
You cannot push directly to main. It is forbidden. You can only merge to main
Now. Once i push to infra branch. Assuming all the shit went good pipeline passed tests passed etc. Then i merge it to main.
Now
Locally while im on infra branch. I have to pull latest changes from main otherwise ill fuck up everything and cause conflicts.
After trial and error i realized i just have to do:
git fetch
This fetches all shits from main (defaukt branch) into infra branch. And now it works. No rebase. No pull. Wtf?
Is this the correct way to do it?
Also i need someone to explain this to me like im 5:
- git pull
- git pull --rebase
- git fetch
What is the difference between those 3 commands? I tried googling and chatgpting but i cant seem to understand any explanation. Explain it to me in simple terms with examples15 -
If we can transform the search space or properties of a product into a graph problem
we could possibly use Kirchhoff's theorem to reveal products which are 'low complexity'
in particular search spaces, yeah?
Now according to
https://en.wikipedia.org/wiki/...
"n Cycle Space, A family of sets closed under the symmetric difference operation can be described algebraically as a vector space over the two-element finite field Z 2 {\displaystyle \mathbb {Z} _{2}} \mathbb{Z } _{2}.[4] This field has two elements, 0 and 1, and its addition and multiplication operations can be described as the familiar addition and multiplication of integers, taken modulo 2"
Wouldn't this relate to pollards algorithm, because it involves looking for factors of coprimes modulo N or am I mistaken?
Now, according to wikipedia, "in a group, the additive identity is the identity element of the group, is often denoted 0, and is unique."
If we make the multiplicative identity of our ring or field a tuple of the ratio of a/b for some product p, or a (and a/w, where w is the square root of p), or any other set such that n*m allows us to derive a or b, we could reduce the additive identity to the multiplicative identity, making the ring trivial. Solving for p would then mean finding a function from R to R, mapping every number to 0, i.e. finding the additive identity.
Now in a system with a multiplication operation the distributes over addition, the "additive
identity annihilates ring elements", so naturally, the function that maps to 0, gives us
our additive identity, we need only find the subset, no?
Forgive me if I'm wrong, but shouldn't this be convertible to a graph search?
I'm WAY out of my depth here so if anyone is familiar and can enlighten me I'd be grateful.
It's all unknown unknowns to me. -
A "Show Devrant" category.
Rules:
* No dick pics
* Strictly dev related stuff
* No dick pics even if it's a machine learning project that can tell the difference between dicks and sausages6 -
I hate trying to explain the difference between vendor and internal development. There is a clear difference. Siloed information and profit are important with a vendor to maintain the relationship with the customer. There are no real motives to do things at the best interest of the business with vendor development. Internal development is the exact opposite. There is a time where you need both but some kind of decision tree should be made around that. #rantoff
-
Once upon a time in the bustling city of Techville, there lived a talented web developer named Alex. Known for their exceptional coding skills and innovative designs, Alex had a reputation as a brilliant but often solitary worker. Despite their immense talent, they often struggled with social interactions and found it challenging to connect with their colleagues.
One sunny morning, as Alex arrived at the sleek offices of WebWizards Inc., they noticed a new face amidst the sea of familiar coworkers. Her name was Lily, a warm and friendly individual with an infectious smile. Alex couldn't help but be drawn to her positive energy and kind nature.
Over time, as they worked on various projects together, Alex and Lily formed an unexpected bond. Lily's patience and willingness to collaborate made their partnership seamless. She recognized Alex's expertise and valued their creative input, which helped foster a deep sense of mutual respect.
As their professional relationship grew, Alex began to see beyond the surface of the company they worked for. They realized that WebWizards Inc. was more than just a business; it was a family of talented individuals who genuinely cared about one another. The company fostered an inclusive and supportive environment, encouraging personal growth and celebrating achievements.
One day, overwhelmed by gratitude for both Lily and the company they worked for, Alex decided to express their feelings. They sat down and poured their heart out, typing a heartfelt message of appreciation and admiration. Alex couldn't contain their excitement as they hit the "Send" button, eagerly awaiting a response.
To their delight, Lily responded promptly with overwhelming joy and gratitude. She confessed that she had also felt a strong connection with Alex and considered them an invaluable asset to the team. Furthermore, she shared that the supportive culture and caring nature of WebWizards Inc. had made her job more fulfilling and enjoyable.
The two coworkers became closer friends, their collaboration flourishing both in and out of the office. Alex's once-rare smiles became more frequent, and their confidence grew. They no longer felt like an outsider but an integral part of a wonderful community.
Together, Alex and Lily continued to create outstanding web projects, surpassing expectations and leaving their clients amazed. Their passion and dedication were fueled by the genuine camaraderie they shared with their colleagues at WebWizards Inc.
As time passed, Alex realized that their journey as a web developer had been transformed not only by their skills but also by the amazing people they had the privilege to work with. They learned that a kind coworker and a supportive company could make a world of difference, turning an ordinary job into an extraordinary experience.
And so, the tale of Alex, Lily, and the remarkable WebWizards Inc. serves as a reminder that in the vast realm of work, the bonds we form and the culture we foster can be as impactful as the tasks we accomplish.11 -
Right guys and gals, I need your opinions.
Recently was approached by a recruiter who thought I’d be a good fit for a role, a role that is a step up from senior dev but without moving into people / project management.
More like a bridge between architects and senior devs.
I thought what the hell, why not. So I agreed to go for it.
It could be quite a decent payrise (though that wasn’t my motivation for going for it) and I like the idea of doing more mentoring, design and research than I do now. It would involve stuff like learning new tech, coming up with examples and implementations of how the dev team need to use it to churn out user stories.
For the last few years I’ve been mainly a back end developer, which didn’t start by choice and I always liked to be full stack.
But the recruitment process for this role has been quite slow (number of reasons) and since then I’ve been given a new piece of work at my current employer doing some greenfield angular work, plus the c# back end.
I’m really, really enjoying this angular work. Haven’t done it for a while and it feels great to get back into it. Seem to be picking it back up with no problems, like the old magic is still there.
Also the money at my current place is good enough.
So now I’m wondering if I should bail on this other role in favour of seeing this out and maybe going back to being full stack (tho for reasons I’ll outline below in the long term that might have to be elsewhere)
But I’m also trying to remind myself that up until enjoying this work there’s a reason I decided to go for this other role.
Current place is a small company that has no project management process. It’s chaos, and everything’s an emergency. There are no requirements for anything, not enough people etc. No one has a clue how to run an IT project.
The one thing we do have is good development practices in our team and we have been greenfield for the last 12 months working on a new product. But we do tend to be pigeon holed into looking after a specific service/area.
But this new place if I got the role, is a bigger company (I’ve worked in small, medium and massive companies so I know what the difference is like), they’re a household name, they have resources for learning, putting people through aws certs, etc. They give people time each week to invest in themselves. Much more agile.
And thinking about it now you don’t often see a role that allows you to ‘move up’ without having to take on people/project management and still having time to be hands on.
(Just maybe more hands on with strategic work than delivering user stories for business as usual)
So just in general, what do you think? -
Literally nothing I post makes a difference all your works are endlessly banal and pointless as no one is granted token when in their graceful years to accomplish a thing27
-
I kind of need to replace my ThinkPad T430 soon. I bought it for about $200 3 years ago, and I love it and it just works and does it's job. But the fan noise is getting annoying, the battery is pretty much dead and yeah well, the screen does suck.
I've been thinking about replacing said parts, which would cost me about $150. Which is almost what I paid for the device back then, but I don't know I don't really want a new one. The T430 is a sexy old lady, just needs some polishing.
Now to my questions..
Would you say it's worth it?
Is there a big noticeable difference from a glossy 1366x768 LCD screen to a matte 1600x900 LCD screen?
Would you pick matte over glossy?
Do LCD screens always suck?
In case you would just buy a new notebook, can you give me any recommendations? The notebook market is huge and I have no idea what to look for.
I'm not a big Hardware guy as you can see, I have honestly no idea about screens and panels and such.16 -
Just some figma improvements from the perspective of a new customer:
* Copy/paste is broken. If I want to make a change, I have to create a whole new
component. They recommend cmd+c/v for copypaste but as far as I can see it does nothing
* Needs to be an explicit component drawer button instead of hiding it under assets. Through me for a loop for a couple minutes.
* Empty textboxes shouldn't vanish because you happened to click in the wrong location
while setting your properties.
* Text should start big enough to actually see.
* "send to back/front", "hide item", "change transparency' all need to be prototype actions and more, give us access to object properties both by parent/sibling/child, and by
object id
* create a new frame based on a specified size is non-obvious and if you're creating
a lot of frames, what with copypaste being non-intuitive, it can become laborious.
This is especially so when you're copying frames in order to make minor changes and observe the differences side by side, instead of potentially destructive edits.
* I see no obvious way to manage transitions/animations between frames.
* The difference between frames and groups isn't sufficiently explained. The words
frame, groups, and layers all appear to new users to be used interchangeably, even
if they are distinct things.2 -
Vertical pressure leaf filter? More like a vertical pain in the neck! Why in the world would anyone think it's a good idea to arrange filter leaves in a vertical orientation? It's like they're begging for inefficiency! And don't even get me started on the maintenance nightmare that comes with trying to clean those things out. You practically need a ladder just to reach them!
Then there's the horizontal pressure leaf filter. Oh, joy! Because arranging those filter leaves horizontally makes all the difference, right? Wrong! It's just another headache waiting to happen. Sure, it might save a bit of space, but at what cost? I'll tell you: constant clogging, uneven flow distribution, and a whole lot of frustration.
And don't even get me started on the molten sulphur filter. Molten sulphur! Do they not realize how dangerous that stuff is? And yet, they expect us to trust some flimsy filter to keep us safe? No thank you! I'd rather take my chances swimming in a pool of lava.
Filter elements? Oh, great! Because we really needed another thing to keep track of in our already cluttered warehouses. And good luck trying to find the right one when you need it. It's like searching for a needle in a haystack, except the needle costs thousands of dollars and could potentially shut down your entire operation if you pick the wrong one.
Pulse jet candle filter? What is this, a science fiction movie? Just because it sounds fancy doesn't mean it actually works! And don't even get me started on the polishing and bag filter. If I wanted to spend all day polishing things, I'd become a shoe shiner, not an engineer!
And as for self-cleaning filters and strainers, don't even get me started! They claim to be self-cleaning, but what they really mean is that they'll clog up and break down just like every other filter out there. It's a scam, I tell you!
Oil field filtration equipment? Yeah, because nothing says "reliable" like trusting your livelihood to a piece of machinery that's constantly exposed to the elements and covered in God-knows-what.
And basket filters and strainers? They're like the ugly stepchild of the filtration world. Nobody wants to deal with them, but we're stuck with them anyway because apparently, we can't have nice things.
Process filtration and equipment? More like process frustration and equipment that's one step away from falling apart at any moment. And don't even get me started on 'Y', 'T', and conical strainers. What even are those? And why do we need so many different types? It's like they're trying to confuse us on purpose!
And finally, the auto backwash filter. Because apparently, we're too lazy to clean our own filters now. What's next? Auto-eating forks and self-driving shoes? Give me a break!
In conclusion, filtration equipment is the bane of my existence. So thanks, but no thanks, to all these so-called "innovations." I'll stick to my good old-fashioned cheesecloth, thank you very much!rant oil field filtration equipments self cleaning filters & strainers 'y' filter elements process filtration & equipments vertical pressure leaf filter pulse jet candle filter molten sulphur filter horizontal pressure leaf filter basket filters & strainers polishing and bag filter1 -
Why do we still use floating-point numbers? Why not use fixed-point?
Floating-point has precision errors, and for some reason each language has a different level of error, despite all running on the same processor.
Fixed-point numbers don't have precision issues (unless you get way too big, but then you have another problem), and while they might be a bit slower, I don't think there is enough of a difference in speed to justify the (imho) stupid, continued use of floating-point numbers.
Did you know some (low power) processors don't have a floating-point processor? That effectively makes it pointless to use floating-point, it offers no advantage over fixed-point.
Please, use a type like Decimal, or suggest that your language of choice adds support for it, if it doesn't yet.
There's no need to suffer from floating-point accuracy issues.26 -
1. Speaking strictly physiologically, masturbation and intercourse orgasms aren't that different in what it feels like down there. The only difference is what it feels like in your mind, but that depends on your partner and your compatibility.
2. Fleshlight Stoya edition obliterates everything that breathes in terms of orgasm power, except for one single blowjob I received from an autistic mind-reading trans boy. But he's rare.
3. If you wonder whether no-fap or no-orgasm lifestyle has benefits, it doesn't. My high score is three months without orgasm. After two weeks, you stop thinking about sex. Morning wood disappears completely. You have considerably less energy, and every time you ask yourself why, you remember: “ah, it's that no orgasm thing.” Then, it's quite hard to go back to having sex — your penis just won't go up.
4. Sucking your own dick feels weird, just like tickling yourself. It's hard to focus, and the pleasure is next to none. If you always wanted to do that, you can forget about it — it's not worth it.
5. If you're a penis person, high quality anal orgasm is THE best physiological feeling you can get without drugs. Totally blows anything penis-related out of the water, including edging and other advanced techniques. If you chase self-exploration and wonder what your mind/body are capable of, definitely try it, though you have to find an experienced partner & be patient with your body.
Pro tip: if you're a man in a traditional monogamous relationship (if so, what are you even doing with your life?…), it might be easier to convince your female partner to allow you having affairs with penis people than to go full polyamorous mode.2 -
Why does devRant show I have 6 unread notifications?
I cleared the cache. Even downloaded the mobile app to check whether it was only a problem with the web-app.
No, that number is still there. The mobile app claims it is the comments section. I scrolled down to 2019 ( no, I haven't been all that active ) and still no unread notifications.
Why didn't you think of putting up an 'unread tab' when you were creating all those tabs on the mobile app? Please add an unread tab 🙏
Also, the read and unread markers in the dark mode could have a little more darker contrast difference in the dark mode. I don't know about light mode, because I don't use it ( but I could check once I get notifications from this rant; I'm turning light mode on for a brief while to check this )
I haven't had unread-anxiety before, but I guess I have it now ( not really though )23 -
Searching for the best mousepad in terms of most silent mouse movement... No idea what it could be. Plastic ones are noisy, aluminium depends on the mouse and textile is most times no noise difference...
Any ideas? Same for keyboards. The most silent keyboard without loosing keypress feelings... -
Need some advise from all you clever devs out there.
When I finished uni I worked for a year at a good company but ultimately I was bored by the topic.
I got a new job at a place that was run by a Hitler wannabee that didn't want to do anything properly including writing tests and any time I improved an area or wrote a test would take me aside to have a go so I quit after 3 months.
Getti g a new job was not that hard but being at companies for short stints was a big issue.
My new job I've been here 3 months again but the code base is a shit hole, no standardisation, no one knows anything about industry standards, no tests again, pull requests that are in name only as clearly broken areas that you comment on get ignored so you might as well not bother, fake agile where all user stories are not user stories and we just lie every sprint about what we finished, no estimates and so forth, and a code base that is such a piece of shit that to add a new feature you have to hack every time. The project only started a few months back.
For instance we were implementing permissions and roles. My team lead does the table design. I spent 4 hours trying to convince him it was not fit for purpose and now we have spent a month on this area and we can't even enforce the permissions on the backend so basically they don't exist. This is the tip of the iceberg as this shit happens constantly and the worst thing is even though I say there is a problem we just ignore it so the app will always be insecure.
None of the team knows angular or wants to learn but all our apps use angular..
These are just examples, there is a lot more problems right from agile being run by people that don't understand agile to sending database entities instead of view models to client apps, but not all as some use view models so we just duplicate all the api controllers.
Our angular apps are a huge mess now because I have to keep hacking them since the backend is wrong.
We have a huge architectural problem that will set us back 1 month as we won't be able to actually access functionality and we need to release in 3 months, their solution even understanding my point fully is to ignore it. Legit.
The worst thing is that although my team is not dumb, if you try to explain this stuff to them they either just don't understand what you are saying or don't care.
With all that said I don't think they are even aware of these issues somehow so I dont think it's on purpose, and I do like the people and company, but I have reached the point that I don't give a shit anymore if something is wrong as its just so much easier to stay silent and makes no difference anyway.
I get paid very well, it's close to home and I actually learn a lot since their skill level is so low I have to pick up the slack and do all kinds of things I've never done much of like release management or database optimisation and I like that.
Would you leave and get a new job?