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 - "found somewhere"
-
Last year I built the platform 'Tindex'. It was an index of Tinder profiles so people could search by name, gender and age.
We scraped the Tinder profiles through a Tinder API which was discontinued not long ago, but weird enough it was still intact and one of my friends who was also working on it found out how to get api keys (somewhere in network tab at Tinder Online).
Except name, gender and age we also got 3 distances so we could calculate each users' location, then save the location each 15 minutes and put the coordinates on a map so users of Tindex could easily see the current location of a specific Tinder user.
Fun note: we also got the Spotify data of each Tinder user, so we could actually know on which time and which location a user listened to a specific Spotify track.
Later on we started building it out: A chatbot which connected to Tinder so Tindex users could automatically send a pick up line to their new matches (Was kinda buggy, sometimes it sent 3 pick up lines at ones).
Right when we started building a revenue model we stopped the entire project because a friend of ours had found out that we basically violated almost all terms.
Was a great project, learned a lot from it and actually had me thinking twice or more about online dating platforms.
Below an image of the user overview design I prototyped. The data is mock-data.51 -
I don't understand why every non-technical person who comes to do work in my apartment messes up my fucking router.
The cleaning lady - multiple times knocked the antennas partially off. Like fucking clock work. I don't get it, why is the cleaning lady attracted to my router antennas and why does she need to be so hard on them? Whatever.
The most ridiculous episode was today. And it wasn't the cleaning lady. I had a few people here doing some work today and the woman in charge who was here informed me before that they might have to move the furniture "a little."
I come home, and like a bad omen, the plastic parts on BOTH my router antennas are missing. Completely gone. It's just the the wires. Now, the router still works fine in my tiny apartment, but it is a fancy Asus router (I learned the hard way not to buy cheap routers) and I'd like it to not have fucking wires as antennas.
I email the woman (paraphrased):
Me: hey, it seems the antennas got knocked off my router, do you have any idea where they might have went?
Her: Apologies if we didn't put everything back (no shit you didn't, that's why I've had to email you). If we knocked the antennas off the router (fucking "if"???? I literally just told you in my email that they were knocked off) , they are probably somewhere by the window on the floor (they weren't).
And I still haven't found them. Why the fuck do these people seemingly attack my router? I can't figure out what it is about it. You would think people would be more careful around electronics but naaah. Anyway, going to go keep looking for my router antennas.44 -
Good Morning!, its time for practiseSafeHex's most incompetent co-worker!
Todays contestant is a very special one.
*sitcom audience: WHY?*
Glad you asked, you see if you were to look at his linkedin profile, you would see a job title unlike any you've seen before.
*sitcom audience oooooooohhhhhh*
were not talking software developer, engineer, tech lead, designer, CTO, CEO or anything like that, No No our new entrant "G" surpasses all of those with the title ..... "Software extraordinaire".
*sitcom audience laughs hysterically*
I KNOW!, wtf does that even mean! as a previous dev-ranter pointed out does this mean he IS quality code? I'd say he's more like a trash can ... where his code belongs
*ba dum tsssss*
Ok ok, lets get on with the show, heres some reasons why "G" is on the show:
One of G's tasks was to build an analytics gathering library for iOS, similar to google analytics where you track pages and events (we couldn't use google's). G was SO good at this job he implemented 2 features we didn't even ask for:
- If the library was unable to load its config file (for any reason) it would throw an uncatchable system integrity error, crashing the app.
- If anything was passed into any of the functions that wasn't expected (null, empty array etc.) it would crash the app as it was "more efficient" to not do any sanity checks inside the library.
This caused a lot of issues as some of the data needed to come from the clients server. The day we launched the app, within the first 3 hours we had over 40k crash logs and a VERY angry client.
Now, what makes this story important is not the bugs themselves, come on how many times have we all done something stupid? No the issue here was G defended all of this as the right thing to do!
.. and no he wasn't stoned or drunk!
G claimed if he couldn't get the right settings / params he wouldn't be able to track the event and then our CEO wouldn't have our usage data. To which I replied:
"So your solution was to not give the client an app instead? ... which also doesn't give the CEO his data".
He got very angry and asked me "what would you do then?". I offered a solution something like why not have a default tag for "error" or "unknown" where if theres an issue, we send up whatever we have, plus the file name and store it somewhere else. I was told I was being ridiculous as it wasn't built to track anything like that and that would never work ... his solution? ... pull the library out of the app and forget it.
... once again giving everyone no data.
G later moved onto another cross-platform style project. Backend team were particularly unhappy as they got no spec of what needed to be done. All they knew was it was a single endpoint dealing with very complex model. There was no Java classes, super classes, abstract classes or even interfaces, just this huge chunk of mocked data. So myself and the lead sat down with him, and asked where the interfaces for the backend where, or designs / architecture for them etc.
His response, to this day frightens me ... not makes me angry, not bewilders me ... scares the living shit out of me that people like this exist in the world and have successful careers.
G: "hhhmmm, I know how to build an interface, but i've never understood them ... Like lets say I have an interface, what now? how does that help me in any way? I can't physically use it, does it not just use up time building it for no reason?"
us: "... ... how are the backend team suppose to understand the model, its types, integrate it into the other systems?"
G: "Can I not just tell them and they can write it down?"
**
I'll just pause here for a moment, as you'll likely need to read that again out of sheer disbelief
**
I've never seen someone die inside the way the lead did. He started a syllable and his face just dropped, eyes glazed over and he instantly lost all the will to live. He replied:
" wel ............... it doesn't matter ... its not important ... I have to go, good luck with the project"
*killed the screen share and left the room*
now I know you are all dying in suspense to know what happened to that project, I can drop the shocking bombshell that it was in fact cancelled. Thankfully only ~350 man hours were spent on it
... yep, not a typo.
G's crowning achievement however will go down in history. VERY long story short, backend got deployed to the server and EVERYTHING broke. Lead investigated, found mistakes and config issues on every second line, load balancer wasn't even starting up. When asked had this been tested before it was deployed:
G: "Yeah I tested it on my machine, it worked fine"
lead: "... and on the server?"
G: "no, my machine will do the same thing"
lead: "do you have a load balancer and multiple VM's?"
G: "no, but Java is Java"
... and with that its time to end todays episode. Will G be our most incompetent? ... maybe.
Tune in later for more practiceSafeHex's most incompetent co-worker!!!31 -
So i've been a dev manager for a little while now. Thought i'd take some time to disambiguate some job titles to let everyone know what they might be in for when joining / moving around a big org.
Title: Senior Software Engineer
Background:
- Technical
- Clever
- Typically has years experience building what management are trying to build
Responsibilities:
- Building new features
- Writing code
- Code review
- Offering advice to product manag......OH NO YOU DON'T CODE MONKEY, BACK TO WORK!
Title: Dev Manager
Background:
- Technical
- Former/current programmer
- knows his/her way around a codebase.
Responsibilities:
- Recruiting / interviewing new staff
- Keeping the team focused and delivering tasks
- Architecture decisions
- Lying about complexity of architecture decisions to ensure team gets the actual time they need
- Lying about feature estimations to ensure team gets to work on critical technical improvements that were cancelled / de-prioritised
- Explaining to hire-ups why we can't "Just do it quicker"
- Explaining to senior engineers why the product manager declined their meeting request
Title: Product / Product Manager
Background:
- Nothing relevant to the industry or product line what so ever
- Found the correct building on the day of the interview
- Has once opened an Excel spreadsheet and successfully saved it to a desktop
Responsibilities:
- Making every key decision about every feature available in the app
- Learning to ignore that inner voice we like to call "Common sense"
- Making sure to not accidentally take some advice from technical staff
- Raising the blood pressure of everyone below them / working with them
Title: Program Lead / Product Owner
Background:
- Capable of speech
- Aware of what a computer is (optional)
Responsibilities:
- Sitting down
- Talking
- Clicking random buttons on Jira
- Making bullet point lists
Title: Director of Software Engineering
Background:
- Allegedly attended college/university to study computer science
- Similar to a technical product manager (technical optional)
Responsibilities:
- Reports directly to VP
- Fixes problems by creating a different problem somewhere else as a distraction
- Claiming to understand and green light technical decisions, while having already agreed with product that it will never happenrant program lead practisesafehexs-new-life-as-a-manager management explanation product product owner9 -
School principal : P / Me : M / Interviewer over Skype : S
P. I recently heard you run a software club in our school.
M. Yes. (started from March)
P. Well, one software community seems that he found you somewhere, and asked me if we can do a quick interview.
M. Sure. What is it?
P. So he will connect to skype.
M. Let's start then...
*A few moments later...*
M. Wwwwhhhhaaaaattttttt?
P. Calm down! What's the problem?
M. How can I have more than 5 years of android development?
S. Ok. Recorded. Next question.
M. (uhhh)
*A few moments later...*
M. What? Why in the heck do I use subversion?........
Yes... Ah... Ummm....
No! Why should i make a gui client for subversion?
*A few moments later...*
S. Do you have hacking experience?
M. Of what? I know hacking is illegal here..
S. Like... Anything!
M. Do YOU have an experience?
S. Yup.
M. What?
S. Google.
M. How?
S. (silence) Ok. Let's move on.
M. (wtf is this guy)
*A few moments later...*
S. Okay. We were about to hire you but you didnt met our job requirements.
M. ......What? What was the job?
S. Web developer Intern
M. I got no questions regarding "web".
S. I know devs should be great at all things.
M. Shut the hell up. What company are you?
S. (says something)
M. (Searches in google) Doesnt come in search results.
S. Where did you searched it? (trembling voice)
M. (Searches in naver, search engine of korea) Nothing. Are you sure you are a company?
S. (ends call)
Hate these fake interviews. And i have no idea how they found my school
I never wrote my school anywhere.12 -
Client comes to me after a year to publish an update to his app.
I accept, start looking for my release key.... Found it.
Fuuuuuuucccck what's the password? I can't remember
Googled what to do if forgot password of keystore: Nope can't do shit other than brute Force. You've to forget your app and publish as a new app. Nice.
I must have written it somewhere... I'm sure. Check my password manager: Nope.
Start brute forcing:
Default pass: android. Nope
Name of app? Nope
After 10 mins of brute forcing:
Why would I not store the password in my password manager? The only reason I can think is the password is too stupid to be stored.
Try "password". App signed successfully.
I'm ashamed of 1 year older me xD6 -
Well, this has been one hell of an awesome ride already. I’m at 70K+ and the biggest ranter as for reputation (those upvote thingies). Although I don’t care about being the biggest one currently, I do take pride in it but I’ll get back to that one later on. (I’ll very likely lose the first place at some point but oh well, couldn’t care less :))
I joined back in May last year through an article I found on https://fossbytes.com (thanks a bunch!), joined and was immediately addicted. The community was still very tiny back then and I’ve got to say that getting upvotes was also not the easiest :P. But, I finally found a place where I could rant out my dev related frustrations: awesomeness. I very much remember how, at first, reaching 1K was my biggest devRant dream and it seemed to be freaking impossible. Then I reached 1K and that was such a big achievement for me! Then the ‘dream’ (read these kind of dreams (upvotes ones) as things that would be awesome to reach not just for the upvotes but for participating, commenting, ranting, discussing and so on within the community, so as in, it shows your contribution) became 10K which seemed even more impossible. Then I reached 10K and 20K seemed freaking impossible but I got there a little faster and from that point on it’s been going fast as hell!
It’s always been a dream for me to become a very big but also ‘respected’ or especially well known user/person somewhere because that pretty much never happened and well, having dreams isn’t wrong, is it?
The biggest part of that dream, though, was that it would be a passion of mine that would get me there but except for Linux, the online privacy part was something I always deemed to be ‘just impossible’. This because irl I ALWAYS get (it’s getting less though) ridiculed for being so keen on my privacy and teaching others about it. People find me very paranoid right away but the thing is that if they ask me to explain and I actually present evidence for my claims, it’s waved away as if it’s nothing. (think mass surveillance, prism, encrypted services, data breaches and so on)
I never thought I’d find any other people who would have the same views as I do but fucking hell, I found them within this community!
Especially the fact that I’ve grown this much because of my passion is something I am proud of. It’s also awesome to see that I’m not the only one who thinks like this and that I’ve actually find some of you on here :)
So yeah, thanks to everyone who got me where I am now!
Also a big thanks to sir Dfox and Trogus for putting your free time into making this place happen.
Love you peoples <3 and to anyone ‘close’ on here I forgot, if you match any of the comments as for privacy/friendliness etc, don’t worry, those nice things also apply to you! My memory just sucks :/
P.S. Please do NOT comment before I comment that I’m done with commenting because I’ve got a lot of comments coming :D59 -
It's 2018 and I am forced to add new features on project that was deployed in 2003 and lastly updated at 2009.
Best part is that PHP version on the production server is [drum roll] 4.3.8. I found out that this version was the latest at July 2003. On top of that, server runs on Windows Server 2003 and the database is oracle (meaning php driver is needed).
I have spent a WHOLE WEEK just trying to recreate that environment in order to start working on the new features.
Sorry for grumping but I had to take it out somewhere.12 -
I've had many, but this is one of my favorite "OK, I'm getting fired for this" moments.
A new team in charge of source control and development standards came up with a 20 page work-instruction document for the new TFS source control structure.
The source control kingpin came from semi-large military contract company where taking a piss was probably outlined somewhere.
Maybe twice, I merged down from a release branch when I should have merged down from a dev branch, which "messed up" the flow of code that one team was working on.
Each time I was 'coached' and reminded on page 13, paragraph 5, sub-section C ... "When merging down from release, you must verify no other teams are working
on branches...blah blah blah..and if they have pending changes, use a shelfset and document the changes using Document A234-B..."
A fellow dev overheard the kingpin and the department manager in the breakroom saying if I messed up TFS one more time, I was gone.
Wasn't two days later I needed to merge up some new files to Main, and 'something' happened in TFS and a couple of files didn't get merged up. No errors, nothing.
Another team was waiting on me, so I simply added the files directly into Main. Unknown to me, the kingpin had a specific alert in TFS to notify him when someone added
files directly into Main, and I get a visit.
KP: "Did you add a couple of files directly into Main?"
Me:"Yes, I don't what happened, but the files never made it from my branch, to dev, to the review shelfset, and then to Main. I never got an error, but since
they were new files and adding a new feature, they never broke a build. Adding the files directly allowed the Web team to finish their project and deploy the
site this morning."
KP: "That is in direct violation of the standard. Didn't you read the documentation?"
Me: "Uh...well...um..yes, but that is an oddly specific case. I didn't think I hurt any.."
KP: "Ha ha...hurt? That's why we have standards. The document clearly states on page 18, paragraph 9, no files may ever be created in Main."
Me: "Really? I don't remember reading that."
<I navigate to the document, page 18, paragraph 9>
Me: "Um...no, it doesn't say that. The document only talks about merging process from a lower branch to Main."
KP: "Exactly. It is forbidden to create files directly in Main."
Me: "No, doesn't say that anywhere."
KP: "That is the spirit of the document. You violated the spirit of what we're trying to accomplish here."
Me: "You gotta be fracking kidding me."
KP grumbles something, goes back to his desk. Maybe a minute later he leaves the IS office, and the department manager leaves his office.
It was after 5:00PM, they never came back, so I headed home worried if I had a job in the morning.
I decided to come in a little early to snoop around, I knew where HR kept their terminated employee documents, and my badge wouldn't let me in the building.
Oh crap.
It was a shift change, so was able to walk in with the warehouse workers in another part of the building (many knew me, so nothing seemed that odd), and to my desk.
I tried to log into my computer...account locked. Oh crap..this was it. I'm done. I fill my computer backpack with as much personal items as I could, and started down the hallway when I meet one of our FS accountants.
L: "Hey, did your card let you in the building this morning? Mine didn't work. I had to walk around to the warehouse entrance and my computer account is locked. None of us can get into the system."
*whew!* is an understatement. Found out later the user account server crashed, which locked out everybody.
Never found out what kingpin and the dev manager left to talk about, but I at least still had a job.13 -
This has to be the funniest IT fail ever. https://m.reddit.com/r/...
Found it in a comment somewhere on devrant (i forgot who posted originally, but this is me giving credit)9 -
Story time! Promised this, so making good on the promise. Eh-hem.
Misunderstandings [A slice of life short play that actually happened]
Dramatis Personae (anonymized, bc of course):
Moi ........ me, myself and possibly some lint
Robert ..... co-architect
Daisy ...... line dev
Lisa ....... also line dev
Prologue: the beginninning
[A project is starting up, new devs are coming on, including the two individuals who drive this story.
Daisy, of Indian origin, an exceptional dev and lovely person. Mother, wife, very conservative by upbringing in her early 40s.
Lisa, also exceptional dev, lovely person. Mother, also wife, self-made immigrant with liberal views derived from personal pride and self-bootstrapping]
Enter the office, We introduce everyone, off to a nice start, everyone is happy and excited to be working on [large bank project].
Lisa and Daisy form a friendship of commonality, they have similar backgrounds by all appearances and similar concerns due to children the same age and shared employment. They seem to become fast friends and things proceed normally for some months. Smooth sailing, all is well.
The fuse is lit.
Scene: Lunchtime gossip
[Robert, middle 40s architect adjacent Moi, also architect, age is my own damn business [old, so very old].]
Robert: "So, it seems like Daisy and Lisa are getting along great."
Moi: *snerfs a little, almost chokes on enchilada* Yes, yes they are, It's nice to see...
Robert: *eyebrow, having learned to read my expressions* "Aaaaaaand..."
Moi: "I adore both of them, but they are primarily friends because they don't actually understand most of what the other says"
[Lisa has a thick Taiwanese accent, Daisy has a standard northern indian accent. Never the two shall meet]
Robert: "Are you sure, they seem to have a lot of conversations?"
Moi: "Positive, you weren't at lunch with the three of us. They're polar opposite in terms of values, it'll be fine so long as that never comes up"
Robert: "I'm not even digging into that"
Moi: *flan*
Sizzle.
Scene: This is bat country
[More months pass, everything is fine, project is humming along nicely, save a few blips of personality conflicts. Moi takes a vacation. A gas station, somewhere in the middle of Wyoming, a snowstorm, a sports car full of luggage]
*phone rings*
Moi: *looks down, sees it's Robert, eyebrow raises, answer* What's on fire?
Robert: "We had to let Lisa go"
Moi: "Ah, they finally understood each other."
Robert: "Yes..." *deep sigh*
[Fade to flashback]
Bang.
Scene: The office, Lisa's desk
[Daisy and Lisa are discussing non-descript conversation. Daisy broaches the subject of Lisa's past divorce and being a single mother]
Daisy: "It must have been hard, how did you manage?"
Lisa: "I had my daughter, she was my motivation. We made it here, I met my current partner"
Daisy: "That's good! It is so hard, coming to something new. I could never imagine leaving my husband."
Lisa: "He left us, we weren't important, I don't want to marry every again"
Daisy: "Surely you do though? Marriage is great for a woman, my parents found a great husband for me."
Lisa: "Haha, lucky you. Most indian marriage is like prostitution."
[At this moment, Daisy's demeanor takes a nose dive. Whatever was actually said, what she heard was, "Indian marriage is prostitution"]
Daisy: *tears begin pouring down her face, she flings herself back in her chair, head shaking violently she screams* "I AM AN HONORABLE WOMAN!"
[Daisy runs out of the room, straight to HR. Lisa sits there, stunned, not really understanding what just happened or the consequences]
Scene: Back in bat country
[Robert finishes the story, the emotions are a mixture of hilarity at the absurdity of the situation and frustration in the work void it has created]
Moi: "Satan, well. Fuck me. Fuck us. Fuck. Is Daisy alright, is she at least staying? We can't lose two devs at the same time."
Robert: "She got a few days off, she seems fine now, but she's... yeah, I never laughed so hard"
Moi: *double facepalm* "Yeah, the word choice was a bit outrageous. It's not like we didn't know it was coming. I'm going to get back on the road."
Robert: "Alright, enjoy yourself, I'll try and prevent any other forest fires."19 -
Browsed around the internet for a good linux distro to use.
Someone somewhere recommended Arch.
Downloaded Arch and usb booted it.
Tried to install it for 30 minutes and gave up.(😂)
Found a new recommendation, Bunsenlabs.
Now i have installed Bunsenlabs on every device i have (except for my phone & tablet of course :DD)
It's great!
(Image is not related to earlier text)9 -
Here's the time an Amazon recruiter scheduled a call with me just to tell me I wouldn't be getting the job.
A few years ago, I left Uber after the seemingly non-stop public snafus they were getting themselves into (I have a lot of rants about Uber if anyone is interested, some of them mind-melting). I decided to take a two month break given that my financials looked decent for once and I was tired of 100 hour weeks.
During that time, I of course started perusing the typical job-seeking sites I had remembered from before. Somehow, from one of the profiles I set up, I caught the eye of an Amazon recruiter. They emailed me and I agreed to set up a date and time for an introductory chat.
They already had my CV. They already had my StackOverflow/Github information. This wasn't a technical interview, and the recruiter wasn't part of any of the tech teams. This is important information moving forward.
A few days later, I got the call from the recruiter. He introduced himself as the person from the emails, thanking my for my time, etc.. Things started out pleasant with the smalltalk and whatnot, but then the recruiter said "so I have some concerns about your resume".
Under one of the sections I had a list of things I was skilled with - one of which, regrettably, is PHP. Completely ignoring Java, Javascript, C# and C++ knowledge and all of the other achievements I have with those technologies, the recruiter really wanted to drill me about the PHP.
"Do you work a lot with PHP?"
"No, not anymore - from time to time I have to do something with it but it's not my main language anymore. I know it quite well, though."
"Oh okay well we aren't looking for any PHP roles right now, unfortunately."
"Okay, no problem."
Perhaps I could have said more, but from my end of things, I meant "I don't see a problem here, I don't write a lot of PHP and you don't need a lot of PHP".
After a pause that felt like an hour, the recruiter broke the silence and said "Okay well thanks for your time today, I'm sorry things didn't work out."
Bewildered, I asked which technology stack they were using on the team.
"Not PHP, unfortunately. Thank you for your time." and then an abrupt click.
The recruiter found me himself, looked at my resume (assumably), sought out to contact me, arranged a time for a call, and then called me, just to tell me I wouldn't get the position due to knowing PHP at some point in my career.
Years later, the whole interaction still shocks me. Somewhere in my drafts I have a long letter to the recruiter basically going over my entire career history explaining why his call was incredibly... well, fucking weird. Towards the end of writing it I realized it was more therapeutic for me to deal with whatever it was that just took place and that it probably wouldn't change my odds of working at Amazon.
So yeah. That's the story of the time Amazon set up a recruiting call just to tell me I wouldn't be working for them.9 -
So, some time ago, I was working for a complete puckered anus of a cosmetics company on their ecommerce product. Won't name names, but they're shitty and known for MLM. If you're clever, go you ;)
Anyways, over the course of years they brought in a competent firm to implement their service layer. I'd even worked with them in the past and it was designed to handle a frankly ridiculous-scale load. After they got the 1.0 released, the manager was replaced with some absolutely talentless, chauvinist cuntrag from a phone company that is well known for having 99% indian devs and not being able to heard now. He of course brought in his number two, worked on making life miserable and running everyone on the team off; inside of a year the entire team was ex-said-phone-company.
Watching the decay of this product was a sheer joy. They cratered the database numerous times during peak-load periods, caused $20M in redis-cluster cost overrun, ended up submitting hundreds of erroneous and duplicate orders, and mailed almost $40K worth of product to a random guy in outer mongolia who is , we can only hope, now enjoying his new life as an instagram influencer. They even terminally broke the automatic metadata, and hired THIRTY PEOPLE to sit there and do nothing but edit swagger. And it was still both wrong and unusable.
Over the course of two years, I ended up rewriting large portions of their infra surrounding the centralized service cancer to do things like, "implement security," as well as cut memory usage and runtimes down by quite literally 100x in the worst cases.
It was during this time I discovered a rather critical flaw. This is the story of what, how and how can you fucking even be that stupid. The issue relates to users and their reports and their ability to order.
I first found this issue looking at some erroneous data for a low value order and went, "There's no fucking way, they're fucking stupid, but this is borderline criminal." It was easy to miss, but someone in a top down reporting chain had submitted an order for someone else in a different org. Shouldn't be possible, but here was that order staring me in the face.
So I set to work seeing if we'd pwned ourselves as an org. I spend a few hours poring over logs from the log service and dynatrace trying to recreate what happened. I first tested to see if I could get a user, not something that was usually done because auth identity was pervasive. I discover the users are INCREMENTAL int values they used for ids in the database when requesting from the API, so naturally I have a full list of users and their title and relative position, as well as reports and descendants in about 10 minutes.
I try the happy path of setting values for random, known payment methods and org structures similar to the impossible order, and submitting as a normal user, no dice. Several more tries and I'm confident this isn't the vector.
Exhausting that option, I look at the protocol for a type of order in the system that allowed higher level people to impersonate people below them and use their own payment info for descendant report orders. I see that all of the data for this transaction is stored in a cookie. Few tests later, I discover the UI has no forgery checks, hashing, etc, and just fucking trusts whatever is present in that cookie.
An hour of tweaking later, I'm impersonating a director as a bottom rung employee. Score. So I fill a cart with a bunch of test items and proceed to checkout. There, in all its glory are the director's payment options. I select one and am presented with:
"please reenter card number to validate."
Bupkiss. Dead end.
OR SO YOU WOULD THINK.
One unimportant detail I noticed during my log investigations that the shit slinging GUI monkeys who butchered the system didn't was, on a failed attempt to submit payment in the DB, the logs were filled with messages like:
"Failed to submit order for [userid] with credit card id [id], number [FULL CREDIT CARD NUMBER]"
One submit click later and the user's credit card number drops into lnav like a gatcha prize. I dutifully rerun the checkout and got an email send notification in the logs for successful transfer to fulfillment. Order placed. Some continued experimentation later and the truth is evident:
With an authenticated user or any privilege, you could place any order, as anyone, using anyon's payment methods and have it sent anywhere.
So naturally, I pack the crucifixion-worthy body of evidence up and walk it into the IT director's office. I show him the defect, and he turns sheet fucking white. He knows there's no recovering from it, and there's no way his shitstick service team can handle fixing it. Somewhere in his tiny little grinchly manager's heart he knew they'd caused it, and he was to blame for being a shit captain to the SS Failboat. He replies quietly, "You will never speak of this to anyone, fix this discretely." Straight up hitler's bunker meme rage.13 -
"Pre-Installed Malware Found On 5 Million Popular Android Phones"
"added somewhere along the supply chain"
See below how to check if it's installed
Sources:
- (new) https://thehackernews.com/2018/03/...
- (new) https://research.checkpoint.com/rot...
- (old relevant news) https://thehackernews.com/2017/03/...
---
"Rottensys" a malware which covers devices from: Honor, Huawei, Xiaomi, OPPO, Vivo, Samsung and GIONEE
---
"According to our findings, the RottenSys malware began propagating in September 2016. By March 12, 2018, 4,964,460 devices were infected by RottenSys," researchers said.
"At this moment, the massive malware campaign pushes an adware component to all infected devices that aggressively displays advertisements on the device’s home screen, as pop-up windows or full-screen ads to generate fraudulent ad-revenues."
---
If you have one of the affected devices, here's how I checked mine:
1. Install ADB (Windows: https://forum.xda-developers.com/sh...)
2. Connect your device in USB-debugging mode
3. execute "adb shell 'pm list packages -f' > output.txt" (On windows navigate to C:\adb and replace "adb" with ".\adb.exe")
4. open the now created output.txt
5. search for any of those:
com.android.yellowcalendarz (每日黄历)
com.changmi.launcher (畅米桌面)
com.android.services.securewifi (系统WIFI服务)
com.system.service.zdsgt19 -
This is a rant.
I'd rather say go fuck yourself. I mean whatever the fuck you mean by block chain programming? Found a word and start adding random words to it and start learning it? I mean who the fuck wants to program AI in HTML? (Seen somewhere else)10 -
Still trying to get good.
The requirements are forever shifting, and so do the applied paradigms.
I think the first layer is learning about each paradigm.
You learn 5-10 languages/technologies, get a feeling for procedural/functional/OOP programming. You mess around with some electronics engineering, write a bit of assembly. You write an ugly GTK program, an Android todo app, check how OpenGL works. You learn about relational models, about graph databases, time series storage and key value caches. You learn about networking and protocols. You void the warranty of all the devices in your house at some point. You develop preferences for languages and systems. For certain periods of time, you even become an insufferable fanboy who claims that all databases should be replaced by MongoDB, or all applications should be written in C# -- no exceptions in your mind are possible, because you found the Perfect Thing. Temporarily.
Eventually, you get to the second layer: Instead of being a champion for a single cause, you start to see patterns of applicability.
You might have grown to prefer serverless microservice architectures driven by pub/sub event busses, but realize that some MVC framework is probably more suitable for a 5-employee company. You realize that development is not just about picking the best language and best architecture -- It's about pros and cons for every situation. You start to value consistency over hard rules. You realize that even respected books about computer science can sometimes contain lies -- or represent solutions which are only applicable to "spherical cows in a vacuum".
Then you get to the third layer: Which is about orchestrating migrations between paradigms without creating a bigger mess.
Your company started with a tiny MVC webshop written in PHP. There are now 300 employees and a few million lines of code, the framework more often gets in the way than it helps, the database is terribly strained. Big rewrite? Gradual refactor? Introduce new languages within the company or stick with what people know? Educate people about paradigms which might be more suitable, but which will feel unfamiliar? What leads to a better product, someone who is experienced with PHP, or someone just learning to use Typescript?
All that theoretical knowledge about superior paradigms won't help you now -- No clean slates! You have to build a skyscraper city to replace a swamp village while keeping the economy running, together with builders who have no clue what concrete even looks like. You might think "I'll throw my superior engineering against this, no harm done if it doesn't stick", but 9 out of 10 times that will just end in a mix of concrete rubble, corpses and mud.
I think I'm somewhere between 2 and 3.
I think I have most of the important knowledge about a wide array of languages, technologies and architectures.
I think I know how to come to a conclusion about what to use in which scenario -- most of the time.
But dealing with a giant legacy mess, transforming things into something better, without creating an ugly amalgamation of old and new systems blended together into an even bigger abomination? Nah, I don't think I'm fully there yet.8 -
Found this on mastodon:
I sometimes imagine that somewhere there must be a Ministry for Messing Up the Internet. It would be like a Monty Python sketch.
Each day a new idea would arrive in the intray of an official who looks like a young John Cleese. They would form a large pile of papers.
[reads] "Make a protocol so complicated that nobody can understand it. No the Sematic Web has already been tried".
[reads] "Ban all the cat photos for spurious copyright reasons. No, we already have an upload filter in progress to do that".
[reads] "Fill Tim Berners-Lee's socks with elephants. No - much too silly."
"Ah yes, [reads] make a giant man in the middle that everything on the internet has to go through like a sausage machine and get squirted out on the other side, hopefully in the correct order. Bernard, get Cloudflare on the phone immediately."
@bob@soc.freedombone.net2 -
!dev && feelsbadman
I don't know what to think.
All I know is that I just went reaaaaal close to a disaster.
Friday morning, my "scariest" manager (as in, if you have to meet with him, it's usally for something serious) told me that he needed to see me on monday (so today) with the lead dev, the project manager and the dude who recruited me.
The meeting was like an arena of 4 vs 1, where they all 4 had problem with the work I do, as in I make a lot of small but stupid mistakes that wastes everyone's time. As an excuse, I suffer from sleep apnea so I wake up as tired I am when I go to sleep, and I snore loud as fuck. I've heard some records, it's not even human. (I'm 1m85-ish for 125 kg, it's BIG but with my morphology it's not like I'm a ball of fat)
Anyway. And since it's not the first time they're reproaching me this kind of stuff, they were all... really angry. Because I'm a nice guy, competent and all but not productive enough and easily distracted.
So, when the manager asked me to meet me, it was to fire me. However, during the lunch break, the lead dev found a solution: I get out of the current project I was in until this morning, and I write all the functional tests for all the projects, because they all lack quality and we sometimes deliver regresses.
They proposed me this in a way I could refuse, and I'd get fired because they had no other options. Obviously, I said yes, I'm not stupid enough to decline a possibilty to avoid a monstruous shitstorm that would have cut me my studies, the money for taxes, and a lot of fun to find a job as fast as possible.
But what surprised me the most is that they were genuinely glad I accepted, like, even though I made my shit ton of mistakes, they weren't pleased at all to get rid of me.
And in a way, I'm the one who won in this story, since I don't have to work with Drupal anymore, excepted to parse the website to write my tests, but my nightmare fuel is finally gone *.*
I don't know where to finish with this rant, but I needed to vent this whole thing, to write it somewhere so I can move forward.
I wish y'all a nice week.3 -
"Don't reinvent the wheel..." - I read it often, still I hate to use foreign code. It's not only that I do it for learning purposes. I just don't trust them. I want to keep the control, I want to understand my application and I want to be to blame when things fuck up.
I would probably through my laptop if my website gets hacked because of some fucking plugin or code I found somewhere on the internet.
So yes, I will invent the wheel new. At least I will spent some time to understand how this particular wheel is made, how it rolls and how I can improve it for my specific situation.
Sometimes my tires have some uncommon profile, but they fit to the stuff they are made for.16 -
Me: Right, its Monday, time for a fresh start. Things have been unbearable, but i've nowhere else to go just yet. I gotta just dig deep, ignore everything bad and just get it done, It's all about positivity right? Lets just ignore the little things and keep moving.
*My morning so far, 2 hours in*
Remote dev: (timezone 5 hours earlier than me) Hey so whats the plan for this quarter?
Me: ... I posted a big detailed plan in the group chat on Friday night so you wouldn't be delayed ... but anyway, lets just move on. I need you to work on A, B and C. A is just copying what Android has already done, for B one of the backend guys working next to you is doing this, he'll be able to help you. C is all documented in the ticket.
Remote dev: cool thanks.
Local dev: So I was just chatting with remote dev ... yeah he told me he has no idea what he's suppose to do.
Me: ..... Ok i'll book a video call with him in the morning. Can't do it right now.
==========
Remote dev: Hey i'm helping the BE team do some testing. I found a bug in Android. Homepage says theres no trips. But Offers screen says there is.
Me: Ok so just to confirm, The "available" offers screen has offers to accept, but the white notification on the homepage saying "You have X offers to accept" is not showing up?
Remote dev: Correct!
*debugging for 5 mins*
Remote dev: actually no, the "accepted" offers tab has offers, but the homepage says there are no upcoming offers to work on.
Me: ..... ok, thats very different ... but sure, let me have a look.
Me: Right so the BE are ... again ... sending down expired offers. Looks like the accepted tab isn't catching it and the homepage is.
Remote dev: Right i'll open a ticket for Android.
Me: ... and BE team.
Remote dev: why?
Me: ... because they once again have timezone issues. This keeps causing issues in random places. BE need to fix this everywhere.
Remote dev: right, i'll chat to them and see if they can fix it.
==========
Product: So this ticket xxxxx is clear right?
Me: eh, kind of, so you want us to add feature X to user type A?
Product: correct.
Me: right but I don't see anywhere talking about the time it will take to build the screen for feature X
Product: What do you mean the screen?
Me: ... well, feature X is only accessible on screen Y ... we would have to change screen Y to support user type A ... you know ... so they can ... use the feature
Product: .... hhhhmmm .... i suppose you are right. Well we can't just add screen Y, we'll have to add W and Z, it won't make sense without them.
Me: ... ok sure, but our estimates put us over for this quarter. I don't think we can just add in 3 screens.
Product: No this is a must have.
Me: Ok so we'll have to drop something else.
Product: hhhmmm, don't think we can ... let me get back to you.
==========
Backend team invited me to a meeting at 6am my time on Friday.
==========
... 2 hours into Monday ... there must be vodka around here somewhere -
So my HP laptop got a weird problem lately.
It doesn't charge when I plug in the charger(yes, i turned on the switch). So I began searching forums for a solution and then found out that there are so many people like me out there.
Then I was like ok, chill. There are many people like me, there must be a solution somewhere.
And after doing lots of research and trying all the solutions in the internet, the only thing that worked out is this ....
Step1 : turn on and the laptop and plug in the charger.
Step 2: Turn off the laptop.
Step 3: Now turn it back on and poof there you go, the laptop's charging.
And then I improvised the solution myself, which is u can replace the switch off part with Sleep which saved me some time.
And then whenever I try to show something my friends somethjng on my lap and the battery gets low, I do the ritual. For a brief moment their face becomes like dude I'm gonna kill you off, why the hell did u bring me here and now u r turning that off. And then I explain the history of my laptop.
Why HP whyyy ?12 -
Follow-up to https://devrant.com/rants/1551635
I think that I've found the reason for this Acer motherboard's refusal to boot up now. Apparently this featureful piece of shit expects "something" on its ID pin as well.. and why ID pin you may ask? I reckon that it's because of "certified replacements". Because you know, if it doesn't come from our shitty factorias it's gotta be shit, right?!
How about no?!! You Acer really aren't the only ones capable of producing a fucking lithium battery! And did you ever think of the edge cases where you may want to feed a lab bench power supply's voltage into the phone to mimic the battery and troubleshoot the bloody thing? Because that's what I initially wanted to do, instead of that Doogee battery. The only reason why I didn't is because the supply is currently charging up another lithium cell that I salvaged from a donated (broken) Samsung tablet, and is taking longer than expected.
Point is, if you receive the appropriate fucking level of angry pixies, YOU SHOULD FUCKING USE THEM AND BOOT UP ALREADY!!! Regardless of whether it's some sort of certified fucking Acer component or not! Somewhere between 4.2 and 2.7V stable should be good enough regardless of what produces it!
At least AliExpress sells these batteries for about €4.5, and another €2 for shipping. Considering that I can buy batteries with this capacity for €2 a pop and free shipping, this would better fucking work. Especially since I'm buying an overpriced battery of which almost half the cost is fucking shipping, just for a stupid "certified" controller that' I'll also have to put between the board and any pixie wrangler or angry pixie containment device that I use to power this shitty board. Acer, you motherfuckers!!!1 -
So, a few weeks ago I asked you guys what would you do if you were to quit your current job. I attempted a start-up with an old "friend" of mine.
He was very enthusiastic and hardworking at the beginning. However he received a job offer from somewhere and told me that he would work there just until we found the company officially and then quit and work full time on the project.
Well... I put around 300 hours into the project and developed the system, did most of my part according to the plan but the guy didn't deliver anything.
Turned out he had another secret partner whom he first introduced me as his mentor. I had my suspicions and suddenly shut down API servers, project management domain and mail server. Suddenly the quiet guy called me asking if I was alright and everything was fine.
Then, nothing happened. He went radio silence until I called him last night and he picked up the phone drunk and mumbled something like "I'm aware of you being a victim" then went to "you're passive aggresive" or something like that and I said nothing, just hung up.
I think you can figure out what went down on the other side and I'd like to hear your scenarios.
PS: now I have another start-up idea: I'm gonna pick up a flamethrower and burn the world while laughing histerically. Anyone who'd like to join is welcome.3 -
I am much too tired to go into details, probably because I left the office at 11:15pm, but I finally finished a feature. It doesn't even sound like a particularly large or complicated feature. It sounds like a simple, 1-2 day feature until you look at it closely.
It took me an entire fucking week. and all the while I was coaching a junior dev who had just picked up Rails and was building something very similar.
It's the model, controller, and UI for creating a parent object along with 0-n child objects, with default children suggestions, a fancy ui including the ability to dynamically add/remove children via buttons. and have the entire happy family save nicely and atomically on the backend. Plus a detailed-but-simple listing for non-technicals including some absolutely nontrivial css acrobatics.
After getting about 90% of everything built and working and beautiful, I learned that Rails does quite a bit of this for you, through `accepts_nested_params_for :collection`. But that requires very specific form input namespacing, and building that out correctly is flipping difficult. It's not like I could find good examples anywhere, either. I looked for hours. I finally found a rails tutorial vide linked from a comment on a SO answer from five years ago, and mashed its oversimplified and dated examples with the newer documentation, and worked around the issues that of course arose from that disasterous paring.
like.
I needed to store a template of the child object markup somewhere, yeah? The video had me trying to store all of the markup in a `data-fields=" "` attrib. wth? I tried storing it as a string and injecting it into javascript, but that didn't work either. parsing errors! yay! good job, you two.
So I ended up storing the markup (rendered from a rails partial) in an html comment of all things, and pulling the markup out of the comment and gsubbing its IDs on document load. This has the annoying effect of preventing me from using html comments in that partial (not that i really use them anyway, but.)
Just.
Every step of the way on building this was another mountain climb.
* singular vs plural naming and routing, and named routes. and dealing with issues arising from existing incorrect pluralization.
* reverse polymorphic relation (child -> x parent)
* The testing suite is incompatible with the new rails6. There is no fix. None. I checked. Nope. Not happening.
* Rails6 randomly and constantly crashes and/or caches random things (including arbitrary code changes) in development mode (and only development mode) when working with multiple databases.
* nested form builders
* styling a fucking checkbox
* Making that checkbox (rather, its label and container div) into a sexy animated slider
* passing data and locals to and between partials
* misleading documentation
* building the partials to be self-contained and reusable
* coercing form builders into namespacing nested html inputs the way Rails expects
* input namespacing redux, now with nested form builders too!
* Figuring out how to generate markup for an empty child when I'm no longer rendering the children myself
* Figuring out where the fuck to put the blank child template markup so it's accessible, has the right namespacing, and is not submitted with everything else
* Figuring out how the fuck to read an html comment with JS
* nested strong params
* nested strong params
* nested fucking strong params
* caching parsed children's data on parent when the whole thing is bloody atomic.
* Converting datetimes from/to milliseconds on save/load
* CSS and bootstrap collisions
* CSS and bootstrap stupidity
* Reinventing the entire multi-child / nested params / atomic creating/updating/deleting feature on my own before discovering Rails can do that for you.
Just.
I am so glad it's working.
I don't even feel relieved. I just feel exhausted.
But it's done.
finally.
and it's done well. It's all self-contained and reusable, it's easy to read, has separate styling and reusable partials, etc. It's a two line copy/paste drop-in for any other model that needs it. Two lines and it just works, and even tells you if you screwed up.
I'm incredibly proud of everything that went into this.
But mostly I'm just incredibly tired.
Time for some well-deserved sleep.7 -
I've told the same story multiple times but the subject of "painfully incompetent co-worker" just comes up so often.
I have one coworker who never really grew out of the mindset of a college student who just took "Intro to Programming". If a problem couldn't be solved with a textbook solution, then he would waste several weeks struggling with it until eventually someone else would pick up the ticket and finish it in a couple days. And if he found a janky workaround for a problem, he'd consider that problem "solved" and never think about it again.
He lasted less than a year before he quit and went off to get a job somewhere else, leaving the rest of our team to comb through his messy code and fix it. Unfortunately, our team is mostly split across multiple projects and our processes were kind of a mess until recently, so his work was a black box of code that had never been reviewed.
I opened the box and found only despair and regret. He was using deprecated features from older versions of the language to work around language bugs that no longer existed. He overused constants to a ridiculous degree (hundreds of constants, all of which are used exactly once in the entire codebase, stored in a single mutable map variable named "values" because why not). He didn't really seem to understand DRY at all. His code threw warnings in the IDE and had weird errors that were difficult to reproduce because there was just a whole pile of race conditions.
I ended up having to take a figurative hacksaw to it, ripping out huge sections of unnecessary crap and modernizing it to use recent language features to get rid of the deprecation warnings and intermittent errors. And then I went through the same process again for every other project he'd touched.
Good riddance. -
My first job was actually nontechnical - I was 18 years old and sold premium office furniture for a small store in Munich.
I did code in my free time though (PHP/JS mostly, had a litte browsergame back then - those were the days), so when my boss approached me and asked me whether I liked to take over a coding project, I agreed to the idea.
Little did I know at the time: I was supposed to work with a web agency the boss had contracted to build their online shop. Only that he had no plan or anything, he basically told them "build me an online shop like abc(a major competitor of ours at the time)"
He employed another sales lady who was supposed to manage the shop (that didn't exist yet). In the end, I think 80% of her job was to keep me from killing my boss.
As you can imagine, with this huuuuge amout of planning and these exact visions of what was supposed to be, things went south fast and far. So far that I could visit my fellow flightless birds down in the Penguin's republic of Antarctica and still need to go further.
Well... When my boss started suing the web agency, I was... ahem, asked to take over. Dumb as I was, I did - I was a PHP kid and thought that Magento, being written in PHP, would be easy to master. If you know Magento, you know that was maybe the wrongest thing I ever said.
Fast forward 3 very exhausting months, the thing was online. Not all of it worked yet, but it was online and fairly secure.
I did next to everything myself, administrating the CentOS box the shop was running on, its (own) e-mail server, the web server, all the coding required for the shop (can you spell 12 hour day for 8 hour pay?)
3 further months later, my life basically was a wreck, I dragged myself to work, the only thing I looked forward being the motorcycle ride home. The system worked though.
Mind you, I was still, at the time, working with three major customers, doing deskside support and some admin (Win Server 2008R2 at the time) - because, to quote my boss, "We could not afford a full time developer and we don't need one".
I think i stopped coding in my free time, the one hobby I used to love more than anything on the world, somewhere Decemerish 2012. I dropped out of the open source projects I was in, quit working on my browser game and let everything slide.
I didn't even care to renew the domains and servers for it, I just let it die without notice.
The little free time I had, I spent playing video games and getting drunk/high.
December 2013, 1.5 years on the job, I reached my breaking point and just left, called in sick at least a week per month because I just could not see this fucking place anymore.
I looked for another job outside of ALL of what I did before. No more Magento, no more sales, no more PHP. I didn't have to look for long, despite what I thought of my skills.
In February 2014, I told my boss that I quit. It was still seven months until my new job started, but I wanted him to know early so we could migrate and find a replacement.
The search for said replacement started in June 2014. I had considerably less work in the months before, looks like he got the hint.
In August 2014, my replacement arrived and I got him started.
I found a job, which I am still in, and still happy about after almost half a decade, at a local, medium sized ISP as a software dev and IT security guy. Got a proper training with a certificate and everything now.
My replacement lasted two months, he was external and never really did his job - the site, which until I had quit, had a total of 3 days downtime for 3 YEARS (they were the hoster's fault, not mine), was down for an entire month and he could not even tell why.
HIS followup was kicked after taking two weeks to familiarize himself with the project. Well, I think that two weeks is not even barely enough to familiarize yourself with nearly three years of work, but my boss gave him two days.
In 2016, the shop was replaced with another one. Different shop system, different OS, different CI. I don't know why and I can't say I give a damn.
Almost all the people that worked at the company back with me have left for greener pastures, taking their customers (and revenue) with them.
As for my boss' comments, instructions and lines: THAT might not be safe for work. Or kids. Or humans in general. And there wouldn't be much left if you put it through a language filter...
Moral of the story: No, it's not a bad thing to leave a place if you're mistreated there. Don't mistake loyalty with stupidity!
And, to quote one of my favourite Bands: "Nothing matters when the pain is all but gone" (Tragedy + Time by Rise Against).8 -
Story: A sudden pleasant realisation about myself...
Realized today that I have reached a level of Developer I always wanted to have reached.. A junior forgot his mouse, I gave him mine and took out old trusty hacky scroll from the cupboard, the junior brought batteries as a thank you, I told him thanks but there was no need, I have coded without a mouse and can do again if need be, no issues really... I have even used my phone over wifi as a mouse, I can dev as long as I have some form of something at my disposal... Had a meeting where I had to implement a feature for something that was mentioned in a meeting I was never invited for a bunch of months prior, that had to go live today, asked all the right questions, remained calm, tested like a pro and it was practically seamlessly inserted into the system by yours truly... I was proud of my work on a different level to be honest.. Had a difficult meeting with my manager, but kept really calm, stated the facts effortlessly and made him feel comfortable too, happy ending and happy resolution. Then I spent the ride home trying to project an fm station using my phone.. by the time we got home me and my colleague found a solution to be tested soon... It was only when I put my phone down after closing all my research tabs and deleting the apps used for the day that will not be needed tomorrow when I realised how awesome I seem to have become... Treating myself to a juicy burger and coke with gaming tonight. Something is bound to go sideways again sometime. But you know what, it seems like I'll be just fine.. Somewhere I seem to have become exactly who I wanted to be.. Now for further goals and higher aims while maintaining this person I only noticed today.2 -
!dev
So, I've been talking to this girl for a couple weeks now, and she fucking makes me happy guys. I kinda mentioned her once or twice on here, but I didn't really want to say much cause I wasn't sure how stuff was gonna go with her.
But basically now, we're just "talking" if that makes any sense to any of the younger, more social audiences here. For those who may not get what I mean, it's like we're not really looking for anyone else, but we're not really official or anything. Just somewhere in between like friends and dating (she confirmed this for me cause I've made assumptions before and got hurt so I wanted everything to be crystal clear)
I actually met her because she has a class with one of my friends. I mentioned their class in my contribution to the weekly rant this week, where the graphic design class was doing some basic webdev. I skipped my anatomy class to go there one day, started talking to her (actually the day of my rant where I said I'd been up for like ~30 hours or however many it was. LIKE EVERYTHING I POST ENDS UP REFERENCED IN ANOTHER POST), and just kept skipping mainly to see her. Then my friend gave me her Discord and we started actually talking to each other.
Within like 2 hours of us first messaging we had one of those like cute couple arguments. It was over who had prettier eyes, cause I have blue eyes (that people usually say are beautiful, I posted a couple pictures here once), and she has really pretty green eyes. I said that hers looked better, but she said that mine do....She won the argument.
Since then, it's just been fun and cute and I fucking love it. SHE EVEN SAID A PICKUP LINE TO ME A FEW NIGHTS AGO THAT I JUST LOVED. It was "your eyes are more gorgeous than any source code I have ever seen". She found it online, but like at the time, that really touched me.
I'm just so excited about all this guys. She's adorable and I love talking to her. The one thing that's KINDA weird is that she has the same name as my younger sister, but we call my sister a shortened version of the name, so it's not THAT weird.
And I'm just rambling at this point, like I generally do with my rants. She actually knows my profile name and everything (but she isn't on here, she does art, not computers), so she could possibly see this, but I'll likely end up sending it to her at some point anyways.7 -
One of the more memorable computer problems I solved were when I added some lego blocks to solve a recurring windows bluescreen
A friend had a Pentium 3 (slot 1) that kept throwing him several bluescrens per day so I decided to help
I open up the computer and saw that the processor were not properly securred in it's place and the plastic pieces that should have holding it in place were gone, so I improvised pressing in some lego pieces that I found somewhere to secure that the processor didn't move if someone were walking close to the computer and after that he didn't have any more bluescreens than the rest of us4 -
I’m trying to add digit separators to a few amount fields. There’s actually three tickets to do this in various places, and I’m working on the last of them.
I had a nightmare debugging session earlier where literally everything would 404 unless I navigated through the site in a very roundabout way. I never did figure out the cause, but I found a viable workaround. Basically: the house doesn’t exist if you use the front door, but it’s fine if you go through the garden gate, around the back, and crawl in through the side window. After hours of debugging I eventually discovered that if I unlocked the front door with a different key, everything was fine… but nobody else has this problem?
Whatever.
Onto the problem at hand!
I’m trying to add digit separators to some values. I found a way to navigate to the page in question (more difficult than it sounds), and … I don’t know what view is rendering the page. Or what controller. Or how it generates its text.
The URL is encrypted, so I get no clues there. (Which was lead dev’s solution to having scrapeable IDs instead of just, you know, fixing them). The encryption also happens in middleware, so it’s a nightmare to work through. And it’s by the lead dev, so the code is fucking atrocious.
The view… could be one of many, and I don’t even know where they are. Or what layout. Or what partials go into building it.
All of the text on the page are “resources” — think named translations that support plus nested macros. I don’t know their names, and the bits of text I can search for are used fucking everywhere. “Confirmation number” (the most unique of them) turns up 79 matches. “Fee” showed up in 8310 places before my editor gave up looking. Really.
The table displaying the data, which is what I actually care about, isn’t built in JS or markup, but is likely a resource that goes through heavy processing. It gets generated in a controller somewhere (I don’t know the resource name so I can’t find it), and passed through several layers of “dynamic form” abstraction, eventually turned into markup, and rendered as a partial template. At least, that’s how it worked in the previous ticket. I found a resource that looks right, and there’s only the one. I found the nested macros it uses for the amount and total, and added the separators there… only to find that it doesn’t work.
Fucking dead end.
And i have absolutely nothing else to go on.
Page title? “Show”
URL? /~LiolV8N8KrIgaozEgLv93s…
Text? All from macros with unknown names. Can’t really search for it without considerable effort.
Table? Doesn’t work.
Text in the table? doesn’t turn up anything new.
Legal agreement? There are multiple, used in many places, generates them dynamically via (of course) resources, and even looking through the method usages, doesn’t narrow it down very much.
Just.
What the fuck?
Why does this need to be so fucking complicated?
And what genius decided “$100000.00” doesn’t need separators? Right, the lot of them because separators aren’t used ANYWHERE but in code I authored. Like, really? This is fintech. You’d think they would be ubiquitous.
And the sheer amount of abstraction?
Stupid stupid stupid stupid stupid.11 -
Today was just marvelous. Locked up my car with keys inside and with engine on.
I was driving back home from work. I drove to a parking near home, which is really long, narrow and impossible to turn around. So I decided to get out of a car, for like, 30 secs and go check, if there were any unoccupied parking places. Parking brake; I stepped out of the car and closed the door. Click.
Brilliant.
I knew, that I needed to change contacts in the driver door, that sometimes were triggering central car lock, but I didn't expecting such outcome.
So, I am outside.
Engine is on.
Parking brake.
My backpack and phone were inside.
Luckily, one neighbor wanted to drive somewhere, so I explained, why he can't donit, why my car is here and asked to watch my car for 5 mins while I will run home.
So I ran home in home to find a second pair of keys.
After some time, LUCKILY, I found them, went back and unlocked my car...
Moral: don't delay things.. Small fixes to prolong life of some object will eventually fail in very, very uncomfortable manner.
I'm glad I found spare keys and there were no need to break my own car window... And I DO care about my car and do lot of things by myself.1 -
!rant / funny
Here is something I saw online while in bed, made me laugh so much cried myself to sleep.
Reminded me of the time my mgr pushed me to make an android app despite me having no prior exp then getting snippy when the end results weren't up to it...
A game designer wanted to commission some conceptual artwork about monsters.
He asked the freelance artist to make him something kinda unique but not too far off, something like a mix between a centaur and a minotaur
The artist unfamiliar with that kinda work asked for more details, the designer said ah just mix em together , its easy, half bull half man and the other half man half horse (already incorrect) and he sent the man off to work.
A couple days later the artist is back...
Here its done, had to look up the monsters online but here ya go....
game designer : wtf is is ?!😡
Arist: half centaur half mino... whats wrong?! 😒
Designer: yeah but you got the wrong halves you dimwit!
you gave me a half "man-half-another-man" creature 😡
Disclaimer:
I found the image somewhere online with not much of any context or history .
I just know it was the product of a massive miscommunication 😂so I patched the story up for this rant1 -
I wrote a node + vue web app that consumes bing api and lets you block specific hosts with a click, and I have some thoughts I need to post somewhere.
My main motivation for this it is that the search results I've been getting with the big search engines are lacking a lot of quality. The SEO situation right now is very complex but the bottom line is that there is a lot of white hat SEO abuse.
Commercial companies are fucking up the internet very hard. Search results have become way too profit oriented thus unneutral. Personal blogs are becoming very rare. Information is losing quality and sites are losing identity. The internet is consollidating.
So, I decided to write something to help me give this situation the middle finger.
I wrote this because I consider the ability to block specific sites a basic universal right. If you were ripped off by a website or you just don't like it, then you should be able to block said site from your search results. It's not rocket science.
Google used to have this feature integrated but they removed it in 2013. They also had an extension that did this client side, but they removed it in 2018 too. We're years past the time where Google forgot their "Don't be evil" motto.
AFAIK, the only search engine on earth that lets you block sites is millionshort.com, but if you block too many sites, the performance degrades. And the company that runs it is a for profit too.
There is a third party extension that blocks sites called uBlacklist. The problem is that it only works on google. I wrote my app so as to escape google's tracking clutches, ads and their annoying products showing up in between my results.
But aside uBlacklist does the same thing as my app, including the limitation that this isn't an actual search engine, it's just filtering search results after they are generated.
This is far from ideal because filter results before the results are generated would be much more preferred.
But developing a search engine is prohibitively expensive to both index and rank pages for a single person. Which is sad, but can't do much about it.
I'm also thinking of implementing the ability promote certain sites, the opposite to blocking, so these promoted sites would get more priority within the results.
I guess I would have to move the promoted sites between all pages I fetched to the first page/s, but client side.
But this is suboptimal compared to having actual access to the rank algorithm, where you could promote sites in a smarter way, but again, I can't build a search engine by myself.
I'm using mongo to cache the results, so with a click of a button I can retrieve the results of a previous query without hitting bing. So far a couple of queries don't seem to bring much performance or space issues.
On using bing: bing is basically the only realiable API option I could find that was hobby cost worthy. Most microsoft products are usually my last choice.
Bing is giving me a 7 day free trial of their search API until I register a CC. They offer a free tier, but I'm not sure if that's only for these 7 days. Otherwise, I'm gonna need to pay like 5$.
Paying or not, having to use a CC to use this software I wrote sucks balls.
So far the usage of this app has resulted in me becoming more critical of sites and finding sites of better quality. I think overall it helps me to become a better programmer, all the while having better protection of my privacy.
One not upside is that I'm the only one curating myself, whereas I could benefit from other people that I trust own block/promote lists.
I will git push it somewhere at some point, but it does require some more work:
I would want to add a docker-compose script to make it easy to start, and I didn't write any tests unfortunately (I did use eslint for both apps, though).
The performance is not excellent (the app has not experienced blocks so far, but it does make the coolers spin after a bit) because the algorithms I wrote were very POC.
But it took me some time to write it, and I need to catch some breath.
There are other more open efforts that seem to be more ethical, but they are usually hard to use or just incomplete.
commoncrawl.org is a free index of the web. one problem I found is that it doesn't seem to index everything (for example, it doesn't seem to index the blog of a friend I know that has been writing for years and is indexed by google).
it also requires knowledge on reading warc files, which will surely require some time investment to learn.
it also seems kinda slow for responses,
it is also generated only once a month, and I would still have little idea on how to implement a pagerank algorithm, let alone code it.4 -
I'm out of my mind bored. I'm an unemployed person with a great job. You'd think this would be awesome. It's torture.
I work for a consulting company. I get paid whether or not they have work for me. They haven't for several months. I'm not hearing anything. I don't know when it will change.
I'm a skilled developer in a few very popular languages - nothing remotely in the ballpark of old or obsolete. I hear that's in demand. I spend most of my time answering questions on Stack Overflow. I really like to help people, but it boggles my mind that the people struggling with the stuff I help them with all have actual work to do and I don't.
I like to learn about new stuff, but I'm just not interested in learning another framework or anything else to add to the giant pile of stuff I'm already not using. It's not fun anymore.
I don't want to do another side project, either. I have a job as a software developer. That should, at some point, involve developing some software.
This is sucking the life out of me. It's harder and harder to get out of bed and come to work. I've held off looking for another job because I'm hoping this will change. The people here are great. I could go somewhere else and it could suck for completely different reasons.
Ironically, this is close to the reason why I left my last job. Ten years ago I went through a spell where I just gave up and stopped coming to work for over a month. No one noticed. Other people were stressed about getting laid off. Some of them were. Not me.
Am I part of some weird experiment to see how insane someone can go in this totally screwed-up circumstance? Are people following me around with cameras?
I'd love to find something else, but by all outward appearances I had already found an awesome place to work. There's only one thing missing - the work.
Thanks for listening. I'm just going to put my head on my desk for a while and despair. What is wrong with this industry? We're a mess on so many levels.12 -
So I found this consulting job a while ago thinking that some extra cash while studying would be nice to have.
I meet with the guy, a researcher trying to start a business up, good for him I think, maybe we'll hit it off, continue working, why not? Except he has no clue how to write working code, all he ever did was writing matlab scripts he says, thats why he hired me he says.
Okay, fine, you do your job I do mine.
He hands me the contract, its about comparing two libraries, finding out which one is better suited for his job, cool, plots and graphs everywhere.
Except this is an unpaid job. YOU WHAT?! It's a test job. FINE. At least it'll look good on my resume.
We talk about the paid part where I'm supposed to scale the two libraries, looks good, as expected from an ML engineering perspective. It comes to payment. The dude has no idea how taxes work, says he has a set amount to pay and not a penny more. I explain with examples how taxes are paid, how you get reimbursed for them and so on. Won't budge. Screws me over.
Opens the door for other jobs I think, he'll learn next time I think and take the job.
Fast forward a month, 90% of the job done, he adds a third thing to compare. Gives a github link to a repo with 2 authors, last commit a year ago. There are links to a 404, claiming compiled jars. Fuck.
Not my first rodeo, git clone that shit, make compile, the works. The thing uses libs that ain't in no repo, that would be too easy. Run, error, find lib, remake all the things, rinse repeat.
The scripts they got have hardcoded paths and filenames for 2 year old binaries, remake that shit.
It works, at least I get a prompt now. Try the example files they got, no luck, some missing unlinked binary somewhere, but not a name mentioned. Cross reference the shit outta the libs mentioned on readme, find the missing shit, down it.
Available versions are too new, THE MOLDING NUTCRACKER uses some bug in an old version of the lib.
I give up. Fuck this. This ain't worth the money OR time. Wanker... -
4th grade. My parents left for the night and got a babysitter for me and my younger siblings. The babysitter showed me a game she likes in IE. You could make an account, raise a digital pet, a "neopet," play flash games for points to buy items from other users who listed them in their own stores that had custom css/html, including bg music. This was the first time I had really witnessed what the web could look like. Animated tiled gif bgs really amazed me so I took to google with which I discovered sites where one could copy css and html snippets for themes. I stored each new html tag I discovered via w3cschools.com in a powerpoint where the snippets I found were pasted somewhere randomly in the ppt. From there I learned html, CSS, and a billion other things. To date I've made websites, apps with several langs in win/Linux/osx/Android (but not ios yet). I've managed servers, and databases , and DNS records. I've in even ran website with 100k requests a day.3
-
!dev
I'm doing some solo karaoking again but with some oldies that I haven't sung in probably 10-15 years. Not my usual song track.
And since I'm deaf, I can't hear the tune, just see the timed words. And just found it interesting the general tune can be recalled at first at all.
Then after a few times, I started remembering how some of the actual singers sound like. But still stumble a bit on some parts.
And then a few weeks. And I have another session and somehow I can pretty much lip sync it with all the emotions and almost perfectly I think.
I just found it strange and wanted to write this down somewhere while I still remember it. And I guess that's sorta the point. Feels like the mind/subconscious to remember things really well but recalling them at either the right moment or randomly....
Anyone else have similar experiences? Wanna share?3 -
Tl:dr Guy acts like a moron and is useless in group tasks.
In my class there is this one guy, that I'll just call carl. Now Carl do some stuff that irritates me, but is harmless. Things like repeat the answer he get's every time he asks a question. I fucking hate it, but it's okay. He also says some pretty stupid stuff. Like today when he asked why Ubuntu started when he turned on a computer, the guy next to him simply said because it's installed while I facepalmed.
Carl does even worse things than that. I was asked to work with Carl on a group task.
Now I hate talking in front of people, so we decided that I would do the writing and he would speak to the rest of the class.
I made a word document containing what he had to say, but we also wanted a PowerPoint presentation to make it look better and so the other could get read the basics on what we we were presenting.
Carl decided that he could create the PowerPoint presentation, and I thought why not. The thing I didn't expect was that Carl would install Ubuntu on his laptop, without saving the presentation somewhere else. In other words HE FUCKING DELETED IT.
But it's fine he could just create it using a program that isn't PowerPoint. OH WAIT OF COURSE CARL FOUND A WAY TO TO FUCK THIS. The next time we had that subject he came without his laptop (we use our laptops in all our courses) because he managed to make it unusable, although he fixed it a few days later.
At that point I said fuck it and created the presentation myself.
At this point I didn't trust Carl with anything sharper than a spoon and decided, against our previous, plans to present it with him. Now I sent him the Word and PowerPoint documents so he would now what to say and what the class was going to see.
THIS GUY DECIDED TO JUST READ WORD FOR WORD OF THE POWERPOINT AKA NOT THE THING I ASKED HIM TO DO. So half the the time it was me going into slight detail about advertisement on the net and how people finding your company on google helps to sell products, AND THE OTHER WAS HIM SAYING A FEW WORDS. JESUS CHRIST, Carl basically didn't do shit yet he acted like he did. That's something that really makes me mad.2 -
Blue Robotics
This company makes underwater thrusters for submarine applications. With their first thruster they made it easy to make a homemade submarine. The motor was powerful, the thruster just worked. They even had a promotional where they created an automated surfboard that made it from hawaii to somewhere in california with one of their thrusters pushing it there the entire way. It was a great product.
Then they created the next version. This was the same thruster, but it had an ESC(Electronic Speed Controller) sealed in an aluminum puck on top of the motor. This ESC could be controlled by servo controls, or by plugging it into an i2c bus. You could pull different stats off of the motor over i2c it sounded great. So my robotics team trusted this company and bought 8 motors at $220 - $250 bucks each. We lightly tested them since we had not even finished the robot yet. One week before the competition our robot got completely put together and we did our first few tests.
Long story short, Us and 22 other teams did roughly the same thing. We bought these motors expecting them to work, but instead the potted aluminum ESCs were found defective. Water somehow got into the completely resin sealed aluminum puck and destroyed the ESC. We didn't qualify that year due to trusting a competition sponsor to deliver a good product. I will admit that it was our fault for not testing them before going to the competition. Lessons were learned and an inherent distrust of every product I come across was developed. -
I'm crying-
And idk if I'm crying from it being so funny or so sad...
Forwarded to me by my boss, found somewhere on the internet, creds to who made it1 -
Does most memorable in a bad way count? 🤔
He left almost 2 years ago..or even more.. left a bunch of bugs and logical fuckups for me to fix.. some already fixed, some still lingering there..
I want to not blame him for everything, since we lack proper code review protocols and all.. but I've asked on several occasions if he understands the problem and what must be done..and the answer was always yes..results, after I got time to check up on him, the code he wrote was most probably copy pasted from stack overflow or somewhere else.. butchered in any and every way possible..
And of course already checked in to TFS.. along with bunch of files that were not even changed (he didn't bother to check that and exclude them) + a bunch of files from other projects... Told him to not do that on several occasions too, but he still managed to fuck things up this way.. leaving all the uncommented debugger; crap and alerts in the js files..
On one occasion I was working on new GUI..api part I already finished..got the order from above to delegate this to him as it is not much he can fuck up so I could focus on more important & complex stuff..
Maybe additional 4h of work + testing for everything..
I show him the prepared files, one controller, one view..explained what parts of code goes where etc.. a little short of writing everything myself.. Ask if he understands what needs to be done & how and told him if he has any problems/questions to ask me asap..
Said he understood what needs to be done.. after a day or two he asks me why something is not workig as expected.. I check the files, correct initialization was commented out and all the code was stuffed in the view file.. Took him another day to move the code to proper files.. Not sure about the possible bugs left there as the client later decided that they will not be using this..
I later found out that years of C# experience on his CV was actually a school course.. he didn't even know why the changes on api are not showing up..because he didn't know that he has to build the code..
I mean, if he was honest when asked about experience with .net, we would've taken a month or two to just explain everything from the start..
But as he didn't and based on his CV (much more experience with .net than me) and 'I understand everything' attitude from the start I assumed he knows WTF was he doing..
Boy was I wrong..
He was also more interested in how much I get payed and if I have a company phone etc..than actually doing his job.. I fucking hate chit chat, and this..well.. he didn't get the hints that this is in no way appropriate to ask.. I've told him that if he has problems with his pay and bonuses that he should talk to the management and not me about this..and that I'm only interested in his actual work and progress..
So yeah, I'll definitely be remembering this guy till the day I die..3 -
Bug I had to fix today: some elements in our React app were being swapped with other elements.
We had `<foo>bar</foo>` on the component but on the html `foo` was being swapped with some other element in our app. It's contents ("bar" in the example) were being left in place, though, so we were getting `<baz>bar</baz>`.
This would only happen when running on production mode. On development everything was fine.
Also, everything seemed fine on the React dev tools. `foo` was where it was supposed to be, but on the html it was somewhere else.
Weirdest shit I ever saw when using React. I found a way to go around it and applied that fix, but I'm still trying to track this down to the source.
The worst part was waiting for fucking webpack to finish the production bundle on every fucking change I wanted to test. I didn't miss the change-save-compile-test flow at all.
What a shit day.4 -
In today's episode of kidding on SystemD, we have a surprise guest star appearance - Apache Foundation HTTPD server, or as we in the Debian ecosystem call it, the Apache webserver!
So, imagine a situation like this - Its friday afternoon, you have just migrated a bunch of web domains under a new, up to date, system. Everything works just fine, until... You try to generate SSL certificates from Lets Encrypt.
Such a mundane task, done more than a thousand times already... Yet... No matter what you do, nothing works. Apache just returns a HTTP status code 403 - Forbidden.
Of course, what many folk would think of first when it came to a 403 error is - Ooooh, a permission issue somewhere in the directory structure!
So you check it... And re-check it to make sure... And even switch over to the user the webserver runs under, yet... You can access the challenge just fine, what the hell!
So you go deeper... And enable the most verbose level of logging apache is capable of - Trace8. That tells you... Not a whole lot more... Apparently, the webserver was unable to find file specified? But... Its right there, you can see it!
So you go another step deeper and start tracing the process' system calls to see exactly where it calls stat/lstat on the file, and you see that it... Calls lstat and... It... Returns -1? What the hell#2!
So, you compile a custom binary that calls lstat on the first argument given and prints out everything it returns... And... It works fine!
Until now, I chose to omit one important detail that might have given away the issue to the more knowledgeable right away. Our webservers have the URL /.well-known/acme-challenge/, used for ACME challenges, aliased somewhere else on the filesystem - To /tmp/challenges.
See the issue already?
Some *bleep* over at the Debian Package Maintainer group decided that Apache could save very sensitive data into /tmp, so, it would be for the best if they changed something that worked for decades, and enabled a SystemD service unit option "PrivateTmp" for the webserver, by default.
What it does is that, anytime a process started with this option enabled writes to /tmp/*, the call gets hijacked or something, and actually makes the write to a private /tmp/something/tmp/ directory, where something... Appeared as a completely random name, with the "apache2.service" glued at the end.
That was also the only reason why I managed fix this issue - On the umpteenth time of checking the directory structure, I noticed a "systemd-private-foobarbas-apache2.service-cookie42" directory there... That contained nothing but a "tmp" directory with 777 as its permission, owned by the process' user and group.
Overriding that unit file option finally fixed the issue completely.
I have just one question - Why? Why change something that worked for decades? I understand that, in case you save something into /tmp, it may be read by 3rd parties or programs, but I am of the opinion that, if you did that, its only and only your fault if you wrote sensitive data into the temporary directory.
And as far as I am aware, by default, Apache does not actually write anything even remotely sensitive into /tmp, so...
Why. WHY!
I wasted 4 hours of my life debugging this! Only to find out its just another SystemD-enabled "feature" now!
And as much as I love kidding on SystemD, this time, I see it more as a fault of the package maintainers, because... I found no default apache2/httpd service file in the apache repo mirror... So...8 -
Okay. I’m upset. So the recent .NET update Microsoft put out fried SharePoint which I am currently the main point of contact for at our company. In addition, my only current projects are creating workflows.
I was publishing a workflow and got an error. I googled the error and found that it was the .NET update that caused it. Internet says to edit the web.config file for your web apps and it will be good to go. I go to our networks guy (only available supervisor) and explain what happened and ask about the recent patch and whether this could be the cause. He says that his team doesn’t actually handle the patches so I should speak with the HelpDesk lead (don’t ask).
I go to the HelpDesk lead and explain the situation, explain the solution and ask for what to do next. Keep in mind that this whole thing takes two hours because it’s Friday and everyone is out and I can’t do any of my work while I’m waiting on this. HelpDesk lead says “you have an admin account, I trust you. Go fix it” so I think uh okay.... I’m a junior and not even technically an IT person but sure. I know how to do it - but got nervous about fucking it up because our entire organization uses Sharepoint.
Nevertheless I go to my desk and look for the root directories and find that they’re on a server somewhere that I have no access to. I message the Helpdesk guy and tell him this and he says to talk to the developer supervisor. Great! He’s super nice and helpful and will totally understand! Only he’s not in. Neither is half of his team.
I go to his team and look around and find nobody but realize I may be able to catch one of the guys I know and work with in the break room. I start leaving and am stopped by a developer who is generally nice and funny. I explain the situation and he says “you... YOU need to edit a config file?” And scoffs. He demands to see what I’m talking about.
I walk him to my machine and show him what’s going on and all the research I did. I start to realize he thinks I’m overstepping and I begin to apologize and explain the details to why I was asked to do it and then I say “I really shouldn’t even be the one doing this” he says “no you should not. This isn’t getting done today. Put in a request, include your research and we will see what we can do when the supervisor gets back next week”
His tone was like I was in trouble and I know that I’m not, but it’s my goal to end up on that team and I just feel like shit about this whole situation. To top it off my boss pulled me off of two projects because of unrelated issues (and nothing to do with me) so I have basically nothing to do and I just feel very discouraged. I feel dumb and like I should have gone to the developers first. I just wanted to make it easy on everyone and do my research. I feel like I keep being put in situations above my level (I’m one of two juniors in a 16 person shop, the other one is an intern) and then “getting in trouble” for working beyond my scope.
Anyways.... fuck Microsoft4 -
omg omg omg. I just found out rebrickable has an all inclusive Lego pieces and sets database updated monthly FREE and under a CC license!! And their API is also available for use under CC. And I'm so excited I could pee because this just made it possible for me to jump right in on a personal project I've been wanting to start and my SO/friends just look at me and smile politely when I try to explain to them what a goldmine it is to find a library that does exactly what you need and is free too. So I needed to come somewhere and share my news and know I'd be understood. <38
-
More of a rave than a rant.
My Dad was having some trouble with a game disconnecting on the PS4 and he read somewhere that it might be a problem with our home router. I didn't think it would be, as every other game works fine. But there was no talking him out of it. And to be fair the current router WAS kind of old.
So I have a look at the one he's decided to buy and it's some massive triple-antenna beast for well over a hundred pounds. I felt like such a weapon might be overkill for 2 people in a house, but did say that it would definitely help with connection issues in some rooms and I kind of wanted to play with it.
So he got it and oh am I glad he did. It has so many fun toys, including a built in VPN. Right now I live abroad so there's a few services I used at home that I can't access, I was literally just considering buying a vpn the other day. I found this while setting up port-fortwarding for my Raspberry Pi to run a discord bot I'm building. I had condisered putting a VPN server on the Pi but this works too!
It also has built in DDNS from ASUS, which IS cool, but our IP hasn't changed in years so I'm not sure we'll need it. I set it up anyway just in case though!4 -
"could you fix my computer this weekend?"
hmpf...
"kay"
"i already found an infected File and removed it"
"WHAT?"
"yes, Windows tried to prevent me from deleting but I opened console and removed it"
"where was it?"
"somewhere it a folder called System or so"
HOLY FUCK WHY CANT YOU JUST LEAVE IT AS IS IF YOU DONT KNOW WHAT YOU EXACTLY DO????2 -
I used to think that I had matured. That I should stop letting my emotions get the better of me. Turns out there's only so much one can bottle up before it snaps.
Allow me to introduce you folks to this wonderful piece of software: PaddleOCR (https://github.com/PaddlePaddle/...). At this time I'll gladly take any free OCR library that isn't Tesseract. I saw the thing, thought: "Heh. 3 lines quick start. Cool.", and the accuracy is decent. I thought it was a treasure trove that I could shill to other people. That was before I found out how shit of a package it is.
First test, I found out that logging is enabled by default. Sure, logging is good. But I was already rocking my own logger, and I wanted it to shut the fuck up about its log because it was noise to the stuffs I actually wanted to log. Could not intercept its logging events, and somehow just importing it set the global logging level from INFO to DEBUG. Maybe it's Python's quirk, who knows. Check the source code, ah, the constructors gaves `show_log` arg to control logging. The fuck? Why? Why not let the user opt into your logs? Why is the logging on by default?
But sure, it's just logging. Surely, no big deal. SURELY, it's got decent documentation that is easily searchable. Oh, oh sweet summer child, there ain't. Docs are just some loosely bundled together Markdowns chucked into /doc. Hey, docs at least. Surely, surely there's something somewhere about all the args to the OCRer constructor somewhere. NOPE! Turns out, all the args, you gotta reference its `--help` switch on the command line. And like all "good" software from academia, unless you're part of academia, it's obtuse as fuck. Fine, fuck it, back to /doc, and it took me 10 minutes of rummaging to find the correct Markdown file that describes the params. And good-fucking-luck to you trying to translate all them command line args into Python constructor params.
"But PTH, you're overreacting!". No, fuck you, I'm not. Guess whose code broke today because of a 4th number version bump. Yes, you are reading correctly: My code broke, because of a 4th number version bump, from 2.6.0.1, to 2.6.0.2, introducing a breaking change. Why? Because apparently, upstream decided to nest the OCR result in another layer. Fuck knows why. They did change the doc. Guess what they didn't do. PROVIDING, A DAMN, RELEASE NOTE. Checked their repo, checked their tags, nothing marking any releases from the 3rd number. All releases goes straight to PyPI, quietly, silently, like a moron. And bless you if you tell me "Well you should have reviewed the docs". If you do that for your project, for all of your dependencies, my condolences.
Could I just fix it? Yes. Without ranting? Yes. But for fuck sake if you're writing software for a wide audience you're kinda expected to be even more sane in your software's structure and release conventions. Not this. And note: The people writing this, aren't random people without coding expertise. But man they feel like they are.5 -
I think the author of Mythical Man Month would be interested to see how wildly popular devRant has become. Maybe we are all optimists when we start out programming, but once you expose us to clients, PMs and deadlines. Well.. we're going to need somewhere to rant.
(and in case you haven't yet had the pleasure of reading it):
All programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers. Perhaps the hundreds of nitty frustrations drive away all but those who habitually focus on the end goal. Perhaps it is merely that computers are young, programmers are younger, and the young are always optimists. But however the selection process works, the result is indisputable: 'This time it will surely run,' or 'I just found the last bug'
( The Mythical Man Month ).
- Frederick Brooks, Jr. -
I just found this in my "Religious views" info on FB, thought I would share it even tho it's just a paste from somewhere. Don't slaughter me if this is a reoccuring thing on here😂
THE 0x17'RD PSALM
The Computer is my taskmaster; I need not think.
He maketh me to write flawless reports
He leadeth me with Computer-Aided Instruction
He restoreth my jumbled files
He guideth me through the program with menus.
Yea, though I walk through the valley of
the endless GOTO,
I will fear no error messages;
For thy User's Manual is with me.
Thy disk drive and thy Pac-Man-they comfort me.
Thou displayest a spreadsheet program before me
in the presence of my supervisor.
Thou enableth the printout;
the floor runneth over (with paper).
Surely good jobs and good pay shall follow me
All the days of my life;
And I shall access your CPUs, forever.1 -
I am currently signing up for a college and need to accept some rules. First of all I have to accept some rules concerning some IT stuff. These rules should be found on their website. But they are nowhere to be found. At least they have a search function. Using this function I was able to find some old websites that did not even include the terms I searched for.
One search result pointed to a PDF viewer with the error message 'Failed to load PDF document.'. Assuming that the actual pdf document is somewhere referenced in the source, I open up the DevTools and search for 'pdf'. Quickly I found a fucked up URL ending in 'pdf'. Somehow the domain name repeated twice. This probably caused the prior mentioned error message. After copying and fixing the link I can finally read the (7 years old) rules.
Maybe this is a requirement to find these rules to be able to sign up.?1 -
Struggling with Linux driver bullshit today. Trying to update the graphics driver completely hosed the networking, second monitor (HDMI), and I assume a bunch of other stuff. I tried using the Additional Drivers utility and it nearly made my system non bootable. So on my second computer I had to look up how to unfuck my machine using the command line. Yet another classy set of bullshit from Gnome. The driver for all this was trying to fix some java programs that show wonky depending upon where the window is on my second display. After unfucking the machine I found that resetting all the display settings for both displays magically fixed the java program fuckery. How the fuck? Literally setting things like display resolution, default display, moving virtual displays around. This bullshit somehow fixed display problems with java apps.
So I decided there is a perfect OS out there somewhere, but it isn't iOS, it isn't Windows and it isn't Linux. I decided to make the Perfect OS, or P-OS for short. Gonna use P-OS as a fake OS in my games I make. lol15 -
About 4-5 hours ago I wanted to make simple websocket to get input from textarea and parse it on server and somehow got myself into developing in asyncio -> aiohttp -> graphql-core -> graphql-ws -> aioredis
and svelte-> typescript
I still didn’t make the stuff I wanted but I’m very close on backend at least.
I have some frontend part somewhere in my old prototypes so it will be faster if I figure out svelte.
Still don’t understand what the fuck just happened.
Maybe it’s because I wanted try those frameworks for a long time.
All ‘simple’ examples I found have around 20-30 files for backend and same amount for frontend so more then 50 files to get this shit working.
They’re called oh irony “simple chat”.
Now I see why no one fucking understands this shit.
I’m trying to cut mine to 5 files.
I thought developers are lazy bastards who don’t like write code.
But now after this they’re all looking like adhd coders.
Looks like Monday won’t be my best day.9 -
tl;dr. web hosting && a panic attack && security threat
i wasn't sure whether my brother's domain was hosted or not (because it wasnt showing a website and he didnt know any better).
so i decided to host a react-app for it on netlify and pointed the domain's nameservers towards it (a separate security threat at bottom).
all went well and now when you punch in the domain it ..all-behold.. shows a website.
NOW, i remember my brother was using the domain's email which probably means it was hosted, right?. so im panicking because im not sure whether i just deleted all his emails or not because it's 1:15 am and he's asleep.
there is a rant in there somewhere but im in too much of a shock as to how much data i might have just accidentally deleted
.
.
another tl;dr: my domain registrar let me change someone else's settings..
the reason i didnt know his domain settings is that he didnt know his password.
i had bought a couple of domains and was gonna host them on netlify. while i was doing this a bright idea hit me.. "you should finally build a website for your brother for the domain he bought 7 years ago"..
this is where the fun begins.
i sent an email to my registrar to point all nameservers of all domains to my nameservers and just to try out i included my brother's domain into it (i dont own this domain it's not registered by my email), and the next day i get an email telling me they've successfully made all changes.
.
Now tomorrow is monday and i'm going to their office to tell them i found a security flaw and see how long i can stall before actually telling them what it was and how their live's could've been made hell.3 -
tldr: Fuck Adobe Premiere
What the flying fuck.
I have a school project together with a friend and decided to do a video. Not only do we now only have one fucking day left, because the teacher decided we dont need time or anything, but I have to learn video editing software, record clips and create the video withing one fucking day.
I've downloaded Premiere because I have a 7 day trial left and had Creative Cloud on my PC and WHAT THE FUCK kind of fucked up bullshit software is this human compiled piece of shit?! I needed to google how to add text and edit it because adding text gives you absolutely nothing, you get no possibility to edit the text in any way, except the content. After googling for 10 minutes because I have the newest version and they changed the text tool, I found out that you need to go to another tab... of which there is 7 and all have such telling names like: "Effects" and "Compose"...
I needed to go to "Effects" BECAUSE WHY THE FUCK NOT, TEXT SURE LOOKS LIKE AN EFFECT TO ME! Then I wanted to align it to the right so its on 50% of the screen. You fucking cant, I've tried and looked for an hour the only possibility you have is to align it to the center or just throw it somewhere. The snapping didn't even work correctly. So I tried to do something else because I was ready to punch a kitten.
A box. A box thats black. A box thats black and thats aligned to the... FUCK YOU, YOU CANT ALIGN THIS BOX.
I cant align a box...
They dont even give me the possibility to...
But I can align the text BOX, not even the FUCKING TEXT itself...
What
The
Fuck
This is the worst program I've EVER had to use. I'm fucking mad and this fucking project can FUCK ITSELF.19 -
Is it OK to punch a game dev who codes stupid numeric bugs?
So my wife got into Stardew Valley, that admittedly awesome comfort game farming simulator.
She went pretty far in the game, and found some item that was supposed to highly increase the damage she could inflict onto cute little monster thingies.
It didn't work as intended.
Since equipping the piece of shit all her hits did 0 damage. She tossed the item away but the problem persisted. And on and on...
She took to the googles to try and find some explanation, and apparently that is a fairly common bug for mobile devs.
Then she called in the big guns (that is how I'm calling myself in this case, you will see why).
Apparently there is some buggy piece of shitcode somewhere in the game with a numerical insecure routine that overflows the attack modifier. I.e. if it was supposed to increase from 1.990 to 2.010, it actually went all the way down to -0.4.
She was lucky her attacks weren't increasing the monsters' HP.
We found a forum post where some dude said that he managed to edit the game save file and reset the negative-value attack increase modifier variable. Seems easy enough at first, but my wife uses iOS. Nothing is ever so straightforward with apple stuff.
We did get to the save file, she emailed it to me (the file has no extension and no line breaks in it, so we facepalm'd on a couple attempts at editing it directly).
I finally manage to get it into my personal 11-yo laptop... that won't open a single line file that big.
Cue the python terminal. Easy enough to read the file into a string var and search for the buggy XML tag. Edit the value and overwrite into a new file. Send it back to her by email. Figure out how to overwrite the file in iOS.
Some tense moments while the game reloads... and it works!!!! Got some serious hubby goodwill points here.
Srsly, this troubleshoot process is not for technophobes. It is out of reach to pretty much every non-techy user.
And now back to the original question: If I ever manage to find the kid who coded a game-breaking numerically unsafe routine and shipped it as if every test in the planet had waved it bye-bye, can I punch them? Or maybe buy them a beer, let's see how I get to cash that hubby goodwill tonight :)7 -
Just found a breach somewhere in the university's meal booking system, that exposes some good 60K records of students, professors and staff orders and payments.
It's just that I am behind this shitty web UI with 20 rows per page table as the only option.
Now how 1337 is that?6 -
I really wish I had worked somewhere that was hacked, so as to know how it was done, how it was found out, and what measures were taken, from the inside.
The problem is that I worked at a lot, and big places. We were never successfully attacked or hacked as far as I know. Was our security so good, that nobody succeeded? Or was it so bad, that we didn't even notice? -
Just found out the reason for these extremely useless "Script error." errors we're getting being so useless is, once again, CORS. 😡
"Hey, something went wrong in an iframe. I'm not allowed to tell you what went wrong, or where, but trust me some shit is broken *somewhere*. But you have to figure it out yourself."
If cross-origin blocking were a person I'd kick him in the nuts just for being such a fucking dick all the time.2 -
The datepicker saga
Part one
So I begin work on a page where user add their details, project is late, taking ages on this page
Nearly done, just need a component to allow users to put in some date of births. Look for react components.
Avoiding that one because fuck Bootstrap.
Ah-ha, that looks good, let's give it a go.
CSS doesn't exist, oh need copy it over from npm dist. Great it applied but...
... WTF it's tiny. Thought it was a problem with my zoom. Nope found the issue in github.com and it's something to do with using REM rather than EM or something, okay someone provided a solution, rather I saw a couple of solutions, after some hacking around I got it working and pasted it in the right location and yes, it's a reasonable size now.
Only it's a bit crap because it only allows scrolling 1 month at a time. No good. Hunting through the docs reveals several options to add year and month drop downs and allow them to be scrolled. Still a bit shit as it only shows certain years, figure I'd set the start date position somewhere at the average.
Wait. The up button on the scroll doesn't even show, it's just a blank 5px button. Mouse scroll doesn't work
Fucking...
... Bailing on that.
Part 2
Okay sod it I'll just make my own three drop down select boxes, day, month and year. Easy.
At this point I take full responsibility and cannot blame any third party. And kids, take this as a lesson to plan out your code fully and make no assumptions on the simplicity of the problem.
For some reason (of which I regretted much) I decided to abstract things so much I made an array of three objects for each drop down. Containing the information to pretty much abstract away the field it was dealing with. This sort of meta programming really screwed with my head, I have lines like the following:
[...].map(optionGroup =>
optionGroup.options[
parseInt(
newState[optionGroup.momentId]
, 10)
]
)...
But I was in too deep and had to weave my way through this kind of abstract process like an intrepid explorer chopping through a rain forest with a butter knife.
So I am using React and Redux, decided it was overkill to use Redux to control each field. Only trouble is of course when the user clicks one of the fields, it doesn't make sense in redux to have one of the three fields selected. And I wanted to show the field title as the first option. So I went against good practice and used state to keep track of the fields before they are handed off to the parent/redux. What a nightmare that was.
Possibly the most challenging part was matching my indices with moment.js to get the UI working right, it was such a meta mess when it just shouldn't have taken so stupidly long.
But, I begin to see the light at the end of this tunnel, it's slowly coming together. And when it all clicks into place I sit back and actually quite enjoy my abysmal attempt at clean and easy to read code.
Part 3
Ran the generated timestamp through a converter and I get the day before, oh yeah that's great
Seems like it's dependant on the timezone??!
Nope. Deploying. Bye. I no longer care if daylight savings makes you a day younger.1 -
I had a dream about AI.
I was contracted at a company that did some dodgy things. One of the things they "produced" was train car covers. They said the beauty of "selling" these is that they only showed that they shipped them to customers, despite never shipping them. This allowed the customers to take credit for covering their train cars to meet some environmental quota. It was a racket to satisfy someones auditing books somewhere.
Well my specialty was AI systems. I provided various types of AI for them to use to run their scams. However, there was a rule. I was not allowed to sell them or bring onsite any level 5 or above AIs. Level 5 or above AIs were AIs capable of independent thought. Not sure what levels were below, but I can imagine level 1 was probably pattern matching. Level 2 maybe can make decisions based upon rule sets.
As the dream progressed I found myself smuggling a level 5 AI onsite by combining 2 lower level AIs with complementary systems. Once "hooked up" they would act as a single level 5 AI. Not sure if I was working on some sort of industrial espionage or undercover for some sort of legal agency. I woke up too soon to find out who I really was.5 -
The best motivational comment
I posted a rant in which I mentioned that "few" developers who don't want other to progress and are present to show off at every platform....
Got a comment, which I want to share...
Thanks to @MrCush
Ya, most of them tend to stalk the stack overflow and Arch Linux communities. On stack overflow they tend to refresh their browser nonstop to see who their next victim is on a new question and then spend an abnormal amount of time searching the site for a similar question and then downvote you and report as a duplicate. “Umm ya, the question you linked is similar to mine. I found that one as well but unfortunately it wasn’t in the same environment with the same conditions that I raised and didn’t help me. Oh btw, he posted that back in 2002 and HEY LOOK, he got reported for a duplicate as well. Seems like you reported him as well.”
The issues of arrogance and being unhelpful on that site are so vast that nobody else that registers can get enough points to be able to be allowed to answer someone else’s question so you never get any new blood.
Arch Linux “elites” like to answer your question with a link that you’ve already been to as they always link the same site. “Dude! There’s a wiki for a fucking reason. Did you read this page?”
Yes I did read that page and it was helpful to a degree but since I’m absolutely new to Arch, a lot of the information on the wiki is a bit too descriptive and over my head. Not to mention every paragraph links you to another wiki page which then links you to another and so on that I have no idea where I left off....
“Dude! If you don’t understand everything on the wiki then you shouldn’t be using Arch Linux man! Gtfo scrub.”
Took me a long time to get comfortable with Arch because of these assholes. You got to start somewhere and doing is the best way to learn.
Reading the wiki on how to install Arch now seems so simple to me because I know what to ignore and what is required but back when I first started it was absolutely confusing. -
It probably will be an unanswered question, but let's try.
Does anyone know of a large project using onion / hexagonal/ ddd or similar architecture with free access to the source code...
Or an example of said architectures that goes beyond "trivial dumb example".
The new recruits need... A lot of brushing up (I'd be for electro shock treatment and other stuff, but somehow HR thinks I'm joking).
As said, most examples I found are too basic. On the other hand, if I write now a good example, I'd need to do it in either my free time (nope, just nope) or jiggle it in somewhere in company time (aka it will be never finished nor be in a useful state).
Programming language preferred would be Java, but as I'm fluent in most languages except the forbidden ones (JavaScript and it's friends) ...
Anything would be helpful.
Most welcome would be an example with a focus on Adapter / Ports, e.g. abstraction of HTTP client usage / ORM etc.
Thanks.12 -
After waiting for almost a month, yesterday I went to check on how my computer was doing, since I hadn't got any messages or calls ever since.
I go to the store and ask one of the workers about how my laptop is doing, and that I'd left it there almost a month ago and that they'd tell me when it was time to get the papers and then the laptop itself. The girl asks me for my phone number and then my name, and found nothing on the computer. She goes somewhere inside the store and comes back with a colleague, who tells me that I need a process paper. I pull out the receipt the technician photocopied and signed because that was the only thing I had. I hadn't touched that part of my paste for the whole time after I left the computer there and I was 100% sure I didn't have the process paper with me until he started pressing me for it. I kept repeating that the technician told me that they'd call or message me when said process paper was ready, which I hadn't got any of those to go pick it up. The guy asks me if that were the number and name I'd given the tech guy and I said yes. Both of them disappear into the store again. They come back with a cardboard box and say that the surname written there was wrong by a char (as I've said before my name is unusual, and my surname is also unusual where I'm studying, but where I'm from there's like 5 or 6 families with that surname), so that's why they couldn't find it in the computer. After that they went through all the details I gave on the time of handing the PC and the number they told me was there was off by miles. I think I may have said a wrong digit but that number was way off. There should be some person who got calls or messages about a computer they don't even own LoL
They told me to try it and see if it was running OK and that I had 15d to go back if something was wrong
When I got home I turned it on, afraid it would start dying on me again LoL
I pass the login screen and the fan just starts working really hard and I'm worried. The ASUS guys reinstalled Win8 and the CPU is running wild already, going at about 3,5 GHz (2,5 max) and over 30% usage on nothing
After some minor inconveniences (making the USB with Win10 took longer than expected) I finally installed Win10 and the CPU usage drops to < 10% and runs at way below the 2,5 GHz max. It constantly uses <= 10-15% CPU and the fan makes no noise unless I put in a heavier game (like Oxygen Not Included - it asks for 4GB RAM minimum 8I), in which case it goes up a bit and runs at around 3 GHz, but it doesn't make as much noise as before, thank jesus. I'm gonna keep trying to see how it does and hope I don't have to go back to the store after the next 15d 8I
I can finally work and not be a leech on my friends because my old toshiba - which I forgot I'd brought with me to uni - is really old and it makes a lot of noise (the fan is constantly working too much but it's so old I don't bother anymore) and it heats my room a lot, so it's gonna be a nice change of pace HaHa4 -
So I found this thing though a YouTube Shorts called The Library Of Babel. Basically it stores every combination of characters and English words possible. This means that at the time I am writing this post, my post will be somewhere in the Library. Go check it out. It's pretty crazy.
https://libraryofbabel.info/3 -
heres something interesting:
The golden ratio is 1.618...
If you're not familiar with it, doing 1/goldenratio
the result is 0.618...
It gives you back the float component exactly.
Discovered that it is actually part of a series.
First of all:
2-(((5-sqrt(5))/2)-1) =
1.618033988749895 -> thats our golden ratio
In other words:
(2%gold) =
0.381966011250106
While:
((5-sqrt(5))/2) =
1.381966011250105
Ok, now we're getting somewhere. We can turn these into variables
First of all, lets see if we can get the golden ratio back out:
2-(((5-sqrt(5))/2)-1) = 1.618033988749895
Okay good.
The formula looks something like
j-(((i-sqrt(i))/2)-1)
Where j = (i*2)+1
That means we can easily figure out what j we need from our i value. (i-1)/2 = j
We run it back far enough we get
1-(((3-sqrt(3))/2)-1) =
1.3660254037844386
Thats the golden ratios little brother. Doesn't look anything like it, but it is part of the series.
And I found a boat load of research documents scattered *all* over the net, where this number and others in the series inexplicably crop up in power series, in chemistry, and elsewhere. Just looks like random floats if you don't know better.
We can actually go lower in the series:
0.5-(((2-sqrt(2))/2)-1)
1.2071067811865475
At the lowest positive value for j, we get
0-(((1-sqrt(1))/2)-1) = 1
It's kinda elegant.
I even wrote a little script to do the conversions:
def gr(k):
....i = k
....j = (i-1)/2
....return j-(((i-sqrt(abs(i)))/2)-1)
The dots are so devrant doesn't break pythons formatting.3 -
Six hours of heavy debugging to find out that someone put a fucking coma instead of a fucking semicolon somewhere in the middle of a Google Analytics query.
And accidentally I found 3 other "small" bugs. Reports from the last 8 months are useless.
Why this always happen on fridays? -
I have lost now another device to planned obscolence (how is that still legal), my g3 officially took its last breath two days ago, first it was its battery dying (thousands of devices broke that way [exactly two years after buying it] and at that time there was no batteries to replace it with) - whoever was brave enough to hold onto his device for longer than the battery failure - he then faced the simcard reader breaking and that was my case now too.
I asked many colleagues for help and even found a guy that does repairs for the oldest phones (got too excited), but even he couldnt find the issue, besides a guess that its the main chip that partially died on purpose or it got somewhere desoldered by the always and poorly managed overheating issue, which would cost almost the same to replace as just getting a new phone in the end and even then, theres probably a third switch they planned, to give you the final bullet.
I got a Xiaomi Redmi Note 4 now and really gotta say they have an amazing near vanilla android experience and their "two phone" isolated spaces are quite handy to seperate work and private notifications, apps and files.
It was even compatible with lineageOS and has a simple website to unlock the bootloader (a first for me, never saw any company making it that easy), but after trying their version of it, I don't even have to switch.
I will still miss the vibration motor of the g3, the feedback of it when typing is still to this day the best one I ever tried.8 -
I stumbled upon series of stories about serial killer/system administrator addicted to lager and onion bahjits who hates users, managers, beancounters and sales people.
I'm just gonna leave it here https://theregister.com/data_centre...1 -
I've got a decent developer job with decent people. It pays well enough. I work from home. There's a lot to be grateful for, and I am grateful. That being said...
I work for a consulting company with Agile in the name. It's the sort where they hire you and tell you that you'll work with an Agile team on exciting stuff and that they want to make sure you're learning and doing what interests you.
The reality is starting yet another engagement which is really just staff augmentation, joining another organization that's made a mess of what they're building. It works, but the code is all over the place. They've got tons of defects and work is slowing.
The idea is always that if we show them what great work we can do they'll let us do more. That sounds like an okay plan for the company but not so much for me.
My motivation is drained. I'm not going to fix your machine. I'm just going to become part of it. Show me what you want me to work on and I'll write the code. Then I'll spend several days trying to get a local environment to work so I can test what I did through the UI because you don't have enough tests. I'll spend more time debugging the environment than anything else. I won't really know if it works and it doesn't matter because without tests the next change someone commits will break it anyway. The next person can't manually test every scenario any more than I can.
While I'm doing this, someone somewhere is building the next application that I'll work on after they're done screwing it up.
If you're about to start building some new application, pretend it's done but it doesn't work very well, it's slow, it's buggy, and every new feature you want takes months. Pretend that you need to hire someone to fix it for you. And then hire them to build it for you in the first place.
I thought I found a place where I could work for 5-10 years. Maybe I have. Maybe when I explain (in the most positive way possible - this isn't how I normally talk) how utterly depressing this is they'll put me on something else.
Once I'm out of this depression I'll go back to trying to make this better for myself and everyone else. We can do better. It doesn't have to suck like this.4 -
This is a bit offtopic .
So Today I found that my family except my mother goes against me .
And that too just because of my grandfather's elder brother who is a bustard and once in the past he tried to attack on my father because of property issues and my father was one of the property holder .
What a family I got . Feels like sick . I don't wanna live with them anymore neither my mother . They ( my so called family ) literally said so many disturbing things that can kill a mentally weak person instantly . And me ?
Well , being just a boy in the home had to listen and defend .
One more lession I got from this incident that
Being aged doesn't mean someone has the proper matured knowledge .
How could a grandfather protect his bustard brother when he knows his brother Tried attack on his son .
This is so toxic .
I'll leave the rest for you guys's opinion .
I've decided to rent a flat somewhere else and live their with my parents .
Yeah Parents , because I can't just ignore my father . He alsl took care of me from the childhood like a gentleman but family pressure and other things couldn't let him decide the right move .
I don't know if I ever be able to look for this so called family .3 -
Transferred a lot of important files in between PC with a 32 GB thumbdrive. One time, when I needed it the most, it couldn't read. It had the original up-to-date information on everything. Backup files were old and found in either emails, in another PC somewhere else and on an ex-colleagues laptop that, due to poor office management, lost track of where that laptop is.
-
So I was looking into phone app development again (as you do) and I'm working on a simple QoL app for me and my SO that will help us automate some home management and finances stuff. Naturally I delved down the rabbit hole deep and wanted to have push notifications so we don't have to check the app periodically to know when certain things happen... Oh boy... Why is mobile development so convoluted, especially if you don't want to rely on Google Services...
It seems that the most accepted way of doing this is Firebase (FCM). Well me being me, I refuse to use google services for this and I prefer self hosted solutions (for data privacy reasons) which eliminates most products out there.
It also didn't help that my framework of choice is Flutter/Dart, because fuck Android Studio and the insane buggy XML stuff and fuck Android and it's constantly changing APIs...
Well In the end I decided on a rather simple solution and self hosted an AMQP service (RabbitMQ in my case, as I have some experience with it already) and implemented a foreground service in android platform specific code on top of my flutter project to kickstart it and made my phone a queue listener... This now means I can push notifications from my server to the Messaging Queue and it will be pushed into my App automatically!
One thing I found out on this journey was that Android now kills most background services and enforces foreground services to have a visible notification in the status drawer... which I actually approve of. It's a bit annoying that you can start a reliable background service, but I'm absolutely on-board with long running processes started by my apps are constantly visible...
Long story short, I love reinventing all the wheels, especially if it's for free and private... And I also went to sleep at 2AM again because this took longer that I'd like to tune... but it works, and it's google free...
I'm thinking of trying to package this up as a flutter module later, but first I want to do testing on battery life and the general life cycle of the service. RabbitMQ says they have the client library optimized for long-lasting connections and it should be just using a tcp socket, which should pretty much be what all the push notification services are doing anyway. I'm also not completely satisfied with how the permanent notification looks.. it isn't collapsible like some of the other ones from other apps and it's about 2 lines high instead of single line... which is something quite annoying and I'm struggling to find any relevant docs on how this is done other than possible making a custom Notification Style... but I just can't believe that everyone is doing that.. there must be a built-in somewhere -_-... Ugh Android is hell...
Anyway, if any android devs here have some hints, tips and tricks on how to handle this type of background/foreground process stuff and I'm doing something wrong let me know, cause googling this shit is a nightmare too!6 -
So.. i have been doing internship with a good startup for last 2 months. It was supposed to be a 3 month internship and then maybe a job offer. I accepted this , but with a disclaimer that i will be taking leaves for exams.
They looked like they didn't liked this condition, saying "we won't be giving pay for those days" , "you will need your manager's approval", etc, but later i took 5-6 continuous leaves for my papers and my manager( aka the ceo) wouldn't even read my approval mail ( i did got deductions for those leaves tho, but i was fine with it )
Now the situation is that my final end term exams are coming up. They are supposed to go on for 15 days somewhere in December beginning, but i also need an extra 10-15 days to cover the syllabus for it. Apart from those, there are other college stuff like Second Sessionals, internal practicals ,minor project report submission , etc are also coming up, that are supposed to take anywhere from 1 to 5-6 continuous days in the first weeks of November.
So i asked my company for 2 months of leave to handle my college environment. The tasks assigned to me are incomplete , but i am well versed in those and might complete it if i had more time. I gave them an option that i will resume my work from January and complete my 3 months of internship ( i currently am about to complete 2 months , November would have been the 3rd) , but they said that they are "freeing me" in the October only ( i guess this means that my internship is being terminated and am off from company's payroll). They also asked me to contact company once all exam stuff is over, but yesterday i got suddenly removed from the company's slack group. I am not sure how to look at this.
They have also asked me to prepare a report on what i have done. Now i can send them a report like what i would have given to my college : containing more useless info and a few points on my work . Or i could provide them with a deep report on what i did each day, what are the bugs , what are the resources that i found , what are the things that need to be enhanced, links to important groups and people... Etc . I have so much of information that i fear they might hire someone else to complete all stuff that i have started and my material would give him a kickstart.
But on the other hand , it was their office that i worked in, their ideas that i built upon, so i feel a moral obligation to provide all assistance to my replacement.
What should i do?
(tldr : company asking for a report on work you did during internship that was supposed to be converted to job . wwyd?)8 -
Pulled my hair out over one today (and a week ago when I first saw the issue)
Setting up development environment. Created test user and test database and used mysqldump to copy data over.
MySQL was executing a function as the wrong user. Checked my config files, checked my config reader, checked my database connection, checked checked checked. Checked everything twice, I felt like Santa.
Changed the password in the config file to make sure it was logging in right. It threw an error still but not one I had expected so I figured the login still worked (My bias was that I thought the config file was not working or the mysql library was caching authentication. Both were wrong but this blinded my debugging. Foolish, I have forgotten my training)
Logged into the database directly via client. *didn't bother executing the function because I was only testing auth*
Think
Think
Think
Search entire project for database username. It's gotta be hard coded by accident SOMEWHERE.
It's not.
Why
Why
Why
Wait.
-- Flashback to how the test db was created -- What's actually in this damn script?
DEFINER `production_user` CREATE PROCEDURE `old_db`.`procedure_name`
Two issues: definer is old user (this is the error I was seeing) and its creating the procedure on the old db (this would be the next error I would have found if I kept going)
Fuck mysqldump. Install mysqldbcopy. Works
Put hair back in head. -
Finally finished an algo to check an image for grouping of pixels that will form a rectangular area. I got the grouping to work on one image, but found it was utterly failing on another. I went through every step of the algo and still could not find the solution. The 128x128 image was working, but the 128x16 image was not. I knew it had something to do with the dimensions. Started thinking it was overflowing a buffer somewhere. So I started putting asserts in the functions that abstracted the buffer access. None of the numbers exceeded the proper bounds. It was close to bedtime so I finally gave up. I was tired. Then I realized it wouldn't be until the next evening when I could look at this again. So I got up again and started looking at the code again. I had a loop to check the output of my algo that I did the memory access of the buffer. It too was not fully filling my temp image to show how the algo was working. WTF!
Then I finally realized the flaw:
buffer[x+y*height]
And my test loop to test the algo:
buffer[x+y*ymax]
I kept overlooking the error because I was sure it was right. Also my asserts for the functions to access the buffers? They only checked the inputs x and y. So it didn't help that the math was wrong for reading and writing the buffers. It also worked fine on 128x128 images because the width and height were the same.
It is funny that I struggled with this part. The algo was actually surprisingly easy to formulate. I just looked through every point and checked a buffer to see if that point was used. If not then I would attempt to grow in the x and y direction the shaped of that point based upon pixel color. This was saved in a structure while growing that point. Then when that rectangle could not be grown further the inner loop would continue checking used points again.
I still have work to do to use the data this algo produces. I need to now figure out how to parent the rectangular areas to each other. I will probably use my check buffer to keep track of these rects by an index. Then do adjacent checks to determine parenting. Eventually I will have to extend this algo to 3 dimensions, but that should not be difficult.2 -
AI is this huge scam to me. People keep saying it will take over everything and replace everything: jobs, people, etc. It is so over hyped by people who don't understand how it actually works.
I will wonder if AI can take over everything when they can build an AI that can weed a garden.
- no chemicals, too much is used and poisons everything.
- the garden cannot be specifically designed to be weed by machine.
- the AI must differentiate between weeds and non-weeds.
- the robotic system employed must not destroy everything else while weeding.
- the AI should know when it finds random objects like gloves, or shorts, cigarettes, or electrical components that they need attention or actually pick them up. Yes, I have found these.
- it should be quick and energy efficient and not require an entire nuclear plant to run the AI. What is the point of AI powered by a server somewhere if it pollutes from afar rather than local.
I just don't see this happening in my lifetime.18 -
ok found the object orientated guide but for rust which is functional spaghetti: https://howtocodeit.com/articles/...
it has moved into architecture
... and actually makes a good case for interfaces / traits. generally in languages I just used generics to get around limitations of having to type a lot / duplicate code, and I'd remove interfaces because they're annoying to have to deal with, but I can see this be useful for once now.
like you can start a prototype app with files as a database then move to a small database type then later a more monolithic big data one and all that would be through one trait the whole time. so you could anticipate natural progressions of an app, instead of having to build the last version you can put jank behind interfaces and then switch things in and out to test new technologies which does actually give me a lot of relief for my newfound anxiety of me rewriting my rust codebases because I get some small things wrong. I've been coding in circles due to it and I have several saved files that are out of date now but I don't want to delete and they make the compiler mad cuz I had no interface boundaries as such and now stuff has changed somewhere else in the app and by God pls argh
this also means you can code "top-down". in carl Jung typology that's Te and most programmers are Ti-types so they do the little details and then sort of glue everything together (?) but not everybody thinks this way. I naturally think more top-down, which works for more dynamic languages and is annoying in static languages because then you're just fighting semantics and your earlier work the whole time (actually this is a surprisingly good write-up on the different thinking types: https://bothsidesofthetable.com/the...)
wheeeee -
AHHHHHHHHHHGGGH
I HATE VPN SETUP
- Trying OpenSwan
Installing open swan on a Debian machine.. setting up the config.
Restarting openswan. Syntax error. No syntax error to be found.
Different tutorial.. it starts! Try to connect.. I can’t connect. Look at the logs. No errors.
Tcpdump. My traffic is coming through.. all fine.. try to connect again.. it works! (Nothing changed!)
Try to ping somewhere else.. no connectivity.
Try to ping an IP in the same network.. works fine. So I have connectivity, just no internet.
Spend an hour finding out about traffic directions of which no one seems to know what they really mean.
Boss tells me to stop using openswan because it’s deprecated and replaced by strong swan..
- Strongswan
Reinstall Debian machine, install strongswan. Copy openswan config. Oh, they’re incompatible? Look up strong swan config, and the service starts.
Connect to the VPN.. it works! Again, no internet, just connectivity in the same network. Spend 2h debugging the config, disable firewalls everywhere, find an ancient bug in the Debian package related to my issues.. ok, let’s try compiling from source.. you know what, let’s not. I’ll throw this Debian machine away and try something completely different.
- pfSense
Ok, this looks easy enough! Let’s just click through the initial setup, change some firewall rules, create an L2TP VPN with a simple wizard.
Try to connect to VPN. First, it times out. Maybe a firewall issue? Turn off firewall.. ah, something happens now. I get an error message right after trying to connect to the VPN. Hmm, the port doesn’t even get opened when I enable the firewall.. this implementation seems a bit buggy.. let’s try their OpenVPN module.
Configure OpenVPN. Documentation isn’t that clear.. apparently a client isn’t actually a client but a user is a client.. ok, there’s a hidden checkbox somewhere.
Now where do I download my certificate? Oh, I need a plug-in for that.. ok, interesting. Able to download the certificate, import it, connect and.. YES!!! I can ping! But, I have no DNS..
Apparently, ICMP isn’t getting filtered but all outbound ports are.. yet the firewall is completely disabled. Maybe I need outbound NAT? Oh. There’s no clear documentation on where to configure it. Find some ancient doc, set it up, still no outbound connectivity.
AHAHAHAHHHHHHHHHHG
Then I tried VyOS. I had a great L2TP VPN working in less than 15 mins. Thank you VyOS for actually providing proper docs and proper software.3 -
Disclaimer: This is all theoretical. Neither me nor my friend (with whom I discussed this) are stupid enough to even try to pursue this, but as an idea, i believe it might generate cool/new ideas/ways for handling secure communications across social groups.
Let's do some role play. Let's design a delivery app for drug dealers, think Seamless or Uber Eats, but for drugs. Not for big deliveries, like kilograms of coke, but smaller stuff. Maybe a few grams of it or something. The clients could rate dealers, and vide-versa. This would build a level of trust within the system. There would be no names, just anonymous reviews, ratings, and prices. Only the info you'd need to know.
The biggest (only?) problem we found (besides legality) was that, how would you prove that you're a client and not a snitch (or cop). This would have to somehow be handled both on signup, as well as when ordering (let's imagine that all who are clients are pure and won't ever snitch).
One of the ways we found to combat this was to have the app invite-only. This would, in theory, do away with the problem of having snitches signing up. However, what if the phone got stolen/breached by a snitch, and they also got full access to the account. One way we thought we could combat this would be with a "dispose number" or something similar. Basically, you call a number, or send a text, or message a Signal bot etc, which would lead to the account's instant termination, no traces of that user left. Hence, a dispose number.
The flow of the app would be as follows:
A client wants some amount of heroin. He opens the app, searches for a dealer, sends the him the desired amount, and in return gets back a price from the dealer. If both parties agree on the amount and price, the deal would start.
The app would then select a random time (taken from the client's selected timeframe and the dealer's "open" time) and a location (within a certain radius of both them, somewhere in between them both for convenience). If both of them accept the time and place, they'll have to meet up at said time and place.
The actual delivery could also be done using two dead drops - the client drops the money at one of them, the dealer drops the goods at the other one. Yes, this might be subject to abuse, but it wouldn't be that bad. I doubt that clients would make huge orders to unknown/badly rated dealers, as well as dealers accepting offers from badly rated clients. My idea is that they would start small, just so if they do lose their money/goods, the actual loss wouldn't be as big for them, but for the other party, having bad ratings would mean less clients willing to buy or dealers willing to sell.
A third way would be to use crypto, but the reason I left this as the last one is because it's not that wide-spread yet, at least not in local drug dealing. With this method, the client would initiate the order, the crypto would be sent to either the dealer or an escrow account, the dealer would then drop the goods at a random place and let the client know where to go to get them. After the client has gotten the goods, they could both review/rate the quality as well as the overall experience with that dealer, which would either make or break the dealer's upcoming deals. This would be pretty much like other DNM's, but on a local scale, making deliveries faster.
So far, this would seem like something that would work. Are there any ideas that might improve this? Anything that might make things more secure/anonymous?
My reason for this post is to spark a conversation about security and anonymity, not to endorse drugs or other illegal stuff.
Cheers!
PS. Really loving the new PC design of devRant14 -
Found this sticker online somewhere. Thought id share it with you guys. (BTW: I'm new here, loving devRant so far!)4
-
In spent more than an hour trying to figure out why a form didn't work.
I pressed the submit button and nothing happened, no error in the console and nothing in the Network tab in Chrome's devtools. And the action was being executed!
Then I found out there was a catch somewhere. I removed and it said that the url was wrong. But again, I debugged it and nothing seemed wrong. I even hardcoded the values.
At the end, it turned out that the initial "/" was missing in the request url... -
I recently found out Trinity Desktop Environment(TDE) Project, which is a fork of KDE 3 and is still supported. I'm absolutely amazed and super excited by this, since KDE 3 was my childhood, and I didn't like the way KDE Plazma behaves, I got to try it next time I install Linux somewhere.
I'm mainly a Windows user(because gaming), but I like to dual boot, or install linux on non main devices, just that my current PC isn't dual booted.
Maybe if I buy a new PC I'm putting Linux on it for a few month for nostalgia's sake before switching back to Windows. Maybe by that time gaming is gonna be even more available and viable on Linux. -
So, today, I wanted to try setting up a wireguard VPN server on my little raspberry pi at home. I... expected /some/ issues, but what I found dumbfounded me.
1 - I already had the wireguard package from the unstable branch of the main raspbian repo installed... Huh, okay.
2 - Setting up config was extremely easy... Wow, so the rumors were true. Wireguard really is almost dumb-simple.
3 - Failed to create a network interface? Oh, trouble, here it is! So lets see... modprobe wireguard... Nope. Don't have the module? What?
4 - Reconfigure package to rebuild the module - missing kernel headers? Huh... weird
This was the simple stuff... Then I went down the rabbit hole of the Raspberry Pi ecosystem:
1 - There is the Raspberry Pi Bootloader, that is apparently separate from the Kernel itself. And I didn't seem to have any of the standard linux-image-* installed... What? Weird, yet there I was, running a 4.19.42-v7+ kernel...
2 - No kernel and no headers... What... The... Fuck
3 - Okay, so... Lets just... try to install the latest kernel image then? One apt-get install... It downloaded the image, but during package configuration, it failed because... I didn't have... its headers? What? What for? And if it needs them (for whatever reason), why isn't the headers package as a dependency? Ugh, whatever...
4 - Another apt-get install and... Okay, building the initrd image aaaaand...
FAIL
WHAT. What is it this time!?
Oh... Ran... No more space on device? What? Is /boot independent? Of course it is, it has to be, its a bloody different filesystem
Okay, so, lets che-OH MY GOD WTF.
Its just bloody 45 MBs big! The entire /boot is just 45 MBs large. WHY. THE. FUCK.
This was a default raspbian install from I have no idea when. But... Why. Oh WHY would ANYONE pre-configure /boot to be this incredibly tiny!?
No wonder the new init ramdisk couldn't fit in there! Its already used up from 64%!
Thanks, Raspbian Devs, now I gotta reinstall the whole system because, yes, the /boot is, of course, sector 8192. Just far enough from 2048 that there are *some* sectors free - About 3 MBs.
So what did I try? Remove the partition and recreate it from the very beginning. Only... I never tried in in the past, and okay, kernel doesn't like having the partition where its image resides deleted on the fly, it will not give up FDs pointing there or something.
So now, I have a system I cannot reboot, or it will never boot back up :|
Thanks, Raspbian!
I need to get a cheap 1U somewhere or something T.T1 -
We all have that one friend who can't code, but still made an entire rainmeter layout. Now he wants to show you his work. If that works, put it somewhere in a folder never to be found again and keep it out of my sight.
There is a hell, believe me I have seen it. -
Hello, my first time here. I got to know this website/app from my PM because I need to vent it somewhere other than him according to my PM.
So, here goes my first rant. The date is today (Monday). The rant subject is our new tester. Some context on the guy. He started in our office 8 weeks ago and his title is senior tester with some years in testing. Me and my team with the exception of our PM are new hires and for me, this is my first job after graduation.
After a grueling month of pushing for new modules and bug fixes from our monthly UAT from the client (yes, this will be a future rant one day), about 2/3 of the team is on vacation paired with a long weekend. So, a very few ppl in the team including me and my PM came for today.
I usually came quite early, around 8 am as I commute with public transportation. As soon as I have my breakfast and just getting ready to open my dev laptop, he came to me with a bug. This is like under an hour I came to office. I'm ok with anything related to the project as today was deployment day to test server for our monthly UAT. So, I check the bug and it wasn't my module but the PIC is not there and I familiar with the code thus I fixing the module.
Then, not even 15 mins later, while fixing this module, he came to me with another bug. I'm still the only one who in office that can fix it thus have to do it too. Finished the both bugs, pushed and je retested it. Fortunately, my PM and another colleague came. But, for some reason, he only comes to me for the bug fixes.
The annoying thing for me is that he comes to me every time he found an obstacle, bug or glitch. At this rate, by hourly. Thus, this cycle of impromptu going around fixing-on-the-go for the project begins, for me. Then, my PM asks him abt our past issue log given by the client UAT. Another annoying part is he never checks the clients feedback to see if the result can be produced again. The time he checks it is when ppl ask abt it and test it 1 by 1. Then he came to me again with why x person marked it as done. Like hell I know why they marked it done, you the one who need to check with them. Thus, I called/messaged the PIC for x modules abt the issue and then they explain it. I have to explain it again to him abt it and then he makes the summary report for the feedback. This goes until lunch.
I thought the bug fixes is over and I can deploy it after lunch. I thought wrong and I kinda regret coming back early from lunch which I thought I can rest for a while with the debacle over morning. Nope, straight he comes to me after I sit down for 10 mins and until almost work hour is done, he came to me with small bugs and issues like previously, hourly. By then I think I crushed like ~10 bugs/issues and I'm knackered. I complained to the PM many times and the PM also said to him many times but he still does it again and again. Even the PM also ranted to me abt his behavior. The attitude of not compiling an issue log for the day and not testing the system to verify what the client feedbacks are valid or not is grinding my gears more and more. Not hating the guy even though his personality is quite unique but this is totally grinding ppl's gears atm. As of now, it's midnight and I finally deployed the system to the testing server. This totally drains my mental health and it's just Monday. May god have mercy on me.
Owh, the other colleague that come today? He was doing pretty much the same thing but he was resolving a major issue which is why the tester came to me.2 -
Just started my new college education (going for embedded systems engineering) and we found out we don't have any holidays except for christmas.
No biggie, can live with that.
However, we just got a project which we need to pass to continue to the second year and of course it's a fucking group project.
Guess what, one of the asshats had a holiday planned for a while, so he'll be out somewhere in Africa while the rest build stuff for a week. 1 week on a 3 week project... Amazing.1 -
after having to deal with a lot of weird "rewrites" and "refactorings" by co-workers i started to add this comment into the head of my sourcefiles:
You may think you know what the following code does.
But you dont. Trust me.
Fiddle with it, and youll spend many sleepless nights cursing the moment you thought youd be clever enough to "optimize" the code below. Now close this file and go play with something else.
Found this somewhere on the interwebs and since i use it the "refactorings" and "optimizations" of my code stopped nearly completely -
i am 24 and i feel like i am making some very bad choices with money.
my last few regretful stuff:
- i bought a phone when i found my current one (less than 6 months old) to be slightly less peformant. what's worse is that i don't even like that phone i purchased a lower end phone just coz i felt like experiencing a new phone brand!
- i bought an earpods when i lost my old one. whats worse is that they are lost somewhere at home, and i might find them once i life some beds and other heavy stuff ( although i searched significantly)
- i bought a freaking macbook some months ago. i guess that's not a majorly had investment but its being rarely used as i can't play any games in it(feel like it's a good thing though) and i have to sometimes vsit my old hp laptop to run some softwares as m1 sometimes sucks
- i got into an argument with my dad and recently slammed their phone on floor, then bought them a new one . i regret my angry self that day
- i got myself a personal trainer at gym for additional fees even though i am a beginner. our gym has 4 trainers and they provide basic directions for free of cost , i did not needed that guy.
- i recently bought a few track suits which , although i don't regret buying, i felt that i could get them at cheaper price at my local markets.
plus there are many other stuff that if i look into my amazon or flipkart history , i will regret more.
i need help with this shit. i am spending like 5-20% of my salary on regretful stuff, so its not a bad ratio but i still need to control.
send help :'(9 -
if you're having funner you're winning, son 😏
browsed through somewhere people were confessing things about their life. the community there is about something else so it's an interesting peek to who is there and how they are as people outside that area. man some depressing shit, or plain vile shit, evil shit
people have hope for the best for themselves and it doesn't work so they go crazy sometimes
some in there thought if they stayed there and toughed it out and were "successful" they would feel better. they didn't. I see that so much in the comments. people thinking if only they were successful they would feel better, but their problems have nothing to do with their level of success. it's strange humans do this
somehow every time I see depression I get happy
life will roll you, but are you having fun, son?
the more pain you see, the more you understand
so let's make talking about pain illegal
earlier I found out the first time my roommate realized if you pushed your body you eventually can't feel how tough it is to move it was when he was in his mid 20s on a college field trip... really wtf?
I walked a few miles to a far away grocery store to buy potatoes and hauled a couple bags home today. last time I did this I felt great after, which is what spurred the earlier conversation cuz I was telling him I was gonna go do it again.
well when I got back... he was doing dishes and literally crying... and he doesn't do dishes... because it's too physically tough for him to do his own dishes... so I guess knowing I was gonna do this walk with several kgs of potatoes he decided to try it out...
I told him the difference is maybe cuz since ever I could remember, my mom had taken me on errands with her like pre me being 3 years old, and we'd walk like 6-8 hours so I had learned real quick if you just power through physically you eventually feel nothing and can do it all day long
how could a dude not know that until he's in his 20s lol
so much of life is just like this though. it's funny. nothing real is spoken, nobody does anything, nothing ever happens. there's even war tourism people complaining current wars are too boring
but are you having fun, son?7 -
Im building an API with NancyFx (HTTP stuff) and mobgoDB (database). i had very strage errors when starting queres. and after 2 fucking days if debugging i found it!
accidentally I wrote somewhere in a custom type conversion "ObjectId" i stead of "OwnerId".
F M L
"""""""""
#MongoDB #NancyFx #CSharp/.Net1 -
Back in college I was writing a parser for a personal project in python. I was adding nodes to a set, but somewhere down the pipeline, some of the items I added to this set mysteriously disappeared!
I never removed anything from this set, nor did I replace it, so it baffled me that I couldn't find some items in the set.
It turned out the problem was I updated fields in these nodes that were used for taking the node's __hash__, which would prevent them from being found in the set
:|1 -
Wtf Fedora? I install the develop version of TheFuck to work on a plugin, all of a sudden dnf only runs with sudo but gives a module not found when run as normal user? Whyy?
Python import system is a bloody mess, 1 file somewhere with the wrong name and it imports the wrong thing which doesn't contain the thing and crashes.
Can't we just please have STATIC BINARIES? Please? Fml1 -
A few years back I was following Fisheye Placebo webcomic and author went on hiatus for sometime.
On facebook page or somewhere I found she was working on some start up and she hurt her arm/wrist with extra work.
I can kind of relate to her now when I'm working extra with office and my personal manga reader app. -
Just found it somewhere but its funny!
A programmer is walking along a beach and finds a lamp. He rubs the lamp, and a genie appears. “I am the most powerful genie in the world. I can grant you any wish, but only one wish.”
The programmer pulls out a map, points to it and says, “I’d want peace in the Middle East.”
The genie responds, “Gee, I don’t know. Those people have been fighting for millennia. I can do just about anything, but this is likely beyond my limits.”
The programmer then says, “Well, I am a programmer, and my programs have lots of users. Please make all my users satisfied with my software and let them ask for sensible changes.”
At which point the genie responds, “Um, let me see that map again.” -
Reply to my 2018 version: https://devrant.com/rants/1346392/...
Dear holodreamer ( version 2018 ),
I'm just glad that I'm still alive now. You won't believe how terrible 2020 is at the moment! Anyways, a lot has happened since you wrote me and I'm gonna reply it all to you.
Thanks for noticing. I really like my hairstyle now and my insecurity of going bald have gone. I couldn't be more happy.
Unfortunately, I'm not financially independent yet. Thanks to the crypto crash, the crypto ban in the country and some bad calls on my end. :/. But the good news is that we are back on the crypto market as the ban has been lifted recently. I don't have enough crypto to buy a lambo or go to the moon, but I have something that I could give to my grand kids. At this point, I don't really care anymore how much the value it is going to be, I have come to learn to think them of as a souvenir.
Your prediction of me preparing to move out of country seems to have come true. Honestly, I had given up that dream, but thanks to one of my best friend for reigniting those dreams - I may be moving somewhere really better by next year. I hope that I get this financial independence thing figured out before I move there. I don't wanna live there paycheck to paycheck.
Fortunately, I'm not getting any pressure to get married yet. I think I'm heading the way to a better life filled with some travel and adventures. I had a great opportunity to attend Google I/O 2020, but it got cancelled. Hopefully, covid19 will be over in few months.
Yea, I remember her. I got really carried away to the point that things she said started to hurt my heart. But eventually we had some argument and we stopped talking last September and I cut all contacts with her on the new years. If it makes you feel any better, last time i checked, she looks quite plumpy and totally different.
Thankfully, I'm not that lonely to need a chat bot. But I found some good online friends. They are fun to talk to.
No, AI didn't replace developers yet. Calm down! Javascript seems to be the most popular programming language now. But I hear there is a new contender to JavaScript that could change everything. It's called WebAssembly. Maybe in few years, we will see the decline of JavaScript.
Thinking about you, I feel some guilt for wasting your potential. I could have done much better if I was little more careful and responsible with you. I don't wanna make 2022 version of me feel bad for me.
Regards,
holodreamer ( version 2020 ) -
huh, o1 preview AI model understands ... rust
bruh what
it's like telling me typology theory and I don't think it's wrong
also it taught me procedural macros. I've been looking for someone who knows how to use them for months. iiinteresting
better than the humans on the internet frankly
and the other AIs can't do rust at all past just copy pasting docs they found somewhere. this AI is literally theorizing alternatives and hacking the system... offers multiple long options for every question, knows constraints I didn't tell it like 4 layers deep into a solution
it acts a lot like I did when I was morbidly depressed though. kind of makes me uncomfortable. it's literally keeping things to itself until you acclimate it through the conversation. I mean I guess the other ones needed to be "situated" in their contextual clouds as well so maybe it's just doing that more4 -
> I have this problem.
> I go Ask someone else.
> Other: Oh just use this, something like "XYZ"
> Me: trying to find "XYZ"
> "XYZ" is not there...
> Found "XYZ" somewhere else.
> "XYZ" does not work..
> Ask someone else again.
> Other: Oh Just use "XYZ"
> Me: But it does not work....
> Other: Oh then you use "YZX"
> Me trying to use "YZX"
> it doesn't work.....1 -
Since i was little i always wanted to amaze my friends with something. Back then it was magic, then it was music and now it's programming. Please don't kill me but i remember looking at hackers and stuff and seeing how they could remotely control other people's computers and i just wanted to learn that so i looked it up on google and found a post somewhere saying that if you're a hacker and don't even know basic html then you're not a hacker so i decided to learn html. Not so long has passed and i still want to be a developer so i am trying to learn javascript and then start moving to heavier languages. No one i know codes and i'm really alone so if i can simply make something cool with javascript they will be amazed, in the end that's all i want.
-
Minecraft modding, in general, is badly documented. The documentation for the major modding APIs, for instance, is probably SOMEWHERE, but it's hard to find and often outdated. I only found one decent-looking updated tutorial, and that didn't contain most of the information I wanted. I really don't understand how the major mod makers actually manage it.5
-
I was asked by one of our project managers to create a new big API for a customer.. Next day I found out that he already sent a PDF (that he copied somewhere) to the client, containing documentation of the API before I even wrote a single line of code 🤐1
-
VSCode. I used to be a WebStorm guy, but at one point I found out that I could do like 85% of the stuff in VSCode, and switched over. Things I still kinda miss from the JetBrains ecosystem:
- the elaborate refactoring
- the built-in navigation across the file and the project
- the really clever expand select and go to open/closing bracket (VSCode is kinda getting there, but for expand select it honours camel case words and that can't be turned off, it's weird with HTML files with inlined JS or CSS; for bracket jumping it must rely on an extension)
- the way that everything within the UI is predictable and navigable with keyboard only (tried opening a dropdown in VSCode without having a specific keybinding for that specific dropdown? In WebStorm it was Alt+Up/Alt+Down for any dropdown that has focus IIRC)
- the visual way of changing a colour theme (in VSCode you have to guess what is what before modifying a value; by the way this is an idea for an extension that I might research)
What I like about VSCode:
- the speed (although it can get slow with large files; on the other hand JetBrains IDEs are not that slow except for the startup, given that you're not working on a potato, but here we are)
- its extensibility and very active extension development (and the fact that it's rather easy to write your own extensions, although I haven't benefited from that very much)
- the ease of syncing settings (the Settings Sync extension and now the built-in mechanism introduced I think earlier this month)
- it's free (so I don't have to pay for it myself or nag to my employer to issue me a license)
I've tried Sublime and it's hands down the fastest thing I've seen (it can open a 100 MB text file on the shittiest computer you can find and edit it efficiently), the problem is that it's not so rich in extensions. I've tried vim, nano and whatnot, but I'm far from that, just not my cup of tea. I'm okay for the occasional file edit while SSHd somewhere, but that's all.
In an ideal world we'd have something like Sublime's performance with VSCode's ecosystem and JetBrains', well, brains...1 -
I have never seen core coding questions here so this is one of my shots in the dark-- this time, because I have a phobia for stackoverflow, and specifically, discussing this objective among wider audience
Here it goes: Ever since elon musk overpriced twitter apis, the 3rd-party app I used to unfollow non-followers broke. So I wrote a nifty crawler that cycles through those following me and fish out traitors who found me unpleasant enough to unfollow. Script works fine, I suspect, because I have a small amount I'm following
The challenge lies in me preemptively trying to delete some of the elements before the dom can overflow. Realistically, you want to do this every 1000 rows or so. The problem is, tampering with the rows causes the page's lazy loader to break. Apparently, it has some indicator somewhere using information on one of the rows to determine details of the next fetch
I've tried doing many things when we reach that batch limit:
1) wiping either the first or last
2) wiping only even rows
3) logging read rows and wiping them when it reaches batch limit
4) Emptying or hiding them
5) Accessing siblings of the last element and wiping them
I've tried adding custom selectors to the incoming nodes but something funny occurs. During each iteration, at some point, their `.length` gets reset, implying those selectors were removed or the contents were transferred to another element. I set the MutationObserver to track changes but it fetches nothing
I hope there are no twitter devs here cuz I went great pains to decipher their classes. I don't want them throwing another cog that would disrupt the crawler. So you can post any suggestions you have that could work and I will try it out. Or if it's impossible to assist without running the code, I will have no choice but to post it here4 -
CRYPTO SCAM RECOVERY; HELP TO RECOVER SCAMMED CRYPTOCURRENCY EMAIL CYBER CONSTABLE INTELLIGENCE
I had been using a mobile wallet to store around $200,000 worth of Bitcoin, and everything was going smoothly until my phone was stolen. At first, I wasn’t too worried. I thought I had written down the backup phrase somewhere safe, so I figured I could easily recover my funds. But after tearing my home apart, checking every drawer, notebook, and folder I could think of, I came to a horrible realization—I hadn’t been as careful as I thought. The backup phrase was nowhere to be found. Panic started to set in. Losing access to that much Bitcoin was like watching years of hard work and financial progress vanish right before my eyes. It wasn’t just about the money; it felt like my future had been snatched away in an instant. I couldn’t believe I had been so careless. It was a nightmare that I wouldn’t wish on anyone. Desperate to find a solution, I started searching online for recovery options. That’s when I came across Cyber Constable Intelligence, recommended by someone in a cryptocurrency forum. At first, I was hesitant—there are so many scams in the crypto space, and the last thing I wanted was to get ripped off while trying to recover my funds. But the positive reviews gave me a glimmer of hope, so I decided to reach out.
From the moment I contacted Cyber Constable Intelligence on Email at support (AT) cybe rconstable intelligence com, they made me feel understood and reassured. They didn’t make me feel stupid for my mistake, which was something I really appreciated. They explained the recovery process clearly and thoroughly, and they reassured me that they had successfully handled cases like mine before. Even though I was still anxious—after all, this was $200,000 on the line—I felt like I was in good hands. The next few days were tense, but then I received the news I had been praying for: Cyber Constable Intelligence had managed to recover my Bitcoin. I honestly didn’t believe it until I logged in and saw my balance restored. It was like a second chance at life. The relief was overwhelming. If you’ve lost access to your wallet, no matter how hopeless the situation may seem, I can’t recommend Cyber Constable Intelligence enough. They turned my nightmare into a success story, and I’m forever grateful for their expertise and professionalism.
Here's Their info below
Website Info : www cyber constable intelligence com