Skillsios, xcode, swift, android, android studio, kotlin, linux, arch, debian, python, macos
Joined devRant on 11/5/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
I know it wasn't ethical, but I had to do it.
Semester 4 started this week, we all got to vote which day we wanted the lecture to be held on. There were quite a few options. My preference was Monday at 7:30pm.
So I entered the poll, as I have every other semester. But I noticed something, this particular poll didn't require any form of identification. Not even a Student ID.
I dug deeper, found that it used local cookies to store weather you'd voted or not, this is obviously a security problem, so I opened up Python and wrote a simple Selenium program to automate this process.
I called it the "Vote Smasher". First it would open the webpage, then it would choose Monday 7:30pm and vote. Then it would clear it's cookies, refresh and do it over again.
I ran it fifty times.
Can you guess what the revealed vote was for UCD SP4 IT was?
I heard my lecturer mutter:
"The votes aren't usually this slanted..."
I could hardly contain my giggles.
My vote won by about fifty over the others 😂
Let me just say, it was his fault for choosing such a naive poll system in the first place 😉39
I hired a woman for senior quality assurance two weeks ago. Impressive resume, great interview, but I was met with some pseudo-sexist puzzled looks in the dev team.
Meeting today. Boss: "Why is the database cluster not working properly?"
Team devs: "We've tried diagnosing the problem, but we can't really find it. It keeps being under high load."
New QA: "It might have something to do with the way you developers write queries".
She pulls up a bunch of code examples with dozens of joins and orderings on unindexed columns, explains that you shouldn't call queries from within looping constructs, that it's smart to limit the data with constraints and aggregations, hints at where to actually place indexes, how not to drag the whole DB to the frontend and process it in VueJS, etc...
New QA: "I've already put the tasks for refactoring the queries in Asana"
I'm grinning, because finally... finally I'm not alone in my crusade anymore.
Boss: "Yeah but that's just that code quality nonsense Bittersweet always keeps nagging about. Why is the database not working? Can't we just add more thingies to the cluster? That would be easier than rewriting the code, right?"
Dev team: "Yes... yes. We could try a few more of these aws rds db.m4.10xlarge thingies. That will solve it."
QA looks pissed off, stands up: "No. These queries... they touch the database in so many places, and so violently, that it has to go to therapy. That's why it's down. It just can't take the abuse anymore. You could add more little brothers and sisters to the equation, but damn that would be cruel right? Not to mention that therapy isn't exactly cheap!"
Dev team looks annoyed at me. My boss looks even more annoyed at me. "You hired this one?"
I keep grinning, and I nod.
"I might have offered her a permanent contract"46
Long but worth it...
So I was cleaning out my Google Drive last night, and deleted some old (2 years and up) files. I also deleted my old work folder, it was for an ISP I worked for over 2 years ago. After deleting the files I had a little twinge of "Man I hope they're not still using those". But seriously, it'd be a pretty big security risk if I was still the owner of those files... right? Surely they copied them and deleted all the info from the originals. IP addresses, Cisco configs, username and passwords for various devices, pretty much everything but customer info.
Guess who I get a call from this morning... "Hi this is Debbie from 'ISP'. I was trying to access the IP Master List and I can't anymore. I was just told to call you and see if there's any way to get access to it again" (Not her real name...)
I had to put her on hold so I could almost die of laughter...
Me: "Sorry about that Debbie, I haven't worked for that company for over 2 years. Your telling me in all that time no one thought to save them locally? No one made a copy? I still had the original documents?!"
D: "Uh... Apparently not..."
Another long pause
D: "So is there any way you can give me access to them again?"
Me: "They're gone Debbie. I deleted them all last night."
D: Very worried voice "Can... Can you check?"
This kids is why you never assume you'll always have access to a cloud stored file, make local copies!!
A little bit of background on this company, the owner's wife fired me on trumped up "time card discrepancy" issues so she could hire her freshly graduated business major son. The environment over there was pretty toxic anyway...
I feel bad for "Debbie" and the other staff there, it's going to be a very bad week for them. I also hope it doesn't impact any customers. But... It is funny as hell, especially since I warned the owner as I was clearing out my desk to save copies, and plan on them being gone soon. Apparently he never listened.
This is why you should have a plan in place... And not just wing it...
PS. First Post!27
A super creepy webcrawler I built with a friend in Haskell. It uses social media, various reverse image searches from images and strategically picked video/gif frames, image EXIF data, user names, location data, etc to cross reference everything there is to know about someone. It builds weighted graphs in a database over time, trying to verify information through multiple pathways — although most searches are completed in seconds.
I originally built it for two reasons: Manager walks into the office for a meeting, and during the meeting I could ask him how his ski holiday with his wife and kids was, or casually mention how much I would like to learn his favorite hobby.
The other reason was porn of course.
I put further development in the freezer because it's already too creepy. I'd run it on some porn gif, and after a long search it had built a graph pointing to a residence in rural Russia with pictures of a local volleyball club.
To imagine that intelligence agencies probably have much better gathering tools is so insane to think about.53
Sit down before you read this.
So I interviewed a guy for a "Support Engineer" internship position.
Me and the team lead sit down and are waiting for him to enter, but apparently he's actually making a coffee in the kitchen.
This isn't exactly a strike since the receptionist told him that he can go get a drink, and we did too. It's just always expected for him to get a glass of water, not waste 3 minutes brewing a coffee.
In any case he comes in, puts the coffee on the table, then his phone, then his wallet, then his keys and then sits on our side of the table.
I ask him to sit in front of us so we can see him. He takes a minute to pack and tranfer himself to the other side of the table. He again places all of the objects on the table.
We begin, team lead tells him about the company. Then I ask him whether he got any questions regarding the job, the team or the company . For the next 15 minutes he bombards us with mostly irrelevant and sometimes inappropriate questions, like:
0: Can I choose my own nickname when getting an email address?
1: Does the entire department get same salaries?
2: Are there yoga classes on Sundays only or every morning?
3: Will I get a car?
4: Does the firm support workspace equality? How many chicks are in the team?
5: I want the newest grey Mac.
And then.. Then the questions turn into demands:
6: I need a high salary (asks for 2.5 more than the job pays. Which is still a lot).
I ask him why would he get that at his first job in the industry (remind you, this is an internship and we are a relatively high paying company).
He says he's getting paid more at his current job.
His CV lists no current job and only indicates that he just finished studying.
He says that he's working at his parent's business...
Next he says that he is very talented and has to be promoted very quickly and that we need to teach him a lot and finance his courses.
At this point me and the team lead were barely holding our laughs.
The team lead asks him about his English (English is not our native language).
He replies "It's good, trust me".
Team lead invites him for an English conversation. Team lead acts like a customer with a broken internet and the guy is there to troubleshoot. (btw that's not job related, just a simple scenario)
TL: "Hello, my name is Andrew, I'm calli..."
Guy: *interrupts* "Yes, yes, hi! Hi! What do you want?"
TL: "Well, if you let me fi..."
Guy: "Ok! Talk!"
TL: "...inish... My internet is not working."
Guy: "Ok, *mimics tuning a V engine or cooking a soup* I fixed! *points at TL* now you say 'yes you fixed'".
Important to note that his English was horrible. Disregarding the accent he just genuinely does not know the language well.
Then he continiues with "See? Good English. Told you no need to check!".
After about half a minute of choking on out silent laughter I ask him how much Python experience he has (job lists a requirement of at least 1 year).
He replies "I'm very good at object oriented functional programming".
I ask again "But what is your experience? Did you ever take any courses? Do you have a git repository to show? Any side.."
*he interrupts again* "I only use Matlab!".
Team lead stands up and proceeds to shake his hand while saying "we will get back to you".
At last the guy says with a stupid smile on his face "You better hire me! Call me back tomorrow." Leaves TL hanging and walks away after packing his stuff into the pockets.
I was so shocked that I wasn't even angry.
We both laughed for the rest of the day though. It was probably the weirdest interview I took part at.39
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?
I recently met a young fella (14yo) playing League of Legends. He asked:
- What do you do for a living?
- I'm a programmer, do you know anything about programming?
- I don't, actually.
Apparently he was playing from a LAN Gaming center 'cause he didn't have a computer at home (his computer had broken and these Lan centers are pretty affordable).
I figured I could explain to him what was it and what super powers you could get from it. Turns out I recommended a JS course in codecademy and now he goes to the LAN center every day to study programming (he got really into it!).
Now he always pings me with questions about JS and apparently he's learning a ton! He had almost no English skills too (we're Brazilian), and because most of the material in the internet is in English he found himself some free English courses and he's now taking them!
Knowledge is free on the internet and I guess he's just realized that.
Not exactly a rant guys, just figured it was a nice story to tell :)
If Programming Languages Were Girls:
Java: Your current girlfriend, you've been going steady for a while now. Things are okay.
Kotlin: The girl Java finds you cheating on, she's just amazing, and you wish you'd met her sooner.
Visual Basic: The girl you accidentally started a relationship with because you didn't know how to say no. But quickly realised your mistake and regretted it.
Python: A bossy, manipulative girl who quickly turned things sour. But everyone else loves her because of her huge libraries.
My and a co worker were joking the other day about what programming languages would be like if they were girls. This is what we came up with (Original inspiration: the Distracted Boyfriend meme (Feel free to add your own!)).51
I'm a junior developer working on a project that's completely out of my scope. I've missed deadline after deadline and my boss + the customer are getting very pissed off and impatient. This project has got me feeling sick. I'm not sleeping well and honestly thinking about leaving my job just because of this 1 project.
I've tried speaking with my manager but she just says, complete it ASAP to the best of your ability. It will take me months to get it right but I am really struggling.
I'm just looking for some advice please? Has anyone else been through this? Do you think leaving is stupid?
Thank you ranters 😃13
If Doctors Were Like Coders
(cross-posted from https://medium.com/@c09b6133a238/...)
Problem: The patient has a broken leg.
1. Ask the patient to reproduce the exact scenario that resulted in the broken leg. Watch closely to see if the leg breaks again. Check for consistency by repeating the scenario a few more times.
2. Explain that this isn’t an intended use case for the leg, and besides, it only affects one person. Ask the patient if, all things considered, he really wants to prioritize his broken leg over your other work.
3. Point out that the patient’s other leg performs just fine under the same circumstances. Ask if he can use his other leg instead, at least as a workaround.
4. Attach several accelerometers to the broken leg and break it again. Stare at the data received from the accelerometers, then shrug and declare it useless.
5. Decide that the patient’s problem must be in his spleen. After all, that’s the only part of his body you don’t really understand.
6. Track down the people who created the patient. Ask them if he’s ever had spleen problems before. When they seem confused, explain that he has a broken leg. Ignore them when they tell you that the spleen they created could not possibly cause a broken leg.
7. Ask Google where a person’s spleen is. Spend half an hour reading the Wikipedia article on Splenomegaly.
8. Open the patient and grumble about how tightly-coupled his spleen and circulatory system are. Examine the spleen’s outer surface to see if there are any obvious problems. Inform him that several of his organs are very old and he should consider replacing them with something more modern.
9. Compare the spleen to some pictures of spleens online. If anything looks different, try to make it look the same.
10. Remove the spleen completely. See if the patient’s leg is still broken. If so, put the spleen back in.
11. Tell the patient that you’ve noticed his body is made almost entirely out of cellular tissue, whereas most bodies these days are made out of cardboard. Explain that cardboard is a lot easier for beginners to understand, it’s more forgiving of newbie mistakes, and it’s the tissue franca of the Internet. Ask if he’d like you to rebuild his body with cardboard. It will take you longer, but then his body would be future-proof and dead simple. He could probably even fix it himself the next time it breaks.
12. Spend some time exploring the lymph nodes in the patient’s abdominal cavity. Accidentally discover that if the patient’s leg is held immobile for six weeks, it gets better.
13. Charge the patient for six weeks of work.14
Hey ranters, I made an RSS feed reader for devRant feeds. Open up your favorite RSS reader app on your device and add http://devrant-rss.herokuapp.com/ for devRant feeds to be shown up. The project is open sourced at https://github.com/varundey/.... Any suggestions welcome :)3
Do you folks listen to podcasts? What are your favorite ones? The ones I listen to weekly are Geekrant, Linux Gamecast Weekly, and Linux Weekly Daily Wednesdays (done by the LGC group). I'm looking for more tech related ones, though.7
dfox please put in a "support us" feature of some sort that lets us watch ads of our own free will. I hate using your resources while not working for it at all.46
When my programmer boyfriend talks about his code, all I say is "That's so cool, babe," because I have no idea what he's even talking about.
He could be telling me he blew up a server.
"That's so cool, babe."
(I love you, though, darling x)9
Just saw a rant about date formats between the US and every other country and saw this a few years ago. Seems appropriate27
He's making a list
He's testing it twice
SELECT * FROM users WHERE behavior="nice"
SQL-clause is coming
Credit to @leeflower on Twitter2
I found this on Quora and It's awesome.
Have I have fallen in love with Python because she is beautiful?
Vaibhav Mallya, Proud Parseltongue. Passionate about the language, fairly experienced (since ...
Written Nov 23, 2010 · Upvoted by Timothy Johnson, PhD student, Computer Science
There's nothing wrong with falling in love with a programming language for her looks. I mean, let's face it - Python does have a rockin' body of modules, and a damn good set of utilities and interpreters on various platforms. Her whitespace-sensitive syntax is easy on the eyes, and it's a beautiful sight to wake up to in the morning after a long night of debugging. The way she sways those releases on a consistent cycle - she knows how to treat you right, you know?
But let's face it - a lot of other languages see the attention she's getting, and they get jealous. Really jealous. They try and make her feel bad by pointing out the GIL, and they try and convince her that she's not "good enough" for parallel programming or enterprise-level applications. They say that her lack of static typing gives her programmers headaches, and that as an interpreted language, she's not fast enough for performance-critical applications.
She hears what those other, older languages like Java and C++ say, and she thinks she's not stable or mature enough. She hears what those shallow, beauty-obsessed languages like Ruby say, and she thinks she's not pretty enough. But she's trying really hard, you know? She hits the gym every day, trying to come up with new and better ways of JIT'ing and optimizing. She's experimenting with new platforms and compilation techniques all the time. She wants you to love her more, because she cares.
But then you hear about how bad she feels, and how hard she's trying, and you just look into her eyes, sighing. You take Python out for a walk - holding her hand - and tell her that she's the most beautiful language in the world, but that's not the only reason you love her.
You tell her she was raised right - Guido gave her core functionality and a deep philosophy she's never forgotten. You tell her you appreciate her consistent releases and her detailed and descriptive documentation. You tell her that she has a great set of friends who are supportive and understanding - friends like Google, Quora, and Facebook. And finally, with tears in your eyes, you tell her that with her broad community support, ease of development, and well-supported frameworks, you know she's a language you want to be with for a long, long time.
After saying all this, you look around and notice that the two of you are alone. Letting go of Python's hand, you start to get down on one knee. Her eyes get wide as you try and say the words - but she just puts her finger on your lips and whispers, "Yes".
The moon is bright. You know things are going to be okay now.
Don't you guys think devRant should have option to follow any user, so that u never miss a rant from that fellow ??11
Programmers of today are like the monks of the middle ages. We use a language that people don't understand, we spend all our time sitting in a room reading, and people constantly ask us for advice but never really listens to the answer.9