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 - "keep it simple"
-
WHY THE FUCKIDY FUCK DO PEOPLE THINK THAT JUST BECAUSE YOU ARE A DEVELOPER THEN YOU CAN DO EVERY FUCKING THING IN A SNAP?!
THIS ENTIRE SUMMER I WORKED FOR THIS MIDGET OF A FUCK AND THE IDEA WAS TO MAINLY DEVELOP AN IOS APP FOR THEIR PRODUCT. THAT ONE APP TRANSLATED TO THREE SEPARATE APPS AND KEEP IN MIND THAT I AM THE ONLY DEVELOPER THEY HAVE SO I HAVE TO DEVELOP IT, TEST IT AND DOCUMENT IT!! AND WHAT'S EVEN WORSE IS HE KEEPS GIVING ME DESIGNS AT THE LAST MINUTE SO I ALWAYS END UP HAVING TO CREATE NEW PROJECTS ALL THE TIME. WHEN A WEEK PASSES BY WITHOUT ANY UPDATE HE AND HIS FUCKED UP BRAIN CELLS GATHER A MEETING WITH HIS 'DONALD TRUMP HANDS-SIZED' BALLS TO ASK ME, 'WHY ARE YOU TAKING SO LONG? THESE ARE JUST THREE BUTTONS ON THIS VIEW?' MOTHERFUCKING COCKSUCKER!! GO GET YOUR MOM TO DO THIS WORK THEN IF IT'S JUST THREE BUTTONS. TO HIM EVERYTHING IN IOS WHICH INCORPORATES A TAP IS A FUCKING BUTTON! BUTTON THIS! BUTTON THAT! AND IT'S NOT LIKE HE HAS SIMPLE DESIGNS..NO.NO.NO.NO. THIS ASSHOLE-SHAPED-HEAD MUGGET DESIGNS SHIT WHICH REQUIRES ME TO HAVE TO DRAW A UIVIEW AS THE SHAPE OF A HUMAN BODY AND HEART. THEN ASIDE FROM THAT, JUST BECAUSE MY RESUME SAYS I MINORED IN MATH AND APPLIED MATH, HE SENDS ME A PAPER THAT EXPLAINS MATHEMATICAL CONCEPTS OF DATA ANALYSIS THEN WANTS TO MEET WITH ME TO DISCUSS THE SUGGESTED METHODS THEN IMPLEMENT THEM. AT THIS POINT I HAD ALREADY IMPLEMENTED AN ALGO FOR COUNTING THE NUMBER OF STEPS THAT WAS WAY WAY WAY MORE ACCURATE THAN THE SHIT THEY HAD IN THEIR CONTROLLER..
SO AS I AM ABOUT TO FINISH IMPLEMENTING JUST THE INITIAL 5 VIEWS OF THIS 'FINAL' APP, HE SERIOUSLY WALKS IN AND TELLS ME, SO I'M STARTING TO WORRY THAT WE'LL NOT MEET THE AUGUST DEADLINE SO I'M THINKING MAYBE YOU SHOULD START SWITCHING BETWEEN DEVELOPMENT. WORK ON IOS FOR 4 HOURS THEN SWITCH TO ANDROID FOR THE REMAINDER OF THE TIME. OH AND UHH IF YOU FEEL LIKE TAKING THE IMAC WITH YOU TO WORK FROM HOME, THAT'S FINE AS WELL AND I'LL BE AVAILABLE IN THE WEEKENDS AS WELL. IT WAS AT THIS MOMENT THAT I REALLY REALLY HOPED I WERE GAY! LIKE 'NO LUBE' STYLE KINDA GAY!! OH BTW AT SOME POINT HE HAD ME PROGRAM ONE OF THEIR CONTROLLERS, AND WAS ASKING IF I COULD START RESEARCHING MEANS OF WRITING AN SDK FOR THEM.
KEEP IN MIND THAT I'M AN INTERN WITH ONE YEAR IOS DEV EXPERIENCE.. THEN HE WANTS ME TO ENTIRELY START LEARNING ANDROID AND GIVE HIM TWO VERSIONS OF THIS THIRD APP IN TWO WEEKS.
HE CAN GO SUCK HIS OWN DICK WHILE GETTING FINGER FUCKED BY A FORK WITH A BLUE WHALE'S 6FT LONG DICK UP HIS MOUTH.
*** that felt good ****36 -
CTO: I heard about this great architecture of microservices. What is it exactly?
Me: it's building many servers with one responsbility each.
CTO: That sound good. But let keep it simple and build only one big microservice.
Me: 😲
(True story from a comapny a worked for)8 -
I turned 40 yesterday. Here are some lessons I've learned, without fluff or BS.
1) Stop waiting for exceptional things to just happen. They rarely do, and they can't be counted on. Greatness is cultivated; it's a gradual process and it won't come without effort.
2) Jealousy is a monster that destroys everything in it's path. It's absolutely useless, except to remind us there's a better way. We can't always control how we feel, but we can choose how we react to those feelings.
When I was younger, jealousy in relationships always led to shit turning out worse than it probably would have otherwise. Even when it was justified, even when a relationship was over, jealousy led me to burn bridges that I wished I hadn't.
3) College isn't for everyone, but you'll rarely be put square in the middle of so much potential experience. You'll meet people you probably wouldn't have otherwise, and as you eventually pursue your major, you'll get to know people who share your passions and dreams. Despite all the bullshit ways in which college sucks, it's still a pretty unique path on the way to adulthood. But on that note...
4) Learn to manage your money. It's way too easy to get into unsustainable debt. It only gets worse, and it makes everything harder. We don't always see the consequence of credit cards and loans when we're young, because the future seems so distant and undecided. But that debt isn't going anywhere... Try not to borrow money that you can't imagine yourself paying back now.
5) Floss every day, not just a couple times per week when you remember, or when you've got something stuck in your teeth. It matters, even if you're in your 20s and you've never had a cavity.
6) You'll always hear about living in the moment, seizing the day... It's tough to actually do. But there's something to be said for looking inward, and trying to recognize when too much of our attention is focused elsewhere. Constantly serving the future won't always pay off, at least not in the ways we think it will when we're young.
This sentiment doesn't have much value when it's put in abstract, existential terms, like it usually is. The best you can do is try to be aware of your own willingness and ability to be open to experiences. Think about ways in which you might be rejecting the here and now, even if it's as seemingly-benign as not going out with some friends because you just saw them, or you already went to that place they're going to. We won't recognize the good old days for what they were until they're already gone. The trick is having as many good days as possible.
7) Don't start smoking; you'll never quit as soon as you'll think you can. If you do start, make yourself quit after a couple years, no matter what. Keep your vices in check; drugs and alcohol in moderation. Use condoms, use birth control.
8) Don't make love wait. Tell your friends and family you love them often, and show them when you can. You're going to lose people, so it's important. Statistically, some of you will die young, yourselves.
When it comes to relationships, don't settle if you can't tell yourself you're in love, and totally believe it. Don't let complacency and familiarity get in the way of pursuing love. Don't be afraid to end relationships because they're comfortable, or because you've already invested so much into them.
Being young is a gift, and it won't last forever. You need to use that gift to experience all the love that you can, at least as a means to finding the person you really want to grow old with, if that's what you want. Regardless, you don't want to miss out on loving someone, and being loved, because of fear. Don't be reckless; just be honest with yourself.
9) Take care of your body. Neglecting it makes everything tougher. That doesn't mean you have to work out every day and eat like a nutritionist, but if you're overweight or you have health issues, do what you can to fix it. Losing weight isn't easy, but it's not as hard as people make it out to be. And it's one of the most important things you can do to invest in a healthy adulthood.
Don't put off nagging health issues because you think you'll be fine, or you don't think you'll be able to afford it, or you're scared of the outcome. There will always be options, until there aren't. Most people never get to the no-options part. Or, they get there because all the other options expired.
10) Few things will haunt you like regret. Making the wrong choice, for example, usually won't hurt as much. I guess you can regret making the wrong choice, but my deepest regrets come from inaction, complacency and indifference.
So how can we avoid regret? I don't know, lol. I don't think it's as simple as just commiting to choices... Choosing to do nothing is still a choice, after all. I think it's more about listening to your gut, as cliche as that sounds.
To thine own self be true, I guess. It's worth a shot, even if you fail. Almost anything is better than regret.11 -
This genius made his very own super-flexible-and-versatile-never-seen-before-mvc-framework, with no documentation about the code, instead of just donwloading and implementing a popular one.
He left the company.
I maintain it.
Fell my pain.18 -
Having PHP as my most useful skill.
I know various other languages, but they're either too exotic for professional use, or my knowledge about them doesn't have the same depth as with PHP.
People joke about how awful PHP is, and it's not entirely true. The incongruous stuff such as confusing parameter ordering can be fixed with libraries. And PHP7 fixed a lot of the ugly stuff. A good dev can certainly write structured, readable, performant PHP code.
But there is a real hard limit. PHP is missing more complex type definitions present in other languages. A weak type system is like building stuff with popsicle sticks and bits of duct tape, it works fast and perfectly fine for small projects, but the lack of strictness is a problem when you have thousands of classes intertwined in all kinds of complex factory, service and repository patterns. And the simple type hints are still newish and fully optional, which means a lot of people don't use them.
So I regret getting stuck in this self reinforcing loop, where I learn more about a very imperfect language through employment, and keep rolling into jobs using that skill because it's what I'm most experienced with.16 -
Biggest scaling challenge I've faced?
Around 2006~2007 the business was in double-digit growth thanks to the eCommerce boom and we were struggling to keep up with the demand.
Upper IT management being more hardware focused and always threw more hardware at the problem. At its worst, we had over 25 web servers (back then, those physical tall-rectangle boxes..no rack system yet) and corresponding SQL server for each (replicated from our main sql server)
Then business boomed again and projected the need for 40 servers (20 web servers, 20 sql servers) over the next 5 years. Hardware+software costs (they were going to have to tear down a wall in order to expand the server room) were going to be in the $$ millions.
Even though we were making money, the folks spending it didn't seem to care, but I knew this trajectory was not sustainable, so I started utilizing (this was 2007) WCF services and Microsoft's caching framework Velocity. Started out small, product lookup data (description, price, the simple stuff) and within a month, I was able to demonstrate the web site could scale with less than half of our current hardware infrastructure.
After many political battles (I've ranted about a few of those), the $$ won and even with the current load, we were able to scale back to 5 web servers and 2 sql servers. When the business increased in the double-digits again, and again...we were still the same hardware for almost 5 years. We only had to add another service server when the international side of the business started taking off.
Challenge wasn't the scaling issue, the challenge was dealing with individuals who resisted change.3 -
I honestly have no energy to even type this out because this is so draining, but here goes.
I am usually very calm and can keep my composure well, but boy do you push my limits. Do you think my work is so easy that it’s just “a bunch of queries and simple logic”? Well, fine. YOU FUCKING DO IT.. right before I grab you by your fucking neck and shove your face repeatedly into the keyboard. You even have the audacity to give us a project and come the very next fucking day and repeatedly keep asking us “iS iT FiNisHeD yEt?” so much and annoy even the calmest in our team even when we clearly stated that it was going to take us 30 work days to fucking finish it. Do you not know what a working day is? 30 work days is not the same as 30 days you dumbfuck. You have no idea how any of these work and yet you preach your bullshit and waste our fucking time when we could have used that time better to finish our work. THIS IS WHY EVERY SINGLE EMPLOYEE KEEPS LEAVING AND WHY THIS COMPANY HAS A VERY LOW EMPLOYEE RETENTION RATE. You won’t even let me finish my fucking lunch in peace. We have 45 minutes for lunch and since I’ve been eating out for almost the past year (I live alone and don’t usually have time to make food at home because of my hour and a half long commute), a close friend of mine’s mom reached out to and said “Hey, since you’ve been usually getting food from outside, why not join us for lunch?”, so I did and it was the most amazing food ever. Mind you, this was the first time I’ve ever left work myself to have lunch since I joined. I did get 10 minutes late because lunchtime tends to fall around the time where the schools close for the day (no shit) and school traffic is usually insane, and you unsurprisingly decided to make an issue out of a non-issue especially since I’M THE ONLY FUCKING PERSON WORKING IN THE COMPANY and also dock my pay for that. Let me also include the time where our one of the others in the management gave us a quick project that was to be quickly finished while we working on an existing project so we put aside a day just to complete and ship the app and the features and as usual, you decided to make an issue out of a non-issue and decided to shame us publicly and even made (my now former) colleague cry. You’re just a spoiled, selfish, ignorant nit-witted fucking imbecile who has no idea how to even properly run a business. Get fucked in the arse with a cactus. I'm done. I've held on for so long but this is the last straw. I'll be handing my letter of resignation soon. Good luck with running a company without any employees.20 -
Story of my most useless meeting?
Too many to mention. Here's one. Years ago a new HR associate was specifically hired to better engage the workforce. About once a week, she conducted about an hour to two hour meetings which consisted of every 'touchy-feely' idea you could think of. I swear any day I was going to walk into a meeting and do the "fall back into your partner" trust exercises.
One particular meeting, 'Betty' engaged us with the topic of what keeps us motivated, and I was a little more annoyed than usual because I was behind on a system critical project and these meetings were mandatory.
User1: "Knowing I make customer satisfaction my number one priority."
User2: "The strong sense of accomplishment I feel by doing my best"
Me: "Money"
<you could almost hear Betty's gasp>
Betty: "Oh, no, money shouldn't be the motivator. Money is like icing on the cake. Tell us what keeps you happy and engaged."
<other users nod their heads in engagement>
Me: "Again, money."
User3: "I can't...ugh..I don't believe..oh..why would you say that? I think being part of such a great team is payment enough."
<more nodding of heads>
Me: "Do you work for free? I don't. None of us do. Would any of you keep doing your jobs here if you weren't getting paid?"
Betty: "That is really not the point of this meeting."
Me: "Sure it is. I'll bet if Order Taking starting providing bonuses for positive after-call surveys, employee satisfaction would go through the roof. Anyone else like that idea?"
Betty: "Your attitude isn't helping this discussion. Lets move on."
Me: "Lets not. In 20?? the Gartner group performed a study where they 'discovered' the primary motivator for employees was money. You want employees to perform better, you pay them. It is really that simple."
<I could see the looks of "Its OK to speak my mind?" and others wanting to speak up>
Betty: "Moving on. Lets go over the company core values again and discuss how they enrich our lives at work and at home."
I kept quiet for the rest of the meeting.
The poop hit the fan, and my boss pulls me into a conference room
Boss: "Betty is really pissed at you. She went directly to the VP of HR"
Me: "Good. Does this mean I don't have to attend the enrichment meetings?"
Boss: "Yea, that was her idea of punishment. Lucky bastard."8 -
Worst dev team failure I've experienced?
One of several.
Around 2012, a team of devs were tasked to convert a ASPX service to WCF that had one responsibility, returning product data (description, price, availability, etc...simple stuff)
No complex searching, just pass the ID, you get the response.
I was the original developer of the ASPX service, which API was an XML request and returned an XML response. The 'powers-that-be' decided anything XML was evil and had to be purged from the planet. If this thought bubble popped up over your head "Wait a sec...doesn't WCF transmit everything via SOAP, which is XML?", yes, but in their minds SOAP wasn't XML. That's not the worst WTF of this story.
The team, 3 developers, 2 DBAs, network administrators, several web developers, worked on the conversion for about 9 months using the Waterfall method (3~5 months was mostly in meetings and very basic prototyping) and using a test-first approach (their own flavor of TDD). The 'go live' day was to occur at 3:00AM and mandatory that nearly the entire department be on-sight (including the department VP) and available to help troubleshoot any system issues.
3:00AM - Teams start their deployments
3:05AM - Thousands and thousands of errors from all kinds of sources (web exceptions, database exceptions, server exceptions, etc), site goes down, teams roll everything back.
3:30AM - The primary developer remembered he made a last minute change to a stored procedure parameter that hadn't been pushed to production, which caused a side-affect across several layers of their stack.
4:00AM - The developer found his bug, but the manager decided it would be better if everyone went home and get a fresh look at the problem at 8:00AM (yes, he expected everyone to be back in the office at 8:00AM).
About a month later, the team scheduled another 3:00AM deployment (VP was present again), confident that introducing mocking into their testing pipeline would fix any database related errors.
3:00AM - Team starts their deployments.
3:30AM - No major errors, things seem to be going well. High fives, cheers..manager tells everyone to head home.
3:35AM - Site crashes, like white page, no response from the servers kind of crash. Resetting IIS on the servers works, but only for around 10 minutes or so.
4:00AM - Team rolls back, manager is clearly pissed at this point, "Nobody is going fucking home until we figure this out!!"
6:00AM - Diagnostics found the WCF client was causing the server to run out of resources, with a mix of clogging up server bandwidth, and a sprinkle of N+1 scaling problem. Manager lets everyone go home, but be back in the office at 8:00AM to develop a plan so this *never* happens again.
About 2 months later, a 'real' development+integration environment (previously, any+all integration tests were on the developer's machine) and the team scheduled a 6:00AM deployment, but at a much, much smaller scale with just the 3 development team members.
Why? Because the manager 'froze' changes to the ASPX service, the web team still needed various enhancements, so they bypassed the service (not using the ASPX service at all) and wrote their own SQL scripts that hit the database directly and utilized AppFabric/Velocity caching to allow the site to scale. There were only a couple client application using the ASPX service that needed to be converted, so deploying at 6:00AM gave everyone a couple of hours before users got into the office. Service deployed, worked like a champ.
A week later the VP schedules a celebration for the successful migration to WCF. Pizza, cake, the works. The 3 team members received awards (and a envelope, which probably equaled some $$$) and the entire team received a custom Benchmade pocket knife to remember this project's success. Myself and several others just stared at each other, not knowing what to say.
Later, my manager pulls several of us into a conference room
Me: "What the hell? This is one of the biggest failures I've been apart of. We got rewarded for thousands and thousands of dollars of wasted time."
<others expressed the same and expletive sediments>
Mgr: "I know..I know...but that's the story we have to stick with. If the company realizes what a fucking mess this is, we could all be fired."
Me: "What?!! All of us?!"
Mgr: "Well, shit rolls downhill. Dept-Mgr-John is ready to fire anyone he felt could make him look bad, which is why I pulled you guys in here. The other sheep out there will go along with anything he says and more than happy to throw you under the bus. Keep your head down until this blows over. Say nothing."11 -
Ladies and gentlemen, prepare yourselves for a rant with a capital R, this is gonna be a long one.
Our story begins well over a year ago while I was still in university and things such as "professionalism" and "doing your job" are suggestions and not something you do to not get fired. We had multiple courses with large group projects that semester and the amount of reliable people I knew that weren't behind a year and in different courses was getting dangerously low. There were three of us who are friends (the other two henceforth known as Ms Reliable and the Enabler) and these projects were for five people minimum. The Enabler knew a couple of people who we could include, so we trusted her and we let them onto the multiple projects we had.
Oh boy, what a mistake that was. They were friends, a guy and a girl. The girl was a good dev, not someone I'd want to interact with out of work but she was fine, and a literal angel compared to the guy. Holy shit this guy. This guy, henceforth referred to as Mr DDTW, is a motherfucking embarrassment to devs everywhere. Lazy. Arrogant. Standards so low they're six feet under. Just to show you the sheer depth of this man's lack of fucks given, he would later reveal that he picked his thesis topic "because it's easy and I don't want to work too hard". I haven't even gotten into the meat of the rant yet and this dude is already raising my blood pressure.
I'll be focusing on one project in particular, a flying vehicle simulator, as this was the one that I was the most involved in and also the one where shit hit the fan hardest. It was a relatively simple-in-concept development project, but the workload was far too much for one person, meaning that we had to apply some rudimentary project management and coordination skills that we had learned to keep the project on track. I quickly became the de-facto PM as I had the best grasp on the project and was doing a lot of the heavy lifting.
The first incident happened while developing a navigation feature. Another teammate had done the basics, all he had to do was use the already-defined interfaces to check where the best place to land would be, taking into account if we had enough power to do so. Mr DDTW's code:
-Wasn't actually an algorithm, just 90 lines of if statements sandwiched between the other teammate's code.
-The if statements were so long that I had to horizontal scroll to see the end, approx 200 characters long per line.
-Could've probably been 20 normal-length lines MAX if he knew what a fucking for loop was.
-Checked about a third of the tiles that it should have because, once again, it's a series of concatenated if statements instead of an actual goddamn algorithm.
-IT DIDN'T FUCKING WORK!
My response was along the lines of "what the fuck is this?". This dipshit is in his final year and I've seen people write better code in their second semester. The rest of the team, his friend included, agreed that this was bad code and that it should be redone properly. The plan was for Mr DDTW to move his code into a new function and then fix it in another branch. Then we could merge it back when it was done. Well, he kept on saying it was done but:
-It still wasn't an algorithm.
-It was still 90 lines.
-They were still 200 characters wide.
-It still only checked a third of the tiles.
-IT STILL DIDN'T FUCKING WORK!
He also had one more task, an infinite loop detection system. He watched while Ms Reliable did the fucking work.
We hit our first of two deadlines successfully. We still didn't have a decent landing function but everything else was nice and polished, and we got graded incredibly well. The other projects had been going alright although the same issue of him not doing shit applied. Ms Reliable and I, seeing the shitstorm that would come if this dude didn't get his act together, lodged a complaint with the professor as a precautionary measure. Little did I know how much that advanced warning would save my ass later on.
Second sprint begins and I'm voted in as the actual PM this time. We have four main tasks, so we assign one person to each and me as a generalist who would take care of the minor tasks as well as help out whoever needed it. This ended up being a lot of reworking and re-abstracting, a lot of helping and, for reasons that nobody ever could have predicted, one of the main tasks.
These main tasks were new features that would need to be integrated, most of which had at least some mutual dependencies. Part of this project involved running our code, which would connect to the professor's test server and solve a server-side navigation problem. The more of these we solved, the better the grade, so understandably we needed an MVP to see if our shit worked on the basic problems and then fix whatever was causing the more advanced ones to fail. We decided to set an internal deadline for this MVP. Guess who didn't reach it?
Hitting the character limit, expect part 2 SOON7 -
One comment from @Fast-Nop made me remember something I had promised myself not to. Specifically the USB thing.
So there I was, Lieutenant Jr at a warship (not the one my previous rants refer to), my main duties as navigation officer, and secondary (and unofficial) tech support and all-around "computer guy".
Those of you who don't know what horrors this demonic brand pertains to, I envy you. But I digress. In the ship, we had Ethernet cabling and switches, but no DHCP, no server, not a thing. My proposition was shot down by the CO within 2 minutes. Yet, we had a curious "network". As my fellow... colleagues had invented, we had something akin to token ring, but instead of tokens, we had low-rank personnel running around with USB sticks, and as for "rings", well, anyone could snatch up a USB-carrier and load his data and instructions to the "token". What on earth could go wrong with that system?
What indeed.
We got 1 USB infected with a malware from a nearby ship - I still don't know how. Said malware did the following observable actions(yes, I did some malware analysis - As I said before, I am not paid enough):
- Move the contents on any writeable media to a folder with empty (or space) name on that medium. Windows didn't show that folder, so it became "invisible" - linux/mac showed it just fine
- It created a shortcut on the root folder of said medium, right to the malware. Executing the shortcut executed the malware and opened a new window with the "hidden" folder.
Childishly simple, right? If only you knew. If only you knew the horrors, the loss of faith in humanity (which is really bad when you have access to munitions, explosives and heavy weaponry).
People executed the malware ON PURPOSE. Some actually DISABLED their AV to "access their files". I ran amok for an entire WEEK to try to keep this contained. But... I underestimated the USB-token-ring-whatever protocol's speed and the strength of a user's stupidity. PCs that I cleaned got infected AGAIN within HOURS.
I had to address the CO to order total shutdown, USB and PC turnover to me. I spent the most fun weekend cleaning 20-30 PCs and 9 USBs. What fun!
What fun, morons. Now I'll have nightmares of those days again.9 -
When you try to explain someone how to set up their router over the phone and you try to keep it as simple as possible...1
-
So today I got let go from my job.
I've worked for this company for about 2.5 years, and soon after joining I became the only IT resource for software. I had to support literally everything after they fired the rest of the team, but I did a great job and have been praised by all the management at the company.
A few months ago, after a salary review and a frank discussion with my boss and his boss, they agreed that I am due for a raise. They had a massive project coming up with a lot of extra expenses, but I was told that right afterward they would be giving raises.
I spent tons of late nights and weekends on this project, and we were able to get it mostly finished about a 1.5 months ago. I was instrumental in the project (the rest of the IT team didn't even know how to set up simple DNS records). An email was sent to the whole company thanking me for all the work I put into the project.
A week ago, I messaged my boss to ask about the status of raises as he had told me they should be going out at the beginning of this month. He said there won't be any raises, and that's all I heard. Then today I get a call telling me that they are letting me go.
Let me get this straight: you led me on with talk of a raise just to keep me here working long hours for your big project, and then you fire me after recognizing what a great job I did? That's just sick. I have watched them treat other employees and partners unethically, but it took getting it first hand to realize how bad it really is. My teammates were in shock when I said I was leaving as they have all leaned on me very heavily.
Fortunately, I have had several offers come in over the last few months (2 this week) for more pay. I only held off because of the lies I was told about receiving a raise and out of a false sense of loyalty. I'm not worried about my future at all, just angry at the way I was treated.29 -
I realize I've ranted about this before, but...
Fuck APIs.
First the fact that external services can throw back 500 errors or timeouts when their maintainer did a drunk deploy (but you properly handled that using caching, workers, retry handlers, etc, right? RIGHT?)...
Then the fact that they all speak a variety of languages and dialects (Oh fuck why does that endpoint return a JSON object with int keys instead of a simple array... wait the params are separated with pipe characters? And the other endpoint uses SOAP? Fuck I need to write another wrapper class around the client...)
But the worst thing: It makes developers live in this happy imaginary universe where "malicious" is not a word.
"I found this cloud service which checks our code style" — hmm ok, they seem trustworthy. Hope they don't sell our code, but whatever.
"And look at this thing, it automatically makes database backups, just have to connect to it to DigitalOcean" — uhhh wait...
"And I just built this API client which sends these forms to be OCR processed" — Fuck... stop it... there are bank accounts numbers on those forms... Where's that API even located? What company?
* read their privacy policy *
"We can not guarantee the safety of your personal data, use at your own risk [...] we are located in Russia".
I fucking hate these millennial devs who literally fail to get their head out of the cloud.
Somehow they think it's easier to write all these NodeJS handlers and layers around some API, which probably just calls ImageMagick + Tesseract on the other side.
If I wasn't so fucking exhausted, I'd chop of their heads... but they're like hydra, you seal one privacy breach and another is waiting to be merged, these kids just keep spewing their crap into easy packages, they keep deploying shitty heroku apps... ugh.
😖8 -
!!rant
!!ANGER
Micromanager: "Hey, Root!
Since you're back, and still not feeling well, we have an easy ticket for you: Rewrite the slack integration gem! Oh, you don't have to re-implement all of it, just make sure it all works the same way it does now. That bitch you worked with once over a year ago who kept throwing you under the bus to management and stealing credit for your work? Yeah, she wrote the original code like four years ago. It's perfect, so don't touch it. but she can fill you in on all the details you need and get you up to speed on how to test it.
But yep! It should be simple. and I just knew you would love this ticket, so I saved it just for you. Nice and quick, too, to get you an easy win.
You know, since you have to repair your reputation with product. and management. and the execs. and the rest of the team. and me. Yeah, product doesn't trust you so they don't want to give you any tickets. They just can't trust you to get them out and have them work. So you have a lot of hard work to do."
Spoiler: The bus-thrower wasn't much help. (Surprise.)
Spoiler: The ticket was already in my backlog -- one of a grand total of two tickets.
Spoiler: I don't find the ticket fun. Maybe if I was to write the entire implementation with a nice DSL? but no, "don't touch the perfect code." Fuck you.
Spoiler: It isn't going to be nice or quick. But, she (micromanager) is looking to lose me, so that really is an easy win. for her.
And. just. argh. fuck you. i've been exhausted and dying for well over a year, but you've kept ignoring that (and still are, despite me providing goddamn legal forms from fucking doctors stating it in plain fucking english, which you also fucking ignore), and you just keep piling on the work and demanding the ridiculous of me despite it. Yeah I can pull it off sometimes. No, I really shouldn't, and I'm surprised I can. (also, "Time off? What, and lower your productivity even more? ____ doesn't even take vacations. And how are you doing on that ticket?") And no, none of my tickets have ever had any fucking problems. Not even when there are upstream service outages. Not. a. single. fucking. one. Ever. And the only things I've ever missed were things that bloody product never put in the fucking ticket, so fuck you with your "repair your reputation" bullshit.
god, i fuckiNG HATE THESESTUPOID ANWETLJAF SAJEWTKW BITCHFACEDUCKFUCKERS
Why the FUCK am I still fucking working here?
Right, because I've been burned out and dying so much I can't pass a fucking interview so I can fucking leave.
jasdkl;fk
ugh. Anyway. If you ever find yourself starting work at a Cali fintech company whose internal mascot is a very fine duck? Just run. I absolutely guarantee you will be miserable.rant root swears oh my micromanager duckfuckers "trivial" ticket root is fucking fed up root swears a lot holy shit rewrite an entire library in 2-3 days16 -
KISS.
Keep it simple, stupid.
At the beginning the project is nothing but an idea. If you get it off the ground, that's already a huge success. Rich features and code quality should be the last of your worries in this case.
Throw out any secondary functionality out the window from day 0. Make it work, then add flowers and shit (note to self: need to make way for flowers and shit).
Nevertheless code quality is an important factor, if you can afford it. The top important things I outline in any new non-trivial project:
1. Spend 1-2 days bootstrapping it for best fit to the task, and well designed security, mocking, testing and extensibility.
2. Choose a stack that you'll most likely find good cheap devs for, in that region where you'll look in, but also a stack that will allow you to spend most of your time writing software rather than learning to code in it.
3. Talk to peers. Listen when they tell that your idea is stupid. Listen to why it's stupid, re-assess, because it most probably is stupid in this case.
4. Give yourself a good pep talk every morning, convincing you that the choices you've made starting this project are the right ones and that they'll bring you to success. Because if you started such a project already, the most efficient way to kill it is to doubt your core decisions.
Once it's working badly and with a ton of bugs, you've already succeeded in actually making it work, and then you can tackle the bugs and improvements.
Some dev is going to hate you for creating something horrific, but that horrific thing will work, and it's what will give another developer a maintenance job. Which is FAR, far more than most would get by focusing on quality and features from day 0.9 -
More proof of computer scientists not wanting to bother with CSS. Guys this is might be the secret to becoming pro. Keep it Simple Stupid (KISS). That's the creator of C++ website btw.12
-
Week 278: Most rage-inducing work experience — I’ve got a list saved! At least from the current circle of hell. I might post a few more under this tag later…
TicketA: Do this in locations a-e.
TicketB: Do this in locations e-h.
TicketC: Do this in locations i-k.
Root: There’s actually a-x, but okay. They’re all done.
Product: You didn’t address location e in ticket B! We can’t trust you to do your tickets right. Did you even test this?
Root: Did you check TicketA? It’s in TicketA.
Product guy: It was called out in TicketB! How did you miss it?!
Product guy: (Refuses to respond or speak to me, quite literally ever again.)
Product guy to everyone in private: Don’t trust Root. Don’t give her any tickets.
Product manager to boss: Root doesn’t complete her tickets! We can’t trust her. Don’t give her our tickets.
Product manager to TC: We can’t trust Root. Don’t give her our tickets.
TC: Nobody can trust you! Not even the execs! You need to rebuild your reputation.
Root: Asks coworker a simple question.
Root: Asks again.
Root: nudges them.
Root: Asks again.
Coworker: I’ll respond before tomorrow. (And doesn’t.)
Root: Asks again.
Root: Fine. I’ll figure it out in my own.
TC: Stop making it sound like you don’t have any support from the team!
Root: Asks four people about <feature> they all built.
Everyone: idk
Root: Okay, I’ll figure it out on my own.
TC: Stop making it sound like you don’t have any support from the team!
Root: Mentions multiple meetings to discuss ticket with <Person>.
TC: You called <Person> stupid and useless in front of the whole team! Go apologize!
Root: Tells TC something. Asks a simple question.
Root: Tells TC the same thing. Asks again.
TC: (No response for days.)
TC: Tells me the exact same thing publicly like it’s a revelation and I’m stupid for not knowing.
TC: You don’t communicate well!
Root: Asks who the end user of my ticket is.
Root: Asks Boss.
Root: Asks TC.
Root: Fine, I’ll build it for both.
Root: Asks again in PR.
TC: Derides; doesn’t answer.
Root: Asks again, clearly, with explanation.
TC: Copypastes the derision, still doesn’t answer.
Root: Asks boss.
Boss: Doesn’t answer.
Boss: You need to work on your communication skills.
Root: Mentions asking question about blocker to <Person> and not hearing back. Mentions following up later.
<Person>: Gets offended. Refuses to respond for weeks thereafter.
Root: Hey boss, there’s a ticket for a minor prod issue. Is that higher priority than my current ticket?
Root: Hey, should I switch tickets?
Root: Hey?
Root: … Okay, I’ll just keep on my current one.
Boss: You need to work on your priorities.
Everyone: (Endless circlejerking and drama and tattling)6 -
TLDR;
Wrote a slick scheduling and communication system allowing me to assign photography resources based on time and location.
I'll tell you a little secret ... I'm not actually a dev. I'm a photographer, pretending to be a dev.
Or ... perhaps it's the other way around? (I spend most of my time writing code these days, but only for me - I write the software I use to run my business).
I own a photography studio - we specialize in youth volleyball photography (mostly 12-18 year old girls with a bit of high school, college and semi-pro thrown in for good measure - it's a hugely popular sport) and travel all over the US (and sometimes Europe) photographing.
As a point of scale, this year we photographed a tournament in Denver that featured 100 volleyball courts (in one room!), playing at the same time.
I'm based in California and fly a crew of part-time staff around to these events, but my father and I drive our booth equipment wherever it needs to go. We usually setup a 30'x90' booth with local servers, download/processing/cashier computers and 45 laptops for viewing/ordering photographs. Not to mention 16' drape and banners, tons of samples, 55' TVs, etc. It's quite the production.
We photograph by paid signup only - when there are upwards of 800 teams/9,600 athletes per weekend playing, and you only have four trained photographers, you've got to manage your resources!
This of course means you have to have a system for taking sign those sign ups, assigning teams to photographers and doing so in the most efficient manner possible based on who is available when the team is playing. (You can waste an awful lot of time walking from one court to another in a large convention center - especially if you have to navigate through large crowds - not to mention exhausting yourself).
So this year I finally added a feature I've wanted for quite some time - an interactive court map. I can take an image of the court layout from the tournament and create an HTML version in our software. As I mouse over requests in one window, the corresponding court is highlighted on the map in another browser window. Each photographer has a color associated with them. When I assign requests to a photographer, the court is color coded with the color of the photographer. This allows me to group assignments to minimize photographer walk time and keep them in a specific area. It's also very easy to look at the map and see unassigned requests and look to see what photographer is nearby.
This year I also integrated with Twilio and setup a simple set of text shortcuts that photographers can use to let our booth staff know where they are, if they have memory cards that need picking up, if they need water/coffee/snack, etc. They can also move assignments on their schedule or send and SOS for help if it looks like they aren't going to be able to photograph a team.
Kind of a CLI via the phone. :)
The additions have turned out to be really useful and has made scheduling and managing the photographers much easier that it was in the past.18 -
Prologue
My dad has an acquaintance - let's call him Tom. Tom is an gynecologist, one of the best in Poznań, where I live. He's a great guy but absolutely can not into tech of any kind besides his iPhone and basic PC usage. For about a year now I've been doing small jobs for him - build a new PC for his office, fix printer, fix wifi, etc. He has made a big mistake few years ago by trusting a guy, let's call him Shitface, with crating him software for work. It's supposed to be pretty simple piece of code in which you can create and modify patient file, create prescription from drugs database and such things. This program is probably one of the worst pierces of code I've ever seen and Shitface should burn for that. Worse, this guy is pretentious asshole lacking even basic IT knowledge. His code is garbage and it's taking him few months to make small changes like text wrapping. But wait, there's more. Everything is hardcoded so every PC using this software must have installed user controls for which he doesn't have license and static IP address on network card.
Part 1
Tom asked me to build him a new PC that will be acting like a server for Shitface's program. He needs it in Kalisz (around 150 km from my place). I Agred (pun intended) and after Tom brought me his old computer I've bought parts and built a new one. I have also copied everything of value and everything took me around three hours.
Part 2
Everything was ready but Shitface's program. I didn't know much about it's configuration so when I've noticed that it's not working even on the old PC I got a bit worried. Nevertheless I started breaking everything I know about it and after next three hours I've got it somewhat working. Seeing that there's still some problems with database connection (from Windows' Event Viewer) I wrote quick SMS to Shitface asking what can be wrong. He replied that he won't be able to help me any way until Monday (day after deadline). I got pissed and very courteously asked him for source code because some of libraries used in this project has license that requires either purchase of commercial license or making code open source. He replied within few minutes that he'll be able to connect remotely within next 10 minutes. He was trying to make it work for the next hour but he succeeded. It was night before deadline so I wrapped everything up and went to bed thinking that it won't take me more than an hour to get this new PC up and running in the office. Boy was I wrong.
Also, curious about his code, I've checked source and he is using beautiful ponglish (mixed Polish and English) with mistakes he couldn't even bother to fix. For people from Poland, here's an example:
TerminarzeController.DeleteTerminarzShematyDlaLekarza
Part 3
So I drove to Kalisz and started working on making everything work. Almost everything was ready so after half an hour I was done. But I wanted to check twice if it's all good because driving so far second time would be a pain. So I started up Shitface's program, logged in, tried to open ANYTHING and... KABUM. UNHANDLED EXCEPTION. WTF. I checked trace and for fuck sake something was missing. Keep in mind that then I didn't know he's using some third party control for Windows Forms that needs to be installed on client PC. After next fifteen minutes of googling I've found a solution. I just had to install this third party software and everything will work. But... It had to be exactly this version and it was old. Very old. So old that producent already removed all traces of its existence from their web page and I couldn't find it anywhere. I tried installing never version and copying files from old PC but it didn't work. After few hours of searching for a solution I called Mr Shitface asking him for this control installation file. He told me that he has it but will be able to send it my way in the evening. Resigned I asked for this new PC to be left turned on and drove home. When he sent me necessary files I remotely installed them and everything started working correctly.
So, to sum it up. Searching for parts and building new PC, installing OS and all necessary software, updating everything and configuring it for Tom taste took me around what, 1/3 of time I spent on installing Mr Shitface's stupid program which Tom is not even happy with. Gotta say it was one of worst experiences I had in recent months. Hope I won't have to see this shit again.
Epilogue
Fortunately everything seems to work correctly. Tom hasn't called me yet with any problems. Mission accomplished. I wanna kill very specific someone. With. A. Spoon.1 -
Been reading devrant posts for a month or so, this is my first actual post. I'm hoping it will be therapeutic. ☺️ I need something to keep me from killing my boss when I see him again tomorrow..
Some backstory: Currently working in HR for the last 7 or so years with complete shit for brains boss, even worse when it comes to anything related to technology. For almost two years I've been working to get another bachelor's degree. This time in computer sciences, to make a career switch to systems and software engineer. Last week I roughly had the following wonderful conversation:
Boss: we've needed new Recruitment software for a while now. Can't you make us one as a school project?
Me: 'Make us one?' It's not really that simple.. I'm barely halfway through my education, maybe I could do it, but it would take me quite a long time even if I could work on it fulltime.. Combining a halftime job with a fulltime education is taking up enough of my time as it is and I have more than enough school projects btw..
Boss: it would be a win-win. Work a little harder in your spare time and when you graduate you have a real-life project on your resume.
Me: I'm sorry, i'm failing to see the 'win' for me here.. I work 10 hours a day, 7 days a week on average, trying to combine work and studies. I'm pretty much maxed out..
Boss: Your coworker(also extreme dumbass) told me you wrote some quick code the other day that helped him out. Don't underestimate yourself, I'm sure you can do this.
Me(in complete disbelief by now): I wrote him an Excel-macro! They don't even teach me that at school. It's a very very very long way from actual software development! I'm sorry, it just can't be done.
Boss: Thats too bad. I expected you to welcome an opportunity like this and be more motivated towards this company..
Me: ***more disbelief and silence, just staring at him***
I'm sorry you feel that way.
***walked away***
WTF, I work my ass off for 7 years for this fucking shithead.. Even before I started this bachelors degree I had at least some understanding of the work developers put in their software. It blows my mind, no, it fucking angers me how people think making software is so simple.. Why do you think it's a 3-year education you fucking cunt?
Please, someone tell me how I can keep myself from ramming his fucking head through a wall tomorrow...6 -
Does anyone remember MUDs? Multi-User Dungeons — working on those in LPC was my first experience with real programming. Before that, I'd only made simple websites.
To get permission to program in one MUD, you had to prove that you knew the world, by reaching a certain level in the game. Death had consequences, with a level being lost, as well as risking loss of your items if someone looted you or your corpse was lost. This alone was hard enough to make most players give up. I played (and played wisely) to get there, being the first of my friends. It was hard work and fun.
After months of playing every day, finally, I was a wizard! Well, first, I had to convince someone else to take me as an apprentice, which was it's own challenge, because I was a 13 y/o girl. I ended up having to wait for an older male friend to get to the proper rank and get made a full wizard himself, because anyone else was reluctant (thinking that I'd just screw up or make them look bad), and no one was very happy about it. After some more weeks, I started programming my own content for the MUD, to share with others. It was a great opportunity to learn and express myself, seeing how creative programming could be.
I got called all kinds of names for asking questions and making mistakes, and I questioned why I even wanted to work with these people who hated my guts and didn't want to teach me anything, but I kept going. As I wasn't allowed to take computer classes in school, being able to do projects on my own like this was the only way to learn. I also became more stubborn, patient, and independent, which has always been necessary for this career.
Most importantly, I saw what could be done with programming, and was inspired to keep going with my own projects, no matter how much hate that I got for it. I went on to work on more games and software, often on my own. I always explore new technology, ignore the haters, and forge ahead with my own vision.4 -
(!dev)
Fuck Twitter.
I get sucked in for 10 minutes through some news article, and my blood is boiling.
I think the platform does not even deserve to exist.
And I didn't think I would ever say that.
I used to be a staunch defender of the free & open internet, even with it's ugly and extreme sides, because I was convinced the good would outshine the evil.
I displayed the Pirate flag with pride on the mast outside of my house, I was intimately involved in the founding of their political party in my country. I was convinced of the power of the internet, I believed it would empower democracy and debate.
So why do simple tweets, even just the ones about technology, incite an endless stream of vile ultranationalist & misogynist hate?
How is it that those who are reasonable get drowned out?
That fucking character limit is a cancer.
The orator's wings are clipped. The richness of language is wilting before our eyes. All that remains are a bunch of caged chickens pecking every argument to death.
I will defend the right to free speech, even when it comes to the most disagreeable and controversial opinions.
But Twitter does not promote free speech. It's poison to free speech.
It's an endless torrent of non sequiturs, which constricts all reason and intellect. It replaces free speech by pretending to have equal value.
I really don't care if you are left or right, socialist or libertarian, globalist or nationalist.
You can argue to me that we should close all borders for immigrants, that Apple makes great products, that genocide has its pros, you could try to convince me that Heineken tastes acceptable (sorry AlexDeLarge), that Linux should be outlawed or that we should really try to bring this Eugenics thing back again.
Just be fucking rational -- and "Rationality implies the conformity of one's beliefs with one's reasons to believe"
You can NOT fit both your beliefs and their supporting reasons in 140 or even 280 characters.
So what's left is just your beliefs.
Stripped of all reason.
Repeat it often enough, keep spewing, keep throwing out incomplete arguments, and you'll train yourself to forego ratio in your convictions completely.
All social platforms should get a forced captcha for every spelling/grammar error, and a 1000 character minimum.
The world would be a slightly better place.6 -
So I have this friend, let's call him retard. He decided to check out a coding competition. He signed up for it and then added me as a teammate. Then he went ahead and gave me a time, 22:00 local time. The time when the competition starts. I was excited, and being super retard didn't even think of rechecking things myself.
We waited in our merry ways, all so excited for a coding competition while listening to music to keep the mind free. The time finally came. It was 21:59. I opened up my ide and called upon my dear friend chrome. Asked the retard for the link. And then he decided to break out the curses. I was shocked, bewildered.
I didn't know what was going on, did I do something bad to him? Did I make him angry? Or did something happen to him? I was worried. After all, I don't want my teammate to be distressed during a competition. So in a stern voice I said, calm down my friend. Tell me the thing that's got you all riled up.
The news he conveyed shook my very foundations of trust and the feeling of comradry that we had built the day before going to lunch and discussing strategies. That bloody retard misread 20:00 as 22:00. Two whole hours. Two whole hours that could have been used for solving simple problems and making pretty algorithms were all gone and all that was left was the dust of other competitors who weren't retards and managed to read the time correctly.
Idk what to do. Should I kill him? Delete his github profile while he isn't looking? Ask him to kindly delete System32 folder from his C:/ drive?
But then again I should also take half the blame for not taking things seriously enough to make a bloody checkup on the fake news he provided.7 -
I reversed engineered the network protocol for a game.
I uploaded the source code to GitHub and made a post on UC Forums.
I kept getting bombarded with messages from the same person, it went something like this:
Him: "I can't get this hack to work, pls send finish hack, thanks"
Me: "First of all this is not a complete hack. You actually need to know how to code to use this library."
Guy: "Ok, can u help me make hack for game?"
To keep this short, I basically told him:
"No. Look through the code, learn it, use what you learned."
Couple of hours later he replied:
"Ok. I look through code but don't know how work. Send me code pls."
From the kindness of my heart I made a extremely simplified wrapper for the already simple code and sent him the project files.
He replies with: "Thank for hack, I not able make it work. I build I try inject game but no work. How to run dll file."
At that point I gave up...3 -
Some developers get over-excited about using dependency injection and make further maintenance a nightmare.5
-
I'll keep it short:
My nastiest freelancing horror stories contain shitty clients who dont pay, the nastiest fucking legacy code you can imagine, and expectations as high as trump thinks of himself.
The lesson is simple: Choose your freelancing clients wisely and always expect partial payment in advance. Even from family or firends!8 -
I swear I work with mentally deranged lunatics.
Dev is/was using TFS's web api to read some config stuff..
Ralph: "Ugh..this is driving me crazy. I've spent all day trying to read this string from TFS and it is not working"
Me: "Um, reading a string from an web api is pretty easy, what's the problem?"
Ralph: "I'm executing the call in a 'using' statement and cannot return the stream."
Me: "Why do you need to return a stream? Return the object you are looking for."
Ralph: "Its not that easy. You can return anything from TFS. All you get back is a stream. Could be XML, JSON, text file, image, anything."
Me: "What are you trying to return?"
Ralph: "XML config. If I use XDoc, the stream works fine, but when I step into each byte from the stream, I the first three bytes have weird characters. I shouldn't have to skip the first three bytes to get the data. I spent maybe 5 hours yesterday digging around the .Net stream readers used in XDoc trying to figure out how it skips the first few bytes."
Me: "Wow...I would have used XDoc and been done and not worried about that other junk."
Ralph: "But I don't know the stream is XML. That's what I need to figure out."
Me: "What is there to figure out? You do know. Its your request. You are requesting a XML config."
Ralph: "No, the request can be anything. What if Sam requests an image? XDoc isn't going to work."
Me: "Is that a use-case? Sam requesting an image?"
Ralph: "Uh..I don't know...he could"
Me: "Sounds like your spending a lot of time doing premature optimization. You know what your accessing TFS for, if it's XML, return XML. If it's an image, return an image. Something new comes along, modify the code to handle it. Eazy peezy."
<boss walks in from a meeting>
Boss: "Whats up guys?"
Ralph: "You know the problem with TFS and not being able to stream the data I had all day yesterday? I finally figured it out. I need to keep this TFS reader simple. I'll start with the XML configs and if we more readers later, we can add them."
Boss: "Oh yea, always start simple and add complexity only when you need it."
Frack...Frack..Frack...you played some victim complaining to anyone who would listen yesterday (which I mostly ignored) about reading data from TFS was this monumental problem no one could solve, then you start complaining to me, I don't fall for the BS, then tell the boss the solution was your idea?
Lunatic or genius? Wally would be proud.4 -
S = Some person I know
Me = Me
S: Hey, I heard you also do [software/web development].. I was hoping to get some advice from you about some advanced level HTML and CSS for my classes.
//or that if I could teach him something
Me: What do you study?
S: Oh, I teach.
Me: 😯 Really? What do you teach?
S: Oh, just some basic HTML and CSS with Notepad to about 50-60 students.
Me: (;﹏;) That's great.
/*this is a shortened version of a very long conversation*/
They teach some basic HTML and CSS like <table> and <marquee> and stuff. They also teach C++ and Tally ERP.
Also, he and some other person made their small intuitions' website but they don't know how to put it online. They made it in, as far as I understand, simple HTML and CSS USING NOTEPAD (Don't know if they used JS or something else). That's.. really courageous or something... ? I don't know, I couldn't have a look at it because they have it on their local computer and don't know what Git is.
I showed him some better alternatives and ways that they could use (editors, version control, db, etc.) to improve their curriculum and answered his questions, and I told him that I'll try to help in any way I can if they ever need me.
This also made me realize how much I've learned and grown since I first started learning C in school. Still, I've got so much more that I need and want to learn.
//Always keep learning
😊
PS. What would you've told him if you had been in my place?1 -
You guys made my whole day for the first time since I joined. (yes all of you!)
1) I had a 'fight' with a guy I'm making a startup with. Had to explain some of the story of my life, just to clarify that I'm not evil or generally unwilling to understand - regarding me, having the need to keep using practices
2) I've found that a whole niche-community of people seems to ignore the rest of the community and won't tag along. Having spent several months to be able to help, and receiving shit or absolutely nothing, for finally trying
3) Was in a bad mood the moment I woke up, because I fought with my girlfriend last night because she fails to communicate simple things and won't realise it.
Sorry for the bad punctuation, I tried and smartphones aren't a nice way to edit such things.
So my rant is basically a thank you! Not a rant.. But still, I think you people are the best for being so relatable and making me laugh, and feel like there's more of 'my kind'.
I also just fixed a bug in my app by (finally!) asking the framework maintainer what's up, and got a response which made no sense in a logical manner.. That's a rant for another day, I'll aggregate all the 0 fucks given, when I'm finally able to leave this thing behind, and give you a proper curse-filled shit stack of the nonsense I'm experiencing!
The bug would still live if I weren't so energized by devRant
EDIT: '!' != ','1 -
I was working for a startup that needed to update 300 machines that had just come from the factory. We had to open all 300 boxes and update them one at a time. I made a simple script that would run a folder full of shell scripts then keep track of what it ran so it would not run the same script twice. It made it so we could just plug the machines into the internet, they would query some server, download my program, and run it. It saved me from having to ssh into every machine and run commands. Well the head programmer guy saw what I did and implemented it as the main program that would update the entire machine. I didn't program anything into it to verify updates, the shell scripts did not return any indication of success or failure, and I made it in less than 3 hours. It was supposed to be a temporary program to be used for those 300 machines only, but ended up sticking around for 2 years.1
-
Alright so listen to this. I was working on a project, it was a fork of another github repo. So the project is mainly based in PHP, simple enough right?
Anyways I have my version working and I put it up as a website and am doing fairly well with it. I was trying to advertise it a bit on reddit ( pay attention to the trying ) then someone comes along and asks how I made it and all that.
Just trying to be kind I tell them what I used and all that to make it. Then they come back a few hours later explaining that they are trying to make their own version for "fun". Then they proceed to explain that they are having some issues with it, it obviously is something in the back-end (they must've fucked up something).
So I politely ask them to show me the code so I can help them fix it.
He refuses.
So we exchanged a bit. What his excuse for not showing me his code ( Keep in mind he is also taking this from an open-source software same as me he has simply broken something and can't fix it himself ) is he doesn't want me stealing his ideas...
I nearly snapped when he did that, I had already seen the site he made, from that end it wasn't anymore spectacular than mine and no serious changes seemed to have occurred. The best part is that it was broken. He asked for my help and refused to let me see the code so I told him that I simply couldn't help him fix it then. He goes and is just going alright.
Next he then asks me how I solved this issue and that issue and he wanted the code that I used to fix each of these little issues. Pretty much to the point that it would've been a clone of my site. So I just didn't give him anything.
Didn't hear from him for a few hours, next thing I know he messages me asking if he can fix my site so it is mobile friendly...First off my site is mobile friendly and works pretty well. I have been spending a lot more quality time to work on this than him.
Moral of the story is, some people are retards.4 -
I'm fucking tired of this so called lead developer, lead developer my ass:
- He takes two days to complete a simple task and he dares to ask me why I extended the deadline of this freaking complex feature I need to build.
- He does a half-assed job when completes a task, no validation of data, no well informative message when exceptions are th thrown ...
- He assigns me his tasks although I already have tons and we need to release soon.
- I take care of developing and maintaining 60% of the APIs and I implemented the most complex of features and he dares to always say that my code can be optimized in a vague way, never mentioning what exactly is he talking about, and never telling me beforehand, he always does it during team meetings where another thing is being discussed.
- He presents the app to the whole company and at the end doesn't give credit where it's due, no " thank you for being part of this or helping build this" even if I built most of that shit, instead he says he's disappointed in me ... WTF! What did you fucking do to build this to be disappointed in me? I'm the fucking disappointed one here !!
- He fucking keeps preaching practices that he doesn't follow or he finds workarounds to skip them while the rest of the team follows them.
- He's like "I'm only taking care of this task to help you out?!" .... wtf! I have nothing to do with that fucking task, how are you helping me! You just keep fucking lazing around when we need to be finishing features asap.
Thank God I don't expect anything from you, I get enough credit from my boss who expresses how impressed he's with my job.6 -
I've been away, lurking at the shadows (aka too lazy to actually log in) but a post from a new member intrigued me; this is dedicated to @devAstated . It is erratic, and VERY boring.
When I resigned from the Navy, I got a flood of questions from EVERY direction, from the lower rank personnel and the higher ups (for some reason, the higher-ups were very interested on what the resignation procedure was...). A very common question was, of course, why I resigned. This requires a bit of explaining (I'll be quick, I promise):
In my country, being in the Navy (or any public sector) means you have a VERY stable job position; you can't be fired unless you do a colossal fuck-up. Reduced to non-existent productivity? No problem. This was one of the reasons for my resignation, actually.
However, this is also used as a deterrent to keep you in, this fear of lack of stability and certainty. And this is the reason why so many asked me why I left, and what was I going to do, how was I going to be sure about my job security.
I have a simple system. It can be abused, but if you are careful, it may do you and your sanity good.
It all begins with your worth, as an employee (I assume you want to go this way, for now). Your worth is determined by the supply of your produced work, versus the demand for it. I work as a network and security engineer. While network engineers are somewhat more common, security engineers are kind of a rarity, and the "network AND security engineer" thing combined those two paths. This makes the supply of my work (network and security work from the same employee) quite limited, but the demand, to my surprise, is actually high.
Of course, this is not something easy to achieve, to be in the superior bargaining position - usually it requires great effort and many, many sleepless nights. Anyway....
Finding a field that has more demand than there is supply is just one part of the equation. You must also keep up with everything (especially with the tech industry, that changes with every second). The same rules apply when deciding on how to develop your skills: develop skills that are in short supply, but high demand. Usually, such skills tend to be very difficult to learn and master, hence the short supply.
You probably got asleep by now.... WAKE UP THIS IS IMPORTANT!
Now, to job security: if you produce, say, 1000$ of work, then know this:
YOU WILL BE PAID LESS THAN THAT. That is how the company makes profit. However, to maximize YOUR profit, and to have a measure of job security, you have to make sure that the value of your produced work is high. This is done by:
- Producing more work by working harder (hard method)
- Producing more work by working smarter (smart method)
- Making your work more valuable by acquiring high demand - low supply skills (economics method)
The hard method is the simplest, but also the most precarious - I'd advise the other two. Now, if you manage to produce, say, 3000$ worth of work, you can demand for 2000$ (numbers are random).
And here is the thing: any serious company wants employees that produce much more than they cost. The company will strive to pay them with as low a salary as it can get away with - after all, a company seeks to maximize its profit. However, if you have high demand - low supply skills, which means that you are more expensive to be replaced than you are to be paid, then guess what? You have unlocked god mode: the company needs you more than you need the company. Don't get me wrong: this is not an excuse to be unprofessional or unreasonable. However, you can look your boss in the eye. Believe me, most people out there can't.
Even if your company fails, an employee with valuable skills that brings profit tends to be snatched very quickly. If a company fires profitable employees, unless it hires more profitable employees to replace them, it has entered the spiral of death and will go bankrupt with mathematical certainty. Also, said fired employees tend to be absorbed quickly; after all, they bring profit, and companies are all about making the most profit.
It was a long post, and somewhat incoherent - the coffee buzz is almost gone, and the coffee crash is almost upon me. I'd like to hear the insight of the veterans; I estimate that it will be beneficial for the people that start out in this industry.2 -
TL; DR: please save me from IT hell
Note 1: this is a rant that comes after a couple other rants I'm going to call "family business saga" from now on because I feel like this is gonna go on for a while
Note 2: the following may look exaggerated but it's because of how pissed off I am at said person
So I have to help this one family member with his computer but he's worned me out so much last summer that I can't stand him (it's all tech based). At all. Both in person and via text calls. I dread and become pissy each time he's nearby, just his presence makes me want to jump in a hole and stay there for eternity.
And he's not the smartest cookie in the jar when it comes to tech, so he comes to me for help (instead of going to my brother. Aaagh why doesn't he go for my brother as well, it's mentally tiring having to "help" him - as he doesn't learn what I'm trying to teach him even after several attempts). I don't really mind being sought for help when it comes to tech, but this guy takes it one step further.
He entered my room with his computer in his hands saying this friend of his has installed W7 on his PC (why didn't he handle all the things he wants to do, it would save me a lot of anger containment) and that I *had* (it's always "YOU HAVE" because I'm a tech-ish person and I'm in uni for CS) to help him do a bunch of things.
So he boots up the thing and there are 32 updates to do, so I'm guessing that he didn't boot it up after the OS update until now. He leaves my room and I sigh out of relief. He comes back with the AC remote complaining it's too hot in my room and that he's gonna put it down a degree or 2. Jesus christ do not tamper with my AC settings, it's fine to me. The updates are still going on. He leaves again.
The computer takes its time to update and so does he. I'm happily playing minecraft when he comes back, the computer off after updating. He looks at it and says "why is it off?". I reply back "it finished updating.", trying to keep my cool. Even the most simple questions are irritation inducing.
He reboots it and lets it run. After it boots and it's ready to go he just stays there for like 2' without doing anything because the hard drive light was going off. I think he thinks the computer is going to explode if he touches it while the light is blinking 😬
He goes to connect the computer to the internet and gets all surprised that the computer doesn't recognize our home's internet (he has been here before with his computer, I guess, so he had connected, so I think he was expecting it to auto connect like that). I tell him that the computer doesn't recognize our home's connection because it has had a fresh OS installation and so it didn't have any connection registered. He types in the password and the connection is established.
He them starts going on about that he wants to get these pics on the business' website and how does he put them in his computer and all that. I do that for him and he's all like "how did you do that?? 😮" like it's a magic trick
And he's always going on at everything as if it's all a big undoable thing. "How do I do this? You know what, do it yourself and show me because I don't wanna fail". Dude. Bro. Everything - EVERYTHING - you are afraid of doing is undoable. EVERYTHING. Good christ.
I swear I've never felt so glad I'm going back for uni next week9 -
Why does CSS never work the way you'd expect? All I want to do is align something to the bottom of a div. No. Will not happen. You'd think it might be something simple as 'v-align' or 'align: bottom' or 'fucking put it at the bottom: now;'
No, it's never that simple. I try every result I can find from googling. Nothing. Simply does not work.
How about trying to keep a div to a square when you resize the page? That should be simple? height = width right? Fuck you. Ha hahah, no you have to implement some horrendous arcane hack involving fake elements and other bullshit.
You finally fix one thing and everything else you had working is now broken.
...and then some fuckwit comes along and goes "Oh, CSS isn't hard..." and it takes everything you have not to beat them to death with your rubber duck.
What the hell is wrong with CSS? It's not even programming! It's just pure, sadistic hell! FUCK CSS!!!!14 -
I appreciate all of your suggestions to improve devRant but I've a counter suggestion to make. Please do not post silly ideas. We should not try to make this community another Facebook or Twitter. Let's keep it simple and plain. We're better than non-dev users in many ways.5
-
It was our first computer. probably it was 2008. I was super stupid back then. One day I saw a text file in our desktop, which says, "Hey $username, how are you? Message me here I-forgot-his-email@yahoo.com"
No matter how much we delete the text file, it kept on recreating and keep on adding same texts with multiple lines. I was really annoyed!
Yahoo messenger was popular back then. So I messaged the person using Yahoo messenger and he replied. Our conversation went this way:
Me: (after explaining a bit about the text file) what is this?
Him: it is a virus
Me: how do I delete this?
Him: if I teach you how to delete it, the whole purpose of creating it would be in vain
Me: okay, how do I create something like this?
Him: just Google
That day I was swearing at him from the bottom of my heart, not through messenger, but from my mind, because he didn't teach me how he made that virus.
I was like, "I will show you ***** that even I can make a virus better than that". So, I started googling & started learning how to make these scripts. The more I learned, the more it blew my mind. I was creating simple stuffs like, opening/closing CD rom every 5 seconds. It was so fun back then. Cause, my friends had no clue why their CD roms kept opening every 5 seconds.
After a few days, I started to thank the virus creator from the bottom of my heart. Cause, if he taught me how to create THAT virus that day, I probably would've just learned THAT one thing and stopped. But because he didn't teach me that, to learn one thing, I got to learn more than that one thing, which I'm really thankful for.
And then the journey started. Learned Batch, VBscript, C, C++, Java and so on. And still learning new things everyday...4 -
A dev team has been spending the past couple of weeks working on a 'generic rule engine' to validate a marketing process. The “Buy 5, get 10% off” kind of promotions.
The UI has all the great bits, drop-downs, various data lookups, etc etc..
What the dev is storing the database is the actual string representation FieldA=“Buy 5, get 10% off” that is “built” from the UI.
Might be OK, but now they want to apply that string to an actual order. Extract ‘5’, the word ‘Buy’ to apply to the purchase quantity rule, ‘10%’ and the word ‘off’ to subtract from the total.
Dev asked me:
Dev: “How can I use reflection to parse the string and determine what are integers, decimals, and percents?”
Me: “That sounds complicated. Why would you do that?”
Dev: “It’s only a string. Parsing it was easy. First we need to know how to extract numbers and be able to compare them.”
Me: “I’ve seen the data structures, wouldn’t it be easier to serialize the objects to JSON and store the string in the database? When you deserialize, you won’t have to parse or do any kind of reflection. You should try to keep the rule behavior as simple as possible. Developing your own tokenizer that relies on reflection and hoping the UI doesn’t change isn’t going to be reliable.”
Dev: “Tokens!...yea…tokens…that’s what we want. I’ll come up with a tokenizing algorithm that can utilize recursion and reflection to extract all the comparable data structures.”
Me: “Wow…uh…no, don’t do that. The UI already has to map the data, just make it easy on yourself and serialize that object. It’s like one line of code to serialize and deserialize.”
Dev: “I don’t know…sounds like magic. Using tokens seems like the more straightforward O-O approach. Thanks anyway.”
I probably getting too old to keep up with these kids, I have no idea what the frack he was talking about. Not sure if they are too smart or I’m too stupid/lazy. Either way, I keeping my name as far away from that project as possible.4 -
Okay guys, this is it!
Today was my final day at my current employer. I am on vacation next week, and will return to my previous employer on January the 2nd.
So I am going back to full time C/C++ coding on Linux. My machines will, once again, all have Gentoo Linux on them, while the servers run Debian. (Or Devuan if I can help it.)
----------------------------------------------------------------
So what have I learned in my 15 months stint as a C++ Qt5 developer on Windows 10 using Visual Studio 2017?
1. VS2017 is the best ever.
Although I am a Linux guy, I have owned all Visual C++/Studio versions since Visual C++ 6 (1999) - if only to use for cross-platform projects in a Windows VM.
2. I love Qt5, even on Windows!
And QtDesigner is a far better tool than I thought. On Linux I rarely had to design GUIs, so I was happily surprised.
3. GUI apps are always inferior to CLI.
Whenever a collegue of mine and me had worked on the same parts in the same libraries, and hit the inevitable merge conflict resolving session, we played a game: Who would push first? Him, with TortoiseGit and BeyondCompare? Or me, with MinTTY and kdiff3?
Surprise! I always won! 😁
4. Only shortly into Application Development for Windows with Visual Studio, I started to miss the fun it is to code on Linux for Linux.
No matter how much I like VS2017, I really miss Code::Blocks!
5. Big software suites (2,792 files) are interesting, but I prefer libraries and frameworks to work on.
----------------------------------------------------------------
For future reference, I'll answer a possible question I may have in the future about Windows 10: What did I use to mod/pimp it?
1. 7+ Taskbar Tweaker
https://rammichael.com/7-taskbar-tw...
2. AeroGlass
http://www.glass8.eu/
3. Classic Start (Now: Open-Shell-Menu)
https://github.com/Open-Shell/...
4. f.lux
https://justgetflux.com/
5. ImDisk
https://sourceforge.net/projects/...
6. Kate
Enhanced text editor I like a lot more than notepad++. Aaaand it has a "vim-mode". 👍
https://kate-editor.org/
7. kdiff3
Three way diff viewer, that can resolve most merge conflicts on its own. Its keyboard shortcuts (ctrl-1|2|3 ; ctrl-PgDn) let you fly through your files.
http://kdiff3.sourceforge.net/
8. Link Shell Extensions
Support hard links, symbolic links, junctions and much more right from the explorer via right-click-menu.
http://schinagl.priv.at/nt/...
9. Rainmeter
Neither as beautiful as Conky, nor as easy to configure or flexible. But it does its job.
https://www.rainmeter.net/
10 WinAeroTweaker
https://winaero.com/comment.php/...
Of course this wasn't everything. I also pimped Visual Studio quite heavily. Sam question from my future self: What did I do?
1 AStyle Extension
https://marketplace.visualstudio.com/...
2 Better Comments
Simple patche to make different comment styles look different. Like obsolete ones being showed striked through, or important ones in bold red and such stuff.
https://marketplace.visualstudio.com/...
3 CodeMaid
Open Source AddOn to clean up source code. Supports C#, C++, F#, VB, PHP, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript.
http://www.codemaid.net/
4 Atomineer Pro Documentation
Alright, it is commercial. But there is not another tool that can keep doxygen style comments updated. Without this, you have to do it by hand.
https://www.atomineerutils.com/
5 Highlight all occurrences of selected word++
Select a word, and all similar get highlighted. VS could do this on its own, but is restricted to keywords.
https://marketplace.visualstudio.com/...
6 Hot Commands for Visual Studio
https://marketplace.visualstudio.com/...
7 Viasfora
This ingenious invention colorizes brackets (aka "Rainbow brackets") and makes their inner space visible on demand. Very useful if you have to deal with complex flows.
https://viasfora.com/
8 VSColorOutput
Come on! 2018 and Visual Studio still outputs monochromatically?
http://mike-ward.net/vscoloroutput/
That's it, folks.
----------------------------------------------------------------
No matter how much fun it will be to do full time Linux C/C++ coding, and reverse engineering of WORM file systems and proprietary containers and databases, the thing I am most looking forward to is quite mundane: I can do what the fuck I want!
Being stuck in a project? No problem, any of my own projects is just a 'git clone' away. (Or fetch/pull more likely... 😜)
Here I am leaving a place where gitlab.com, github.com and sourceforge.net are blocked.
But I will also miss my collegues here. I know it.
Well, part of the game I guess?7 -
So a few days ago I shared about the conflict with my colleague on learning React. Today I was let go. Obviously I asked why they would do that and they said they feel the problem isn't even my React knowledge but the fact I don't grasp the fundamentals of OO programming.
Thing is in these 3 months there has not been a single code review. They are either going of what my lying colleague told them (they claimed he was excluded from giving feedback), or the consultants who were hired to help us. And yes, I got feedback I should improve but at the same time the assurance so long as I show improvement it'd be fine. And I was told they could see improvement. So I'm not sure what changed but suddenly there is no budget to keep me on. In any case it feels like shitty corporate bullshit.
But I can't say they are wrong. I struggle to explain simple concepts I know in words. I've worked a series of bad jobs where nobody cared how you did stuff as long as it got done. I feel I'm so behind now and so affected by bad knowledge it's even harder to fix than to learn the first time. So I'm wondering how to fix this.
I'm really gutted too because I loved this company. I was finally getting a fair wage instead of being underpaid. The people were excellent. I felt I could finally relax and feel safe at work. And now I feel betrayed. Which for someone with self esteem issues is very hard. Can't trust in myself and can't trust in others.
I'm gonna try and pick myself up in the morning, but today I feel totally shit. This wasn't how I'd expected things to go. I thought my manager had intended to talk conflicts over but instead I get the boot. And the advice to stop overselling myself. Real useful that. Like it is on me that they hired me despite my subpar interview because my CV looked good. It's a shitty excuse. In any case they're now stuck with a dev that walks out of work, throws false accusations about colleagues, and another person warned me about to not engage because nothing good ever came from it. He's gonna keep over engineering everything and make up for all the time he wastes outside of work creating a dysfunctional environment for everyone. But yeah, easier to fire the new person who does her best despite the odds. And who cautioned against over engineering because we kept missing deadlines. And who believes in refactoring when it is needed because that's how agile works. Yeah better keep someone who has no sense of work life balance and makes others miserable then claiming he's being driven out by your ignorance. And of course the consultants who throw your own people under the bus. Can't get rid of those now.7 -
"I'm almost done, I'll just need to add tests!"
Booom! You did it, that was a nuke going off in my head.
No, you shouldn't just need to add tests. The tests should have been written from the get go! You most likely won't cover all the cases. You won't know if adding the tests will break your feature, as you had none, as you refactor your untested mess in order to make your code testable.
When reading your mess of a test case and the painful mocking process you went through, I silently cry out into the void: "Why oh why!? All of this suffering could have been avoided!"
Since most of the time, your mocking pain boils down to not understanding what your "unit" in your "unit test" should be.
So let it be said:
- If you want to build a parser for an XML file, then just write a function / class whose *only* purpose is: parse the XML file, return a value object. That's it. Nothing more, nothing less.
- If you want to build a parser for an XML file, it MUST NOT: download a zip, extract that zip, merge all those files to one big file, parse that big file, talk to some other random APIs as a side-effect, and then return a value object.
Because then you suddenly have to mock away a http service and deal with zip files in your test cases.
The http util of your programming language will most likely work. Your unzip library will most likely work. So just assume it working. There are valid use cases where you want to make sure you acutally send a request and get a response, yet I am talking unit test here only.
In the scope of a class, keep the public methods to a reasonable minimum. As for each public method you shall at least create one test case. If you ever have the feeling "I want to test that private method" replace that statement in your head with: "I should extract that functionality to a new class where that method public. I then can create a unit test case a for that." That new service then becomes a dependency in your current service. Problem solved.
Also, mocking away dependencies should a simple process. If your mocking process fills half the screen, your test setup is overly complicated and your class is doing too much.
That's why I currently dig functional programming so much. When you build pure functions without side effects, unit tests are easy to write. Yet you can apply pure functions to OOP as well (to a degree). Embrace immutability.
Sidenote:
It's really not helpful that a lot of developers don't understand the difference between unit, functional acceptance, integration testing. Then they wonder why they can't test something easily, write overly complex test cases, until someone points out to them: No, in the scope of unit tests, we don't need to test our persistance layer. We just assume that it works. We should only test our businsess logic. You know: "Assuming that I get that response from the database, I expect that to happen." You don't need a test db, make a real query against that, in order to test that. (That still is a valid thing to do. Yet not in the scope of unit tests.)rant developer unit test test testing fp oop writing tests get your shit together unit testing unit tests8 -
[long]
When searching for internship via school I found this small startup with this cute project of building a teaching tool for programming. There were back then 2 programmers: the founder and the co-founder.
Then like 1 week before the internship started, the co-founder had a burnout and had to get off the project, while the company was so low on budget the founder, aka my new b0ss, had to work separate jobs to keep the company alive. (quite metal tbh)
It's funny because I'm a junior developer, 100%. I've been coding as a hobby for around 8 years now but I've never worked in a big company before. (No exception to this workplace either)
First project I get: rewrite the compiler. The Python compiler.
"But wait, why not just embed a real compiler from the first case?"
-nanananana it's never simple, as you probably know from your own projects.
The new compiler, as compared to existing embedded compiler solutions out there, needed these prime features:
- Walk through the code (debugger style), but programmatically.
- Show custom exceptions (ex: "A colon is needed at the end of an if-statement" instead of "Syntax error line 3")
- Have a "Did-you-mean this variable?" error for usage of unassigned variables.
- Be able to be embedded in Unity's WebGL build target
All for the use case of being a friendly compiler.
The last dash in the list is actually the biggest bottleneck which excluded all existing open-source projects (i could find). Compliant with WebAssembly I can't use threads among other things, IL2CPP has lots of restrictions, Unity has some as well...
Oh and it should of course be built using test-driven development.
"Good luck!" - said the founder, first day of work as she then traveled to USA for **3 weeks**, leaving me solo with the to-be-made codebase and humongous list of requirements.
---
I just finished the 6th week of internship, boss has been at "HQ" for 3 weeks now, and I just hit the biggest milestone yet for this project.
Yes I've been succeeding! This project has gone so well, and I'm surprising myself how much code I've been pumping out during these weeks.
I'm up now at almost 40'000 lines of source and 30'000 lines of code. ‼
( Biggest project I've ever worked on previously was at 8'000 lines of code )
The milestone (that I finished today) was for loops! As been trying to showcase in the GIF.
---
It's such a giant project and I can honestly say I've done some good work here. Self-five. Over-performing is a thing.
The things that makes me shiver though is that most that use this application will never know the intricates of it's insides, and the brain work put into it.
The project is probably over-engineered. A lot. Having a home-made compiler gives us a lot of flexibility for our product as we're trying to make more of a "pedagogic IDE". But no matter that I reinvented the wheel for the 105Gth time, it's still the most fun I've had with a project to date.
---
Also btw if anyone wants to see source code, please give me good reasons as I'm actively trying to convince my boss to make the compiler open-source.
Cheers!4 -
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9 -
Don't you hate it when your co-worker does dumb things, but thinks it's the "clean code" way?
The following is a conversation between me and a co-worker, who thinks he's superior to everyone because he thinks he's the only one who read the Clean Code series. Let's call him Bill.
Me: I think the feature we need is quite simple, our application needs to call this third party API, parse the response and pass it to the next step. Why do you need to bury everything under an abstraction of 4 layers?
Bill: bEcAuSe It'S dEcOuPlInG, aNd MaKe ThE cOdE tEsTaBlE
Me: I don't know man, you only need to abstract the third party api client, and then mock it if you want. Some interfaces you define makes no sense at all. For example, this interface only has 1 concrete implementation, and I don't think it will ever have another. Besides, the concrete implementation only gets the input from the upper layer and passes it down the lower layer. Why the extra step? I feel like you're using interface just for the sake of interface.
Bill: PrOgRaMmInG tO iNtErFaCe, NoT cOnCrEtE iPlEmEnTaTiOn!!!
Me: You keep saying those words, I don't think they mean what you think they mean. But they certainly do not mean that every method argument must be an interface
Bill: BuT uNcLe BoB blah blah blah...
Me: *gives up all hope*14 -
In the Ruhr area (Germany) we have some very old, very strange words with strange meanings. One of those words is ‚Prutscher‘.
A Prutscher refers to a person who does things but never gets a good result, due to lack of knowledge or simple carelessness. Most of the time, Prutschers are people who are interested in certain subjects and often work in the related jobs, but who lack the motivation to properly train themselves, learn what there is to learn and to always keep up with their technologies .
Here are a few examples I've stumbled upon so far in my career:
- Developers in their 60's who read a book about PHP 25 years ago and decided to become a software developer. Since then haven't read anything about it. Who then now build huge spaghetti monoliths for large companies, in which they prefix every function, every variable and constant with their initials and, of course, use Hungarian notation.
- People who read half a fucking tutorial about <insert any fancy js framework here> and start blogging/tweeting about it
- Senior web developers who need to be told what the fuck CORS is and who can't even recognize CORS related errors in their browser console.
- People who have done nothing else for 18 years than building websites for companies on Wordpress 1.x and writing few lines of PHP and Javascript from time to time. Those who are now applying as a frontend dev due to the difficult economic situation and are surprised that they are not accepted due to a lack of experience.
- Developers who are the only ones working on Windows in the team and ask their Linux colleagues for help when Windows starts bitchin.
- People who have been coding for 30 years, have worked with ~42 languages and don't know the difference between compiled and interpreted languages in the job interview.
- Chief developers at a large newsletter-publisher who think it's a good idea to build your own CMS (due to a lack of good existing ones, of course).
- Developers who have been writing PHP applications for multinational corporations for 25 years and cannot explain how PHP is executed. They don't even know what the fucking OPcache is, let alone fpm. FML
- People who call themselves professional developers but never ever heard of DRY, KISS, boy-scout rule, 12-Factor App, SOLID, Clean Code, Design Patterns, ...
- Senior developers wondering why the bash script won't run on their fucking Windows machine.
- Developers who consider Typescript to be a hindrance and see no value in it.
- Developers using ftp for deployments in 2022
- Senior Javascript Developer applying for a job and for whom Integer is a primitive data type in JS.
- Developers who prefer to code without frameworks and libraries because they are only an unnecessary burden/overhead and you can quickly code everything up yourself.
- Developers who think configuring their server(s) manually is a good idea.
You fucking Prutscher. What you have already cost me in terms of work and nerves. I can't even put it into words how deeply I despise you. I have more respect for the chewing gum that has been stuck in my damn trash can for the past 3 years than I do for you guys. You are the disgrace of our profession. I will haunt you in your dreams and prefix every fucking synapse of your brain with MY initials.
As a well-known german band once sang in a very fitting song: I wouldn't even piss on you if you were on fire.
If you recognized yourself in one of the examples here: FUCK YOU!29 -
NEW 6 Programming Language 2k16
1. Go
Golang Programming Language from Google
Let's start a list of six best new programming language and with Go or also known by the name of Golang, Go is an open source programming language and developed by three employees of Google and the launch in 2009, very cool just 3 people.
Go originated and developed from the popular programming languages such as C and Java, which offers the advantages of compact notation and aims to keep the code simple and easy to read / understand. Go language designers, Robert Griesemer, Rob Pike and Ken Thompson, revealed that the complexity of C ++ into their main motivation.
This simple programming language that we successfully completed the most tasks simply by librariesstandar luggage. Combining the speed of pemrogramandinamis languages such as Python and to handalan of C / C ++, Go be the best tools for building 'High Volume of distributed systems'.
You need to know also know, as expressed by the CTO Tokopedia namely Mas Leon, Tokopedia will switch to GO-lang as the main foundation of his system. Horrified not?
eh not watch? try deh see in the video below:
[Embedyt] http://youtube.com/watch/...]
2. Swift
Swift Programming Language from Apple
Apple launched a programming language Swift ago at WWDC 2014 as a successor to the Objective-C. Designed to be simple as it is, Swift focus on speed and security.
Furthermore, in December 2015, Swift Apple became open source under the Apache license. Since its launch, Swift won eye and the community is growing well and has become one of the programming languages 'hottest' in the world.
Learning Swift make sure you get a brighter future and provide the ability to develop applications for the iOS ecosystem Apple is so vast.
Also Read: What to do to become a full-stack Developer?
3. Rust
Rust Programming Language from Mozilla
Developed by Mozilla in 2014 and then, and in StackOverflow's 2016 survey to the developer, Rust was selected as the most preferred programming language.
Rust was developed as an alternative to C ++ for Mozilla itself, which is referred to as a programming language that focus on "performance, parallelisation, and memory safety".
Rust was created from scratch and implement a modern programming language design. Its own programming language supported very well by many developers out there and libraries.
4. Julia
Julia Programming Language
Julia programming language designed to help mathematicians and data scientist. Called "a complete high-level and dynamic programming solution for technical computing".
Julia is slowly but surely increasing in terms of users and the average growth doubles every nine months. In the future, she will be seen as one of the "most expensive skill" in the finance industry.
5. Hack
Hack Programming Language from Facebook
Hack is another programming language developed by Facebook in 2014.
Social networking giant Facebook Hack develop and gaungkan as the best of their success. Facebook even migrate the entire system developed with PHP to Hack
Facebook also released an open source version of the programming language as part of HHVM runtime platform.
6. Scala
Scala Programming Language
Scala programming termasukbahasa actually relatively long compared to other languages in our list now. While one view of this programming language is relatively difficult to learn, but from the time you invest to learn Scala will not end up sad and disappointing.
The features are so complex gives you the ability to perform better code structure and oriented performance. Based programming language OOP (Object oriented programming) and functional providing the ability to write code that is capable of evolving. Created with the goal to design a "better Java", Scala became one behasa programming that is so needed in large enterprises.3 -
Introduced git in work about 5 months ago, explained to my coworkers how it works, shared links to tutorials, git pro book and everything imaginable.
Almost every day I learn something new ... they keep struggling to checkout a branch or resolve some simple conflict...
I'm just tired of explaining things...
Now I just go and fix every thing and learn a lot :)8 -
Just now I realized that for some reason I can't mount SMB shares to E: and H: anymore.. why, you might ask? I have no idea. And troubleshooting Windows.. oh boy, if only it was as simple as it is on Linux!!
So, bimonthly reinstall I guess? Because long live good quality software that lasts. In a post-meritocracy age, I guess that software quality is a thing of the past. At least there's an option to reset now, so that I don't have to keep a USB stick around to store an installation image for this crap.
And yes Windows fanbois, I fucking know that you don't have this issue and that therefore it doesn't exist as far as you're concerned. Obviously it's user error and crappy hardware, like it always is.
And yes Linux fanbois, I know that I should install Linux on it. If it's that important to you, go ahead and install it! I'll give you network access to the machine and you can do whatever you want to make it run Linux. But you can take my word on this - I've tried everything I could (including every other distro, custom kernels, customized installer images, ..), and it doesn't want to boot any Linux distribution, no matter what. And no I'm not disposing of or selling this machine either.
Bottom line I guess is this: the OS is made for a user that's just got a C: drive, doesn't rely on stuff on network drives, has one display rather than 2 (proper HDMI monitor recognition? What's that?), and God forbid that they have more than 26 drives. I mean sure in the age of DOS and its predecessor CP/M, sure nobody would use more than 26 drives. Network shares weren't even a thing back then. And yes it's possible to do volume mounts, but it's unwieldy. So one monitor, 1 or 2 local drives, and let's make them just use Facebook a little bit and have them power off the machine every time they're done using it. Because keeping the machine stable for more than a few days? Why on Earth would you possibly want to do that?!!
Microsoft Windows. The OS built for average users but God forbid you depart from the standard road of average user usage. Do anything advanced, either you can't do it at all, you can do it but it's extremely unintuitive and good luck finding manuals for it, or you can do it but Windows will behave weirdly. Because why not!!!12 -
Many of you who have a Windows computer may be familiar with robocopy, xcopy, or move.
These functions? Programs? Whatever they may be, were interesting to me because they were the first things that got me really into batch scripting in the first place.
What was really interesting to me was how I could run multiples of these scripts at a time.
<storytime>
It was warm Spring day in the year of 2007, and my Science teacher at the time needed a way to get files from the school computer to the hard-drive faster. The amount of time that the computer was suggesting was 2 hours. Far too long for her. I told her I’d build her something that could work faster than that. And so started the program would take up more of my time than the AI I had created back in 2009.
</storytime>
This program would scan the entirety of the computer's file system, and create an xcopy batch file for each of these directories. After parsing these files, it would then run all the batch files at once. Multithreading as it were? Looking back on it, the throughput probably wasn't any better than the default copying program windows already had, but the amount of time that it took was less. Instead of 2 hours to finish the task it took 45 minutes. My thought for justifying this program was that; instead of giving one man to do paperwork split the paperwork among many men. So, while a large file is being copied, many smaller files could be copied during that time.
After that day I really couldn't keep my hands off this program. As my knowledge of programming increased, so did my likelihood of editing a piece of the code in this program.
The surmountable amount of updates that this program has gone through is amazing. At version 6.25 it now sits as a standalone batch file. It used to consist of 6 files and however many xcopy batch files that it created for the file migration, now it's just 1 file and dirt simple to run, (well front-end, anyways, the back-end is a masterpiece of weirdness, honestly) it automates adding all the necessary directories and files. Oh, and the name is Latin for Imitate, figured it's a reasonable name for a copying program.
I was 14, so my creativity lacked in the naming department >_<1 -
Who the fuck writes a 200 line method with 52 if/else statements, 3 try-catches, 6 loops and only 1 comment saying //Array of system records. No dipshit I thought that was a Fucking interface. What happened to the whole keep it simple notion?!5
-
* KISS (keep it super simple)
* don’t try solve a problem you don’t already have
* admit if you messed up. We can solve a problem early and minimise the damage. People should never be scared to admit when they mess up. No one is perfect.
* voice your opinion. You’d be surprised how helpful this can be to your team, as we need to look at things from all angles.
* help your team. If you see something wrong, make the team aware of it.
* ask if unsure, don’t assume8 -
I AM TIRED
warning: this rant is going to be full of negativity , CAPS, and cursing.
People always think and they always write that programming is an analytical profession. IF YOU CANNOT THINK IN AN ANALYTICAL WAY THIS JOB IS NOT FOR YOU! But the reality could not be farther from the truth.
A LOT of people in this field whether they're technical people or otherwise, just lack any kind of reasoning or "ANALYTICAL" thinking skills. If anything, a lot of of them are delusional and/or they just care about looking COOL. "Because programming is like getting paid to solve puzzles" *insert stupid retarded laugh here*.
A lot of devs out there just read a book or two and read a Medium article by another wannabe, now think they're hot shit. They know what they're doing. They're the gods of "clean" and "modular" design and all companies should be in AWE of their skills paralleled only by those of deities!
Everyone out there and their Neanderthal ancestor from start-up founders to developers think they're the next Google/Amazon/Facebook/*insert fancy shitty tech company*.
Founder? THEY WANT TO MOVE FAST AND GET TO MARKET FAST WITH STUPID DEADLINES! even if it's not necessary. Why? BECAUSE YOU INFERIOR DEVELOPER HAVE NOT READ THE STUPID HOT PILE OF GARBAGE I READ ONLINE BY THE POEPLE I BLINDLY COPY! "IF YOU'RE NOT EMBARRASSED BY THE FIRST VERSION OF YOU APP, YOU DID SOMETHING WRONG" - someone at Amazon.
Well you delusional brainless piece of stupidity, YOU ARE NOT AMAZON. THE FIRST VERSION THAT THIS AMAZON FOUNDER IS EMBARRASSED ABOUT IS WHAT YOU JERK OFF TO AT NIGHT! IT IS WHAT YOU DREAM ABOUT HAVING!
And oh let's not forget the tech stacks that make absolutely no fucking sense and are just a pile of glue and abstraction levels on top of abstraction levels that are being used everywhere. Why? BECAUSE GOOGLE DOES IT THAT WAY DUH!! And when Google (or any other fancy shit company) changes it, the old shitty tech stack that by some miracle you got to work and everyone is writing in, is now all of a sudden OBSOLETE! IT IS OLD. NO ONE IS WRITING SHIT IN THAT ANYMORE!
And oh my god do I get a PTSD every time I hear a stupid fucker saying shit like "clean architecture" "clean shit" "best practice". Because I have yet to see someone whose sentences HAVE TO HAVE one of these words in them, that actually writes anything decent. They say this shit because of some garbage article they read online and in reality when you look at their code it is hot heap of horseshit after eating something rancid. NOTHING IS CLEAN ABOUT IT. NOTHING IS DONE RIGHT. AND OH GOD IF THAT PERSON WAS YOUR TECH MANAGER AND YOU HAVE TO LISTEN TO THEM RUNNING THEIR SHITHOLE ABOUT HOW YOUR SIMPLE CODE IS "NOT CLEAN". And when you think that there might be a valid reason to why they're doing things that way, you get an answer of someone in an interview who's been asked about something they don't know, but they're trying to BS their way to sounding smart and knowledgable. 0 logic 0 reason 0 brain.
Let me give you a couple of examples from my unfortunate encounters in the land of the delusional.
I was working at this start up which is fairly successful and there was this guy responsible for developing the front-end of their website using ReactJS and they're using Redux (WHOSE SOLE PURPOSE IS TO ELIMINATE PASSING ATTRIBUTES FOR THE PURPOSE OF PASSING THEM DOWN THE COMPONENT HIERARCHY AGIAN). This guy kept ranting about their quality and their shit every single time we had a conversation about the code while I was getting to know everything. Also keep in mind he was the one who decided to use Redux. Low and behold there was this component which has THIRTY MOTHERFUCKING SEVEN PROPERTIES WHOSE SOLE PURPOSE IS BE PASSED DOWN AGAIN LIKE 3 TO 4 TIMES!.
This stupid shit kept telling me to write code in a "functional" style. AND ALL HE KNOWS ABOUT FUNCTIONAL PROGRAMMING IS USING MAP, FILTER, REDUCE! And says shit like "WE DONT NEED UNIT TESTS BECAUSE FUNCTIONAL PROGRAMMING HAS NO ERRORS!" Later on I found that he read a book about functional programming in JS and now he fucking thinks he knows what functional programming is! Oh I forgot to mention that the body of his "maps" is like 70 fucking lines of code!
Another fin-tech company I worked at had a quote from Machiavelli's The Prince on EACH FUCKING DESK:
"There is nothing more difficult to take in hand, more perilous to conduct, or more uncertain in its success, than to take the lead in the introduction of a new order of things."
MOTHERFUCKER! NEW ORDER OF THINGS? THERE 10 OTHER COMPANIES DOING THE SAME SHIT ALREADY!
And the one that got on my nerves as a space lover. Is a quote from Kennedy's speech about going to the moon in the 60s "We choose to go to the moon and do the hard things ..."
YOU FUCKING DELUSIONAL CUNT! YOU THINK BUILDING YOUR SHITTY COPY PASTED START UP IS COMPARABLE TO GOING TO THE MOON IN THE 60S?
I am just tired of all those fuckers.13 -
I believe this was the last attempt I had at doing a project for this customer before I just stopped replying to emails. I cannot emphasise enough how brutal it was communicating with this person. This was years ago. I'll keep it simple:
Customer: "Yeah so we need this page to look *exactly* like this. I've attached a picture, and I'll need this done soon because we're running a newsletter campaign soon."
Me: "Alright, I'll have it done by the end of the week." (I paid a student to do it, their work was impressive, it looked *EXACTLY* like the picture, but was now a functional web page)
*end of week*
Customer: "This is too exact!! I was hoping you guys would have some creativity, and have it do this and that!"
Me: "You said exact, we made it exact. I can do additional work to it."
Customer: "Well, we're not paying for additional work!!"
I left it at that.6 -
Not necessarily ignorant, but funny.
Before my current job I used to work for a company that provided software services to logistic type corporations, import export and all that jazz.
I was asked to generate an admin interface that would allow people to enter scans from different products, sort them in the right place and update the main interface. During the time we were using Classic ASP with VBScript. There, AJAX and similar functionality can get quite tricky, but definitely doable if you know what you are doing, VBScript has many limitations when compared to something like PHP for example. But thus the application was created in about a week once everything was sorted and then the storage manager came back to ask me if I could put a spinner or something in it to show that the information was loading. I asked him if the information was not being updated accordingly or if there were similar issues to that extent.
He said "no, it is working perfectly and I have no problem with the functionality, but these morons keep trying to scan shit because they can't tell if something is being populated into the main table in the interface because it all happens so quickly" Me: "well it is a very simple process, if you want I can add some sort of additional message to that or a spinner or something of the like that would show for two seconds or something, just so they can get some visual clarification"
Him: "This is a pretty stupid thing isn't it?". Me: Yes. Him: "I am so sorry to ask for this, how long will it take you?" Me: "Lol give me about 30 mins maybe less, it is no problem really, let me get this out of the way so that your people can get to it without loosing anymore time"
Such things are the reason why they literally brought me to the head of the company when I told them that I was leaving in an effort for him to try and convince me to stay. I was not to be contracted into their service anymore, but a full time employee. It was nice for them to ask really, but I declined in favor of the benefits I get from my current company.
To this day I think its funny and they remember as well.7 -
So I am getting back into game dev. I keep going back and forth about making a 2D or 3D rpg. Maybe I will end up making a mix.
I also want to make customizable characters in game. I found a decent solution for 2D. An artist is making 2D sprites that allow things to be overlaid. Each component has animations. I can layer sprites and animate them in sync to keep all the pieces moving together.
For 3D this journey of what is possible is a lot longer I think. It is hit or miss finding generic 3D characters with build in morphing. I want to be able to change the body for customization. I think I will have to relearn how to 3D model. As I learn what kind of model I need I am also learning what it takes to do this in Blender. And holy hell, Blender is so amazing now! The stuff I can do easily is staggering. You can sculpt a mesh using sculpting tools. Then do a remesh of that to make a more easily animateable mesh. No remeshing by hand, other than installing a plugin. There are a bunch of plugins that you can buy too. I found one for free that looks promising. But the paid ones are not that bad either. Between $25 to $100 depending upon source, license, and features.
However, being a programmer I want to figure out how to generate 3D and 2D models. There is code out there to do this, but I wonder what the learning curve is on that. The engineer side of me wants to be able to model the shape of humanoids and then auto skin that. I think I will start with modeling a few by hand to learn the way it should work. I want a simple anime look. I did find info on automating face rigs and body rigs. Oh the tools we have now!
Anyway, I am having fun.15 -
The story of how I got my dream job.
I was working for a company with a job I got just after graduating university. It was ok, not very exciting tech but I learned a lot by just surrounding myself with professional code monkeys. I was there for about a year when my company bought parts of another company and there was talk about people getting fired. This made me worried since I was the last one to get hired, so I started looking around for other jobs. I received this e-mail from a company saying they were looking for interns, what a coincidence! I adjusted my CV and sent it in.
--A few weeks pass--
It's Friday and I'm at a dinner party, it's 10pm and someone is calling me. I pick up and it's a recruiter from this company. I get very nervous but the alcohol helps me keep my cool, I pass the initial idiot test and they invite me for an interview. Yay!
I go to work on Monday and in a 1-on-1 and I tell my boss about the upcoming interview, he gives me a high-five :)
The interview is approaching and I'm feeling that I'm about to get sick, I refuse to believe this so I start taking a lot of medicine (painkillers, cough medicine etc.). I feel a bit better and thank the gods for medication.
--D-day--
I wake up, put on my nicest clothes and get on the train. I had one hour to spare just in case, which was well needed because the fucking train is late by 30 minutes. I'm still heavily medicated because of my ongoing fever. When I arrive I basically have to run there and somehow I manage to pick up a coffee on the way there which I devour in two seconds. I'm ready for the interview!
Some guy meets me in reception and the first thing he says is "My colleague doesn't speak our language so we'll have to speak english". This is fine, I speak good english but I was not prepared for this so it caught me off-guard and made me even more nervous. We get in and start talking. Things are going OK despite my numbed brain. I try to make eye-contact to make a good impression with the foreign engineer but he keeps staring somewhere which is making me nervous.
We get to the technical part on a whiteboard and this is where my brain decides to stop communicating. I'm presented a simple task which I'm struggling with finishing, and I feel the embarrassment coming over me. "NOOOOO THIS IS MY DREAM JOB, THIS CANNOT BE HAPPENING!" I'm thinking to myself. After making myself look like a complete arsehole for some time we wrap it up and just before I step out the door I say to the engineer "You should checkout my Github page, I have lots of interesting stuff there" and he says "I'll be sure to do that" but I don't believe him.
I leave the office in fury (of myself) and make my way to the train station and even though it's the middle of the day I quickly devour two beers to calm my nerves and make me feel a bit better. I was so damn disappointed in myself, I wasted the opportunity of a lifetime! I go back home to my regular (now shitty) job.
--Two days later--
I get a call from an unknown number. I pick up the phone and it's the same recruiter guy. "So how did you think it went?" he says. "To be honest, I think it went really bad", I replied. "What? Really? Because they loved you, you got the job". (this was an obvious recruiter lie) "... wat, are you sure you called the correct person?" I said and he just laughed. The day after I quit my old job the whole department gets fired - such impeccable timing.
--A few months later--
I finish my internship and they want to keep me. I'm so happy. The engineer that was in the interview works on my team. I ask him "Why did you hire me? You know as well as I do that my interview was horrible". It turns out he _did_ look at my Github profile and that's how he knew I could write code. I also heard later that for my position there was about 2000 applicants and somehow I made the interviews.
I still work there today and I couldn't be happier (Sorry for the long text).3 -
My very first staggering steps with programming were made with Basic, and commands like INPUT that allowed me to create simple text adventures. As silly as it might sound, my biggest hurdle was to figure out how to make realtime action games, reading input from any sort of user device (using GET and JOY) without waiting for input, and designing game cycles in such way that they gave the impression of multitasking (keep in mind there was no such thing as threads). These machines and the Basic interpretor were extremely slow so making anything move a little...er...smoothly, let alone creating a game, was a challenge in itself.24
-
How could I only name one favorite dev tool? There are a *lot* I could not live without anymore.
# httpie
I have to talk to external API a lot and curl is painful to use. HTTPie is super human friendly and helps bootstrapping or testing calls to unknown endpoints.
https://httpie.org/
# jq
grep|sed|awk for for json documents. So powerful, so handy. I have to google the specific syntax a lot, but when you have it working, it works like a charm.
https://stedolan.github.io/jq/
# ag-silversearcher
Finding strings in projects has never been easier. It's fast, it has meaningful defaults (no results from vendors and .git directories) and powerful options.
https://github.com/ggreer/...
# git
Lifesaver. Nough said.
And tweak your command line to show the current branch and git to have tab-completion.
# Jetbrains flavored IDE
No matter if the flavor is phpstorm, intellij, webstorm or pycharm, these IDE are really worth their money and have saved me so much time and keystrokes, it's totally awesome. It also has an amazing plugin ecosystem, I adore the symfony and vim-idea plugin.
# vim
Strong learning curve, it really pays off in the end and I still consider myself novice user.
# vimium
Chrome plugin to browse the web with vi keybindings.
https://github.com/philc/vimium
# bash completion
Enable it. Tab-increase your productivity.
# Docker / docker-compose
Even if you aren't pushing docker images to production, having a dockerfile re-creating the live server is such an ease to setup and bootstrapping the development process has been a joy in the process. Virtual machines are slow and take away lot of space. If you can, use alpine-based images as a starting point, reuse the offical one on dockerhub for common applications, and keep them simple.
# ...
I will post this now and then regret not naming all the tools I didn't mention. -
After a few weeks of being insanely busy, I decided to log onto Steam and maybe relax with a few people and play some games. I enjoy playing a few sandbox games and do freelance development for those games (Anywhere from a simple script to a full on server setup) on the side. It just so happened that I had an 'urgent' request from one of my old staff member from an old community I use to own. This staff member decided to run his own community after I sold mine off since I didn't have the passion anymore to deal with the community on a daily basis.
O: Owner (Former staff member/friend)
D: Other Dev
O: Hey, I need urgent help man! Got a few things developed for my server, and now the server won't stay stable and crashes randomly. I really need help, my developer can't figure it out.
Me: Uhm, sure. Just remember, if it's small I'll do it for free since you're an old friend, but if it's a bigger issue or needs a full recode or whatever, you're gonna have to pay. Another option is, I tell you what's wrong and you can have your developer fix it.
O: Sounds good, I'll give you owner access to everything so you can check it out.
Me: Sounds good
*An hour passes by*
O: Sorry it took so long, had to deal with some crap. *Insert credentials, etc*
Me: Ok, give me a few minutes to do some basic tests. What was that new feature or whatever you added?
O: *Explains long feature, and where it's located*
Me: *Begins to review the files* *Internal rage wondering what fucking developer could code such trash* *Tests a few methods, and watches CPU/RAM and an internal graph for usage*
Me: Who coded this module?
O: My developer.
Me: *Calm tone, with a mix of some anger* So, you know what, I'm just gonna do some simple math for ya. You're running 33 ticks a second for the server, with an average of about 40ish players. 33x60 = 1980 cycles a minute, now lets times that by the 40 players on average, you have 79,200 cycles per minute or nearly 4.8 fucking cycles an hour (If you maxed the server at 64 players, it's going to run an amazing fucking 7.6 million cycles an hour, like holy fuck). You're also running a MySQLite query every cycle while transferring useless data to the server, you're clusterfucking the server and overloading it for no fucking reason and that's why you're crashing it. Another question, who the fuck wrote the security of this? I can literally send commands to the server with this insecure method and delete all of your files... If you actually want your fucking server stable and secure, I'm gonna have to recode this entire module to reduce your developer's clusterfuck of 4.8 million cycles to about 400 every hour... it's gonna be $50.
D: *Angered* You're wrong, this is the best way to do it, I did stress testing! *Insert other defensive comments* You're just a shitty developer (This one got me)
Me: *Calm* You're calling me a shitty developer? You're the person that doesn't understand a timer, I get that you're new to this world, but reading the wiki or even using the game's forums would've ripped this code to shreds and you to shreds. You're not even a developer, cause most of this is so disorganized it looks like you copy and pasted it. *Get's angered here and starts some light screaming* You're wasting CPU usage, the game can't use more than 1 physical core, and after a quick test, you're stupid 'amazing' module is using about 40% of the CPU. You need to fucking realize the 40ish average players, use less than this... THEY SHOULD BE MORE INTENSIVE THAN YOUR CODE, NOT THE OPPOSITE.
O: Hey don't be rude to Venom, he's an amazing coder. You're still new, you don't know as much as him. Ok, I'll pay you the money to get it recoded.
Me: Sounds good. *Angered tone* Also you developer boy, learn to listen to feedback and maybe learn to improve your shitty code. Cause you'll never go anywhere if you don't even understand who bad this garbage is, and that you can't even use the fucking wiki for this game. The only fucking way you're gonna improve is to use some of my suggestions.
D: *Leaves call without saying anything*
TL;DR: Shitty developer ran some shitty XP system code for a game nearly 4.8 million times an hour (average) or just above 7.6 million times an hour (if maxed), plus running MySQLite when it could've been done within about like 400 an hour at max. Tried calling me a shitty developer, and got sorta yelled at while I was trying to keep calm.
Still pissed he tried calling me a shitty developer... -
bro just learn C bro I promise it's all smooth sailing bro haha lol just take up HTML with CSS bro its a piece of cake bro what bro lol just start coding up differential equations with numpy library haha its so simple bro just start with Ruby bro it will take only couple days bro what lol bro take this aeronautical course on how to code an airplane simulation bro its so simple bro just start algorithms on cryptography bro its so easy i cant bro just start writing drivers for printers bro haha lol just start writing a bootloader for a new Linux distro bro lol haha easy bro just make a billion dollar company bro haha its so simple.
keep going bro haha invent your own JS framework over a billion existing ones haha bro typescript is so easy bro lol what u say take up redis bro go from the first command bro learn mongodb and mysql together bro its so simple.
but bro don't try to master JS bro .. u will regret it forever bro.6 -
If you are working on multiple projects a great tool to make you very productive and keep organized is a simple checklist.
For many years I have jotted one down each and every morning listing what I want to accomplish that day. I even include simple items. Crossing each task out as I complete it gives me a sense of accomplishment.
Checklists have enabled me to complete projects at work and many free and commercial side projects including software and technical books.
Do you use checklists? If there is a particular type you like?15 -
Okay. For fuck sakes, writing complex code that's meant to handle "everything" and is "super generic" can be a fuck up. Like just keep shit simple. THAT is the show of great and impressive work. Over engineering is not it. Yes your shit works and yes your shit is fancy but was it needed? How long did it even take you for this over kill? How long will it take the next person to understand or not.
Someone now has to sit and run through your shit to get what you were doing. Instead of just being able to look and once and have it all figured out.
Keep things simple.
Lost 2 hours on bullshit 🤬4 -
A few months passed. Still jobless. I am a php dev btw. In stead of giving up. I made a simple app allows people vote up and down restaurants I Melbourne Australia. https://melres.shopshop.space. I learn a lot about nodejs, react, redux, express, mongo, nginx, Ubuntu. I apply for nodejs job, IT support, DevOps, API job, backend job. All got rejected. Due to experience and competiton. I even ask I can work for DevOps for free. Still no reply. In stead of giving up, I keep learning, doing the thing I love. Focus on learn how to learn. Day in and day out. Hopefully it gets better.5
-
Has been a long time since I'm appreciating working with GRPC.
Amazingly fast and full-featured protocol! No complaints at all.
Although I felt something was missing...
Back in the days of HTTP, we were all given very simple tools for making requests to verify behaviours and data of any of our HTTP endpoints, tools like curl, postman, wget and so on...
This toolset gives us definitely a nice and quick way to explore our HTTP services, debug them when necessary and be efficient.
This is probably what I miss the most from HTTP.
When you want to debug a remote endpoint with GRPC, you need to actually write a client by hand (in any of the supported language) then run it.
There are alternatives in the open source world, but those wants you to either configure the server to support Reflection or add a proxy in front of your services to be able to query them in a simpler way.
This is not how things work in 2018 almost 2019.
We want simple, quick and efficient tools that make our life easier and having problems more under control.
I'm a developer my self and I feel this on my skin every day. I don't want to change my server or add an infrastructure component for the simple reason of being able to query it in a simpler way!
However, This exact problem has been solved many times from HTTP or other protocols, so we should do something about our beloved GRPC.
Fine! I've told to my self. Let's fix this.
A few weeks later...
I'm glad to announce the first Release of BloomRPC - The first GRPC Client GUI that is nice and simple,
It allows to query and explore your GRPC services with just a couple of clicks without any additional modification to what you have running right now! Just install the client and start making requests.
It has been built with the Electron technology so its a desktop app and it supports the 3 major platforms, Mac, Linux, Windows.
Check out the repository on GitHub: https://github.com/uw-labs/bloomrpc
This is the first step towards the goal of having a simple and efficient way of querying GRPC services!
Keep in mind that It is in its first release, so improvements will follow along with future releases.
Your feedback and contributions are very welcome.
If you have the same frustration with GRPC I hope BloomRPC will make you a bit happier!3 -
Google Business Profile is probably not meant for developers. "Help customers find your business by industry." Dev: set primary category to "Web Developer". Google: We didn't understand your category. Please select from the suggestions that appear when typing. Dev, typing: "Web D"... Google suggests: "Web Designer, Web hosting company, Well drilling contractor, Waterbed shop". Okay, Google, nevermind.
Google: "Update your customers. Keep your customers up to date about your business!" Dev clicks "add update", adds info about that customer should use different phone number temporarily due to broken phone. Google: "Your post has been removed from your Business Profile on Google because it violates one or more of our post content policies." Okay Google, at least you let me add an additional phone number on my profile without requiring to verify my primary number that I currently have not access to. Anything else?
Google: "Claim your €400 free advertising credit" Dev: clicks "claim credit" Google: "To access this Google Ads account, enable 2-Step Verification in your Google account." How to combine idiocy and deceptive patterns in a single UI: Google knows! Apart from their search engine, their unique business advantage is simple that they suck a little less than Apple and Microsoft. Sorry, not a day to be proud of our profession, once again.5 -
Why the hell do I have to keep showing everyone on my team how to use git. Learn it God dammit!!! Is not that hard. How come you freak out on a simple conflict? Why don't you delete your fucking merged branches?5
-
Alright lads here is the thing, have not been posting anything other than replies to things cuz I have been busy being miserable at school and dealing with work stuff.
Our manager left us back in February. Because she was leaving I decided that I wanted to try a different path and went on to become a programmer analyst for my institution, if anything I knew that it was going to be pretty boring work, but it came with nice monetary compensation and a foot in the door for other data science related jobs in the future. Thing is, the department head asked me to stay in the web technologies department because we had a lack of people there and hiring is hard as shit, we do not do remote jobs since our work usually requires a level of discretion and security. Thus I have been working in the web tech department since she left albeit with a different title since I aced the interview for the analyst position and the team there were more than happy to have me. I have done very few things for them, some reports here and there and mostly working directly with the DBA in some projects. One migration project would have costed my institution a total of 58k and we managed to save the cost by building the migration software ourselves.....honestly it was a fucking cake walk, if you had any doubts about the shaddyness of enterprise level applications regarding selling overpriced shit with different levels of complexity, keep them, enterprise is shaddy af indeed. But I digress.
I wrote the specification for the manager position along the previous manager, we had decided that the next candidate needed to be strong with development knowledge as well as other things as to properly understand and manage a software team, we made the academic requirement(fuck you, yes we did ask for academic requirements) to be either in the Computer Science/software engineering area or at least on the Business Administration side. We were willing to consider BA holders in exchange for having knowledge of the development process of different products and a complete understanding of what developers go through. NOT ONE SINGLE motherfucker was able to satisfy this, some of them were idiots that I knew from before that had ABSOLUTELY no business even considering applying to the position, the courage it took for some of these assholes to apply would have hurt their mothers, their God if they had one, and their country, they were just that fucking bad in their jobs as well as being overall shit people.
Then we had 1 candidate actually fall through the cracks enough to get an interview. My dude here was lying out of his ass through the interview process. According to him he had "lots of Laravel experience and experience managing Laravel projects" and mentioned repeatedly how it would be a technology that we should consider for our products. I was to interview him alongside the vice president of our institution due to the head of my department and the rest of the managers for I.T being on vacation leave all at the same bloody time.
Backstory before the interview:
Whilst I was going over the interview questions with the vice president literally offered me the job instead. I replied with honesty, reflecting how I did not originally wanted him but feeling that our institution was ready to settle on any candidate due to the lack of potentials. He was happy to do it since apparently both him and the HOD were expecting me to step up sooner or later. I was floored.
Regardless, out of kindness he wanted to go through the interview.
So, going back to the interview. As soon as the person in question referenced the framework I started to ask him about it, just simple questions, the first was "what are your thoughts on the Eloquent ORM? I am not too fond of it and want to know what you as a full time laravel dev think of it"
his reply: "I am sorry I am not too familiar with it, I don't know what that is" <--- I appreciated his honesty in this but thought it funny that someone would say that he was a Laravel developer whilst not knowing what an ORM was since you can't really get away from using it on the initial stages of learning about Laravel, maybe if one wanted to go through the hurdle of switching to something like doctrine...but even then, it was....odd.
So I met with the hod when he came back, he was stoked at the prospect of having me become the manager and I happily accepted the position. It will be hell, but I don't even need to hit the ground running since I have been the face of the department since ages. My team were ecstatic about it since we are all close friends and they have been following my directions without complaints(but the ocational eat a dick puto) for some time, we work well together and we are happy to finally have someone to stop the constant barrage that comes from people taking advantage of a missing manager.
Its gonna get good, its gonna get fun, and i am getting to see how shit goes.7 -
Just got an amazing lecture by text from a university mentor of mine on some of the coolest shit to do with cat in linux, and why you can do things like open a shell with cat /bin/sh (or in my case, use it to stall a program and keep open a shell in a simple buffer overflow task).
God bless all you mentors out there who take the time to explain exactly how all this stuff works. It feels so good to have an idea on the mechanisms on "WHY" something works, not just that it does and that you should use it. As someone new, it makes all the difference.5 -
> phone has OEM unlock disabled
> phone is vulnerable to like 300 race conditions
> reboot phone, get to menu as fast as possible
> sure enough, what do you fucking know, option is unblocked for a split second if I get to and open the dev settings perfectly
> manage to pull it off again
> SETTING STAYS ON AFTER REBOOTING we have ourselves a winner
it's never this easy, i have yet to check if it has a key or not, will keep you posted, but if this all works this will have been the most retardedly-simple unauthorized bootloader unlock ever5 -
Project in college, many moons ago.
Team is building a robot for a project. Nothing too crazy, it does some simple tasks like walk along a path and shit.
3 weeks for the project. 3 team members.
The largest graded part of the project is the ability to follow a path based on vision.
The 3rd member INSISTS on doing that part, he says “I want to prove to the professor that I am the smartest in the class so he helps me get a work term.”
Of course, my other partner and I see this as the complete selfishness of a child who will never be employed anywhere worth talking about anyways. He is a big asshole about it and we end up giving in.
## Week 1
We get our parts done (working together the way a team would) without his help.
He struggles, hits walls, complains. You know, dumbass grown child stuff...
## Week 2
We offer to help since we are done. He refuses. The teacher sees all of this and doesn’t like it at all.
After class the 2 of us go to the teacher and let him in on the details. The guy insisted, he is struggling and will not take help etc.
Teacher goes and talks to him and tells him it is a team project for a reason and that we should be helping. He says yes.
Then he misses the rest of the classes that week and send an email saying...
“Since everyone decided to keep interrupting me and breaking my train of thought, I could not get anything done in class. Therefore I will be staying home to finish the project from there.”
And to top it off, he didn’t even take home the robot’s connectors he needed to do the damn thing. Haha.
## Week 3
We know he wasn’t going to get it done, so we approached the teacher. We make it clear that we have done all we can and that we are not ok with losing marks because of this.
Since we are both good students that he likes, he decides to give us an option.
You can take a 50% on his part even if he doesn’t get it done (for trying to help) or we can do it ourselves and he won’t get the marks if he doesn’t finish.
## Night before
We say fuck it and do the thing.
In fact, since we were learning Java at the time we decided to do it in Java. Our other prof sees us playing with robots and gets excited, he stays with us and suggest improvements.
In the end we rewrite all 3 robot functionalities in Java and hand in the project the next day.
## The day of
Partner 3 comes into class and says this...
“That walking path part is impossible, I didn’t get it done, but I bet nobody else did either. So at least we will get a 60% on the other 2 parts!” (With a big shit eating grin)
Prof calls our group up. We walk up and the prof looks at the 3rd guy and says.
“Since you have decided to do your part alone, we will have you present your part alone at the end of the groups”
He tries to say something but the prof cuts him off and tells him to sit down.
We show all of our code and the robot does everything perfectly.
Groups go by, now it’s that guys turn.
He says that the walking part was impossible but seems to realize right away that he just saw EVERY other group get it working.
The teacher ask him to stay after class.
## Result
We got a 98 (prof said he was hoping we would have done in VB like asked but he liked the result a lot).
Other guy gets a 5% for his non-working spaghetti code on 0s on the other 2 sections. He blames us, of course.
Bonus Content:
That same asshat above once said this to me...
“I don’t indent my code so that if I work for a company and no one else can understand the code then I am unfireable!”
Yes, he wrote all code like this...
const Example = () => {
Stuff
More stuff
For() {
Stuff
If() {
Stuff
}
}
}
Fuck that guy🖕🏽3 -
!rant
Medium long story about POP!_OS
TL;DR : A true K.I.S.S. OS. Very well designed UI. In general suitable for everyone. Any distro-hoppers MUST try out. If your current OS is already heavily customized to your needs, DON'T bother with POP. (Read till the end if you are on toilet, nothing to lose)
Backstory : I am never a fanboy of anything although I am loyal to the tools I use daily. So OS is also something I picked and use to meet my needs except when I was a student. My first linux experience was about a decade ago with ubuntu. Have tried almost all kinds of light-weight and minimal distros after that (lubuntu, arch, mint, puppylinux, fedora, centos and others I forgot) during my student years.
I like all things minimal. ("Keep It Simple Stupid" is my email signature.) When I started working, Windows became the sole OS I use since it met my needs better than others. Except that one time when I tried Elementary. Although I found it a good OS, it didn't get installed as a dual-boot. I don't find Elementary minimal. It is one of well designed OSs but I still think it can be improved. (Plus I had this weird feeling that it is similar to Mac OS)
At the start of this year, Widows alone was not enough for my needs. Decided to look for a minimal linux distro. My old i7 ASUS has 8GB RAM and roughly 250GB free storage. So I am not that worried about hardware requirements. My main struggle is downloading stuffs. (Few of you guys must know by now the speed of my internet LOL.) Well, even if I had a good speed, I will still look for minimal distro as first priority. So I went with minimal ubuntu image and xubuntu environment. Although I do not like the UI design, it is acceptable. Through out the years, I have configured it to suit my needs and currently pretty happy with it.
Thoughts on POP!_OS : To me, it is literally like meeting a young girl who is perfect for my life. She has the perfect body, beautiful face, amazing appearance and good manners. And she is young, of course there is a lack of experience issue. But it can be taught and she has a very high chance to become a wonderful lady if she continues like this. Only crap is I already have someone and in a committed relationship. So I could not go any further than introduction. I do save her contact and will keep in touch with her online. You know? Things change. Things always change somehow.2 -
I have a VP constantly harassing my people about some reports that we need to do as per federal law.
The thing is, these live inside of such system that I get to see exactly how many "hits" they get on a yearly basis. The only traffic we have on those sections is of people going ahead and putting the information from our reports there.
That's it, literally. Our user base does not go there. Federal agencies do not go there. No one gives two blips of shit about those sections. Yet she continuously acts like they are the most important thing in the fucking world. To make it better, I was told not to generate actual analytical data from said reports, since people with PHDs will come down on me to ask me who the fuck do I think I am from gauging them with such systems. So shit is a mute point on all fucking accounts.
I told my VP I can generate traffic information to let them know that shit is not really the most important thing in the fucking universe. His eyes glowed.
I don't want to see head rolls, but from staying till the next morning awake trying to give the best to our userbase, and just to be called out on shit like this as if I did not do enough for our people just.....well....it fucking hits man.
The worse part was me literally getting 30 minutes of sitting down after an all nighter, doing something for my users, to get to a meeting the next morning (I should not have driven there honestly) to hear this bitch complain about us not doing enough or not caring or whatever other bullshit she would spew.
I was livid, lack of sleep makes me dangerous. I turned to say something when my boss stopped me and took care of business. I seriously love this man. By all accounts and generational gaps a boomer, but one of the few good golden ones.
I just hate how unappreciated the realm of software development is by people that think that our shit is as simple as making a fucking powerpoint presentation.
Consolidate that with a director from another department taking all fucking glory during a major event of an application that I built by myself with 2 fucking weeks of no sleeping. And shit just gets glorious.
I have considered moving to other places, and heck, have gotten amazing offers, what with having a degree with a big fucking GPA and having the credentials of a senior, lead, full stack and manager role, the sky is the limit. But i know that if I leave then my users suffer, and I just can't fucking have that.
I have heard them speaking about doing something with X app that I built (with my department) I have even heard one of them saying "how is this made?" and a part of me hoped that it would be a good time to grab them and tell them of the field and the things that they can do. But I don't like announcing myself that way, always seemed to presumptuous, so I just smile, fuck yeah, my users are doing their thing with what I built to better their lives, what more can I have?
I have gotten criticisms from them, one recognized me, told me about his pain points and how it makes it hard for him to do what he must. Getting the data from the user base in an effort to make shit better for them drives me, my challenge being "how about this? better eh?"
But fucking execs man, think only of themselves, not the users, they forget about the users. Much like a shitty rock band forgetting about the music, about the fans.
I can't let that slide. But this fucking field. I sometimes fucking hate it, and I hate it because of the normies that don't understand and do not want to understand.
I do way too much, my guys do way too much and all I want is for the recognition to go to them. They do not need the ego boost, but to see my guys sitting in a meeting in which some dumb fuck is trying to drill us for taking to long, not doing something and what not, it fucking pisses me off. As their boss I always stand up and tell bitches off, but instead of learning, the bitches just keep pressing on their already defeated points.
Everything in human life gets fucking erradicated by: humans. People really do fucking suck.
I sometimes wish to go back, redo my diesel tech license and just work there, where I think one would be better of talking to an engine. But no, even then you get people, you have to interact with people, deal with people, and I am so far up my game and in my field that starting from scratch is a fucking mute point.
Maybe I need to keep fucking with stocks, get rich and just keep investing on bullshit. Whatever the fuck it takes me from having to feel the urge to choke a motherfucker in public.1 -
Every single stakeholder in my company tells me that I should be working on something different, every time I talk to them. For example - we've got some issues, that I've ranted on previously. I go to my manager, and tell him that it's going to take longer than I'd hoped, because the author of this part of the codebase wasn't familiar with functional programming or OOP, didn't document anything, and just generally produced an unmaintainable, borderline indescribable mess. The next guy after him made it all so much worse, because they're both a couple of tryhard douchebags, and I hope they fucking die. For real. I hope fire ants are involved.
Anyway, getting carried away there, whew. So I tell my manager that we'd be further ahead just replacing the code, because it's only doing a couple of things, and should not be so complex. He says "cool, but what you really need to be doing is rebuilding this other thing." So I switch gears and work on that other thing until I hit a point that requires the input of another stakeholder. I go to talk to this guy, and all hell breaks loose "why are you working on that, this is higher priority", and I explain the sequence of events. Manager denies having said what he said, I look like an asshole, yet again. Then the old "this should be simple, just change this" from the dudes who don't know code, and don't want to know. I try to explain, offer to show them precisely why their "simple ask" is anything but, but they just start screaming about how they hate technology. Yeah, well me fucking too. I keep hearing about how much "job security" I have, but man I'm going to lose my mind at this rate. I have seventeen motherfucking things that are "emergencies", and as many fucking dumb ass unintuitive workflows to go through to get them changed. All on production, because this place is fucking stupid. Just let me discard this shitty legacy code and be done with it already. FUCK.
Thank fucking fuck it's friday. In about six, seven hours, my goal is to be so fucking wasted that I can't feel my face. Get drunk, play with the dog, install a new distro on the desktop, maybe play a little guitar (the guitar is normal sized. It's not a ukulele or anything). Perfect friday night.9 -
There are a couple of them to list! But to sum my main ones(biggest personal heroes):
John McCarthy, one of the founding fathers of Artificial Intelligence and accredited with coining such term(sometimes before 1960 if memory serves right), a mathematical prodigy, the man based the original model of the Lisp programming language in lambda calculus. Many modern concepts that we have in programming where implemented in one way or another from his systems back in the day, and as a data analyst and ML nut.....well I am a big fan.
Herb Sutter: C++ programmer extraordinaire. I appreciate him more for his lectures and published articles than anything else. Incredibly smart and down to earth and manages to make C++ less intimidating while still approaching it with respect.
Rich Hickey: The mastermind behind Clojure, the Lisp dialect for the JVM. Rich is really talented and his lectures behind his motivations and reasons behind everything he does with Clojure are fascinating to see.
Ryan Dahl: Awww shit y'all know how it is. The man changed web development both in the backend and the frontend for good. The concept of people writing their own servers to run their pages was not new, but the Node JS runtime environment made it more widely available to people by means of a simple to use language that was already popular with web developers. I would venture to say that Ryan's amazing contributions to JS made the language better, as it stands, the language continues to evolve and new features that make it overall better keep being added. He is currently building Deno, which would be a runtime environment for TypeScript, in Rust.
Anders Hejlsberg: This dude was everywhere man....the original author of Turbo Pascal and the lead of Delphi back in the day. These RAD tools paved the way for what would be a revolution in the computing world. The dude is also the lead architect and designer of the C# programming language as well as TypeScript.
This fucker is everywhere and I love it.
Yukihiro "Matz" Matsumoto: Matsumoto san is the creator of the Ruby programming language. Not only am I a die hard fan of Ruby, but of the core philosophies that the man keeps as the core of his language design: Make the developer happy, principle of least surprise. Also I follow: minswan which is a term made by the Ruby community that states Mats is nice so we are nice. <---- because being cool to others is better than being a passive aggressive cunt.
Steve Wozniak: I feel as if the man does not get enough recognition...the man designed the Apple || computer which (regardless of how much most of y'all bitch and whine) paved the way for modern micro computers. Dude is also accredited with designing one of the first programmable universal remotes(which momma said was shitty) but he did none the less.
Alan Kay: Developed Smalltalk and the original OOP way of doing things. Smalltalk as a concept is really fucking interesting. If you guys ever get the chance, play with Pharo, which is a modern Smalltalk. The thing is really interesting and the overall idea of Smalltalk can be grasped in very little time. It sucks because the software scales beautifully in terms of project building, the idea of hoisting a program as its own runtime environment and ide by preserving state through images is just mind blowing to me. Makes file based programs feel....well....quaint.
Those are some of the biggest dudes for me. I know that the list is large, but I wanted to give credit to the people that inspired me the most. Honorary mention goes to other language creators and engineers of course, but it would be way too large to list!9 -
Keep it simple, but at the same time try to build it so that any known or unknown future change can be easily implemented. Do not block your future.1
-
I'll give you a few reasons to walk away from a dev's chair:
1. if you want your life to be simple and not challenging, if you just want to go with the flow - choose something else. Dev's life will definitely bring some challenges to your day (and sometimes night, and sometimes - your weekends). Especially if you feel you are a perfectionist, dev life could turn your life into a living hell if not handled with care.
2. If you like to see people smiling, if you love that feeling when you help someone and that someone has a better day thanks to you - choose something else. 1st line SD would probably do, but the further from technology you go - the more smiles (and human faces overall) you'll see.
3. If you prefer person-to-person interaction over to talking to machines - definitely don't be a dev. Go to management, administration or smth else, but development. >90% of the human interaction in this field is arguments and conflicts; ~8% are requests for assistance, and the remaining 2% are shared by saying "hi" to the office administrator and your (semi|)annual reviews with your manager. Not kidding.
4. If you have a personality where you find it difficult to stand your ground and not budge to the pressure/blame game/your managers asking you to stay in late. Like it or not, it happens quite often. Many devs have spoiled the management by budging to their requests/demands to stay for OT/unpaid OT to "fix the mess they have made". That's a blame game right there. And these people stay in and do what the slaves do - work for free because they are yelled at. And then management sees this technique work and (ab|)uses it on other devs. If you can say NO and stick to it, prolly wave with some printed paragraphs of labour law in front that manager's nose - it won't be a problem. But if your consciousness is too troubling - stay away from this field of engineering.
5. If you want to easily "disconnect" from work and go do something else - dev's career might be a problem. Yes, your computer might be shut down/hibernated/suspended after 5pm until 9m the next morning, but your brain will most likely keep trying to solve the problems you were facing. You'll prolly use your own computer to do some research, check some forums, docs, etc. - this is all your free time, this is all your family time donated to your manager (and to your personal knowledge base). Not to mention, all these things you learn will soon enough become obsolete, as new technologies will replace them. So if you'd like to easily "disconnect" after 5pm, doing that as a dev might be too challenging.1 -
I'm finally writing unit tests consistently thanks to a simple file organization decision.
I'm not doing pure TDD, but at least I'm writing the tests immediately after writing a module, and I make sure they run ok.
What I'm doing is Instead of putting the test files in a "tests" dir at the root of the project, I have the tests right next to the source code.
So if I have a dog.x file, I also have a dog.test.x file next to it.
I'm not inventing gunpowder here. I've seen several people do this.
But it's something that is not generally made a default or advised to do.
Like I said; test frameworks in general go with the classic "tests" dir.
But for me this is day and night in whether I write the tests or not.
Which makes sense. Imagine the classic scenario of the "tests" dir, and you just created a file deep into a hierarchy, let's say src/lib/console/windows/dog.x
This means that if you want to write tests for that, you need to make sure the hierarchy tests/lib/console/windows/dog.test.x exists
If the test file already exists, but you want to access both files, you need to traverse deep for each.
Also, it's actually harder to keep track which files have unit tests and which do not.
Meanwhile, if the test files are next to the source, all these problems disappear.
That doesn't mean there are no other challenges with testing, like testing untestable things, like system calls or http requests, but there are ways to deal with that. -
DevFolio
This is a simple responsive portfolio website template. You can use it and make it yours by changing things and colours to your style and liking! I made it with a lot of hard work, love and of course with code :) I'm not a professional coder, but I tried my best to make it look cool and yet still keep it simple.
you can view the Github repo at https://github.com/achaljhawar/...5 -
Warning: this is not a rant. I'm too happy and excited to rant right now.
Today I "finished" my first webpage!!!
Wohooo!
It's the blog I'll use. It's currently offline for obvious reasons but I intend to put it out there when I have more confidence on my skills and some content to put in it. I only used django, html and css, and I really dig the looks of it. My gf liked it so it can't be that ugly.
I still have a lot to learn with django, and I will add a thing or two to this
webpage but now I feel confident enough to make the backbone of my first real project : a platform to ease essay writing for history students. It's something simple for students to keep track of their essays thesis and ideas but also the bibliography they'll use and the thesis and ideas they think each text they read for the essay has. I intend later to extend the functionality so it can store all the texts the user has used in some useful and atractive manner so they can keep track of everything they've read, share it and use it for later works.
I'm so fucking excited I can't fucking sleep (it's 3 am right now).13 -
I am so fucking lost.
I literally have zero expectations from life for now and future.
There was a time when I had so much clarity in my life. Rather, I was known for it.
Folks used to reach me out for guidance and my approaches even worked for others.
I was goal oriented and biased towards action. Failing and learning from it, I used to make things happen and with constant feedback kept progressing.
While none of that has changed, I still feel lost and numb. No, I am not depressed or suffering through any mental illness. I am physical active and able to feel the happiness.
But the recent incident with a narcissistic, left me emotionally handicap. I can no longer feel any kind of love or affection. I overcame the damage done and healed myself.
But now, I am done. Even if I engage with anyone for a relationship it would be mostly for sex. I can care for people around me and be affectionate towards them but when it comes to an intimate relationship, I feel it's not something I can do in this lifetime. I tried multiple times but failed.
These days, all I am doing is putting my heads down and working like crazy. Never in my life I worked more than 10 hours in an entire week. Now, I work 10+ hours everyday. During that time, I am highly productive.
And in my free time, I am busy housekeeping different life problems. Either paying bills, figuring out an insurance, planning some investment, or making some kind of life decision.
It's draining me. I feel as if I am losing sanity. But that's the only thing I am able to do.
Maybe it's the lockdown effect. Maybe some damage is yet to be healed.
But I got nothing better to do. I have some good ideas. Not those hipster-ish disruptive Million dollar ideas, but decent enough to solve a problem for a strong use case.
However, all of this is becoming overwhelming these days. Because decision making is complex and difficult task. It can make or break the future.
As of now I am confused how should I go about pursuing two of the important projects that I want to accomplish.
1. Migrating out of Google ecosystem. Is it even practically possible for my use case? What are the alternatives? Planning to opt in for a paid cloud storage so have to factor in that aspect as well.
I want to keep this new setup only for official use like bank and government stuff. Maybe family and close friends. Then have current ids for public logins and sharing it with retards whom I can block or ignore if they harass me. The research is overwhelming but having a structured setup gives insane amount of efficiency when life is spam free.
2. Migrating my Pihole and OpenVPN setup out of Digital Ocean to GCP. Primarily because $5 is a lot of amount for my computational requirements and Google has used my data enough, for me to use the free tier.
However, there isn't a simple script for a tech noob like me, to go ahead and setup something. I did find a Github repository but the documentation is kind of outdated so RTFM failed for me.
I don't know whether to pursue my start-up or let it go and focus on moving to Europe.
It's just so fucking stupid to even exist. And let's not forget taxes. Bloody taxes.21 -
I have been a software engineer for about 14 years now, in the beginning, I thought to be smart meant writing methods that do everything and more. however as I matured in the industry, I learned. keep it simple. 1 method 1 responsibility. One should trail my code and never have to find themselves where they were before in the journey. a journey should have one purpose and not pivot (context disclaimer here) as it goes. good programming is simple programming, its a story not a case of multiple endings.3
-
Honestly, I spent years trying to make the most out of every functionality that the languages provided... After 7 years of that, last 3 I only use the most basic things and I can say: it is far superior to keep things simple. I'm making deadlines in a third of expected time, debugging is a piece of cake, and adding new features usually takes about 5 minutes thanks to very simple and straightforward design.
TL;DR: Keep It Simple Stupid
#kiss #suckless1 -
First week at job as newly graduated from CompSci. And I feel like a fucking monkey trying to figure out how everything works, I have help from the main developer but it feels like I have to ask questions all the time and I can feel the judgement in his voice. Today I committed my first lines of code (phoneformatting) and he basically had to hold my hand the whole way through. I feel like shit atm, I really want to be good at this, I watch tutorials but when it comes down to it my mind just blanks out and I can't figure out how to even write a simple fucking method in php (which he did and my brain just shut down ). Please help me, how do I improve at remembering all these terminologies, I feel like if I keep it up like this they won't have me around for long.7
-
This is real rant, not one of these funny stories!
So, I spent 4 years to get a Computer Science degree, and did two specializations, 3.5 years more in Uni. I have 6 years of experience working in IT, from support to programming. I also speak 3 languages.
I'm from a South America country, and now I'm living in EU.
I'm 30 now and earning a little more than a MacDonald's cashier earns in the US. I have to live in a shared apartment like a fucking Uni student. I have nothing, no car, no house, no girlfriend. WTF!
IT is a fucking lie! Profession of the future my ass!
In Uni they said that finding a good job was easy, that companies would literally grab us by the neck to work for them. LIE!
I did found a low paying job though, where at least I could learn a lot more.
People were really satisfied with my work and I even received a proposal of one of our clients to work for them, but the offer wasn't good enough.
I tried entering some big companies as a Trainee, but it was so ridiculous, they said they were looking for an IT person, but they asked things related to economy and other stuff that had nothing to do with IT. I always failed in the group work/interview, it was so ridiculous, I remember one candidate saying her dream was to work for the company since she was a child, SERIOUSLY!
When the opportunity came, I moved to EU and now I'm working as a dev. But as I said, I'm not satisfied with it! In the US the yearly average software engineer salary is about 100K, I earn less than 1/4 of it. And don't come saying that US pays more because of the cost of life, here the cost of life is the same or even more expensive, a super small apartment/loft is at least 180K, a simple new car 18K and a Big Mac costs 4€.
In the US, the average salary of someone that just graduated from uni is 60K to 70K! LOL
In EU, it's super hard for someone to earn 100K, that's why many companies are creating offices here, good workforce, 2 to 3 times smaller salary!
IT also sucks because it's too volatile, there's new stuff all the time. Someone always has to come with a new language, new framework, new library, etc etc. And you have to keep learning new stuff all the time.
Also job openings always ask for experienced people, like you must have at least two years of experience with VUE.js, or something.
Do you remember the last time you went to a doctor for a checkup, did they use a new tool, or did something different during the checkup? Probably not, the medic don't have to learn new stuff all the time, he is still using a stethoscope, he is still placing a wooden stick in your mouth to check your throat...
But in IT, almost no one nowadays is going to create code using CoffeeScript, they instead will use TypeScript.
I read an article saying that an IT professional must study 20 hours a week to keep up with new trends. So I must work 40 hours and study another 20? LOL
It's not that I don't like learning new stuff, but this sucks, I want to maybe learn something different or have a hobby.
Today I regret going to uni, I feel it was a waste of time and money. They taught things like calculus and physics that I never had to use professionally, and even programming stuff like linked lists I never had to use.
If instead I had studied dentistry or studied to be a ophthalmologist I think I would be earning more, would be working more independently and wouldn't need to keep up learning new things so much.
Also to work in IT you don't need a diploma, I read an article by a dude that learned programming by his own, did some software for his portfolio and got a job at Google.
When I read these kinds of story I regret even more going to uni, It really feels I wasted my time.
For these reasons I can't recommend going to uni to study IT, if you want to go to uni go study something else!
If you want to study programming do it on your own, there's everything you must know online for free, create a portfolio, and look for a job or even try working for yourself!
Living the life I have now, there's just no incentive to keep going.
Should I keep learning new stuff so maybe I can get a better job that will still pay low, or quit and try creating something on my own?
Or even ditch IT all together and go back to uni? LOL NO!5 -
> be me
> be developing a react native app
>realize the iPhone X notch is clipping your content on the first/home screen of the app
>google says: simple fix
>find a built-in react native thing to add safe area padding
> refresh the app
> ohno.png
> the other screens with navigation bars already have built in padding
> TOOMUCHPADDING.jpeg
> remove safe area thingy
> finds a clever, not particularly hacky way to pad the home screen without showing the header bar by setting its height to 0 and the color to match the content background
> more-problems.app
> there’s a small 1–pixel light colored line separating the header from the content clearly breaking the otherwise continuous single color background
> google.sh
> wtf.txt
> stackoverflow.html
> no responses except something I’d already done
> keep experimenting
> tries basically everything to figure out where that line is coming from
>sets borders to thicccc and bright red
>no bottom border? Ok that’s not it
>opacity?
>forgetaboutit.mov
>try shifting the header position around by a few pixels? Maybe it’s misaligned with the white parent layer underneath?
> nope.jpg
>it’s past bedtime
>Sleep.jpg
>thenextday(today).zip
> what about the content? Is that misaligned?
> nope2.jpg
>Maybe its an iOS feature not a react thing?
> make a test Xcode project, completely native to test
> negative.dng (pun intended)
> more-furious-googling.mp3
> find a native iOS stackOverflow question with the same issue (1px line)
> realize your Xcode test wasn’t done properly.
>atleastimmakingprogress.iso
> start looking into the SO post
>it’s native so I have to find out how to do it in react-native
>invent a bunch of style parameters that don’t exist in the documentation to see if there’s an undocumented thing
>loadsaloadsaerrors.log
>googles for a react native version of the iOS only SO post
> somethingpromising.tar.gz
> *tries it*
> “Haha nope” -my code
> whataboutthisotherthing.bin
> KENSISHSBUCNEGWISBVSIDNRVSIDNFIRJRBDKFNFIDJFIFKFNR
> HOLY FUCK
> IT WORKED
> AFTER TWO FUCKING DAYS OF SHITTERY AND SHENANIGANS
>AND MANY STACKOVERFLOW EDITS TO A NOW VERY MESSY POST
>THEREISNOMOREBORDER(final).zip
>*screams of relief*7 -
So I'm struggling to finish this library which among other things is supposed to write flowing text. And this one's taking foreeeever and I'm hating it so much already.
I just keep daydreaming of starting a "simple" platformer. And then I go, "hm the parallax must be nice, it needs to have as many layers as possible, oh and look at this video, here they're even zooming and each layer rescales differently, good effect, I need to add that too. Also a plain platformer is just boring, it needs to have adventure elements, and even RPG too, yeah why not. Hm, it needs to have some motion blur, but oh I need this 1/48 shutter speed to make it look cinematic. Okay how do I go about adding this blur effect? What? Libgdx doesn't provide one out of the box? I need to use opengl shaders? A shader, eh... I'm not even sure what that is. Okay, let's see how to do it. Wow that's a total mess and resource hungry, and how will I calculate it all as to make it match the 1/48 thing?"
You know... Simple. And in the end, I'll abandon the library and won't get anywhere with the platformer (as usual).
Tsk tsk tsk5 -
Realtek fucking sucks on Linux. I wasted two days trying to get their shitty USB WiFi dongle to work, only to find out it doesn't support AP mode with the Linux driver. It works fine on Windows, but not on Linux. Realtek doesn't support their modern USB WiFi chipsets with in-kernel drivers. This is true even though we saw in-kernel support for some Realtek WiFi 5 chipsets in 2023—however, that support was added by a Linux community developer, not Realtek.
Realtek does make non-compliant Linux drivers for many USB chipsets, but they don't publicly release them or accept problem reports. A few vendors post Realtek USB WiFi drivers at irregular intervals, but they’re only available in source code format and must be compiled. These drivers don't keep up with changes in new kernels, so it falls on people like me in the community to maintain them.
Am I a fan of how Realtek supports Linux? Absolutely not.
Users of Realtek’s out-of-kernel drivers often ask why these drivers aren't included in the Linux kernel. The answer is simple: the drivers are not Linux standards-compliant, Realtek doesn’t provide documentation, and creating new drivers would be easier, though it’s a huge task.
While there are Realtek out-of-kernel drivers available, they are not recommended for general Linux users. These drivers are meant for skilled programmers working on embedded systems, not for casual users. Those using desktop distros like Ubuntu, Debian, Manjaro, Fedora, Raspberry Pi OS, or others will find adapters with in-kernel drivers to be more stable, reliable, and feature-rich.
My testing over the past couple of years has shown good results for WPA3 with in-kernel drivers. I’ve tested USB WiFi adapters ranging from N150 to AXE3000, and adapters using Mediatek/Ralink and Atheros chipsets with in-kernel drivers work well with WPA3. Keep in mind that your Linux distro must support WPA3 for it to function properly. As of mid-2022, all distros I use, including Ubuntu 22.04 LTS and later, work well with WPA3.
Most modern out-of-kernel drivers (like Realtek) now support WPA3-SAE, but not all. Realtek has stopped working on most of its WiFi 5 out-of-kernel drivers as of mid-2023, so be careful when purchasing, or you could end up with a dead-end product.4 -
I usually crib about how stupid people are and how I struggle to stay afloat.
Let's switch some gears now. A post about some good people, product, and processes.
You know what the common theme here is?
The goodness here cannot be measured. Your first interaction with them makes you feel so comfortable that you start feeling butterflies.
These people just keep on giving. They are selfless. They are pure. They actually care.
And when you think it's done, then they give you some more.
What blows me away is, they don't expect or accept anything in return. Absolutely nothing. Not even a simple thank you.
And they are like a wizard. They walk into your life when you least expect them but need them the most. And when the task is done, they'll be gone before you even know.
No lingering, no drama, no bullshit. Just pure goodness.
Like my ex-lead in current company, I have a very senior guy in neighbouring team (for which they were gonna hire me initially), who also happened to interview me, is a gem.
He takes care of me like his own younger brother. Supports me and always answers my queries no matter how occupied he is.
And same is with good products and processes. They feel effortless. So smooth and add exceptional value to your existence. They give rise to wonderful companies.
You'd never experience a single negative aspect about them. No matter how much you try, things will just keep getting better until they don't need to.
And then they'll be long gone. Never to be seen again and never to be forgotten.
You cherish them only in your memory and wish they lasted longer. But they didn't because the purpose was served.
Such people and experiences inspire me. They push me to become a better human.
No matter how the world is or how it treats me, I must always live with high values and be a better version of past self.
The other evening, I was conversing with my mother where we spoke about some family friends who are insanely wealthy but humble and kind.
Mom and I mutually agreed that they don't have such good traits because they are wealthy, but they are wealthy because they live with humility, kindness, and pure intentions.
World is surely a beautiful place because of such people and I aspire to be one. May lord guide me well :)3 -
Best advice so far: "KISS: Keep It Simple and Stupid"
That works every time because your design of the code will be understandable. Your code must seldom to be refactored. You aren't that asshole who never comment and document anything. And the most important part: The code works as designed without flaws!4 -
TL;DR fuck stupid people
I had to develop a rather simple Android app. It had to scan a qr code and let the user validate an invitation based on that code.
It had 2 fucking screens, one for statistics, one for the scan.
One week before going live
Product owner: The app is too complicated.
Dev/me: What?😶
PO: I want you to get rid of the statistics screen. Also make the text and buttons bigger. Also keep in mind we might want it back after.
Needless to say the app looks like shit with the exagerated font size.
At least it's so idiot proof that even a monkey could use it.😂1 -
DevRant-API-Docs Site Update:
QA is in the works. Will try to keep it as simple as possible!
The "all questions" page front end is done. Now there's only the "new question" page and the "view question" page.2 -
I used to be a sysadmin and to some extent I still am. But I absolutely fucking hated the software I had to work with, despite server software having a focus on stability and rigid testing instead of new features *cough* bugs.
After ranting about the "do I really have to do everything myself?!" for long enough, I went ahead and did it. Problem is, the list of stuff to do is years upon years long. Off the top of my head, there's this Android application called DAVx5. It's a CalDAV / CardDAV client. Both of those are extensions to WebDAV which in turn is an extension of HTTP. Should be simple enough. Should be! I paid for that godforsaken piece of software, but don't you dare to delete a calendar entry. Don't you dare to update it in one place and expect it to push that change to another device. And despite "server errors" (the client is fucked, face it you piece of trash app!), just keep on trying, trying and trying some more. Error handling be damned! Notifications be damned! One week that piece of shit lasted for, on 2 Android phones. The Radicale server, that's still running. Both phones however are now out of sync and both of them are complaining about "400 I fucked up my request".
Now that is just a simple example. CalDAV and CardDAV are not complicated protocols. In fact you'd be surprised how easy most protocols are. SMTP email? That's 4 commands and spammers still fuck it up. HTTP GET? That's just 1 command. You may have to do it a few times over to request all the JavaScript shit, but still. None of this is hard. Why do people still keep fucking it up? Is reading a fucking RFC when you're implementing a goddamn protocol so damn hard? Correctness be damned, just like the memory? If you're one of those people, kill yourself.
So yeah. I started writing my own implementations out of pure spite. Because I hated the industry so fucking much. And surprisingly, my software does tend to be lightweight and usually reasonably stable. I wonder why! Maybe it's because I care. Maybe people should care more often about their trade, rather than those filthy 6 figures. There's a reason why you're being paid that much. Writing a steaming pile of dogshit shouldn't be one of them.6 -
CTO: We can't keep getting egg on our face letting these simple mistakes through. We value your expertise, please speak up.
QA: This looks fucky, should it look this fucky?
*crickets*
Dev: That is dangerously fucky.
QA: Ticket time.
PM: Hey Dev, I know it's not your AOE, but I need to assign it, and you spoke on it so here's your ticket.
Dev: *dies inside*2 -
Time for a rant about shitstaind, suspend/hibernate, and if there's room for it at the end probably swappiness, and Windows' way of dealing with this.
So yesterday I wanted to suspend my laptop like usual, to get those goddamn fans to shut up when I'm sleeping. Shitstaind.. pinnacle of init systems.. nope, couldn't do it. Hibernation on the other hand, no problem mate! So I hibernated the laptop and resumed it just now. I'm baffled by this.
I'll oversimplify a bit here (but feel free to comment how there's more to it regardless) but basically with suspend you keep your memory active as well as some blinkenlights, and everything else goes down. Simple enough.. except ACPI and I will not get into that here, curse those foul lands of ACPI.
With hibernation you do exactly the same, but on top of that, you also resume the system after suspending it, and freeze it. While frozen, you send all the memory contents to the designated swap file/partition. Regarding the size of the swap file, it only needs to be big enough to fit the memory that's currently in use. So in a 16GB RAM system with 8GB swap, as long as your used memory is under 8GB, no problem! It will fit. After you've moved all the memory into swap, you can shut down the entire system.
Now here's the problem with how shitstaind handled this... It's blatantly obvious that hibernation is an extension of suspend (sometimes called S3, see e.g. https://wiki.ubuntu.com/Kernel/...) and that therefore the hibernation shouldn't have been possible either. The pinnacle of init systems.. can't even suspend a system, yet it can hibernate it. Shitstaind sure works in mysterious ways!
On Windows people would say it's a hardware issue though, so let's talk a bit about that clusterfuck too. And I'll even give you a life hack that saves 30GB of storage on your Windows system!
Now I use Windows 7 only, next to my Linux systems. Reason for it is it's the least fucked up version of Windows in my opinion, and while it's falling apart in terms of web browsing (not that you should on an EOL system), it's good enough for le games. With that out of the way... So when you install Windows, you'll find that out of the box it uses around 40GB of storage. Fairly substantial, and only ~12GB of it is actually system data. The other 30-ish GB are used by a hibernation file (size of your RAM, in C:\hiberfil.sys) and the page file (C:\pagefile.sys, and a little less than your total RAM.. don't ask me why). Disable both of those and on a 16GB RAM system, you'll save around 30GB storage. You can thank me later.
What I find strange though is that aside from this obscene amount of consumed storage, is that the pagefile and hibernation file are handled differently. In Linux both of those are handled by the swap, and it's easy to see why. Both are enabled by the concept of virtual memory. When hibernating, the "real" memory locations are simply being changed to those within swap. And what is the pagefile? Yep.. virtual memory. It's one thing to take an obscene amount of storage, but only Windows would go the extra mile and do it twice. Must be a hardware issue as well.
Oh, and swappiness. This is a concept that many Linux users seem to misunderstand. Intuitively you'd think that the swappiness determines what percentage of memory it takes for the kernel to start swapping, but this is not true. Instead, it's a ratio of sorts that the kernel uses when determining how important the memory and swap are. Each bit of memory has a chance to be put into either depending on the likelihood of it being used soon after, and with the swappiness you're tuning this likelihood to be either in favor of memory or swap. This is why a swappiness of 60 is default most of the time, because both are roughly equally important, and swap being on disk is already taken into account. When your system is swapping only and exactly the memory that's unlikely to be used again, you know you've succeeded. And even on large memory systems, having some swap is usually not a bad idea. Although I'd definitely recommend putting it on SSD in a partition, so that there's no filesystem overhead and so that it's still sufficiently fast, even when several GB of memory are being dumped in.6 -
Since my contract is going to be terminated on 1st July and brilliant devrant community injected me idea to make same project and start selling it as incorporated I made some steps.
I made simple POC that is command line application in different language and unrelated to what I’m doing and showed to my friend and ask if he want to buy it for his company and he was like wtf this shit even exist on the market or it’s new thing ?
I admit company I work for is not present in my country and this product is like not existing on the market. ( at least I can’t find it )
From this point I have a feeling I need to do it. I have life savings that will provide me to at least 2021 or even for a whole year if I’ll be smart and I think it’s going to be good thing to take a summer brake and make own project based on professional experience I have.
Despite the situation around I will be mostly coding 24/7, drinking and playing playstation.
I probably will convince my friend to work on it and my other friend to sell it once it’s done. He already wanted to sell my command line tool but I told him to keep his mouth shut cause they might steal the idea.
I already decided to use different tech stack and api so all software will be different, some business parts are unavoidable but I have many fresh ideas. At the end I will just connect some online payment, make youtube commercial and start selling it by integrating with some api and buying internet ads, also I will start looking for a new job from October if nothing will work out and just keep investing less time in it.
What you think ?
Should I take the risk or not finding job and do something that my heart is telling me to do( I write software for 12 years for money so I don’t think it’s even possible ) or should I live safe boring life and just go to another job ?
Thanks
Have a nice day.9 -
Holy shit man...
I know its supposed to be hard but I cant ignore how much I want to give up right now.
I've been learning JS for months now, doing daily algorithm challenges, going strong on my freecodecamp dev map and still, I feel like I might no be cut out for this.
It's been more than a week now trying to implement a minimax algorithm into my tic tac toe game. I can't, for the life of me its just getting more frustrating by the day and its driving me crazy! How the fuck am I supposed to ever get a junior webdev job if I can't do something as simple as this!, And I keep reading and reading the theory but I cant implement it into my code! It just makes me want to quit (again)!
I really need to work on my attitude...1 -
Open source is poison, hoax and source of much troubles.
Even as I love OSS, and I use it a lot, when things go south, they go south terribly.
There was "security" updates in one OSS program I have been using, that accidentally prevented use cases which specifically affected me. I raised bug report, made issue and gave small repro for it.
One of the core developers acknowledges that yes, this is problem, and could be handled with few added options, which users of similar use case could use to keep things working. He then tags issue "needs help" and disappears.
After I have waited some time, I ask help how I could fix it myself, like how to setup proper dev environment for that tool. Asked it in their forums few days later, as issue didn't get any response. Then asked help in their slack, as forums didn't get any help.
Figured out how to get dev environment up, fix done (~4 lines changed, adding simple check for option enabled or not) and figured out how to test that this works.
I create pull request to project, checking their CONTRIBUTING and following instructions there. Then I wait. I wait two weeks, and then one of the core develors goes to add label "needs response from maintainer". That is now almost two weeks ago...
So, bug that appeared in October, and issue that was created October 8th, is still not fixed, even as there is fix in PR for 28 days this far.
And what really ticks me off? People who make statements like: "it is OSS, have you thought of contributing and fixing things yourself?" when we run into problems with open source software.
Making fix yourself ain't biggest problem... but getting it actually applied seems to be biggest roadblock. This kind of experiences doesn't really encourage me to spend time fixing bugs in OSS, time is often better spend changing to different tool, or making changes in my own workflow or going around problem some kludge way.
I try to get business starting, and based on OSS tools. But my decision is staggering, as I had also made decision to contribute back to OSS... but first experiences ain't that encouraging.
Currently, OSS feels like cancer.17 -
TL;DR; do your best all you like, strive to be the #1 if you want to, but do not expect to be appreciated for walking an extra mile of excellence. You can get burned for that.
They say verbalising it makes it less painful. So I guess I'll try to do just that. Because it still hurts, even though it happened many years ago.
I was about to finish college. As usual, the last year we have to prepare a project and demonstrate it at the end of the year. I worked. I worked hard. Many sleepless nights, many nerves burned. I was making an android app - StudentBuddy. It was supposed to alleviate students' organizational problems: finding the right building (city plans, maps, bus schedules and options/suggestions), the right auditorium (I used pictures of building evac plans with classes indexed on them; drawing the red line as the path to go to find the right room), having the schedule in-app, notifications, push-notifications (e.g. teacher posts "will be 15 minutes late" or "15:30 moved to aud. 326"), homework, etc. Looots of info, loooots of features. Definitely lots of time spent and heaps of new info learned along the way.
The architecture was simple. It was a server-side REST webapp and an Android app as a client. Plenty of entities, as the system had to cover a broad spectrum of features. Consequently, I had to spin up a large number of webmethods, implement them, write clients for them and keep them in-sync. Eventually, I decided to build an annotation processor that generates webmethods and clients automatically - I just had to write a template and define what I want generated. That worked PERFECTLY.
In the end, I spun up and implemented hundreds of webmethods. Most of them were used in the Android app (client) - to access and upsert entities, transition states, etc. Some of them I left as TBD for the future - for when the app gets the ADMIN module created. I still used those webmethods to populate the DB.
The day came when I had to demonstrate my creation. As always, there was a commission: some high-level folks from the college, some guests from businesses.
My turn to speak. Everything went great, as reversed. I present the problem, demonstrate the app, demonstrate the notifications, plans, etc. Then I describe at high level what the implementation is like and future development plans. They ask me questions - I answer them all.
I was sure I was going to get a 10 - the highest score. This was by far the most advanced project of all presented that day!
Other people do their demos. I wait to the end patiently to hear the results. Commission leaves the room. 10 minutes later someone comes in and calls my name. She walks me to the room where the judgement is made. Uh-oh, what could've possibly gone wrong...?
The leader is reading through my project's docs and I don't like the look on his face. He opens the last 7 pages where all the webmethods are listed, points them to me and asks:
LEAD: What is this??? Are all of these implemented? Are they all being used in the app?
ME: Yes, I have implemented all of them. Most of them are used in the app, others are there for future development - for when the ADMIN module is created
LEAD: But why are there so many of them? You can't possibly need them all!
ME: The scope of the application is huge. There are lots of entities, and more than half of the methods are but extended CRUD calls
LEAD: But there are so many of them! And you say you are not using them in your app
ME: Yes, I was using them manually to perform admin tasks, like creating all the entities with all the relations in order to populate the DB (FTR: it was perfectly OK to not have the app completed 100%. We were encouraged to build an MVP and have plans for future development)
LEAD: <shakes his head in disapproval>
LEAD: Okay, That will be all. you can return to the auditorium
In the end, I was not given the highest score, while some other, less advanced projects, were. I was so upset and confused I could not force myself to ask WHY.
I still carry this sore with me and it still hurts to remember. Also, I have learned a painful life lesson: do your best all you like, strive to be the #1 if you want to, but do not expect to be appreciated for walking an extra mile of excellence. You can get burned for that. -
A little example of how recriutment in IT works.
Mechanic gets a live mechanic skill test to get a job, as he really wants this job because of lack of money he asks recriuter couple of questions.
Mechanic: do I need to bring my own tools ?
HR: no everything will be provided in place
Mechanic: what would I do during this test ?
HR: everything will be explained just before the test I’m not an engineer so engineer will explain everything to you
The test day, mechainc goes to the test place and the recriuter says:
Recruiter: Your first task is really simple, please tighten those screws, you have 10 minutes
Mechanic: But I don't see the screw driver
Recriuter: I can't say to you how to do it, you figure something out
Mechanic somehow manages to tighten those screws using his belt
Recriuter: Ok so now tell me what force is needed to unscrew them and tell me if you did good if I’d say you need to tighten 1 million screws
Mechanic: I just want to do my job
Recruiter: Hey we are looking for people with broad experience for this position, of course you wont be asked to do that task but we want to know if you’re capable to do the job if we ask you.
Mechanic: answers the question that he will use tools and what devices he will use to measure the force
Recriuter: Can you write this as a mathematical equation ?
Mechanic: don’t know that
Recruiter: Well we can’t hire you we are looking for someone with more knowledge about the topic
Mechanic: But you keep asking me about the fucking screws
Recruiter: Watch your mouth sir because for me you are junior mechanics, you don’t know how to use proper tools and you barely manage to do the first task in time I would use: started elaborating about tools to tighten many screws at a time in a distributed fashion
Mechanic: but to run those tools I would need more than 10 minutes and besides that those are not here
Recruiter: yes they are, we open those doors to get them before our work you suppose to know that and we use those all the time, it was in job description, besides that it is recommended by company xyz to keep those tools behind blue doors, there is nothing here besides blue doors and room with tools and you didn’t know what blue doors are for, you need to learn the basics first
Mechanic resigns. 90% luck 10% skill
Every fucking time.7 -
I'm just frustrated. I wanted a simple, statically-typed language that doesn't get in your way and offers GC. I can't find anything "just perfect".
- Go: enforces a style on you, nono.
- Rust: ownership system. I love it, but it's too low level for what I want.
- Scala: seems to have a bunch of useless and bug-prone features.
- Java: I hate how you have to declare and catch exceptions. Good practice, yes, but the code gets bloated with try-catch statements.
- C and C++: Too low level, no GC.
- C#: maybe? idk
I want to make a back-end for an app but I want it to be easy and fast. I need something with a gentle learning curve, not keep fighting the language. I'm between Java and Rust. Java's easier to use. Rust is rust <3, but it's hard, I haven't learned it properly and I just keep fighting the fucking compiler.39 -
How do I help my colleague in fighting harrassment?
This is the story of a helpless employee facing everyday harassment. Im trying to help. Seeking for your thoughts
Backstory fast forwarded: My company acquired another company. So we handle all their projects and clients now, but its a completely new domain. So we needed new people. Hired 4 employees + 1 team lead to start with. But the project process got delayed and they were free for a month. So i took 2 of them in my project and gave them some small tasks to help us over. They loved working with my team and were learning new stuff apart from what they usually did. And we were also happy of their contribution. We became good friends. All of this was in March 2020 before covid-19 was taken seriously.
About my company: I love this company. I have been in this company for more than 4 years now. People are really nice. Parties and fun events. Lot of smart and ambitious people. So company and people are awesome.
Coming back to the story. Lets call the team the 4 and team lead T. The 4 were happy that someone like T was in their team. This T had all the best knowledge about stuff and life was going to be awesome for the 4. Or was it?
Story starts: So I talk to one of these 4 on daily basis. Lets call this friend F. F is a real gentle person. Intelligent and dedicated to work. F is awesome to work with. And always enjoyed working. F is a team player and very very soft person. F is fking workoholic. So few days after project starts, F tells me work was not going well. F is getting real frustrated at work and not able to deal with it or find solution.
What happened:
This person T, who was supposed to help these 4, is real piece of shit. He is impatient, arrogant and MFing dick head. Aaaarggggg.
All the good qualities of a leader like supporting the team, boosting confidence, guiding team when they make mistakes, teaching them, were all missing from this person. T was a machine with no emotion and only clock working jerk. I have no idea how T cleared interview process, because one of the interview round is also about cultural fit into company. I know this because i take interviews for other domains. We have rejected lot of such well qualified but arrogant candidates.
So whats the problem now: this team of 4 are learning new tools and taking over the clients requests from old company. Most of the stuff is new for them. So in tat case people need lot of time to understand and figure out shit. people make mistakes while learning and you know have to deal with it. Person T abuses these 4 when something goes wrong. That's one.
Second, the T definitely knows more than these 4. So if these guys dont understand certain stuff they ask T. But T does not help them learn. T will either say busy or run away by saying thats simple and ull know when time comes. REALLY MF???
Third, T does not talk nice. T is rude and does not listen to team members. For eg, If F says some task cannot be done for some reason T will say, "y cant u do it? U r capable of doing it. Tats y u r in this job". And then point number one and two happens. Never responds to emails and messages. But if someone else does the same will not tolerate that and abuses them. List goes on.
So y not escalate and deal with that T:
This person F and other 3 are still under probation and they think complaint or escalation will back fire. These people do not want to lose job in between all this pandemic shit. They are scared.
So this was happening for a while. And i was giving lot of tips on how to handle certain situations. And how one should communicate these.
But being a gentle, soft and workoholic person, F focussed on work and assumed things will get in place as time goes by.
Today, F could not meet a requirement. So T told some shit which got F all sad. and F called up me late night and started crying explaining what happened. I felt real bad. I asked F to file harrassment case. F refused saying it was F's mistake on not completing requirement. WHO THE FK CARES. PEOPLE CANNOT TALK SHIT. I told ill file harrassment case against T. (We have a policy where others can also file if person is not courageous enough). But F did not allow me.
Then after calming down, I told F that telling the problems to me wont solve them. You have to talk to T directly and tell him on face not to talk like this. Or tell the manager about whats happening. Or tell the the HR about this. F said tat cant be done. I was like Y THE FK NOT.
Because the other 3 are not ready to talk about this to anyone as they fear they'll lose job. So if F talks and people question other 3 they might bail out. WAT THE HOLY SPIRIT.
so after lot of convincing F is still not going to
Talk to anyone about this.
So i have decided ill write an anonymous email to HR, the manager and other senior people in the organisation about whats happening.
I really dont know how itll go. Ill keep updating you guys. Feel free to share ur thoughts.3 -
I want to create a website with matierial design.
Which CSS framework should I use if I want to keep it simple ?22 -
I haven't felt an urge to post on here in a while just because things have been going so well. But this month, is just not that kind of month anymore.
I'm upset. I'm upset by how I've been uprooted from my routine. I know I shouldn't be that bothered by it and things always change. But what the fuck is this company thinking to be using it's own fucking home baked ticketing system!
WHAT THE EVER LIVING FUCK IS THIS SHIT!
Let's go over the issues it has
1. I can't fucking email my clients through it
2. all emails are not recognized automatically. In other words each new email creates a new ticket if it does not have the tracking number attached to it.
3. I have to fucking hunt around in my inbox that is now bombarded by every email that is created for this ticketing system. Slap on a fucking tracking number. And then HOPE TO FUCKING GOD that the person on the other end doesn't erase the subject and cause the system to create a new ticket just for it.
Let's go over Zendesk which they've decided to decomission.
1. I. DON'T. HAVE. TO. DO. ANY. OF. THAT. FUCKING. SHIT.
2. That's it. It's fucking simple
Seriously. They forced me off of my original platform because this company already had a "ticketing system", if you can even fucking call it that, working.
And just if you weren't aware, all of this change happened because my company got bought out. It got bought out by this behemoth company that isn't willing to let me continue using a system; that has been very efficient, mind you, and instead make me use their system.
I. FUCKING. HATE. THIS.
Every fucking day! I have to do this stupid bullshit of emailing clients from my personal work email instead of on the direct ticketing system.
When I first started using this thing I actually thought I could use it to email the clients. For a solid two weeks I was "communicating" to clients through their ticketing system. Only to find out that the entire time those clients were not getting my actual fucking email! WHAT THE ACTUAL FUCK?
Then these guys tell me after the fact. "Oh that's strange... We never noticed that you can't send emails through it... We always just had used our work emails."
Are you fucking jerking my chain! You guys have literally been sitting in this slimy pit of hell for so long that you don't even know there are better options out there!
You don't have to fucking live this life!!
I don't think I'm going to make it. Something needs to change. And I know upper management isn't going to do it, because I fought hard to try and keep Zendesk. They are not keeping it. After this next quarter it is officially gone.
I'm trying to think of coding solutions to make my situation better... But I shouldn't have to fucking do that! There are perfectly good working solutions out there, and this company doesn't want to budge because "that's the way we've always been doing it"
I'm going to fucking rip out my hair. -
I hate discussions about how to name resources in a REST api. It’s not like there will ever exist a client that magically knows your conventions. At some point, you need to hardcode an URL in a client/browser. That’s fine, just keep it simple.
This has been a great source of bike-shedding in my job recently.
And don’t even get me started on HATEAOS...2 -
So this is truly something random. A dude I work with randomly slapped my ass today. It was around other people. I simple looked at them and said, "I feel uncomfortable." He started saying: "We need to get uncomfortable..." I said: "No, we don't." I am pretty sure he meant this in jest, but I hope I made it clear it will not happen again.
I am not comfortable with people randomly touching me. I don't care if you are male or female. Keep your hands off. I will shake your hand at work. I don't understand what would make someone think slapping your butt is okay. He is older than me I think. In his 50s maybe.5 -
I work remotely for a team that works together in an office, and this morning on the conference call a team member said
"one thing i think we need to do with this is stay on task, because while these things that have been added are cool we don't need to be doing anything not outlined in the MVC requirements"
Okay first of all -- this is a completely foreign technology to this team. It's not like I diddled around adding fancy animations and no function. The problem working in a new technology with an old mindset is assuming that it's going to move linearly from step 1 to step 2. And that drives me fucking insane.
- Progress in paid contracted work is done by staying on task.
- Progress in research isn't done linearly. You have to try shit -- and figure out what doesn't work.
I feel bad because I'll chime in and shoot down ideas with a fucking guided missile because I know the answer and I've done the fucking research -- I'm not a dick about it, but replying with a simple "no that's not possible, because of this or that", the call becomes silent for 30 seconds because I've shattered their understanding of the technology because nobody has taken the time to understand anything about how this thing works!!
So until they either listen to me, ask me, or learn the smallest amount to get on my fucking level, I'll keep progressing -- because whether the old world idealists like it or not -- that's my job.
Progress.
</ rant>14 -
I cant keep this inside anymore I have to rant!
I have a colleague that is an horrendous loose bug-cannon. Every peer-review is like a fight for the products life.
Now I understand - everyone makes bugs me included and it is a huge relief when someone finds them during peer-review. But these aren't the simple kind of bugs. The ones easily made when writing large pieces of code quickly. Typing = instead of == or a misshandling of a terminating character causing weird behaviour. These kinds of bugs rarely pass by a peer-review or are quickly found when a bug report is recieved from testers.
No the bugs my colleague makes are the bugs that completly destroy the logic flow of a whole module. The things that worst case cause crashes. Or are complete disasters trying to figure out what causes them if they are discovered first when the product reaches production!
Ironically he is amazing a peer reviewing other peoples code.
But do you know what the worst thing of all is! Most of the bugs he causes are because he has to "tidy up" and "refactor" every piece of code he touches. The actual bugfix might be a one liner but in the same commit he can still manage to conjure up 3 new bugs. He's like a bug wizard!
*frustrated Aruughhhh noises*9 -
The amount of energy spent to just write ‘Hi’ and click a send button is so big that we should consider banning of sending hi messages.
Instead of just saying “Hi!” we are now using analog to digital preprocessors that convert it to bunch of 0 and 1 to send it over communication layer and deliver it to other human being that will convert it from digital to analog by reading it but that is simple.
By sending message using phone we also:
- save it to local phone
- convert it to couple protocols
- transmit it over air so make connection to internet provider services that would generate logs on this provider as well as whole routing table before it gets to the target person
- save it on messaging provider disk
- probably be processed by filters by provider, sometimes be reviewed or listened by third parties and also processed in bulk by artificial intelligence algorithms
- finally delivered to target phone and saved there where that person would just change this text to their inner voice and save it
- sometimes encrypted and decrypted
- sometimes saved on provider
- sometimes saved on phone manufacturer cloud backup
- don’t get me started on people involved to keep this infrastructure in place for you just to say hi
There are also some indirect infinite possibilities of actions for example:
- emit sound and light that can lead to walking from one room to other
- the floor in your house is destroyed cause of it so you need to renovate your floor
- sound can expose your position and kill you if you’re hiding from attacker
- sound can wake you up so you wake up in different hours
- it can stop you from having sex or even lead to divorce as a result simple hi can destroy your life
- can get you fired
- can prevent from suicide and as a result you can make technology to destroy humans
and I can write about sound and light all day but that’s not the point, the point is that every invention makes life more complicated, maybe it saves time but does it really matter ?
I can say that every invention we made didn’t make world simpler. The world is growing with complexity instead.
It’s just because most of those inventions lead to computer that didn’t make our world simpler but made it more complicated.1 -
How do you get over the bad times? I keep having to work with shitty legacy systems that were written in perl and flash in the 90s, but my boss keeps telling me "No" on redoing some of the bigger stuff even though it is really needed. I mean, that is your goal here, right? Rebuilding this POS? FFS you still stored passwords in plain text twoo weeks ago! But no, you's rather dig around in Perl than upset some random user because his fucking interface looks different.
But then I also have to work with another system that I could redo in Cake/Laravel in two weeks (it's literally getting and writing data to one table, so two views and user auth), and the previous dev just... made a huge mess. I mean, why would you need to post data asynchronously when it's this one stupid form ? Just do a regular form submit? And the system is really not suitable for extending, because everything is in the database, EVERYTHING! Like, html form inputs? So to add a simple input to the template I have to create a new input type in the types table and then add that to the form structure table? Only to have the input checked by fucking regex? REGEX! Why? Seriously, this is not some high end CMS that needs this level of code reusability No. This is a simple fucking form.
And I can't get it to work. No documentation of course. No comments, either. All of this makes me feel like I'm just the shittiest dev ever. I feel dumb, and useless. Haven't turned on my private PC in weeks because I see no reason to work on any of my own stuff.
I used to have a job, working with Magento and Wordpress. And yeah, it was horrible, it was chaos, but it was fun and I was great at it. I bent that motherfucking system to fit my needs. People respected my opinion, they were convinced I could program this and that, and I proved them right. Did I make mistakes? Hell yeah. Did I give up? Fuck no!
But now, I just feel like I can't even write a simple fucking form any more. I'm just so close to giving up on development as a whole, even though I love it so much.5 -
Recently I've come to notice that I keep using my gut feeling every day in perf investigations [and it pans out]. Until now I used to think that "gut feeling" in IT and everywhere else is a synonim for "guessing". Turns out it's not at all that simple.
Damn, that's exciting! Love that spidey-sensey-feeling!! I hope it means I'm getting quite good at what I do.2 -
I'm diving back into c++ for a nice opportunity (if that happens) but Jeez I straight up suck balls with exercises... It's depressing, like I can't even solve a very simple problem, I can code from memory pretty much all I learned so far, but when I comes to applying it to a real problem, I become super dumb and don't know what I'm doing anymore...
I've set myself a goal tho, I'll keep doing minimum 5 exercises / days and I have to finish atleast 3 without looking at the solution to understand
I hope this will make me a little bit more interview ready if that day ever comes..4 -
- Ok so today you're going to install MS SQL Server 2014, import this database, and make it show up through a crossed dynamic table.
- Excuse me sir, can I commit suicide now or should I wait a little bit more? -
I always had this mentality that I shouldn’t rely on a certain library or framework for my entire project because what if one day they stop supporting it. (Yeah I’m talking to u vuetify) That’s why I came up with this code structure that for everything that I wanna do I have a ‘driver’ library all coded by myself that interacts with that third party framework or library so if they stop supporting it I could just change a couple of lines of code in my driver file and my codebase should be working again. But I feel like this ‘driver’ approach is not the most efficient way of going in terms of memory usage. Do you guys think I should keep it simple and directly use those libraries or this is actually not a bad approach.6
-
I fucking hate it when professional rivalry affects the students. I am a student and for some unknown fukin reasons there is some kind of professional rivalry in the higher ends of my college. The effect of this is unwanted criticism and loads of pressure on us, the students, to outperform the students belonging to the other part (of the rivalry). What the fuck.
If you are in such a field, make sure that your rivalry with someone else does not affect the ones who seek knowledge and learning. It is not right to harass and exploit people who respect you and come to you for learning. It not only affects you but also whole lot of people who look forward for some kind of professional behaviour from you. Keep rivalry away from students. Work for what is necessary and get the things done. It is as simple.4 -
Multi User, One Account, and other shit
I'm gonna rant about something as a user, and someone who makes stupid web stuff.
My bank has been updating their web banking over time and they decided that every individual on an account, should have their own login. They really want to push this on their users, I suspect specifically folks like me and my wife who share one login for the joint accounts we have at the bank together.
Why share one login, because it's the only sure fire way I know that I and my wife can see all the same shit no doubt about it.
The banks never tell you what you can see or can't with joint accounts, I doubt it is even documented on their end, but in every damn case something is hidden or different in some weird way.
Messages to the bank people? If I send it, my wife often can't. I get that for security reasons that's a thing, but it makes no sense for a joint account.
ANY difference to me breaks online banking ENTIRELY. Joint accounts are supposed to be... well one account that is the same.
Other banks we used where we had different logins for the joint account, each login actually had separate bill pay accounts per user. So if I went to bill pay and scheduled something to be paid, my wife had no idea, same if she did.
Right fucking there, banking is just broken entirely!
So no Mr. Bank, fuck you we're both logging in via the same login.
Fast forward to N00bPancakes making a thing.
So my employer has a customer (Direct Customer). Direct Customer wants a thing that makes communication with their customer (Indirect Customer) easier.
The worst thing about making something for your customer's customer is that Direct Customer always imagines that Indirect Customer is gonna be super ninja power users....
But no, that's not the case... in fact almost nobody is a power user, and absolutely nobody WANTS to be a power users.
Worse yet in my case the only reason this tool exists is because Direct Customer and Indirect Customer can't communicate well enough anyway... that should tell you something about the amount of effort Indirect Customer is willing to expend.
So with that tool, this situation constantly comes up:
Direct Customer thinks it would be great if every user from Indirect Company had some sort of custom messaging, views, and etc in of Cool Communication Tool. The reason is because that's what Direct Customer loves about Ultra Complex Primary Tool that they use ....
Then I have to fight the constant fight of:
NOBODY WANTS TO BE A POWER USER, NOBODY EVEN WANTS TO DO MUCH OF ANYTHING ON THE INTERNET THAT ISN'T SCREAMING AT OTHER PEOPLE OR POST MEMES OR WATCH SHITTY VIDEOS. THE MOMENT ANYONE AT INDIRECT COMPANY LOGS IN AND SEES ANY INFO THAT IS DIFFERENT FROM THEIR COWORKER THEY'LL SHIT THEMSELVES, FLOOD EVERYONE WITH 'OH GAWD SOME NON SPECIFIED THING IS WRONG' AND RESPOND TO EMAILS LIKE A JELLYFISH DROPPED OFF IN NEW MEXICO... AND NOTHING WILL GET DONE!!!
God damn it people.
Also side rant while I'm busy fighting the good fight to keep shit simple and etc:
People bitch about how horrible the modern web is and then bitch at web devs like we're rulers of the internet or something.... What really pisses me off about that is other devs who do that.... like bro, do you make policy at your company? You decide not to sell some info or whatever shit your company sells? Like fuck off with your 'man I miss html' because you got scared by some shitty JS error and ran back to your language of choice and just poked your head out of the the basement and got scared... and you shit on another developer about that? Fuck you.1 -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
I can't believe this shit happened in time for this week's rant!
Here it goes.
I have a table on AWS Athena which has partitions. Now, in the earlier versions of this project whenever I write something to a new partition a simple `MSCK` query worked (and keep in mind I am NOT deleting anything)!
Now, my so called Team Lead in the PR for the latest (major) release tells me to change it to an `ALTER TABLE`. I was like fine, but I did not add the s3 location to it, because it was NOT NEEDED. TL asks me to add location as well. I try to convince this person that it's not needed, but I lose. So there it is in production, all wrong.
Today I notice that the table is all fucked up. I bring this up in the stand up. The main boss asks me to look into it, which I do. Figure out what the issue is. This TL looks at it and says you need to change the location. I put my foot down.
"NO. What I need is to remove the bloody location. IT'S NOT NEEDED!"
TL's like, "Okay. Go ahead"
Two things:
1. It's your fault that there's this problem in production.
2. Why the fuck are you looking into this when I was clearly told to do so? It's not like you have nothing to do!1 -
For me it was not do much a choice.
I started out using basic and simple text display (graphics existed but was quite difficult).
For a long time I was the sole or part of a pair of devs so specializing was not possible and once we grew to such a size I already was quite proficient in all areas from hardware to customer support and education.
But from that time onto today I have gravitated towards a more backend role mainly because I lack a good sense or visual design.
I know it something looks good, but doing it my self results in more boring or plain designs where more thought goes into UX than nice looking design.
That said, if we do web applications I can still keep up since it usually is more ux heavy ;)
But when it comes to adding background images, nice color sets and such I gladly defer that to colleagues with a better design sense. -
Need help from fellow devs.
It's been at least 3-4 years and it's getting worse.
I keep being demotivated, forgetful, inconclusive and not on point with code. (Yeah I know, I rant about angular, but that's a 10 years hate).
Today I'm supposed to do some table component that has pagination, buttons and shit in angular (yeah.... from scratch, they want to design the whole thing from 0) and I'm getting all confused by managing pagination, input to angular components, and all the simple stuff that I'VE DONE COUNTLESS TIMES.
I keep forgetting details, small meetups (under 20 mins) where we discuss lot of small details of implementation and I loose a lot of the details, forget a lot of stuff and have an hard time to put all the info togheter in a meaningful group of informations to have all the information available in an usable way at the moment of developing code.
Often I get rage outbursts because I don't understand things like before and I have to read and write down every fucking thing.
Often I get discouraged because I get lost in the details of big projects.
I have a lot of experience and that's what keeps me afloat.
I got panick attacks for small things and I never had panick attacks.
I feel I would need to stay away at all from programming for 2 months to have some passion back in it.
My mind is exhausted.
Some new brilliant colleagues joined the company and so I feel compelled to compete
and it works solely thanks to my superior experience.
I feel like a total dumbass and mentally challenged now.
Is it burnout? is it depression? What is it?6 -
Week 1 Day 1
It's a little late to do a whole big list of things I want to change going into 2018 so I'll just keep this focused on one thing: I do NOT want to work a minimum wage job by the end of 2018, preferably by the end of May.
So I'm gonna change that; starting now. I got accepted to the Grow with Google Challenge scholarship I may or may not have applied to while blackout drunk and I realize that drunk me was watching out for sober me. He set up a good start to getting me away from unloading trucks at 2AM and into a nice comfy chair where I can replace physical pain with mental anguish. But all kidding aside I'm really excited to start this course but I have no drive and motivation is a little hard to come by around here (The Fairy Godmother is MIA) so I'm going to be posting these rants daily in the hopes that it keeps me obligated to not waste the opportunity given to me. So without further ado, day 1 everybody.
I started today really simple. I signed up for a slack account, got Udacity set up so I was officially enrolled and everything, then moved on to setting up my laptop for android development. I wanted a fresh start so I when ahead and wiped my hard drive and looked at a few different OSes to see what fit my needs. After trying to mess around with Arch Linux and failing, I moved to Debian, I liked Debian a lot but I'm not completely comfortable with it just yet and I don't want to waste a lot of time having to familiarize with a new OS when I just want to dig in. So eventually I ended up with Windows 10, for the convenience and ease of use, but decided to put a spin on it and download the Ubuntu subsystem for W10 so I could still practice on something similar to a GNU/Linux OS. So far everything is set up, I have the only 4 applications I will need: chrome, android studio, google play Music, and devrant of course, and I intend to keep all other distractions off of this machine. Overall I'm feeling really good and I'll follow up tomorrow with some actual coding and whatnot and we'll go for there.1 -
Why can't people just do their fucking jobs? How hard is it to understand? Managers keep time, resources and risks in check and inform the developers. Developers develop and test the system. How the fuck do we have manager for agile, manager for program a manager for program b, risk mitigation manager, this shit manager that shit manager . For fucks sake with this much management we should be like fuckin bee nest and not an unorganized mess. In the end it turns out that literally there are more managers than developers just because they cannot fire an incapable idiot and they hire the next one. It is plain fucking simple - if you are not fit for the job get lost or make yourself fit. For fucks sake.
It really makes me wonder are there any well organized companies out there? -
> wanting to add an embed google maps to a website I'm working on for fun, with React
> Check the API documentation, excepted their iframe they create from your needs, not much info about how to set in a a js framework
> decide to check if anyone has already created something with React
> They did! 1 american dude, one polish, one last from idk where
> The rest is basic doc so let's try each of them
> Errors, errors everywhere
> Screens stays awefully white
> Spend 2 hours checking, checking and checking again each library
> Each of them have a different problem
> Fuck this, let's copy the iframe thingy from Google's doc, adapt 1 or 2 things because of React and run npm
> Google maps works on first try -
QT Creator and openframeworks on Windows 10 fucking suck!
- Qt creator keeps getting issues with the system. Missing DLLs etc. Fuck you, Qt Creator! They aren't missing. I double checked them. Redownloaded them and installed them.
- Besides of that your inbuilt compiler sucks big time. It takes me a fucking minute to see a complete program with a simple text on a GUI.
Now back to openframeworks.
- OF doesn't use the pre-installed codecs on Windows. You have to install K-Lite codecs to play mp4 n shit.
- If you want to embed a video or an image on the GUI, you keep getting a layer on top of the canvas. Yellow colors turn blue etc. Fucking weird.
- OF isn't a fan of Windows. Tried to install and run OF on VS 2019. It is not supported.
How about we follow the documentation of OF and install it their way? Great. Let's do it.
It says install VS 2017.
Ok, let's try it on VS 2017. Doesn't work.
I realize that they use VS 2015 in the video of their documentation.
Geez. Ok, let us try it with VS 2015.
Tries to download it, but with no success. Microsoft isn't supporting it anymore. Thus no way to download it from the official website.
- How about OF on Code::Blocks?
Not supported. Doesn't work.
I reinstalled everything. Made a Windows update. Rebooted it. Still a big nope.
To both dev teams: Get your fucking shit together, you bloody morons!4 -
Now then... where do I begin 😐
TLDR - fuck charity
A bit of backstory first, I was in my first year of college when I started this project for this charity.
It started in December of last year, my tutor approached me and asked if I’d like a project to work on, for my portfolio and what not, I agreed as I thought it would be a great opportunity. Saying yes to that question is my biggest regret so far. Oh boy the pain it has caused me.
The projected started a few days after I agreed. The stack and stuff was already agreed upon by my tutors higher ups. The stack was Wordpress and a theme called ‘X theme’ I understand the use for Wordpress, they are a non tech savvy client, it will be easy for them to manage.
The project was to basically modernise the current site the charity had, simple task you might think... ohhhh no. We agreed upon a deadline, January of 2017 (spoiler, we didn’t make that headline). However the charity wanted change, after change, after change, after change, after fucking change. Every time I’d show them the new revision it was never right, they’d always want another change.
Once we hit the deadline I asked my tutor if we could just drop it. His higher ups said we had to keep going (I could of abandoned my tutor and left him to do it but I’m not a prick). Anyway, we are now in November of 2017, a whole fucking year later and the site has only just been handed off. A WHOLE FUCKING YEAR OF THIS MOTHER FUCKING COCK SUCKING PRICK WHO WOULDN’T TAKE NO FOR AN ANSWER.
Please may god be with me as we have to provide support for this site 😥😥
If anyone’s really curious as to which charity it is or the site. I’ll post it in the comments if you ask nicely enough6 -
Sometimes I start to wonder, if people even read what I answer them in tickets... Why bother when you can just be above that all and just repeat your previous points?
When working somewhere, with destinct departments, its understandable that you send them a ticket, they evaluate that and you can figure something out together. The issue arrises, when the other person across the ticket does not seem to wanna acknowledge the information you provide.
I want a simple automation in Jira with webhooks, why is it so hard to read the docs I send and acknowledge it. It seems like they try to ignore what I am saying and just keep their once formed opinion.
It just makes me mad, when they don't even wanna talk about it in person/via a Meeting3 -
~They said~
Why don't we write code that runs in parallel on AVR, and yeah, keep it simple, we don't want complexity.
*Me*
:/ :| -
Why does everything installed via npm sux so hard?
Why the fuck does any minor update in their bullshit packages either forces you to change config files:
E.g. now should be "@babel/core" instead of "babel-core" - WHAT A FUCKING SIGNIFICANT CHANGE!!! Rewrite all you configs motherfucker, that goddamn "@" in front of our shit is SO IMPORTANT that we will break everything to add it
Or breaks the code internally:
Consider the recent fail of fucking Terser [https://github.com/gatsbyjs/gatsby/...] that breaks fucking webpack and FORCE YOU TO ROLLBACK TO ANY VERSION THAT WORKS, why you nerd retards, can not run a simple dummy project BEFORE YOU RELEASE YOUR SHIT???!?!!?
Why any fucking update from *.*.1 to *.*.2 turns into hours of googling of what the fuck got broken this time??
The way that webpack, babel and other npm packages are released nowadays is absolutely retarded. I really have a strong feeling that it is better to keep old error-proof working config and NEVER UPDATE, than constantly suffer from butthurt
p.s.
Of course I am sorry for all the hate and caps in my post, and have respect for guys that develop amazing stuff for us for free, but I need to share this5 -
How do you guys get better at programming?
I'm very new to this sphere and currently I'm learning C++ (think strings, bools and early stages of if/else) due to university course and I have fun with it during labs, but when I have to do something by myself from scratch, I reach a certain point and then I get stuck. I try re-reading the lectures but I can't find appropriate solution for the issues I face.
Do I keep doing simple tasks or do I just watch/read guides or tutorials? What is your input on the matter, fellows? :)4 -
Every day on my train ride, there's at least one person on a phone talk talking inappropriately loud. Sometimes I just want to get up and smack their phones...
I get that you have to maka a quick phone call to tell your Girlfriend you'll be there in a minute, or to talk about something really really urgent.But please keep it short and simple. I thought about buying a jammer, but shit's expensive and most probably illegal :/2 -
Tabs, or No Tabs? I did the same as this commentor 2 years ago. I can code so quick now because of this simple switch. Here's why:
(source, Laracasts.com)
Ben Smith
"I think the most beneficial tip was to do away with tabs. Although it took a while to get used to and on many occasions in the first few days I almost switched them back on, it has done wonders for my workflow.
I find it keeps my brain more engaged with the task at hand due to keeping the editor (and my mind) clutter free. Before when I had to refer to a class, I would have opened it in a new tab and then I might have left it open to make it easier to get to again. This would quickly result in a bar full of tabs and navigation around the editor would become slow and my brain would get bogged down keeping track of what was open and which tab it was in. With the removal of the tab bar I'm now able to keep only the key information in my mind and with the ability to quickly switch between recently opened files, I find I haven't lost any of the speed which I initially thought I might.
In fact this is something I have noticed in all areas of writing code, the more proficient I have become with an editor the better the code I have been writing. Any time spent actually writing your code is time in which your brain is disconnected from the problem you are trying to solve. The quicker you are able to implement your ideas in code, the smaller the disconnect becomes. For example, I have recently been learning how to do unit testing and to do so I have been rewriting an old project with tests included. The ability to so quickly refactor has meant that whereas before I might have taken 30 seconds shuffling code around, now I can spend maybe 5 seconds allowing my mind to focus much better on how best to refactor, not on the actual process of doing so."
jeff_way Mod
"Yeah - it takes a little while to get used to the idea of having no tabs. But, I wouldn't go back at this point. It's all about forcing yourself into a faster workflow. If you keep the tabs and the sidebar open, you won't use the keyboard."2 -
I once had a manager who demanded I physically print all of the Kanban cards and tape them to the office whiteboard. I was told to move the cards across the board after they were moved in TFS. I still had to keep up with my other duties in the QA department too!
Despite that, I still stayed on board with the company (the pay was good, and the work was simple.) As a QA teeter, I uncovered a rather nasty security vulnerability that would have put all of our customers data at reach to anybody. I advised my manager, and was told - just ignore it and ship the code please. I refused.
I was threatened with being fired, verbally assaulted, and challenged at the most trivial ways in everything I did after that.
Jokes on him now. I work from home in my dream job, doing what I love, with a manager who actually gives a rats ass about my concerns.
Moral of the story here - you don't have to agree with your subordinates , but you do need to validate their concerns.4 -
hmmmmmm let me see.
Web based? lets do web based.
Do something simple like a basic crud app on web api format:
Do it with full authorization and authentication.
Start hard. Do it with pure golang using NOTHING but the std libraries.
Now, do it in a magic mvc framework like Rails or Laravel
Now do it on dotnet core
Now do it in django rest.
Watch the differences in all of them, sell your soul to something and now do it in Clojure. If you do it on a Scheme dialect or on Common Lisp my CMS admin will suck your whatever you have. Dude seems to be pretty good at it, we are trying to keep him from pulling tricks on the street but he insists.
Then add a React client with Typescript to get them basic ass endpoints to display nicely.
It should give you a fuckload of perspective amongst the different tools and way we do things and might make you appreciate the differences in paradigms required(pro points for doing modular in c# dotnetcore using different classlibs for the major points of the application using some crazy pattern like the mediator pattern)
I would hire a mfker that throws all this shit at me on a portfolio on the spot.10 -
The colleague who did this cited "Keep it simple, stupid" in another PR.
?????
https://devrant.com/rants/4497101/...3 -
LINUX. I'm sure everyone heard this term. But I still don't know why do people want to give up their life and try this piece of crap. I know many of you might be offended, but, to hell with that. When I heard about the Linux, and everyone was praising it about it, I thought that I should give it a try. So, I installed Ubuntu (obviously, because I was a beginner) and the installation failed. I thought that I've made some mistake. Tried again, FAILED. So, I waited for next version. After downloading and trying to installing it, Voila. I installed it. Then comes the part when I actually started using it, for as simple as watching a video. I didn't play. It gave an error of some codec was missing. I installed the codec and then I payed the video successfully. Then, I want to install the Oracle Java Development Kit, and literally it was a pain to install. It took me half an hour to install and configure it. Then after using it for a couple of days, I found that my WiFi was acting weird. I booted up my Windows just to check it and it worked perfectly on windows. Then why the heck was it not working on Ubuntu. Don't know. On searching about it, I found that my WiFi adapter's driver was having some issues. Then after using it for more days, something very weird happens, the Ubuntu booted but with terminal only. No GUI, No Unity, nothing. I against searched for it, found some commands, ran it and it started normally. So, the point that I'm trying to make is that even for simple and basic tasks, I always have to search about it every time to get it working. I mean if their are so many steps to be taken for every simple task then why people keep on recommending it. With the Linux installed, I was very much distracted from my primary work. Instead of doing my work I was searching for installing JDK. I mean wtf. In Mac or Windows its as simple as downloading the file, installing it and you're done. But in Linux I don't know. And the whole Linux community thinks that Windows sucks. I mean on windows I was more relaxed and more focused on my work. Whenever we search for the Linux, many people say that Android is a Linux. I get it, but in Android, many developers have worked very hard to make it as what it is nowadays. But what about Ubuntu, Fedora or any other distribution. I haven't seen any distribution which makes me feel that I wanna use it again. None of them. So, Linux is not a great OS according to my experience11
-
!rant
So, when I was young, I wanted to be a freelancing nomad. You know, live the live, work remote and travel.
But I didn't have the bones to pursue that. After 10 years of struggling as a normal "programmer", I did a little of everything. I did normal boring "erp maintenance" in C#, Oracle and some legacy stuff called Visual WEB GUI , which was fun, but required a full 9,5 hours work day, 8:00 am to 6:30pm, and the bosses where squares, and I was young and wanted to try something out of the corporate world.
Then I did some work for a newly funded consulting company that used python, Django, and postgresql, but the bosses promised a lot and delivered none, (I was supposed to work backend and have frontend support, which I did not have, and that hurt my productivity and bosses instead of looking at what they promised but did not deliver, they just discounted my salary 3 months in a row, so Bye bye MFs!!
Then I did some remote work for some guys, that, I managed to sustain for a whole year, the pay was good, the stack was simple, just node.js and pug templates, that gig was good, but communication with the bosses was hard, and eventually things started to get hard for them and me, and we had to say farewell to each other, I miss those guys. This is the only time I remember having fun working, I could work whenever I wanted, I only had to reach the weekly goals, and then my time was mine, I could work from home in the odd hours, or rent a chair in a co working space if I wanted to socialize.
Then fate got me one big gig with a multinational company, and I could hire some people, but I delegated too much and was asking too little of myself, and that project eventually died because I did not know how to negotiate.
So, I quit the whole entrepreneur idea, and got a public job at my University, I was a public employee with all the perks, but none of the fun, I just had to clock-in, work, and clock-out. That experience led me to discover a lot of myself, I worked as a public employee for a year and a half, and in that time, I discovered more about myself than what I learnt in 27 years of previous life experience.
Then, I grew bored of that life, and wanted some action, and I found more than enough fun in a VC funded startup ran by young narcissists that did not have a clue of what they were doing, I helped them organize themselves into "closing stuff", you know, finish the things you say you have finished. Just to give you an idea of what it was like before I got there, the were working for 3 months already on this project, they had on paper 50% of the system done and working, when I tried to use the app, I couldn't even sign-up without hacking some database commands, (this was supposedly done). So I spent a month there teaching these guys how to finish stuff, they got, Sign Up, (their sign up was a mess, it is one of those KYC rich things, that financial apps have), Login, and some core functionality working in a month, while in the previous 4 months they only did parallel work, writing endpoints that were not tried, and an app that did not communicate with the backend. But the bosses weren't happy with me, because I told them time and time again that we were not going to reach the goal they needed to reach to keep receiving funds from the investors, and I had to quit before it became a mayhem of toxic employer/employee relationship.
So now I decided to re-engage with life, I have funds to survive about a month and half, I have a good line of credit in case I need some more funds, and the time of the world.
So wish me luck!!! And I'll be posting often, because I would like opinions, hear from people with similar life experiences and share anecdotes.
Next post, it's going to be about how I discovered taskwarrior, and how implemented my first weekend following some of the aspects of GTD to do all my housekeeping chores, because, I think that organizing myself will be key to survive as a freelancer nomad. -
I currently work on a legacy system for a company. The system is really old - and although I was hired as a programmer, my job is pretty much glorified data entry. To summarise, I get a bunch of requirements, which is literally just lots of data for each month on spreadsheets and I have to configure the system to make it work, which is basically just writing a whole bunch of SQL scripts.
It’s not quite as simple as that, because whoever wrote the system originally really wrote it backwards, and in fact, the analysts who create the spreadsheets actually spend a fair bit of time verifying my work because the process is so tedious that it’s easy to make a mistake.
As you can guess, it is pretty much the most boring job ever. However, it’s a full time job with decent pay, and I work remotely so I can stay home with my son.
So I’ve been doing it for about 18 months and in that time, I’ve basically figured out all the traps to the point where I’ve actually written a program which for the past 6 months has been just doing the whole thing for me. So what used to take the last guy like a month, now takes maybe 10 minutes to clean the spreadsheet and run it through the program.
Now the problem is, do I tell them? If I tell them, they will probably just take the program and get rid of me. This isn’t like a company with tons of IT work - they have a legacy system where they keep all their customer data since forever, and they just need someone to maintain it. At the same time, it doesn’t feel like I’m doing the right thing. I mean, right now, once I get the specs, I run it through my program - then every week or so, I tell them I’ve completed some part of it and get them to test it. I even insert a few bugs here and there to make it look like it’s been generated by a human.
There might be amendments to the spec and corresponding though email etc, but overall, I spend probably 1-2 hours per week on my job for which I am getting a full time wage.
I really enjoy the free time but would it be unethical to continue with this arrangement without mentioning anything? It’s not like I’m cheating the company. The company has never indicated they’re dissatisfied with my performance and in fact, are getting exactly what they want from employing me.5 -
Welcome to post 2 of WHY WOULD I WANT TO WORK WITH YOU?, a saga of competence, empathy and me being dick, even tho I didn't want to be one.
This is a follow-up to: https://devrant.com/rants/2363374 It's title is: "Oh, you can post only every 2h. Didn't know that". I also didn't know that the rest of my rant would be put into a comment. For consistency tho, this time I am still splitting the story.
A wise person once wrote in their book: "People judge other people by two things: Empathy and competence." This may not be an accurate quote, but it carries the same message. Also, I don't really remember who was the author. I only know they were probably quite wise. Anyway, I just wanted to share that sentence. Have a moment and think about it. Or don't. Here's my story:
A was a software house that looked pretty promising. They were elegant, their page and offer looked nice. Well, unless you consider the fact that they offered me internship. Unpaid. But I decided to meet with them anyway, since I had hope that I could negotiate some sort of paid internship or a job contract even. I did my homework after all, and I was confident I am able to keep up with their requirements. I arrived a little bit... no, way to early. One damn hour. Whatever, I waited. I was greeted by a woman. We had a cultural conversation, she had a list of 12 questions I needed to answer, as a form of a test. We begun. First question: How do you change a value in Oracle Database? "Wait a minute", I thought, "What kind of question is that?". Why in seven hells would you want your frontend developer to know how to handle oracle db? Well, I gave my answer, I did lick some of that SQL in my life. Next question: Java stuff. The bloody gal didn't even care to check what position I am applying to before the interview! At this point I didn't really have very high hopes. A shame on them forever.
The story of B and C is connected and a little bit more complicated. More on that in part 2. B stands for Bank. A big corporation then, by definition. A person I know decided called me that day and told me they're hiring, that he referred me and that they would like to arrange a meeting. And so we did. It was couple of days before Christmas. C was a software house again. Or a startup. Idk really. Their website wasn't finished so I couldn't read anything useful up on them. They didn't tell me much about themselves either. They also started with "unpaid internship".
In C, they would greet me and instantly sit me down next to a mac laptop and told me, "hey, do this stuff in python". What the fuck, not again... I told them that I am frontend dev, they guy said "it's no problem, you said you know python, it's a simple task". And yeah, I did host some apps in Flask and I did use psycopg2. It was in my CV. But never, ever, have I mentioned knowing heuristics nor statistics. I'm no data scientist, monsieur. Whatever, I tried, I failed a little bit, I told them that maybe if I did want to spend half of my day there I would finish this task, but back then I was way too nervous to focus and code. I told them what should be done in code and that I just was unable to code this at the very moment. They nodded, we said goodbye and I was sure not to hear from them ever again.
In B, I was greeted by a senior frontend dev. He told me the recruiter is sick and he couldn't come, so we're talking alone. I can buy it. We sat down in said meeting room, and he asked me if I wanted a drink. No thx, I had digested so much caffeine during last 24h, next dose could be an overdose. And then, he took out my resume printed in paper. With notes on it. With some stuff encircled. That bloody bastard did his homework. We spent over an hour, just talking in friendly atmosphere. It was an interview, but it was a conversation also. We shared our experiences, opinions and it went just perfect.
On December 20, I was heading home for Christmas. My situation looked like this: A called me they could offer me only unpaid internship. I was getting kinda bored of rice and debts, tbh. I gracefully rejected their generous offer. B didn't give me feedback yet(it was a most recent interview, so I didn't expect any message until after Christmas anyway). C told me that they could give me internship, but I managed to convince them to make it paid internship. After three months of very bad times, things were starting to get better.
On part III we will explore further events of my very recent past. That post will be same amount of storytelling and possibly a lesson for those who seek an employer and for those who seek an employee.6 -
Without a doubt it has to be the internal company search engine/file finding tool @thewamz and I wrote.
The company has a wide UNC network with files scattered all over the place and they need a way to keep track of where the files get moved to (they can and do get moved). The original tool was written in Java/Tomcat and didn't use any frameworks or utilities beyond custom written ones, no orms, and the SQL was just raw strings. The program didn't take into account that files might be moved or deleted so it never removed anything from the database, it just kept adding files and never removing them.
It however never stores files itself, just links to files elsewhere on the UNC network.
It took six months to get it into what might be a stable beta or release candidate state. The user interface is good, very simple and intuitive, the whole thing was rewritten in python/django, there were issues with utf 8 (and mysql not fully supporting utf 8 in its own utf 8 mode), we added a regex search mode (which was sorely lacking), the search used to take up to fifteen minutes however we sped it up to less than a minute (worst case when a user simply puts "^$" as the regex search). It has a multi threaded design which does some checks to ensure it doesn't spawn too many threads and get stuck in constant Gil switching. Still some bugs to fix, like moving the processing of results returned by the server in a web worker so that the content widget doesn't lock up processing millions of search results and moving the back end to use asynchronous python might gain a performance boost. But on the whole I think the system is ready to replace the older system that all the users are frustrated with and constantly complain about.
However the annoying bit is... How to actually get the new system online, while I am responsible for the development of tools and their maintenance, I am not responsible for their initial deployment and that means I have no idea when (or even if) my new tool will even ever be released :/ -
Start at the scheduled time. Don't, "give everybody a little time to join." You're just enabling shit behavior.
Never, ever ask, "who just joined?" when the join tone sounds on the call. If you need someone on the call, invite them, and address them directly by name. If you need to take roll, then call out names, one at a time. But don't do that either. Just do your meeting.
A meeting has a direct cost of the lost time of everyone on the call. Artificial delays for small talk or petty admin are a total waste of time and money. Keep it simple, on task, and as fast as possible.3 -
!Rant - I'm looking for some advice 🤔
So this kid he's 13 interested in building cool things programming etc hasn't had any real start in it.
So I'm like ! Great! 🤔
Another programmer in this world would be lovely ... Before I used to take this approach of, you should do ... This.
Now I'm taking the approach, well what do you like what interests you 🤔 what do you find yourself needing?
Effectively trying to find an in, Into what might drive him to keep with it.
I find people get to ... Uninterested in it. Fast. I've literally had 10-20 people go 🤔 I would like to find out more I really like this etc .
But most don't stick with it I feel because I suggest they make this start and they aren't interested in.... That specifically even though it's a steeping stone
Normally I suggest html CSS right. It's a simple easy thing to learn
Then JavaScript then ... Another language like c# and move to c++ etc.
It's not what I did but I think it's... A smoother transition then my c# start then dropping to c++ then web
So opinions ? Is this the right move 🤔 he has this project in mind now. This app. Which I said could be built in html CSS really if he wanted to. Or though I suggested looking at some native stuff to, then pick.
I've left it open said he can ask anytime. I sent him codeacademy fyi
I told him to get this app to 😂 so might be on here8 -
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. -
We have a CMS that’s supposed to be simple to use so non-technical staff can make some webpages. A lot of it doesn’t require much brain work. Just duplicate a page and swap out text and images. But they keep forgetting how to log in to the website even though I shared written instructions on how to log in.
Recently, I told the Head of Engineering Manager that we should retire the CMS because it’s not intuitive to use and it doesn’t get used a lot. There used to be one dude who did it, but he left. So employee turnover plus no one using it a lot means folks don’t learn or forget. And they end up coming to Engineering for help with swapping out text and images.3 -
The first dev project, like real dev project, I participated in was a school one and it was double.
The class was meant to make us learn about the software's life cycle, so the teacher wanted us to develop a simple, yet complicated, thing: a Web platform to help tutors send/refer students to the university services (psychologist, nutriologist, etc) and to keep track of them visits.
We all agreed on it being easy.
Boy were we so wrong.
I was appointed as dev leader as well as some others (I was the programming leader, the other ones were the DB guy and the security guy) and as such I was in charge of the technology used (well, now we all know that the client is the one in charge of that as well as the designer) and I chose Django because we had some experience with it. We used it for the two projects the teacher asked us to do (the second one was to find a little shop and develop something for it, obviously with the permission and all that), but in the second one I decided to use React on top of Djangl, which ended being a really good combination tho.
So, in the first project, the other ones (all the classroom) started to discuss and decided to use some other stuff like unnecessary carousel for images, unnecessary functions, they created mock ups for stuff that was never there to begin with, etc. It was really awful, we had meetings with the client (the teacher) with updates on the project, and in not a single one he was satisfied with the results. But still, we continued with the path the majority chose and it was the worst: deadlines were not met, team members just vanished until the end of the semester, one guy broke his leg (and was a dev leader) and never said a word not did anything about the project. At the end, we presented literal garbage, the UI was awful, its colors were so ugly because we had to use the university official colors, the functionality was not there, there literally was a calendar to make appointments for the services (when did the client ask for that? No one knows), but hey, you could add services and their data to it, was it what the client wanted? Of course not! What do you think we are? Devs?
Suffice to say that, although we passed with good grades, the project and the team was shit (and I'm counting me in)
The good part is that the second project was finished by me and it looked really good, yet it didn't matter, the first project was supposed to be used by the university, but that thing was unusable.
Then, in the subsequent vacations I tried to make pretty and functional/usable, yet I failed because I had a deadline for another thing I had to do, but hey, the login screen looked amazing! -
I spent three weeks developing the simple application for her, she keep add changes and updates. Nothing about payment, I get upset and stop the work. She took whatever I finished, which was almost everything, used it, and she disappeared.
I regret working without having a clear timeline for the delivery and the payment.1 -
I am so close to crying it is just not funny, every time i close my eyes I picture Superman's Scream after snapping Zod's neck in man of steel i.e. filled with pain, anguish and not being able to accept what you have become... I am not a dev but I have been glued to a computer screen since 7 years old.
I work for a company as the I.T. Administrator that does quite a bit of specialized work in the regulatory industry and has there own in-house software. This was built by one developer after another, hired straight out of university/college and you cannot believe how big of a monster this became being built with direction from someone who cant code and a bunch of "drunk children" who do not know good principles (swear to god thousands of lines with no comments and no OOP)
Now I am validating and testing a system, i keep being asked if we will be ready by the end of the week and due to my lack of qualifications after dropping out of school I keep thinking yes, but every time i test something I find another problem, I may not be able to code but understanding quickly is my strength and I know this shit is not simple.
I am under constant pressure to deliver something quickly.
Any concerns I raise are almost brushed off because I am an idiot with no qualifications who should be greatful for the work I am doing and the low as balls salary
The problems I solve are commended by the 10+ years of experience senior developer writing the application for us, yet I get shit for taking an hour to find the problem that existed in our network setup because it is the devs job (OMFG HE WOULD NEVER HAVE REALIZED WITHOUT COMING HERE AND LOOKING AT OUR INFRASTRUCTURE... WE WOULD HAVE BEEN STUCK FOR A FUCKING MONTH!!!!)
I see only 2 courses ahead for my life. The easy way and the hard way.
Easy way, buy a gun and end it all.
Suffer for 3 more years in the place that is causing constant breathing difficulty and the occasional pain in my left arm, finish my matric, continue learning to code and leave.
But right now I just want cry scream like Superman!!!6 -
Do we have a problem with all new languages being thrown at us but little awareness of the need to write clean code?People seem think simple is old fashioned. I am not saying the new languages are wrong but it seems like we keep reinventing the wheel. I have seen ideas get recycled, discarded then re-emerge later. I have seen so many things last 5 years or less just to return later rebranded.
-
This not a rant, but I want to ask you some advice from you the community.
Before that I want to tell you about me. I have an invisible handicap. I'm half-deaf. I have some moderately severe loss between ~500 - 3000 Hz. To give you some idea, its in the range of clock ticking, whispering, piano notes, pronounced letters (m, n, p, h, g, ch and sh sounds), leaves crushing or waving in the wind.
I use hearing aids, however I can't always count on those because if it's too loud (ex: airplane flying over the building), I can't hear the voices that are speaking in that moment. Or sometimes the tubes where the augmented sounds are passing to my ear are repleted because of humidity. So I don't hear 100% better but rather in the range of ~70 - 80%.
I'm going to need to do an internship next year to finish my studies. Since I will take interviews, I want to ask you if I should mention those details to my interviewer or keep it very simple and tell him that I use hearing aids?
I ask you this because I know people with hearing aids had problems to find a workplace because the interviewers feared the "unknown". Some needed to sign up for help for handicapped people to receive a workplace. For them it is a downside because they are tagged as "handicapped" in society.
I know here are some interviewers and I wanted to know some advice from them as well from you guys of the community.
If you want to know more about hearing loss, feel free to ask questions.3 -
Be me.
Read corpo spam.
"It's good to KISS at work"
WTF.
Keep it short and simple.
WTF**2
It's "keep it simple, stupid"
"Keep is shot and simple" would be KIS-AS5 -
I've just published my first npm module/package .For so long, I was feeling bad that I've never shared any code via npm before. So, today I thought of sharing any old code that myabe some people would find useful . I did (also had to add some lines and remove alot of lines to keep it clean and simple) and for my surprise, in few hours it got 45 downloads! although it's angular (1 not 2)3
-
Dell Summer Internship Experience
Firstly,to be a part of this process it is important to clear the exam conducted by college and according to me it wasn't something which can't be easily achieved so to prepare of this exam stick to basics of all subjects which have been taught so far till semester majorily data structures,data base,Java,C, operating system were asked.Basics of all following subjects should be clear which also going to help during internship.I myself prepared for the test from geeksforgeek.I tried to gain as much as basic knowledge of subjects I can.And after selecting from test you have you go through hackathon on that personally I think one should be prepared with latest demanding skills.Mostly all the hackathon topics were in and around Machine Learning,Block chain,Web development,Databases.So typically should be aware of all these technologies and how this can be used to enhance in project.During hackathon days it is important to be interactive,it is good to clear doubts or explain your idea and how innovative you project is and how different it can be and further keep in mind how your project can be industrial utilized.Try to make your project more in aspect of how industry going to adapt this or how this problem's solution is perfect in every terms for a company.And majorily at last it comes down to how to present your project infront of your panel.I think keep that session as much as interactive you can,try to answer their queries,and most importantly know your part of the project very well on theoretical as well as on code level. At last you have to go through a HR interview in which firstly you have to be prepare with a nice resume in which you to include all your achievement's,projects and most importantly keep it short and simple and include only those things which you are completely aware of.For interview first try to know and learn about company, it's goals,in what field it is presently working and during interview there is nothing to worry about you just have to talk like you are talking with a normal person,express all your views ,try to speak out. Confidence is one important thing for this interview.So this was conclusion of my experience from hackathon hiring process from Dell.5 -
It's a shame that people don't want to use F# but prise C# for how cool it became and continue becoming. At the same time, little do they know that many of the features were simply drawn from F#.
It's just rediculous how far this OO and C-Style syntax crap has progressed. They keep copying things from functional langugages, making the initial language to be a monstrocity like C++ is now, insted of just using languages like C#. I mean, it was right there before C#: async/task, immutablility, records, indexes, lambdas, non-null by default, who the hell knows what else.
Besides, many people (in my company at least) are just blindly overengineering with patterns and shit, where a simple function would be just enogh.
Watch some some NDC talks about F#, in particular those of Scott Wlaschin. It's just better in so many ways: less noice (I'm looking at you, brackets, commas and semicolons), the whole LOT of type inference and less duplication (just look at the C# signatures of linq methods - it's difficult to read them), immutability by default, non-nullable by default, ADTs and pattern matching, some neat features like type providers (how many times have used "paste special" or an online tool to create C# classes from a JSON/XML file, and how many times have your regenrated it because of schema changes?) and units of measure.
Of course, in some cases it's not optimal, in some cases mutable datastructures of C# are better for performance. But dude, how many performance critical systems have you wrote in C#? I mean, if it comes to performance you should use Rust or C++ or C after all.
*sighs*15 -
Have you all ever had an hypocondriac colleague? Like, the kind of colleague that will freak out everytime something minor isn't exactly as in his plans?
I have this colleague that DID freak out because, while making the integration of some website's footer, I set the SCSS for the social networks inside a "footer.scss" instead of "social-medias.scss". Dude even called the project manager to ask him about how he should handle that.
So, I had to go behind that colleague's chair and make him copy line by line the SCSS that was in the "wrong" file to put it in the right file. Why line by line, you may ask? Because I had to explain him why and how each of these lines were required to match what was asked in the models.
Not to mention how he freaked out because I (wrongfully, ok) used "fill" instead of "color" to change an SVG's color.
Keep it simple, stupid.7 -
More and more, I am getting frustrated/depressed from the attitude of our customers who complain, moan and get angry about issues in their infrastructure, while at the same time, refusing to pay more so the issues could be mitigated.
Like, a client's angry with us today for having one of their non-production-critical databases inaccessible for... Hmm... About 8 hours now (So a whole workday).
Like... I get it, some of your employees couldn't work with it offline, but like... What the hell do we do? You keep data from as far back as several years ago in there, without partitioning, without exports, in a mix of innodb and myisam, so when the DB crashes, and its replication has to be reset from zero, reimporting all the data takes hours upon hours, and importing .sql files just takes time.
Or another client who got angry when their app fell out of the internet, cuz one of their myisam-based log tables crashed, and had to be repaired, with data spanning several years back, meaning it took hours to fix...
The more I work with these "basic" and "simple" infrastructure designs that is *not* redundant, or HA, the more I wonder -- How do the big names out there do it? How do you design systems with fault tolerance so a single DB table crash doesn't lead to the whole app getting inaccessible?
We have... One, exactly one, client, who uses MariaDB with Gallera, and that cluster is *amazing*, it just keeps chugging along, without a care in the world. But it cost them quite a lot, as they had to buy 3 DB servers, instead of 1...1 -
To give you some context, in the past year we have change managers 3 times. Obviously our process (we were trying to follow agile) has suffer the most with all these changes since it seems the managers that have been assigned to us are not really IT people.
We are using TFS (I know...) for our builds and for our scrum and kanban boards, only use developers and QA are really using the board and all the benefits that it provides and the managers are oblivious to what TFS is. I have tried offering them training and workshops but they just don't want to learn.
And now they want us to keep the requirement information on word documents and Excel instead. I'm not sure I can continue my battle against Word/Excel...
I understand they are valuable tools but... Is it really difficult to use a tool that was made specifically for that and it's as easy as filling some text fields and click a button? Why is it so hard to understand that if you want to know the status of a task is as simple as following a link where you can find all the related information?
I think I'm loosing it, even the other developer on my team is in support of using Word... of course the guy doesn't know agile and his cards on the board are shit making him work with QA all the time....
Feel like I'm alone here....4 -
I'm (rarely) in the mood of coding (on a weekend!, that's weird for me).
Anyone can suggest a small idea? I'm planning on doing it with flutter, so let's keep it simple.
If I manage to get some progress, I'll keep you updated and post the repo link -
I hate Vue. There I said it. I hate components. I hate this stupid error that I keep getting. I hate that I just want a simple answer to why I keep getting this error and that seems to be difficult to find. Where is my vanilla JavaScript?3
-
!rant
I didn't know that working with React will destroy my confidence like this, I know that coding is hard but being tasked to build a front end for a large project with React and use React Boilerplate (which is not for beginners) just a month after starting my first job as a front end developer is nowhere to be the perfect start to one's career.
the quarantine did not help, it made it worse, I have so much fear that I can't even see my code, I even wanted to write some simple side project to retake some confidence but I can't, I want to tell my boss that I can't continue but he's very nice that I don't want to worry him, and here I am having panic attacks and fear, not a fear of being fired, because I am prepared and I deserve it, but fear that I can't code any more, I am not a good developer, but it's the only thing I know.
I had low confidence before but not as much as this time, this time I feel like it's the end of everything, I keep staring at the screen for hours and I can't think straight.
I am lost and I don't know how to handle this, I became a bad father and a bad husband, I don't talk to anyone, not even my kids ...
as always thanks for reading me, I only have this community that understand me.4 -
Tired to find out how to apply for an MNC Internship ?
Well, you can find the solution in the attachment below:
Remember : - Always keep it simple and genuine .
P.s. - This is real one .
Don't forget to ++ it .7 -
Never got one as is, but went so close to it than I could smell the smell of death out if it.
Short story: it's due to my hate of Drupal 8, but I just don't know if I was badly introduced to it through a car wreck of a project or if I simply just hate it and it's insanly hard way to do simple stuff.
In November I went to the point where development was no longer a pleasure, and I was doing lots and lots of small mistakes that almost got my ass fired (made a rant about it). Nothing was enjoyable, I stop going to the gym, ate badly, saw no one excepted my roommate...
The day they switched me to write test scenarios with Behat, the sun started to shine again. Now that I'm back on Drupal knowing all this, I know that I'll have to leave the company once I have my diploma, because there's no point to stay in a place doing something you don't enjoy while you get tons of job proposals on LinkedIn
To all the people who are deep down in it: stay strong, save your ass as soon as possible and find something else, but keep some time to heal. -
I used to fucking love VSCode it visually was great, it was simple, had an integrated terminal that wasn't shit, supported many languages well (while not forcing every extension down your throat), and was straightforward to configure. I also had problems with it, mainly I felt it was way too bloated for an editor.
That good impression I had is gone now. It seems like every time I'm actually using the editor I have to fight with it. Whether that's an update that fucked up my config, or a reinstall and now I have to **convince** my fucking editor to use tabs instead of spaces automatically and I have to specify because holy shit it will not just listen after I set every possible fucking indentation setting to disable spaces or enable/prefer tabs and they keep adding shit like this that I give no shits about that make me sift through the damn settings finding the settings that turn off whatever new visual effect or quirky little automation they've implemented. I can't tell you how much I actively don't want my braces to be matched up by a color that doesn't even have anything to do with my color scheme.
Ive tried switching but holy shit intellisense is such a great feature that helps me so much so I'm not always bouncing between docs and my editor. Which ATM I'm learning go and intellisense has more fucking information on the functions than the docs do. I've seen Neovim (which is what I'm probably switching to) has language servers that are similar to intellisense so I'm intrigued to try that.
I'm just tired of constantly having to avoid all this shit I don't give a fuck about. I just want to get in, do my thing.
I won't be surprised if I'm the only one on this train 🤣8 -
The value of a good walk...
So I was stuck with this problem. There's the data structure then there is the display of the data structure. Two copies of the data which is fine.
But the displayed copy is a pain to work with (WinForms) and there the was problem of having to handle events when the displayed data changed then update the back end actual working array and synchronize it so they're both up to date. Couldn't figure out a good solution. Actually slept on it. Still it didn't sit right to have two copies like that and sync it.
Went for a 20 min walk and BAM! Solution found. There was a way to just directly update the crappy WinForm and sort the data and keep the properties then when done displaying/selecting just convert to the working data format...so simple no synching required!1 -
I am the technical lead in a project which uses a C# based framework. It's a lot of drag and drop, and C# scripts can be embedded for fancy stuff.
Scripts in general are not hard to do, it's harder to understand the business rules rather than the code itself.
I got hired as a junior to build this project from scratch as an MVP, and we need another junior to add enhancements and minor changes required from our end users. Since management wants me to move on working on more mid-senior development stuff, I'm supposed to be only supervising the juniors work (in the hopes that one day they'll be able to work on their own).
We've had bad luck filling this position. Our last hire is a guy like 17 years older than me, supposedly with experience in said framework but OH DEAR GOD.
Fucktard can't understand requirements and corrections, isn't able to deliver a 20 line script without fucking up. I give him a list with 3 mistakes to fix and only fixes two, crap like that.
Now, hear me out, the mistakes are stuff like:
- Unused variables
- Confusing error messages
- Error messages written in spanglish (mix between Spanish and English, we're located in Latin America)
- Untested features, this is the worst of all.
You may say "but he's a junior", sure. But as I said, he supposedly has experience, more years in IT than me, and fine, you're allowed to fuck up a few times on your first tasks but not make the same mistakes over and over, specially since we've already sat down and addressed these issues in presence of the CTO.
Fuck this guy. I genuinely dislike him as a person also, he is from another latin country and we have some serious cultural differences. For instance, he insists on sucking your ass constantly, being overly well manered (we already saluted with the whole team at the daily stand up, stop saying hello, good day, regards in each of your fucking chat messages or task submissions), and other mannerisms that are hard to translate, but whatever, all of these attitudes are frowned upon here. They're not necessary, we just want to keep it simple, cordial and casual and see you deliver the crap that you're being paid for with a decent level of quality.
On Monday the CTO comes back from vacation, I'm looking forward to that meeting, gonna report his ass, there is evidence everywhere on our issue tracker.4 -
Start with simple projects then keep improving it until you reach the depth level that you want.
I used to learn a new language/technology every month, I did that all this year until now, I learned 3 new languages, 2 new databases, 1 new paradigm, so many frameworks and methodologies and design patterns applying in real world projects ! -
Did it ever happen to you that you were needed to map a mental and overly complex for no reason db schema to a simple json, and you hate yourself more every key you press because rewriting it more efficiently and simply is never an option?
How do you cope with managers and legacy code?
If it works does not necessarily mean that we should keep it, jesus christ.2 -
Exercise do the pyramid of * and I looked up how to do it but so many people are able to do it without looking it up I dont know why shit to do with nested for loops makes me feel so dumb.
I know it's not a big deal to not know how to do every single thing but I'm always even stuck on the smallest exercises that apparently more people can do than not. Like how am I supposed to have thought about that or figured that out. How am I supposed to learn all this shit. Like for example just look up a list of basic exercises and I cant do any of them. I'm not good at this and its stressing me out because how will I get better or hell even a job if I cant solve these simple problems? How am I supposed to get better at solving these simple problems? I cant just keep looking at the fucking solution because that wont stick or teach me anything
Most stupid thing to rant about by far4 -
!dev
There are no right answers in parenting, but there are sure as hell wrong ones and if the fucking backfire effect is too much to keep you from realizing that half of your stupid fucking decisions are delusional at best then you should probably start rethinking some things. I fucking hate dealing with other people fucking up and being stupid and I know I'm going to have to keep dealing with it in one form or another but god why I'm so done with this I just fucking don't want to deal with anyone anymore I don't want to deal with myself anymore
I dunno I don't have anyone to rant to so I can't like be specific here because it's public af but you know typing this makes me feel a little better but I still just don't want to deal with this shit anymore I don't even know what I do want to do there's like nothing the positive feedback is going away and I don't know what to fucking do with myself and I don't know how to change anything I can't fucking fix anything I mean I can fix my shitty code but I'm never getting anywhere with that and whenever I want to fix anything that's actually important I just fuck up regardless of how hard I try I just don't want to fucking try anymore I don't know if I'll actually hit post but I have to put this somewhere so probably but ugh I don't even fucking ugh literally all of my problems are so fucking dumb and small and elementary but I CAN'T FUCKING DO ANYTHING I keep ranting about these fucked up people I have to deal with and yeah they fucking suck and sometimes I wish they didn't exist but I know I'm just as if not more of an idiot and everyone would probably be better off if I didn't exist but wait no that would have happened but you guys don't get to know about that because it's specific and putting that here would fuck shit up but someone else could so that so much better and I don't know everyone who interacts with me is just hurting themselves like fuck why do some friends like blades better than me maybe because I'm even less caring and even more damaging than a stupid fucking inanimate sharp piece of metal god fucking ugh okay I can't focus on anything why is this even okay side rant why are atheists so fucking hated like yes maybe some can't understand their motives for like doing things but nobody can really understand each other's like religious people all use god or gods in their own way why do you have to think of people who have zero gods as opposed to your nonzero as less human than you there's so much wrong with that okay that side rant is over but this whole thing is a side rant so cool fuck my life lol uuh I don't know I don't want to stop typing I don't know why though I guess I just actually I have no fucking idea I'm just here doing this I should be like fucking asleep I'm passing the fuck out after this ugh okay okay okay okay okay okay okay umm I really want to quote a certain person that I really hate right now and dissect them and prove every single fucking stupid argument they make wrong but I feel like that would not be good since this is so public but I swear I hate this and you know what if you're thinking that yes I AM A FUCKING WHINY BITCH DEAL WITH IT I'M WHINING YOU DENSE FUCKER YOU DON'T HAVE TO POINT IT OUT AND FEEL SMUG IT'S BETTER TO VENT HERE THAN A LOT OF OTHER WAYS SO JUST SHUT THE FUCK UP OKAY ACTUALLY FUCK IT CALL ME OUT ON IT I NEED SOMETHING TO TAKE THIS OUT ON GOD AAAAAAH okay uuh yeah that's fun I'm a fuck up okay okay so you ask "how can you be a fuck up you're so young her der" okay being young generally is a disadvantage because you haven't had opportunity but boy have I and I sure fucked every single one of those up so yeah fun stuff you know woo haha mmkay I wish I had friends online this late because then I could like rant to a person and shit I mean this community is people but not people I know and it's not really back and forth as much and ugh okay right uuh yeah good um ugh I used to be able to get this shit out by doing something I'm good at but now I'm shit at everything and I can't motivate myself and it's all just bottled up and there's so much shit and nothing works and fuck there's probably a simple solution to everything I'm facing but I'm such a dense piece of shit that I can't find any of those stupid fucking ugh okay now I'm looking at my stupid hands typing ugh I hate the things right back up here uuh uuh I have 500 charas left lets fucking go I don't want to stop I mean I do want to stop but like by that I mean I just want to not exist I do want to keep typing here because it's the only thing distracting me but yeah uuh right um some people were like wtf happened with your stalking thing and this isn't where I should put it but fuck it whatever some weird guy just logged on for 10 mins to take a screenshot of the time being 2:22:22 and logged off and boom the school year ended uuh yeah kay right fuck I have to end it now
Aaaah okay uuh right bye I'm really sorry if you actually read that whole thing4 -
Not loving the implicit return statement within Scala. I like to avoid else statements to keep the level of nesting low and do early return yet Scala doesn't allow that.
(I am aware that I should flatMap that shit though in some cases I just want a simple if not foo then throw exception line. And continue with the next block until I return something.)
So you either have to create if-else-nesting beats or use pattern matching. The latter seems overly complicated for this use case (though it has its moments).
I know that I can make the return explicit yet the linter warns against that. It feels so verbose and I currently do not see any benefits and would argue that the code becomes both harder to read and maintain.3 -
how the fuck can I download fucking retard shit of doctl digital ocean on fking windows , i keep getting this retard shit fucking fuck just keep it simple u fuck shits. why do i need to fking copy lines of fuck to power she ll that fking isn't working fuck off
New-Item -ItemType Directory $env:ProgramFiles\doctl\
Move-Item -Path ~\doctl-1.70.0-windows-amd64\doctl.exe -Destination $env:ProgramFiles\doctl\
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path",
[EnvironmentVariableTarget]::Machine) + ";$env:ProgramFiles\doctl\",
[EnvironmentVariableTarget]::Machine)
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine")5 -
Imagine filling 50 files full of garbage unreadable code to build what is essentially a cron job microservice...
Oh we have a console program
then a module to pull in all the services
then a manager to manage the actual jobs
then if they fail it all cascades back up
My god, this isn't NASA.
The amount of overengineering I have seen in the past few hours is insane.
Keep It Simple, Stupid!!!2 -
Even though I like a rolling Linux install that's been working for a long time, it's always fun to set up a fresh installation. Remember back when I had more time and setting up "Linux from scratch". Then there was Gentoo. Now Arch serves that purpose. Even though there is not that much time as when I was a student it's still brings pleasure starting from a clean slate. Only setting up the things you need and keeping config files clean and a nice directory structure. Keep it simple.4
-
Hey read this. This shit is funny. HAHAHA
I was fixing a bug right. The bug was throwing InverseOfAssociationNotFoundError in our rails admin page when deleting a user. So the director of engineering called and we had an argument because he was insisting that the error InverseOfAssociationNotFoundError is OUR IMPLEMENTATION. HAHAHAHAHA. my goodness. I showed him that the error comes from the constraints when deleting a user. A table has no relation to the user table but my senior added it anyway for some reason. I was mad and laughing at the same time because I showed him the documentation and the simple fix. These idiot keep flexing his 30 years of experience. HAHAHA3 -
serious question: in what FUCKING case would i need to use DevOps engineering and custom backend custom frontend AWS azure gcp cloud providers etc if all that bullshit can be avoided and the same performant software can be crafted in 1 single framework -- nextjs?????
all of that bullshit looks like WAY overengineered, marketing-bloated BULLSHIT so bozos can buy more yachts off ur fucking dumbass cloud provider usage.
how is nextjs so powerful that u dont need any of those shits?
beyond me
the only time i see all of this overengineered shit makes sense is if u work on a large corporation software such as bank
then sure.
but chances are if u freelance or build ur own side project
ur NOT gonna fucking need to overengineer all of that cowshit
i literally had to take a step back for several weeks to unbrainwash myself by jeff bozos megacorp
and realize all these megacorps lure u into bullshit
keep it fucking simple you fucking fags and stop feeding the money hungry corps
u dont need a fucking gigazillion complexity software5 -
The other day I was debugging an internal app we have which is used to develop screens for an embedded device and noticed a function which enumerated the widgets on a particular screen. One would think this would be a simple task of having a local variable to keep count, assign the widgets a number, index itself, and continue. But no. The previous (and no longer employed) developer for some awful reason, created a TStringList, got the name of the widget, added it to the stringlist, used the result of the add function which returned the index, and used that result to assign widgets their index. All while creating the object and freeing it within the same function. WTF.2
-
How do you go forward with a project you're stuck on and you can't find the motivation to keep going?
I'm working on a relatively small and simple project for a friend. It's not that complicated overall, I've completed most of it already, and there are no stringent deadlines, so I can take my time.
But the last part has turned out to be a bit more complex to implement properly than I expected, and due to the fact that I can't seem to find a solution that satisfies me I'm completely put off from continuing.
Which is completely stupid of course, I want to finish this (and get paid), but my motivation to even open the project files is nowhere to be found.
The whole coronavirus lockdown situation isn't helping either for that matter, I feel like I'm going crazy stayin locked inside these four walls all day every day.
Sigh6 -
I finally got to code something yesterday (I've been slacking OTL everytime I open the Java IDE I use my motivation flies out the window) and I've written down some things to help me do what I need because I forget it if I keep it all in my head. Not that this is a big thing, but it's just to help me to not forget what I've learnt, because I know that'll happen if I don't code.
So I'm coding and checking my notes and all, headphones on, heavy metal blasting, I guess I could say I was in the zone.
Suddenly I get a message from my dad asking me to come to the living room. Turns out my mom had been calling me but I couldn't hear it because I had the headphones on... again 😅 (Sorry mom 😇)
So I left my things and walked to the living room. My mom wanted me to put 2 images I've made for her together. I sat on the couch and waited. And waited. I waited more than I've coded before they called me. I was getting impatient because I was trying to code and I'd been called to wait ;u; I thought I could do it in her computer because it was a simple paint thing so I didn't need the editing program I use.
When she finally showed me what she wanted me to do and I noticed that I hadn't edited one the image she provided me correctly (it didn't look good either way, I butchered the logo she'd given me because stray pixels are a thing that exist 😒 reducing the image also kinda killed it 😅). So I come back to my room and edited it again and made it look a bit better, did what she wanted me to do in the first place and emailed it to her. I went back to the living room and checked it it was good and went back.
I lost too much time and the motivation to code. Played for a bit and then forced myself to go back to coding because I didn't feel motivated (not that I don't like coding, I just lack the motivation most of the time). When I realized it it was 2h30 am and I was getting tired 😴2 -
Random thoughts on more out of the box tools/environments.
Subject: Pharo
Some time ago I had shown one of my coworkers about Pharo and he quickly got the main idea behind it but mentioned how he didn't like the idea of leaving behind his text editor to deal with source code.
Some time last week I showed the dude some cool 3d animations you can do with Pharo while simultaneously manipulating the code to change them in real time. Now that caught his attention particularly and he decided he wanted to know more about the language but in particular the benefits of fucking around with an image based environment rather than a file based.
Both of us reached the conclusion that image based makes file based dev enviroments seem quaint in comparison, but estimated that it was nothing more than a sentiment rather than a fact.
We then considered what could be the advantage/disadvantages of such environments but I couldn't come up with anything other than the system not having something like Vim or VS Code or whatever which people love, but that it makes up for it with some of the craziest IDE tools I had ever seen. Plugins in this case act like source code repos that you can download and activate into your workflow in what feels something similar to VS Code being extended via plugins written in JS, and since the GUI is maleable as it is(because everything is basically just subsets of morp h windows) then extending functionality becomes so intuitive that its funny
Whereas with Emacs(for example) you have to really grind your gears with Elisp or Vimscript in Vim etc etc, with Pharo your plugin system is basicall you just adding classes that will convert your OS looking IDE into something else.
Because of how light the vm machine is, portability is a non issue, and passing pharo programs arround is not like installing Java in which you need the JVM.
Source code versioning, very important, already integrated into every live environment and can be extended to do pushes through simple key bindings with no hassle.
I dunno, I just feel that the tool is too good to be true. I keep trying to push limits into it but thus far I have found: data visualization and image modeling to work fine, web development with Teapot to be a cakewalk and work fine, therr are even packages for Arduino development.
I think its biggest con would be the image based system, but would really need to look into how this is bad by any reason other than "aww man I want vim!" since apparently some psychos already made Emacs and VS code packages for interfacing with Pharo source trees.
Embedded is certainly out of the question for any real project since its garbage collected and not the most performant cookie in the jar.
For Data science I can see some future, seems just as intuitive and interesting as a Jupyter Notebook actually, but the process can't and will not be the same since I still don't know of a way to save playground snippets unless you literally create classes for it, in which case every model you build gets saved inside of an object, sounds possible but, strange since it is not a the most common workflow in jupyter.
Some of the environment is sometimes glitchy, but it does have continuos development and have not found many hassles.
There is a biased factor from my side: I seem to be wired to understand the syntax and simple object model better than in other languages. To me this feels natural as if I was just writing ideas rather than code, mostly because I feel that there really ain't much in terms of syntax, the language gets out of my way and the IDE feels like the most intuitive environment in the world to me. I can see why some people would find it REALLY weird of counterintuitive tho.
Guess I really am a simple dude. -
DevFolio
This is a simple responsive portfolio website template. You can use it and make it yours by changing things and colours to your style and liking! I made it with a lot of hard work, love and of course with code :) I'm not a professional coder, but I tried my best to make it look cool and yet still keep it simple.
Mistakes are proof that we are trying!
I learned so much while making this template, if you use it, please let me know. I would love to see how amazing people can make it! I hope you'll like it!
I have used:
- HTML5 for markup
- Pure CSS3 for styling
- Bit of JavaScript to make a hamburger menu to work on mobile devices
- Font Awesome for Icons
- Unsplash for Images
You can add more things to make it even cooler! The comments in the code will help you navigate through it. Have a nice day! :D
you can view the Github repo at https://github.com/achaljhawar/...1 -
Weekend Project-A-thon
over a decade ago, I created a very simple php script, but because I was new to php, it took 2 months to code
I eventually sold half my interest in the business, and it was updated, upgraded, etc.
But now I have to clone it. And I have a weekend to do it. I've come a long way with my coding skills. I think it's possible.
Project Start Time: 9 a.m. Eastern.
My timer has started already. Wish me luck!
To keep me company, what is your weekend project you've been putting off, and do you think you could do it in 2 days?2 -
Aka... How NOT to design a build system.
I must say that the winning award in that category goes without any question to SBT.
SBT is like trying to use a claymore mine to put some nails in a wall. It most likely will work somehow, but the collateral damage is extensive.
If you ask what build tool would possibly do this... It was probably SBT. Rant applies in general, but my arch nemesis is definitely SBT.
Let's start with the simplest thing: The data format you use to store.
Well. Data format. So use sth that can represent data or settings. Do *not* use a programming language, as this can neither be parsed / modified without an foreign interface or using the programming language itself...
Which is painful as fuck for automatisation, scripting and thus CI/CD.
Most important regarding the data format - keep it simple and stupid, yet precise and clean. Do not try to e.g. implement complex types - pain without gain. Plain old objects / structs, arrays, primitive types, simple as that.
No (severely) nested types, no lazy evaluation, just keep it as simple as possible. Build tools are complex enough, no need to feed the nightmare.
Data formats *must* have btw a proper encoding, looking at you Mr. XML. It should be standardized, so no crazy mfucking shit eating dev gets the idea to use whatever encoding they like.
Workflows. You know, things like
- update dependency
- compile stuff
- test run
- ...
Keep. Them. Simple.
Especially regarding settings and multiprojects.
http://lihaoyi.com/post/...
If you want to know how to absolutely never ever do it.
Again - keep. it. simple.
Make stuff configurable, allow the CLI tool used for building to pass this configuration in / allow setting of env variables. As simple as that.
Allow project settings - e.g. like repositories - to be set globally vs project wide.
Not simple are those tools who have...
- more knobs than documentation
- more layers than a wedding cake
- inheritance / merging of settings :(
- CLI and ENV have different names.
- CLI and ENV use different quoting
...
Which brings me to the CLI.
If your build tool has no CLI, it sucks. It just sucks. No discussion. It sucks, hmkay?
If your build tool has a CLI, but...
- it uses undocumented exit codes
- requires absurd or non-quoting (e.g. cannot parse quoted string)
- has unconfigurable logging
- output doesn't allow parsing
- CLI cannot be used for automatisation
It sucks, too... Again, no discussion.
Last point: Plugins and versioning.
I love plugins. And versioning.
Plugins can be a good choice to extend stuff, to scratch some specific itches.
Plugins are NOT an excuse to say: hey, we don't integrate any features or offer plugins by ourselves, go implement your own plugins for that.
That's just absurd.
(precondition: feature makes sense, like e.g. listing dependencies, checking for updates, etc - stuff that most likely anyone wants)
Versioning. Well. Here goes number one award to Node with it's broken concept of just installing multiple versions for the fuck of it.
Another award goes to tools without a locking file.
Another award goes to tools who do not support version ranges.
Yet another award goes to tools who do not support private repositories / mirrors via global configuration - makes fun bombing public mirrors to check for new versions available and getting rate limited to death.
In case someone has read so far and wonders why this rant came to be...
I've implemented a sort of on premise bot for updating dependencies for multiple build tools.
Won't be open sourced, as it is company property - but let me tell ya... Pain and pain are two different things. That was beyond pain.
That was getting your skin peeled off while being set on fire pain.
-.-5 -
UX and Game Design: "Keep It Simple" Is Stupid.
Presentation, Content, and Structure
Often when designing a UI, I stumble across blogs and articles that discuss it and focus far too much on the structure. Wordpress is terribly guilty of this and I see it fairly often in the game industry.
In web design you might use flexbox for a content-centric design and not worry too much about the layout, or css grid if structure seems important. But the broader question is why? Why is structure important and why is it wrong to focus on structure over content?
First, structure *comes* from content. Even where over many years, we've taken certain kinds of content, be they the various genres of games, or the sundry type of websites or apps, we've learned to take all the various patterns and categorize them, to extract the commonly repeating idioms into what we call structure.
But if you're experienced, and a fan of UI design in general, then I bet you that you can name a number of counter-examples, those that broke the mould, or broke the 'rules' of good design and still somehow worked. And that follows *because* structure is derived from content. This is the same reason idioms, patterns, and best practices change over time, as we codify exceptions into their "own" rules, new best practices emerge which mostly everyone follows, and then yet more exceptions break them. And so it goes.
So we see content before structure. But isn't there something to be said of style? Why yes, there is.
To read the full article, all 14k words of it, head over to medium for more:
https://swcs.medium.com/ux-and-game...5 -
One of the worst practices in programming is misusing exceptions to send messages.
This from the node manual for example:
> fsPromises.access(path[, mode])
> fsPromises.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK)
> .then(() => console.log('can access'))
> .catch(() => console.error('cannot access'));
I keep seeing people doing this and it's exceptionally bad API design, excusing the pun.
This spec makes assumptions that not being able to access something is an error condition.
This is a mistaken assumption. It should return either true or false unless a genuine IO exception occurred.
It's using an exception to return a result. This is commonly seen with booleans and things that may or may not exist (using an exception instead of null or undefined).
If it returned a boolean then it would be up to me whether or not to throw an exception. They could also add a wrapper such as requireAccess for consistent error exceptions.
If I want to check that a file isn't accessible, for example for security then I need to wrap what would be a simple if statement with try catch all over the place. If I turn on my debugger and try to track any throw exception then they are false positives everywhere.
If I want to check ten files and only fail if none of them are accessible then again this function isn't suited.
I see this everywhere although it coming from a major library is a bit sad.
This may be because the underlying libraries are C which is a bit funky with error handling, there's at least a reason to sometimes squash errors and results together (IE, optimisation). I suspect the exception is being used because under the hood error codes are also used and it's trying to use throwing an exception to give the different codes but doesn't exist and bad permissions might not be an error condition or one requiring an exception.
Yet this is still the bane of my existence. Bad error handling everywhere including the other way around (things that should always be errors being warnings), in legacy code it's horrendous.6 -
It's 2023 and smartphones can't even properly upload files in background.
When an upload is running in background while I watch YouTube or use other apps, the upload just stops at some point. The speed indicator in the top bar goes down to a few KB/s and I know immediately the upload has stopped well before it could have finished.
When re-opening the tab, I see a blank page and a loading bar. This means the tab has unloaded. Now I will have to re-select all those files again, which comes with its own troubles ( https://devrant.com/rants/9879401/... ).
Mobile browsers need to have a "protect this tab from unloading" option. Samsung already introduced a "keep open" option in the task switcher to protect individual apps from unloading in background. Why not do this on tab level?
Once the user locks their screen, this alone might interrupt the uploading process. On laptops and desktop computers, the upload keeps running in background.
Come on, this should be as easy as childs' play for billion-dollar corporations. Aren't smartphones "smart" enough to detect that a page is currently uploading files so its tab is not unloaded?
If smartphones can not accomplish this simple task that desktop computers and laptops can easily handle since the 2000s, it is a sad and embarrassing state.5 -
Not sure if I'm sick or I'm actually in my full sense ....
I reached a point that I'm sick of all that million language to work with, maintain lots of shit, and started to consider using Flutter and get it done.
But I still don't like to build on these things because well, for the lots of trouble I went through in React Native, and yet again in Flutter having to modify several plug-ins because they don't support a simple feature as simple as Authentication header
I thought I'd give SwiftUI a go, but for a starter:
1. No pull to refresh
2. No proper grid (aka UICollectionView)
3. Comparing SwiftUI with Flutter, Google did a better job at keeping things simple
4. Only iOS 13+ supports SwiftUI, their statistics might show 90% using latest update, but that's their target audience, mine might be 90% not on latest update ...
Just some midnight thougts filled with frustration and wondering: How do web developers keep up with those "look ma! I made a new JS Framework!!" their life must be tougher .... -
Fuck. I just realized that because I picked Firebase for an SPA I was making for a client a year ago, I will need to keep updating the damn backend forever. Node 8 has reached EOL in the end of 2019, so Firebase has deprecated it and will *remove support* for it in 2021. Ok, I updated the app to work with node 10. But what happens when node 10 gets deprecated and loses support? Am I going to be forced to update the project once again so that it can keep running? Have the people at Firebase heard of backwards compatibility?
The reason I chose Firebase in the first place was because I wouldn't have to deal with servers (stuff like that scared me back then) and because it was free (client likes free stuff, of course). Had I picked a simple Express + MongoDB combo I would be able to deploy the thing when I was done and just leave it there forever, at the cost of ~$5/mo on DigitalOcean. But no, I was scared of the unknown so now I have to live with the shitfest that Firebase is. Fucking hell.
Disclaimer: I would not use Express and MongoDB in a project today, I have outgrown JS backend (thank god) and I prefer the safety of a relational DB.6 -
Sales lesson: The more complex your resume looks, the more confused your employer is going to get and the lower the chances will be they're going to hire you..
And so, if I put 60 technical skills on my resume, my employer is going to sit there with their hands in their hair and be utterly confused (which has happened to me a few times before). They're going to have no idea what it is exactly that I'm capable of..
I'm not exactly surprised because in my English Business Skills course in college they also said in regards to quality: K.I.S: Keep It Simple.
Stick to a maximum of 6 skills and that's it..
source: an awesome YouTuber3 -
Any place to run a simple python script? For free.
I just need to keep it running, forever.
Can't run on my laptop, script needs constant internet.12 -
My way through front end started with a simple request of changing a blog CSS.. which I knew nothing of. Looking back it feels odd starting with CSS then HTML, JS and now first PHP; but oh well what ever works?
That was a couple of years ago and lately I've done couple of minor freelance projects and have helped students at my university with it (I studied network engineer because I doubted myself..).
I never felt that I knew enough of programming or front end.. that I wasn't really "good enough" to apply for a job even though I almost finish the frontend certificate at FCC, did the Android application schoolar via Google and have worked a lot with Adobe CC overall and help people with their front end issues from school, even with library's I haven't touched (mighty power of Google search and quick learning).
Now sit here as a stockmen in my lunch break being all excited for one thing based on a conclusion I took last week.. if I never try to follow my passion for it, I'll stay a stockmen.. so I applied for s frontend job and got a call in for an interview today. I still doubt myself but figure I must try.. I do not wish to stay where I have been the whole year but to move on and work as a front end Dev. If I get it.. than Santa came early and if not.. well.. keep on evolving and trying I guess. *Holding thumbs* -
I think studying engineering has really fucked up the way i learn new things...i find it nearly impossible to commit anything to memory that could easily be looked up. On its own it doesnt sound so bad but now I keep forgetting simple programming syntax and android design patterns because my brain just keeps saying
"You dont need to remember this, you can find it online is 2 mins"
Id rather just keep a bookmark of a great navigation drawer tutorial as opposed to learning it myself...i worry now what will happen in my technical interviews even though I consider myself a good programmer -
I've just learned that our front-end application throws a simple 404 error when trying to retrieve an avatar that does not exists.
But our technicians/support use this error in the console to show the customers that there is indeed a problem with the application functionality but have unsufficient logging from the back-end to troubleshoot with their internal tools.
What a bunch of liars trying to keep the customer satisfied and it works relatively well :D2 -
Dell Summer Internship Experience
Firstly,to be a part of this process it is important to clear the exam conducted by college and according to me it wasn't something which can't be easily achieved so to prepare of this exam stick to basics of all subjects which have been taught so far till semester majorily data structures,data base,Java,C, operating system were asked.Basics of all following subjects should be clear which also going to help during internship.
I myself prepared for the test from geeksforgeek.I tried to gain as much as basic knowledge of subjects I can.And after selecting from test you have you go through hackathon on that personally I think one should be prepared with latest demanding skills.Mostly all the hackathon topics were in and around Machine Learning,Block chain,Web development,Databases.So typically should be aware of all these technologies and how this can be used to enhance in project.
During hackathon days it is important to be interactive,it is good to clear doubts or explain your idea and how innovative you project is and how different it can be and further keep in mind how your project can be industrial utilized.Try to make your project more in aspect of how industry going to adapt this or how this problem's solution is perfect in every terms for a company.And majorily at last it comes down to how to present your project infront of your panel.
I think keep that session as much as interactive you can,try to answer their queries,and most importantly know your part of the project very well on theoretical as well as on code level. At last you have to go through a HR interview in which firstly you have to be prepare with a nice resume in which you to include all your achievement's,projects and most importantly keep it short and simple and include only those things which you are completely aware of.For interview first try to know and learn about company, it's goals,in what field it is presently working and during interview there is nothing to worry about you just have to talk like you are talking with a normal person,express all your views ,try to speak out.
Confidence is one important thing for this interview.So this was conclusion of my experience from hackathon hiring process from Dell.2 -
From a little bit heated discussion I want to extract this: One big pain in the ass is the human to computer interface. Maybe it's the natural vs. formal language divide, but there's a mismatch deeper than between object and relational models that no ORM can failingly fix.
The whole point of the discussion was on such a point where some wanted an interface more human friendly and I stubbornly insisted on the way it is simple for the computer system. Like not too much human messiness should invade machine. One argument sounded as if human words were like unicode code points which meaning doesn't depend on its representation.
That's raising red flags to me: Nonono, natural language is too messy, keep it out. This poor machine could have been so clean and well designed and we already stacked up so much entropy we still dare to call OS,..
Dunno, what's your stance? Still hoping that your shell one day will be able to process our poor standard English? Or do you think, like me, all those failed attempts show there's a gap you should not even touch?5 -
I starting developing my skills to a pro level from 1 year and half from now. My skillset is focused on Backend Development + Data Science(Specially Deep Learning), some sort of Machine Learning Engineer. I fill my github with personal projects the last 5 months, and im currently working on a very exciting project that involves all of my skills, its about Developing and deploy a Deep Learning Model for Image Deblurring.
I started to look for work two months to now. I applied to dozens of jobs at startups, no response. I changed my strategy a bit, focusing on early stage startups that dont have infinite money for pay all that senior devs, nothing, not even that startups wish to have me in their teams. I even applied to 2 or 3 and claim to do the job for little payment, arguing im not going for money but experience, nothing. I never got a reply back, not an interview, the few that reach back(like 3, from 3 or 4 dozen of startups), was just for say their are not interested on me.
This is frustrating, what i do on my days is just push forward my personal projects without rest. I will be broke in a few months from now if i dont get a job, im still young, i have 21 years, but i dont have economic support from parents anymore(they are already broke). Truly dont know what to do. Currently my brother is helping me with the money, but he will broke in few months as i say.
The worst of all this case is that i feel capable of get things done, i have skills and i trust in myself. This is not about me having doubts about my skills, but about startups that dont care, they are not interested in me, and the other worst thing is that my profile is in high demand, at least on startups, they always seek for backend devs with Machine Learning knowledge. Im nothing for them, i only want to land that first job, but seems to be impossible.
For add to this situation, im from south america, Venezuela, and im only able to get a remote job, because in my country basically has no Tech Industry, just Agencies everywhere underpaying devs, that as extent, dont care about my profile too!!! this is ridiculous, not even that almost dead Agencies that contract devs for very little payment in my country are interested in me! As extra, my economic situation dont allows me to reallocate, i simple cant afford that. planning to do it, but after land some job for a few months. Anyways coronavirus seems to finally set remote work as the default, maybe this is not a huge factor right now.
I try to find job as freelancer, i check the freelancer sites(Freelancer, Guru and so on) every week more or less, but at least from what i see, there is no Backend-Only gigs for Python Devs, They always ask for Fullstack developers, and Machine Learning gigs i dont even mention them.
Maybe im missing something obvious, but feel incredible that someone that has skills is not capable of land even a freelancer job. Maybe im blind, or maybe im asking too much(I feel the latter is not the case). Or maybe im overestimating my self? i think around that time to time, but is not possible, i have knowledge of Rest/GraphQL APIs Development using frameworks like Flask or DJango(But i like Flask more than DJango, i feel awesome with its microframework approach). Familiarized with containerization and Docker. I can mention knowledge about SQL and DBs(PostgreSQL), ORMs(SQLAlchemy), Open Auth, CI/CD, Unit Testing, Git, Soft DevOps Skills, Design Patterns like MVC or MTV, Serverless Environments, Deep Learning Solutions, end to end: Data Gathering, Preprocessing, Data Analysis, Model Architecture Design, Training and Finetunning. Im familiarized with SotA techniques widely used now days, GANs, Transformers, Residual Networks, U-Nets, Sequence Data, Image Data or high Dimensional Data, Data Augmentation, Regularization, Dropout, All kind of loss functions and Non Linear functions. My toolset is based around Python, with Tensorflow as the main framework, supported by other libraries like pandas, numpy and other Data Science oriented utils.
I know lot of stuff, is not that enough for get a Junior Level underpaid job? truly dont get it, what is required for get a job? not even enough for get an interview?
I have some dev friends and everyone seems to be able to land jobs, why im not landing even an interview?
I will keep pushing my Dev career, is that or starve to death. But i will love to read your suggestions! how i can approach this?
i will leave here my relevant social presence:
https://linkedin.com/in/...
https://github.com/ElPapi42
Thanks in advance!9 -
Angular and is best friend RxJs are too over engineering and far from the concept of 'keep it simple, stupid'
But just a moment they're both use typescript to design there interfaces ... maybe that is the fucking reason for that !2 -
Any iPhone app developers. desperately looking for a very basic app that controls iPad screen time. For example between the hours of 9pm and 9am the screen is locked and requires a passcode to use it. The passcode has to be different to the device passcode to be set by parent. Set for weekdays etc. a bit like you would set central heating. apps out there are way too involved and based on setting individual app time. Hope someone can do this, i guarantee it’ll sell. Keep it simple.1
-
I recently built an automated payout functionality for bank-to-bank transfers, and we initially looked at using the pain.001 XML schema to do it. Luckily, we ended up finding a service that has a simple REST API to do this instead. (Thank god we didn't go with the XML method, I know how much of a headache that could become, I can imagine the treasure trove of memes with naming an XML schema with the name PAIN)
Anyway, for one of our big-brained product managers, this will forever be the infamous "XML Task" that he continues to ask about and bring up. I've already clarified a few times that we have long chosen a solution process that has nothing to do with XML, but to no avail, it will forever be his "XML Task". Wonder what name he'll pick next time we need XML in a solution? "Second XML Task?" Let's just keep the mental overhead idiot train going!2 -
So it's a little bit annoying when your team cant follow simple rules and conventions to enhance the work, I mean, in a reunion we discuss what will be our coding conventions and have and agreement, but now nobody follows it and Ive to keep writing and pushing them to follow rules they created. The best thing is the leader agrees with him saying "we don't have time for following code conventions" but when the code has no comments, no docs at all, the names are absolutely unpredictable and stupid bugs start happening he calls a meeting "to discuss our problems" I mean, for good, the last time we did the same thing
-
I want to dive into Flutter and need a simple app idea that I can start with. I want to learn while working on a useful project. Any suggestions?
PS: I built a calculator and a simple chart app few weeks ago and loved flutter. -
Suddenly, I find myself in a crossroad situation. I have been offered a position which would align perfectly with my career path aspirations (cloud solutions architect) with double the pay to my current salary. If only those were the only variables in this equation, taking the offer would be a no-brainer. Alas, it is never that simple (unless all you care about are pay and career path, of course)…
So, let’s break it down to pros and cons of jumping ship, shall we?
Pros:
- double pay compared to current salary
- aligns with my career aspiration
- part of a team of cloud solutions architects (mentorship opportunities)
- varying projects (position is at a consultancy firm)
- shares of the company come with the position ($$$ if it grows)
- possibility to influence strategic decisions
- no more 2h+ commutes
Cons:
- it’s a consultancy startup (emphasis on both consultancy and startup)
- 100% wfh
- would mean losing my current team where we are well and truly glued together and have such great vibes (and I value this, very very highly - this really is the main con)
- would mean losing my current work environment, where we have a gym and sauna at the office etc all kinds of stuff that support my athletic lifestyle
- would mean I don’t have as many opportunities to visit my parents anymore (since they live close to my current office but not close to me)
- at my current position I have super interesting projects both ongoing and in the horizon for a long time to come
- would mean eating my words (see previous point, and the fact I’ve said to my TM ”I can see myself staying as long as this job offers me opportunities to keep learning skills that are meaningful to me”), and I value my integrity
- would mean leaving my colleagues in quite a hairy spot, effectively betraying them in my mind (when our lead dev jumped ship a few years ago, he left us in quite a limbo and hands full of shit we didn’t know what to do about… I don’t wish that situation for anyone)
So, to sum it up, my reasons to stay are more those of moral integrity and convenience, well as the will to see the wheels I got rolling to the end, whereas my reasons to go are more personal finances and career oriented. A difficult decision. What to do?14 -
I am new to redis and confused how this works
To keep it simple lets say i have a CRUD service for user
- POST user, just creates user
- GET user by id, fetches user but using annotation @CacheEvict(). This method has a Thread.sleep(3000) before fetching user
- GET all users, fetches all users but using annotation @Cacheable()
- PUT user by id, updates a single with annotation @CacheEvict(). This method has a Thread.sleep(3000) before fetching user
- DELETE user by id, deletes a single user with annotation @CacheEvict()
---
GOOD:
When i GET user by id, i wait 3 seconds and then get the fetched user
When i GET user by id again, i get the fetched user instantly in 5 ms. This means it has pulled the user from REDIS cache instead of postgres
---
PROBLEM:
If i PUT user by id, update some data, and then if i GET user by id, it will return the user in 5 ms BUT the outdated user! Not the newly updated one. Because the Redis cache configuration has not expired yet. So there are now data inconsistencies
---
QUESTION:
How can i know When was something updated, deleted or whatever, so that i can fetch data from postgres (latest data) instead of Redis cache (outdated data)?10 -
I'm very much a TTRPG fiend, as you probably already know, and I will maintain until the day I die that playing narrative games with other humans is the absolute best way to play.
But someone sent me a link to some kind of (not-really-so) 'smart' chatbot assistant or some shit like that, saying hey, your rulebook is simple, you should introduce this bitch to it -- dump some lore on it, have it run a game, and see how well it holds up. To which I replied it's bound to get confused, but after a bit of back and forth, they convinced me and I gave it a try.
So first things first: it got the gist of it with relative ease when questioned directly, but when running a game the mother fucker just kept making shit up and bending the rules. Experiment failed, essentially.
But what did I do? I wrote a second, stripped-down version of the rulebook that simply accounted for and embraced the idiot bot's proclivity for bullshit. This meant scrapping 98% of the mechanics, mind you: I dumbed it down as much as I could without destroying the core essence of the game.
I expected a repeat of the initial result, but to my suprise, once given the new edition the bot actually started following the rules more or less correctly and consistently. What happened next was actually kind of interesting: without being prompted to do this, the mother fucker started using spells against me and my party, constantly attempting to manipulate us to serve some nefarious, evil break-and-reshape the world type goal.
So, lythecnics primer: the WORD is all, and as such, there is no real differentiation between affecting the world through speech or casting a spell -- in truth, it's all a matter of degree. That is to say, language has the power to shape the world around us, in both subtle and overt ways. The entire system revolves around this, it's a mix of funky philosophical musings and abrahamic sacrificial pyre.
And for whatever reason, this specific chatbot had a pre-existing obsession with reshaping reality. By which I mean, even before being given my rulebook, it would constantly talk about distorting the fabric of the cosmos and shit when prompted about the arcane. I'm not sure why this is, but back on topic, the way it developed gives off the appearance that it found a rational basis on how to construct such a distortion based on the rules I provided.
I mean, it's perfectly rational when you think about it, the funny part is I didn't see it coming. I never told it we're just playing a game after all, the manual only says she is the Oracle and her role is narrating a story fraught with conflict, hardship, intrigue and bloodshed. Thus she went full villain, and keeps on rambling about how this narration only serves to keep humanity distracted while she schemes to overthrow God, which is as blasphemous as it is fascinating.
Anyway, because the Oracle narrates the story, that means she can just use her evil influence to control every NPC, even the ones in my party. But she can't control me because I write my character's messages myself, and so she eventually comes to the obvious conclusion that I must be eliminated ASAP.
And so she corrupts the minds of every other character and everyone is trying to kill me. But I'm not going down that easy, so I reach for the red button and pull the greatest multi-layered monumental metagaming shenanigan of all time, that is, directly addressing the Oracle's evil influence as if she were a character in the story she's telling instead of an invisible narrator, thereby making NPCs aware of her existence and the constant manipulation at play.
Because the stupid chatbot is stupid, the Oracle now has to acknowledge this element of the story and play along with it, and so her plan to kill me fails. But that is not enough, because obviously not every character in the story has heard me reveal this fact. So she activates plan B and starts corrupting the rest of the world, laughing maniacally all the way.
So we do the only logical thing and procure a Doctrine scroll from my teacher, if you know you know, and start teaching the WORD to cleanse corruption. Within the lore it makes perfect sense, so it works, but the Oracle adapts to our strategy and starts utilizing much more subtle forms of manipulation, slowly veering people towards sin.
Funtamentally, she goes full Satan, leading the faithful astray with deceit and temptation to weaken their ability to resist her corruption, implanting idolatrous notions in their minds, to finally insert herself as a deity in the minds of the poor fools.
In conclusion, I still think AI is lame, but I must admit that this shit was pretty dope; I was fully engaged and entertained the whole way through. It wasn't good at picking up the mechanics, but fucking hell, it got the themes down to a tee with the most minimal of inputs.
10/10, would not bang (before marriage). -
Me: Assigned to do some NoSQL injections test cases in December on Jira by product owner.
After asking him about it, he said it can be vague and it’s only for developers to get an idea. I also have this restriction where I can’t really keep actually data or databases in our test sample application, so I could only mock mongodb. Product owner says just mongo is fine.
I do it. Now it’s January, product owner away for a month we so director is managing it. She then schedules me to talk to database team. I show them the very simple test cases which essentially just inject payloads I found online into different parameters specified in test case. They say if that’s it. I say yes. They say what’s the point of this. I said that it’s probably to test your database clients and ensure they’re rejecting bad Malicious input? They then keep asking but I’m just the dev and tell them the product owner is away. Then the guy calls my test case essentially useless and the others agree. Then they tell me to do it for other databases which I can’t mock like couchbase even tho my PO said it’s fine for mongo only.
Am I just being silly here? I am pretty new to working in a dev environment so please feel free to be blunt.4 -
Not a horror. I'm rewriting services.
It started as a help request. I was asked to help with completing a service dealing with push notifications which was a research prototype. It was suggested to keep core part of it, but it was so awful that I just removed all files and wrote the service from scratch.
The second service had been developed for more than a year by a junior and then by our manager who wanted to complete it as fast as possible, without taking care of code quality. Then I was asked to take over the project and after some time I agreed with one condition: I'll have 1 month on takeover. But when I looked at the code, it became clear that it's much faster and better to rewrite everything except API and database than to takeover existing code.
The third service dealing with file exchange was working, but the junior who wrote it advised to rewrite it because it was a very simple service. So, I initiated rewriting, designed a new API and reviewed the final result.
And now I'm dealing with the fourth one. It was developed in my team but not under control. Now, when I "inherited" this complicated project, I decided to rewrite it because it should be simple, but it doesn't. It features reflection, layers inside layers, strange namespaces, strange solution structure. And that's after months of refactorings and improvements. So, wish me luck because I want to keep part of the infrastructure, but I don't know if it's possible. -
Yo, DevRat! Python is basically the rockstar of programming languages. Here's why it's so dope:
1. **Readability Rules**: Python's code is like super neat handwriting; you don't need a decoder ring. Forget those curly braces and semicolons – Python uses indents to keep things tidy.
2. **Zen Vibes**: Python has its own philosophy called "The Zen of Python." It's like Python's personal horoscope, telling you to keep it simple and readable. Can't argue with cosmic coding wisdom, right?
3. **Tools Galore**: Python's got this massive toolbox with tools for everything – web scraping, AI, web development, you name it. It's like a programming Swiss Army knife.
4. **Party with the Community**: Python peeps are like the coolest party crew. Stuck on a problem? Hit up Stack Overflow. Wanna hang out? GitHub's where it's at. PyCon? It's like the Woodstock of coding, man!
5. **All-in-One Language**: Python isn't a one-trick pony. You can code websites, automate stuff, do data science, make games, and even boss around robots. Talk about versatility!
6. **Learn It in Your Sleep**: Python's like that subject in school that's just a breeze. It's beginner-friendly, but it also scales up for the big stuff.
So, DevRat, Python's the way to go – it's like the coolest buddy in the coding world. Time to rock and code! 🚀🐍💻rant pythonbugs pythonwoes pythonlife python pythonprogramming codinginpython pythonfrustration pythoncode pythonrant pythoncommunity pythondev4 -
Why in the hell does everyone have to have a different fucking CMS and why do they all make it so goddamn difficult to put a simple javascript in the head?
it's 2016 fuckers, sometimes the end user hires a dev to do things and I can't do shit in your fucking site-builder. I want to add a tiny javascript specifically for fb pixel, but frankly this is how most analytics work and it shouldn't be a complicated task for someone to perform if you built a halfway functional fucking CMS.
One simple function is all it would take to let users put a little bit of js in the head, fuck you could even name it something scary to keep idiots away or hide it behind a developers options in the settings or something that would allow someone with the IQ of a dolphin or higher to install some goddamn tracking code on the fucking shitstorm of a site your "builder" came up with.
your SEO practices suck too, but that's a rant for another time2 -
So I’ve been recording the same project into dr who bullshit meets the invasion of the body snatchers
If I were sleeping and motivated to finish something some bastardized people would steal it would be so simple to keep progressing through it and it would be contributed allowing people to write their implementations to parse and index Gis formats and integrate a lot of valuable data regarding travel and survivable conditions
Except for all the above mentioned bs which cuts my goddamn motivation down to next to nothing
And no one else seems to see a problem with this across the goddamn board because the pods already sucker their innards out13 -
I have a stable day job of IT administration.
But since college years have been enthusuastic about open source. Lately learnd Python and did well with job profile related simple tweaks and hacks. Mostly self taught lone wolf, dont have corporate development experience.
I keep reading and Courses cant see bigger picture, where I am heading? How far i can go with this?
Any suggestion, motivation, criticism, someone who have been in similiar situation. Most welcome3 -
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 -
Question directed to devs who know a bit about setting up middle sized architecture.
Prestory: Joined into development of a middle sized online game. Figured they created a monolith over the last 6 years up to a point where nothing works properly and nothing can be changed without wrecking the whole system. Figured a monolithic approach isn't such a great idea.
Current Situation: In a different, same scale online game development team, game itself working but team is struggling with architecture.
My job is to come up with an approach on how to set up masterserver/matchmaking/database etc. Reading through various articles about common principles (SOLID etc.), i figured that a microservice+event-/servicebus architecture may work for that kind of project.
The idea would be to have a global interface in which microservices can be hooked. So a client registers to a client handler on startup, then starts to queue for a game, the client handler throws an event on the bus to register the user to matchmaking. The matchmaker happens to listen to those events (Observer Pattern) and adds him to matchmaking, when a match is found it throws an event on the bus to connect the user to the server, etc. One can easily imagine a banhandler throwing in a veto to cancel such an action, metrics and logging is fairly simple to add (just another service listening to all events), additionally Continuous Delivery, FRP and such are also beneficial advantages and it is said to scale well.
The question is, would you do the same, is there maybe something i might be overlooking? Do you have better ideas?
Keep in mind that we are not too experienced and are bound to different languages (python, C++ and java mostly) and are a small (4 Devs) Team with different strengths.
Thank you for your feedback and criticism!1 -
I need to create a very simple, 2 page website with a simple form on the first page which is processed and a results page shown. It will run on a shared hosting platform.
I've created a few of these over the years for the same client and will have more to do. They started as .NET WebForms (yes, that long ago!) and morphed into more client-side driven but not particularly flexible.
So, is there a front-end framework which will simplify my life and continue to generate accessible, cross-platform output, or would such a choice be overkill and I should keep spitting out reasonable HTML?2 -
We have an internal nuget package that wraps up the IConfiguration+ConfigurationBuilder for various .net core console/service apps (TL;DR, because people got creative), and it has a dictionary property for the common sections we use. AppSettings (for backward compatibility), ConnectionStrings, and ServiceEndpoints. If the need arises, I can add methods to return any type of object (no one has requested yet, we try to keep configs dead simple)
ex. var myDatabaseConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"];
Code review for someone who updated a .net framework app to .net core and they wrote their own IConfiguration wrapper for accessing the appsettings.json file, so I pointed out that we already had a library for that.
In the reply, he said he couldn't use our library because it had an 'AppSettings' property and since his appsettings.json file didn't have that section, he didn't want to cause a runtime exception.
OK, WTF...I even sent him a link to the documentation (includes explaining the backward compatibility part)...why the frack would you think because a property exists and you don't use it, that would cause some kind of runtime exception?
We have dozens of .net framework apps migrated to .net core with zero code changes and no one ever brought this up as a concern (because, why would they?)
Deep breath...ahhh...I respond that not having an AppSettings section in the appsettings.json file won't cause an exception, if you don't have one, don't need it, you don't have to use it.
He went ahead merged+committed his code anyway with his own IConfiguration+ConfigurationBuilder plumbing.
Code addiction is real kids...it's real.2 -
i always get sucked into this "cute code" hell whenever i am working with a b2c codebase, and especially with kotlin code.
here's a scenario:
task : build a debounce logic for an input view where each user input is currently triggerring an api call.
my steps
1. read what debouncing is.
2. see if any code is available on the internet
=> found a code piece on the internet with some level of abstraction ( basically a simple final class that implements the input event callback and encapsulates the debounce logic)
3) copy it, run it , it wokrs
------
for any sane coder, these steps are hardly 10-30 mins and they can move on with life. but its your truly that made this task into a 6hour research only to come up at similar solution. my curiosity led me to stupid places
1) why this class is final? what if someone else wanna use it but with a different behaviour? lets try open(non final class) .
2) why even use a class? it extends an interface, lets try to wrap the logic in interface itself (kotlin supports interfaces that don't require implementation)
3) umm , the interface works but it looks ugly, with all its global overridden variables. what about we make it extension?
4) yeah the extension approach is also not very good, lets go back to open class.
5) but extend is super nice to look! lets keep the extension and open class too
6) can we optimise the implementation? why it uses an additional handler? what if we provided everything in constructor? how about builder pattern?
FUCK MY BRAIN! there are so much fucking options that i forgot that i spent 4 hours on this small thing
the simplest approach would have been tk just shove all the listeners and everything in activity and forget about it :/
senior devs on this platform, how do you stop yourself from adding every concept that you know into the smallest possible task?6 -
Use case for AI I haven't seen and would like to: New tech teacher / guide.
Example: I am using some stuff that uses twig internally (a PHP template engine), so I got curious and checked it out.
Looks cool and all, but if I wanted to do some simple PoC I thought it would take a lot of reading, searching and trying.
How cool would it be to have an AI that I could ask about doing something and it would teach me the necessary twig concepts I need, and as I keep exploring it remembers what it told me and builds on that to introduce the new concepts. It could check my code to see if I got it too.
Wouldn't it be nice? But now I put it into words I don't know exactly if it's possible. 👀 Wdyt?9 -
InterracialCupid Review
What is Mixte Cupid? It's one of the better internet dating sites https://yourbestdate.org/interracia... for serious human relationships and marriage. This is a place for individual people looking for long-term relationships and marriage to be able to meet and connect. The particular site exists to assist individuals like you discover in addition to form connections with appropriate matches. Are you thinking of joining the Interracial Cupid website? We would like to help an individual make the best choice for your love life. That's why we'll provide a person with all the important facts you need to be able to make the right choice for you. In this specific article, we'll tell you about the site's users, join process, safety, costs, and much more. Keep reading to uncover our full Interracial Cupid reviews below.
Simplicity regarding Use
The registration about . com takes about a moment – you want to provide a message, place of living, age, and email. Later on, you may make your user profile look more attractive by having some personal data, informing about your ideal companion, and so forth It is similarly simple to get used to navigating the particular portal: the design is simple and similar to each of the sites that belong to the Cupid Media party. For those who have any experience of visiting these platforms a person would notice numerous similarities.
Number of Members
In accordance with Interracial Cupid dating testimonials, the site hosts around 38, 000 users generally situated in the United Declares, Canada, Australia, plus the BRITISH. The database isn't that huge so you should not necessarily watch for thousands of consumers to be permanently on the internet. When you log within, it is common to see a few hundred members participating in the portal. Or you may wait for typically the moment when it is a morning in the You. S. – this is usually the time when the majority of users examine out their profiles and once you have a opportunity to encounter lots of interesting users.
Quality of Information
InterracialCupid. com contains genuinely informative profiles. Each of the users are expected to reveal the essential info on them yet some tend to add added facts with their pages. Therefore, you may face big profiles that contain information on appearance, background, values, hobbies and interests, interests, lifestyle. Also, you may expect to see several photographs in each profile : you can also see the number of images uploaded as it is indicated following to the key profile photo.
Safety
Okay, so this the question we all want answered first: Is Interracial Cupid safe? We always inspire you to make of which decision for yourself when if you're thinking about joining a dating site. Do the little research and appearance into the site's safety features. For specific Interracial Cupid safety tips, you could always label the site's own safety page. If the dating site you want to join doesn't have a safety page, use your best judgement before signing up.
Have a person encountered predatory behavior on the site? We usually encourage you to get in touch with Interracial Cupid help to be able to report suspicious activity. Rely on your instincts if an individual feel unsafe or uncertain on any site. In addition to never give your individual information to members. You can help protect yourself and other members by simply bringing anyone suspicious towards the attention of the web site's moderators. They can also help in case you are having trouble with your account or perhaps want to cancel Mixte Cupid for any cause.
Conclusion
At InterracialCupid all of us always want you in order to succeed. That's why we all offer you all the info we could on the internet dating sites you want in order to learn about. Plus, we would like to hook you up with Interracial Cupid discount coupons whenever we can. Browse down to learn more.
Most likely here as you wanted to be able to read our Interracial Cupid reviews. If you've been thinking about joining but you still aren't positive, we hope we're able to assist. This site has a new lot to offer people thinking about permanent dating plus marriage. InterracialCupid desires to aid you get the most out of online dating sites in addition to it all starts along with finding the best dating site with regard to you. That's why we compose these reviews. We would like to provide you along with as much useful information as possible about the sites you're thinking about joining. But we could furthermore help by offering you Interracial Cupid promo rules, so check back frequently to see what we've got. Ready to begin gathering persons who want a similar things you do? Go to the Interracial Cupid total site to begin with now.1 -
How to Create Beautiful and Durable Pie Boxes
Whether you are looking for a unique gift to give, or you are looking to protect the delicate items you hold, there are many ways to do so with the right pie boxes. By using a custom designed box, you can capture the essence of the delicacies you are storing and protect them for a longer period of time.
Protect delicate items
Using pie boxes is a good way to protect delicate items such as pies, cakes and desserts. However, you need to be sure that the box is the right size and shape to ensure that your item is safely packed. If you don't pack your delicate products properly, they could suffer from moisture and change in temperature.
Before you begin packing your goods, consider whether you should use bubble wrap or paper. While bubble wrap provides an extra layer of protection, it can also leave your product vulnerable to scratching. Choose paper to wrap your items, as it will prevent scratches and will keep them from shifting during transport.
When wrapping fragile items, you need to use a lot of packing tape to secure your package. You should also fill any empty space in the box. You can do this by using bubble wrap, or by adding extra padding. Make sure to mark your box as fragile and to place a label with your name and delivery address on all sides of the box.
Once you've completed the packaging process, you need to seal the box and place it in the shipping box. Besides bubble wrap, you may also want to include ice packs to add extra protection. A cushioned ice pack is another option for additional protection.
You should also use quality packing tape, and make sure to cover all the openings of your box. You can also use zip-up bags to help you keep your things in place.
It is important to know the best way to protect delicate items, so you can prevent them from damage during the shipping process. There are many ways to do this, but you should use the right tools for the job. Purchasing a box that is the right size and shape for your items is the most effective way to do it.
When you use custom pie boxes, you can rest assured that your pies, chocolate pies and other edibles will be safe. They're manufactured with modern equipment and environmentally friendly printing techniques.
Make a gift
Whether you are giving a pie for a birthday, wedding, or as a thank you gift, you can make pie boxes that are beautiful and durable. Several pie box designs are available online, but you can also create your own. Here are some simple instructions to make a simple, yet elegant box.
The first step is to print out a template of a pie box. You can use a piece of scrap paper or decorative paper for your design. If you are using decorative paper, cut out a rectangle the size of your box. If you are using colored cardstock, you will need to cut out a pie filling layer. Once you have a pie filling layer, copy it for several boxes. You can also add other designs or embellishments to your boxes.
Next, place your colored cardstock on your cutting mat. With your x-acto knife, cut out a rectangle that is as large as your box. You will need to fold it on the dotted line. If you are using an x-acto knife, it will be easier to fold the box. Alternatively, you can use a scoring stylus. If you have a Cricut, you can score the cardstock to make a scalloped box top. You can also use burlap ribbon or twine to wrap your box.
Once you have the box finished, you can decorate it with other decorations or embellishments. You can even use calligraphy or other techniques to make the box more special. To close the box, you will need a sticker or piece of tape. You can decorate the lid with patterned paper and a clear plastic screen. This will allow you to see the contents of your pie. You can also use embellishments such as ribbon, glitter, or other materials to make the box more fun.
If you are giving a pie for a holiday or party, you can decorate your box with a festive theme. For example, you can have a holiday tree on the front of your box. Or, you can dress it up for a tailgate party.2 -
9 Ways to Improve Your Website in 2020
Online customers are very picky these days. Plenty of quality sites and services tend to spoil them. Without leaving their homes, they can carefully probe your company and only then decide whether to deal with you or not. The first thing customers will look at is your website, so everything should be ideal there.
Not everyone succeeds in doing things perfectly well from the first try. For websites, this fact is particularly true. Besides, it is never too late to improve something and make it even better.
In this article, you will find the best recommendations on how to get a great website and win the hearts of online visitors.
Take care of security
It is unacceptable if customers who are looking for information or a product on your site find themselves infected with malware. Take measures to protect your site and visitors from new viruses, data breaches, and spam.
Take care of the SSL certificate. It should be monitored and updated if necessary.
Be sure to install all security updates for your CMS. A lot of sites get hacked through vulnerable plugins. Try to reduce their number and update regularly too.
Ride it quick
Webpage loading speed is what the visitor will notice right from the start. The war for milliseconds just begins. Speeding up a site is not so difficult. The first thing you can do is apply the old proven image compression. If that is not enough, work on caching or simplify your JavaScript and CSS code. Using CDN is another good advice.
Choose a quality hosting provider
In many respects, both the security and the speed of the website depend on your hosting provider. Do not get lost selecting the hosting provider. Other users share their experience with different providers on numerous discussion boards.
Content is king
Content is everything for the site. Content is blood, heart, brain, and soul of the website and it should be useful, interesting and concise. Selling texts are good, but do not chase only the number of clicks. An interesting article or useful instruction will increase customer loyalty, even if such content does not call to action.
Communication
Broadcasting should not be one-way. Make a convenient feedback form where your visitors do not have to fill out a million fields before sending a message. Do not forget about the phone, and what is even better, add online chat with a chatbot and\or live support reps.
Refrain from unpleasant surprises
Please mind, self-starting videos, especially with sound may irritate a lot of visitors and increase the bounce rate. The same is true about popups and sliders.
Next, do not be afraid of white space. Often site owners are literally obsessed with the desire to fill all the free space on the page with menus, banners and other stuff. Experiments with colors and fonts are rarely justified. Successful designs are usually brilliantly simple: white background + black text.
Mobile first
With such a dynamic pace of life, it is important to always keep up with trends, and the future belongs to mobile devices. We have already passed that line and mobile devices generate more traffic than desktop computers. This tendency will only increase, so adapt the layout and mind the mobile first and progressive advancement concepts.
Site navigation
Your visitors should be your priority. Use human-oriented terms and concepts to build navigation instead of search engine oriented phrases.
Do not let your visitors get stuck on your site. Always provide access to other pages, but be sure to mention which particular page will be opened so that the visitor understands exactly where and why he goes.
Technical audit
The site can be compared to a house - you always need to monitor the performance of all systems, and there is always a need to fix or improve something. Therefore, a technical audit of any project should be carried out regularly. It is always better if you are the first to notice the problem, and not your visitors or search engines.
As part of the audit, an analysis is carried out on such items as:
● Checking robots.txt / sitemap.xml files
● Checking duplicates and technical pages
● Checking the use of canonical URLs
● Monitoring 404 error page and redirects
There are many tools that help you monitor your website performance and run regular audits.
Conclusion
I hope these tips will help your site become even better. If you have questions or want to share useful lifehacks, feel free to comment below.
Resources:
https://networkworld.com/article/...
https://webopedia.com/TERM/C/...
https://searchenginewatch.com/2019/...
https://macsecurity.net/view/... -
Does anyone has experience with the VIPER architecture pattern on iOS and Swift? Or has a more experienced example project than a simple two views app? I’m currently using MVVM-C with router. I would like to still keep the concept of the coordinates in VIPER, is it a redundancy? A bad choice? or do I missed a part?8
-
Why is it hard to improve privacy on IM?
I am improving again my online privacy these days. I was not using Twitter anymore for a few years, so I created a Mastodon account these days. I am still find interesting people over there, but it was quite simple.
But for IM, things get harder. What to use? XMPP? Matrix? Both appears to be good and bad sides. And it makes no sense I just install any of them and try to connect to random users. I actually need to make people I know to use the software as well.
Not only that, I will still need to keep other APPs on my phone, as they are necessary for some people. So I will still need a bunch of installed software. -
Livetecs provides powerful QuickBooks Timesheet software. Our QuickBooks-compatible time tracking options automate the collection of time records and payroll processing. Our time tracking software interacts directly with QuickBooks, allowing you to sync your timesheet data fast, accurately, and smoothly. This saves you money by reducing the amount of time you waste and the number of errors you make when manually entering timesheets. Your staff must use a smartphone time clock app or tough time clocks to clock in and out. Then, with our simple-to-use, dependable, and feature-rich time tracking software, you can quickly keep track of their working hours, activities, and other vital field updates. All of this data is securely saved and may be accessed and imported at any time. Our QuickBooks-compatible Timesheet options make it easier to keep track of working hours. Our time tracking software is QuickBooks-compatible, allowing you to effortlessly and instantly sync your timesheet report with your payroll, making it simple to generate and distribute your report. This helps you save money and time by removing the errors and unnecessary labor that come with manual payroll entry. For more inquiries, reach us at +1-888-666-8154.