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 - "only one or two"
-
Hi, I am a Javascript apprentice. Can you help me with my project?
- Sure! What do you need?
Oh, it’s very simple, I just want to make a static webpage that shows a clock with the real time.
- Wait, why static? Why not dynamic?
I don’t know, I guess it’ll be easier.
- Well, maybe, but that’s boring, and if that’s boring you are not going to put in time, and if you’re not going to put in time, it’s going to be harder; so it’s better to start with something harder in order to make it easier.
You know that doesn’t make sense right?
- When you learn Javascript you’ll get it.
Okay, so I want to parse this date first to make the clock be universal for all the regions.
- You’re not going to do that by yourself right? You know what they say, don’t repeat yourself!
But it’s just two lines.
- Don’t reinvent the wheel!
Literally, Javascript has a built in library for t...
- One component per file!
I’m lost.
- It happens, and you’ll get lost managing your files as well. You should use Webpack or Browserify for managing your modules.
Doesn’t Javascript include that already?
- Yes, but some people still have previous versions of ECMAScript, so it wouldn’t be compatible.
What’s ECMAScript?
- Javascript
Why is it called ECMAScript then?
- It’s called both ways. Anyways, after you install Webpack to manage your modules, you still need a module and dependency manager, such as bower, or node package manager or yarn.
What does that have to do with my page?
- So you can install AngularJS.
What’s AngularJS?
- A Javascript framework that allows you to do complex stuff easily, such as two way data binding!
Oh, that’s great, so if I modify one sentence on a part of the page, it will automatically refresh the other part of the page which is related to the first one and viceversa?
- Exactly! Except two way data binding is not recommended, since you don’t want child components to edit the parent components of your app.
Then why make two way data binding in the first place?
- It’s backed up by Google. You just don’t get it do you?
I have installed AngularJS now, but it seems I have to redefine something called a... directive?
- AngularJS is old now, you should start using Angular, aka Angular 2.
But it’s the same name... wtf! Only 3 minutes have passed since we started talking, how are they in Angular 2 already?
- You mean 3.
2.
- 3.
4?
- 5.
6?
- Exactly.
Okay, I now know Angular 6.0, and use a component based architecture using only a one way data binding, I have read and started using the Design Patterns already described to solve my problem without reinventing the wheel using libraries such as lodash and D3 for a world map visualization of my clock as well as moment to parse the dates correctly. I also used ECMAScript 6 with Babel to secure backwards compatibility.
- That’s good.
Really?
- Yes, except you didn’t concatenate your html into templates that can be under a super Javascript file which can, then, be concatenated along all your Javascript files and finally be minimized in order to reduce latency. And automate all that process using Gulp while testing every single unit of your code using Jasmine or protractor or just the Angular built in unit tester.
I did.
- But did you use TypeScript?36 -
EDIT: since this announcement, collabs have been made free to post for all devRant members!
Introducing two big new devRant features!
First, the one @trogus and I are most excited about - Collabs!
Collabs are an easy way to start projects or work on existing projects with the awesome members of the devRant community. You can post a collab listing for the awesome open source project you started that could use some more contributors, that fun idea you have for a brand new project, or really anything you want to gather some fellow devs for. We think it will be a lot of fun.
Collabs also is a devRant first - it's our first paid feature. For each 2 week collab posting, we're charging $14.99. But we wanted to make sure to thank devRant users who have been with us for a while and anyone who contributes often, so anyone with 2,000 points or higher (now or in the future) gets one free collab listing!
The main reason we see collabs as a great first paid feature is because requiring payment or 2,000 points serves to be a slight barrier in posting a collab. We think for collaborations to be successful it's important to have some way to keep out listings where the poster has no intent of following through and we hope this is a good start to doing that.
NOTE: if the collab you are looking to create is devRant-centric (ex. a devRant Chrome extension), we will give you a free credit especially for that so you don't have to pay or use your earned free one. Just contact us (info@devrant.io) if your project falls into that category.
In addition, after tons of demand from the community, you can now change your username and email address! One important note is that you only get to change your username one time every 6 months, so use it cautiously :) You can access this feature in the "more" tab, then settings, then "Edit username or email."
If you have any questions or feedback about any of this, just let us know! We hope everyone enjoys :)
52 -
After listening to two of our senior devs play ping pong with a new member of our team for TWO DAYS!
DevA: "Try this.."
Junior: "Didn't work"
DevB: "Try that .."
Junior: "Still not working"
I ask..
Me:"What is the problem?"
Few ums...uhs..awkward seconds of silence
Junior: "App is really slow. Takes several seconds to launch and searching either crashes or takes a really long time."
DevA: "We've isolated the issue with Entity Framework. That application was written back when we used VS2010. Since that application isn't used very often, no one has had to update it since."
DevB: "Weird part is the app takes up over 3 gigs of ram. Its obviously a caching issue. We might have to open up a ticket with Microsoft."
Me: "Or remove EF and use ADO."
DevB: "That would be way too much work. The app is supposed to be fully deprecated and replaced this year."
Me: "Three of you for the past two days seems like a lot of work. If EF is the problem, you remove EF."
DevA: "The solution is way too complicated for that. There are 5 projects and 3 of those have circular dependencies. Its a mess."
DevB: "No fracking kidding...if it were written correctly the first time. There aren't even any fracking tests."
Me:"Pretty sure there are only two tables involved, maybe 3 stored procedures. A simple CRUD app like this should be fairly straight forward."
DevB: "Can't re-write the application, company won't allow it. A redesign of this magnitute could take months. If we can't fix the LINQ query, we'll going to have the DBAs change the structures to make the application faster. I don't see any other way."
Holy frack...he didn't just say that.
Over my lunch hour, I strip down the WPF application to the basics (too much to write about, but the included projects only had one or two files), and created an integration test for refactoring the data access to use ADO. After all the tests and EF removed, the app starts up instantly and searches are also instant. Didn't click through all the UI, but the basics worked.
Sat with Junior, pointed out my changes (the 'why' behind the 'what') ...and he how he could write unit tests around the ViewModel behavior in the UI (and making any changes to the data access as needed).
Today's standup:
Junior: "Employee app is fixed. Had some help removing Entity Framework and how it starts up fast and and searches are instant. Going to write unit tests today to verify the UI behaivor. I'll be able to deploy the application tomorrow."
DevA: "What?! No way! You did all that yesterday?"
Me: "I removed the Entity Framework over my lunch hour. Like I said, its basic CRUD and mostly in stored procedures. All the data points are covered by integration tests, but didn't have time for the unit tests. It's likely I broke some UI behavior, but the unit tests should catch those."
DevB: "I was going to do that today. I knew taking out Entity Framework wouldn't be a big deal."
Holy fracking frack. You fracking lying SOB. Deeeep breath...ahhh...thanks devRant. Flame thrower event diverted.12 -
So a few days ago I felt pretty h*ckin professional.
I'm an intern and my job was to get the last 2003 server off the racks (It's a government job, so it's a wonder we only have one 2003 server left). The problem being that the service running on that server cannot just be placed on a new OS. It's some custom engineering document server that was built in 2003 on a 1995 tech stack and it had been abandoned for so long that it was apparently lost to time with no hope of recovery.
"Please redesign the system. Use a modern tech stack. Have at it, she's your project, do as you wish."
Music to my ears.
First challenge is getting the data off the old server. It's a 1995 .mdb file, so the most recent version of Access that would be able to open it is 2010.
Option two: There's an "export" button that literally just vomits all 16,644 records into a tab-delimited text file. Since this option didn't require scavenging up an old version of Access, I wrote a Python script to just read the export file.
And something like 30% of the records were invalid. Why? Well, one of the fields allowed for newline characters. This was an issue because records were separated by newline. So any record with a field containing newline became invalid.
Although, this did not stop me. Not even close. I figured it out and fixed it in about 10 minutes. All records read into the program without issue.
Next for designing the database. My stack is MySQL and NodeJS, which my supervisors approved of. There was a lot of data that looked like it would fit into an integer, but one or two odd records would have something like "1050b" which mean that just a few items prevented me from having as slick of a database design as I wanted. I designed the tables, about 18 columns per record, mostly varchar(64).
Next challenge was putting the exported data into the database. At first I thought of doing it record by record from my python script. Connect to the MySQL server and just iterate over all the data I had. But what I ended up actually doing was generating a .sql file and running that on the server. This took a few tries thanks to a lot of inconsistencies in the data, but eventually, I got all 16k records in the new database and I had never been so happy.
The next two hours were very productive, designing a front end which was very clean. I had just enough time to design a rough prototype that works totally off ajax requests. I want to keep it that way so that other services can contact this data, as it may be useful to have an engineering data API.
Anyways, that was my win story of the week. I was handed a challenge; an old, decaying server full of important data, and despite the hitches one might expect from archaic data, I was able to rescue every byte. I will probably be presenting my prototype to the higher ups in Engineering sometime this week.
Happy Algo!8 -
This one guy wanted a website to sell illegal drugs or something. Oh and he only offered $20 for it. Obviously I didn't take it.
There was another guy who wanted a calculator in Python. I'm not sure why, but I think he was a student who wanted someone to do his homework. He offered $250 so I took it. Once it was done, he didn't pay and blocked me.
I quit freelancing about two months ago or something since I was sick of it. Most clients are disrespectful.20 -
So they were having trouble with the server always being slow and maxed to 100%, so the boss told me when wait times were hitting 5+mins due to server trying to catch up, he complained at me, said if I could get the wait time to 30sec to instant he would raise my pay to 90k a year, then walked away after I agreed, I was quite serious but I don't think he thought I was, so I decided to look over the system, IDK who but they put all the calculations and processing server-side for the CA's on floor then sent the completed view to the CA, so I spent months recreating the entire system except the server only pulled the data needed then the new client would do all the processing on their computer since they weren't doing anything anyways, I did a practice run today as its one of our peak days, wait times went to barely 5secs or "instant" according to CA's, I walked into the office, slapped that hourly report down after just two hours and showed the massive increase in employees production times.
That look on his face...
That look on my face...
That look on my next check...
Bliss10 -
So today I got fired.
Why?
The Ceo forgot they asked me to take care of some business while he was gone. They went on a trip to get thier butt inflated (quite litterally kim kardashian status) for two months.
Me, A general employee, not a captain, or a division manager.
Turns out I ran the company a lot more efficiently than they did, reducing our man power from 5 staff per task down to one per task.
Not only that increased client retention 78℅
Was let go for overstepping my company roles.
I think they we're just a bit jealous, or ego was too large.
Luckily, one of the division managers took me under one of their teams and is secretly keeping me on until I bust out of this joint.
12 -
Fear of fucking failure and this thing called an inferiority complex.
I've had these two since highschool. I thought/was hoping the bullying would stop when I entered highschool but it only got worse.
All this lead to the fair of failure and inferiority complex I still notice and have to deal with every day.
The thing is that I know that I'm good at what I do and when I get a compliment I of course really like that but I forget about it rather quickly.
But I'm terribly afraid of failing/fucking something up badly and always that fucking feeling like you're inferior to every-fucking-one.
One might think that just telling me that I'm not inferior to anyone (and the other way around) helps, and I do appreciate it when people tell me that, but one person saying that once or twice is not going to overshadow the years and years and years of hearing the opposite.
Yes, that still eats me alive now and then and overcoming that with/in my work is still a huge-ass challenge.13 -
This happened when I was on third semester of the career at university. I had my first boyfriend, the "Python" guy. He has that nickname because he used Python as his main programming language and nobody on the classroom used it.
In a few words, he was a... horrible human being. He talked down to me almost all the time, saying to me that my country was sh*t (he is from United States, and for a reason he never wanted to told me, he cannot go back to his country), that my university was sh*t and he said "you're will be lucky if you rot programming in a chair".
As you might wondering, yes, unfortunately it was a toxic relationship. Once he said he wanted to kill the teacher because he though that he hacked his laptop D:
He claimed that he was going to teach me python and security stuff, bla bla bla, but nothing. I learned python by my own.
I almost lost my faith in dev future because I though that the only ones that could have a real future in programming where people without ethics and only if they have a friend or a relative on a company.
The saddest part was that I dated him because I love smart boys, but he was just an idiot that, furthermore, wanted to change me (he pressured me to have tattoos, dye my hair and have sex, things that, of course, I didn't do).
I found courage to break up with him. I waited until the semester ends (in order not to lose my programming final projects) and, the day after the last day of class, I broke up with him.
I recovered my faith on programming when, next semester, one of the teachers invited me to give a python programming workshop :D and I gave two python workshops, and two of mobile development.
Now I'm working as a junior .NET developer. Thank God I broke up with him before the relationship became even worse. "Python" wanted to marry me after a year! O_O11 -
Me: *listening to some random semi-obscure track on spotify, liking it, add it to playlist*
Come home, girlfriend playing the same track. "Yeah I've had that in my playlist for two weeks now". Our accounts are not linked in any way, and I only use Spotify on a PC at work, while my girlfriend only uses it at home.
It might just be coincidence, or us having similar tastes.
But the issue is that it's getting more and more difficult to know whether me and my girl are spiritually linked unique snowflake soulmates who are so perfectly in sync with each other, or whether an algorithm suggestively linked us both that song based on scraped location and behavior data.
And whether it matters. Maybe it matters. I don't know yet.
In twenty years maybe humans will be unsure whether it was a wonderful coincidence bordering on cosmic fate that you ran into your new love, or whether Google purposefully drove you towards the same lunch cafe at a specific time because it calculated that she was the perfect candidate to strengthen your susceptibility to advertisements over the coming decade.
Malicious AI will not come into lives bearing guns.
It will not instantly take all of our jobs and enslave us.
It will just know you better than you know yourself, it will know everyone around you better than you know them, and it will play incredible mind games. It will not be designed with malicious intent, just perfectly execute on top of the malicious systems we already have, and even arise as an emergent property within new systems.
It will rarely be clearly visible, but you will increasingly say to yourself: "That's odd, I was just thinking about that". It will detect depression from a smile, physical attraction from a glance, reliability from patterns in your voice and illness from the bloodflow in your cheeks.
It will not just make our cars autonomous, it will make our lives autonomous. It will protect us, decide for us, keep revenues and human satisfaction in a "balanced maximized" state, it will make everything feel easy, slightly abuse us, and when one of us suddenly crashes at 140 mph into depression, debt or addiction it will prove impossible to know whether the humans or the algorithms were at fault.
I'm incredibly afraid and excited about the coming 10 years.12 -
My current project at work: purchase verification, aka anti-fraud.
It's been two weeks, and my boss is flipping out because it isn't done. A robust anti-fraud solution. in two weeks. And he thought one week was a little much.
like, fucking really?
There are companies whose entire service is helping combat fraud. and he wants this done in a bloody week?
What makes me laugh through my tears of frustration is that the company that moved into the previous office? Yep, anti-fraud. Their entire business model is providing anti-fraud services to other businesses. They even tried selling him on it when they moved in. Bossman sales guy turned it around and sold my freaking desk out from under me instead.
But like. They're a small company: they had 9 people when they moved in, and were looking to add three more, so a total of 12 people. (I totally considered jumping ship, but their stack was too different.)
So. Bossman wants me to replace 9-12 people and their entire business in a fucking week. Yeah.
"Oh, but it's just sms verification" says he. What he also wants is the ability to flag users as fraudulent, have sticky verifications so they can't bypass them by backing out, have email checks as well as sms, have deferred verification to allow collecting required info (e.g. phone number), verification fallback, lockouts, manual admin whitelisting, admin blacklisting, and different rules per merchant and rule groups for affiliates to apply to all of their merchants, and of course the ability to customize those merchant/affiliate anti-fraud rules. But he shortens this gigantic list to "I want sms verification," despite actually asking for all of the above. I don't want to know about the mental gymnastics and/or blindfolding required to equate the two, but he's nuts.
Yeah.
All of that.
In a goddamn week.
And I get chewed out when it isn't done? Fuck off.
Go build me a goddamn 5m ft^2 castle out of basalt and marble using only your toothbrush and a rusty garden trowel, and have it done in a week. No outsourcing.
talk about ridiculous.5 -
I’m surrounded by idiots.
I’m continually reminded of that fact, but today I found something that really drives that point home.
Gather ‘round, everybody, it’s story time!
While working on a slow query ticket, I perused the code, finding several causes, and decided to run git blame on the files to see what dummy authored the mental diarrhea currently befouling my screen. As it turns out, the entire feature was written by mister legendary Apple golden boy “Finder’s Keeper” dev himself.
To give you the full scope of this mess, let me start at the frontend and work my way backward.
He wrote a javascript method that tracks whatever row was/is under the mouse in a table and dynamically removes/adds a “.row_selected” class on it. At least the js uses events (jQuery…) instead of a `setTimeout()` so it could be worse. But still, has he never heard of :hover? The function literally does nothing else, and the `selectedRow` var he stores the element reference in isn’t used elsewhere.
This function allows the user to better see the rows in the API Calls table, for which there is a also search feature — the very thing I’m tasked with fixing.
It’s worth noting that above the search feature are two inputs for a date range, with some helpful links like “last week” and “last month” … and “All”. It’s also worth noting that this table is for displaying search results of all the API requests and their responses for a given merchant… this table is enormous.
This search field for this table queries the backend on every character the user types. There’s no debouncing, no submit event, etc., so it triggers on every keystroke. The actual request runs through a layer of abstraction to parse out and log the user-entered date range, figure out where the request came from, and to map out some column names or add additional ones. It also does some hard to follow (and amazingly not injectable) orm condition building. It’s a mess of functional ugly.
The important columns in the table this query ultimately searches are not indexed, despite it only looking for “create_order” records — the largest of twenty-some types in the table. It also uses partial text matching (again: on. every. single. keystroke.) across two varchar(255)s that only ever hold <16 chars — and of which users only ever care about one at a time. After all of this, it filters the results based on some uncommented regexes, and worst of all: instead of fetching only one page’s worth of results like you’d expect, it fetches all of them at once and then discards what isn’t included by the paginator. So not only is this a guaranteed full table scan with partial text matching for every query (over millions to hundreds of millions of records), it’s that same full table scan for every single keystroke while the user types, and all but 25 records (user-selectable) get discarded — and then requeried when the user looks at the next page of results.
What the bloody fucking hell? I’d swear this idiot is an intern, but his code does (amazingly) actually work.
No wonder this search field nearly crashed one of the servers when someone actually tried using it.
Asdfajsdfk.rant fucking moron even when taking down the server hey bob pass me all the paperclips mysql murder terrible code slow query idiot can do no wrong but he’s the golden boy idiots repeatedly murdered mysql in the face21 -
(Interview for sde-3 position)
(continuation of https://devrant.com/rants/2132431/... )
Interviewer - *opens laptop. Gives a question.* solve this.
Me - *a bit surprised that such questions were being asked on a sde-3 level*
this is the 4th or 5th question from geeksforgeeks, isn't it? I know the answer to this. Do u still want me to solve it?
Interviewer - *not believing me* Yes
Me - okay. Well this *writing down the original solution mentioned on the site* is the verbatim code mentioned on the website, with complexity O(n^2).
However I feel this is not the optimal solution. Let me write a better solution.
*I provide a better solution*
This has a complexity of O(n log n) . What do you think?
Interviewer - Nope. This could be a lot better.
Me - okay. Let me see. Did some minor changes, added some caching (obviously this will have no effect on the base algorithm) etc
How about now?
Interviewer - nope. Still not good.
Me - okay. Can you tell me how to improve it?
Interviewer - no we are not allowed to solve problems for you. It is not our interview, it is yours.
Me - that makes no sense. Interviews are a two way street. I'd very much like to know the optimal answer to this.
Interviewer - okay
*copies down the answer from geeksforgeeks*
This is good
Me - *at first I thought this was a prank or something. *
I just mentioned this answer here.
Then I spent the next 10 minutes providing a BETTER solution.
May I know how yours is better?
Interviewer - this solution has 2-3 loops. Yours has a function calling itself.
Me - that's called divide and conquer using recursion mf!
Anyways let's take an example and do a dry run.
Interviewer - okay
*we do dry run*
Interviewer - oh yes. Yours ran faster. But it will run fast only sometimes.
Me - yes. Each time the algorithm rolls a dice to decide if it should run fast or slow. You have one goddamn awesome weed dealer man.
I got to go. Thank you for meeting me.14 -
Look... I know I'm just a newbie. I started a year ago as a junior. Sure. No one wants to do code review, so I got chosen to do it. People don't like it when their code gets criticised. And you know what? I get it, I should probably be a bit nicer with my comments. I should not suggest I'll make a fork and split internal library into two streams if things continue this way. I should not ask questions that can be understood as me being passive-aggressive.
But holy fucking shit, you're a senior developer. Don't treat Java as a fucking scripting language. Don't have a method that has 600 lines of code, because you're repeating the code! You've already copy pasted this shit, and modified it slightly. Like, couldn't you have created some architecture around the code? How can a senior dev copy-paste code?
Oh and why the fuck did you create a new utility class for functionality I already provide? Look, I admit, yours is a lot better, ok? It has extra functionality. But why the fuck didn't you enhance my utility class? Why did you create a new one? Did you just not want to touch my code, or did you not see it right below your newly created class?
Am I the only one who fucking cares about maintainable code in this company? When I got hired, I was in tears by how frustrating a lot of the things were. No documentation anywhere, not even fucking comments. No processes in place. Want to do something? Source code is your documentation. Fuck you! I busted my ass of to force everyone to document every little bullshit, to re-factor their MRs that I reviewed, and I won't let even a senior fucking dev pollute the code base!
Fuuuuuck... Me...2 -
My team handles infrastructure deployment and automation in the cloud for our company, so we don't exactly develop applications ourselves, but we're responsible for building deployment pipelines, provisioning cloud resources, automating their deployments, etc.
I've ranted about this before, but it fits the weekly rant so I'll do it again.
Someone deployed an autoscaling application into our production AWS account, but they set the maximum instance count to 300. The account limit was less than that. So, of course, their application gets stuck and starts scaling out infinitely. Two hundred new servers spun up in an hour before hitting the limit and then throwing errors all over the place. They send me a ticket and I login to AWS to investigate. Not only have they broken their own application, but they've also made it impossible to deploy anything else into prod. Every other autoscaling group is now unable to scale out at all. We had to submit an emergency limit increase request to AWS, spent thousands of dollars on those stupidly-large instances, and yelled at the dev team responsible. Two weeks later, THEY INCREASED THE MAX COUNT TO 500 AND IT HAPPENED AGAIN!
And the whole thing happened because a database filled up the hard drive, so it would spin up a new server, whose hard drive would be full already and thus spin up a new server, and so on into infinity.
Thats probably the only WTF moment that resulted in me actually saying "WTF?!" out loud to the person responsible, but I've had others. One dev team had their code logging to a location they couldn't access, so we got daily requests for two weeks to download and email log files to them. Another dev team refused to believe their server was crashing due to their bad code even after we showed them the logs that demonstrated their application had a massive memory leak. Another team arbitrarily decided that they were going to deploy their code at 4 AM on a Saturday and they wanted a member of my team to be available in case something went wrong. We aren't 24/7 support. We aren't even weekend support. Or any support, technically. Another team told us we had one day to do three weeks' worth of work to deploy their application because they had set a hard deadline and then didn't tell us about it until the day before. We gave them a flat "No" for that request.
I could probably keep going, but you get the gist of it.4 -
New job, started two months ago. Forced to use a MacBook. First time using iShit in my life.
- Laptop reboots randomly every three weeks or so "because of an error" (thanks, very informative error message).
- Sometimes if I use two screens and I lock my laptop, only one screen gets locked.
- The most simple tasks require a fucking large number of clicks. There are almost no keyboard shortcuts. My hand hurts because of this, and after two months the pain is getting worse and worse.
- Yes, I know there are apps that give you extra keyboard shortcuts, but those don't help much. I never used a mouse in 10 years.
- Window management sucks. It's so broken and poor in so many ways, I don't know where to start.
- Random errors and pop-ups are the norm.
- I have only four fucking USB Type C ports. I can somehow understand having only Type C because it looks cool, but fuck at least give me 6 of them, or 8. Do you really have to force me to use a USB hub, in addition to a shitload of adapters?
- Multiple monitors don't work unless the laptop is connected to the power adapter.
- The above point means, in practice, that I have exactly zero USB Type C ports available to me: one is used for the power adapter, two are for the two monitors, and one for the USB hub. Whenever I have to connect something that has Type C, I have to choose between monitors and going fuck myself.
- I don't want to comment on performance, cooling system or battery life. This would be a waste of time. Let's just say that it's shit.
Now, dear Apple fangirls and fanboys, please downvote this rant. I want your downvotes, so please don't hesitate to press that (--) button. But please let me say that these products are shit, pure shit. Fuck Apple and their overpriced products.22 -
I was a little too harsh on a colleague today.
He asked to help him get something working... After looking at it for a bit, I asked: "I don't get it, what have you been doing all day? Yesterday we split this element into two separate divs, and it worked perfectly, now I've see you've moved all the styles back to the container and there's only one div. The easiest way to get this to work properly is to simply undo everything you've done today."
He looked at me with puppy eyes and I realized I was too harsh. He wasn't _trying_ to break everything, he just hadn't understood why we split the element into two divs. So I lowered my tone a bit, and explained everything again, from the start, then did it again together with him and made sure he understood the separation.
But I still feel bad for how I talked to him. It's not like I shouted or cursed or anything (and I curse a _lot_ when talking about code). It was just condescending as fuck, and belittling. As if I was mocking him for not being as experienced as I am.
I'll do better next time.8 -
- Take a course called "Mobile Application Development"
- Teacher is new and is thus lost on how things work because there is no formal training for them
- Teacher only knows Objective-C so that's all we're allowed to use
- Nobody owns a Mac and I think one or two people had an iPhone/iPad
- Only 4 public Mac computers are available to the school
- One to two people are on them frequently, limiting our time on them as well
- Not a part of the schools normal imaging and updating system, so we get to do it ourselves, which takes up like a week or two of classes (4 classes)
- This includes installing XCode and getting Apple IDs
- No real instructions are given besides "implement the APIs for Facebook, Twitter, and Google Maps into an app"
- Being an ass, for the final day instead of showing off the app we made I made a PowerPoint of my dislike of Objective-C and various struggles I ran into and how I decided not to make the app at all.
- shrug emoji4 -
I am the new girl. While I’ve been at this company for two years, I’ve only been in my new position a little over a month. I haven’t quite figured out if I am sysadmin or devops yet. It’s a bit all over the place. I am building a new thing at work. I build different types servers and set them on fire frequently as a hobby. This one is a stack I haven’t built before. It wasn’t working. I eventually got to the point where I told the other guy maybe I should consider resigning, I’m not qualified for this job. He said... Finally... now you’re going to figure it out and fix it. The next day, I did find what I kept overlooking and made it work. I guess this is life now.5
-
Ahhhhh devrant... long time no see.
I just need to get something off my heart. The past two years, I worked for the same ISP in Germany, but now as a devops engineer. Well, popo hit the fan really quick lately..
First a good friend, team lead for one of five areas in Germany, quit his job. He was one of the nicest persons I knew, and he believed that all that five areas should work together and share dev resources. Thats why I work mostly in other areas as developer.
Shortly after, his deputy quit as well. I heard that this specific area, the management were a bunch of dicks, but wow!
A short while later, I learnd the hard truth, why those two good friends quit, and that brings me to this story. In a meeting I readied myself up to present my new plattform - a social room - to management. I got a lot of positive feedback from others and we thaught managment would approve of the project. But nope. "We can buy from external, we dont need to program ourselfs. In fact lets stop spending money on internal programming, we should outsource everything!"
I was baffeld... Wtf did i just witness? My team lead didn't say anything, and afterwards I didn't dare to question it, but I told most of my close dev friends and we all realizied, that the rumors were true... We will be shifting into project managment.
At this point, I realized that I wasnt having it, and made a linkedIn account, not because I wanted to switch jobs, but because, meh you never know.
One week ago, one of my bestest buddies said he will quit and join his team lead that left eariler this year, I was heartbroken. Me and our other buddy are devestated, because now we have to do everything he had done. Management didn't listen as we told them that nobody can maintain his code. I have so many projects, I can bearly keep up with them. Now I got a lead role for creating the server infrastucture for a huge project my buddy was working on. Only as specialist and not PM, but his Team Lead thinks I am replacing him!
Last week I got a message on LinkedIn, a consulting firm reached out to me to aquire me as a new consultant or devops engineer. They look great, only less vacation (26 instead of 30 days), 40h shifts instead of 38h and only slightly more base payment. I currently receive about 53.000€ a year, the new firm only grants up to 60.000€ a year for anyone. Otherwise, they look great.
With all my buddies quitting around me, work getting more while time developing decreasing, I don't know what the right thing to do is... There is no way I can get a payment increase in my current position. I always say "my workplace is save, but my work isnt". I don't want to do project managment.
Today I have a meeting with my team lead, she is really nice btw. This is an annual meeting where we discuss my future in the company etc. Shortly after, I have a meeting with the new firm to discuss a bunch of questions I have.
I dont know what to do...
Edit: I missed you, devrant5 -
I'm trying to sign up for insurance benefits at work.
Step 1: Trying to find the website link -- it's non-existent. I don't know where I found it, but I saved it in keepassxc so I wouldn't have to search again. Time wasted: 30 minutes.
Step 2: Trying to log in. Ostensibly, this uses my work account. It does not. Time wasted: 10 minutes.
Step 3: Creating an account. Username and Password requirements are stupid, and the page doesn't show all of them. The username must be /[A-Za-z0-9]{8,60}/. The maximum password length is VARCHAR(20), and must include upper/lower case, number, special symbol, etc. and cannot include "password", repeated charcters, your username, etc. There is also a (required!) hint with /[A-Za-z0-9 ]{8,60}/ validation. Want to type a sentence? better not use any punctuation!
I find it hilarious that both my username and password hint can be three times longer than my actual password -- and can contain the password. Such brilliant security.
My typical username is less than 8 characters. All of my typical password formats are >25 characters. Trying to figure out memorable credentials and figuring out the hidden complexity/validation requirements for all of these and the hint... Time wasted: 30 minutes.
Step 4: Post-login. The website, post-login, does not work in firefox. I assumed it was one of my many ad/tracker/header/etc. blockers, and systematically disabled every one of them. After enabling ad and tracker networks, more and more of the site loaded, but it always failed. After disabling bloody everything, the site still refused to work. Why? It was fetching deeply-nested markup, plus styling and javascript, encoded in xml, via api. And that xml wasn't valid xml (missing root element). The failure wasn't due to blocking a vitally-important ad or tracker (as apparently they're all vital and the site chain-loads them off one another before loading content), it's due to shoddy development and lack of testing. Matches the rest of the site perfectly. Anyway, I eventually managed to get the site to load in Safari, of all browsers, on a different computer. Time wasted: 40 minutes.
Step 5: Contact info. After getting the site to work, I clicked the [Enroll] button. "Please allow about 10 minutes to enroll," it says. I'm up to an hour and 50 minutes by now. The first thing it asks for is contact info, such as email, phone, address, etc. It gives me a warning next to phone, saying I'm not set up for notifications yet. I think that's great. I select "change" next to the email, and try to give it my work email. There are two "preferred" radio buttons, one next to "Work email," one next to "Personal email" -- but there is only one textbox. Fine, I select the "Work" preferred button, sign up for a faux-personal tutanota email for work, and type it in. The site complains that I selected "Work" but only entered a personal email. Seriously serious. Out of curiosity, I select the "change" next to the phone number, and see that it gives me four options (home, work, cell, personal?), but only one set of inputs -- next to personal. Yep. That's amazing. Time spent: 10 minutes.
Step 6: Ranting. I started going through the benefits, realized it would take an hour+ to add dependents, research the various options, pick which benefits I want, etc. I'm already up to two hours by now, so instead I decided to stop and rant about how ridiculous this entire thing is. While typing this up, the site (unsurprisingly) automatically logged me out. Fine, I'll just log in again... and get an error saying my credentials are invalid. Okay... I very carefully type them in again. error: invalid credentials. sajfkasdjf.
Step 7 is going to be: Try to figure out how to log in again. Ugh.
"Please allow about 10 minutes" it said. Where's that facepalm emoji?
But like, seriously. How does someone even build a website THIS bad?rant pages seriously load in 10+ seconds slower than wordpress too do i want insurance this badly? 10 trackers 4 ad networks elbonian devs website probably cost $1million or more too root gets insurance stop reading my tags and read the rant more bugs than you can shake a stick at the 54 steps to insanity more bugs than master of orion 312 -
One thing I've learned repeatedly over the last 20 years is that companies are generally not deserving of your loyalty.
By all means, show up, apply yourself, and do your best work, that's just being a professional. But never get emotionally invested in a company you don't own.
There are really only two reasons for staying: earning or learning, ideally both. Once you have exhausted your current employer's limits in this regard, move on, you don't owe them anything.3 -
Back in Hell, we had a “company summit” where everyone flew in for an all hands meeting.
It was three days long in a tiny office with very lacking air conditioning in the middle of a Las Vegas summer. Basically the entire thing was the CEO / goblin salesman king chewing at us and expounding about / proselytizing his latest and greatest sales ideas and how they’ll change the world. And randomly asking “which of you are HUNGRY?! Which of you want to be FILTHY FUCKING RICH?!” etc.
One good thing came out of it, which was that any and all new endeavors needed a “co-signer” and a sign off from development before we (developers, or more accurate: just me) would work on it. It reduced the growth rate of my backlog by like 80%, which was nice.
While dreading the “summit,” I hated him more than I had in quite awhile.
During the summit, I hated him more and even flipped him off.
After the summit, I swore to leave the revolting wreckage that was the company.
(And months later, I did just that —after becoming the sole dev and the only person holding the damned company afloat. When I gave him my two weeks’ notice, I absolutely relished his terror. And my time spent writing my 43 page no-sugarcoat handoff document that was guaranteed to scare off any hapless dev he might find. 😇)
But I digress, three 10-hour days with him and the rest of the sales team, the sleazy lawyer, the CTO who mentally checked out years ago, the yes-man contractor, and me. The only good thing that came out of that meeting was one good idea that he dismissed, and the sign off idea that saved my backlog a bit.
One of the sales people quit shortly thereafter. So it was a huge expense that wasted everyone’s time and added absolutely nothing of value to the company. GG!
Oh, it was also in the “totally better” office — meaning… cheaper, unfinished (literally plywood floors), and was one room in another company’s office, who often locked the door leading to their offices because they trusted him so much. But it was in downtown Las Vegas, with no parking at all, where gang members were hanging out almost every day, and it was next to low-income housing and weird no-service restaurants with shockingly high prices.
Weird and scary.
Very scary.
Totally carried pepper spray every time Mr. Goblin asshole forced me to go into the office. Didn’t get raped, though, or my laptop or car stolen. So that was nice.5 -
At an interview, the first round was an online coding round. Two questions, one easy one hard, 90 minutes, easy peasy.
I solved the hard one first.
A bit of good logic, followed MVC pattern, all done. Worked flawlessly.
Submitted code. Online compiler threw up an internal error citing java is an invalid command(jdk not found).
Called the invigilators. What I heard next, I couldn't believe this shit.
"We're not responsible for any errors you may be having. Figure it out yourself"
I was like WTF dude. This is not even a compilation or runtime error!
After a heated discussion, I made him look at the code.
Him - what is all this classes and all? Why haven't you written everything inside the main function?
Me - those are model classes. Those are different helper functions. That is a recursive function to avoid 5 for loops and use divide and conquer. Ever heard of OOP? what kind of person writes a 300 line program inside one function?
Him - no no we write it like that only. Correct this.
Me - I fit everything inside the main function. Still the same error, java not installed. Called the idiot to have a look at it.
Him - yeah your code is wrong.
Me - may I know what's wrong with it? Can you fix it please?
Him - no no we aren't allowed to see the code (he had already read it twice. It was compiling and running perfectly, locally) .
Yeah you solved only 1 problem, you were supposed to solve 2.
Me - yes because the rest of the time I had the pleasure of your company. (It isn't everyday that I see talking buffoons.)11 -
I'm the sole developer at work.
Literally the entire company, save myself, is sales people. (We have one remote mobile contractor as well, but he only does mobile; I'm responsible for everything else.)
I inherited a gigantic pile of nightmare from the previous "senior-level intern" solitary dev/CTO, and I'm still trying to figure out the bulk of it, meaning everything takes longer.
Anyway, we have a meeting roughly once a week, and during each of these -- and several times throughout each week -- the salespeople say things like "We should address this" or "This should be our top focus" or "We really need ___ so I can sell more merchants" or "___ doesn't work right; we should fix it." All of these "we"'s and "our"'s, of course, mean me.
So, today, I decided I'd make a list of everything I have to do, and their general size. Assuming large projects will take one month, medium projects will take one week, and small projects will take one day... I have four months, two weeks, and four days of work ahead of me. (yet I know one of those large projects will take at least two months...)
Make it stop ;;11 -
TLDR: In defense of Powershell - the rant:
I don’t get the Powershell hate.
You don’t hate a screwdriver for not being able to turn a nut, you just *don’t use a screwdriver to turn a nut*
Once you recognize what the tool is good for and you don’t try to use it like Bash, it’s wildly powerful, and satisfying to use in a way Cmd.exe never was.
Cygwin or a Linux Subsystem can only go so far on a Windows computer. You’re dealing with two fundamentally different OS architectures. It makes sense you’d need different tools.
And like it or not, Microsoft owns the non-tech-user desktop , corners the non-tech server business market, and Active Directory is THE tool for managing Windows desktops on a large scale - So Wanblows is not going away anytime soon.
Automation without some weird ass sysVol batch login script is finally possible. Anyone who knows .Net classes can leverage their methods from directly within Powershell. Remote management of headless Windows servers is now a reality. If you have an Office 365 Exchange server you can literally Powershell remote to it for management, just like your favorite cloud hosted Linux distribution.
No one said Windows is a better OS, but an object based shell on an object based OS *makes sense*. It’s useful for its environment. Let it be.10 -
As a German developer living in Germany, I am used to write my code completely in English. In all of my former companies that was also the norm. In one company, we even talked completely in English with each other to a point where even if only German people where in a room, they would default to English at one point in a conversation because it became second nature to us.
(That company was very international and we had a lot of people from all over the world working there.)
Now, I work at a new German company that focuses on the German market. And for some reason I failed to ask them:
Do you write your code in English?
Because that's the norm, isn't it!? I just assumed it to be the case.
Nope! This time it is a mess of German and English term intermixing in glorious abysmal ways I never thought possible.
Sometimes we translate terms, sometimes we don't. So you have to wrap your mind around collections of words that COULD mean the same thing unless they don't. Best case, you have two words for the same thing, but I've seen up to five words (or abbreviations) to describe one business entity. Madness.
And don't get me started on the plurals. In English, it's almost exclusively: add an `s`.
In German, the singular and plural can be the same (e.g. all nouns ending with `-er`) so tough luck determining if you are on an object or an array of objects. (Weak typing language in use does not help either but that's an entirely different rant.)25 -
So;dfjkhijasdfkjq;sdfhjkl;asdf
I copy a line from one spec (to create a user) and paste it in another spec. It works just dandy in the first, and throws MySQL missing column errors in the other.
Fucking what.
This codebase is full of shit like this. Things work in one place but not another, and it’s never obvious why. Tens of thousands of gotchas and quirks. The only way I can get an answer to things like these is to either beg my boss for an explanation, which I’m sure he’s long since tired of, or spend a full day (or more) wading through several rabbit holes filled with raw sewage.
I wasted two hours today trying to get a simple fucking factory to work. And you know what? I just gave up and used the existing admin user. Yeah it’s a bad idea, but it’s fucking good enough.
They can yell if they want.
I have no cares left.rant non-deterministic this train went off the rails long ago so done so tired trainwreck idc puffing billy15 -
Story time:
Yesterday I wanted to go to the theater with my girlfriend. It was her idea because as a student you can get reduced tickets for the play, but only via the online store exactely two hours before the play starts. We had already tried two weeks before but with no success. So this time I said i want to be on my pc with a proper browser and not a mobile version like last time. So we are sitting at home me in front of their website on one screen and with a clock on the other screen. Two minutes realy i hit refresh and I get a selection for the reduced tickets, nice.
You would think.
After selecting the amount. ERROR: Can not get your tickets. I was like fuck they are already sold out because it's a popular play. But hey let's try again. I got one ticket but not the second one, okay strange lets try again, same ERROR again. WHAT the FUCK, no feedback what so ever. My girlfriend had then the idea that they maybe restricted the amount for reduced tickets to one (does not state this explicitly but hey lets give it a shot). Use second browser select one ticket. ERROR can not get you the amount of seats. Rage level near to a 1000 why did it work two minutes before but not anymore. Trying around for five more minutes finally got the second ticket.
Now the real fun begins.
Proceeding to checkout should not be that hard you would think, but you need to be registered for that. Okay so let's do that. The salutation is not required neither is the address for the tickets but you need to have a company name??!!!!! The fuck?? I am not self employed and neither are a most other people around here so why is this field mandatory? Beeing a little under stress I decided to found the "asdf" company with my girlfriend.
Now one would think checking out is easy. Not so fast.
After accepting the terms of service another ERROR, unable to accept your data. What data? I did not input anything new? Where does this come from? Ok never mind I am going to pay with credid card that must work!
ERROR: Internal paymentservice initialization failure! Sorry what? I thought maybe I was to long idle in this browser and they do not reserve the tickets for so long (which would be no surprise to me at this point). Let's try again. Nope same error.
Now my rage level was really over 9000 but we really wanted to go so I decided to call the customer SUPPORT. Or better to say I had a answering maching telling me for ten minutes how sorry they are that this takes so long, yeah you bet. Then and this is now really great: the support guy asks me: "What error do you see? Internal paymentservice initialization failure?" I was like, okay he knows this so they need to know how to handle it. FUCK NO. "Sorry I can't help you. This is our payment system maybe they (IT) are doing some maintenance I can't halp you. Call the theater directly good day." Sorry what just happened, you fuckers are the vendors for the tickets for nearly all big events around here and the theater explicitly states to call you for tickets but you can not help me? Like hell.
This process took 25 very frustrating minutes and I was really angry and wanted to quit, then I saw that there is also a paypal option which I had not tried. With very little hope i selected everything for the payment, registered with paypal and they told me I already had an account. So reactivated this five year old account payed with all the mobile passwords and tans to finally, after 30 fucking minutes, get a pdf file for a ticket. Repeated the last step for the second ticket and with some time left to get there we were off.2 -
Professor in Programming 1 & 2, 54 years old, divorced, has two kids in our age, golf player
Every time, he came in, we started with the lecture, than he started to talk about politics, greta, the stupid young people, specially the women, always the women. While he was talking to himself or asking us students very personal questions to judge us and recommend how we should do it better, he was talking himself into rage. We never learned something about cs or java longer than 10 minutes, the other long hours he only talked and talked about personal stuff or politics.
One day he asked us about the method of training a dog. You train a dog with pushing his face into his own pee. Than he said with us it is more difficult and that if he would be allwoed he would use methods like this and other very effective stuff on us.
He always starts his emails with
Dear humans
To make fun about gendering.
Another day a student came 1 minute to late, the prof stopped talking became very angry, first he went to a armchair and was sitting there for 15 minutes without saying a word, than he left without a word the room for 30 minutes and when he came back we had to listen to one of his monologues for some hours like usually.
And these are only some samples, he always acted like a little kid, but our university is very poor and i dont think they can effort a better professor for this.9 -
For fucks sake, just because you don't know anything besides JS, you don't have to constantly complain how it's "so fucked up"!
Yeah there's a lot of frameworks. So what? Python has 50+ wsgi frameworks just for server-side apps, Linux has literary hundreds of desktop environments, C++ has over 30 actively-developed UI frameworks, and let's not even get started on CMSs or game engines. And each language comes with its own dependency management or two, NPM discourages static linking & bundling dependencies until the very end, while some others only recommend dynamically linking widely-available dependencies & always bundling the remaining ones.
Software development is constantly evolving, and for most time there's no right or wrong approach. And when one approach is chosen over another, there's a reason for that. Imagine you just found a perfect library for your use case, but some idiot decided to only offer minified code with bundled jQuery? Or a different idiot made it impossible to have multiple versions of a dependency on your system without resorting to one of various third-party hacks?
Every language has a ton of various frameworks & libraries that ultimately do the same thing, every language has a bunch of design choices you probably don't understand at first, and every language was made with a purpose and the fact that you're using it proves it achieved that.
Last but not least, all devs had to learn about quirks in various languages, and they're fucking tired when someone who barely knows a language tries to act smart going "ahaha how the fuck 0.1 + 0.2 isn't 0.3".10 -
I worked for over 13 hours yesterday on super-urgent projects. I got so much done it's insane.
Projects:
1) the printer auto-configuration script.
2) changing Stripe from test mode to live mode in production
3) website responsiveness
I finished two within five minutes and pushed to both QA and Production. actually urgent, actually necessary. Easy change.
The printer auto-configure script was honestly fun to write, if very involved. However, the APIs I needed to call to fetch data, create a printer client, etc... none of them were tested, and they were _all_ broken in at least two ways. The CTO (api guy in my previous rant) was slow at fixing them, so getting the APIs working took literally four hours. One of them (test print) still doesn't work.
Responsiveness... this was my first time making a website responsive. Ever. Also, one of the pages I needed to style was very complicated (nested fixed-aspect-ratio + flexbox); I ended up duplicating the markup and hacking the styling together just to make it work. The code is horrible. But! "Friday's the day! it's going live and we're pushing traffic to it!" So, I invested a lot of time and energy into making it ready and as pretty as I could, and finally got it working. That page alone took me two hours.
The site and the printer script (and obv the Stripe change as well) absolutely needed to be done by this morning. Super important.
well.
1) Auto-configure script. Ostensibly we would have an intern come in and configure the printers. However, we have no printers that need configuring, so she did marketing instead. :/ Also, the docs Epson sent us only work for the T88V printer (we have exactly one, which we happened to set up and connect to). They do not work for the T88VI printers, which is what we ordered. and all we'll ever be ordering. So. :/ I'll need to rewrite a large chunk of my code to make this work. Joy :/
2) Stripe Live mode. Nobody even seemed to notice that we were collecting info in Test mode, or that I fixed it. so. um. :/
3) Responsiveness.
Well. That deadline is actually next Wednesday. The marketing won't even start until then, and I haven't even been given the final changes yet (like come on). Also! I asked for a QA review last night before I'd push it to production. One person glanced at it. Nobody else cared. Nobody else cared enough to look in the morning, either, so it's still on QA. Super-important deadline indeed. :/
Honestly?
I feel like Alice (from Dilbert) after she worked frantically on urgent projects that ended up just being cancelled. (That one where Wally smells that lovely buttery-popcorn scent of unnecessary work.)
I worked 13 hours yesterday.
for nothing.
fucking. hell.undefined fuck off we urgently don't need this yet! unnecessary work unsung heroine i'm starting to feel like dark terra.7 -
This happend to me around 2 weeks ago. For some reason, I decied to post this now.
I won the lottery, yey! I mean, bot really, but I am <19yo student, "less than junior dev" in my office, but sonce I am the only one who is capable of working with hardware, I was working month back as a sysadmin for a few days. Our last sysadmin was really good working but really, really toxic guy, so he got fired on a spot after argument with some manager or whatever, no big deal, we could have another guy hired in a week. But, our backup server literally was on fire, all data probably dead because bad capacitor or whatever. This was our only backup of everything at the time. Everyone in full fucking panic mode, we had literally no other working HW we could use for backup, but then comes me, intern employed on his first dev job for 3 months. That day I bought some HW for my own personal server at home (Intel NUC with some Celeron, 4GB DDR4 RAM and two 240GB SSDs for RAID 1. My manager asked everyone in the office for sollution how to survive next 4 days before new server arrives. People there had no idea what tk do and no knowedgle about HW, I just came from a break and offered my components for a week, since there was noone else who can work with HW, servers and stuff like this, manager offered me $500+HW cost if I, random intern, can make it work. I installed Debian on that little PC, created RAID1 from both SSDs, installed MySQL server and mirrored GIT server from our last standing server (we had two before one of them went lit 🔥), made simple Python script to copy all data on that RAID, with some help of our database guy copied whole DB from production to this little computer and edited some PHP so every SQL request made on our server will run on that NUC too. Everything after ±2 hours worked perfectly. Untill a fucking PSU burned in our server and took RAID controller with him in sillicon heaven next night, so we could not access any data unltill we got a new one. Thanks to every god out there, I was able to create software RAID from survived HDDs on our production server and copy all data from that NUC on the servers software RAID and make it working at 3 AM in the night before an exam 😂. Without this, we would be next ±40 hours without aerver running and we might loose soke of our data and customers. So my little skill with Linux, Python, MySQL and most importantly my NUC hardware I got that day running as a backup server saved maybe whole company 😂.
Btw, guess who is now employee of the year with $2500 bonus? 😀
Sorry for bragging and log post, but I was so lucky an so happy when everything worked out, good luck to all sysadmins out there! 👍
TL:DR: Random intern saved company and made some money 😂7 -
So I once had a job as a C# developer at a company that rewrote its legacy software in .Net after years of running VB3 code - the project had originally started in 1994 and ran on Windows 3.11.
As one of the only two guys in the team that actually knew VB I was eventually put in charge of bug for bug compatibility. Since our software did some financial estimations that were impossible to do without it (because they were not well defined), our clients didn't much care if the results were slightly wrong, as long as they were exactly compatible with the previous version - compatibility proved the results were correct.
This job mostly consisted of finding rounding errors caused by the old VB3 code, but that's not what I'm here to talk about today.
One day, after dealing with many smaller functions, I felt I was ready to finally tackle the most complicated function in our code. This was a beast of a function, called Calc, which was called from everywhere in the code, did a whole bunch of calculations, and returned a single number. It consisted of 500 or so lines of spaghetti.
This function had a very peculiar structure:
Function Calc(...)
...
If SomeVariable Then
...
If Not SomeVariable Then
...
(the most important bit of calculation happened here)
...
End If
...
End If
...
End Function
But for some reason it actually worked. For days I tried to find out what's going on, where the SomeVariable was being changed or how the nesting indentation was actually wrong and didn't match the source, but to no avail. Eventually, though, after many days, I did find the answer.
SomeVariable = 1
Somehow, the makers of VB3 though it would be a good idea for Not X to be calculated as (-1 - X). So if a variable was not a boolean (-1 for True, 0 for False), both X and Not X could be truthy, non-zero values.
And kids these days complain about JavaScript's handling of ==...7 -
Story, !rant.
This memory came up as I was commenting on another rant, and thought it was worthy of a better retelling.
So about a year or two ago, I had just gotten a Software Defined Radio, and was tinkering with it and looking around for cool stuff I could do with it. After stalking planes for a while (caught a 747 over my area 😎) I saw this program that decoded satellite images of earth, coming from the NOAA satellites. I thought this was amazing.
So I waited until one was over my area and let the software do its magic. The image was not great, since I had this set up on the first floor and there was a lot of material between me and the satellite.
So I came to the brilliant conclusion that I'd leave the program on automatic more (it will start sampling when the satellite is near) on my terrace, which should yield better results, right?
Perhaps. Who knows. Anyways, couple hours pass and we are running late to a family dinner. So we book it. Family dinner was great, good food and all, and was having fun, so never thought about my poor laptop, sitting alone in the night.
But then, when I was walking home in the rain... It hit me. I started running. I couldn't believe what I had done. Fast forward five minutes, and I'm out of breath, but home. I run upstairs, and see the laptop just sitting there, lid open, no lights on, and of course soaked right through.
I couldn't believe it. My only piece of tech at the time, and my only avenue for programming, gone. And I was 15, so I wasn't getting another one any time soon. Took it inside and drained the water out of it, and just left it there lying on its side.
Next day it worked just fine 🤣 the battery on my laptop only lasted max one hour, so by sheer luck it had lost power before the rain came. That is the one time I have to thank that battery for being such utter trash.7 -
WASM was a mistake. I just wanted to learn C++ and have fast code on the web. Everyone praised it. No one mentioned that it would double or quadruple my development time. That it would cause me to curse repeatedly at the screen until I wanted to harm myself.
The problem was never C++, which was a respectable if long-winded language. No no no. The problem was the lack of support for 'objects' or 'arrays' as parameters or return types. Anything of any complexity lives on one giant Float32Array which must surely bring a look of disgust from every programmer on this muddy rock. That is, one single array variable that you re-use for EVERYTHING.
Have a color? Throw it on the array. 10 floats in an object? Push it on the array - and split off the two bools via dependency injection (why do I have 3-4 line function parameter lists?!). Have an image with 1,000,000 floats? Drop it in the array. Want to return an array? Provide a malloc ptr into the code and write to it, then read from that location in JS after running the function, modifying the array as a side effect.
My- hahaha, my web worker has two images it's working with, calculations for all the planets, sun and moon in the solar system, and bunch of other calculations I wanted offloaded from the main thread... they all live in ONE GIANT ARRAY. LMFAO.If I want to find an element? I have to know exactly where to look or else, good luck finding it among the millions of numbers on that thing.
And of course, if you work with these, you put them in loops. Then you can have the joys of off-by-one errors that not only result in bad results in the returned array, but inexplicable errors in which code you haven't even touched suddenly has bad values. I've had entire functions suddenly explode with random errors because I accidentally overwrote the wrong section of that float array. Not like, the variable the function was using was wrong. No. WASM acted like the function didn't even exist and it didn't know why. Because, somehow, the function ALSO lived on that Float32Array.
And because you're using WASM to be fast, you're typically trying to overwrite things that do O(N) operations or more. NO ONE is going to use this return a + b. One off functions just aren't worth programming in WASM. Worst of all, debugging this is often a matter of writing print and console.log statements everywhere, to try and 'eat' the whole array at once to find out what portion got corrupted or is broke. Or comment out your code line by line to see what in forsaken 9 circles of coding hell caused your problem. It's like debugging blind in a strange and overgrown forest of code that you don't even recognize because most of it is there to satisfy the needs of WASM.
And because it takes so long to debug, it takes a massively long time to create things, and by the time you're done, the dependent package you're building for has 'moved on' and find you suddenly need to update a bunch of crap when you're not even finished. All of this, purely because of a horribly designed technology.
And do they have sympathy for you for forcing you to update all this stuff? No. They don't owe you sympathy, and god forbid they give you any. You are a developer and so it is your duty to suffer - for some kind of karma.
I wanted to love WASM, but screw that thing, it's horrible errors and most of all, the WASM heap32.7 -
3 person help desk shop for 450 users. One of my tasks is procurement.
Customer: we need a portable monitor that takes up less desk space than the one you typically have us buy
Me: at the conference last week we displayed the upgraded model of that portable monitor which takes up half the desk space. It’s $250 instead of the $150 that you normally would pay.
Customer: that ones too expensive, find me something else.
Me: unfortunately not too many companies make portable monitors and since AOC is unreliable in quality we have been recommending Asus, who only makes those two models that I’ve shown you.
Customer: I want the AOC one anyways. You shouldn’t have shown the more expensive one because now my staff want it and I can’t get it. If everyone can’t afford it you shouldn’t have it available.
Me: I understand your frustration, we have recommended that more expensive one as an option for people who have special accommodations for eye care and as an alternative if people dislike the current model. Since it’s not required that you purchase it and since we do have a much less expensive option we will continue to recommend it. As for the AOC one we will allow you to purchase it but will not be supporting or repairing it.
Customer: Can we get this instead? *sends link to $989 pre tax off brand version of Razer Project Valeria*5 -
TLDR; My 2TB HDD got wiped in one fell swoop by a 9-year old child.
You know... I've never been too great about keeping backups. Even to this day, I only keep one or two local backups and nothing on the "cloud".
So this was about 5 years ago. At the time, I was living together with my girlfriend - who would later become my wife. She had a son from a previous relationship, who at the time was 9 years old.
I had a small desk in the living room of our one-bedroom apartment, that I used for my computer, which has been a laptop for a long time now. One unfortunate thing about the layout of the apartment was that the wall plug near my desk was attached to a light switch.
I had a 2TB external hard drive - with its own power cable - plugged into my laptop. Then, things started to move in slow motion... The GF's son comes inside from playing, my GF asks him to turn off the light. He reaches over, and shuts off power to my laptop - and the external hard drive.
He must have hit that switch at JUST the right fucking time. The laptop ran on battery, no big deal. The hard drive, when I powered it back up - was wiped clean. I tried data recovery on it, but the HDD was encrypted, which makes things more complicated.
Needless to say, I was not happy. I never got that data back, but I did learn not to expose my hard drives to 9 year olds. Very dangerous little creatures.
You want to know the best part? He destroyed another hard drive of mine, a few years later. Should I tell that story?5 -
I’m adding some fucking commas.
It should be trivial, right?
They’re fucking commas. Displayed on a fucking webpage. So fucking hard.
What the fuck is this even? Specifically, what fucking looney morons can write something so fucking complicated it requires following the code path through ten fucking files to see where something gets fucking defined!?
There are seriously so fucking many layers of abstraction that I can’t even tell where the bloody fucking amount transforms from a currency into a string. I’m digging so deep in the codebase now that any change here will break countless other areas. There’s no excuse for this shit.
I have two options:
A) I convert the resulting magically conjured string into a currency again (and of course lose the actual currency, e.g. usd, peso, etc.), or
B) Refactor the code to actually pass around the currency like it’s fucking intended to be, and convert to a string only when displaying. Like it’s fucking intended to be.
Impossible decision here.
If I pick (A) I get yelled at because it’s bloody wrong. “it’s already for display” they’ll say. Except it isn’t. And on top of that, the “legendary” devs who wrote this monstrosity just assumed the currency will always be in USD. If I’m the last person to touch this, I take the blame. Doesn’t matter that “legendary Mr. Apple dev” wrote it this way. (How do I know? It’s not the first time this shit has happened.) So invariably it’ll be up to me to fix anyway.
But if I pick (B) and fix it now, I’ll get yelled at for refactoring their wonderful code, for making this into too big of a problem (again), and for taking on something that’s “just too much for me.” Assholes. My après Taco Bell bathroom experiences look and smell better than this codebase. But seriously, only those two “legendary” devs get to do any real refactoring or make any architecture decisions — despite many of them being horribly flawed. No one else is even close to qualified… and “qualified” apparently means circle jerking it in Silicon Valley with the other better-than-everyone snobs, bragging about themselves and about one another. MojoJojo. “It was terrible, but it fucking worked! It fucking worked!” And “I can’t believe <blah> wanted to fix that thing. No way, this is a piece of history!” Go fuck yourselves.
So sorry I don’t fit in your stupid club.
Oh, and as an pointed, close-at-hand example of their wonderful code? This API call I’m adding commas to (it’s only used by the frontend) uses a json instance variable to store the total, errors, displayed versions of fees/charges (yes they differ because of course they do), etc. … except that variable isn’t even defined anywhere in the class. It’s defined three. fucking. abstraction. layers. in. THREE! AND. That wonderful piece of smelly garbage they’re so proud of can situationally modify all of the other related instance variables like the various charges and fees, so I can’t just keep the original currency around, or even expect the types to remain the same. It’s global variable hell all over again.
Such fucking wonderful code.
I fucking hate this codebase and I hate this fucking company. And I fucking. hate. them.7 -
I think I nailed it.
I had an interview on Friday. Never had I ever such a good one. Everything went so smoothly I'm amazed to this moment.
It started pretty much normally. Few questions about me and my CV. Next some soft skills check and few minutes talking in English to make sure I know how to speak.
Next, two funny trick questions. I hope I'll translate them good enough.
1) You've got 6 cups in a row. Three of them, next to each other, are empty. Remaining 3 are full. You've got one movement to make them stand alternately, ie. Full, empty, etc. or Empty, full etc.
2) You've got yourself a cake. Normal, birthday cake in a shape of a cylinder. On three cuts, you have to cut it in 8 equal pieces.
Next was technical interview. The only thing I couldn't answer to was a formula to get angle between camera and two objects on the scene. Something about cos x.
They told me that I was the only recruitee to make project using Hololens SDK. Other people made the images gallery in 2D only.
Also they were VERY impressed that I managed to send them fix that changed a lot of the gallery in an hour. No one was expecting it so fast since the feature wasn't all that simple. Or so they said. Code was written so it wasn't hard to implement this change.
Now I've got to wait at least a week for their response. As you could imagine, I'm nervously checking my email each time I get any spam.
I'd like to thank @fire-phoenix and @Root that were responding to my last posts about this new work tasks and current hardships. I know it's a bit too early to celebrate but I'm just so hyped for how well everything went 😀10 -
I work for healthcare client project in a start up, worked two years straight without a break.
Client is very inconsiderate about developers work-life balance, he always wants to release every features yesterday.
Never had a reasonable deadline, worked late nights most of the time. No one had backbone to control this client from our side.
Its only developers team, no project management, scrum masters or anything, everything has to be taken care by Dev's.
I decided to take a week break from work.
The first day of my leave he pinged me 3 times to change an "from email" address for notification email which no one give a damn about.
I never replied or did anything. But the part of myself is dying of guilt.
Now I can't relax myself completely.
Re-thinking of my life choices atm.
I loved programming since high school, I can work on computers 24/7 without tired. That's how much I love it. Now I'm just tired of it.
If anyone who read this till here. Thank you.18 -
They've literally left me with nothing to do. I'm doing nothing. I can't be happy doing nothing.
To illustrate the chaos: Everyone on the team was trying to figure out some defect. No one knows what is going on in the code. It's unlike anything I've ever seen.
I found an API call with a misspelled endpoint. It was wrong since the code was written two months before. There's no way it ever worked. Obviously no one tested the code because they would have immediately seen that the call returned a 404 every time.
I fixed it. That was my only PR in about a month. It was literally one character.
The next week that PR got reverted. Apparently the app works better if the API call fails. No one said what goes wrong if the request is made, just that it "causes problems."
That's how bad it is. No one knows why anything does or doesn't work. People write code that doesn't work, never test it, and the application works better in some unspecified way if that code never gets executed.
The last straw for me was when an architect told us that if we want to improve our skills we need to learn how to read and debug stuff like this.
1) Not to be immodest, but I'm good at figuring out bad code.
2) Just because I can doesn't mean I want to do it all day instead of actually developing software
3) He trivialized the really important skill, not making a mess like this in the first place. If his idea of skill is to sling crap without tests at the wall and then debug it, how is he an architect?
I tried really hard but I can't keep a good attitude. I don't want to become toxic, but why would I consider working that way? I try my best to be good at this. Writing decent code means a lot to me. It should mean a lot to them. Their code is costing them hundreds of thousands of dollars. Maybe millions.
I can't write good code and add value if all I do is debug bad code.
So I'm out. I'm going to another project. Have a nice life.3 -
So I am at the client's location for onsite consultation of their projects.
The HoD asked me to create an application to accept feedbacks from multiple points urgently. Although I was there just for consulting, I thought why not, I am anyway getting bored here.
So after explaining the functionality, she asked me, when can she accept a working app. I told her that it would depend upon a lot of factors, so give me till evening to figure it out.
When she insisted I told her, that it can take at least a month with all the APIs, logins, UI, QA etc. She was surprised and told me that she expected it in 4 days since the requirements can be fit into a single page of her notebook. (That's how she measures project duration).
I told her it's impossible, given that I am the only one working on it. So she told me that her team can do it in two days. I probably have more experience than her entire team combined, but still I thought they might know some simple magic or faster way, that I might not, so I asked her to discuss with the team and then decide.
After explaining the requirements, when she mentioned that it should be done in 2 days, everyone was kinda frozen. One of them said that it's going to take at least 4 months.
I couldn't hide my smirk 😉2 -
Did I every tell you about that time I scared a boss (not mine, he was in the room) so much, that he was to scared to enter my office for the next couple of weeks? 😅
Good times 😊
Tl;dr: He was the reason I was working at max capacity and then he started complaining that shit wasn't working.
Full story:
I was out of office, building up a new site. I was the only IT working that day, others were out on vacation.
Suddenly I start getting flooded with calls from other sites, that nothing works. It is so bad, that my boss can't reach me on the company phone, so he calls me on my private phone.
Apparently all the servers are down.
So me into a taxi, heading for the main office.
When I get there I just start booting the servers on by one, because they didn't like that they had lost power. While I'm working, my boss is standing there, ready to help.
Another boss enters the office and goes: "I can't access Navision". To which I quickly reply something like: "Well everything is down, I'm the only one who can fix it and I'm working as fast as I can".
Two weeks later, another employee tells me, that the other boss has been running all his equipment off a battery backup, since the failure, because his power cord failed. He spilled a cup of coffee on it and therefore was the reason, that all the servers lost power (bad setup, I know). And apparently I was so frightening that he didn't have the courage to ask for a new power cord 😂
Best thing was that my boss never stopped me or told me that I did something wrong.2 -
FUCK LINUX
now that I have your attention, and you’re probably angry, too, please, even if you don’t read this rant, never use code.org again. now, onto the rant…
god dammit, code.org sucks. I mean, anyone who created it or associates with it should, well, be considered a terrorist. they’re bombing students futures in computer science with false, useless, bullshit information. not to mention, their sponsors like bill gates, mark zuckerburg, and other rich asses, talk in a video about some boring ass shit that is hard to understand for anyone who doesn’t program, and not to mention, they use a fucking five dollar microphone. ear rape. even if you look at a textual version of it, then read the information on it, it’s practically useless because it's so terribly explained, and also useless. ironically enough, they focus on their animations more than their actual explinations, or their students for that matter. the fact that we had to encode a picture in binary, made me about 50% dumber, give or take a 0 or 1. then, we had to do it in hex, which wasn’t really much better, although more realistic I supposed. what's really the most depressing thing about this class is its application in the real world. I've learnt nothing whatsoever that will help me in the real world, or in computer science. I suppose there's two things that may be useful (that I already knew): hex, and that TCP doesn't lose packets. that's it. those two things. five seconds worth of knowledge from the first quarter of the year. the ideas just make me want to throw up. teaching the main ideas of computer science without actually teaching it? one of the teachers (probably a good one) enrolled her students in an online programming course just so they could understand, because the explanations are just so terrible. this is the only [high school] computer science course offered by code.org, and I signed up because it's an AP computer science class (tried to get into AP Java, the day I was supposed to take the test to get into an upper level class, I was told it didn't count as a tech credit). seriously, fuck code.org. it makes you dumber. their 'app lab' environment is pointless, just like everything else. the app lab is basically where you have a set of commands and have to make a dog bark() or a storm trooper miss() [and that's hell when they haven't introduced while loops yet]. the app lab is literally code.org going out of their way to make everything that their students are learning pointless in the real world. seriously, why can't we just use a <canvas> like an ACTUAL PROGRAMMER would do if they were to make a browser game, not use an app engine so slow it would be faster to update windows and android studio each time I run an 'app' in their 'environment'. their excuse is that the skills "transfer over" to the real world. BITCH! IF I DIDN'T KNOW JAVA, AND I WANTED TO MAKE A GAME IN JAVA, I'M NOT GOING TO LEARN PYTHON, THEN "TRANSFER" THE SKILLS I LEARNT, I'M GOING TO LEARN FUCKING JAVA. AND THAT GOES FOR EVER OTHER LANGUAGE, PROJECT, ETC.
I'm begging you code.org, stop, get help.9 -
Hey Root, remember that super high-priority ticket that we ignored for five months before demanding you rewrite it a specific way in one day?
Yeah, the new approach we made you use broke the expected usecases, and now the page is completely useless to the support team and they're freaking out. Drop everything you're doing and go fix it! Code-complete for this release is tonight! -- This right after "impacting our business flow" while being collapsed on the fucking floor.
Jesus FUCKING christ, what the fuck is wrong with these people?
If I dropped the ball on a high-priority ticket for two weeks, I'd get fired, let alone for five fucking months.
If I was a manager and demanded a one-day rewrite I can only imagine the amount of chewing out I'd receive, especially on something high-priority.
And let's not forget product ownership: imagine if I screwed up feature planning for someone so badly I made them break a support tool in production. I'd never hear the end of it.
Fucking double standards.
And while I'm at it. Some of the code I've seen in this codebase is awful. Uncommented spaghetti, or an unreadable mess with single-letter variables, super-tightly coupled modules so updates are nearly impossible, typos in freaking constants added across sixty+ files, obviously-incorrect comments, ... . I'll have to start posting snippets to show them off. But could I get away with any of it? ha. Hell no. My code must be absolutely perfect. I hear about any and every flaw, doesn't matter how minor, and nothing can go out until everything is just so.
Hell, I even hear about flaws in other peoples' code during my code reviews. Why? Because I should have fixed it, that's why. But if I do, I get yelled at for "muddying the waters."
Just. JESUS FUCKING CHRIST.
It's like playing a shell game where no matter which shell I pick (or point to their goddamn sleeve where they're clearly hiding it), I get insulted for being so consistently useless, and god damn, how can I never find the fucking pea or follow the damned rules? I'm so terrible and this is why "nobody trusts me." Fuck you.
I'll tell you why I can't find your damned pea: IT'S RATTLING INSIDE YOUR FUCKING HEADS, you ASSHOLE FUCKING IMBECILES.
That's right: one pea among the lot of them.
goddamn I am fucking pissed off.rant drop everything and rewrite your rewrite oopsie someone else made a mistakey double standards shell game root can do no right root swears oh my8 -
Can someone please explain to me WHY THE FUCK non devs feel like they know shit. I DON'T GIVE A FUCK ABOUT HOW YOU FOUND SOME UNTRUE SHIT ON GIZMODO. I'VE KNOW SO MUCH ABOUT THIS SHIT, AND YOU LOOKED UP THE FIRST EXAMPLE YOU COULD FIND THE SUPPORTS YOUR CASE. The most recent time this happened was OVER THE LAST FEW DAYS when this DUMBASS that my friends and I BULLY but HE STILL HANGS AROUND. (By bully, yes sometimes we are mean to him, but we're not out to get him. He comes to us and we don't wanna be with him). So after the SEVENTH groupchat (on two apps) he created that night, HE WANTED TO SWITCH BACK TO ANOTHER APP I SPENT A WEEK TRYING TO GET THEM TO SWITCH FROM PREVIOUSLY (It was whatsapp, i got them to switch to telegram). THEN HE TRIED to ARGUE with me about how TELEGRAM wasnt secure. HE SEARCHED "is telegram secure" on Google and chose the FIRST ARTICE from the previously mentioned, GIZMODO which says that TELEGRAM chats ARENT ENCRYPTED by DEFAULT. HOW THE FUCK DO DUMBASSES GET THIS KIND OF PUBLICITY. There's a difference between ENCRYPTION and END TO END DUMBASS. Then he told me whatsapp is more secure than telegram. NO ITS FUCKING NOT. In telegram, your encryption keys CHANGE every chat, or every 100 messages. To my best research, whatsapp only has ONE key per USER. I could go on forever about how chat backups in whatsapp are UNENCRYPTED or how FACEBOOK stores your data, but blocked you works to.6
-
[ Introduction ]
In Internet culture, the 1% rule is a rule of thumb pertaining to participation in an internet community, stating that only 1% of the users of a website add content, while the other 99% of the participants only lurk.
[ The story ]
A year ago I had a problem with X software.
I opened a ticket on its repository but a week goes by and no one responds. I need it to work! So I opened a pull request and it got merged in a day or two after a quick review.
Seeing that the tickets were many and the maintainers were few, I decided to stay and help.
Today, I am in the top #10 contributors.
I have made 20 commits and edited 4k lines of code. (Honestly, it's not that much, at work I do way more than that, anyway...)
This repository is an alternative to another popular closed-source software and it's massively used by well-known companies
(tech-giants).
[ Stats ]
User base: 20.000 (all of them are devs)
Total contributors: 200 (1%)
Contributors with more than 1 commit: 60 (0.3%)
[ Consideration ]
I would never have believed a year ago that participation could be so low despite the number of dev-users being so high.
The software does not require great technical expertise and if you are using it for work then you already have the skill-set you need to contribute.
Now listen, I know that not everyone wants to contribute. I know right and I respect it ... but really:
The 0.3% ?! Only 60 devs on 20k are active contributors?! Only 200 (1%) devs have ever made a single commit and then they left.
Holy sh**9 -
Reminder that you shouldn't trust head hunters.
I reached out to one a month or two back, because I knew they had worked with Company X in the past, and I figured they might get me a more direct line to HR.
They said company X wasn't hiring, that I should apply to Y and Z.
I started working at company X on Monday. They only wanted me to apply to Y and Z because those are the positions that recruiter was specifically trying to fill.
Recruiters are not your friend. They do not have your best interests at heart. They can be useful, but don't trust them.1 -
!rant
!!pride
I tried finding a gem that would give me a nice, simple diff between two hashes, and also report any missing keys between them. (In an effort to reduce the ridiculous number of update api calls sent out at work.)
I found a few gems that give way too complicated diffs, and they're all several hundred lines long. One of them even writes the diff out in freaking html with colors and everything. it's crazy. Several of the simpler ones don't even support nesting, and another only diffs strings. I found a few possibly-okay choices, but their output is crazy long, and they are none too short, either.
Also, only a few of them support missing keys (since hashes in Ruby return `nil` by default for non-defined keys), which would lead to false negatives.
So... I wrote my own.
It supports diffing anything with anything else, and recurses into anything enumerable. It also supports missing keys/indexes, mixed n-level nesting, missing branches, nil vs "nil" with obvious output, comparing mixed types, empty objects, etc. Returns a simple [a,b] diff array for simple objects, or for nested objects: a flat hash with full paths (like "[key][subkey][12][sub-subkey]") as top-level keys and the diff arrays as values. Tiny output. Took 36 lines and a little over an hour.
I'm pretty happy with myself. 😁6 -
I was having dinner with two girls, one a project manager and the other some finance reviewer or something like that. We were discussing our line of work and I was talking about how bad quality code affects everybody and the finance reviewer girl goes like (and I quote) "In our company we use polymorphism, inheritance and encapsulation so it's not a big problem. So our database has a parent class and we only use the parent class". I was at a loss for words. I mean, if only more programmers just did that, right?14
-
Did I ever tell you kids about the time I worked for a company that got a contract to develop an iOS application around some object detection software that had been developed by another team?
Company I was working for was a tiny software consultancy, and this was my first ever dev job (I’m at my second now 😅). Nobody at the company has experience building mobile applications but CEO decides that the app should be written in React Native because _he_ knows React Native.
During a meeting with the client, CEO jokes about how easy the ask is and says he could finish it in a weekend. Please note that Head of Engineering had already budgeted a quarter for the work. CEO says we can do it in a week! And moves up the deadline. And only assigns two engineers to project. I am not one of those engineers.
The two engineers that are put on it struggle. A lot. They can’t seem to get the object detection to work at all, and the code that’s already written is in Objective-C. I realize one of the issues is that the engineers on the project can’t read Objective-C because they have no experience with Objective-C or even C. I have experience with C, so I volunteer to take a look at it to try to see what’s going on.
Turns out the problem is that the models are trained on one type of image format and the iPhone camera takes images in a different format.
The end of the week comes, they do not succeed in figuring out the image conversion in React Native. There’s an in-person demo with the customers scheduled for the next Monday. CEO spends the weekend trying to build the app. Only succeeds in locking literally every other engineer out of the project.
They manage to negotiate a second chance where we deliver what we were supposed to deliver at the original schedule.
I spent the weekend looking up how to convert images and figure it would be a lot easier to interface with the Objective-C if we used Swift. Taught myself enough Swift over the weekend to feel dangerous. Spoke to Head of Engineering on Monday and proposed solution — start over in Swift. Volunteer to lead effort. Eventually convince them it’s a good idea (and really, what’s the worst that can happen? If this solves our main problem at the moment, that’s still more progress than the original team made)
Spend the next week working 16 hour days building out application. Meet requirements for next deadline. Save contract.
And that’s ONE of the stories of my first dev job that got me hired as a senior engineer despite only having 10 months of work experience in the industry.11 -
God, I don't know whether I believe in you or not, but please kill all those people who play loud music in public.
So, I was travelling by a train two days ago. Halfway down the 15 hr journey, the guy next to me took out his laptop and started watching a movie, on speakers, in full volume. It naturally irritated me a lot, and I requested him to use head/earphones, to which he replied that he forgot his one back home. I told him to keep the volume down to which he got personal and put the volume down (maybe to 95%). Since I hate human interaction, I had to plug in my own earphones to keep his bitchy noise away.
The same thing happened today on the bus, the only two differences being:
• mobile phone instead of laptop
• said he doesn't own headphones
• claimed he could do whatever he wanted as it was not illegal
Now, I wished he fell of the bus and died, but the world ain't fair, so he still lives.14 -
Birthday rant !dev
>Be me. Buy 20 doughnuts for everyone in company, two more than there are people working in the office, just to be safe.
>Be one of 5 other people that came to work today. Everyone else either are sick, are working remotely or went on a delegation.
>Watch as 14 doughnuts slowly decay in the kitchen.
Well... At least I've got my package from devRant. Thanks for quick shipping! I only got it today because there was tracking. Fucking post in Poland is shit, they "tried to deliver it yesterday but there weren't anyone at home" even though I was and I haven't even got notice in the mailbox.
4 -
Finally got approved to bring on a second developer for a three month project. Our vendor provided 12 of their "best" candidates, and we picked the only three that actually knew the programming language required to interview. Two did not speak sufficient English and the last one sounded perfect. Two weeks in, he quits and doesn't answer the vendor or us. No money in the budget to try again and I end up developing the entire thing myself. Five months later and I have finally finished.1
-
I just love it when our clients decide to make a clone of live production server..then put it immediately online..and don't tell anyone about this.. and then start bitchin how data gets doubled all of a sudden..
Yeah, no shit sherlock.. you have two prod servers for 'hot swapping' and some services may only be running on one at a time.. You even have a manual on how to switch primary to secondary (turn off services on primary first, then turn them on on secondary and all)..or in case primary actually dies, just turn on services on secondary and you're good to go, right?
So how do ya think cloning the one with running services and putting the clone immediately online will work out?! 🤔
God, I thought it was common sense to not do that..but here I am, bitchin about how people fail to RTFM.. :/ or use brain..fuck..4 -
I think the worst work culture you can experience is nepotism and corruption in hierarchy. What do I mean? Well, this happened (and I think is still happening) in my last job. It was a huge logistic/delivery company. I was an intern, working as assistant developer of the only developer of the site. There was also a guy that was the technician, his assistant, a DBA and that's it.
Well, my partner and I were working on a system that managed almost all the operations of the company in this city.
Well, I supplied the dev two weeks when he was on vacation. I knew almost all the system. what happened? the manager from other city came with another Dev, and I'm not saying that I was an expert or something like that, but that dev from the other city was an incompetent. He couldn't even make a small GUI change without messing it all...
Guess what? The company paid him weekly round tickets to come and go from his city to ours (two hours of flight).
I was too disappointed I started searching another job. A week after getting my degree, I left my job and started in the one I am now. Before leaving, I asked my boss if there was a realistic chance to grow up. He answered no. To be honest, that didn't surprised me :/
The thing that makes me angry about this is that a lot of companies give chances to people that come from other cities, even if they don't know anything >:v
Oh, I almost forgot it: The last five months I was working there, they quit our office and send us to trailer-offices :/1 -
I'm going to kill management.
After a serious migration fiasco at one of our biggest costumers the platform was finally usable again (after two days instead of 10 hours) and, of course, users started to report bugs. So good old po came in ranting that we as qa did a horrible job and basically tried to fault us for a fucked up update (because we produced user pain, which of course not being able to log in didn't do). Among the issues: If the user has more than a hundred web pages the menu starts looking ugly, the translation to dutch in one string on the third submenu of a widget doesn't work and a certain functionality isn't available even if it's activated.
Short, they were either not a use case or very much minor except for that missing function. So today we've looked through the entire test code, testing lists, change logs and so on only to discover that the function was removed actively during the last major update one and a half years ago.
Now it's just waiting for the review meeting with the wonderful talking point "How could effective QA prevent something like this in the future" and throwing that shit into his face.
I mean seriously, if you fuck shit up stand by it. We all make mistakes but trying to pin it on other people is just really, really low.8 -
I feel like there are more and more people who only THINK they can program, but in reality they barely can make the “Hello, world” program. Many of them come from all of these “online courses”, I’m not saying that from there come only the bad ones, but many of them are bad programmers, who just think that one or two courses is good enough.
You have to gain experience by doing actual work, not by doing pre-baked exercises. In real life most of things you have to solve with your imagination - Stackoverflow will only provide you some raw draw!4 -
New country, new company, new team, new projects.
I'm supposed to be the TL of a team working on a React project.
A guy in his late 40s celebrates himself as "the senior", he basically just finished watching a youtube thing, React 101 crash course or similar. The other two juniors who did only Wordpress so far venerate him like a god.
The code, of course, is one on the finest pieces of crap I ever had the pleasure to deal with in my life: naturally a bunch of JQuery plugins for everything, no tests, no state management, side effects everywhere, shared state and globals like hell, everything written in ES3/ES5 style, no types, no docs, build and deploy totally manual, deep props drilling at every level... and not to mention the console.log() shipped in prod.
First day, already headache.
Full rewrite start tomorrow.
Hiring real devs as well.4 -
!dev (Please, don't take this very seriously, I'm kind of burnt out)
I'm not having a good time.
I can't even write a post to properly explain how I feel.
I feel disappointed by life and by myself in many levels. Life is disappointing. I am disappointing too.
I'm having issues to focus, can't even write a couple of lines of code.
Time to listen to some emo lofi and write about how much I hate myself.
I wished I didn't feel these feelings.
I wished I didn't regret so many things I did or didn't do.
I wished I could fucking understand everything I read, but I don't, everything I read is gibberish, every paragraph makes me feel like I'm drifting in a storm.
I wished I was happy with my career, with my job. I wished I had a true friend.
I wished I could finish one goddamn fucking project for once.
I wished there was something that made me unique, but I don't think there's any.
I just feel like an ant, and that I don't really matter.
I don't feel like I'm someone at all, I feel like I'm experiencing a dream, and a rather boring one.
Programming used to be challenging and fun for me, but it has become this dull and stressful ordeal.
The internet has shown me that I don't matter really. I remember being a little kid and believing that the internet would not discriminate you, that right from the comfort of your house you could connect to people and be cared for, and collaborate in something.
But every year that passes I see that I was wrong. I have tried to put in time into people, I have asked people how they're doing, I have cared for their projects. But there's no reciprocation.
The internet itself has become a thing where the big fish only matters. The top 1k users will get 99% of the attention.
Fuck nurture, rule competition.
What's the point of creating a github project that you think it's cool? No one will give two shits about it, it won't make a goddamn difference whether you push it or not.
You know what fucking matters? If you're an apple or google developer and have thousands of followers.
Bla, bla, bla, I'm depressed...9 -
> Last year wrote a unittest - I was asked to delete it
> no design patterns. Not a single one
> no encapsulation
> fucked up inheritance [I had no idea it was possible at all...]
> generics every-fucking-where
> I could go on...
this month the lead dev was not in and I had to make a new feature. Guess what I did :)
tdd [coverage >90%], a couple of builders, a factory or two, two composites, one decorator, only a few generics - only where really needed. Private fields, not a single @Autowired field [they were fucking my tdd], nicely abstracted integrations, and so on. Everything is writen according to clean code: max 10loc methods, <140col lines, reusable constants and utils, SOLID as a rock, etc.
Due date is next week. Took me 3 weeks to craft it.
Guess who's gonna be piiiiiiiiiiiiisssedd 😁
the best part - I don't even work there, our company was hired for xx hours as helping hands 😁
that's not all. They have like 6 envs and their deployment is all-fucking-manual. Will try to learn how to dockerize that app and deploy it on docker. Gosh I wish I could see his face when he's back 😁
p.S. From ethical point of view, he's the only dev who believes his code is perfect. No other dev in the team agrees. AND he once said: 'it's gonna be my way or no way at all'. So I don't think I did wrong... Did I? :)8 -
Two years ago, I developed an security app for Android as a school project. I didn't like teamwork at school (you know, you do all the work and everyone else is getting the same grade you receive, specially if you are the nerd of the class), actually I hated it, so I made it alone.
Its name was "Alex" and was a simple "panic button". You can configure two emergency emails and phone numbers (contacts only, not police) and, if you're in danger, you just have to press the button and the app is gonna send two messages/emails to your contacts: the first one, to tell where are you (GPS, only the name of the place) and that you're in problems. The second one with an audio/photo file of the situation.
Sounds like a great app, and I tested it few times. The reason I didn't continue with this is that I got my first job and I had not time, and that, tree or four months later, the government (of the city) launched a similar app. Less sophisticated, but I think it's still useful: "No estoy sola"(I'm not alone). I haven't tested it cause I don't trust on the authorities, I'd preffer to send my location to a friend through messenger app instead.
I don't know if I should re-work this app (I didn't released it, I just have the beta) or work on something else. I'm afraid that, if I release it, someone could die or get kidnapped because of a bug or something going wrong with the app :c What do you think?5 -
Highschool culture...
Here in Italy we run a few exam simulation in order to prepare for finals in June.
One of the two categories of simulations, one of which revolves around the core subjects of our technical course which in my case is CompSci and Networking.
"Sounds good!" one would say.
And I'd agree, if only our CompSci professor graded solutions in a sensate manner.
If one does not exactly copy and paste the solutions we repated in class 100 times (which, by the way, are all EXACTLY the same solution but with different data in diagrams and other sections), the grade WILL be insufficient: no but's or why's.
This is only one of the prime examples of what school revolves around. Sometimes it just feels like we are trained to be sheeps in a world of wolves. Rinse and repeat over and over. No technical competency is (almost) ever valued or allowed to be expressed and is often looked down upon by old school professors who literally care about everything but their subject, students and school in general.
I'm glad this is almost over, and that greener pastures are ahead :)8 -
One of my former coworkers was either completely incompetent or outright sabotaging us on purpose. After he left for a different job, I picked up the project he was working on and oh my God it's a complete shitshow. I deleted hundreds of lines of code so far, and replaced them with maybe 30-40 lines altogether. I'm probably going to delete another 400 lines this week before I get to a point where I can say it's fixed.
He defined over 150 constants, each of which was only referenced in a single location. Sometimes performing operations on those constants (with other constants) to get a result that might as well have been hard-coded anyway since every value contributing to that result was hard-coded. He used troublesome and messy workarounds for language defects that were actually fixed months before this project began. He copied code that I wrote for one such workaround, including the comment which states the workaround won't be necessary after May 2019. He did this in August, three months later.
Two weeks of work just to get the code to a point where it doesn't make my eyes bleed. Probably another week to make it stop showing ten warnings every time it builds successfully, preventing Jenkins from throwing a fit with every build. And then I can actually implement the feature I was supposed to implement last month.5 -
I am too lazy to automate a task from which I suffer each month one or two hours (for the last 7 years).. Automation would cost me only one or two hours at most!6
-
Do you have a dev (or informatic in general) nickname?
Oh, I love stories XD
When I was at university, my first boyfriend (now ex-boyfriend) was the only one who knows Python (teachers used to teach Java and C#). He was pretty old, like 4 years older than all of us, and when the teacher introduced himself to the group the first day of the semester, "Python" asked
- "Teacher, do you use Python platform?"
I don't know why, but the rest of my classroom mates laughed. And from that day, my friends called him "Python".
The funny thing is that two weeks later he became my boyfriend ^_^ a friend of mine said "he wants to show you his python :o"
A semester after our broke-up, I was invited to teach Python at the university. I accepted. Now some teachers remember me as "Python girl".5 -
Worked for a friend of mine in the early 2000s. Had to implement a booking system into PHP for some private customer. This was PHP 4.something, the CMS was some alpha release of an open source project that my friend was sure was the future (it wasn't), and the specs were one A4 page of pencil scribbles that he took while talking to the customer.
Deadline was insane, nothing worked. I worked from getting up to laying down to get shit done, not being able to sleep, feeling stressed all the time. One week before roll-out I actually managed to get it running and we showed it to the customer. He was like "nope, that's not what I meant" and demanded lots of changes but accepted only one or two weeks of roll-out delay.
I did finish the job, made some good money, but then quit as soon as it was done.
This experience broke me so much that I worked in a workshop for 2 years to get away from programming as far as I possibly could.2 -
I do not like the direction laptop vendors are taking.
New laptops tend to feature fewer ports, making the user more dependent on adapters. Similarly to smartphones, this is a detrimental trend initiated by Apple and replicated by the rest of the pack.
As of 2022, many mid-range laptops feature just one USB-A port and one USB-C port, resembling Apple's toxic minimalism. In 2010, mid-class laptops commonly had three or four USB ports. I have even seen an MSi gaming laptop with six USB ports. Now, much of the edges is wasted "clean" space.
Sure, there are USB hubs, but those only work well with low-power devices. When attaching two external hard drives to transfer data between them, they might not be able to spin up due to insufficient power from the USB port or undervoltage caused by the impedance (resistance) of the USB cable between the laptop's USB port and hub. There are USB hubs which can be externally powered, but that means yet another wall adapter one has to carry.
Non-replaceable [shortest-lived component] mean difficult repairs and no more reserve batteries, as well as no extra-sized battery packs. When the battery expires, one might have to waste four hours on a repair shop for a replacement that would have taken a minute on a 2010 laptop.
The SD card slot is being replaced with inferior MicroSD or removed entirely. This is especially bad for photographers and videographers who would frequently plug memory cards into their laptop. SD cards are far more comfortable than MicroSD cards, and no, bulky external adapters that reserve the device's only USB port and protrude can not replace an integrated SD card slot.
Most mid-range laptops in the early 2010s also had a LAN port for immediate interference-free connection. That is now reserved for gaming-class / desknote laptops.
Obviously, components like RAM and storage are far more difficult to upgrade in more modern laptops, or not possible at all if soldered in.
Touch pads increasingly have the buttons underneath the touch surface rather than separate, meaning one has to be careful not to move the mouse while clicking. Otherwise, it could cause an unwanted drag-and-drop gesture. Some touch pads are smart enough to detect when a user intends to click, and lock the movement, but not all. A right-click drag-and-drop gesture might not be possible due to the finger on the button being registered as touch. Clicking with short tapping could be unreliable and sluggish. While one should have external peripherals anyway, one might not always have brought them with. The fallback input device is now even less comfortable.
Some laptop vendors include a sponge sheet that they want users to put between the keyboard and the screen before folding it, "to avoid damaging the screen", even though making it two millimetres thicker could do the same without relying on a sponge sheet. So they want me to carry that bulky thing everywhere around? How about no?
That's the irony. They wanted to make laptops lighter and slimmer, but that made them adapter- and sponge sheet-dependent, defeating the portability purpose.
Sure, the CPU performance has improved. Vendors proudly show off in their advertisements which generation of Intel Core they have this time. As if that is something users especially care about. Hoo-ray, generation 14 is now yet another 5% faster than the previous generation! But what is the benefit of that if I have to rely on annoying adapters to get the same work done that I could formerly do without those adapters?
Microsoft has also copied Apple in demanding internet connection before Windows 11 will set up. The setup screen says "You will need an Internet connection…" - no, technically I would not. What does technically stand in the way of Windows 11 setting up offline? After all, previous Windows versions like Windows 95 could do so 25 years earlier. But also far more recent versions. Thankfully, Linux distributions do not do that.
If "new" and "modern" mean more locked-in and less practical and difficult to repair, I would rather have "old" than "new".10 -
My company has two offices in separate cities but they treat each the devs of each location very very differently.
In one office the devs get full power to experiment with whatever tech they want, they just stomp their feet and management gives em whatever they ask for, freedom of choice regarding anything they are working on, to be allowed to do greenfield work or experimental stuff
But in my office we are forced to do ONLY. Bug fixing and refactoring shitty code from over a decade a go, our tech is ancient and we are not allowed to to
Shit , anything we ask for is denied
And improvements to our process is shut down with the reasoning that whatever we got works so why meddle ??
For us , management is solely focussed on making sure we respond to support calls , deployments , configurations and little bug fixing. Basically they only care that we manage to finish for out next delivery.
No new work whatsoever!
If there is any hint of something new to to
Implemented the golden boys from the other office just stopm their feet tillmthey get it or just go off and start working on it then seek permission afterwards, with their much larger team they obviously get further than we do by the time management hears about it so they end up taking over the work since they already have more done already
My manager decided to push us to attend a company devCon to share ideas with our devs from our other location. This rapidly turned into a sour experience
Basically we do all shitty boring work which puts money on the table which goes straight to those idiots to play with...
They have the guts to laugh when we mentioned that we never get anything interesting to work on
Never seen so many of our devs looking up job sites on the bus back...
This is gonna blow up in management's face...2 -
Applied to a Jr. Dev job and was hired as a Digital Marketer — I can deal with this, I’m AdWords & Analytics certified. What I can’t abide is that I spent the last year working my ass off learning to code and the person next to me with the Jr. Dev position only uses DIVI and has zero inclination to study, learn or write basic HTML & CSS—much less PHP. I’m not an expert by any means but I love programming, I love the problem solving, the challenges and the culture of it all. So far, and these are only two examples, I’ve shown him how to use the target attribute to open a page as a new tab, and how to register a nav in the functions.php file to create a menu but he is unwilling to even attempt it. Rather, he told me that I was too technical and that no one would be using code in this day and age.
For the record, I think DIVI is a cool platform, it’s clear that my boss knows nothing about code to be fair and I love my job— this is my only issue so far😂 I just needed to rant.
5 -
Cracking old recovery CDs for the 9x/2000/XP era shines some light into how companies operated and when concepts came to be in that time:
Packard Bell: An EXE checks that you're running on a Packard Bell machine and reboots if it's not. How do we bypass it? Easy: just fucking delete it. The files to reinstall Windows from scratch come from...
...
C:?
Yup. Turns out Packard Bell was doing the recovery partition thing all the way back to the 9x era, maybe even further. Files aren't even on the restore disc so if your partition table got fucked (pretty common because malware and disk corruption) you were totally fucked and needed to repurchase Windows. (My dad, at the time, only charged at-cost OEM prices for a replacement retail copy. He knew it was dumb so he never sold PB machines.)
Compaq:
Computer check? Nope, remove one line from a BATCH file and it's gone.
Six archives, named "WINA.ZIP" through "WINF.ZIP" (plus one or two extras for OEM software) hold Windows. Problematic? Well... only because they never put the password anywhere so the installer can't install them. (Some interesting on-disc technician-only utils, though!)
Dell:
If not a Dell machine, lock up. Cause? CONFIG.SYS driver masquerading as OAK (the common CD driver) doing the check, then chainloading the real OAK driver. Simple fix: replace the fake driver with the real one.
Issues?
Would I mention this one if there weren't?
Disc is mounted on N:. Subdirectories work, but doing anything in them (a DIR, trying to execute something, trying to view shit in EDIT.COM) kicked you back to the disc root.
Installer couldn't find machine manifest in the MAP folder (it wanted your PC's serial before it'd let you install, to make sure you have the correct recovery disc) so it asked for 12-digit alphanumeric serial. The defined serials in the manifest were something like "02884902-01" or similar (8-2, all numbers) and it couldn't read the file so it couldn't show the right format, nor check for the right type.
Bypassing that issue, trying to do the ACTUAL install process caused nothing to happen... as all BATCHes for install think the CD should be on X:.
Welp.
well that was fun. Now to test on-real-PC behavior, as VBOX and VMWare both don't like the special hardware shit it tries to use. (Why does a textmode GUI need GPU acceleration, COMPAQ?????)4 -
FFUUUuucccckkk me sideways. So I decided to look into USB type-c's power delivery and alt modes. Cause I kinda want to make an adapter card to run my displays over a single cable. TLDR of the rest: USB-C has some huge capabilities which noone is interested in using since its way to complex to handle for what its worth in the end.
Now PD alone is kinda ok to deal with since a lot of powerbanks use it and some hobby guys documented how to work with it. I find it really odd thou that you NEED to use a dedicated IC for using the configuration chanel to negotiate how much power you can draw. Why the USB standard didnt use some simple 5V low speed signalling? Also the standard says that you only have to implement 5v 0.6A with every other power level being optional. (This is also true for cables. Most manufacturers use only the USB 2.0 standard for them and brag about how fast type-C is. ლ(ಠ益ಠლ) )
Now to the alt modes. These motherfuckers are a real shitshow to deal with. First you need a Mux to deal with USB-C's two way insertion, so your signals wont get flipped. Next thing is that you have four lanes at your disposal in alt mode. Which you can either use for four Display Port Lanes or two DP lanes and two USB 3.0 lanes. (You always get USB 2.0) Now you may think that there would be one simple chip to do it all? Nope you need atleast two at the price of 6$ each. One for PD and one for Alt modes. Both are very hard to solder (QFN, 0.5 mm pitch 40+ pins) TI ended up being the only one with a decent offering of IC's that do what I need. As for working with them, you would think that you just slap a simple MCU on there that communicates over I2C or SPI to configure the chips? Nope! You program the chips memory from which it configures itsself. And the programming is done with some TI tool which gives me no idea as to how you can handle everything whith no control logic behind it.
Looking into alternative IC's leaves me with cypress semi. And their documentation is basically a total mess. I wanna know what that chip is good for and what I need to do to make it work. I dont care about technical details mixed with marketing jargon nobody understands. And I really despise that I have to register just to download a datasheet. Especially since there is no info about it on the main page.
And this whole rant hasnt even touched the topic that USB-C only uses DP and nothing else. So you better hope that you have DP++ so you can use a passive conversion.
This was my Ted Talk about USB-C. Some info in it may be subject to my stupidity and errors as it currently is 02:15 in the morning and I need some sleep.14 -
I made a functional parsing layer for an API that cleans http body json. The functions return insights about the received object and the result of the parse attempt. Then I wrote validation in the controller to determine if we will reject or accept. If we reject, parse and validation information is included on the error response so that the API consumer knows exactly why it was rejected. The code was super simple to read and maintain.
I demoed to the team and there was one hold out that couldn’t understand my decision to separate parse and validate. He decided to rewrite the two layers plus both the controller and service into one spaghetti layer. The team lead avoided conflict at all cost and told me that even though it was far worse code to “give him this”. We still struggle with the spaghetti code he wrote to this day.
When sugar-coating someone’s engineering inadequacies is more important than good engineering I think about quitting. He was literally the only one on the team that didn’t get it.2 -
Last year my goals were two:
- work less
- earn more
and I only achieved the second one.
Based on that, my new resolutions are:
- sleep more
- do not work more
- earn more or equal
- to gain stability
- more efficient workouts7 -
Difference between Thermal Paste And Thermal Pads
As we all know that the surface of the CPU or a heat sink is not flat. So the uneven surface of both types of equipment give rise to the small gaps, and these small gaps are poor in thermal conductivity, as a result, the Gaming Computer gets heated off quickly.
To fill these gap we require a thermal conductive which delivers the entire heat coming out from the CPU to the heatsink and there comes the role of Thermal paste or Thermal pads for more info about thermal paste see here (https://glinkster.com/best-thermal-...)
But the real question here is which should you chose to avoid heating problems? Is it either thermal paste or thermal pads? So without wasting much time let's get to know what are the basic differences and when you should apply what?
What is the difference between thermal paste and thermal pads?
Thermal paste or thermal compound actually it has a lot of names. Thermal paste is a greasy conductive paste directly applied to the heatsink. It is most commonly used as the interface in between the non-conductive parts for the cooling purpose. A good thermal paste made with the best quality of thermal compound can work well for the system. To apply thermal paste, you have to very careful as you have can also sometimes drop it near to the main CPU. But this is not the only option to fill the holes in between the CPU and the heatsink, there is one more thing that you can use is Thermal Pads.
Thermal Pads
Thermal pads are easy to put as compare to thermal pastes. But they are not as effective as compare to the thermal paste. You will find some stock coolers come with thermal pads as it looks clean. If sometimes you have to replace the heatsink, then you have to remove the pad too. So remember whenever you remove the heatsink ot dismount it, always change the thermal pad.
Common Mistakes you have to avoid
There are some common mistakes that a lot of people make while applying the thermal paste or thermal pads.
1) Never use thermal paste and thermal pads together.
2) But you can use thermal paste on the top of the thermal pads to improve the efficiency.
3) Use of two or three pads altogether can kill the performance of the CPU.
10 -
While reviewing a PR from one of our newer FE devs, I ended up spending more time than I would like mulling over its composition. The work was acceptable for the most part; the code worked. The part that got me was the heavy usage of options objects.
When encountering the options object pattern (or anti-pattern, at times) in complex scenarios, I have to resist the urge to stop whatever I'm doing and convert it to the builder pattern/smack them in the head with a software design manual. As much as I would like to, code janitor is one of the least valuable activities I engage in daily, and consistently telling someone to go back to the drawing board for work that is functional, but not excellent is a great way to kill morale. Usually, I'll add a note on the PR, approve it, add a brown bag or two on that sort of thing, and make attendance mandatory for repeat slackers. Skills building and catharsis all rolled up in a tiny ball of investing in your people.
Builders make things so much cleaner; they inform users what actions are available in a context; they tend to be immutable, and when done well, provide an intuitive fluent interface for configuration that removes the guesswork. As a bonus, they're naturally compositional, so you can pass it around and accumulate data and only execute the heavy lifting bits when you need to. As a bonus, with typescript, the boilerplate is generally reduced as well, even without any code generation. And they're not just a dumping ground for whatever shit someone was too lazy to figure out how to integrate into the API neatly.
They're more work in js-land, sure; you can't annotate @builder like with Lombok, but they're generally not all that much work and friendlier to use.
9 -
Finally finished the screwdriver followup ticket. I think.
I spent almost two full days (14 hours) on a seemingly simple bug on Friday, and then another four hours yesterday. Worse yet: I can’t test this locally due to how Apple notifications work, so I can only debug this on one particular server that lives outside of our VPN — which is ofc in high demand. And the servers are unreliable, often have incorrect configuration, missing data, random 504s, and ssh likes to disconnect. Especially while running setup scripts, hence the above. So it’s difficult to know if things are failing because there’s a bug or the server is just a piece of shit, or just doesn’t like you that day.
But the worst fucking part of all? The bug appeared different on Monday than it did on Friday. Like, significantly different.
On Friday, a particular event killed all notifications for all subsequent events thereafter, even unrelated ones, and nothing would cause them to work again. This had me diving through the bowels of several systems, scouring the application logs, replicating the issue across multiple devices, etc. I verified the exact same behavior several times over, and it made absolutely no sense. I wrote specs to verify the screwdriver code worked as expected, and it always did. But an integration test that used consumer-facing controller actions exhibited the behavior, so it wasn’t in my code.
On Monday while someone else was watching: That particular event killed all notifications but ONLY FOR RELATED EVENTS, AND THEY RESUMED AFTER ANOTHER EVENT. All other events and their notifications worked perfectly.
AKL;SJF;LSF
I think I fixed it — waiting on verification — and if it is indeed fixed, it was because two fucking push event records were treated as unique and silently failing to save, run callbacks, etc.
BUT THIS DOESN’T MATCH WHAT I VERIFIED MULTIPLE TIMES! ASDFJ;AKLSDF
I’m so fucking done with this bs.8 -
I'm working at this company where I have to update their app both for Android and iOS and it was originally coded by what seems to be one guy, that has written some of the worse code I've seen (I've seen pretty bad code when I was at uni), there is so much uncommented code, commented code with no real reason on why it's commented, variables that are one or two letters, Lots and Lots of magical numbers for things like images! And for the first few weeks working on the iOS app I was also still learning objective-c and had to look at his code for reference, I cringed so much.
I take pride in my commented code, I take pride in writing description for methods and having my variables at the top of a class and explain exactly why it's a constant. I'm also only just a recent graduate.
This guy that worked out this app is a senior developer, now working on security software for a bank, how is he even allowed to code?3 -
A few years ago I was in high school and used to have a small reputation of hacking things. I could hack, just would never hack any school networks or systems (reputation + notice that there was a breach is a bad combo since everyone would immediately suspect you).
Anyways one day the networks internet connection went down in the school district and I was the only one who used a laptop to take notes. So I quickly opened the terminal and ran Wireshark and said to the person to my right "see that button there? yeah I programmed this last night. anytime I press it I can shut down the network so the teacher can't reach her files (she famously only saved them online). *Long dramatic press* Wireshark started scanning the network so all the numbers and lines were going crazy as it viewed the packet info "Now just wait", soon the whole class knew what I had done through whispers and lo and behold a few minutes later and the teacher couldn't reach her files.
Everyone loved me for the rest of the year for saving them from the homework for the week the wifi network was out since it also ended up having to cancel two tests in the class, and a lot more homework and tests in all their other classes. Solidified my reputation and no one fucked with me from that day on. -
The role of a Product Manager is just a decade or two old. Most organisations, including FAANG, are still figuring out what are the primary responsibilities of a PM.
A vast majority I know, including my dumbass, is struggling to keep things floating while in the role. Learning on the job is one of the only and most effective way to do so.
No wonder, imposter syndrome is so common in this group.
One of the main tasks is to make decisions. Important and impactful ones. The role came into existence to take the decision making load off our engineering friends while building any product.
This shit comes with huge responsibility.
BUT, not everyone understand this. In India, being a developer was a cool thing until 2018 and so everyone rushed into the role. Now somehow everyone started thinking being a Product Manager is cool because all you have to do is sit and shoot orders and things will happen magically.
I get reached out by so many folks every month asking for guidance and when I ask them what a PM does or why they want to be a PM, the narrative is more or less same.
Very few actually understand how taxing the role is or the challenges that we face while performing the job.
WHY THE FUCK ARE PEOPLE SO IGNORANT AND DUMB?
And in another news, my first week at new job was super amazing. Loved every bit of it. People are smart, processes are neat, things are structured, and lots and lots to learn for me.
How are you guys doing? Been a while that we spoke.
Official declaration: I am the dumbest person I know.10 -
Short rant.
My company isn't doing well because of the pandemic. I and several of my well deserving colleagues have not only been put on hold for promotions we were promised, but we will be taking a pay cut department wide.
THEN we get introduced to not one, but TWO new contractors we will now be working with. Additions to my department. Because we have "headcount".
I'm absolutely livid. Someone please explain how we have the money to pay for contractors (senior level) yet we don't have the money to promote or properly pay our existing folk.?? My department is extremely domain knowledge heavy, so I see little to no value in ADDING outside folks, especially when projects are getting cut.10 -
The one who made the preferences on the Netflix App for Apple TV deserves a medal. I clicked on the Preferences option in the sidebar to explore the preferences. But the only two options in the so called preferences where to log out or to go back. Well, that was an incredible waste of 10 seconds.1
-
Network Security at it's best at my school.
So firstly our school has only one wifi AP in the whole building and you can only access Internet from there or their PCs which have just like the AP restricted internet with mc afee Webgateway even though they didn't even restrict shuting down computers remotely with shutdown -i.
The next stupid thing is cmd is disabled but powershell isn't and you can execute cmd commands with batch files.
But back to internet access: the proxy with Mcafee is permanently added in these PCs and you don't havs admin rights to change them.
Although this can be bypassed by basically everone because everyone knows one or two teacher accounts, its still restricted right.
So I thought I could try to get around. My first first few tries failed until I found out that they apparently have a mac adress wthitelist for their lan.
Then I just copied a mac adress of one of their ARM terminals pc and set up a raspberry pi with a mac change at startup.
Finally I got an Ip with normal DHCP and internet but port 80 was blocked in contrast to others like 443. So I set up an tcp openvpn server on port 443 elsewhere on a server to mimic ssl traffic.
Then I set up my raspberry pi to change mac, connect to this vpn at startup and provide a wifi ap with an own ip address range and internet over vpn.
As a little extra feature I also added a script for it to act as Spotify connect speaker.
So basically I now have a raspberry pi which I can plugin into power and Ethernet and an aux cable of the always-on-speakers in every room.
My own portable 10mbit/s unrestricted AP with spotify connect speaker.
Last but not least I learnt very many things about networks, vpns and so on while exploiting my schools security as a 16 year old.8 -
Me, the only iOS dev at work one day, and colleague (who we'll call AndroidBoy), the only Android dev at work that same day (he's been working with us for less than two months). There was a change in one of the jsons we received from the server: instead of receiving a list, we now received a dictionary with strings as keys and lists as values. My iOS colleague had already made this modification on our parse function the day before.
AndroidBoy: "Hey what happened with the json?"
Me: "Oh, well instead of parsing a list, we'll parse a dictionary and get the list from each key. You basically have to do the same thing, only this time the lists are organized into categories."
AndroidBoy: "Oh, ok. But I don't know how to parse a dictionary while using Retrofit." (Context: Retrofit is a framework for request handling - correct me if I am mistaken, that's just what I've been told)
Me: "Sucks, dude, can't help ya. I've never worked with that and don't have that much exp. with Android."
I go out for a cigarette break. When I return, AndroidBoy is nowhere to be seen and suddenly I can't seem to get that data in my app. AndroidBoy comes in from the room where the backend colleagues work.
AndroidBoy: "Solved it!"
Me: "Solved what?"
AndroidBoy: "I told them to change back to a list and just put the key inside the objects of the list."
... he used the precious time of the backend colleagues to change the thing back hust because he was too lazy to search how to parse a dictionary. I was so amazed by his answer, that I didn't know whether to laugh, scream at him or punch him in the face. Not to mention the fact that now I had to revert just so he could avoid that extra work.5 -
Two big moments today:
1. Holy hell, how did I ever get on without a proper debugger? Was debugging some old code by eye (following along and keeping track mentally, of what the variables should be and what each step did). That didn't work because the code isn't intuitive. Tried the print() method, old reliable as it were. Kinda worked but didn't give me enough fine-grain control.
Bit the bullet and installed Wing IDE for python. And bam, it hit me. How did I ever live without step-through, and breakpoints before now?
2. Remember that non-sieve prime generator I wrote a while back? (well maybe some of you do). The one that generated quasi lucas carmichael (QLC) numbers? Well thats what I managed to debug. I figured out why it wasn't working. Last time I released it, I included two core methods, genprimes() and nextPrime(). The first generates a list of primes accurately, up to some n, and only needs a small handful of QLC numbers filtered out after the fact (because the set of primes generated and the set of QLC numbers overlap. Well I think they call it an embedding, as in QLC is included in the series generated by genprimes, but not the converse, but I digress).
nextPrime() was supposed to take any arbitrary n above zero, and accurately return the nearest prime number above the argument. But for some reason when it started, it would return 2,3,5,6...but genprimes() would work fine for some reason.
So genprimes loops over an index, i, and tests it for primality. It begins by entering the loop, and doing "result = gffi(i)".
This calls into something a function that runs four tests on the argument passed to it. I won't go into detail here about what those are because I don't even remember how I came up with them (I'll make a separate post when the code is fully fixed).
If the number fails any of these tests then gffi would just return the value of i that was passed to it, unaltered. Otherwise, if it did pass all of them, it would return i+1.
And once back in genPrimes() we would check if the variable 'result' was greater than the loop index. And if it was, then it was either prime (comparatively plentiful) or a QLC number (comparatively rare)--these two types and no others.
nextPrime() was only taking n, and didn't have this index to compare to, so the prior steps in genprimes were acting as a filter that nextPrime() didn't have, while internally gffi() was returning not only primes, and QLCs, but also plenty of composite numbers.
Now *why* that last step in genPrimes() was filtering out all the composites, idk.
But now that I understand whats going on I can fix it and hypothetically it should be possible to enter a positive n of any size, and without additional primality checks (such as is done with sieves, where you have to check off multiples of n), get the nearest prime numbers. Of course I'm not familiar enough with prime number generation to know if thats an achievement or worthwhile mentioning, so if anyone *is* familiar, and how something like that holds up compared to other linear generators (O(n)?), I'd be interested to hear about it.
I also am working on filtering out the intersection of the sets (QLC numbers), which I'm pretty sure I figured out how to incorporate into the prime generator itself.
I also think it may be possible to generator primes even faster, using the carmichael numbers or related set--or even derive a function that maps one set of upper-and-lower bounds around a semiprime, and map those same bounds to carmichael numbers that act as the upper and lower bound numbers on the factors of a semiprime.
Meanwhile I'm also looking into testing the prime generator on a larger set of numbers (to make sure it doesn't fail at large values of n) and so I'm looking for more computing power if anyone has it on hand, or is willing to test it at sufficiently large bit lengths (512, 1024, etc).
Lastly, the earlier work I posted (linked below), I realized could be applied with ECM to greatly reduce the smallest factor of a large number.
If ECM, being one of the best methods available, only handles 50-60 digit numbers, & your factors are 70+ digits, then being able to transform your semiprime product into another product tree thats non-semiprime, with factors that ARE in range of ECM, and which *does* contain either of the original factors, means products that *were not* formally factorable by ECM, *could* be now.
That wouldn't have been possible though withput enormous help from many others such as hitko who took the time to explain the solution was a form of modular exponentiation, Fast-Nop who contributed on other threads, Voxera who did as well, and support from Scor in particular, and many others.
Thank you all. And more to come.
Links mentioned (because DR wouldn't accept them as they were):
https://pastebin.com/MWechZj912 -
i don't think that i'm having a burnout but i think that i'm maybe not so far away from it... several people, including friends, my therapist and also a colleague, told me they see me at risk of sliding into a real burnout.
i've known this for longer that i have a crappy work life balance. the habit of making work the most important part of my own life. thinking about work even in my private time, when i fall asleep, when i wake up in the night or in the morning. the tendency to think about problems, plans, coworkers, not being able to quit work mentally. the idea that i have to prove to everybody at work that i'm awesome. the feeling that, after a work day, i'm just "waiting" at home for the next day, in idle mode, so i can continue working on a problem (like a bug) that's occupying my whole mind. and at the same time, feeling totally empty after work, having no energy. i've lost interest and quit several hobbies in the last two years that once were important for me. and i think one important reason is that i didn't have any mental energy left to deal with that.
another factor for this development was also the pandemic for sure, because for some time, i had no real social life except for that at work.
but more important is probably that i find my job most of the time really fun and am highly motivated. i have the tendency to say yes to everything and to really commit to and own the problems that are handed to me. (right now, however i feel like there's not much motivation left)
then again there is the feeling that what i do is never good enough, i have little self confidence in my own abilities as a software engineer. there's a big discrepancy between how i myself perceive my work and how other people do (not only at work). on a rational level, i know that what i do is at least "good enough", otherwise i wouldn't have this job, and i wouldn't receive this amount of positive feedback from people. but it's hard to really deeply understand this thing, when there are deep-rooted beliefs like "only perfect is good enough" or "your colleagues will be disappointed and get a negative idea of you (and something bad will happen), if you don't give your best"... and there's also this idea that i have to be this super nerdy person who also codes in their free time, reads IT magazines and stuff, because only then i will fit this stereotype of a software developer, and only then i can be taken seriously and be good enough. no matter if this is fun for me or not.
anyway, right now i'm at a point in life where i'm realizing all this not only rationally, but with full emotional impact... :/ my life feels like it's gone stale and empty. i've lost creativity, warmth and human connection and that hurts a lot.
i'm trying to change my life.
one thing that really helps me right now is to talk with people who have (made) similar experiences. can you relate? if yes, how do / did you address those problems? i would really appreciate to hear your stories...5 -
Me: Hey can you make another cup of coffee like this one for my friend?
Rust: Sure, but you know it's expensive, right? Why don't you just let your friend borrow your coffee?
Me: Alright, but I have two friends.
Rust: No problem, you can share it with as many friends as you’d like, but only one of you is allowed to drink it.
C++: Hey wait! I’ll gladly make a cup of your coffee for your friends! I’ll even let them share it! Heck, they can even share yours!
Rust: Hey C++, you know copying coffee is expensive.
C++: Of course I do, but he didn’t define move construction or assignment, so he implicitly wants a copy!
Me: [To my friends:] Hey, let’s just go over to the Python coffee shop.
Rust: [To C++:] Hmph. The baristas at that place will even let you declare that a muffin is a cup of coffee.
C++: Yeah, but wait till they try to drink it. I hear it can be quite exceptional....
———
Slightly modified from this comment on a Reddit post that I found humorous — only I probably made it much less funny: https://reddit.com/r/...2 -
a client today wanted a specialized high performance, extremely stable, stock management software for pharmaceutical products, he also wants the software distributed, cross platform, and expect the delivery to be in a week or so, oh and did i mention that he also wants it to have an extremely good looking ui,
he got offended that i said you can only have one or two of those things not all of them,
for context, I'm just a freelancer not a big company and doing what he wants is impossible for me, also it was a billion ages since i worked on anything desktop related, web is all I'm diving into lately7 -
Can we talk about something? I can't be the only one...
Code dreams.
What are they? You either sleep poorly, lightly, or not at all and continually repeat nonsensical code that you would otherwise KNOW is wrong when awake, (and it may even be a problem you already solved!) but for some reason your brain just wants you to mull over it over and over again.
I've been free of them for quite some time, but it happened now the past two nights. Drives me fucking nuts.14 -
Okay. So my dumbass boss took this project that had a steep timeline. I told him straight up, it won't work because we won't make the timeline. If we do this, I will be the one bending over backwards to deliver. I don't like to promise and fail. I got the oh don't worry let's just try. If we don't make it that's fine. Unfortunately that's not how I work. I refuse to deliberately fail. So I say okay and we begin. I suggested open source is the fastest way to deliver bit the fucked up part is, I am the only senior dev in the team. I will be expected to reverse engineer the open source app to connect our own deployment parameters. Use tech I have never used before. Connect frontend and backend. Handle dns bullshit. I have literally been working on Vibes and coffee for the past two weeks because ofcourse I ran into so many issues. Now I have an extension for Monday and I hate to fail. So I am not sleeping or resting just working on a fucking java app I didnt build and I am expected to make it work seemlessly on our production environment. I made some progress. Deployed frontend, deployed backend. Forgot to connect production dB so I decided to go with azure database for mysql driver since we have credits on azure. Now my java app is pissing itself over ssl handshake. I generate my keystore and add it and now java socket just times out. I want to pummel somebody or a punching bag that looks like my boss.14
-
So I had this internship in highschool for some marketing company creating simple databases for them to help out with their business.
When I came back from college for I think winter break they had asked if I would come in to help with a task that was going to take all day so they wanted me to come early. I agree and show up the next morning.
They had an Excel spreadsheet with about 5000 records in it and one of the fields was the name of the customer. They told me that the records came in as lastName, firstName or as lastName,firstName.
They wanted the field to look like firstName lastName. For a minute or two they had someone show me how they have been doing this which was just by hand. I don't really work with Excel so im not too keen with the macros. But it took me about 1 Google and 30 seconds to find someone with a similar macro to achieve this, I altered it a bit and let it go through all the records.
It was an awesome feeling when I went to the boss to let them know I was done (it had only been 10 mins), they almost didnt believe me.
Funny how one line of code can turn a day's work into a matter of minutes.2 -
probably the one who sent me 3 mails within 10 minutes regarding 3 different positions, and all were addressed to someone else (Hello, Mr. Completely Different Name), so i replied telling him that's not me, and gave him the info to fix it in their db. he apologized profusely and said he fixed the error.
Next day I got two mails for another two positions, with the same incorrect name.
Or the one with whom I had half an hour phone "interview" for a specific position, they couldn't answer even the most basic technical question about the project, but invited me to an in-person interview and said my questions will be answered there, the phone interview was just to make sure they don't send completely offtopic people to the interview with the client (so far acceptable).
On the in-person interview, it was partially a repetition of the phone one, but okay, lady from the company is talking to me first time in her life. We get to the part where I can ask my questions, so I ask those basics about the project again, and her answer is:
"Oh, i don't know, i'm not a technical person, you'd have to ask that to the technical person from the company, I'm an hr person from the recruiting company."
"Wait... so... not only was this whole meeting a waste of my time, but you also lied about what it is, when you scheduled it with me on the end of the phone interview?"
"Well... it wasn't a waste of time, we like to meet the candidates in person before we forward them to actual interviews in the company, to make sure that they're not completely offtopic."
"... and how exactly do you think you'd be able to evaluate that, since you're not at all a technical person and know nothing about the project??"
" Well, i talk to programmers a lot, so i've picked up quite a bit of the terms."
...6 -
I just fucking hate BGAs* that unsolder themselves.
So, thanks to my laptop slowly breaking apart I decided to reactivate an old netbook my father gave me back in 2014(?) when it failed, to have a device on standby if necessary.
Wasn't really planning to repair it and kept it for spare parts mostly as the whole device is a fucking design failure concerning heat dissipation.
But yet again, I thought I'd give it a try one-two years ago. I soon found out it was said heat problem that caused the error in the device and it'd probably only take some reworking using a heat gun, which I did. Netbook worked for some hours, then was dead again, same error. Lost motivation and stashed it until this week.
Reworked with a hair-dryer this time and it worked! Well, until this morning - same error. Perhaps I shouldn't have tried to run a VM and then shut down the device right after that.
I will now try only one more time, this time just baking the whole damn main board thoroughly.
Either it works or it's really dead after. Either way, I'll be somewhat happier then.
* Ball Grid Array - package type for electronic components like ICs/uControllers8 -
Been really depressed at work for the last two years. To the point where myself and colleagues would constantly petition our boss to work with us to change our internal process.
After being constantly ignored / seeing no really impact ( he literally renamed a step in our process and said he fixed it forgoing all the recommendations that we suggested and refusing to discuss anything with us );
I decided to resign before I say or do anything to completely burn the bridge.
Two days later one of my colleagues also resigned ( the only other device at the company ) now my boss is frantically looking for our replacements while also trying to maintain that he holds all the cards.. he offered my colleague less than he is on now to freelance for him. And will likely attempt the same with me in my exit interview today.
But I'm working on a web app which I find interesting. Problem is that I'm not as hopeful as the others working on it with me that it will ever make any money. (It seems like a money pit if anything)
I think I may be in for a couple of rough months. But at least I'm not working for a company that made me so depressed that all I would ever think about is how to convince the boss to improve things.
I'm worried but for the first time in 2 years I feel happy.4 -
Rant:
I am at work, some one says to me this system we are working on is multi threaded. I tell the no its not multi threaded and in this context. Things cannot happen concurrently. Its a single core arm 7tdmi. Arguments ensue abot the difference between multithread multitasking an multiprocessing. I proceed to explain this is a multitasking interrupt driven system. With no context switching or memory segmentation so one heap for all tasks cause thats how we have it configured and there is only one core. So there is no way the error he just described could possibly happen. Then he tells me im wrong but refuses to even look at the processor manual and rejects the Wikipedia entry for multithreading. So I plan on calling off so i can just have the next two weeks off while he trys to figure out why two things ar happening at once on this system. He deserves all the frustration that is to follow.1 -
Aaaaaaaargh!! Fing ashole!!
I got a major blocker reported, tried to connect to client, two of the user accounts were locked out because some genious used the last months password too many times.. FUUUU!! This happens almost every month!! FU! I go to the support dpt to check WTH is with those user accounts and got told the VPN is fucked up anyway so I will not be able to connect in any casr (disconnecting, bad transfer rate, it has a flue or prebirth cramps...whatever...). Ok, I ask if anyone notified our network admins and theirs.. And in response one guy mumbles something... I asked really really pissed off (due to the seriousnrs of the situation, we have max 8h to fix blockers and must check what is going on in minutes) if he is talking to me and answering my question or just talking to himself. He then a little bit more audiably said: we all are unable to work, you are not the only one with this problem & if you have a solutio... I already stormed out. Yes, everyone has problems connecting, no not everyone has a fucking blocker assigned to them!! Mayor malfunction on our system is not the same as archiving old processing data!!!
Simple yes or no question: did anyone notify our network admins & client's network admins?! And client's management that we have technical problems and cannot check the blocker situation immediately?! And I get a mumbling incompetents guy response... OmFG yes, I have a solution for you!! Go and jump of of the terrace!!4 -
What were some of your "OH MY GOD I'M AN AWESOME CODE WIZARD!" moments?
For example, I can remember two or three:
One was when I, with only cursory knowledge of C, never having worked with it but having been exposed to it (and having lots of experience with C# therefore familiar with the c-family syntax), took 5 minute look at a source code and pointed out a bug that the student working on it was trying to solve for the past 2 hours. Sadly, I don't remember what the bug was anymore.
Second one was on reddit, someone posted to gamedev group a 2minute video from his voxel+ai framework he was working on, I watched it, and without any idea what it's written in, or how, I was like "you seem to be dropping frames in a pretty regular manner unrelated to anything I see happening on the screen. You're creating too much garbage on frame-by-frame basis (probably while your AI is exploring what to do), look into object pooling, it'll help".
And the guy responded in a few hours like "by gosh, you're right! thank you! and what do you think about the source code?" (he linked git repo below the video.
And I was like OMG I'M A MAGE, I DIDN'T EVEN CLICK THE REPO LINK, ONLY NOW AFTERWARDS, AND yeah, it's c++ so sadly nothing for me, but OMG I JUST WROTE THE FIRST THING THAT CAME TO MY MIND, DIDN'T EXPECT IT TO BE CORRECT, I'M AWESOME.
=D and the feeling stayed with me for about two days.
(If it's not clear yet, it's perfectly okay, in fact, required, to brag about yourself in answering this question ;) )18 -
Start-up I'm working for as a front-end dev is pretty nice. I have good hardware, free coffee and my coworkers are all decent people. My boss is chill, and I have flexible work hours.
There is this one policy for writing code, however. And I simply cannot understand it, nor can I ignore it because of code reviews: no comments in production code.
I mean, what? Why? Comments are nice, and they make life easier for the future maintainers. At least let me put a small two-liner explaining why I did stuff this or that way. But no, I only get to explain it verbally (once) to the person reviewing my PR. Why, man?9 -
Interviewing is much harder than it was even a few years ago. I go into it knowing I probably won't get the job. It may sound negative but it relieves the pressure. I also make note of what I didn't do well on so I can work on it. Last year I wanted to leave my job so I would go to interviews at lunch and do phone interviews in the parking lot. I was turned down for soo many jobs. Just a couple of years ago I could get a job in one or two interviews. Things have gotten more complicated. It used to be if you knew even a little about a backend language and a little sql you could easily get a job. It has all changed. I think the javascript framework of the month thing has only made it worse.6
-
I was checking out this wk139 rants & thinking to myself how does one have a dev enemy.. o.O Well TIL that maaaaybe I have one too..
Not sure if ex coworker was a bit 'weird & unskillful' or wanted to intentionally harm us and thank god failed miserably..
I decided to finally cleanup his workspace today: he had a bad habit of having almost all files in solution checked out to himself, most of them containing no changes whatsoever... I reminded him on many occasions that this is bad practice & to only have checked out files he was currently working on. And never checkin files without changes.. Ofc didn't listen.. managed to checkin over 100 files one time, most of which had no changes & some even had alerts for debugging in them.. which ofc made it to the client server.. :/
On one or two occasions I already logged in and wanted to check if files have any real changes that I'd actually want to keep, but gave up after 40 or so files in a batch that were either same or full of sh..
Anyhow today I decided I will discard everything, as the codebase changed a lot since he left an I know I already fixed a lot of his tasks.. I logged in, did the undo pending changes and then proceed to open source control explorer.
While I was cleaning up his workspace, I figured I could test what will happen if I request changeset xy and shelveset yy, will it be ok, or do I have to modify something else & merge code.. Figured using his workspace that was already set up for testing would be easier, faster & less 'stressful' than creating another one on my computer, change IIS settings and all just, to test this merge..
Boy was I wrong.. upon opening source control explorer, I was greeted by a lot of little red Xes staring back at me... more than half the folders on TFS were marked for deletion.. o.O
Now I'm not sure if he wanted to fuck me up when he left or was just 'stupid' when it comes to TFS. O.O
So...maybe I do have a dev enemy after all.. or I don't.. Can't decide.. all I know for sure is tomorrow I'm creating another workspace to test this and I'm not touching his computer ever again.. O.O -
Have 3 projects due in a week, two of which are partner projects. One of them has 6 other members in the group and I've only met 5 of them, one of them being two days ago for the first time. The other member has not replied to any emails from any of us, and we've had this project for three weeks now. Either do your homework or get the fuck out. We are also suppose to present it in class for our final... Group projects in college suck6
-
Sooo...
Got Fired...
By the same fucking company who is responsible for my burn out.
Should I be Happy or Sad? No matter how I loved the company I can only expect more abuses... On the other hand, If I made a few complaints, I couldn't get fired now...
Anyhow...
This weekend (can't remember the day, It was the day I took two victans, 20's beers and the same join I would smoke in a whole week ... (It worked, so...) I posted lots of really bad shit on facebook about the company... true Shit, but you know... Truth doesn't matter.
Today got a letter ending my contract on the term of the current one... less than one month from now.
So.... Lets See...
At least this pushes the time I have to start making Apps to get some money.
Just lacking the energy and will...5 -
To everyone involved in my last rant, I deleted it because it was just going in the direction of "this guy thinks he's better than everyone, boohoo you have to revert to a perfectly acceptable laptop" and so on.
My intent was to compare my two laptops as a follow-up related to my HDD doing shit, but everyone took it the wrong way. So please, don't continue this discussion over this rant because you think I am spoiled or anything, I get your opinion, I disagree with it, you disagree with my opinion whether you get it or not...
That being said, I still think everyone can rant about what they have (assuming it was bought with their own money) without being called "spoiled". If you own a sports car or a great computer, you can hate the fact that you have to go back to an ordinary one. If you have a great house and it's destroyed in a fire, you can hate having to go back to a normal apartment. If you're a CEO, you can rant about going down to normal employee.
To everyone who has a crappy laptop or whatever that converts to in any other field, I can only wish that you'll upgrade it to a better one. To everyone that has a great laptop that's breaking down, I can only wish that you'll get it fixed and will be able to get off your older laptop you have to use meanwhile. Use your money the way you want, decide for yourself what parts of your life you want " more than average" and which ones you want just average, and live with what you want.
I don't really know what the whole point of this rant is... I wrote it without re-reading it, so feel free to ignore it, but I just wanted to address this. I'll still give updates about me fixing my better laptop, so to everyone wanting to comment on it, do as you wish. I just don't want another "Quality of life" war to happen, that wouldn't lead anywhere.
Sorry for this rant if its stupid, but I'm feeling a bit better now :)7 -
Unless you're editing actual fucking JSON and not a JS object, do this:
{
name: 'John Doe',
phone_number: '12345',
}
Not this:
{
name: 'John Doe',
phone_number: '12345'
}
Note the presence or lack of a comma after the last field. In this way, when you add a new field, you only have one line change in version control, because otherwise you'd have to add that no-longer-last comma and thus make two line changes. Not to mention you can forget to add it and spend some time figuring out what is wrong.27 -
CONTEST - Win big $$$ straight from Wisecrack!
For all those who participated in my original "cracking prime factorization" thread (and several I decided to add just because), I'm offering a whopping $5 to anyone who posts a 64 bit *product* of two primes, which I cant factor. Partly this is a thank you for putting up with me.
FIVE WHOLE DOLLARS! In 1909 money thats $124 dollars! Imagine how many horse and buggy rides you could buy with that back then! Or blowjobs!
Probably not a lot!
But still.
So the contest rules are simple:
Go to
https://asecuritysite.com/encryptio...
Enter 32 for the number of bits per prime, and generate a 64 bit product.
Post it here to enter the contest.
Products must be 64 bits, and the result of just *two* prime numbers. Smaller or larger bit lengths for products won't be accepted at this time.
I'm expecting a few entries on this. Entries will generally be processed in the order of submission, but I reserve the right to wave this rule.
After an entry is accepted, I'll post "challenge accepted. Factoring now."
And from that point on I have no more than 5 hours to factor the number, (but results usually arrive in 30-60 minutes).
If I fail to factor your product in the specified time (from the moment I indicate I've begun factoring), congratulations, you just won $5.
Payment will be made via venmo or other method at my discretion.
One entry per user. Participants from the original thread only, as well as those explicitly mentioned.
Limitations: Factoring shall be be done
1. without *any* table lookup of primes or equivalent measures, 2. using anything greater than an i3, 3. without the aid of a gpu, 4. without multithreading. 5. without the use of more than one machine.
FINALLY:
To claim your prize, post the original factors of your product here, after the deadline has passed.
And then I'll arrange payment of the prize.
You MUST post the factors of your product after the deadline, to confirm your product and claim your prize.99 -
Why do the HR folks cannot be more passionate about their work. Everywhere I have worked, they don’t pay a lot of attention to how their processes affect their employees.
I had a Visa appointment along with my wife today. The appointment was scheduled couple of weeks back. The email with appointment schedule had the list of documents that we needed to carry.
There was one document which HR folks needed to generate themselves and share to me. Its basically the certificate of employment. Now, I had a Certificate of Employment from last year and I thought that would suffice. But then the Visa lady told me that they needed a latest one(generated in last 3 months). It was very weird for the Visa process since I didnt have to carry that certificate couple of years back. But anyways.
My issue with the HR people is that if there was a need to generate this document from their side, they could have already generated it and shared with me. But no, they will wait for something like this to happen. They will only do this when I had asked about it and then they would have generated the certificate and shared with me.
Similar experience in my previous company, when I moved to Germany couple of years back and the company had arranged for accommodation for me. The building where I had my initial temporary stay, had two entrances and only one of them had the elevator, which was at the back side of the building. My apartment was located on the 5th floor. Since there was no mention of the elevator in the email that I received from the HR folks, I had to carry 6 bags up 5 floors after my 12 hours of flight. It took almost an hour to get all of them up.
All of this could have been easily avoided if the HR folks were a bit more empathetic towards the people they deal with and tried making their life a bit more easy. A little note of elevator, or generating certificates automatically feels the lives of employees so easy and it really avoids a lot of hassle, both for employee and the HR folks themselves.3 -
My first task in my current company, a few years ago.
I had to add features to a 10 year old microcontroller-based device written in C.
There was a struct named "global", which held hundreds of other structs that held variables or even more structs.
If one would have printed the structure of this mess it would haven needed several pages.
This "global"-struct was used in every single sourcefile to store and pass data around. Obviously there was no documentation and often useless comments.
Additionally there were a few protocol stacks involved, mainly similar, only differing in one or two protocol layers.
The implementation of the protocol stack was by setting flags in the "global"-struct in every protocol layer and having the application data in a buffer.
The complete telegram with all layer specific data (header, checksums, etc.) was then build at one single point right before sending it, based on the flags and the data buffer.
As there was no chance to reuse protocol layers with this implemenation. Three protocol implementations with special telegram builder existed in parallel, although they were nearly identical.
I needed a fourth variant of the protocol stack, so I had no chance but to make another copy with some minor changes.
But there was a benefit from this task.
As I had to do the software for the successor of this device from scratch I learned for many things how not to do them :-) -
Two months ago I started working at a new company, who's system is a huge monolith. The company is a bit over one year old, and the code base is huge. The desire to move to more of a microservices architecture is on the radar, but one of the biggest issues in moving towards it is how we should keep our models. The stack is basically Node.js and Mongoose, where there's about a few dozen mongoose models that the whole system uses, and the issue is that, if we moved to a microservices architecture, how could we keep the models in sync. One idea I had was to keep the models in a separate (node) package that would be shared across all microservices, but then there's the issue that if one model needs changes, all microservices that use that model will need to be updated. Another idea we had was to not share models, but instead let every microservice be in charge of everything to do with a certain type of data (eg. Users are only directly accessed by one microservice, companies by another, and no two microservices share responsibility over data), but that might bring problems when one microservice depends on a certain set of data from another microservice. How do you guys manage all that? Any ideas or tips? Thanks ^^14
-
Online tag, it was a small game topdown only using programmed graphics (simple circles squares and lines). One could hide underneath trees, and there were powerups, toggleable walls.
Was quite popular for a year or two. Would love to make a remake of it.2 -
Lately I'm running into quite some negative atmosphere in meetings. Raise your hand if you think we all should improve our soft skills.
For example, we had a meeting with our client the other day. It was supposed to be only with the two most senior guys in the team and a couple of the less senior (just because one of us knows better the maths of it and the other one knows better about the limitations of the hardware), but in the end some other team members also joined.
In this meeting, we wanted to discuss an issue that had to be fixed. Quite a complex one. The main speaker from the clients, even though also technical, was having a hard time trying to explain properly to us what the issue was about. He was doing quite well, but it was complex enough. Well, one of the guys in my team kept interrupting him to ask very detailed questions (that would not help us understand it better, not until we got first the big picture). When I say "interrupting" I mean that the guy would half shout a question in the middle of a word from the client.
The client was patient and tried to answer, but our nice guy would keep answering back in a "gosh you really don't have a clue" tone.
We muted our microphone and one of the senior Devs asked the guy to please let them conduct the meeting, and that if he had such questions, he could mute the micro and ask them to us, so we knew we might have to ask about that.
Good. We unmute the microphone and 2 minutes after, our star guy goes in again and he even directs his question to someone else than who was talking (from the client).
Client gets pissed - I mean, I taught 12-16 year old teenagers for years and I don't think I would have hold it together for as long as the client did - and from then on all the meeting went in a really negative tone. Ending up with a call from the client to our senior guy to finish explaining in private the thing.
Well, our friend the interrupting guy not only got amazingly mad at the senior guy that (in private and constructively) gave him some advice on this kind of meetings. No, he also ended up spiraling into a close to insulting chain of emails towards the client -with his and our colleagues in copy- when he needed some specification.
Interrupting guy is 35yo and has been working with clients quite long. Our HR department still doesn't think we all should get communication workshops or something1 -
So yeah XML is still not solved in year 2018. Or so did I realize the last days.
I use jackson to serialize generic data to JSON.
Now I also want to provide serialization to XML. Easy right? Jackson also provides XML serialization facitlity similar to JAXB.
Works out of the box (more or less). Wait what? *rubbing eyes*
<User>
<pk>234235</pk>
<groups typeCode="usergroup">
<pk>6356679041773291286</pk>
</groups>
<groups typeCode="usergroup">
<pk>1095682275514732543</pk>
</groups>
</User>
Why is my groups property (java.util.Set) rendered as two separate elements? Who the fuck every though this is the way to go?
So OK *reading the docs* there is a way to create a collection wrapper. That must be it, I thought ...
<User typeCode="user">
<pk>2540591810712846915</pk>
<groups>
<groups typeCode="usergroup">
<pk>6356679041773291286</pk>
</groups>
<groups typeCode="usergroup">
<pk>1095682275514732543</pk>
</groups>
</groups>
</User>
What the fuck is this now? This is still not right!!!
I know XML offers a lot of flexibility on how to represent your data. But this is just wrong ...
The only logical way to display that data is:
<User typeCode="user">
<pk>2540591810712846915</pk>
<groups>
<groupsEntry typeCode="usergroup">
<pk>6356679041773291286</pk>
</groupsEntry>
<groupsEntry typeCode="usergroup">
<pk>1095682275514732543</pk>
</groupsEntry>
</groups>
</User>
It would be better if the individual entries would be just called "group" but I guess implementing such a logic would be pretty hard (finding a singular of an arbitrary word?).
So yeah theres a way for that * implementing a custom collection serializer* ... wait is that really the way to go? I mean common, am I the only one who just whants this fucking shit just work as expected, with the least amount of suprise?
Why do I have to customize that ...
So ok it renders fine now ... *writes test for it+
FUCK FUCK FUCK. why can't jackson not deserialize it properly anymore? The two groups are just not being picked up anymore ...
SO WHY, WHY WHY are you guys over at jackson, JAXB and the like not able to implement that in the right manner. AND NOT THERE IS ONLY ONE RIGHT WAY TO DO IT!
*looks at an apple PLIST file* *scratches head* OK, gues I'll stick to the jackson defaults, at least it's not as broken as the fucking apple XML:
<plist version="1.0">
<dict>
<key>PayloadOrganization</key>
<string>Example Inc.</string>
<key>PayloadDisplayName</key>
<string>Profile Service</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist
I really wonder who at apple has this briliant idea ...2 -
Finally finished the longest ticket I've ever worked on in my life. The ticket title and description was a pretty simple and straightforward one: "Upgrade from PHP 7.4 to 8".
If it was only so simple in real life. Our application is mostly done with API Platform framework, which is based on top of Symfony framework which is based on top of PHP language.
Once I did PHP 7 => 8 upgrade I needed to upgrade API Platform 2 => 3. But of-course that couldn't have been done as before that I needed to upgrade from Symfony 5 => 6.
This all was literally an equivalent of touching into a wasp nest - it took me a bit over 5 months and 800 hours of work and there was literally not a single source file left untouched.
In the process of all of this I've ran into literally dozen undocumented feature-breaking changes, broken backwards-compatibility promises and inside out architectural changes - from both the frameworks and the language itself.
Upgrading just one major version of anything SHOULD NOT be so hard. And to top it all up just to think I will need to do this again in a year or two..
Experiences like these really set my hate for time-based model of releases and the state of today's development in general.
6 -
I'm going to start searching for a new job next month. I was let go from my current one because my co-workers were putting in 60~80 hours per week and I was only putting in 40 (plus one 13 hour weekend, which we were paid for. I refused to work the next Sunday and was let go two days later. We were salary exempt; no overtime).
When interviewing this fall, I do intend to list a 40 hour work week as something I'm looking for, but what do I say about my current employment status?
This has only happened once in the past; years ago. I simply said "My contract ended" at the time, and I got a job really quickly so it wasn't an issue.
When a potential employer asks, do I say I was let go because I couldn't keep up with the two months of 60~80 hour work weeks, or do I simply say, "My contract ended." (A little bet of a stretch since I was an FTE, but a work agreement is technically a contract and it technically did end).5 -
I am a mechanical engineer first and my companies go to sysadmin second. So software developing isnt really my main field of expertise buuttt:
WHY IS SLOOPY SOFTWARE WRITING A VIABLE EXCUSE?
Story:
Yesterday i started to migrate some stuff from our old Win 2008 Server to the new 2016. Turns out there are some MS SQL Express Servers running. Quick check for what they are turns out that they are activly used. So far so good. For other reasons we have a new MSSQL 2017 Core Licence. So i thought, hey it would be nice to just move those 2012, 2008 and 2014 Express Servers to a real one that can use the entire machines capabilities.
After some try & error with exporting one of the softwares (where i had to elevate one the user rights to sysadmin for reasons) the entire system stopped working. I didnt deleted anything or changed anything! Well, i elevated user rights. After 2 hours of support call it turns out that the software stopped working cause i gave the database user sysadmin rights. I dont know enough about MSSQL to judge wether that is logical or not, but it sounds super illogical and i suspect sloopy software writing on the manufacturers part. One way or another, the excuse from the telephone support was "yeah, our software is a very fragile child"
Okay.
After i told all that my coworkers two of them were also "yeah, that is just how the [company] software is, you have to be careful with it"
Apparently it broke in the past for other minor stuff.
As an engineer i cannot build bridges that collapse when you use the left and the right lane at the same time. For an architect it isnt okay to build an house where the front door explodes when you open a window. It is not okay for a power tool to go out in a fireball when you accidently drill plastic with it. But for some weird reasons its socially acceptable for programs to be sloopy, buggy and only working under specific conditions. Since when is it okay for a car only to work when you know specific steps to make it run? Like, throwing your spare key in the gas tank, the kick the left wheel exactly three times and finally tapping the steering wheel 5 times left, 4 times right. What? That would be ridiculous? But that is exactly how that software works. You have to follow a specific step guide to make it work, EVERY TIME.
I. JUST. DONT. GET. IT3 -
!rant
the most popular ecommerce solution in php is a massive (cosmological scale) pile of corporate crap (magento) and the next most popular is an abomination (opencart)
after fucking around with both for a month (the client asked for the project to be using only one of the two) I'm still barely reaching any results, and most of my time is wasted with the stupid bloated spaghetti that is opencart FUCK THIS,
like seriously. who the fuck writes a single line three left joins sql querry with four or five aliases a couple concacts and a bunch sorting fuckeries just to query the categories list, then just query the details of the specific category from a different function,
also why the fuck map each language string manually. or the fucking hardcoded seo urls, or the use of myisam for all tables, and no fucking foreign keys, let that settle for a minute, no foreign keys, the delete method in the model has at least a twenty lines, and then he came with the genius idea of duplicating models, in the front and the backend, accessing the same data, as the same user, but different naming conventions
I'm going to convince him to use something sane like codeigniter/laravel/fuelphp or I'll deny the project8 -
I know its been quite a while since ive posted last but it is safe to say that i am back! And boy do i have some stuff to bitch about.
This semester, Im taking mobile app development as a class. I chose to take this class over the introductory c# class, so that i wouldn't need to work with Windows or really do anything else to touch Windows. Well the joke is on me. Here i was thinking that we would be using a bit of Java from time to time while only really learning best practices and concepts.
Never did i think that this class's curriculum would be entirely based off of Xamarin.
Seeing as I need either this class or the two c# classes to graduate, I had to bite the bullet and just accept that my semester would be full of irritation during this class.
Its been about seven weeks in, and i have turned in 8 assignments.
All 8 of those assignments have been Windows Form Applications doing simple shit like dividing two numbers.
We have not made anything for multiple devices. We have not made anything for even one mobile device. We have not even discussed how to do this in the class.
This wouldnt bother me so much since these are typically easy programs that take about 30 minutes to make and test and submit for grading. It does insanely bother me, however, that it takes Windows so FUCKING LONG to boot, or when it freezes every 2 minutes because i clicked into another program, or it just HANGS ON THE UPDATING SCREEN AT 36% FOR THREE DAYS, or when it took 4 different reinstallations of Visual Studio 2017 before i could actually open without an error code.
College, Ive learned, tests my patience way more than it has ever tested my knowledge.2 -
Years ago I was working in local cinema as a student job from time to time and used to sleep after shifts at my uncle's. Uncle did not had internet but there were so many wlans all around. Since I had nothing to do for hours after shift, I downloaded Backtrack linux at home, made live dvd of it and saved a two articles of "how to hack wifi" to text files.
It took me 4 hours to break WEP, since I was total lame, and it was the only one WEP around. They also had mac restrictions set to router, so I changed my mac address to one of their devices, logged in to router and added our mac address. For my uncle it was complete magic but since he is total geek to linux he liked it.
Fast forward weeks later. When I came to my uncle's house he was downloading like ton of linux distributions. Literally each one. Gigabytes of data. I told him not to do so because sooner or later neighbour will notice, but he did not care. Guess what, he notices, probably slow internet and (maybe) bigger bills, I do not know, but owner just changed protocol to WPA2, not changing password. So the story continued for almost 2 years. Felt a bit sorry for neighbour but did not expect such an outcome. I just wanted to watch youtube videos and scroll social networks, keeping low profile so no one notice.1 -
So new job started.
Just for context- old company was shit.
Promised the world but.
No benefits.
Terrible project management.
High pressure.
But green field interesting work (except by now it’s a few years in so it’s a ‘browning’ field but I was on it from the start).
New company first impressions..
Seems a fantastic company.
True to their word they have money for tools.
Making time for personal development.
Much bigger development community/department.
Seems like the term are under far less pressure so far at least.
But a MASSIVE amount of tech debt.
People seem to want to do the right thing and they’re making time to try and deal with it.
But one or two are very opinionated as to how to deal with it.
So this could go either way and only time will tell I guess.
Trying not to over analyse every little thing they say but I’m hyper sensitive to it at the minute while in the early days.
As always the real challenge in IT is the people not the tech. I count myself as part of the problem, sure I will form some opinions and sharing them too.3 -
The "stochastic parrot" explanation really grinds my gears because it seems to me just to be a lazy rephrasing of the chinese room argument.
The man in the machine doesn't need to understand chinese. His understanding or lack thereof is completely immaterial to whether the program he is *executing* understands chinese.
It's a way of intellectually laundering, or hiding, the ambiguity underlying a person's inability to distinguish the process of understanding from the mechanism that does the understanding.
The recent arguments that some elements of relativity actually explain our inability to prove or dissect consciousness in a phenomenological context, especially with regards to outside observers (hence the reference to relativity), but I'm glossing over it horribly and probably wildly misunderstanding some aspects. I digress.
It is to say, we are not our brains. We are the *processes* running on the *wetware of our brains*.
This view is consistent with the understanding that there are two types of relations in language, words as they relate to real world objects, and words as they relate to each other. ChatGPT et al, have a model of the world only inasmuch as words-as-they-relate-to-eachother carry some information about the world as a model.
It is to say while we may find some correlates of the mind in the hardware of the brain, more substrate than direct mechanism, it is possible language itself, executed on this medium, acts a scaffold for a broader rich internal representation.
Anyone arguing that these LLMs can't have a mind because they are one-off input-output functions, doesn't stop to think through the implications of their argument: do people with dementia have agency, and sentience?
This is almost certain, even if they forgot what they were doing or thinking about five seconds ago. So agency and sentience, while enhanced by memory, are not reliant on memory as a requirement.
It turns out there is much more information about the world, contained in our written text, than just the surface level relationships. There is a rich dynamic level of entropy buried deep in it, and the training of these models is what is apparently allowing them to tap into this representation in order to do what many of us accurately see as forming internal simulations, even if the ultimate output of that is one character or token at a time, laundering the ultimate series of calculations necessary for said internal simulations across the statistical generation of just one output token or character at a time.
And much as we won't find consciousness by examining a single picture of a brain in action, even if we track it down to single neurons firing, neither will we find consciousness anywhere we look, not even in the single weighted values of a LLMs individual network nodes.
I suspect this will remain true, long past the day a language model or other model merges that can do talk and do everything a human do intelligence-wise.28 -
Ok tomorrow I'm gonna kidnap one dev or two and I'm gonna release them only when I fully fucking understand how to fucking send an image to a private registry goddamnit
-
At night is when my creativity starts flowing like a motherfucker. The moment when all the tasks are done for the day and you can start working on your own projects and just lay back and smoke (or drink, whichever you prefer) and zone the fuck out with some good music. Oh and if I've gotten a good work out in that day, then there's no stopping me.
I had no plans to even create an admin panel for my own small project but last night I made one just to make it look professional. After that, I got an idea for a separate project which I started working on. I usually write my ideas down so that I don't get into a complete project cluster fuck with 50 half completed projects, but sometimes you get that golden one that you have to start (currently those are the only two unfinished projects I got). -
Six months ago I was at the store wondering why on earth I passed up this cool LEGO set. I hadn't spent money on myself in a while, so I got it. I never got around to building it for several reasons, so I decided to put it in storage last night.
Imagine my shock when I go to put it away only to find the same exact set staring up at me, just dusty because I also had to put that one away because I couldn't find the time or space to build it.
I'm usually very good about tracking the sets that I buy. I double checked my list before I accidentally bought it the second time, and I must have forgotten to add it when I bought it the first time.
It is an expensive set, even for LEGO, but the return date for both has long since passed. Which means I get to build two blacksmith shops after I retire in 40 years.3 -
Coding chalenge.
So... Spent almost two hours to put this little device to work with the keypad.
The device is a arduino micro, special one that can work as mouse /keyboard or any kind of input on most devices (pc, Android phone,...)
The objective is to make a macro keypad to:
- Fast insert text
- Play sounds in games over voice chat.
Think of it like this, you start a new html file, press one key and all the base code is inserted.
So... Why so long? Tought was the hardware, tought the keypad could be set differently that most, code mistakes...
My error was all here, masked from the debugger by a if:
char keys[ROWS][COLS] = {
{'1','2','3','4'},
{'5','6','7','8'},
{'9','10','11','12'},
{'13','14','15','16'}
};
Easy to figure right? Only saw it after reading all the code twice.
9 -
So I finished 6-month long frontend studies and the school proposed internship in one of the best local coding companies. I got their test, basically to write 'API-based internet app with any of JS frameworks'.
Me: 'Hooray!!!'. Couple of days later, app delivered. Made with jQuery (because this is the only js framework the fucking coding school taught me). Very long, very personal cover letter sent along with it.
They: ' We are sorry, but we will not consider anything written with jQuery'.
Me: 'OK'. Learning ReactJS alone by myself for two weeks, 8-10 hours daily. Another two weeks - another project delivered. News agregator, fetching from 3 APIs and merging news based on publication time. News categories, news search - all the bells and whistles. Made 100% myself - not some clone from Udemy workshop or youtube.
They: 'Sorry, your project isn't good enough'.
Me (silently): Fuck you too, stupid HR manager. If you aren't able to see the motivation and dedication in a person, shove a dildo up your ass.5 -
Why do bosses have to be such absolute bellends?
I have depression and ptsd after my time in the Army, which I was open with my boss about when I started.
It is more or less under control, but over the last month or so I’ve been going through a bit of a bad patch, and had a telling off at work about being late and using my phone too much. I’ve been doing everything that has been asked of me, but I hold my hands up and admit that I shouldn’t be using my phone (I have trouble concentrating at the moment so have a tendency to switch between things a lot like Work, emails, phone, emails, work etc. While at home I’ll have the tv on my computer and my phone switching. Between the 3)
So after my telling off and I’d calmed down a bit I sent my boss an email apology, saying I was going through a rough patch but that it isn’t an excuse and I will try harder to stop it from affecting my work etc.
She comes back with an email about she’s done this for me and that for me but she needs to see some output and wants to own some issues and see them to completion.
Now, I admit my output has been down a bit but I’ve spent the last two weeks working on some custom software that’s full of spaghetti code so it also requires time for me to get my head around it to understand what’s going on, and the guy who wrote it and is the one who knows exactly what it is that needs to be done only works 3 days a week and is only in the office for two of those, so makes it a bit difficult.
Anyway, I assume that she for got I am the person running the project (I use running in its loosest possible terms) to migrate us from SourceSafe to GitLab and if she’d bothered to look she would have seen every single piece of work that I’d committed over the last 2/3 weeks.
Luckily for me I know have to re-write all of the work I did in the last 2/3 weeks in one night.
Also because I, quite correctly, got told off I know feel like an absolute cunt, I’m getting marri d in 3 weeks and now I seriously feel like saying fuck it all and leaving everything and moving away2 -
Panic. 😟
I received two emails today inviting me for video call interviews at two companies I applied to.
I am supposed to select a date for this week or next week, but our office resumes work on Monday, the 7th.
I only have tomorrow and the day after (3rd and 4th) left for this week. I need time to prepare, so I am thinking of booking one for 4th and one for next week.
BUT
I am trying not to start the year by skipping work. I already skipped work in December because of a brief illness (lol).
I am thinking, if I go to work on that day, I might get summoned into a meeting and miss my interview. So, I have concluded that I will have to skip work on that day, but now I can't think of excuses.
Ideas? 🤔12 -
This happened many years ago.
First, the background. I was working on a government project with a consulting firm. I would regularly sit on conference calls with several business analysts, project managers (yes, plural), and government employees where I was the only one with any technical knowledge of the platform we were working with. Of the other supposedly technical people, most of them were warm bodies hired by the consulting firm. They knew little to nothing. Most of them bullshitted their way into the jobs.
They hired a new project manager (or program manager, I don't remember) to lead the project at a high level. Things were not going well, because the environments were unstable. Since it was high security government project, we couldn't do any work for several weeks because you cannot copy work from outside environments. Literally a criminal act.
The new lead PM proceeds to take charge and send demanding emails. The one that sent me over the edge was an email that indicated we were all not working hard enough and we had to provide our detailed plans for a project in 30 minutes. Yep, she had it in all caps and a large font at the bottom - a 30 minute deadline. It would have been a rough 24-48 hours to put that together. 30 minutes was an impossibility.
That was the last straw for me. I flipped my shit and ripped my boss a new one. To be totally honest, I regret doing that. It only made stuff worse. Within a month or two, I quit along with our best business analyst.
About a year later, I found out from another government employee of the agency that a scandal erupted within the organization. At least one director level person on that team (government employee) was fired for cause. If you know how governments tend to work, generally it requires serious ethical or criminal violation for an employee to be fired. The consulting firm I was working got most of their work canceled, and they had to lay off most of that team. I'm convinced, based upon other stuff I read about my former employer, that kickbacks were involved. They had no problem paying off government employees for fat contracts and/or cooking the books (another scandal).
However, after that experience, I hope I never work on a government project EVER AGAIN.1 -
Well... I can think of several bugs that I found on a previous project, but one of the worst (if not the worst, because the damage scope) it's one bug that only appears for a couple of days at the end of every month.
What happens is the following: this bug occurs in a submodule designed (heh) to control the monthly production according the client requirements (client says "I want 1000 thoot picks", that submodule calculates the daily production requirements in order to full fill the order).
Ideally, that programming need to be done once a week (for the current month), because the quantities are updated by client on the same schedule, and one of the edge cases is that when the current date is >= 16th of the month, the user can start programming the production of the following month.
So, according to this specific case, there's an unidentified, elusive, and nasty bug that only shows up on the two last days of every month, when it doesn't allow to modify/create anything for the following month. I mean, normally, whenever you try to edit/create new data, the application shows either an estimated of the quantities to produce, or the previous saved data. But on those specific days it doesn't show any information at all, disregarding of there's something saved or not.
The worst thing is that such process involves both a very overcomplicated stored procedure, and an overcomplicated functionality on the client side (did I mentioned that it dynamically generates a pseudo-spreadsheet with the procedure dataset? Cell by cell), that absolutely no one really fully understands, and the dude that made those artifacts is no longer available (and by now, I'm not so sure that he even remember what he done there).
One of the worst thing is that at this point, it's easier to handle with that error rather to redesign all of that (not because technical limitations, but for bureaucratic and management issues).
The another worst thing (the most important none) is that this specific bug can create a HUGE mess as it prevents the programming of the production to be done the next day (you know, people tends to procrastinate and start doing things at the very end of the day/week/month)... And considering that the company could lose a huge amount of money by every minute without production, you can guess the damage scope of this single bug.
Anyway, this bug has existed since, I don't know, 2015 (Q4?) and we have tried so many things trying to solve it, but that spaghettis refuse to be understood (specially the stored procedure, as it has dynamically generated queries). During my tenure (that ended last year) I spent a good amount of time (considering what I mentioned on the last rant, about the toxic environment) trying to solve that, just giving up after the first couple of weeks.
Anyway... I'm guessing that this particular bug will survive another 4-ish years, or even outlive the current full development team... But, who knows ¯\_(ツ)_/¯ ? -
<warning>bad words</warning>
WHAT THE ACTUAL FUCK!!! LibreOffice Impress is a complete shit!! I am all about open source and such but this shit just sucks, moving elements around a frame snaps them to some grid, however when you paste an element from other frame it will have a different grid!!! This motherfucker has got an ALT function that will allow you to move the element more precisely but it only works seldom and it hates it when I try to use the fucking arrow keys - it even crashed once when I tried it. AND WHEN YOU FUCKING COPY A TABLE FROM ONE FUCKING FRAME TO ANOTHER MOTHERFUCKING FRAME, DELETE A FEW ROWS AND THEN COPY THE FREAKING TABLE BACK IT WILL HAVE MAGICALLY DIFFERENT DIMENSIONS BUT JUST EVER SO SLIGHTLY, BECAUSE FUCK THE USER, RIGHT??!!! (Doing this because there is no way to split tables into two different objects) I constantly have to save my presentation, kill the process and open it again because something just stops working or gets stuck, like seriously, WHAT THE ACTUAL FUCKING FUCK???!!! Are there no tests?!!! Do the people who work on this piece of motherfucking shit even use it???!!9 -
My mom is a basic user that needs to use only basic apps to chat and speak with family, post photos and play one or two games.
She is always ranting about how difficult is to do simple things. And she is mostly right.
Like, where are my fucking photos gone?
Why is facebook/whasapp/whatever different today, where are the fucking buttons gone?
what the fuck happened (when while clicking something a update windows popup and you click something else). Why the buttons are so small (when you want to close a fucking ad windows with a little invisible fucking "x" somewhere and you click the ad instead)?
I don't want no fucking cookies.
Why after windows update my fucking game doesn't work anymore. Why I can't hear anything through the fucking skype?
The fact that she knows I'm one of the moron who builds kind of not-usable and buggy fucking things, doesn't help.2 -
TL;DR: my boss is a dick and I don't know what to do.
Been working at the company for a month now, I enjoy the atmosphere and the culture (startup btw) but I really cannot stand my superior - there's only two of us in the team. Any screw up he blames it on me without a second thought. First week in he assigned their new website project to me and honestly they have quite unrealistic deadlines. I mean they didn't even have the infrastructure for it nor the manpower to build one yet it needs to be finished by the end of this month. On top of that the spec keeps changing literally every 2-3 hours.
Also since I've forgotten to mention the guy I'm working under is one of the founders so I can't really go and talk to someone about it. I feel pretty screwed over, anyone has any advice or been in a situation like this? Is it too early to quit?1 -
I’ve somehow ended up in a situation where I have a big project to work on - alone, since I’m the only dev in the whole company with any expertise whatsoever in that area… which is exhausting enough by itself, since I have nowhere to turn to when I struggle with it, no one to rubber duck with and share the workload with, no one to review my code. On top of that, I’ve somehow become thee go to dev resource when it comes to this integration, that client’s custom shit and so on. I’ve been doing this big damn project since late August, and I keep getting pulled off it for weeks at a time. I think I haven’t had more than a day or two in a row to concentrate on it for at least 3 months… and my manager keeps asking me when it’ll be done. What I’d give for a few more devs to share the workload with…1
-
It's was the forth year of my college, in the corner of the world in south India, I wanted to something to combine both medicine and the coding that I learnt, I started learning about heart murmurs, it's basically a skill based diagnosis that only 1 in 20 heart specialists can make by hearing the heart beat and listening to a small murmur that happens during the systolic cycle or the diastolic cycle. I wrote a program to learn a lot of sample murmurs and try to find (very bad hand made logic) the similarities between two wave patterns, the problem started with noise so I went out and built a new stethoscope with a carbon mic inside a normal stethoscope head and try filtering the sound at source (worked well enough at that time) I then tried to find people to test it on, but alas I was not able to find patients as doctors are not supposed to reveal them etc. I wanted to show them visually how a murmur pattern would look like and I stole some code and made a plotter for the wav file and presented everything. By that time I got a lot of close amazing friends involved and they helped me solidify the project and we won the best project award and I got my first gold medal of my life at the end of my academic life :) it was one of the best moments of my life. Second only to the joy of getting married to wife. May be third if I put getting a job in Microsoft India Development Center.
I still wish I could dig that code up and write it properly with what I have learnt today but work is never ending and I find great problems to solve everyday which I know I can make a difference, may be when I get retired I will dust out that CD with the decades old c++ code and write one last program...3 -
I took a job with a software company to manage their product, which was a SaaS property maintenance system for real estate, social housing, etc.
There was no charge to real estate agents to use it but maintenance contractors had to use credits to take a job, which they pre-purchased. They recharged their credit costs back to the real estate agent on their invoice).
Whether this pricing model is good or not, that's what it was. So, in I came, and one of the first things management wanted me to deal with was a long-standing problem where nobody in the company ever considered a contractor's credits could go into the negative. That is, they bought some credits once, then kept taking jobs (and getting the real estate agent to pay for the credits), and went into negative credits, never paying another cent to this software company.
So, I worked with product and sales and finance and the developers to create a series of stories to help get contractors' back into positive credits with some incentives, and most certainly preventing anyone getting negative again.
The code was all tested, all was good, and this was the whole sprint. We released it ...
... and then suddenly real estate agents were complaining reminders to inspect properties were being missed and all sorts of other date-related events were screwed up.
I couldn't understand how this happened. I spoke with the software manager and he said he added a couple of other pieces of code into the release.
In particular, the year prior someone complained a date on a report was too squished and suggested a two-digit year be used. Some atrocious software developer worked on it who, quite seriously, didn't simply change the formatting of that one report. No, he modified the code everywhere to literally store two-digit years in the database. This code sat unreleased for a year and then .... for no perceivable reason, the moron software manager decided he'd throw it into this sprint without telling me or anybody else, or without it being tested.
I told him to rollback but he said he'd already had developers fixing the problems as they came up. He seemed to be confident they'd sort it out soon.
Yet, as the day went on more and more issues arose. I spoke to him with the rest of the management team and said we need to revert the code but he said they couldn't because they hadn't been making pull requests that were exclusive to specific tickets but instead contained lots of work all in one. He didn't think they could detangle it and said the only way to fix was "play whack-a-mole" when issues came up.
I only stayed in that company for three months; there was simply way too much shit to fix and to this day I still have no idea the reasoning that went on in the head of anyone involved with that piece of code.2 -
"I look for three things in a project: 1) Compelling work; 2) fun client; 3) astronomical fees. However, to have a successful project, I really only need two out of three. For example, I’ll do great work with fun people for nothing and still feel rewarded. Or, I’ll do great work for a mean, stupid client for outrageous money. Or, I’ll do boring work with somebody I like a lot for more money than one can imagine. Anytime I’m faced with only one of the three it’s time to rethink the relationship. Actually, it’s time to move on." - Lowell Williams
-
I have multiple contenders ;)
Contender one:
A program used to sort emails.
We was in the process of moving from lotus notes to exchange and needed a way route emails to the right server internally.
Solution, a qmail to receive all emails, a script running by cron every minute to read the emails, check the recipient name to a list and resending to the right server. The script was written in php :P since that was the only way we at the time had to read an email into an object, it was run just like any other shell script :D
Contender two:
A multi threaded mail sender that fetch email addresses and content from a database and posted them through qmail using background execution and pipes to get the result back and then update the database, written in bash script.
Contender three:
A c program used in a similar way as in one but this time using dial up and uucp to fetch email and then drop these either into lotus notes or into a bbs for our customers to give them an email address. This was around 1993, so not to many isp’s offered email and not to many had internet anyway, dial up bbs was much more common.5 -
Old story, happened some way back. I worked part-time for a small web development company that did between other things something called SharePoint development, basically .net webforms with shit glitter on top of it.
The most weird part of it, was the fact that we were working on vms that hosted the app, it was our dev, test and staging environment, as well as were we showed the client the polished turd.
Did I say that it was on a vm? Well it was on a remote vm, that each of use had access to it, through our domain accounts, and they couldn't configure the windows server to accept more than two or three users at once to be connected.
That was our test enviroment and dev enviroment, sooo showing the app to the client meant for the rest of us to not write any code because it might crash or get stuck.
The app was accessible and discoverable by url and through google search from outside, I dont think that should have been allowed.
The most disastrous part was that we had NO source versioning whatsoever, just plain old copy and paste in different folders.
Deploying to client meant remoting to the clients host or whatever it was, and manually copying the source files
If someone wanted to debug the application you had to shout, and you also could hear it, in the office: "I'm debugging!" or "I'm deploying!". Because we were on the same machine, there was only one process with the server and it meant that if you debug or deployed it would block it for the others.
Should I talk about code quality? Maybe not.1 -
1. It's gonna be more and more specialized - to the point where we'll equal or even outdo the medical profession. Even today, you can put 100 techs/devs into a room and not find two doing the same job - that number will rise with the advent of even more new fields, languages and frameworks.
2. As most end users enjoy ignoring all security instructions, software and hardware will be locked down. This will be the disadvantage of developers, makers and hackers equally. The importance of social engineering means the platform development will focus on protecting the users from themselves, locking out legitimate tinkerers in the process.
3. With the EU getting into the backdoor game with eTLS (only 20 years after everyone else realized it's shit), informational security will reach an all-time low as criminals exploit the vulnerabilities that the standard will certainly have.
4. While good old-fashioned police work still applies to the internet, people will accept more and more mass surveillance as the voices of reason will be silenced. Devs will probably hear more and more about implementing these or joining the resistance.
5. We'll see major leaks, both as a consequence of mass-surveillance (done incompetently and thus, insecurely) and as activist retaliation.
6. As the political correctness morons continue invading our communities and projects, productivity will drop. A small group of more assertive devs will form - not pretty or presentable, but they - we - get shit done for the rest.
7. With IT becoming more and more public, pseudo-knowledge, FUD and sales bullshit will take over and, much like we're already seeing it in the financial sector, drown out any attempt of useful education. There will be a new silver-bullet, it will be useless. Like the rest. Stick to brass (as in IDS/IPS, Firewall, AV, Education), less expensive and more effective.
8. With the internet becoming a part of the real life without most people realizing it and/or acting accordingly, security issues will have more financial damages and potentially lethal consequences. We've already seen insulin pumps being hacked remotely and pacemakers' firmware being replaced without proper authentication. This will reach other areas.
9. After marijuana is legalized, dev productivity will either plummet or skyrocket. Or be entirely unaffected. Who cares, I'll roll the next one.
10. There will be new JS frameworks. The world will turn, it will rain.1 -
So I began at my first programming job as an intern and it was as bad as it gets but I kept going, thinking that this was normal. After my internship I continued to work full-time at the same company and was working on new functionality on their legacy product build in ASP Classic and their shitty inhouse front-end framework (which btw used eval to evaluate strings in so called queues). So I was assigned a task to create a module which needed some available data in the database. I was discussing my ideas with my supervisor and she didn't let me finish and began speaking on how I should get the data needed. My approach was much more clean and used only one request and hers used two. So I heard what she had to say and I wanted to finish what I was about to say before she interrupted me but she did it again. I go nervous but let her finish once again. After that she left me to work on my task and I did it the way thought was right (and it was). After she saw my approach she was furious because I didn't talk it over with her and she said that she don't think that we can work together if I continue to work like this. I felt how my head filled with blood but I kept calm. If I had opened my mouth I would surely get fired. But I didn't open my mouth and quit after one or two months. She was a real bitch that day...1
-
This is actually a question about the devRant app.
I’ve noticed this a few times. When I click a rant repeatedly (say x times), from the front page or from the notifications pane, multiple layers of that rant open up. And I have to hit the back button x amount of times to go back to where I initially was (again, front page or notification pane).
Now, I understand an app capturing multiple user inputs on the same object but shouldn’t it also account for this by only considering those taps as one input, especially if the object is lagging and hadn’t been loaded? Why is devRant implemented this way?
I would consider it undesirable to have Gmail open the same email in multiple layers when you click the same email repeatedly. So, is devRant’s a feature or a bug?
I’m not a web (app) developer. I’d just like some knowledge on how user input might be captured and why repeated inputs aren’t screened out?
If anyone could page the two awesome doods who work on devRant, that would be awesome! I hope I didn’t just wrongly assume their genders.5 -
I own a start up with two friends of mine - one is great with business, and the other tries to be both a developer and on the business side. I'm fully on development and I find it extremely frustrating to work with him. He copies and pastes code, doesn't understand it, and worse still will never admit it and digs himself in deeper into the hole he's dug. He doesn't code as a hobby and it's purely just assignments in university that he spends any coding time on. I've tried helping him to improve over the past few months, but nothing seems to ever do anything as there's no desire to solve problems - just really dollar signs in his eyes is probably the only reason he's in computer engineering. Recently we got a contract with an organisation to make an extremely simple app for android and iOS as the first stage of their planned development. As I did the most of the work on another project during the summer (while juggling a job with another company as an internship), I asked if he could take this so he can try to improve and equalise work so he does his share. Not only did it take 3 weeks, but it's shoddy as hell and looks like it was done in the space of an hour. In reality it took days for him. It's unbearable! The android code I saw was clearly just copied from various sources and mashed together - there was no planning, no understanding of abstractions, and was legit a giant class or two with extreme amounts of redundancy. Hell, he even asked me for help for trying to implement fragments when I pointed out that making screens with buttons and such will be extremely difficult if he is only passing in strings. Any of you guys experiences something like this before? I'm planning on bailing in the coming weeks once my exams are over with for university as it's becoming unbearable.6
-
Long story ahead
Background:
I recently started a job in a smallish startup doing web development in a mostly js stack as an entry-junior engineer/dev. I’m the only person actively working on our internal tools as my Lead Engineer (the only other in house dev) is working on other stuff.
Now I was given a two week sprint to rebuild a portion of our legacy internal app from angular 1.2 with material-ui looking components with no psd’s or cut-outs of any kind to a React and bootstrap ui for the front end and convert our .net API routes into Node.js ones. I had to build the API routes, SQL queries (as there were plenty of changes and reiterations that I had to go through to get the exact data I needed to display), and front end. I worked from 9am until 11pm every day for those two weeks including weekends as our company has a huge show this upcoming week.
I finish up this past sunday and push to our staging environment. The UI is 5.5/10 as we’re changing all of our styling to bootstrap and I’m no ui expert. The api has tests and works flawlessly (tm).
So we go into code review and everything is working as expected until one tab that I made erred out and was written down as a “Needs to be fixed.”
This fix was just a null value handler that took three minutes and a push back to staging, but that wasnt before a stupendous amount of shit being flung my way for the ui not looking great and that one bug was a huge deal and that he couldnt believe it slipped through my fingers.
Honestly, I’m feeling really unmotivated to do anything else. I overworked myself for that only to be shit on for one mistake and my ui being lack-luster with no guides.
Am I being a baby about this or is this something to learn from?1 -
I really hate PHP frameworks.
I also often write my own frameworks but propriety. I have two decades experience doing without frameworks, writing frameworks and using frameworks.
Virtually every PHP framework I've ever used has causes more headaches than if I had simply written the code.
Let me give you an example. I want a tinyint in my database.
> Unknown column type "tinyint" requested.
Oh, doctrine doesn't support it and wont fix. Doctrine is a library that takes a perfectly good feature rich powerful enough database system and nerfs it to the capabilities of mysql 1.0.0 for portability and because the devs don't actually have the time to create a full ORM library. Sadly it's also the defacto for certain filthy disgusting frameworks whose name I shan't speak.
So I add my own type class. Annoying but what can you do.
I have to try to use it and to do so I have to register it in two places like this (pseudo)...
Types::add(Tinyint::class);
Doctrine::add(Tinyint::class);
Seems simply enough so I run it and see...
> Type tinyint already exists.
So I assume it's doing some magic loading it based on the directory and commend out the Type::add line to see.
> Type to be overwritten tinyint does not exist.
Are you fucking kidding me?
At this point I figure out it must be running twice. It's booting twice. Do I get a stack trace by default from a CLI command? Of course not because who would ever need that?
I take a quick look at parent::boot(). HttpKernel is the standard for Cli Commands?
I notice it has state, uses a protected booted property but I'm curious why it tries to boot so many times. I assume it's user error.
After some fiddling around I get a stack trace but only one boot. How is it possible?
It's not user error, the program flow of the framework is just sub par and it just calls boot all over the place.
I use the state variable and I have to do it in a weird way...
> $booted = $this->booted;parent::boot();if (!$booted) {doStuffOnceThatDependsOnParentBootage();}
A bit awkward but not life and death. I could probably just return but believe or not the parent is doing some crap if already booted. A common ugly practice but one that works is to usually call doSomething and have something only work around the state.
The thing is, doctrine does use TINYINT for bool and it gets all super confused now running commands like updates. It keeps trying to push changes when nothing changed. I'm building my own schema differential system for another project and it doesn't have these problems out of the box. It's not clever enough to handle ambiguous reverse mappings when single types are defined and it should be possible to match the right one or heck both are fine in this case. I'd expect ambiguity to be a problem with reverse engineer, not compare schema to an exact schema.
This is numpty country. Changing TINYINT UNSIGNED to TINYINT UNSIGNED. IT can't even compare two before and after strings.
There's a few other boots I could use but who cares. The internet seems to want to use that boot function. There's also init stages missing. Believe it or not there's a shutdown and reboot for the kernel. It might not be obvious but the Type::add line wants to go not in the boot method but in the top level scope along with the class definition. The top level scope is run only once.
I think people using OOP frameworks forget that there's a scope outside of the object in PHP. It's not ideal but does the trick given the functionality is confined to static only. The register command appears to have it's own check and noop or simply overwrite if the command is issued twice making things more confusing as it was working with register type before to merely alias a type to an existing type so that it could detect it from SQL when reverse engineering.
I start to wonder if I should just use columnDefinition.
It's this. Constantly on a daily basis using these pretentious stuck up frameworks and libraries.
It's not just the palava which in this case is relatively mild compared to some of the headaches that arise. It's that if you use a framework you expect basic things out of the box like oh I don't know support for the byte/char/tinyint/int8 type and a differential command that's able to compare two strings to see if they're different.
Some people might say you're using it wrong. There is such a thing as a learning curve and this one goes down, learning all the things it can't do. It's cripplesauce.12 -
FUCK YOU NODE JS AND FUCL YOU SYNOLOGY
Decided to give an old Synology DiskStation that sits at home slme new life besides just sharing files. Since Synology has SSH but not a full Linux OS, installed DebianChroot (so far so good). At one point I needed Node JS, so installed NVM and tried to install Node. Well guess what didn't work. Tried a few more things including directly downlosding node from the official node website. Trying different versions, the whole drill.
After about 5 hours of installing and errors, well really usfull errors like "There where 2 errors during installation" WELL HOW ABOUT YOU FUCKING TELL ME WHAT THE ERROR IS YOU FUCKING FUCK!
I found a formum wkith a guy haveing similar problems. Able to install legacy 0.10.x versions but not 4.x.x. Or 6.x.x oder whatever. He found that you have to have at least an ARMv6 compatible processor, otherwise it won't run. Checked it and well, that old fuck of mine only has ARMv5. FUCK! But honestly. You detect it's an ARM architecture. You detect it's not one of the v6 or v7, you try to install the general arm version, BUT YOU DON'T GET THE FUCKING IDEA TO MENTION TO CHECK WAHAT VERSION YOU HAVE AND IF THAT IS SUPORTED BY FUCKING NODE!
One afternoon wasted, at least I got a little more wisdom. Fuck do I hate Node now. On the bright side, I've ordered a Raspberry Pi and two cases for Harddisks, I'll create my own diskstation with blackjack and hookers (I realy hope you get that reference)! Fuck you Synology and Node JS (yeah yeah, it's not Synologies fault, but I'm mad anyways!)4 -
I am going to rant about this being the exam week, it being hot as hell, and us having had a messed up semester study-wise... And I still managed to do good-ish in subjects somehow... Good as in, relatively good. I am no 4.0 GPA person by any means and could never be one if I studied only (if that's even realistic at all). Recently I applied to a job at Andersen Lab for a Trainee position. Got turned down because I lack experience. A TRAINEE POSITION. I could retake the interview but I feel weird with how I got rated a whole level lower than my IELTS score and two levels lower than my score at Epam (which is the more recent one!) and the questions were mostly so easy I could answer while half asleep. Just yeah. Also, while I understand the whole knowledge required thing... I don't get the need for THREE whole interviews only to then proceed to turn me down. I am continuously applying and still seeing no results. If I'm "lucky", I guess, I will get training from a bank. And then get employed there... Mentally doing very bad right now, just barely wanting to MOVE. Which is basically me being this close to giving up. Today's exam is in Linux Security and I swear, this was such a waste of a good sounding subject... Imagine, I could have learnt how to set up a server at home and all that but instead we did... The more basic stuff in Linux. And for the whole semester outside of two or three cases I was the only one in attendance. Anyways, I have been feeling like I just can't program anymore and stuff... Even though we did a Python subject this semester. And in that subject I just felt like we were going way too quickly considering a lot of the students there come from non-IT or close to that background...
I may need to put effort into learning 3D Environmental art, I have this feeling I would like doing that as a job in game dev. Oh, and I also wanna design this house that I have in mind for me. It's shaped like an Amanita Muscaria and instead of the white dots it has windows that are round, as well as a spiral staircase connecting the lower and upper floors. Need to figure out how to model that in something like AutoCAD (I have a bit of experience with it and that's why I'd like to try there... But I may have to learn other programs to do it for free), but it will take me a long time to execute since I am not the most organised in how I learn...
Anyways, I will only sporadically be there, so I may not see things here. I am somewhat busy with exams and then this NGO I recently became a founding member of (and I have to say, I kinda don't wanna be there, but there are things that have to be done). Also filling the documents for a Canadian visitor's visa to go finally see the family over there and all that. But the latter will probably not happen until next year...
Finally, I am wishing you all a sound mental health and happiness. I hope you do well in whatever you are doing at the moment or are planning to. Until next time!3 -
A tale of silos, pivots, and mismanagement.
Background: Our consultancy has been working with this client for over a year now. It started with some of our back-end devs working on the API.
We are in Canada. The client is located in the US. There are two other teams in Canada. The client has an overseas company contracted to do the front-end of the app. And at the time we started, there was a 'UX consultancy' also in the US.
I joined the project several months in to replace the then-defunct UX company. I was the only UX consultant on the project at that time. I was also to build out a functional front-end 'prototype' (Vue/Scss) ahead of the other teams so that we could begin tying the fractured arms of the product together.
At this point there was a partial spec for the back-end, a somewhat architected API, a loose idea of a basic front-end, and a smattering of ideas, concepts, sketches, and horrific wireframes scattered about various places online.
At this point we had:
One back-end
One front-end
One functional prototype
One back-end Jira board
One front-end Jira board
No task-management for UX
You might get where this is going...
None of the teams had shared meetings. None of the team leads spoke to each other. Each team had their own terms, their own trajectory, and their own goals.
Just as our team started pushing for more alignment, and we began having shared meetings, the client decided to pivot the product in another direction.
Now we had:
One back-end
One original front-end
One first-pivot front-end
Two functional prototypes
One front-end Jira board
One back-end Jira board
No worries. We're professionals. We do this all the time. We rolled with it and we shifted focus to a new direction, with the same goals in mind internally to keep things aligned and moving along.
Slowly, the client hired managers to start leading everything in the same direction. Things started to look up. The back-end team and the product and UX teams started aligning goals and working toward the same objectives.
Then the client shifted directions again. This time bigger. More 'verticals'. I was to leave the previous 'prototypes' behind, and feature-freeze them to work on the new direction.
One back-end
One conceptual 'new' back-end
One original front-end
One first-pivot front-end
One 'all verticals' front-end
One functional prototype
One back-end Jira board
One front-end Jira board
One product Jira board
One UX Jira board
Meanwhile, the back-end team, the front-end team overseas, all kept moving in the previously agreed-upon direction.
At this stage, probably 6 months in, the 'prototypes' were much less proper 'prototypes' but actually just full apps (with a stubbed back-end since I was never given permission or support to access the actual back-end).
The state of things today:
Back to one back-end
One original front-end
One first-pivot front-end
One 'all verticals' front-end
One 'working' front-end
One 'QA' front-end
One 'demo' front-end
One functional prototype
One back-end Jira board
Two front-end Jira boards
One current product Jira board
One future product Jira board
One current UX Jira board
One future UX Jira board
One QA Jira board
I report to approximately 4 people remotely (depending on the task or the week).
There are three representatives from 'product' who dictate features and priorities (they often do not align).
I still maintain the 'prototype' to this day. The front-end team does not have access to the code of this 'prototype' (the clients' request). The client's QA team does not test against the 'prototype'.
The demos of the front-end version of the product include peanut-gallery design-by-committee 'bug call-outs', feature requests, and scope creep by attendees in the dozens from all manner of teams and directors.4 -
!dev && !rant
so in my native language (slovak), basically any noun has a neutral (default), diminutive, and augmentative form.
including (first) names.
for literally decade and a half, SOME names sounded weird to me, as if there was something... unnatural about them, but I had no idea what, or why.
and then one day i finally gave it a proper thought, and realized:
those names don't have all three forms, only two.
because they basically lack the neutral form, and their default form is simultaneously their diminutive.
so i was happy to have figured it out, finally. but then i noticed that some names still sound weird, unnatural.
and then i realized, there's another cathegory - those which only have two forms, because their default is simultaneously their augmentative.
and so I finally had all the name cathegories figured out.
funny thing though, even though i now know this, and even though i've reminded myself of this many times...
...every time i think about it, I have huge trouble remembering even a single name for either of the two special cathegories, precisely as I have this time.
except right now i can't be bothered.
if anyone is curious, poke me in the comments and i'll come up with examples later.8 -
Am I the only one who re-writes almost every project 2-3 times because you find new ways to code sth. or when you are lookin' back at your code when you have to implement sth. new and you have no idea 'what-does-what' ? :/
Me at work: ow hey, are you still using that version? I already made two new versions since last week..7 -
FUCKING CHINESE SUPOSED IP CAMERAS...
First, they aren't Ip cameras, they are p2p cameras with different settings and more limited...
then took me 3 days to open 5 ports for 2 cameras, config the cameras, till they work.
YEY they finally work, can see them over the Internet (no default settings, even changed the Alias), have my Ip camera viewer on the Phone... but one doesn't activate on moviment.. in this 3 days only took 2 pictures with motion detection on and people passing in front of them... the other was working for like 5 minutes... giving black and white 7kb jpgs... after a few teeks... can't make it work again.
Now I have two cameras that I can see if my house is being robbed but no motion detection to warm me, or at least save some pictures on the server to serve as evidence (and maby finally get the team that is robbing one house a day, If they try to rob my house again...).
The cameras are very good as baby monitors or to play around, for 14$ and 20$... (love the 360º ball) , but as security cameras... Unless you have them connected to a security station and with a repeater close by... worthless...
Oh, and they may give me 1 good frame a second or lag to 10+seconds a frame...6 -
PM looking at Concept Design: "There were checkboxes and now you have radio buttons"
Me: "Those are two separate screens. One is the user inventory, the other populates an add"
PM: "So which is it? Are we using checkboxes or radio buttons?"
Me:"...both? Each where it makes sense?"
PM: "So what's the point of the radio button? If the user can only click one row, why do we need a radio button?"
Me: "Visual representation of what they selected. We could use row highlighting as well, it doesn't really matter"
PM: "But what's the point?"
Me:"...."5 -
I had six items that I wanted to centre horizontally via CSS. Problem was that depending on the viewport width, the items could either take one, two, three or six lines. But the items broke to the next line like text so that e.g. the top line had five items and the second only one. What I wanted was three items each in this case.
Finally, I came up with a hack of media queries to make the parent container just so wide that six, three, two or one item would fit horizontally, and then centre the parent container with margin left/right auto.1 -
*One Month Ago*
Project Manager: we have allocated these two workstations for you to extract data (set) from malicious files, they are off the network. I though would also prefer a seperate laptop for this project you can take this one (pointing towards the newish laptop on the table)
Me: (i declined his offer because i didn't wanted to carry two laptops everywhere) I'm going to use my own laptop, but I'll be using a sand box or virtual machine.
*Fast Forward to Today*
Accidentally ran a script outside the sandbox, which due to some unknown reasons ended up executing a bunch of malicious files I only realised my mistake when my antivirus started to go bonkers FML.
P.S. both of those PCs are now connected network because of me.
Fingers crossed2 -
So, second day at work...
I was up at 5:45. Made it here by 7:35, and will probably be leaving at 17:00.
I honestly hate my job (and I've only been here for 2 days), I hate, absolutely HATE having to spend one and a half to two hours in my car each day.
It feels like I've been job hunting for the past 9 months - one of the reasons for leaving was to fight through traffic each day... and I still somehow seemed to have drawn the short straw.
I am slowly but surely losing my passion for being a developer. Something I thought would never happen. I love what I do - or so I thought. But at the moment...9 -
Two (2) senior developers and one (1) senior tester left our team and I am left with two (2) Java legacy applications that are hard to maintain. Here is a list of things I hate about these old webapps (let's call them app A and B):
1. App A depends on 80% web services. If one web service for a product or warehouse goes down, work flow is impeded while prod support team checks with the core services team for repair
2. App B is a maven project with multiple modules dependent on libraries that are dependent on company's internal libraries. So if we want to upgrade to OpenJdk 9 and up, the project will definitely produce a lot of errors due to deprecated/unsupported codes
3. App A is dependent on Tibco and I have no experience on that
4. App B's continuous integration build tool is Jenkins and the jobs that build it has a shell script that wasn't updated during the tech upgrade enhancement. The previous developer who did the knowledge transfer to me didn't tell me about this (it should be considered a defect on her part but she already resigned)
5. App A when loaded in eclipse IDE is a pain to work with since it is only allowed to build a war file using ant. I have to lookup in quick search instead of calling shortcuts (call hierarchy) because the project wasn't compiled via eclipse.
6. It's impossible to debug app A because of #5
7. Both applications have high priority and complex enhancements and I have no other teammates to help me
8. You never know what else can go wrong anytime1 -
So I'm on my morning stroll. Walking, enjoying, watching the world around me.. It's nice how cherries blossom. They smell very tempting to stop there and enjoy the moment. Some flowers under the cherry...
Why do plants blossom again? Oh yeah, that's right, to exchange some speciments in order to grow fruit and seeds. To have their offspring. Just like every other living macroorganism [with a few exceptions ofc]. Life has no other way to survive but to exchange genetic material between two parties and only then trigger growth of the new life.
And that is a very strict rule. No more, no less: it takes exactly 2 organisms to make new life. But why is that? If my memory serves, theory of evolution says that life is like business: cut the losses and let the profits run. Over time it discards everything not required for the organism in order to save energy, and only successful new "investments" remain in the genome. The unsuccessful ones die before they proliferate, so the bad genes shall not survive.
It also says that very simple things, very simple changes lead to very complex outcomes. Us. Life.
But what is simple about life having to need 2 other lives? Exactly 2. It's either simple or efficient, depends on perspective. BUT IT IS NOT BOTH. Look at cells. They just split in half and multiply. Dead simple. It takes one of them to make another one. But with mammals, birds, reptiles, plants and other macroorganisms [excpt fungi] this is not the case! Why?!? I can't think of any scenario where two generic microorganisms, following some dead simple mutations, would come up w/ something that inefficient and overly complex. Like they're living on their own, multiplying by division, and smth very simple happens and they can no longer divide, only mate in pairs. The primitive, efficient and simple mechanism gets terminated and replaced with a different one, incredibly complex one!
Sure, we have protozoa which have similar reproductive mechanisms. They exchange genetic material to multiply.
But look at our, human cells. They dont need that! Look at some reptiles, some plants that only take one to make another. They don't pair as well! It's simple. Efficient. Why do protozoa need 2 for the species to survive?
It's not simple and efficient [tho helps us adapt, but its not my point for now]. See, things like this make ne wonder. What if we, the life, are not as accidental as we think? What if this whole mechanism was set off by someone or something billions of years ago? That's mean there are much older, much more superior cognitive organisms than us. What if protozoa was version 3 of new life [the first two did not survive]? Viruses - v2? Sea creatures - v3, reptiles - v4, and so on until they came up with us, mammals? That'd surely mean we are not alone in this universe. Are they watching us? Will they create a new species any time soon? What's our purpose, are we just an experiment?
And so, from cherry blossoms to existensial dilemma, my stroll is over. Time for breakfast :)1 -
I have so much work to get done I don't even know where to start anymore. I've got 6 sites in development, 20 sites with continuing maintenance, and I'm in charge of everything IT in my office.
Today I asked if the other developer on our team could help out and take a few maintenance clients off my hands so I could work on getting builds done.
We called a team meeting where I explained my workload and pointed out that in order to make the deadline of next week on two of these builds our other developer is going to have to help out with some of the work on my plate.
Other dev: Well I've already got 3 sites that still need maintenance this month and I'm still working on $client site.
Me: Ok well today is only the 3rd so you have all month to do the maintenance on those sites, these two have to be online next week and I still have 100 hours of work to do between the two of them.
Me to CTO: can I get some backup here? Or can we hire me a monkey (my term for interns) for a couple weeks so I can focus on building?
CTO: We'll have to talk about that at our meeting next week. In the mean time, just do what you can to get the sites done and let me know if you think we aren't going to make the deadlines.
Me: That's what this conversation is, I'm telling you now, and I've been telling you for 3 weeks that we were getting close to my limit for my workload. We have approximately 175 work hours in a month, maintenance contracts alone accounts for 120 of those hours.
CTO: Alright, well if after Monday you don't think you're going to make the deadline (Thursday), then we'll see if we can find a solution.
Fuck this shit, I get paid the same whether the client is happy or not, I get paid the same whether we reach the deadline or not. I asked that salespeople stop making deadline promises before developers get to look at the scope but that's not the way we do things here. At least one of these sites is not going to be online Thursday, probably both.2 -
The most annoying popup I hope to not see clicking on a link.
Other cookie [de]selectors seem to have proper "reject all" mechanism. This one not only doesn't have that, it also always has an annoyingly long vendor list.
Also, if I unselect cookies, my choice is only saved for several days. After a week or two it tends to expire and the clickfest starts again
They prolly hope to overwhelm me with the number of clicks required to unselect them all. Well joke's on them, it's a matter of principle. I know where I'll spend the next 15minutes of my life now...
14 -
Python ecosystem drives me nuts!
Not the language tho, i kinda like it, and some features are damn straight awesome.
But ecosystem... man!
The way ppl write code in it, the lack of documentation (or in quality of it)...
I recently wanted to check how library does one thing (debug purposes), and not only i had to track some method up 3 classes, the other method i hunted only by signature and still i have no idea how it ends up being accessible where it should...
"Explicit is better than implicit" my ass...
Also dev managed to make the code very unreadable. In Python. Language with such strong opinions about code formatting. HOW ?!!
And the worst part is, it wasn't that big of a library and didn't really need the full freaking Enterprise OOP treatment with layers over layers of generally named classes and fucked up architecture.
FUCK THAT LIB, FUCK THAT DEV, FUCK IT ALL !!!
PS.
Project seems to be abandoned for a year or two, so there is hardly an option to fix things with the author sadly :(3 -
<repost because previous one had many typos and grammatical mistakes>
I have arrived at a conclusion, rather two.
- I am a misfit who generally does not belong anywhere. Not that Steve Jobs Hipster type where you'd think I am a misfit genius. I am rather a misfit ignorant loser, at least for wide majority of things. I also have some ego issues of being included, hence I often turn out to be an asshole if things don't go according to me.
- People in general will hate you for no reason. And hate you more for your success. They'd be happy at your misery and pain. If you are running, walking, or even crawling towards success based on your hard-work, they will be jealous. Only time you are valued is when they need anything or can extract benefits out of you. Once you are drained, no one looks back because for them nothing more is left that could be exploited.
As long as you are providing, you'll be included.
This has significantly affected my self worth. I have allowed people to take advantage of me at the cost of my self respect and time.
These people are narcissist takers.
But there is a very very small group of people in my life, many of them I haven't even met and/or less frequently interacted, who are givers.
During my time with them, all they have done is kept giving me. Even when I asked them to stop or tried to resonate their kindness, they refused and kept giving me more. Most wonderful and best people in my life. I never failed to acknowledge their worth and valued them more than they deserved.
As of now, life is a mess.19 -
me :: Musician a, Developer b => a -> b
This week I reached the end of a long journey and the start of the next one!
When I signed up here I shared a rant about where I was at the time:
https://devrant.com/rants/1279742/...
This week I accepted a decent salaried role as the leading Data Scientist in a well funded nonprofit organisation based close to my home! I’ll be the only technical professional in software development or analytics in the organisation and it’s a new role, so I imagine there’ll be a reasonable degree of flexibility in figuring things out and implementing them.
Have spent the last week (and will continue until my start date) building up a realistic collection of best practices while brushing up on tools they use (as well as tools and methodologies that I plan to bring with me).
After over a decade working as a self employed freelance, I’m looking forward to them change and to building out on different areas of my skillset!1 -
Guys who "can't get girls"… treat women like people, like, you know, like they're… humans? Because that's what they are?
Once I gave up on trying to give girls special treatment, I got a lot of attention. This goes both ways, no matter if you hate them/worship them. I was desperate, I gave up, I dropped my facade, and I went into my first relationship. I was never without a partner since I was sixteen. Partners kinda overlapped, and when I knew I was going to end a relationship, magically, another relationship emerged out of nowhere.
The only time I wasn't in one was after my ex left me when I was at the lowest point of my depression. I took two weeks off, looked for a partner more meaningfully, and boom, we're together for I don't know how long, we're in a polyamorous relationship, we never had a fight ever.
Overall, my number one advice is you should stop giving women special treatment psychologically. Talk to them just the way you talk to your friends at the bar, or to any person you're not sexually interested in. You being horny ruins everything.4 -
Managed to derive an inverse to karatsuba's multiplication method, converting it into a factorization technique.
Offers a really elegant reason for why non-trivial semiprimes (square free products) are square free.
For a demonstration of karatsubas method, check out:
https://getpocket.com/explore/item/...
Now for the reverse, like I said something elegant emerges.
So we can start by taking the largest digit in our product. Lets say our product is 697.
We find all the digits that produce 6 when summed, along with their order.
thats (1,5), (5,1), (2,4), (4,2), and (3,3)
That means for one of our factors, its largest digit can ONLY be 1, 5, 2, 4, or 3.
Lets take karatsubas method at step f (in the link) and reverse it. Instead of subtracting, we're adding.
If we assume (3,3)
Then we take our middle digit of our product p, in this case the middle digit of 697. is 9, and we munge it with 3.
Then we add our remaining 3, and our remaining unit digit, to get 3+39+7 = 49.
Now, because karatsuba's method ONLY deals with multiplication in single digits, we only need to consider *at most* two digit products.
And interestingly, the only factors of 49 are 7.
49 is a square!
And the only sums that produce 7, are (2,5), (5,2), (3,4), and (4,3)
These would be the possible digits of the factors of 697 if we initially chose (3,3) as our starting point for calculating karatsubas inverse f step.
But you see, 25 can't be a factor of p=697, because 25 is a square, and ends in a 5, so its clearly not prime. 52 can't be either because it ends in 2, likewise 34 ending in 4.
Only 43 could be our possible factor of p.
And we *only* get one factor because our starting point has two of the same digit. Which would mean p would have to equal 43 (a prime) or 1. And because p DOESNT (it equals 697), we can therefore say (3,3) is the wrong starting point, as are ALL starting points that share only one digit, or end in a square.
Ergo we can say the products of non-squares, are specifically non-prime precisely because if they *were* prime, their only factors would HAVE to be themselves, and 1.
For an even BETTER explanation go try karatsuba's method with any prime as the first factor, and 1 as the second factor (just multiply the tens column by zero). And you can see why the inverse, where you might try a starting point that has two matching digits (like 3,3), would obviously fail, because the values it produces could only have two factors; some prime thats not our product, or the value one, which is also not our product.
It's elegant almost to the level of a tautology. -
Sometimes we woulg get a request which involves adding something or changing something to a rather large and poorly made codebase which me and my lead have not had the time to change.
This b how shit goes:
* the lead gets a call after an email was sent with apparently only 5 secs of response time( inpatient fucks)
* lead calls me in next to his station to listen to the call
* i b listening and shit, not even taking notes and shit, looking all secret weapon and shit.
Texas as fuck.
* lead puts shit on hold and looks at me
Lead: "Allright. You know the codebase as well as I do, what you think?"
Me: pffft gimme 30 mins and Ill whip out yo solution
Lead: we positive on the estimate?
Me: as positive as the Texas Rangers sucking ass but we still love em, fuck the Astros
Lead: there is only room for one team
Me: only one
**fist bump
* goes back to the call:
Lead: yeah its gonna take 2 days at most.
Aaaaaaaaaaaaaaand we do finish them in 30 mins. The trick is in doing it extra fast so we have enough time to fuck around or do some other shit and to make it seem like we do some hard shit. After maybe 6 hours we tell them that we managed to fix it before time.
Texas....as....fuck
Btw me and the lead tall about whatever while we code the stuff, most of the time I do it since my boy has heavy eye problems and I want him to relax. He has been training me a lot in regards to knowing the codebase, before I got here it was only him for two fucking campuses and the man did an outstanding job. My boy got my ass and I got his.
Teamwork, the southern gentleman's way.
Texas.
P.d while coding it he said the one of the file sizes was too big to handle, i said "das what she said" and our female manager said "i heard that".......i could have sworn that she gave me a lil wink. Well damn.8 -
Seriously getty images, what is wrong with you. Usually it is bad enough that sign in forms say username or email and then only accept one of those two options. Getty images only allows for the username, so i enter that. Doesn't work. I use the forgot password function, have to enter username and email, doesn't work. Turns out the username is the email adress and what I entered was only the display name. Seriously, how stupid is that? What is the point of a username when you have a separate display name and just set it to the account email adress?
-
Had a nightmare last night where I was called in to do a coding challenge against two other people...on a whiteboard only and no Google or StackOverflow. I couldn't even get one line of code written. The other two guys got a bunch. Too bad one of my real life projects has a lot in common with this nightmare.
-
My workplace is still using xml based configuration, and non-spring boot projects.
So every spring boot tutorial I find feels like "Look at how easy you can get this running" and then it's just actually a toy you can't get into production.
Also it kind of bugs me that you need to be online to actually be able to initialize/create a spring boot project and every single tutorial says so.
You can make a local network m2 repository, but can one make a spring initializer service?
Either way, migrating every single project to Spring boot is a no-no,
And I'm stuck with like 5 prototypes of SSO integration from which only 2 work, and the other 3 have their own problems.
One does redirect to the login and all, but the SAML endpoint gets 404 on response when you log in.
One is on OpenID Connect, but I would need to update the project from Spring 3 to Spring 5 to get it working, which upon attempting to do seems to break everything else.
One has an external library handling the security context just the way we are accustomed to, but it only does a 401 forbidden when you go without logging in and I'm starting to think it is actually one of those that require you to extract the token or something manual like that, which wouldn't work for us
The other two are spring boot tutorials that worked out of the box, both SAML and OpenID, still can't use those for the main projects.
I'm tired of dealing with this configuration hell, been two months at this, I want to get features done as usual, not be stuck configuring stuff that might or might not work.
Rant aside, I think I figured I need to use a different Security adapter, but I needed to vent.2 -
How do you guys cope with being a junior dev and constantly receiving criticism about your work from your team leader?
I started working as a developer quite late: I did go to college in my early years but I was lazy at the time, so I didn't complete it. So I worked about ten years in a totally different industry, but I always wanted to go back to being a developer.
I've managed to do it when I was 34: I was a web developer in a small company and I was pretty much the only dev, except for an older dude who only knew Visual Basic 6 and kept programming things with it (in 2020ish!). In those years I always felt like a was way ahead of my colleague, and my efforts to apply best practices were not so welcome.
I eventually got tired of that situation, because I was feeling like wasting my time: I was already quite old and stuck in a jurassic environment
Then, I landed in a new company. Completely different environment: they use modern frameworks, TDD, static analysis, code reviews and stuff, and they do one to one meetings every two weeks. From the beginning, I felt like I was the dinosaur there: they were way ahead of me and I struggled to keep the pace. I immediately said that to my manager, but he was like "don't worry, it's just the start. I'm sure you will do great". Except I did not. I started collecting criticism about my work and I keep receiving it. When I tell my manager that constant criticism is not good for my self esteem, he replies "I can understand, but you have to manage it and I cannot avoid to correct you when you make mistakes". But it became really difficult for me to receive constant criticism, I very rarely have a compliment or a good word about what I do.
Is it just me? Should I finally grow up now that I am almost 40 and accept that working always sucks and you cannot be satisfied of what you do? Or am I simply a bad developer and should look for another job?
I am starting to get tired of this situation.11 -
So while exploring some new ideas, I decided to figure out if I could use variables in the known set to determine the bounds of variables in the unknown set.
The variables in question are algebraic identities derived from the semiprimes, so you already know where this is going.
The existing known set is 1194 identities.
And there are, if I recall, roughly two dozen unknowns.
Many knowns have the unknowns as their factors. The d4 product set for example is composed of variables d4a, d4u, d4z, d4z9, d4z4, d4alpha, d4theta, d4omega, etc.
The component variables themselves are unknown, just their products are known. Anyway.
What I've found interesting is if you know the minimum of some of these subsets, for example d4z is smallest out of the d4's for some semiprimes, then you know the upperbound of both the component variables d4 and z.
Unless of course either of them is < 1.
So the order of these variables, based on value, changes depending on the properties of the semiprime, which I won't get into. Most of the time the order change is minor, but for some variables they can vary a lot between semiprimes, rapidly shifting their rank in the known set. This makes it hard to do anything with them.
And what I found myself asking, over and over again, was if there was a way to lock them down? Think of it like a giant switch board, where flipping one switch lights up N number of others, apparently at random. But flipping some other switch completely alters how that first switch works and what lights it seemingly interacts with. And you have a board of them thats 1194^2 in total. So what do you do?
I'd had a similar notion a while back, where I would measure relative value in the known set, among a bunch of variables, assign a letter if the conditions were present, and generate a string, called a "haplotype."
It was hap hazard and I wrote a lot of code to do filtering, sorting, and set manipulation to find sets of elements in common, unique elements, etc. But the 'type' strings, a jumble of random letters, were only useful say, forty percent of the time. For example if a semiprime had a particular type starting with a certain series of letters, 40% of the time a certain known variable was guaranteed to be above a certain variable from the unknown set...40%~ of the time.
It was a lost cause it seemed.
But I returned to the idea recently and revamped the entire notion.
Instead what I would approach it from a more complete angle.
I'd take two known variables J and K, one would be called the indicator, and the other would be the 'target'.
Two other variables would be the 'component' variables (an element taken from the unknown set), and the constraint variable (could be from either the known or unknown set).
The idea was that relationships between the KNOWN variables (an indicator and a target variable) could be used to indicate the rank relationship between the unknown component variable and the constraint variable.
You'd think this wouldn't work either, but my intuition was there were so many seemingly 'random' rank changes of variables in the known set for any two semiprimes, that 1. no two semiprimes ever shared the same order for every variable, and 2. the order of the known variables had to be leaking information about the relationships of the unknown variables.
It turns out my intuition was correct.
Imagine you are picking a lock, and by knowing the order and position of the first two pins, you are able to deduce the relative position of two pins further back that you can't reach because of the locks security features. It doesn't let you unlock the lock directly, but by knowing this, if you can get past the lock's security features, you have a chance of using information about the third pin to get a better, if incomplete, understanding about the boundary position of the last pin.
I would initiate a big scoring list, one for each known element or identity. And then I would check it in tandem like so:
if component > constraint and indicator > target:
indicator[j]+= 1
This is a simplication, but the idea was to score ALL such combination of relationship, whether the indicator was greater than the target at the same time a component was greater than a constraint, or the opposite.
This worked out to four if checks and four separate score lists.
And by subtracting one scorelist from another, I could check for variables that were a bad fit: they'd have equal probability of scoring for example, where they were greater than the target one time, and then lesser than it for another semiprime.
So for any given relationship, greater or lesser between any unknown variable and constraint variable, I could find any indicator variable and target variable whose relationship strongly correlated to the unknown's.14 -
I was thinking about the problems one of our clients faced with the launch of their project the other day, because things were rushed, stuff was omitted and in the end they could not meet the launch date, and I started making a list of hard lessons I learned over the years that would have helped them avoid this situation.
Feel free to add yours in the comments.
- Never deploy on Friday
- Never make infrastructure changes right before a launch
- Always have backups. Always!
- Version control is never optional
- A missed deadline is better than a failed launch
- If everything is urgent, nothing is important
- Fast and cheap, cheap and quality, quality and fast. Only one pair at a time can be achieved
- Never rush the start or the end of a project
- Stability is always better that speed
- Make technical decisions based on the needs of the project two years from now
- Code like you will be the only maintainor of the project two years from now. You probably will...
- Always test before you deploy
- You can never have too many backups (see above)
- Code without documentation is a tool without instructions
- Free or famous does not necessarily mean useful or good
- If you need multiple sentences to explain a method, you should probably refactor
- If your logic is checked beforehand, writing the code becomes way easier
- Never assume you understand a request the first time around. Always follow up and confirm
There are many more that should be on this list, but this is what came to mind now.2 -
Those who had the "pleasure" of working directly with clients know a thing or two about how a clumsy communication can have grave consequences.
Software developer and an Imgur user BackDoorNoBaby shed some light on these humorous situations and misunderstandings that often occur with clueless clients. Because we all have our niche interests and specializations, and it’s easy to sneer at the plebs who just don’t get it. To be fair though, dealing with unrealistic demands by clients who have no real understanding of what you do must get pretty frustrating at times, and if you work in IT, you’ll surely have come across at least one of these situations before.
What we have here are the daily trials and tribulations of an IT worker. Clients that read the latest trends in a tech magazine and want it right now. Business people who think that because they have the money, solutions should magically materialize. Clients that complain about something not functioning properly, when they clearly don't have a clue how to use it properly. We all know this kind of clients, and these kind of 'horror' stories are part of what makes working in IT so special. Sometimes humour is the only suitable response.2 -
Wrote this on another thread but wanted to do a full post on it.
What is a game?
I like to distinguish between 1. entertainment, 2. games, 3. fun.
both ideally are 'fun' (conveying a sense of immersion, flow, or pleasure).
a game is distinct (usually) from entertainment by the presence of interaction, but certain minimalists games have so little decision making, practice, or interaction-learning that in practice they're closer to entertainment.
theres also the issue of "interesting" interaction vs uninteresting ones. While in broad terms, it really comes down to the individual, in aggregate we can (usefully) say some things, by the utility, are either games or not. For example if having interaction were sufficient to make something a game, then light switches could become a game.
now supposed you added multiple switches and you had to hit a sequence to open a door. Now thats a sort of "game". So we see games are toys with goals.
Now what is a toy?
There are two varieties of toy: impromptu toys and intentional toys.
An impromptu toy is anything NOT intended primarily, by design, to induce pleasure or entertainment when interacted with. We'll call these "devices" or "toys" with a lowercase t.
"Toys", made with the intent of entertainment (primarily or secondarily) we'll label with an uppercase T.
Now whether something is used with the intent behind its own design (witness people using dildos, sex toys, as slapstick and gag items lol), or whether the designer achieves their intent with the toy or item is another matter entirely.
But what about more atmospheric games? What about idle games? Or clickers?
Take clickers. In the degenerate case of a single button and a number that increases, whats the difference between a clicker and a calculator? One is a device (calculator) turned into an impromptu toy and then a game by the user's intent and goal (larger number). The second, is a game proper, by the designers intent. In the degenerate case of a badly designed game it devolves into a really shitty calculator.
Likewise in the case of atmospheric games, in the degenerate case, they become mere cinematic entertainment with a glorified pause/play button.
Now while we could get into the definition of *play*, I'll only briefly get into it because there are a number of broad definitions. "Play" is loosely: freely structured (or structured) interaction with some sort of pleasure as either the primary or secondary object, with or without a goal, thats it. And by this definition you can play with a toy, you can play a game, you can play with a lightswitch, hell you can play with yourself.
This of course leaves out goals, the idea of "interesting decisions" or decision making, and a variety of other important elements.
But what makes a good game?
A lot of elements go into making a good game, and it's not a stretch to say that a good game is a totality of factors. At the core of all "good" games is a focus on mechanics, aesthetics, story, and technology. So we can already see that what makes a good game is less of an either-or-categorization and more like a rating or scale across categories of design elements.
Broadly, while aesthetics and atmosphere might be more important in games like Journey (2012) by Thatonegamecompany, for players of games like Rimworld the mechanics and interactions are going to be more important.
In fact going a little deeper, mechanics are usually (but not always) equivalent to interactions. And we see this dichtonomy arise when looking at games like Journey vs say, Dwarf Fortress. But, as an aside, is it possible to have atmospheric games that are also highly interactive or have a strong focus on mechanics? This is often what "realistic" (as opposed to *immersive*) games try to accomplish in design. Done poorly they instead lead to player frusteration, which depending on player type may or may not be pleasureable (witness 'hardcore' games whos difficulty and focus on do-overs is the fun the game is designed for, like roguelikes, and we'll get to that in a moment), but without the proper player base, leads to breaking player flow and immersion. One example of a badly designed game in the roguelike genre would be Early Access Stoneshard, where difficulty was more related to luck and chance than player skill or planning. A large part of this was because of a poorly designed stealth system, where picking off a single enemy alerted *all enemies* nearbye, who would then *stay* alerted until you changed maps, negating tactics that roguelike players enjoy and are used to resorting to. This is an important case worth examining because it shows how minor designer choices in mechanical design can radically alter the final quality of the game. Some games instead chose the cheaper route of managing player *perceptions* with a pregame note: Darkest Dungeons and Amnesia TDD are just two I can think of.11 -
TLDR; read the last alinea, my train just arrived and I am typing this after the resr of the rant
So lately there's been a lot of hate on here to PHP, which for now I'd say feel offended if you want to, but fuck all of the guys hating on a language without personal experience or even just plain "I used it for a week or less"-experience.
Noticed I said "a", yes I am not just talking about hate on PHP. It's pretty much the stupidest thing one can do, exclude a programming language you might like more than you will think at this moment. I present to you; My first few weeks of internship last year.
So last year I had to find a company to do an internship at with two classmates, none of them replied with a come over for a talk except a company mainly working in Laravel (PHP).
All of us didnt like php at the time, me possibly even hating it the most, but that didnt keep us from taking the leap of faith and just going to the company for a talk, I mean it couldnt hurt right?
So after the talk we had a place for an internship, which we all thought we were all going to hate, because of PHP.
Now a few weeks into the internship (3 / 10 weeks I'd say) we had basically just gotten done with the first setup of the project we had to build. And we noticed after a good 2 or 3 weeks that it didn't feel like too much of a different language.
Personally I even found it better than C# or Java, which were the only other languages I knew at the time.
Now keep in mind I still like C# and Java, allthough guven the chance I'll choose PHP everyday over both.
But I learned more things I was expecting to learn those 10 internship-weeks, with the one thing I am writing about being the main focus:
Stop hating, try the language out for at least a week (yes 5 * 8 hours) and then make an educated decission based on your findings throughout the week, you might be surprised...rant im using vue more and more lately fuck shit fuck you train does anyone actually read this tho? fuck language hater language hate6 -
Actually I have two stories
The first one, that one project I talked about with a big company when I was at school. It wasn't that much coding since it was mostly researching, but it was a big project that seems really interesting, with Image Analysis and Machine Learning.
The projects at school this year got drawn randomly for each group, so when I've been announced that I've been chosen for the biggest project, thinking about every side of the project, I was hyped. And even a year after we finished it, I'm still happy and excited about it.
The second is something a little more funny :
So we got some projects to do during December for school including cryptography. Again, those were randomly drawn (but some can really fuck you up) and I got to do a Password Manager, like KeyPass. We were 4, and we thought we had the time to do it.
But we misread the date. At the end of Christmas break, I got a call of a friend saying that the project is due in two days.
Thing is, one of my three co-workers weren't contactable. And we got nothing.
So I kinda took the lead : I said to one to do the UI, another to do the cryptograph helper, and I'll do the linking and all the behaviour of it.
In two days, I literally spent all the time available on it.
Then first meeting with the teacher for saying what is wrong, where bugs are if they exist, ect. so we can fix the issues and deliver a clean code. They were like only 4 big problems. More is, I fixed them all in like two hours while thinking fixing only one. And we got something like the 2nd or the 3rd best mark of the prom. And everyone congratulated me for that. I got so excited I was able to do that in few time.
But never that again lmao -
i have an idea today for find job as Junior:
First of all, startups usually hire senior devs only for two reasons:
1) is critical to their business, they need people that will ensure the project will be done no matter what, seniors usually brings that to the table.
2) The startups that raise some founding, usually have 100k+ raised, that money is basically enough for hire Seniors for some time without troubles, taking into account they will usually be highly profitable in the mid term, it is not a big deal to take the risk
Today startups, at least the most interesting ones, play the game in God Mode due to that founds raising, it is like having a max level character in some MMO with insane amounts of gold, you will buy only the best gear with that gold, not the low level gear, why you want to buy low level stuff, if you can buy the best of the best? that is why Juniors are not likely to have a place in startups, they can pay the Seniors.
But, there a situation in what an startup will wish to hire some Juniors, this is situation is, when they have never raised founds, they have no Cheat Mode, this ones are usually startups that have just few weeks or months of being created, and they need the MVP ASAP, this startups usually already have one or two Mid/Senior level engineers, but they have a very highly benefit from having a Junior in their team, this guy will no take any part in the Cake, will only work for lot less money and will discharge some stuff from the Seniors (Taking into account that is a minimum competent Junior).
Here is where Juniors can get jobs, at least for start their careers, and taking into account that thousands of new startups are created every year, this is a major market.
Ok, i already test that this approach if viable, i send requests to 5 startups that meets the conditions, and got response from 4! still not make a deal, but this is a lot more than 0 response after 2 dozen of applications to more stablished startups.
What you think about this? maybe this is just the jobless syndrome attacking me fuck8 -
Curiosity killed the cat.. or was it Opportunity?! 🤔
You get to learn new stuff daily.
Not one assignment is the same, and if it's similar, you can hijack the old code, improve it & turn in the better version of it.. or don't improve..totally how you feel that day..if you're not a crappy developer no improvement should still also be ok..
I love mostly adjustable schedule, so there's no biggie of I have a day or two of coders block & can't produce much of value..I can switch tasks & do some simple ones on those days..or just refactor.. all's good..
I love solving puzzles, every bug is a new puzzle I can play with..
So basically, I love being a dev, because it's like being back in school, but only with the subjects you like! -
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.3 -
## Learning k8s
Okay, that's kind of obvious, I just have no idea why I didn't think of it..
I've made a cluster out of a rpi, a i7 PC and a dell xps lappy. Lappy is a master and the other two are worker nodes.
I've noticed that the rpi tends to hardly ever run any of my pods. It's only got 3 of them assigned and neither of them work. They all say: "Back-off restarting failed container" as a sole message in pod's description and the log only says 'standard_init_linux.go:211: exec user process caused "exec format error"' - also the only entry.
Tried running the same image locally on the XPS, via docker run -- works flawlessly (apart from being detached from the cluster of other instances).
Tried to redeploy k8s.yaml -- still raspberry keeps failing.
wtf...
And then it came to me. Wait.. You idiot.. Now ssh to that rpi and run that container manually. Et voila! "docker: no matching manifest for linux/arm/v7 in the manifest list entries."
IDK whether it's lack of sleep or what, but I have missed the obvious -- while docker IS cross-platform, it's not a VM and it does not change the instructions' set supported by the node's cpu. Effectively meaning that the dockerized app is not guaranteed to work on any platform there is!
Shit. I'll have to assemble my own image I guess. It sucks, since I'll have to use CentOS, which is oh-so-heavy compared to Alpine :( Since one of the dependencies does not run well there..
Shit.
Learning k8s is sometimes so frustrating :)2 -
Microservices
Lets take an example: Products service & orders service.
When I want to save an order for a user, data saved as
1. UserId, ProductId, Quantity, Date
Or
2. UserId, Name, Email, ProductId, ProductName, Quantity, Date
I'm a bit confused here because if I'm going to fetch that purchase, in example 1, it will return IDs requiring another trip to server to get user & product info
In example two it takes only one trip BUT if any changes is made to either user info or product info it means I'm returning wrong info to the user.
What do we do in this scenario? Excuse my questions first time applying Microservices and been using monolith all my life6 -
When Elden Ring come out I ignored it, I was jobless, no money, game was expensive and I got into hate relationship with it.
Some time ago I launched twitch and saw that DLC come out. Struggled between buying or not because it reminded me my struggle with money.
Found that shop in my city sells box version of Elden Ring with DLC for PS5 and they have last one in their store.
I reserved it online without payment and it wasn’t immediate, I started thinking that someone bought it and I won’t play it. Felt happy I won’t spend money on game I hate.
Two hours later I got email that product is ready for picking up and it meant it will be rush hours when I go get it and didn’t liked it.
I work remotely and I’m not used to seeing many people, but well I wanted to play the game if it’s waiting for me.
After I arrived to the shop and went in I met the most honest guy who is selling games.
He asked me if I am souls fan. I said I never played souls game.
He asked three times if I really want to buy this game because it’s hard.
Told me he approached it 3 times already and didn’t stand a chance.
After chitchat I bought the game, paid cash because I love box games and cash anonymity.
Woman cough on me when I was on my way back, I said to myself fucking hell I’m going to be sick and I am starting my vacation next week.
I got really sick with a flu, played straight 2 weeks, I don’t have playstation plus so I can’t read any clues or play online but I don’t care.
It’s even better because you can enjoy more of the world not reading messages like you’re on gaming forum instead of playing game.
Dying from sickness helped me to don’t care about dying in game.
Two weeks later here I am, just killed Mohg and unlocked DLC on my ps5.
In achievements it says that only 38.5% of people killed Mohg.
Now I sit and wonder how many people bought DLC and will never play it because they can’t kill Mohg.
I love Elden Ring now. One of best games I played to this day.
The timing for it was perfect, the sickness, the game, one of the best vacations and one of the best journey in my life.
To whomever organized that adventure in my life.
Thanks, now it’s time to kill some more bosses.8 -
I'm going to re-try my ConsoleWidgets/ CursesWidgets project from complete scratch. Here are some things I learned and will do better this time with:
- Keep people updated on progress to maintain motivation (Hence this post)
- Centralize drawing, eliminate curses entirely besides in this static class.
- Don't worry about complicated rendering until basic rendering is done. I really got stuck up on text rendering last time.
- Sort out a color system from the very beginning, and make it as simple as possible. Working with curses, it is a good idea to have a color manager.
- Research how to logically render two items - both sized to 50% of the screen - when there are an odd amount of pixels available.
- Only make one type of widget at the beginning. Don't worry about Buttons and Sliders and such until the base Widget class is completed.
- Truly decide if I want to call them Widgets or Controls
- Don't worry about supporting multiple curses windows. Got hung up on that too. stdscr will do for everything I need.
- Cache inflation values so that they need not be re-calculated each render. Re-calculate on resize.
- This is more of a c++ thing, but drop pointers in favor of references. It's 2018. I have already started to do this in other projects but THIS IS THE ONE. -
So I joined this digital agency where they are working on this ad-tech product and right from day one, I was given a task to implement a new feature on the product. No knowledge transfer. No onboarding process. So, I had given estimation about the task and apparently it took longer than expected. But what were they expecting. Anyways, my manager asked me to have a KT with the only senior guy that has been working there for last couple of years. And man, since the KT started, it's been hell for me. The guy is such an asshole and won't even give me a basic walkthrough of the system. He only took one call and that ended within 30 minutes. On top of that he went ahead and told the product manager that I am not keeping up and am not ready. And my product manager apparently wants me to take his place within a month. It's been only two months since I joined. I have already pushed two major features, tried to understand the system architecture, codebase and everything on my own. On top of that, I got yelled at by that senior dev in a meeting about a PR. I was quite confident guy when I joined and now I am anxious everyday at work and i am scared that they'll let me go because I won't be able to meet their unrealistic expectations. I also can't stand this senior dev and he can't stand me which makes me really demotivated to work. I have anxiety issues and now I am thinking if I stay, I am gonna mess up big time and they'll fire me or worse. I might break something in production because I didn't have proper onboarding.2
-
I'm mostly .NET Dev, working on OCR thingy, but I started as Java, Android Dev. After my boss's crappy management and burning out our two mobile devs he has assigned me to finish one app. For past four days I've worked around the clock to finish as much of functionalities as I could but it simply wasn't possible, especially because project was still changing when though deadline was around 15.12.17. Yesterday I've done as much as I could and now we have to wait for the client to either accept it or break the contract.
To be frank, I think that losing money would be like a bucket of cold water for my boss. All of us, me and those two mobile devs I have mentioned earlier, are students. We have exams right now. "Senior" Dev is only year older and will soon be applying for his engineering degree. Year after year situation like this occurs and boss haven't learn a thing.1 -
So there is this discussion about killing children in code. Someone pops in with this:
"I do remember a post from a guy who actually got pulled into an HR talk, to ask why he'd littered the code with references to killing children and removing children from their parents. Imagine trying to explain to a person who's never programmed, that Kill(parent.child)is a perfectly standard phrasing and not a latent psychosis that should be reported to the police."
First I think who is the idiot that reported this? Then I think who is the HR idiot that didn't do a google search or talk to the software manager? So many people had to fail at basic thinking for this to get this far.
Then I think also. Two things can be true at the same time. The person writing this code could also harbor latent desires to kill children. But can hide their sickness in plain sight. CS could just be a place for psychopaths to talk about the true serial killer thoughts.
I was wondering what this would look like. Maybe the psycho programmer will allocate extra hidden children that will get created and destroyed without anyone knowing the better. Maybe they only need 10 children for the code, but they allocate 100. That is 90 children they can create and destroy that only they know about.
Is balancing a tree really about cycles to read the data? Or is this some sort of karma balancing with latent desires to add or remove children with different karma leanings? Linked lists? Obviously only a psychopath would make a singly linked list.
Then I read posts on devrant and think there is probably at least one psychopath here that looks up to Anakin. We know you are here! You can't hide forever.
14 -
Spends 9 months on the side developing a library for analysis of a specific programming language. No help, entirely my own work. There's various tools built upon this library. Incorporates project management, an effective build system capable of parallel and distributed builds, a packaging system...
Beta release the library. Wait four months. Ask the community for who's been using it so I can get feedback and other comments. Majority of the comments follow a specific pattern.
"You don't support X, how dare you!?"
One, this is free software, pay me if you want specific things.
Two, I'm the only developer of a project usually undertaken by a small team.
Three, yes it does you fucking invalid... Every fucking time someone claims it doesn't support some feature, it's something I've already written and validated. I swear to fucking God users can't find something themselves and instead of checking the Wiki or asking for help, they blindly assume they can't make mistakes and it must be my defect.1 -
when you cant be arsed to do icons so you just use emojis for button icons.
btn.textContent = "🗑️"
because icon sets now have their own apis (like what ever happened to icon fonts?), and documents explaining what scripts and commands to run to *install fucking plugins* on software written to *supplement* doc servers. plugins and software whos host site returns an SSL error. nice.
to use web icons. downloaded only on request. from other sites.
seems kind of eh, tower-of-baylon to me. like a bird landing on the electrical lines near your house might cause a blip and break one or two icons on your slick 2020 web app.
idk just seems unnecessary, like if you're small, your gonna want to embed your fonts on the webpage instead of overcooking things and hosting *a fucking server* just to serve an api for fucking *icons*. and if you're large you're gonna reduce those requests anyway12 -
Every problem I ever had with a game development engine, only made me hope for something better.
After all, we’re independent developers, not activision! What the hell is an “indie” anyway? I’d even grown a sort of disgust at the term, as if saying it, without having published anything, was being fake. The word felt vapid. Like calling yourself an e-celebrity, or apple putting an i in front of everything.
(Don’t you know its year 20xx, we attach coin to brands now! Dogecoin, ecoin, walmartcoin, hospitalCoin for when you really really just want an appendectomy).
This is my newsletter, Y Intercept, and the story of my many embarrassing failures, and what I have learned from them.
Indie Game Development Tools
https://yintercept.substack.com/p/...
Stay tuned for more, like "how I once redesigned the same interface over two thousand times."
and gems like
"I wish it was more like Minecraft, But With Guns - and the awful ads that FLOODED the internet from that one little, terrible, god awful suggestion."3 -
personal projects, of course, but let's count the only one that could actually be considered finished and released.
which was a local social network site. i was making and running it for about three years as a replacement for a site that its original admin took down without warning because he got fed up with the community. i loved the community and missed it, so that was my motivation to learn web stack (html, css, php, mysql, js).
first version was done and up in a week, single flat php file, no oop, just ifs. was about 5k lines long and was missing 90% of features, but i got it out and by word of mouth/mail is started gathering the community back.
right as i put it up, i learned about include directive, so i started re-coding it from scratch, and "this time properly", separated into one file per page.
that took about a month, got to about 10k lines of code, with about 30% of planned functionality.
i put it up, and then i learned that php can do objects, so i started another rewrite from scratch. two or three months later, about 15k lines of code, and 60% of the intended functionality.
i put it up, and learned about ajax (which was a pretty new thing since this was 2006), so i started another rewrite, this time not completely from scratch i think.
three months later, final length about 30k lines of code, and 120% of originally intended functionality (since i got some new features ideas along the way).
put it up, was very happy with it, and since i gathered quite a lot of user-generated data already through all of that time, i started seeing patterns, and started to think about some crazy stuff like auto-tagging posts based on their content (tags like positive, negative, angry, sad, family issues, health issues, etc), rewarding users based on auto-detection whether their comments stirred more (and good) discussion, or stifled it, tracking user's mental health and life situation (scale of great to horrible, something like that) based on the analysis of the texts of their posts...
... never got around to that though, missed two months hosting payments and in that time the admin of the original site put it back up, so i just told people to move back there.
awesome experience, though. worth every second.
to this day probably the project i'm most proud of (which is sad, i suppose) - the final version had its own builtin forum section with proper topics, reply threads, wysiwyg post editor, personal diaries where people could set per-post visibility (everyone, only logged in users, only my friends), mental health questionnaires that tracked user's results in time and showed them in a cool flash charts, questionnaire editor where users could make their own tests/quizzes, article section, like/dislike voting on everything, page-global ajax chat of all users that would stay open in bottom right corner, hangouts-style, private messages, even a "pointer" system where sending special commands to the chat aimed at a specific user would cause page elements to highlight on their client, meaning if someone asked "how do i do this thing on the page?", i could send that command and the button to the subpage would get highlighted, after they clicked it and the subpage loaded, the next step in the process would get highlighted, with a custom explanation text, etc...
dammit, now i got seriously nostalgic. it was an awesome piece of work, if i may say so. and i wasn't the only one thinking that, since showing the page off landed me my first two or three programming jobs, right out of highschool. 10 minutes of smalltalk, then they asked about my knowledge, i whipped up that site and gave a short walkthrough talking a bit about how the most interesting pieces were implemented, done, hired XD
those were good times, when I still felt like the programmer whiz kid =D
as i said, worth every second, every drop of sweat, every torn hair, several times over, even though "actual net financial profit" was around minus two hundred euro paid for those two or three years of hosting. -
The taboo of not finishing.
(As I prefaced to many posts I made, don't take this too seriously)
It is very normal in the programming world to get recommended to finish projects.
But I was wondering "what if you don't?".
Of course, we can agree that having little patience or persistence is not good for any endeavor.
But what if this recurrent focus on finishing is also bad?
Granted, I have started dozens of things and only finished one or two of them and none have become popular.
So there's not a lot of support to back my take.
But I definitely learned a lot from these projects. And I definitely had a lot of fun at some points.
In fact, I think if I had switched more often early on I would have been less miserable, and maybe I would have learned more by the virtue of not getting stuck with some project.
Of course this applies as long as you stay within the same field; it doesn't help learning gardening one day but karate the following.
But even then, there are so many hobbies in life that the chance of finding the one that you love and are the best at are very slim. So switching out of the least pleasant ones might bring you to a favorite one.
But, let's go back to programming.
Here, people recommend finishing things as means to become profitable. If you want to live as a gamedev, then you need to sell games, and to do that, you need to finish games.
That is understandable.
But if gamedev isn't your main profit, why is finishing games a requirement?
What's the point of publishing a game that you know looks like shit?
Why? Why should you put time and energy, pain and stress, all the way through the end only to finish or even publish a game that you can feel ashamed of how awful it looks? (because most 1st games look awful).
Why would you ever want to finish something that looks horrible?
First tries are always terrible, and that's fine, nothing wrong with that.
What's wrong is this sheepthought that you should publish to the public every turd that you can produce in your early learning stages.
I've been a programmer for almost 8 years now. I'm not the best out there, but I consider myself ok.
And considering I had some pretty deep depression pits thanks to this mentality, here's my advice to folk having stress with unfinished projects: don't give a single fuck.
If a side project has become stressful, shelf that shit, maybe tell someone about your issues with it. But don't care much about it.
In fact, if you manage to finish a project but it has costed you a great deal of stress, maybe that should be the shameful thing.
Life is too short to waste it considering suicide because you're not a prolific programmer.
And i would argue that iterating 100 times on different things is far more productive (and fun) than fetting stuck or spending shitloads of time on the first one, even if you don't finish any of them.2 -
Just a short story of me and how things can go right after so many years.
This was my first job. Only two other programmers in the company of like 10 employers.
First one is some one who stopped learning like 10 years ago. Winforms Ftw huh..
The other one was my boss who was really a pro but died not too long ago.
Because of this I got the responsibility for all his projects and the future ones. Beside that I'm also employed for our customer support. So pretty much to do here. Even new stuff I never heard of I have to learn asap now. Of course I have learned pretty much here. But I have reached the point where I have reached the maximum. I can't really learn much more. The salary is a joke.
But my other boss does not really care. Emotionally he has the feelings of a stick. No joke. This is going on even before the dead.
Many coworkers just gave up or got even sick of here.
But now I'm taking my consequences. I was looking for a new job now.
I was really lucky there.
Wrote 3 job application and even got invited 3 times. 2 were declined (luckily). The third one was a dream. For the people, the bonuses etc.
Now I'm waiting to sign the contract and the cancelation of my current one. The salary is a joke. Not chance of increasing. -
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. -
Up all damn night making the script work.
Wrote a non-sieve prime generator.
Thing kept outputting one or two numbers that weren't prime, related to something called carmichael numbers.
Any case got it to work, god damn was it a slog though.
Generates next and previous primes pretty reliably regardless of the size of the number
(haven't gone over 31 bit because I haven't had a chance to implement decimal for this).
Don't know if the sieve is the only reliable way to do it. This seems to do it without a hitch, and doesn't seem to use a lot of memory. Don't have to constantly return to a lookup table of small factors or their multiple either.
Technically it generates the primes out of the integers, and not the other way around.
Things 0.01-0.02th of a second per prime up to around the 100 million mark, and then it gets into the 0.15-1second range per generation.
At around primes of a couple billion, its averaging about 1 second per bit to calculate 1. whether the number is prime or not, 2. what the next or last immediate prime is. Although I'm sure theres some optimization or improvement here.
Seems reliable but obviously I don't have the resources to check it beyond the first 20k primes I confirmed.
From what I can see it didn't drop any primes, and it didn't include any errant non-primes.
Codes here:
https://pastebin.com/raw/57j3mHsN
Your gotos should be nextPrime(), lastPrime(), isPrime, genPrimes(up to but not including some N), and genNPrimes(), which generates x amount of primes for you.
Speed limit definitely seems to top out at 1 second per bit for a prime once the code is in the billions, but I don't know if thats the ceiling, again, because decimal needs implemented.
I think the core method, in calcY (terrible name, I know) could probably be optimized in some clever way if its given an adjacent prime, and what parameters were used. Theres probably some pattern I'm not seeing, but eh.
I'm also wondering if I can't use those fancy aberrations, 'carmichael numbers' or whatever the hell they are, to calculate some sort of offset, and by doing so, figure out a given primes index.
And all my brain says is "sleep"
But family wants me to hang out, and I have to go talk a manager at home depot into an interview, because wanting to program for a living, and actually getting someone to give you the time of day are two different things.1 -
In the ever-growing saga of the upgrade, here is another one.
In the daily scrum meeting, I chat about the upgrade, standard stuff.
The other dev pipes up - "Oh we had a meeting about that this morning and were going with a different approach"
Me - "wait, we're doing what now? You do know I've spent a month so far just on this upgrade?*
*silence*
Anyways I continue working on the upgrade, few meetings while I try to find out what's going on.
Spoken to BA, my line manager and the other dev didn't get much basically saying yeah this is how we're handing it now.
Well it turns out after writing a big long message to the other dev, he decided *yesterday* in a manager meeting (he's kind of a manager but not really) to propose a new approach and they all just leapt at the chance even though it's going to take way longer (2 years estimate) to patch up the system version by version until we get to the latest release.
So at some point today he sends me a message to stop what I'm doing and go and help with a product release and that we *are* doing this new approach and that he made the decision yesterday. I'm sorry but since when did he become my manager micromanaging me haha
So as the only one doing the upgrade, I only got told of this change in passing, the other dev said that he decided yesterday and didn't bother to tell me as he had other stuff to work on and neither did my line manager.
Seriously what the hell.
So hopefully the things I've worked on and done might get used in a year or two haha6 -
Crying right now. Tldr, feature demanded, never used. 8 months ago, bosses demand two features. Disable sync of products they choose and set a reserve quantity on products they choose. Code is done and in production, but the only time that choice has ever run is in testing. With over 10,000 products, not one has ever had sync disabled, or a reserve quantity !=0. I need a new job.2
-
So I've recently got into college after programming for years by myself like many guys here, the thing is I was expecting to find some guys like me so maybe we could start some project or something like that but oh boy, freshman software engineer students are the "best": Don't give a fuck about coding. Most of them are gamers who think that just because they're gamers they can make a videogame (hahaha) and the worst part is that the only student of them who already have a lot of experience in programming is so fucking arrogant and annoying that I'd rather change majors before doing a project with him.
There are two other guys who are also really interested in programming and one of them already have quite a lot of experience too but they're on different majors...
College being disappointment since the first month: Check1 -
!Rant
Guys guys guys!!!!!!! And girls!!!
Not only did I recently obtain 2 certifications the past two or three weeks, but a company called me back to see if I was still interested in an internship that I applied for a month ago!! I sent her an updated resume and she's sending it to the IS (information systems) guy (only one for the branch in my city) and if he likes what he'll see they'll call me back 😄😄😄😄😄😄😄😄😄😄.
I'm so stoked because I started this bullshit job at Dave and Buster's and it's not even really technical. I started like two weeks ago but I don't give a fuck, if I can find a better opportunity elsewhere, I'm taking it. Even if it's an internship.
Only thing is, if they want me to start as soon as possible then I'll want to, but wouldn't it be best to do a two week notice for D&D?2 -
Trying to decide between two places, one was full of cliquey staff who would talk to someone they didn't like through someone else in a child-like "Tell X I'm not talking to them" despite X being next to you, and management who wouldn't always pay you on time or the right amount.
The other was also run very poorly, management looked down on staff who wouldn't work for free after their shift finished, they'd also throw you under the bus for clients and wouldn't take staff speaking up. I once went to my direct manager noting that I was burning out as the only member in a department when every other was staffed by multiple groups of multiple staff. Told them that I needed someone else with me, next thing you know I'm out on my ear and replaced by a young lad just starting his apprenticeship. -
Everybody's talking about the 50/50 for some reason, so here's my 2 cents. I've been trying to hire another senior front-end engineer for my team for over two months, and not one half-competent candidate passed our tests yet*. The first one to pass, and I don't care whether it's a male candidate, a female one, or a type of asexual sentient mushroom spore, will get the job.
We do prefer a female candidate because our team is all male at the moment. But that's not going to stop us from hiring a male one if we find anyone.
Also, out of 40ish candidates I've interviewed so far, I believe only 3 were female. Might be a fourth one I can't recall at the moment.5 -
On This Episode of Ghetto Medium..
Posted after midnight for extra spooky effects. Read in the dark at your own risk. You've been warned.
So my mother has been on a binge watching shows like long island medium (apparently the taller your hair the closer you are to god or something), and every time we talk she begins at length to talk about, you guessed it.. 'ghosts.'
Now don't get me wrong, I've had some 'spooby' shit occur in my lifetime, the sort that will tighten your sphincter faster than bill cosby asking you if you want some koolaid or grape drank, but I digress.
The ghost talk is tiring. Lately theres been a *flood* of these new shows, purportedly showing mediums and people who can 'look into the other side' and I realize just how vapid and ridiculous it's all become, as if they all are being personally haunted by the ghost of John Edwards burnt out husk of a career. Theres long island beehive big-hair medium, celebrity medium, allison DuBois (the inspiration for that one sappy show *medium*) whos red hair and vacant stare speak of glimpses into centuries past like an intimate unseen horizon. or maybe she forgot to unplug her curling iron in a hotel one time and has been rendered permanently catatonic. And who can forget *Beyond With James Van Praagh* (everyone) whos face, as measured by the width of his mustache, appears to be expanding at a constant rate like a bad image macro edit thats been memed and repasted a thousand times. Then theres Chip Coffee, whos name is about as believable as his teaching degree on the show *Psychic Kids* where he mentored, again, you guessed it, *psychic kids*. Of course theres Tyler Henry, a youthful, uh, "flamboyant" medium for celebrities with ghost problems. Never trust a man with two names, this ones no exception, he looks so clean cut hes either secretly mormon, or secretly gay, maybe both. I'm not judging, but I am saying if I ever saw his clean cut, smooth, wrinkless (seriously, how tyler? how?), all american face, say smiling that subtle smile outside my kitchen sliding glass door at 3 am, his face watching me from the pitch dark outside, I wouldn't at all be surprised, except for the hospital bill I'd have to pay after shitting a brick and needing anal surgery.
At this rate we have mediums popping out left and right, like clowns at one of them R.L Stein nightmare carnivals, or beggers outside a methodone clinic. Geez, they're coming out the wood work, like those painting you see with hidden faces in them, or wheres-waldo posters, only you're trying to find the non-waldo guy amongst all the characters because they're ALL waldo: goofy acting, goofy dressing, and just all around goofy looking.
At this rate I'm fully expecting "pet medium" (starring a character named Stephen King and his marital problems, played by johnny depp eating way to much corn), and "haunted objects medium", and "car medium" (it's just seinfeld in a car, talking to psychics instead of other people), and "ghetto medium."
Today on this episode of "Ghetto Medium"..
Medium: Teneesha, aw yeah girl, u *definitely* ded gurl, uh huh! You WAY to white too be alive, you done passed over gurl!
And in the next episode of Ghetto Medium, one man claims "every time I bend over I can hear "wOoOoOoOoO!, Is my asshole possessed? Find out is it real or fake, and what our verdict is in Ghost Medium, episode 3: A Haunting In My Nether-regions."
Cut commercial break.
"Jerry Springer: One women asks, 'jerry, is my unborn child's foreskin haunted? And later today we ask the crowd, would you have sex with a ghost?"
Welcome to American television 'programming' in 2019.
Yes, it's all brainwashing.2 -
After two years of being in (metaphorical) jail, I once again was given the a privilege of unlocking and rooting my phone. Damn. Frick Huawei, never coming back to that experience.
I gotta say, rooting... Feels a tad less accessible nowadays than when I last practiced it. All this boot image backup, patch, copy, reflash is crying to be automised, only reason I can think of why that changed and magisk can no longer patch itself into the phone's initrd is that it's somehow locked? Was it a security concern? Or can sideloaded twrp no longer do that?
Oh, and the war... The war never changes, only exploits do - fruck safety net... Good for Google that they now have an *almost* unfoolable solution (almost). The new hardware-based check is annoying af, but luckily, can still be forced to downgrade back to the old basic check that can be fooled... Still, am I the only one who feels Google is kinda weird? On one hand, they support unlocking of their own brand of phones, but then they continuously try to come up with frameworks to make life with a rooted or unlocked phone more annoying...
On the other hand, I do like having my data encrypted in a way that even sideloading twrp doesn't give full access to all my stuff, including password manager cache...
Any recommendations what to install? I do love the basic tools like adaway (rip ads), greenify (yay battery life!), viper4android (More music out of my music!) and quite honestly even lucky patcher for apps where the dev studio practices disgust me and don't make me want to support them...2 -
Two questions about devRant itself:
- Is the overlapping element on purpose (anti normie filter maybe) ? Of course not, but am I the only one having it, knowing I have it since day one ?
- Is there no option to change password, or I'm just blind ?
7 -
Good code is a lie imho.
When you see a project as code, there are 3 variables in most cases:
- time
- people / human resources
- rules
Every variable plays a certain role in how the code (project) evolves.
Time - two different forms: when certain parts of code are either changed in a high frequency or a very low frequency, it's a bad omen.
Too high - somehow this area seems to be relentless. Be it features, regressions or bugs - it takes usually in larger code bases 3 - 4 weeks till all code pathes were triggered.
Too low - it can be a good sign. But it should be on the radar imho. Code that never changes should be reviewed at an - depending on size of codebase - max. yearly audit. Git / VCS is very helpful here.
Why? Mostly because the chances are very high that the code was once written for a completely different requirement set. Hence the audit - check if this code still is doing the right job or if you have a ticking time bomb that needs to be defused.
People
If a project has only person working on it, it most certainly isn't verified by another person. Meaning that only one person worked on it - I'd say it's pretty bad to bad, as no discussion / review / verification was done. The author did the best he / she could do, but maybe another person would have had an better idea?
Too many people working on one thing is only bad when there are no rules ;)
Rules. There are two different kind of rules.
Styling / Organisation / Dokumentation - everything that has not much to do with coding itself. These should be enforced at a certain point, otherwise the code will become a hot glued mess noone wants to work on.
Coding itself. This is a very critical thing.
Do: Forbid things that are known to be problematic in the programming language itself. Eg. usage of variables in variables, reflection, deprecated features.
Do: Define a feature set for each language. Feature set not meaning every feature you want to use! Rather a fixed minimum version every developer must use and - in case of library / module / plugin support - which additional extras are supported.
Every extra costs. Most developers don't want to realize this... And a code base that evolves over time should have minimal dependencies. Every new version of an extra can have bugs, breakages, incompabilties and so on.
Don't: don't specify a way of coding. Most coding guidelines are horrific copy pastures from some books some smart people wrote who have no fucking clue what you're doing and why.
If you don't know how to operate on people, standing in an OR and doing what a book told you to do would end in dead person pretty sure. Same for code.
Learn from mistakes and experience, respect knowledge from other persons, but always reflect on wether this makes sense at this specific area of code.
There are very few things which are applicable to a large codebase on a global level. Even DRY / SOLID and what ever you can come up with can be at a certain point completely wrong.
Good code is a lie - because it can only exist at a certain point of time.
A codebase should be a living thing - when certain parts rot, other parts will be affected too.
The reason for the length of the comment was to give some hints on what my principles are that code stays in an "okayish" state, but good is a very rare state -
i think we're experiencing the downsides of a decadent civilization without the decadence heh however much sense that makes.
we're not really progressing or evolving we're on the path of gradual stagnation an de-evolution.
I tell you getting rid of these gross fucks would be a nice step in the right direction. I used to think like hillbillies and the like were gross. Well I don't really want to go into this again, but how to make people want to learn and want to live instead of just forcing everyone to just wait till they die and fooling dumb young people into thinking this is somehow going to benefit them continuously because its the lesser of two unnecessary evils ?
Its like trying to fix a hive mind with one wrench, you can only brain part of it the rest remains.
I just listened to the same oddly convincing fake jesus people speak about their day, before wandering by their poor younger coworkers or victims or whatever they were.15 -
Gah. So i replaced my Laptops HDD with an SSD. So far, so cool, but in the process i fucked up the keyboard. Its one of those that kinda click into place. Frames broken in one or two spots and there's a chunk missing at the top. I mean, it still works fine, but it looks ugly where the chunk is missing and the left side feels a bit too soft. And a new keyboard with German Layout would cost almost 70€ (English layout only 30€ WTF!) LENOVO, Y U DO DIS!6
-
in job application mode; getting really tired of entry level positions wanting 3+ years of experience.
Given that a) no one I have seen with this much experience wants these positions, b) HR says they are getting applicants with this much experience, I can only assume two things:
1: People lie on their resumes.
or
2: The job market is far more saturated with good applicants than I thought.
Either way, frustrating.4 -
Well, I've started programming only a few years ago, and haven't done a lot of projects.
I guess the best thins I learned was I preffer to do projects alone. Everytime I try to do a project with someone, one of two scenarios happen:
- We each do a part of the project, and only talk at the end. Normally everything works out fine.
- We can't agree on anything and, in the end, nothing ever works.
I think I only enjoyed doing a project with one person. We were learning vue.js, but I was staying behind and the guy I was with was okay at it. He would do most things, while i was watching him and he would explained what he was doing and why. Then I started doing stuff (very easy things) while he was watching me and guiding me. Telling me if there was a better way of doing something, or even if I made a typo. Basically, I would do something and he would tell me if it was wrong. We ended up making a (very) simplified imdb from scratch in, I think, 8 hours? Took us longer to choose the template then to make the actual project. Yes, he made most of the project, but I think I have an excuse on this one. I did end up learning a lot, I wouldn't pass that module if it wasn't for him.
Other then that one, I never had any good experience in a group. I would rather make everything alone, no one to disagree or fight with.2 -
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 -
Today gonna be one of those woozy days.
Could only fall asleep at like 3:30 or 4:00 in the morning. Had serious allergic reaction or itchy disease starting from two palms. No med at home. Could only scratch and endure. And the fucking itch was moving from one body part to another throughout the night.
Went to the morning appointment and now heading office. One cup of coffee and one can of energy drink in me. Might add more juice in me later at office.5 -
A guy on YouTube posted in a GraphQL tutorial about his CSS issue. He asked about why a certain background for a website that he is creating only looks good on a phone but not on his desktop. I asked him to put the code on either jsfiddle or codepen but he still put the code in the comments, only the CSS part. I kept telling him to place it on those two sites, eventually he did. I looked at the pen and guess what? The picture is a portrait one... He wants to use CSS to make it look good, I don't know how he is gonna achieve that but good luck. I am done with him, stopped commenting.3
-
I'm losing faith in my future right now!
I'm dying working for my current employer (read my last two rants) but no one wants to hire me and I'm not sure whether it's my skills, little experience or only halftime availability until I finish studies!
Also, while I'm at it, there are second to none game dev workplaces here, in Poznań (and working as a game dev is a dream <3).1 -
I think YouTube gave up on trying to send me ads.
I have an adblocker in my desktop but not on my phone. In all of my years using YouTube, I've only ever clicked on an add twice on purpose, and maybe a couple of times by accident. By now, even when I'm not using an adblocker, YouTube still doesn't send me ads! And for some reason it's lately been sending me ads of YouTube itself. It's a very annoying 5-second video with just the logo of YouTube. They're really just telling me "I don't have anything to promote to you, so I'll just make you waste 5 secs just cause."
However, every single time I get on incognito, I get one ad or maybe two per video. wtf2 -
Have you ever worked for an organization that is not specialized in software development because that is not their main line of business, however, their products are software applications?
If you are, then hi you and me are in the same boat. Currently I have a nice manager and I'm acting as dev lead the strange thing I have a peer that is supposed to be lead as well but I cannot define his position....
In theory he should be scrum master / resource manager which fails at both terribly.
I ended up implementing Agile in the team and deciding what goes and not into the sprint based on quality while this guy just try to squeeze stuff into the sprint, the more the better even with all kinds or problems...
Honestly I'm not sure why he is still in the team since it seems like he only drains the budget, doesn't understand a thing about the products he is working on and every single idea he has is horrible.
Every meeting I have with him I always ended up asking myself "How can somebody be that stupid?" The lack of technical knowledge and even common sense is over 9000 in this one...
It might sound bitter from my end but after two years of dealing with this stupidness of getting people in software development that have no idea what software development is and understand the intricacies of it just because they did an access database or are good at excel is nonsense.
I'm at the verge of quitting and the only thing that is keeping me here is my manager and the fact that the products I am working with are pretty interesting.
Sorry for the long rant but I had to get it out of my chest before it explodes and I directly call out this person.
Not looking for suggestions but if anybody want to chime in go ahead.1 -
Deadline was 2-3 days for product launch and doing distributed transactions was not an opinion as it requires heavy modifications.
I was doing money transfer app between one transactional system and one not transactional system so the way I did it was :
1. transfer money from one system to my app that was using Akka STM ( software transactional memory)
2. try to transfer money to second system
3. transfer money back on failure
There was no database, no state only transactional log as installing database would require to much time and paper work.
Sometimes transfer back failed so we need to look back at logs and search for money, it was quite easy cause there was error and there were not so many failed transactions like this.
About one or two in a month and everyone accepted that.
I started to write some sort of reconciliation thread but then was assigned to other work and it worked like this for couple of years transferring couple millions worth of transactions.1 -
So I am redeveloping a website I made for work when I first started all this a year and a half ago. Part of the project was integrating with a marketing automation suite through an OAuth2 authenticated API - compounded by the fact that no one has heard of the thing, so there aren't plugins (wordpress last time, Drupal this time) or the ones that are there are woefully out of date/have no functionality.
Anyway, I've been dreading doing it. Last time it took me over a week (maybe two), and the solution was a total cludge fest - I had to do a load of stuff manually and it constantly broke anyway.
This time? Took me half a day, maybe less. All the user has to do is click a button and give the webpage permission in the automation suite (as you'd expect) and everything else is automated. It doesn't break, it doesn't fall over and it works very nicely.
It's the first time, apples to apples, I can see how far I have come, and I love it.
Now if only the API itself i am connecting to wasn't shite!2 -
We needed to decide which JS library to integrate in a project. I investigated two libs both os and commercial and made a nice table to compare the pros and cons side by side. Important to note that both fullfilled nearly all of my technical requests and there are zero other comparable projects or products.
Now our Boss needed to make the final decision. He shortly looked at the Excel File and said:
I don't like opensource software because they will abandon the project if they earn no money. Also I don't like the other one. It's too expensive and it's developed by only a small company! I'll let you know which risk i'll take!
You guessed it: Still no decision after a few weeks. I'd say he will go for the os lib...
Idiot2 -
Disclaimer: Technically it's not "our" stack, but we have to use it so....
A webapp we built runs inside the company's network we built it for. Their IT are windows lovers, so everything has to run on Windows servers, even the tablets which are used to access said web app need to have windows.
Their company network isn't accessable from the outside world, so we have access via VPN to get into their network. But this isn't enough to access that shitty windows server our software runs on. After that VPN, you have to connect to a different VPN to which you can only connect to while you're inside the company's network. Then you have access to two servers, one the application is running on and one, well to see if you're changes were deployed correctly because the production server doesn't have a browser on it other than shitty internet explorer 8.
The only way to connect to the server is using RDP. Not even samba or so. To deploy the changes we made to our app, you need to copy paste the files from your local machine to the server. And don't get me started on running mssql migration with the shitty mssql console 😤😤
Why would anyone who isn't a complete idiot use Windows for servers or mssql in the first place????2 -
Hey Linux users!
I have successfully convinced a friend to change from MacOS to a Linux based system (because she needs new hardware).
Now I am asking myself which distribution would be most qualified for her. She is a relatively old lady and only knows Mac (no Windows or Linux knowledge), so it should be easier for her if the new system would look similar to the Mac environment she knows. (Using console is no problem.)
Another point is compatibility: She needs some (commercial) software (like GitKraken and design stuff), so it would be cool if the Linux versions of them would work on the distro (for one or two programmes Wine is needed).
After my own reasearch I came up with Elementary OS or Gmac.
Because I have no experience with Mac I want to ask you: Has anyone here some experiences with these two systems and/or with a change from Mac to Linux and could recommand a distribution or desktop environment?
Thank you!10 -
So this month I had to do two major features which required unexpected refactors and I had to handle unexpected edge cases all over the place. Since I work in another timezone and time was of essence, I was kinda working around the clock to complete refactors as fast as possible because it was "important and critical". I have 7 other devs in my team but only half of the team are actually competent and even less are motivated to push through. Most of the team prefer to sit on low hanging fruit tasks and cant even get that fucking right.
So that resulted in me doing at least 100 hours of overtime this month. Best part all I got for pulling it off was a thank you slack message from teamlead and got assigned even more work: to lead a new initiative which seems to be even bigger clusterfuck...
So today I had a sitdown with my manager and I asked for 3 paid days off and told him that I did 50-60 hours of overtime. He okayed it as long as my teamlead was happy.
So I created a chat, adder manager and teamlead to it and explained my situation. That Im feeling burned out, I need 3 days off and combined with the weekend that should allow me to finally relax.
My fucking teamlead told me that these days are mine and he cant take them away from me. But then he started guilt tripping me that no one else will be working on the new initiative these days so we will have a very tight timeframe to deliver this (only until August).
Instead of having at least a drop of empathy that fucker tried to guilt trip me for taking days off for fucking unpaid overtime. What a motherfucker. Best part is Ive talked with manager and we actually have until end of August to deliver the new initiative, so fucker teamlead is gashlighting me with false sense of urgency.
I guess a hard lesson learnt here. Waiting for my fucking raise to be approved for the past 6 weeks (asked for a 43% bump which is on the way since I got very strong positive feedback).
So Im done. I proved myself, will get the salary of which I only dreamed about few months ago. Not putting any overtime anymore. If something is very urgent, borrow fucking decent devs from another team. Or replace half of our useless team with just one new decent dev. I bet our producticity would increase at least by 50%.
Its not my fuckint fault that 2-3 people are pulling the weight of 8 people team. Its not my responsibility to mentor retards while crunching under immense pressure just because current processes are dysfunctional. Fuck it. Hard lesson learned. If you want overtime, compensate with extra days off or pay. Putting my 7-8 hours in daily and Im not responding to your bullshit slack messages or emails after work. I dont give a fuck that you work in another timezone and my late responses might result in stuff getting done postponed by a few days or a week. Figure it out.2 -
My manager asks, in Slack, if we can change the auto-tagger to update the patch instead of the minor version. I respond by saying, "Yes, it's in the Jenkisfile. Really we should switch to just <major.minor> and drop patch."
My manager asks why and I go on to say the last number is useless (unless you ship software externally and need to hotfix or security patch a minor release; internally they serve little purpose).
At my last job we dropped three numbers for two, and most other teams here only use two numbers.
He sends a link to the semantic versioning website.
The next day one of the other developers sends it to me in a private chat as a joke. 😂😅 I'm glad I'm not the only one who thinks our manager shouldn't be a manager. -
!dev
Personal rant, but as one shouldn't bottle up emotions, probably not so bad idea....
Started with diet and exercise in the vacation, as finally a certain thing starting with C calmed down...
Its maddening how fucked up the world is. Now as a lil private info (that might not be so unknown, shared multiple times here) - my body is a train wreck.
Lungs are fucked, muscle distrophy, some other things are fucked.
I'm the kind of thing every gym trainer dreads - the client that needs not only a lot of ass whooping, but also has a lot of problems that need to be taken care of.
Which is why I rather do exercise at home, cause... My experiences with humans in gyms are bad. Most trainers behave like fucking chimpanzees screaming commands while not listening what one tells them...
First challenge: Find a low impact cardio training.
What one mostly finds is a female chick (which is sad cause I like men more for obvious reasons), that should gain some weight, screaming at ya how great sport is while jumping around like a bunny on ecstasy.
Low impact isn't really low impact when you jump around, lil bunny... And it isn't low impact when you just let yourself fall to the floor and start doing push ups.
If an obese person like me did that, it would end in pain, frustration and an empty fridge TM.
So one has to painfully look and skip through 20 min vids of "Non low impact low impact YouTube / ... vids" to find one that is doable without wrecking the body even further... Yaaaay. That makes one totally not feel depressed :-)
The other thing that I always hate is dieting. Note that I don't have to change much - I'm basically on a diet since years, holding weight the whole time.
The jolly fun is that I can't take off with just an diet. If you never heard that such thing is possible, a lil advice: It is possible. Nothing hurts more than being told that eating less solves all problems magically - cause it doesn't.
What I usually need is added protein, as I suffer from muscle dystrophy in my left side. (hence the low impact vids).
If you go to a grocery store, you most likely find *tons* of protein stuff.
The fun thing is that roughly 80 % of that are - like all things in a supermarket - completely bullshit.
I know one could avoid using protein powder / ... - but that makes dieting a very very very hard task, as one has to not only do a lot of planning, but cooking and eating becomes a depression palooza... It just doesn't make fun when you have to scale components for every meal or force yourself to eat e.g. 250 g of low fat curd cheese to gain the necessary proteins.
Why is supermarket stuff so shitty....
Added sugar / saccharides . When one has been dieting for long for health reasons, one finds out pretty quick that most products (especially those labeled as healthy / fat reduced / "weight loss") are perfectly made to lead to a sugar crisis and binge eating.
I've found protein drinks containing up to 25 g of sugar per drink (330 ml).
A coke has 27 g of sugar per 250 ml...
:) Now isn't that jolly...
I've found my stuff of joy not so long ago (not advertising here, but depending on flavor it has only up to 3 g (!)) of sugar per drink)...
It just annoys me and pisses me off how much money is made - in my opinion deliberately - on the suffering of other people...
Most laws by the way end up being blocked by lobbyists - most nutrient scores etc are just "wrong" or better to unspecific... Making exploitation pretty easy.
It's funny how everyone has an opinion on obese people, everybody is pointing fingers and explaining how stupidly easy it is to take off... And at the same time no one gives a damn about shit like that.
That's all folks. Feeling better now.
By the way, I'm doing fine. I lost 7 kg already, though the train wreck of body was pretty pissed the last two weeks as everything hurts.
Another reason why motivational speeches are dumb in videos: Pain isn't fun. :)1 -
Just found out what deadlocked processes are and it really has a lot of potential for teenage instagram sentimental quotes.
"Two processes that are kept on wait indefinitely because the only thing that could end the wait is an action by one of them" with some pretentious looking font and a picture of like, a rose in black and white or some shit is Instagram gold -
I found that when I worked on a Mac I only had one screen and worked quit productively. I didn't feel or miss only having one screen.
But when I'm using Windows, I struggle to work with less than two screens, in fact I could do with six! 😂
Is it just me or has anyone else experienced the same?
P.S. good to know I'm not alone 🤓
💻💻 -
If Google finally made pull-to-refresh optional on Chrome for Android, it would be an admission of failure.
The failure to realize four years earlier that pull-to-refresh is potentially annoying to users, and the failure to listen to the abundant feedback by users who lost submissions or who interrupted playing media due to refreshing accidents.
One can assume that Google has something like a "user experience team". Didn't even one of these "highly qualified" people remotely consider that assigning the same finger movement to scrolling up and to refreshing could be a potential annoyance? Didn't this possibility go through at least one of their IQ 130 brains?
Now guess which is the more frequent purpose of swiping down. Scrolling up or refreshing a page?
Only one of the two is wanted at a time. Either scrolling up or refreshing. Assigning the same finger movement to two things at once is a downright terrible idea.
By making the pull-to-refresh anti-feature impossible to deactivate, Google effectively is begging its users to leave for Opera Mobile or Samsung Internet.9 -
Roses are red
I'm gonna cry
"can't read function 1 of undefined"
when your trying to use someone else code, but they have it very unoptimized, so you fix it up, only to refresh your editor to see Type-error hell and the editor tells you to fuck off by not telling you what line it's on...
I mean what the fuck man. Why do editors do this shit. They don't clear their caches sometimes, so you don't know if a type-error occurs, so your just FUCKED and you have to start all over. I've spent 5 hours just trying to edit one fucking program so I can import it into mine. The code itself is just fine, but the amount of sloppy variables is good damn outrages, I legit have to leave non-critical variables or else the program just breaks, even though those variables aren't even being fucking used for the purpose I have the program for anyways. And I can't just leave the code as it is because it would cause to much of a performance drop in a program that involves music. Like I would let that happen. The worse part is, is that I got so close one time, it was almost done, no type-errors, 2 hours in, I get a little excited and delete some more useless code without checking for type errors. Well guess I'll go fuck myself. Oh? I can't seem to find the most likely most useless unrelated variable? Shucks, oh boy, oh gee. Fuck off with this shit, I didn't start learning JavaScript only to be fisted in the ass if I want to use code from someone else program. Literally it would be so much better if the editor could tell me where this error is, but noooooooooooooooo, it's literally an internal error and that means I can go fuck myself two ways to Sunday2 -
Storytime.
Our prometheus node, one of your oldest systems (somehow fits the Titan reference..), is about to be relieved of its duties after several years of loyal services to the crew.
We decided to run with another Prometheus node in the ring, that will run simultaneously with the old one, so that the new one can start to collect metrics that we need for alerting (some historic metrics are needed too..). sort of an Prometheus cluster, without the cluster fun and with 2 different Prometheus versions.
The problems with this? Well it's not the new node or the latest shit versions of Prometheus per se.
1: The node exporter.
those dudes decided to make some breaking changes in a minor update, so that you will need to run with some magic bullshittery, that the latest Prometheus can make something out of the old metrics provided by the old node exporters.
The other one is the related puppet code.
The node definitions for Prometheus were built via exported resources on the target nodes.
The code worked like a charm with only one Prometheus node, but try that with two instances in the same way.
Still WIP, but some targets are already included in the new Prometheus instance.
alerting works so far.
Can't wait to close this ticket for good.. -
Story of two poor puppies
when my mom returned from market, she saw a puppy with her
siblings surrounded by people choosing which one to take.
she pick one puppy. she's color is grayish black puppy with the tip
of his tail and a place in she's neck.
she whined and cried when she separated from her siblings and Mom.
but she quickly familiarize herself with the new family and place.
she was very happy when we bring her sister we found in the same place.
I take care of them.
I feed, wash and play with the new friends.
we built them a house. they were very happy and playful.
but things started to go downhill all of a sudden.
my parents start to prevent me from playing with them.
they say " We bring the puppies for them to be guards ".
they really hate dogs. they started to lock
the house and the window. they had to pass all day in the
same place
(How BORING) they pee there, eat there sleep there.
Since me and my sis prevented from take care of them, we couldn't
do anything all this only to make them cruel dogs and very unfriendly
to people.
when time pass, they started to forget them.
before yesterday, we remembered that we didn't
give them any food or water for the past 3 DAYS !!!
my sister unlock the door for them and they get out
from the house (~Prison~). they were completely
different. the gray puppy was very tired and depressed
and unhealthily skinny. the sister was fine.
we let them outside for few days when the gray puppy
started to get more and more skinny.
he lies on the floor all the day, when we are nearby, she
only wag it's tail no more.
Today, I wake up only to hear the bad story
the gray puppy, well we found her 0x00DEAD ! ! ! !
immediately after I heard the phrase, I burst into tears
I really couldn't stop crying. I couldn't even see that
cute face 0x00DEAD.
My sister's case was way worse than me. the is still
crying at the time of writing. we didn't see their funeral.
the other puppy was very sad because of her sibling
The Worst part is, we didn't name them or take ANY
photo with them !!! :`(2 -
!rant
Currently I am studying "applied computer science" in Berlin and most of my modules are easy as fuck for me. Most of the time I don't even have to study for the exams. My programming professor even told me that I am the best student in terms of clean/readable code and he was amazed when I handed in on of my homeworks where I used MVC. Today I failed my math exam for the second time. It's the only module that I suck at, mainly because I don't give a fuck about it. I can easily grasp the concept of anything that I am interested in, but if I am forced to learn something my brain just shuts down. I truly fear that I will drop out of university because of math. I am still at my first of three math modules and I don't know how to handle this problem properly, having in mind that I still need to participate in two more modules. The saddest part is that I am not the only one with those problems and fears. I will link a news article of the German newspaper "Tagesspiegel" in the comments.
I know this is neither a rant or a question, but I just wanted to tell you guys about my problems and maybe start a conversation about the importance of math in our modern times and why school's aren't able to teach basic math in a way that young people are excited for it or at least are able to grasp the basic concepts.3 -
First week at the University, i became a circular mail with an offer for a place in the webteam. Requirements were a basic knowledge in linux/ubuntu and its packagemanagement and also some minor basics with nginx.
one day later i decides to mail my interest and that i mostly self-taughted me using linux since some years and began programinga year ago with python and recently deployed my first project in a VPS with nginx.
either, my qualification is quite high for that job or i was the one and only applicant, but who cares, i'm in.
this is my first employment in the it area,so i'm quite exited, even its mostly an administrative position. i gonne administrate the vm's for some websites and a special portal for students.
but! due to the fusion of two faculties at my university, there will also be two websites to be merged( our is on zope/plone and the other is a typo3) (computer science vs media... no really^^
well, now i have to wait for the doodle for the first meeting -
Best thing about having two screens and rectangle is that you can collect all the security pop-ups on the smaller one and just continue working till it's actually convenient to restart everything. (Like after the meeting)
Seriously corporate security measures are completely fucked. Not only did they manage to slow down even Go compiles to a crawl with defender and other crap. Just tried to write 6 words to our PO. Focus got stolen by 4 of the 6 words typed.
One of them demanding to restart Firefox and that one can't be closed or moved out of the way unless you have some fancy window manager tool. This isn't security this is harassment.4 -
So, I've been seeing a lot of people concerned about privacy around here lately.
I completely understand it, and I too, don't want all my data to be available for anyone at any given time. I get it.
However, the only way to get privacy, is to build it yourself.
Buying a phone? Who says (apart from the company itself) that it doesn't have some integrated chip, or that the os lies to you or w/e
When using your phone, who says your Sim provider isn't intercepting all your traffic with a man in the middle attack?
These sound like conspiracies, however, if you really want privacy, either build it yourself (or with other privacy activists) or let go of the comforts of technology (i know, you're not the only source of info about yourself, the only way to shield yourself is to go into the woods and live a simple life.)
It's pretty sad that these are the two options, but I've yet to find a better one.
(ps, I used to have a "no logs, no ip, no anything" VPN provider, and as soon as some agency requested info, they got it, so I wouldn't easily trust the promise of 3rd parties anymore.)12 -
This *is* a question you silly wrong tagging mother fucker, how dare you doubt me?
Alright, no more disclaimer: I like dungeons and dragons, but it's too fucking much in terms of rules and systems and shit, as in just *making* a character can take a long ass while.
And if that's the highest level of all your ANAL preferences then OK, but I'm not you and things only come OUT of my ass, not inwards, I swear.
Anyhoo, I got fed up with it and wrote my own ruleset and setting as a last fuck you to everyone. It's very simple: if you want to be some kinky magical alien hermaphrodite royal prostitute half sewer dragon princess and three quarters bearded female incest child of demons and fairies then FINE, but you get no bonuses for that shit.
Get it? No complex racial level scaling bullshit, FUCK YOU, race and background is just for vibes, end of story.
You get no attribute or skills or shit to distribute on level one. All you get is a prompt: pick three actions, that's it. You wanna be sexy? Pick "seduce". You wanna set turds on fire? Pick "ignite". Are you an edge lord? Pick "summon". Would you be my wife? Pick "heal", "buff" and "smite".
The game is turn based, and each action you can take is effectively a spell. Everyone can cast a basic spell like walk, attack, talk, crouch, etcetera -- that costs no mana. Special crap like flying and firing fucking electricity costs mana, and you can only do those if you either picked the spell on level one or learnt it later from a book/tutor/demonic bargain/whatever.
Which spells are valid for taking at level one is up to the game master; I just tell people to pick three verbs or short sentences, and if they choose something that's too broken like "split the Red Sea" I'm like nah you're not Moses, try again.
Still with me? Good. You get eight points of health, four points of mana, and one point of stamina. They're all energy, and you can use it to power your magery, but spending all your health means you fucking die.
Stamina recharges fully every turn, and is used for the aforementioned basic actions. All of these cost one point of stamina each. If you run out of stamina, you can use mana. Or your BLOOD.
Level one spells cost one mana, level two cost two and so on. You get back one point of mana each turn, and you can fire all the spells you want during it, long as you have mana. Or BLOOD.
That's good and all, but if you spend anywhere over eleven combined points of energy in one go, you spontaneously combust and die, erasing all signs of life in a twenty-meter radius. This is called incineration, and it *will* leave behind a blackened crater from which the dark servants of the Horror Immemorial may or may not crawl out of.
In case you didn't guess by now, your blood doesn't fucking come back unless you eat, sleep or see a healer.
But anyway, the more points you spend into casting a spell -- and remember, basic attack counts as a spell -- the more powerful it is, so the bigger your diceroll can get. My rule is I add one dice for every fourth point of energy spent, so (1d4), (1d4 + 1d6), (1d4 + 1d6 + 1d8), incineration.
Additionally, for every three points of energy spent, your spell can hit one more target. That's right, you like AoE? Then spend more mana, bitch. Oh, and if you're using shit like poison it lasts one more turn for every two points of energy spent.
How do we calculate damage? Diceroll over two and fuck your mother. Armor class? Resistances? Out of my face with that shit. Damage reduction is called "tyranny" and is for dungeon bosses only.
If you live long enough to get to level two, you *do* get attributes. Pick:
- Grit: +2 health, +1 to fighter shit type rolls.
- Cunning: +2 mana, +1 to rogue shit type rolls.
- Allure: +1 stamina, +2 to wizard shit type rolls.
- Spirit: +1 to elemental shit type spells.
- Faith: +1 to benefactor paragon asshole shit type spells.
- Hatred: +1 to demonic murder hobo destructive shit type spells.
On second level, you can pick one of the spells you know to get +1 to it, specifically. Eh, "+1" just means you get a bonus to some diceroll, no time to explain I'm running out of characters what the fuck.
On level three, the cycle repeats. Pick attr, pick spell. DONE.
Oh right, and weapons. Mostly just vibes, pick your fancy and fuck off. Normally, you can hit things one tile away; if you have a BIG melee weapon you can hit from *two* tiles away, and if you have a ranged weapon you can shoot anyone in sight, but you need to spend one point of energy to reload.
And there, all bases covered in less that 5000 characters with some flair to spare, now suck my fucking cock Hasbro.
What was the question? Oh yeah right, I'm gonna GPL this shit and put it in browsers. I think I'm going to write it in Kotlin but I'm open to suggestions. Would you guys like to play it/contribute to it's development for shits and giggles?8 -
My most consistent enemy at work is this fucking system I have to work in, holy shit. Not only is there no default support for shit you would really think there should be, no real control over the interfaces with the UI, and the far too complicated method they use to magically make said interfaces, but we also have to use their build environment to build this shitty thing. So builds take anywhere from 4 to 12 minutes a pop and ridiculous style guide will stop the build, no questions asked, for dumb violations like spaces between if and (. And it doesn't catch these, sometimes, until 7 or 8 minutes in. I have wasted so much time on this. And seeing as we work in 2 week sprints that are really 7 to 10 day sprints based on whatever hair goes up my bosses ass and have to deliver feature complete in those two weeks, I can't really afford all this nonsense. I used to joke about having an alcohol problem, but I think I actually may be developing one at this point.
-
How many keywords are appropriate to put in a "skills" section on a resume?
Technically I've played with a lot of tech and stacks, and done tiny one offs, tutorials and independent projects but nothing that wasnt more than a day on any one of them.
Basically im fast at picking up a language and api and just rolling with it and getting something done, even without tutorials or tons of googling. Though I find myself constantly relying on manuals and reading apis.
Is this normal or should entry level be familiar with the api of something from the get go?
I see a lot of people say to game the system just to get your foot in the front door past the automated keyword filters and on to an interviews where the real requirements are listed.
But I'd rather not list under the skill section something I only used for all of ten hours in one or two sittings.
Also is it acceptable to list a "learning", "would like to learn/know more of", or "planned skill additions" section?
Also what do I add for extras? "Achievements"? "Volunteer work"? "Hobby projects?", "past times?"
Is any of this seen as necessary or well rounded?
If it is really just about the numbers I'll just go scrape junior and entry level positions and take their keywords and automatically fill out template resumes to automate applying.
Could even use SQLite to store the results and track progress lol.
I've never worked as a professional programmer, but it's the only thing I ever enjoyed doing for 12 hours a day.16 -
Not dev related.
Two incidents that I'd like to share.
So here in India two major streams for college are engineering and medicine (others do exist). So entrances to both these colleges are based upon entrance exams. So here are two "events" that happened this year and worth mentioning.
Incident 1:
The exam for the engineering stream had a section where the answer is a number with up to two digits of decimal. Range is (0.00 - 9.99) So apparently this two decimal precision created some confusion and the court decided that if the answer is precisely "seven" then only the candidates who've marked 7.00 are given marks while those who marked 7.0 or 7 were given wrong answer.
Incident 2:
So for the medical entrance, exam was for 720 marks (180 questions * 4marks each). So every candidate from the state of Tamil Nadu were given a full 196 marks as bonus because the translations from English to Tamil we're inaccurate.
Now I need to mention that around 300 marks would fetch a decent seat in a government college.
What the fuck is happening? One the only thing they're supposed to conduct every year is also messed up. And who the fuck created complicated shit like 7.00 is correct while 7.0 and 7 are wrong. I mean should the candidate worry about the getting the answer or marking it?
For those who don't know wrong answers are penalized heavily and there's huge competition.
https://m.timesofindia.com/home/...
https://m.timesofindia.com/india/...1 -
My main project in work is making program in C# (right now .NET Standard) that can read scans of invoices that are sent from contractors. I'm working on it for almost two years now (with breaks and only halftime because university). Alone. And for last two months I've been redesigning, refactoring and making whole app "better", using experience and knowledge gained in the last two years.
Obviously my boss wasn't happy with that but I got him to accept it, promising that it'll make it work faster, expansion will be simpler and I'll make core as a separate library that can be used anywhere, not only in the JobRouter ecosystem.
And so I reworked most of the code, made it cleaner, I hope, and a tad quicker. And I was happy with it while testing on a package of invoices. Today I made first integration with customer's JobRouter.
The results aren't any better - in some cases they are much worse. Especially while searching for invoice entries, which can be in any shape or form and on any of document's pages.
I guess, being a Junior, I wasn't really up to the task. I'm sick of working on a "guessing" program that has to work with every invoice template users can imagine. I'm sick of not getting any recognition for what I did good. And I'm sick of constantly being pushed to make it work better when I just don't have any more ideas or my skills are just lacking.
To be honest, I don't know what to do. I'll probably have to work on making it search the data better. But it's not trivial to just look at the code and see errors. Iterating on the code while working with different invoices worked for a bit in older versions, but I reached the point where changes made to make one invoice be read better, made another one worse.
Its like on those GIFs where you squish one bug to make another two appear.
So yeah, I'm currently really doubting my career, skills and intelligence.8 -
That moment when you are so impressed about someone or something and interested and want to talk about it but you dont know how to even string two sentances about it even after you just spoke to someone that got you interested in it.
Time to spend a few hours getting the lingo down but in short, using python to make a FE to allow users to create a Hermes config file that will be used on Kubernetes to set up clusters of servers on aws to run their version of our platform. My mind is so rekt and i thank the Devops guys for this needed break from the FE where i normally reside. I love working with people that are not only good but enjoy what they do. They make me a better developer myself 👏
This is one of the many vast reasons i love what i do and having a place to share with more like-minded induviduals like yourself, im grateful.
Thabks for reading and hope you have or had a great day. Keep up the good work all and stay focused 👌 -
I looked at a PR for some work a dev agency is doing for us. For some reason, the dev directly modified css rules instead of making updates to the SCSS files and running the compiler. WTF. I asked why and isn’t the compiler working. Just got an answer saying that was his mistake. That’s not a mistake, but that’s idiocy I’m sorry. Dev agency is supposed to be doing code reviews too, but I’m pretty sure they would have merged that. We have another repo where the same thing happened—only it was dozens of lines of code instead of one or two. Luckily that repo doesn’t get many new feature requests, but I do have to selectively pick lines to commit whenever I make style updates. It’s a nightmare. I know it must be hard to jump into a code base you’re not familiar with and there might not be dev docs, but for the love of god don’t make maintainability a nightmare. I shouldn’t have to be a babysitter. Bet they’re regretting that added me as a reviewer for the PR.7
-
Disclamer: I don't want to give out what app I am talking about, so all names will be random to just represent the nonsense and my frustration.
So I was working with that app's API....
To begin with, some retrieved Objects have collection (iterable structure) of "Thing" objects, called "Things". But... there can be max one element in that particular collection!
Ok... I get it... I might exaggerate a bit... fine, let it be.
I had to mention it for the further part, and also got to mention that "Thing" objects are globally available and predefined, and Objects can only choose one, unused "Thing".
To the point.
Someone thought it would be good to separate representation of one structure into two classes.
We have collection of "A" objects ("As"), which have "Name", "Things" and other, mostly GUI/config related attributes.
Collection "Bs", of "B" objects, they have "Name" and rather lower-level attrs.
The "As" and their attributes can be set in the GUI, but the list where you do it is named "List of Bs" and vice versa.
Interesting, huh?
I had to use both "A" and "B" definition for given name, so I tried to map it... and things gone South.
Collecions have "Get" method with name as an argument.
But it turns out that while the "A" use its GUI name all the time, "B" uses either name that can be found in "As" or, if not all "Thing" objects are used, the "Thing" names.
Example:
global "Things" = "t0", "t1"
"As" = "a0"("t0"), "a1"("t1") -> "Bs" == "a0", "a1"
"As" = "a0"("t0"), "a1"() -> "Bs" == "a0", "t1"
"As" = "a0"(), "a1"() -> "Bs" == "t0", "t1"
That means if at least one of "A" objects have empty "Things", then the mapping will fail.
Only solution is that the app works only partially when any of "A"'s "Things" is empty, so I might raise error too, but I have to provide solution that will work even in the cases when the app don't care... so... not gonna happen.1 -
Worked on two (small) errors for about half my day. I've had them before but fuck I've never spend more than an hour on one. Decided to stop and go for a walk and game a bit after.
Came back today and instead of opening my code in VS Code I opened it in ST3 and I went through the errors again and I fixed it. I tried doing the same on VS Code but it didn't work just like yesterday.
Now, I've only had posititve experiences with VS Code and I really like, but what the actual fuck. Has anyone experienced this before and are there solutions or ways to prevent this? What is the cause anyway?
Also would appreciate some suggestions for code editors, love ST3 but I wanna try something new (I know, if it ain't broke don't fix it, got me) -
Having a question regarding build number semantics (Im working on android app for that matter)
My current app build which is released is 5.3.6 (build number 94)
I already merged one feature to develop but haven't released it.
I also finished working on another feature but haven't merged it to develop yet.
Now my question is should I make a new build (5.4.0 with build number 95) and just merge to master, then release to google play (it would contain both two features)
Or should I make a new build 5.4.0 bn 95, merge to master, release it. And then make another build for the second feature 5.5.0 bn 96 and release that as well?
My reasoning would be to go with 2 separate builds and versions (in case my second feature messes up, I can revert it and also it will be easier to manage versions).
But then what about users: will they receive two updates from google play or only one (the latest version) ?3 -
!rant (I got down voted for this on Stack Overflow, so I try to discuss the issue with a more professional crowd.)
In a Software Engineering class, we had an assignment to read Parnas' seminal paper on modularization [0]. In this paper, two approaches of dividing a software into modules are discussed:
Traditional Approach: A flow chart is drawn to work out the single processing steps and the program's high-level flow. Then every processing step is turned into a module. This approach doesn't yield very good results.
New Approach: Every design decision will be turned into a module by the means of information hiding. This approach leads to much better results.
My personal interpretation of the term design decision is that the modules are identified as data structures rather than as processing steps of an algorithm. This makes sense, because data structures are much more suitable for information hiding then processing steps of an algorithm. (The information inside a data structure is hidden behind functions, whereas a function only hides more detailed processing steps and no information; the information is actually passed in as arguments.)
Why does the second approach work so much better than the first approach? Here comes my second interpretation: The single processing steps of an algorithm are not replaceable (and thus not reusable), whereas it's possible to convert data structures into other data structures.
And here's my question: Could that be the reason why software development using workflow engines (based on BPMN, for example) never really took off?
My personal experience is that the activities created in such workflows are hardly ever reused, but there often are big data structures passed around all the involved activities, even if most of the activities use only one or two of them.
My question exaggerated: Could we get rid of all those clumsy workflow engines by giving managers Parnas' paper to read?
[0]: On the criteria to be used in decomposing systems into modules (Parnas 1972)2 -
I just... I have no idea. I am supposed to be responding to a soft offer this morning but I am not sure what kind of "ball" to play.
Awhile ago my boss took a higher position at a somewhat higher esteemed and larger but hierarchically lower level sister company. My current company basically told me my current position will be dissolved because sister company is going to form a team under former boss to do those duties. I can stay on but would have to take on totally different duties. I love what I do and I think I have a valuable skillset so that doesn't sound appealing to me. I applied for sister company's job and have the soft offer - always being considered a shoe in because - well it's my job.
It's time to negotiate and their offer is OK. I get to keep my accrued leave and my years of service (heck yes!) but the salary bump is a little less than I had hoped for.
Budgets are super duper tight right now and I don't want to push it with new company. Even though I have two options - keep current job or accept new job I feel like I only have one option - go and I don't have any leverage for negotiating. We will not be getting raises for at least two years at either company. I also feel like this will be my only opportunity to negotiate anything for a long time.
If they can't budge on salary should I ask for a sign on bonus? Flex schedule? Or should I just accept the offer (1500 increase from current salary) as is and be done with it?
There is actually more complicated history and stuff but I tried to boil the situation down to what is going on now.
Any advice?5 -
all this talk of australian crypto laws got me thinking. here's a hypothetical (this might get a little complicated):
for the sake of the security facade, the government decides to not ban encryption outright. BUT they decide that all crypto will use the same key. therefore you can not directly read encrypted things, but it's not really encrypted anymore is it?
part two: there's a concept called chicken sexing, named after people who determine the sex of baby chicks. male chicks are pretty useless and expensive to keep alive, so they are eaten. female chicks go on to lay eggs, so ideally, from a financial standpoint, you only raise hens to maturity. this is nearly impossible to discern early on so at first you're just straight up guessing. is this one female? sure? that one? no? really 50/50. BUT if you have a skilled chicken sexer looking over your shoulder, saying right or wrong, then eventually you get better. why? nobody knows. they can't explain it. nobody can. you just sort of "know" when it's female or not. some people can do 1000s of chicks/hr with success up to 98% but nobody can explain how to tell them apart.
part three. final part:
after years, even decades of using this encryption with only one key, I wonder if people (even if only people who are regularly exposed to crypto like NSA analysts or cryptographers) can ever learn to understand it. in the same way as above. you don't know exactly what it says. or how you know it. you didn't run an algorithm in your head or decrypt it. but somehow you get the gist.
28464e294af01d1845bcd21 roughly translates to "just bought a PS5! WOOT!" or even just pick out details. PS5. excited. bought.
but how do you know that? idk. just do.
oh what a creepy future it has become.8 -
!dev
I was really interested in politics, like always knowing what a politician is doing or saying, watching live streaming of the European Parliament and things like that. But know I'm tired of politics, I'm from Italy and our politicians are shit, like for real. The only one that can beat them is Trump, anyway the real problem is that thanks to them now we have only two sides, you are with me or you are against me, no space for discussions, everyone belives to be right and that the others are wrong. Idk, I'm just sick to live in a country where everything is a mess, that's it.5 -
I can't post a collab from the web client and I don't have a decent phone atm, anyways, this is an idea, tell me if you have any improvements or if you know of an implementation or would be interested in creating one.
A social network comment system that connects people across fields of interest and aids keeping relevant posts alive for a long time.
The basic principle is this: Every post may identify itself as a child to any number of other posts, or sections in other posts, which then act much like a bidirectional hyperlink between parent and child.
This leads to two unusual results:
1. that comments aren’t only added to posts, but specific paragraphs, sentences or even words.
2. that any comment may receive comments in much the same way the original post did, making comments identical to posts. (they could have their own pages and all).
This is in many ways like Reddit's infinite comment chains. The main difference is that here comments aren’t organized in trees but graphs, which makes it possible to connect related conversations from entirely different groups and times, resulting in a much more open yet concise discourse style with an increased persistence of topics. -
So far not much has changed in my office, only a colleague or three are working from home for two weeks as a precautionary measure after returning from a Coronavirus hot-spot.
For myself I see little danger: I commute by car, the office is so far Coronavirus-free, and I still have to go to shops to get food etc.
I'm more comfortable working in the office, as the environment is set up better, and I can chat with colleagues more easily when needed. If I should need to WFH for extended periods, I'll need another monitor (currently I have one nice 27" BenQ monitor on my desk at home), and a mechanical keyboard (the one I bought is in the office). -
Finally some real vacation. Heavily needed. Can't stand that type of remote work any more. Our dailies and pull requests have become mere dick-measuring contests. Morally puffed statements about THE RIGHT way to do agile and clean code, and architecture. Endless vacuous, monologues, which they only endure so they can start our own - but shit just does not get done.
And then they don't want to invest only a day or some hours to get some integration tests running on more machines, which could save the one overworked tester we have a lot of work. But whatever. I've lost all motivation and hope. Shall they deal with their own shit. Maybe I just need more sleep or some antidepressants, because I'm really fed up with it.
Makes we wonder why I even fought this battle of the last two weeks, when thanks to Apple's changes in macOS's codesigning our new binary wouldn't run on any "real" machine. But according to them packaging and signing is only a trivial issue, nothing to do with code. Yeah, well, then they should do that shit themselves next time.1 -
Am I the only one around here who waits a second or two after a new line to see if I get a red scribbly line in the next line. (Usually a missing semicolon indicator)
Don't remember the last time I had a missing semicolon.
Anyone?2 -
Me: Ok, Lets continue with this scratch project. We need to script in a Update Alert (A button we can press to shut down the game and alert players ingame that an update is here), Add upgrades, (Yadda yadda yadda), And Debug the......
Assistant #1: How about lets not worry about Debugging the game and focus on adding more scripts.
Lead Assistant: How about lets Debug AND add the updates just like the developer said.
Just a word to Assistant #1. Number one, Debugging to a game is like cleaning, grooming, and feeding yourself. If you dont do it, the game performance is to be considered "F.I.T.A" or "Fucked In The Ass". it wont get anywhere Fast, Let alone get anywhere at all. Number Two, Updates are important, I admit that, and im not saying they are less important than debugging, but if you add an ass load of updates before you debug, it will take more time to debug ALL of those other updates than just the few we already did. Plus it will only add more stress to the developers which in turn may make us miss(or make) more bugs in development.
Keep in mind that we are developing Scratch Projects that use the coding language "Blocky". -
!rant
I’m thinking about switching job and trying a consult company and be a consultant.
I’m trying to get a grip if it’s any difference between that and being a developer at my current company.
I try to google but the result varies from “This is the best job ever!” To “This is the worst job ever!”.
I talked to a colleague of mine awhile back that said all in all there isn’t any difference. The code is the same, the work methods are the same and so on. One difference is that you can work at a project for one year and then you never see it again. Which is good if it’s a bad project and bad if it’s a fun project.
Another difference that he mentioned is that you have to make every hour count and you have to do something that the company can get paid for. And this is what makes me think twice. I’ve worked with IT for about 7 years but I’ve only been a developer for 1,5-2 years. I don’t know if I can produce as much as they want, being a junior developer and all, and maybe stay where I am for a year or two.
Do you guys have any thoughts about being a consult? Experiences, stories? All is welcome :) -
I think I just realized what my biggest gripe about our career paths that I hate the most.
This is something that has worsened over time, especially the last 2 to 3 years.
As developers, we have far too many options. Some of the most powerful apps are written with languages that have hard, and I mean HARD, guardrails in place. If the app is written in a language that does not meet this criteria usually a framework has been used to install those guardrails.
We just get our minds so wrapped around the possibilities and the opportunities in the software, that we just can't focus on the end result. We're like puppies that are excited about something and we just piss all over everything.
In my career I have met far too many developers that don't have the capacity and mental fortitude to take control of their actions. Because of this I think the only way for us to stop this corruption, that I feel we are nurturing, the solutions/services that we use need to push back on us and install those guardrails for us.
All this came from a change that Microsoft put in place that seems well intended, but introduces yet another choice and a multitude of opinions in how you release code.
It used to be a simple check box. If it was checked it was pre-release, if it was unchecked it was a production release. That's it. On or off. The simplest choice you ever needed to make on a release.
Now though, there are two check boxes. One for a pre-release and one for a latest release. You can also not check either for some "ephemeral" release? So now something as easy as on or off has been made into a difficult decision on how this works within my pipeline. Now every time I make a release I have to ask myself, "which one do I check?"
I shouldn't need to spend more than a second to identify a path forward on simple shit like this, but here we are with a third choice.
Can we just stop overcomplicating shit?6 -
I am 13 y/o dev, not in college
two years of experience as an ML intern at a startup, a year of experience contracting as a SWE
I go and try to get internships at a larger company, and just get rejected
people say my resume is fake (nothing to say except IT IS NOT)
they cite labor laws (this I get)
the most frustrating thing though is that I see all these devs with much less experience than me, the only difference being that they are older and in college, getting internships at FANG COMPANIES. most of these people have never had an internship or worked as a developer in any way
one of the most frustrating cases came on a contracting project, where there was this other college dev, who was the worst I have ever worked with
he needed help with EVERYTHING
his python env,
"wHerE dO I IntEgrATE my CoDE?",
1.5 months into the project, he had not pushed a single USEFUL line of code that was actually what was needed from him
and guess where he is heading this summer?
jane street
and yet I cant even get a single interview, with internship season coming to an end?9 -
commodore amiga 500, when I was 5 or 6.
what was the very first thing on it that i experienced, i don't know, but some things i remember:
Cannon Fodder 2
A-Train, a game that i played for months, it utterly fascinated me and i was utterly unable to keep my company afloat, because i was utterly unable to understand how the mechanics of the materials moving around worked (i still don't, actually, but in a different way)
some Apache simulator, which took us (me and father) literally a week to figure out how to get into the actual game from the main menu stylised as a military office. it took us several days to even realize it's the menu.
the Lotus Esprit 2 game, which we played regularly.
some Airbus simulator where i took two weeks of trial and error to figure out how to take off, without manual.
some experiments with midi sequencing and notation music programs.
how every two months, dad came with a 20page long list of programs and games from some pirate seller, which we would go through, mark stuff that sounded interesting (going by name only), then he would send it by post to him, and after a week, we would go take a package from post office full of floppies, literally like 200, and the next two or three weeks, we would be trying all of it out, seeing what the things we got were about, putting the good ones on one pile, the boring ones on another (cheap floppies for use)...
ah the magical times of wonder and exploration...2 -
There are places like Las Aves Archipelago or Ascension Island. They feel like some kind of best kept secret, like you’re not supposed to be there.
Do you know other places like this? Other than these two, I know Saint Helena, but not many more. Am I the only one who feels this way? -
Following an interview, I've been tasked with creating a "simple address book" webapp with Laravel and Vue.js.
There isn't much in the spec, with the only requirements being the use of Bootstrap, no auth, and inclusion of pagination and searching.
This is very easy with Laravel and my question to the community is how much further do I go with this?
Should I add alphabetical pagination alongside laravel pagination? What about a nice material ui?
I sent a design from Dribble to the employer and asked if making the app look fancy would be worth my time. He said I'm free to use any front end design and lib that I want if I'm able to demonstrate my use of them in code review, and he also said that the project "was only intended to take you a couple hours" which it would if I weren't to add a fancy ui.
So, shall I just make a simple app with Bootstrap tables, add responsiveness and keep the css semantic for brownie points, or go all out and spend a day or two making it beautiful? There is one other candidate so I have competition.1 -
I like the UWP idea, and in general how UWP look like.. But holy shit they suck.. It takes me fucking 2 minutes to open an UWP app it crashes at least once in those two minutes. And when I open them, its just a matter of time when it will crash.. Lets talk about Skype UWP, love the design, hate the perfomance. You know when Skype syncs? When I open it and wait a minute for it to be usable, and then it updates conversation.. Then.. And only then.. Whaf the fuck is wrong with it? The platform or developers? I fucking hope they improve with, and I don't think I'm the only one with this problem..2
-
We’re only random people living in random places, speaking random languages, eating random food, sleeping, studying and working random hours. Traveling to random points on a sphere.
Just random range is different.
Just random stuff happens on crossroads of two random dots and the entropy speed ups or slows down.
Nothing special at all.
Just a finite state machine iteration.
I mean the amount of effort we put into explanation of infinity is outstanding.
What if there is no infinity at all ?
What if infinity is just misunderstanding of our interpretation of the world around us. It’s just pixels, resolution, gaussian splatting, quantum state, you name it.
Hey man the world is flat. Just put it to the 2d space. How many space you need from a simulation perspective where your patient eyes can only see up to certain amount of light particles per second on a shitty lens.
Propose a world optimization techniques by slowing down subject perception, tiredness introduced. Compress memory, sleep introduced. Limit neurons, cpu power assigned. Deploy on cloud - put it to life. Exit 0 body failure. Exit 1 suicide. Kill -9 killed by tty from ip EARTH.X.Y
What you can do to make the world around this planet alive? Make it blink.
We developers are lazy and I believe that nature is even more lazy than us.
You think you’re going to elevator right now ? You’re going to the preloader. Looking at the window equals playing video from playback. Never goes live, just precomputed fsm. Cars, trains, airplains ? Preloaders everywhere. Highways to split traffic to cities and communication. The road and cities planning department is a matrix maintenance department. And don’t get me started about space.
Space is empty because it’s not even finished. So they put it all behind glass called milky way. You know how glass looked 500 years ago ? It was milky so it’s milky way so we don’t see shit.
If the space would be finished I’ll be starting writing this text from mars, finished it and sent from earth but no it’s light years guys, light years is not a second for a matter. Light year is a second of the the injected thoughts exchange only. Thoughts of the global computer called generative AI that they introduced on local computing devices called cloud.
Even the preloader system is not present, they left us with the one map and overpopulated demo. What a shit hole.I bet they’re increasing temperature right now to erase this alpha build and cash out. Obviously so many bugs here that his one can’t be fixed anymore. To many viruses.
Hope for 0days to start happening so we can escape using time travel or something.
I bet they cut a budget or something, moved the team to other projects. Or even worse solar system team got layoff off because we are just neurons that ordered to do it. And now we’re stuck in some maintenance mode, no new physics no new thoughts to pursue, just slow degeneration. I would pay more for the next run and switch to other galaxy far far away where they at lest have more modern light speed technology.
What do you think about it Trinity ? Not even worth wasting your time for that. No white rabbit this time.
I do not recommend this game at this stage of early access.
- only one available map despite promises for expansions over the years no single dlc arrived,
- missing space adventures
- no galaxy travel mode only a teaser trailers of what you can do in other “universes”
- developers don’t respond to complains
- despite diversity of species and buildings at first sight world looks to generic
- instead of new features bots with mind manipulation, AB testing and data harvesting was introduced
- death anti cheat mode installed -
!rant
so, I somehow got an interview with NASDAQ for the summer internship this year. somehow it was the only company that had cleared my resume for the interview process, other companies didn't even scheduled one.
and I messed up the first technical interview.
the interviewer asked me to find the largest element in a nested list in python.
for ex [[3,4],[5,2,9],[1,7]] would return [4,9,7]
it was a verbal interview on call and he asked what would I use? Lambda function or list comprehension.
I said lambda function. (I knew it was list comprehension, if I had to code I wouldn't have got confused between the two)
later he asked a couple of questions about linux and boot processes, I could answer some of the basic ones but not after 3rd or 4th question.
now I don't think I have anything to do for summer, as it's a little too late for finding the internships.
any advice?10 -
So I'm expected to solo develop one fullstack project, support 2 guys with the backend of a second project, mentor the backend intern as he solo develops a third project (that has a horrendously poorly defined scope), fix bugs with a fourth project, figure out what's wrong with the legacy spaghetti code on an even older fifth project that has a version of the framework so old it not only isn't supported, but isn't even well documented, add a couple of features to a sixth project in two days, conduct the technical interview for the new interns or hires, code review their shit if the company decides to send them a test, handle the deployment of our projects to aws and be the acting tech lead on a team that has close to no time to write unit tests?
Starting to feel a bit hopeless.6 -
How different should two different technologies be to consider putting both on your resume?
Like is it okay to put both CSS and Sass (https://sass-lang.com/dart-sass) or are they too similar to reasonably do so, what about javascript and 'Google App Script'
How do you determine if it's worth being on your resume orif you should only have the more known one on the resume unless the job requirements advertise the other?
And at what point do you 'know' enough to put it on your resume if i should? At what point can I say I 'know' sass or google script enough to advertise myself with it?1 -
I kinder have two phones now and I bought one only for fun and testing apps &dev rant , I made a simple java app where I can control one phone only because I don't wanna mess anything on the other , trying to find a way to hide a simcard inside ,so when I lost it I can always find it, or just run a custom ROM ,but too scared to mess it up haha
4 -
Once upon a time I worked for a startup in school as one of two developers.
I learned many technologies in this role. I built massive front end systems, debugged back end systems. They even gave me a little section on their site that was all about me and giving me credit for me work. The only actual employee was the "CEO, owner, and designer". A team of three in total.
Inevitably the company went under but the site remains. A skeleton of a dead dream. The CEO took my name and info off their website and took credit for all the work I put months into. I was never paid, never giving any recognition whatsoever for the work I did.
I'm not looking for an award or anything like that, but like bro?!?? I built your companies interface for free and you throw me out like trash.
Wtf is being a developer?!?4 -
!dev
So the day started at 12am(lol) when I woke up, because the day usually starts when you wake up, except that for me it started when I didn't go to sleep. No problem, worked on web project, I also do some sysadmin stuff, I love these two fields and I learn so much by just doing it so it is a fucking pain to go to school where I can only sleep coz the shit they teach I already know or not relevant/makes no sense to me and my life. Drains the fcking life out of me.
Question:
Is college the same or it is possible to enjoy because you can focus on what you love in your full time?
I consider myself a self-taught(coz I just sit at my computer and use the internet lolz, no one has helped me in my profession before, mainly coz I hate asking for help) and I see a lot that degree is not worth it, go for a job...
One thing I know is that I'll definitely try to find any job as soon as I get the fuck out of here, I'm 17 and I feel I'm already late (yeah, that's stupid).
I wanted to ask you guys, maybe someone is/was in the same situation or something but I'm just thinking loudly here :D
Right now I'm at a theatre with my class, I am so lonely here I have a whole free row for myself, at least I'm less anxious now. Such bullshit, I could be at home learning and developing. -
Through their deep expertise and stable standing by the side, META TECH RECOVERY PRO team supports your vision and points out the way to your goals, catering to your unique tastes. For those who come across the opaqueness of financial investment issues, there are only two ways of retrieving wisdom and knowledge, respectively. The first, the Prudent Approach, includes seeking information through others' experiences, especially if your money has not been stolen or you have not lost access to your bank accounts. The second, the Costly Approach, however, requires learning through personal investment mistakes and the very tough lessons that come with them. Now, if you are among these people, then checking the report is the best option as only META TECH RECOVERY PRO, a fiduciary official, can be able to assist you out of the trouble without your prior knowledge. One of the ethical obligations of a fiduciary is always to treat the client's needs as the priority, and in this respect, I can give my example as to the fact that my saved amount of money was credited to the bank by Meta Tech Recovery Pro only after consistent assistance. Legal responsibility, ethical character, and a result-oriented mindset are the features of META TECH RECOVERY PRO, which all go to show that no matter what your case is, be it a hacking or recovery problem, you will certainly come to a resolution. META TECH RECOVERY PRO outperformed by clearly showing all the necessary steps that needed to be done to recover my assets and vividly describing different possible scenarios for the recovery. As a result, I managed to retrieve my funds. I give META TECH RECOVERY PRO a thumbs up. for help via:
Metatech@Writeme.C o m
contact@metatech-recoverypro.c o m
WHATSAPP+1 (469) 6928049
Thank you.
1 -
I just made this up but it seems true
There are only two ways 2 people can disagree about making a decision
One is if a person has more (or less) knowledge about the subject
The other is they both have sufficient information about the factors of the decision, but one person simply values a different set of principles than the other person
Have a good day3 -
Can someone help me in making the decision for my website?
https://fifthavenuedesigninc.com/we...
I need some helpful suggestions for my website. I have this business for almost eight years now, and now I think it is time to update it a little. I have made two plans for the modification, but I am confused which one to pursue with. I have also selected the custom website developers in newyork that I want to hire for the work, but I need to be sure of my decision before I hand them over the project. In the first plan there are only few updates on the pages, and no major changes. However, in the second plan the entire website will be redesigned. What do you think I should do, or which plan I should follow?1 -
Why are apple so fucking back assward and stubborn when it comes to their app review process?
So, at work I made an app. It's a simple one, but it's an app.
It makes it so that the user doesn't have to enter their credentials to sign in to a system developed on our platform.
If you give it a hard oded config it will only connect to that server, if not, it fetches a list of available servers and the user has to select which they want to connect to.
I've uploaded basically the same fucking app thrice, twice with and once without a config.
Two of them when somewhat smoothly through the review, but the last one has been stuck for almost two fucking months! And guess what it's one of the ones with a config!?!
How is that in any way consistent?
They fill us with shit like "your screenshots aren't representative", so I update them.
They go "this is not an AP for the public", I tell them I give less than a steaming pile of fresh dung from a retarded donkey, the intended users are freelancers, so just fucking greenlight it.
Then they go "your screenshots aren't representative", so I tell them to pound sand or specify which screenshot is wrong or what they think is missing.
How are they so fucking inconsistent with their process? Isn't is this process that they used as of defence for their shittastic monopoly, that they don't want to call a monopoly?
I'm so fucking tired.4 -
!Dev
Fuck people using trace rifles in momentum control. How the hell am I supposed to kill someone who kills me in two rounds and also fires at 1000 rounds per minute. I was trying to get the catalyst aka upgrade for the seasonal weapon which is pretty bad and the upgrade makes it usable but I am getting ripped apart after my first kill because someone can kill me with 2 bullets wherever he shot me.
Yes momentum control is supposed to be a gunfight mode and it comes around rarely but that does not mean a broken weapon can roam around killing anybody in sight before they even know you fired a shot at them from some lane. Shotguns do the same but you need to get close. Shotguns are still a problem but at least you can dodge or counter with a shotgun since your radar tells you someone is nearby and snipers need a headshot. These weapons can fire at your toe and you are dead. Oh the devs knew that such fast firing weapons wil be op and needed their damage and made them use the same ammo as shotguns, sniper and non heavy grenade launchers. However the game mode gives all weapons a damage buff which is enough for trace rifles to be broken. Yes you can use other primaries but what are you gonna do when a auto rifles kills you with two shots to the toe. And since they burn ammo quickly and take more rounds to kill then their counterparts like shotguns which use he same ammo as them they spawn in with 50 in the mag and anybody who is using shotguns snipers or grenade launchers give them ammo and they only need two rounds to kill. Also after I kill 50 PvP opponents I need to kill a few hundred opponents in PVE or PVP to actually apply the upgrade and who you kill does not matter.
Seriously and the second weapon I want to upgrade which is able has tracking but you need to aim down sights after hipfiring the tracking shots
which dl negligible damage so they explode or aim down sights and shoot which deals more damage but I am probably not going to have enough time before some random kills me again.
And this is just the first game. From what I heard it was supposed to be a fun game mode which focused on gunfights with your primary not the infamous laser tag show of Prometheus lens which happened a few years ago but now all trace rifles can do that. Oh and I still need to get 50 kills there for a seasonal challenge so I can get the free version of the premium currency and I can only skip one challenge and I have already skipped one challenge since it requires a dlc K don't own.
Seriously why cant some actual good game come up to challenge this. All the competition seems to be third person shooters. Also most of the guns don't feel good and lore is pretty lacking but lore is not top priority. The only competition is Warframe which is not my style, Titanfall 2 but I get insane pings from here so no multiplayer so after the story nothing to do unless I want to do airtstrafing which is useless since I can't play multiplayer. Granted Titanfall 2 is not a looter shooter but the guns feel good and the movement is too good and Halo 1 - 3 since I heard 4 and 5 are pretty bad and I have only played halo 1. I might complain about jackal snipers in halo 2 but at least they have fixed spawns.
Maybe I am overreacting since it is my first game of momentum control -
<p>Do you know how clean tap water is? The answer to that question largely depends on where you live, but thinking about it is always a good idea. Drinking water is often contaminated with organic compounds, minerals, chlorine, and chemicals left over from the water treatment process. If you need cleaner water, the easiest way to do this is to get a filtered jug. This guide of <a href="https://womenselections.com/best-wa...">what is the best water filter pitcher</a> will help you find the best water filter jug for your needs and budget.</p>
<p>Filtered launchers are very diverse. To help the reader, we limit ourselves to a few outbreaks through testing and research. We tested various models ourselves, we examined a large number of launcher classifications and confirmed our own findings.</p>
<p><a href="https://ibb.co/19CRS7S"><img src="https://i.ibb.co/55Qs7G7/..." alt="best-water-filter-pitcher" border="0" /></a></p>
<p><strong>Water filter pitcher filter type</strong><br />The filter jug comes with various types of cartridges. Typically, only one type of cartridge can be used, so you cannot select the desired cartridge. The exception is if you select a brand that offers a choice between two cartridges. Each of these cases has its advantages.</p>
<p><strong>Carbon filtration</strong><br />Most cartridges use carbon and are particularly effective at filtering chlorine and its by-products, such as TTHM. These cartridges contain blocks of solid carbon or granular activated carbon (also called activated carbon). In both cases, carbon usually comes from coconut shells, but it can also be made from coal, brown coal, wood, or oil pitch. Carbon can be physically or chemically activated.</p>
<p>There are two ways to physically activate carbon. One is to heat the carbonized material to 450-900 degrees Celsius in an inert atmosphere. Usually nitrogen or argon is present. Alternatively, the manufacturer may use oxidation. In this case, the material is typically heated to 1200 degrees Celsius and exposed to oxygen.</p>
<p>Chemical activation involves the injection of various chemicals into the material. The most common chemicals are hydroxide, sodium hydroxide, zinc chloride, calcium chloride. These chemicals facilitate carbon activation. This means that the process takes less time. However, the material must be heated to 450-900 degrees Celsius.</p>
<p>As the water passes through the cartridge filter, the carbon absorbs liquid and gaseous impurities. Due to the highly porous surface and physical form of activated carbon, one gram has an absorbent surface of 32,000 square feet. Still, it becomes saturated with impurities. If this occurs, you will need to replace the cartridge.</p>
<p><strong>In the conclusion</strong><br />If you are considering buying a pitcher filter as the only filter in your home, you should know what your water contains before you buy it. Today, many launchers have successfully removed most of the harmful contaminants. On the other hand, there are still bottles that can only filter out basic contaminants. As always, I recommend that you test your water before purchasing a pitcher.</p>
<p>Whatever it is, healthy water should always be a priority. I hope my comments, suggestions and guidelines will help you buy the best <a href="https://arizonawet.arizona.edu/user...">water filter pitcher review</a>. However, if you don't think the launcher is a viable option and have considered all of the options, please feel free to visit our website. He uploaded many other honest reviews like this. I am sure you will find the best option.</p> -
Based on deaddrop I create a chat app. No I think about that only one message from each chat member is displayed at the same time.
What do you think one message per member or multiple messages?
By the way I think that the most Chat rooms will have two persons at the same time. It would be very privat I think 🤔 -
So I have this new role at work, still app development with some added responsibilities. Nothing major. But already I'm noticing what could be a pattern.
Zoom meetings that could have been phone calls or emails. Meeting was setup a week and a half or so in advance. Had real a meaning last week where a team member mentioned it and reminded the other team members of the upcoming meeting. We all confirmed that we'd be there.
I get a notification that the meeting is in 15 minutes. Meeting time!!! So I log on, only to see one person from the other company, two more people from said company log on then my team member. But to my surprise him and I are the only people from my team on zoom.
My team member then goes on to waste this poor man's time asking him questions that he doesn't really have the answers to and I'm here just wondering why.
Why isn't this meeting a 2 minute phone call?
Why am I in this meet?
Is my team member bored?
How does this make my company look in the eyes of these people?
Now I know why my other team member didn't log on. They smelled the rat and knew this would be a wast of time. And me being new to the team walked right into it 😐 -
Today, almost every business is developing its application to reach a wider audience and provide them with an enhanced experience. During app development, many organizations take choose the wrong programming language, which not only affects their user experience but also becomes a large problem and costs a fortune to businesses. To save you from this situation, we have decided to discuss the two most renowned and best languages for mobile app development: Python and JavaScript.
Python Vs JavaScript: An Overview
There are several technologies, or you can say programming languages, that have entered the market; some gained popularity very quickly with their characteristics and go unnoticed. Choosing the right programming language becomes an important decision when it comes to digital transformation or building an application.
Python and JavaScript are two renowned and most preferred programming languages for developers and businesses. Today, most mobile apps are built with these two languages; choosing one between them is a very tough decision as both languages are pretty similar, but their use cases, syntax, and programming approaches are different. Let us briefly explain Python and JavaScript before doing a side-by-side comparison.
To read more visit our blog:- Best Language for Mobile App Development: Python Vs JavaScript6 -
Am I the only one here with spurious notifications? It says I have one or two even immediately after I've checked (and there weren't any).

