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 - "more codes"
-
Being paid to rewrite someone else's bad code is no joke.
I'll give the dev this, the use of gen 1,2,3 Pokemon for variable names and class names in beyond fantastic in terms of memory and childhood nostalgia. It would be even more fantastic if he spelt the names correctly, or used it to make a Pokemon game and NOT A FUCKING ACCOUNTANCY PROGRAM.
There's no correspondence in name according to type, or even number. Dev has just gone batshit, left zero comments, and now somehow Ryhorn is shitting out error codes because of errors existing in Charmeleon's asshole.
The things I do for money...24 -
Every day.
I am a PHP developer.
Yeah, "another PHP is awful" rant... no, not really.
It's just unsuitable for some ambitious projects, just like Ruby and Python are.
First of all, DO NOT EVER use Laravel for large enterprise applications. The same goes for RoR, Django, and other ActiveRecord MVCs.
They are all neat frameworks for writing a todo app, as a better-than-wordpress flexible blogging solution, even as a custom webshop.
Beyond 50k daily users, Active Record becomes hell due to it's lazy fat querying habits. At more than a million users... *depressed sigh*.
PHP is also completely unsuitable for projects beyond 5M lines of code in my opinion. At more than 25M lines... *another depressed sigh*.
You can let your devs read Clean Code and books about architecture patterns, you can teach them about SOLID & DRY, you can write thousands of tests... it doesn't matter.
PHP is scaffolding, it's made of bamboo and rope. It's not brick or concrete. You can build quickly, but it only scales up to a certain point before it breaks in multiple places.
Eventually you run into patterns where even 100% test coverage still doesn't guarantee shit, because the real-life edge cases are just too complex and numerous.
When you're working on a multi-party invoicing system with adapters for various tax codes, or an availability/planning system working across timezones, or systems which implement geographical routefinding coupled to traffic, event & weather prediction...
PHP, Python, Ruby, etc are just missing types.
Every day I run into bugs which could have been prevented if you could use ADTs in a generic way in PHP. PHP7 has pretty good typehints, and they prevent a lot of messy behavior, but they aren't composable. There is no way to tell PHP "this method accepts a Collection of Users", or "this methods returns maybe either an Apple or a Pear, and I want to force the caller to handle both Apple/Pear and null".
Well, you could do that, but it requires a lot of custom classes and trickery, and you have to rewrite the same logic if you want to typehint a "Collection of Departments" instead of "Collection of Users" -- i.e., it's not composable.
Probably the biggest issue is that languages with a (mostly) structural type system (Haskell, Rust, even C#/JVM languages to some degree, etc) are much slower to develop in for the "startup" era of a project, so you grab a weak, quick prototyping language to get started.
Then, when you reach a more grown up phase, you wish you had a better type system at your disposal...28 -
I am done with people, I just want one single room, with good internet, dual monitor setup... And I can spend my whole life like that... Being social, fuck that shit... I have devRant for that... and rest, I just want to code, listen to music, drink coffee and sleep like hell...
Why is it that I can understand some other dev's code faster that understanding someone's feelings. Why is it that I am good with principles of Programming Languages, but not the basic Principles of Humanity... Yes, I agree I don't have feelings, but is it wrong not to have feelings, I am a dev, I am supposed to be good with Codes, not humans... I want to be in my small space of close people. (My family), and that's it... I am no good with others. I hate Facebook, but love devRant, I spend more time on StackOverflow than that on WhatsApp. Why is it so... Why29 -
Perhaps not "best", but certainly most amusing, so what the heck!
Years ago as an intern, I applied to a large pharmaceutical company. On part of the application form, you had to enter the code of the department you were applying to.
What I *should have* put down was "IT", which is the department that houses all their devs. However, I didn't actually read any of what the codes meant, assumed that was the department for helping people with how to mail merge, and put down "COMPSCI" instead. This was computational sciences - loosely summarised as computational data analysis on various druggable molecules.
I do *not* have any sort of biology or chemistry background, so the interview was rather... interesting, and I muddled through on the basis of getting some more interview practice assuming it was a no go.
To my amazement, got a phone call saying that they'd been thinking they wanted someone more technical on the team, and despite my lack of scientific experience they thought I'd be a good fit. I was unsure as to whether I should accept for a while, but then decided to just go for it - and had a fantastic internship there, working on a great variety of stuff, and learning tons all under a supervisor who I'm still in touch with to this day.
tl;dr - Applied for the wrong job. Coincidentally got it anyway, and miraculously had a fantastic year working there.8 -
It's maddening how few people working with the internet don't know anything about the protocols that make it work. Web work, especially, I spend far too much time explaining how status codes, methods, content-types etc work, how they're used and basic fundamental shit about how to do the job of someone building internet applications and consumable services.
The following has played out at more than one company:
App: "Hey api, I need some data"
API: "200 (plain text response message, content-type application/json, 'internal server error')"
App: *blows the fuck up
*msg service team*
Me: "Getting a 200 with a plaintext response containing an internal server exception"
Team: "Yeah, what's the problem?"
Me: "...200 means success, the message suggests 500. Either way, it should be one of the error codes. We use the status code to determine how the application processes the request. What do the logs say?"
Team: "Log says that the user wasn't signed in. Can you not read the response message and make a decision?"
Me: "That status for that is 401. And no, that would require us to know every message you have verbatim, in this case, it doesn't even deserialize and causes an exception because it's not actually json."
Team: "Why 401?"
Me: "It's the code for unauthorized. It tells us to redirect the user to the sign in experience"
Team: "We can't authorize until the user signs in"
Me: *angermatopoeia* "Just, trust me. If a user isn't logged in, return 401, if they don't have permissions you send 403"
Team: *googles SO* "Internet says we can use 500"
Me: "That's server error, it says something blew up with an unhandled exception on your end. You've already established it was an auth issue in the logs."
Team: "But there's an error, why doesn't that work?"
Me: "It's generic. It's like me messaging you and saying, "your service is broken". It doesn't give us any insight into what went wrong or *how* we should attempt to troubleshoot the error or where it occurred. You already know what's wrong, so just tell me with the status code."
Team: "But it's ok, right, 500? It's an error?"
Me: "It puts all the troubleshooting responsibility on your consumer to investigate the error at every level. A precise error code could potentially prevent us from bothering you at all."
Team: "How so?"
Me: "Send 401, we know that it's a login issue, 403, something is wrong with the request, 404 we're hitting an endpoint that doesn't exist, 503 we know that the service can't be reached for some reason, 504 means the service exists, but timed out at the gateway or service. In the worst case we're able to triage who needs to be involved to solve the issue, make sense?"
Team: "Oh, sounds cool, so how do we do that?"
Me: "That's down to your technology, your team will need to implement it. Most frameworks handle it out of the box for many cases."
Team: "Ah, ok. We'll send a 500, that sound easiest"
Me: *..l.. -__- ..l..* "Ok, let's get into the other 5 problems with this situation..."
Moral of the story: If this is you: learn the protocol you're utilizing, provide metadata, and stop treating your customers like shit.22 -
TLDR: I wrote one of my firsts codes to help my father. Was really excited after it worked, nobody cared. F*ck them (not really).
So my father comes and says he needs me to help making a simple presentation. Just a title and slides with images. It seemed to be an easy task so I'm like "sure, why not?". So I told him to email the images and I would have the presentation made in no time. The next day I recieve like 30 mails containing from 4 to 10 photos of boats (yes, boats). I stay chill and have the brilliant idea of automating the process with python, just to learn a bit more.
I took some to read the documentation of the modules I was going to use, then write a simple code and bam! In 3 hours I have a presentation with images in it. I open it, every image was 4 times the actual slide and all of the images were randomly rotated, it still was the most rewarding moment I've had in months :') I wanted to show it off to my brothers, so they came to my desktop, saw it and all I recieve was a "cool". Not a good "cool", a "meh" kind of "cool". So I thought it was because of the size bug.
Fastfoward some hours, now every image gets scaled into the slides prefectly, in the correct angle, etc. I tell my dad what I made and he says "yeah sure, the problem is that I need you to give them to have subtitles". He wasn't even impressed. My heart hurt a bit.
I could totally automate the subtitles too (and did it), but what hurt the most is that nobody cared for what I was so pationate about. I'm so fascinated with coding that it replaced all my gaming habits, and now all I do is learn. I want to dedicate a good portion of my life to this but at that moment it seemed nobody in my family cared about it. So this rant is for all those f*ckers that I love but don't know how much my code means to me.21 -
When I was at my lowest, my buddy and me sat in front of the screen, and learned how to code from Bucky Roberts. A few years later, I finally got a proper programming gig, but never stopped freelancing. My buddy on the other hand, studied Computer Science and stopped coding for a while after graduating. 5 years later, today we sat in front of the screen and learned how to code together again. I think he has no idea what he has led me to. If he had not made me code, I would have remained the same boy from the streets. But it is not about me, I have heard so many incredible stories. The more codes you write, the more errors you'll encounter. The more errors you try to solve, the bigger the community grows. It's nice to know, there is a group of people out there, who will spend rest of their lives writing, thinking and interacting. Also, trying to figure out how to centre that piece of shit of a div with CSS! I mean wtf!5
-
I know a guy, about 50 years old. He is a self-taught programmer since he was young, and he has always used Visual Basic (never anything newer than VB6).
He once needed to interface with a web application I wrote, so I asked him to send me a POST HTTP request. He didn't know what I was talking about. No notion of REST, sockets, HTTP, nothing.
The he showed me his code. Actually, his codes. He had multiple copies of the project, one for each version, and he even kept multiple variations of the software in different separate folders. He probably doesn't know what "version control" even means.
You think this is messy. You didn't see the actual code (it's a huge application!).
Spaghetti all over the place. Meaningful variable names, what are they? Default names for the controls, like button1, button2, etc, with forms with more than 30 buttons and text fields. This was the most incomprensibile code I have ever seen.
You might think that this guy is just a hobbyist.
No.
He sells his applications. To companies. They are obviously full of errors, but they buy them.
Now, if you're still with me, two questions come into my mind:
- why?? I hate this, because it's impossible to prove to a non-technical person that this is *not* software development.
- how do I know that, to someone else, I am not like him? How can I be sure that I know and will know what needs to be known?4 -
Here's a follow-up to my New Year's resolutions rant six months ago:
( https://devrant.com/rants/1117379/... )
I've completed (or made significant strides in) 5 of my 7 resolutions:
1) Rid and keep my like free of toxic people. This includes parents.
I have had a serious conversation with everyone who made my life worse and whom I wanted to keep around, outlining my issues with them and my expectations should they want to remain in my life. I happily cut out everyone who refused to change their behavior, including my parents. My life is quieter now, and much nicer.
3) Take care of myself for a change!
I've started this, but with work, a monster, etc. it's been almost prohibitively difficult. Minimal lasting progress despite considerable effort. I will make more time for it and make it happen. (I was down 12 pounds at one point! Though this isn't just about weight.)
4) Stop putting up with things I don't have to.
If I don't like something optional, snip snip!
I no longer wait patiently (fuming) for slow-moving people. If something prevents me from being productive or going about my day, I no longer let it. Carpe diem; calcitrare culus! I have been much more productive and energetic because of this.
5) Actually enjoy things I enjoy.
Okay, this one is very difficult. Whenever I'm not working, I feel like I'm wasting my time. However, I have made a conceited effort every day to take time off and do something that sounds fun. Sometimes that's more work, but usually it's music, a game, a book, exercise, or bed. I'm still working on actually enjoying my time away from work, however, but I'm making progress!
7) Finish de-googling my life.
I no longer use a gmail account (except a work-provided account), nor do I use any of their services unless absolutely necessary (and I do so through TOR). My phone still has Google Play Services; however, I'm working on finding a replacement that I can @Root. (Suggestions welcome!)
------
The two resolutions I haven't yet addressed:
2) Find a well-paying job that isn't also toxic.
My job has gotten less toxic of late, with the boss actually listening and everyone writing up feature requests (with co-sponsors) instead of just dumping them in my lap. I perform an effort analysis on them, and everyone discusses them as a team to determine which actually deserve development time. This is tens of times better than before. I also no longer have to be at the office. In fact, I haven't been there in months -- and don't even remember the alarm codes haha. I may also be getting another developer, though I suspect this is actually a lie.
6) Finally buy a harp. I've wanted one since I was 3 ffs.
I haven't done any research yet on which harp(s) I should buy. Also, I have no idea where I would keep it, so I may defer this until we move, or just get a tiny one (lap-sized and cute!) to practice on. Probably both!
------
It's been six moths, and I'm happy with my progress. 😄9 -
Well, basically
• Coworkers that know their shit
• A boss that once coded/still codes
• A management that consists of people that coded/code
• A pay that's good enough for me to afford more than just a place to live, food and water.4 -
In my current work, I have two systems to work on (let's name em Systems A and B). Both basically do the same thing; both allow users to book facilities available to them.
System A is already in production. My job is to fix any bugs that come up on said system. System B is an improved version that they wanted me to develop. This would follow a different framework etc. I am already halfway through this system.
Now, here's the fucked up part. The code for system A is a massive clusterfuck. It has unused commented code dated back to ancient times where men had the brain of an ape.
And don't get me started on the fucking logic. One part of the code was to retrieve and display the timeslots available for a chosen facility. The code to do that alone takes up 500++ fucking lines, filled with ajax commands, html manipulation and commented, unused codes..AND THAT'S JUST THE FRONTEND!
The fucking backend was not a problem of smelly code anymore. Nope. It was like a programmer had code diarrhea and shat his backend code all over the project. If I had a pin board, I would have made a crazy wall just to understand what some fucknut was trying to achieve.
Anyway, my supervisor told me to fix some bugs on System A. Knowing how the code was, I told her that I could refactor the code. Since I've already achieved that function on System B, with a shorter and cleaner code, I could just copy that and use on System A. But nope. She SPECIFICALLY told me to just "do whatever to fix the bugs. I don't want to waste time on System A." Okay. Makes sense to me. Whatever. I didn't wanna fuck my head up looking through that mess of a cesspool. So, I came up with a few hacks, not thinking of clean code and fixed whatever bugs there was. I then just pushed to the repo (after testing of course).
This bloody morning, supervisor came in and gave me more bugs to fix. When I thought she was done, she said "Hey. I saw the fix you made to the system. The bugs are fixed but the retrieval of the timeslots is now pretty slow. Could you see what is the problem?"
Slow.. She said that it was slow. And asked if I could fix it. I already told her what the problem was and she did not want me to waste time on it. But she wants me to fix it. WHAT THE FUCK IS WRONG IN HER BLOODY HEAD! I SWEAR TO GOD... UGHHHHH I swear I was already waterboarding her in my head. YOU WANT FAST?? How bout fucking allowing me to refactor the code?? Fucking shit head. I think I should take up yoga.1 -
My first real "rant", okay...
So I decided today to hop back on the horse and open Android Studio for the first time in a couple months.
I decided I was going to make a random color generator. One of my favorite projects. Very excited.
Got all the layouts set up, and got a new color every tap with RGB and hex codes, too. Took more time to open Android Studio, really.
Excited with my speedy progress, I think "This'll be done in no time!". Text a friend and tell them what I'm up to. Shes very nice, wants the app. "As soon as I'm done". I expected that to be within the hour.
I want to be able to save the colors for future reference. Got the longClickListener set up just fine. Cute little toast pops up every time. Now I just need to save the color to a file.
Easy, just a semicolon-deliminated text file in my app's cache folder.
Three hours later, and my file still won't write any data. Friend has gone to sleep. Homework has gone undone. My hatred for Android is reborn.
Stay tuned, the adventure continues tomorrow...11 -
My last special snowflakes teacher story. This happend last Friday.
Background: we had to do a "little" project in less than 2 weeks (i ranted about that) and got our degree on Friday. I did a perfectly fine meal suggester, with in my opinion one of the best codes i've ever written.
After getting my degree (which is totally fine and qualifies me as IT technician/ "staatlich geprüfte Informationstechnische Assistentin") i asked him what my grade for the project was.
Me: what was my grade for the project again?
Him: i left it at 90%
Me: why exactly? You seemed to be really excited and liked it obviously. And there was no critique from you after my presentation.
Him: yadda yadda. I can't give you more. Yadda yadda be happy i didn't lower your grade.
Me: why would you lower my grade? This doesn't make sense at all. I matched all your criteria. You wanted a program everyone loved, everyone wanted to buy. There you go. I made exactly that.
Him: i can't give you a 1 (equals an A)
Me: why not?
Him: you wrote to much. I didn't want so much (he never specified a maximum). And you used to advanced code. And there were so many lists and ref - methods. The class couldn't benefit from it.
Me: Excuse me!? The only "advanced code" i used was a sqlite library. And i explained what i did with that. What do you mean by "so many lists" and ref-menthodes. In which methodes am i using ref?
Him: I don't know, i just skimmed through the code.
Me, internal: WHAT THE FUCKING HELL!?
Me: so you are telling me, you didn't even read my code fully and think it is too advanced for the class? And because of that you give a 2 (equals a B)?
Him: yes
I just gave him a deathstare and left after that. What the hell. Yes, i used encapsulation - which is something we hadn't done much in class. But the code is still not more advanced because i use more files -.-16 -
I absolutely hate the way we are taught programming in Indian colleges.
FML #1: I'm pursuing a UG CS course, and this semester, I only had one subject of Computers, that too only 1 credit. The rest with all electronics.
FML #2: In that 1 credit course, we had to make a C++ project which had "data handling". No one cares if you build something cool or not, just that a project should have "extensive use" of data handling.
FML #3: Source code had to be >= 1000 lines. This is the only place where ADDING MORE LINES OF CODES THAN REDUCING IT is appreciated. Had to stuff my code with all kinds of comments and violating the basic principle of DRY.
So, yeah, we're fucked big time. 😥14 -
Him: I am a software engineer.
Me: That is great, do you use specific technology?
Him: Multiple, but my basic is YouTube.
Me: Sorry, I didn't get it? You mean YouTube API?
Him: No need, I have a channel on YouTube... And podcast a lot about software engineering.
Me: So you don't write code anymore?
Him: I didn't, engineering is more than writing codes.
Me: Yes it is....13 -
I love Linux, but its community can be so full of incompetent assholes..
Just now I asked in Freenode ##linux how to get the process ID of my current running process in bash. I got my answer - it's a shell built-in called "$$".
Then people start to nitpick some more - why do you need it? How is that different from an exit? - to which my response was.. well I know the whole idea behind exit codes, and I'd use it whenever possible, in all defined behavior that allows my program to terminate itself whenever it can. This pidfile however would be used to exit itself and provide diagnostic information whenever the program enters undefined behavior - a segfault in C language. Scenarios in which I don't have full control over the script's behavior anymore, such as the system entering an unworkable state where the system stalled, still got some binaries in RAM but the rootfs got unwritable, such as now - very helpfully, thanks HP! - when my laptop likely overheated and shat itself. I issued sudo reboot into it, but even that wouldn't issue properly anymore due to the /sbin/poweroff binary becoming inaccessible too. I had to issue a hard power cycle.. one of the few times in which I'm thankful to HP for actually causing shit like this, lol.
Point is, that undefined behavior is what I'm trying to mitigate against. I certainly can't let any files other than diagnostics remain in nonvolatile storage like that, especially when their state should be predictable in order to ensure good operation (like files expressing whether the script is already running or not, i.e. lock files).
Back to that IRC chat. Aside from the answer, I got ridicule from people who probably don't even know how to properly compile a kernel. Ubuntu users, overconfident scum. Sometimes I feel like I should ask questions in channels like #archlinux only, where such incompetency is ridiculed on its own.13 -
Not just another Windows rant:
*Disclaimer* : I'm a full time Linux user for dev work having switched from Windows a couple of years ago. Only open Windows for Photoshop (or games) or when I fuck up my Linux install (Arch user) because I get too adventurous (don't we all)
I have hated Windows 10 from day 1 for being a rebel. Automatic updates and generally so many bugs (specially the 100% disk usage on boot for idk how long) really sucked.
It's got ads now and it's generally much slower than probably a Windows 8 install..
The pathetic memory management and the overall slower interface really ticks me off. I'm trying to work and get access to web services and all I get is hangups.
Chrome is my go-to browser for everything and the experience is sub par. We all know it gobbles up RAM but even more on Windows.
My Linux install on the same computer flies with a heavy project open in Android Studio, 25+ tabs in Chrome and a 1080p video playing in the background.
Up until the creators update, UI bugs were a common sight. Things would just stop working if you clicked them multiple times.
But you know what I'm tired of more?
The ignorant pricks who bash it for being Windows. This OS isn't bad. Sure it's not Linux or MacOS but it stands strong.
You are just bashing it because it's not developer friendly and it's not. It never advertises itself like that.
It's a full fledged OS for everyone. It's not dev friendly but you can make it as much as possible but you're lazy.
People do use Windows to code. If you don't know that, you're ignorant. They also make a living by using Windows all day. How bout tha?
But it tries to make you feel comfortable with the recent bash integration and the plethora of tools that Microsoft builds.
IIS may not be Apache or Nginx but it gets the job done.
Azure uses Windows and it's one of best web services out there. It's freaking amazing with dead simple docs to get up and running with a web app in 10 minutes.
I saw many rants against VS but you know it's one of the best IDEs out there and it runs the best on Windows (for me, at least).
I'm pissed at you - you blind hater you.
Research and appreciate the things good qualities in something instead of trying to be the cool but ignorant dev who codes with Linux/Mac but doesn't know shit about the advantages they offer.undefined windows 10 sucks visual studio unix macos ignorance mac terminal windows 10 linux developer22 -
We were already working overtime all Saturday. Boss came in the evening to demand some ridiculous shit. Me and senior dev agree it's ridiculous. It's already 1 am Sunday. I already explained to him why it doesn't make sense so he suggest more changes that doesn't even solve his initial problem. He asks me if I can do it by Monday morning. I can't. He suggested way too many breaking changes that I don't even agree with and I have to sleep like a normal human being.
I shit you not, he says he will do it himself. This guy barely even codes and has never seen a single line of code for this project. I didn't stop him. I went home and slept.
End of rant.8 -
Yahoo, Kotlin is the first class language for android. So no more fucking Java codes. No more 100 lines for basic configurations. No more null pointer exceptions.
Only beautiful code and fun.14 -
I started attending this IoT class in some computer training school. During my first class, I was early because I had the raspberry pi class earlier in the day. A guy came up to me and started chatting to me, he was bragging about how he created some big projects, how he works in his dad's company which develops IoT products (he codes it). Later on in class he talked about how he hacked his school's server or something and changed his marks. Whenever he brags, he has a tendency to use a deeper voice (which is pretty annoying).
Anyways so I thought he is pretty good and maybe I can learn a thing or two from him. A few class later, I started having my doubts, why? Because he doesn't know how to debug code, he copies the lecturer's code and still copies it wrong, and he doesn't know what variables and constants are. He uses IE and doesn't know about GitHub.
Now he asks me or the guy in front for help in class. He makes the class more fun, it's funny listening to him brag. Love it.2 -
Marketing for Developers done RIGHT!
<!-- Hey Payoneer Its better to hire me... im better in posting ads on fb and more better in writing codes -->6 -
While I was in university, I used to be a good programmer (which I still am :D ), my friends used to copy my code for the assignments. One day, the teacher (one of my my mentors) called me in his office and said, "this is your code".
I'm like, in my mind, "How did he know this?"
The teacher said, "If you let others copy your code one more time, I will fail you".
I nodded my head in affirmation.
Later I understood that I've been a "Clean code" principle follower even before I knew this term. So, it was pretty easy to differentiate my codes from my friends. The teacher is really a genius ^_^5 -
Ok, so teacher (which should be something like a professional dev or whatever) assigned us a homework for a Christmas (I dont care, I can complete his assignments in like 10 minutes max). We have to do some simple shit in C++, just some loops and input + output. Nothing hard. He challenged me to write it as short as possible, so I did. My classmates have codes around 60 to 70 lines long (after propper formating). I made it 20 lines long using some pointer magic and stuff like that. I tried my code, it ran fucking perfectly, so I sent that to him. He replied that the code does not work. I tried to recompile it and it ran perfectly. Again, it does not work. Afeter 13 fucking emails he fucking finally sent me the error message. Some fucntion was not found (missing some library but literally everywhere else it works without it...). Thats strange, because it run perfectly on my Fedora with CLion, so I switch to Windows and try to run same code in Visual Studio (which we are using in school btw). Works perfectly. So I start arguing with the teacher more and more. I tried around 10 online compilers. Works fuckng everywhere. Teacher is pissed, me too. So I rewrote my whole code, added comments and shit, reinvented wheel literally everywhere. Now I have C99 standardised code over 370 lines long that run even on a fucking arduino after changing input output methods so it can work with it. It (suprisingly runs) on his PC too.
After a bit more arguing, he said that he is using CodeBlocks from fucking 2015. Wow. Just fucking wow. Even our school has some old Visual Studio (2007 I guess) and it worked there.6 -
TLDR: crappy api + idiot ex client combo rant // devam si duška
I saw a lot of people bitching about APIs that don't return proper response codes and other stuff..
Well let me tell you a story. I used to work on a project where we had to do something like booking, but better..crossbreed with the Off&Away bidding site (which btw we had to rip off the .js stuff and reverse engineer the whole timer thingy), using free versions of everything..even though money wasn't an issue (what our client said). Same client decided to go with transhotel because it was sooooo gooood... OK? Why did noone heard of them then?
Anyhow, the api was xml based.. we had to send some xml that was validated against a schema, we received another that was supposed to be validated againts another schema.. and so on and so on..
...
...
supposed..
The API docs were nonexistent.. What was there, was broken English or Spanish.. Even had some comments like Add This & that to chapter xy.. Of course that chapter didn't even exist yet. :( And the last documentation they had, was really really old..more than a year, with visible gaps, we got the validation schemas not even listed in the docs, let alone described properly.
Yaaay! And that was not everything.. besides wrong and missing data, the API itself caused the 500 server error whenever you were no longer authenticated.
Of course it didn't tell you that your session was dead.. Just pooof! Unhandled crap everywhere!
And the best part?! We handled that login after inspecting what the hell happened, but sent the notification to the company anyways.. We had a conf call, and sent numerous emails explaining to them what a 'try catch' is and how they should handle the not authenticated error <= BTW they should have had a handled xml response for that, we got the schema for it! But they didn't. Anyhow, after two agonizing days talking back and forth they at least set up the server to be available again after the horrified 500 error. Before, it even stopped responding until reset (don't ask me how they managed to do that).
Oh yeah, did I mention this was a worldwide renown company?! Where everybody spoke/wrote English?! Yup, they have more than 700 people there, of course they speak English! <= another one of my ex clients fabulous statements... making me wanna strangle him with his tie.. I told him I am not talking to them because no-one there understood/spoke English and it would be a waste of my time.. Guess who spent almost 3 hours to talk to someone who sounded like a stereotypical Indian support tech guy with a flue speaking Italian?! // no offence please for the referenced parties!!
So yeah, sadly I don't have SS of the fucked up documentation..and I cannot post more details (not sure if the NDA still holds even though they canceled the project).. Not that I care really.. not after I saw how the client would treat his customers..
Anywayz I found on the interwebz some proof that this shitty api existed..
picture + link: https://programmableweb.com/api/...
SubRant: the client was an idiot! Probably still is, but no longer my client..
Wanted to store the credit card info + cvc and owner info etc.. in our database.. for easier second payment, like on paypal (which he wanted me to totally customize the payment page of paypal, and if that wasn't possible to collect user data on our personalized payment page and then just send it over to paypal api, if possible in plaintext, he just didn't care as long as he got his personalized payment page) or sth.... I told the company owner that they are fucking retards if they think they can pull this off & that they will lose all their (potential) clients if they figure that out.. or god forbid someone hacked us and stole the data.. I think this shit is also against the law..
I think it goes without saying what happened next.. called him ignorant stupid fucktard to his face and told him I ain't doing that since our company didn't even had a certificate to store the last 4 numbers.. They heard my voice over the whole firm.. we had fish-tank like offices, so they could all see me yelling at the director..
Guess who got laid off due to not being needed anymore the next day?! It was the best day of my life..so far!! Never have I been happier to lose my job!!
P.S. all that crap + test + the whole backand for analysis, the whole crm + campaign emails etc.. the client wanted done in 6 months.. O.o
P.P.S. almost shat my pants when devRant notified my I cannot post and wanted to copy the message and then everything disappeard.. thank god I have written this in the n++ xDundefined venting big time issues no documentation idiot xml security api privacy ashole crappy client rant11 -
!rant but story
https://devin.xyz (v.0.0.1)
My quick and semi-ugly solution to save amazing rants and comments forever and more organized.
What it is and it will be:
- archive of rants and comments from devrant that I found very good
- the original ranters will be informed when their rants are archived
- the original ranters and/or the management team of devRant has the right to request the archive content's total deletion
- every single thing on there will be accessible by anyone anytime anywhere (as log as server is healthy)
- open-source
What it may become:
- anyone can register and save their archive
- dev content archive from other sources
- dev articles blog
What it will never have/be:
- any form of payment
- ads
- tracking (I don't even wanna know how many users are viewing)
- non dev related content
- devRant
I'm willing to create user accounts for anyone interested in very near future. So please buzz me here if you want one.
So far it's a website of Laravel + Voyager + bulma with very minimal custom codes (I had to write below 100 lines of code in total). It is on Vultr server.
I'm gonna maintain and update as much as I can on my spare time. Hence I don't consider this as a collab. However, the code is on gitlab private repo. I'll make the repo public soon as well. Any contribution is gladly welcome. 😄11 -
Last week one of my clients asked me to visit their HQ to take a look at some report tool that has stopped to generate reports. This tool was not made by me, it has zero documentation, but WTH, I can take a look.
So I went to the HQ. When a guy that has called me told me that someone else will be here any second to talk to me, I began to be a little suspicius.
It turned out they want a new app. Not going into detail something that will read bar codes, do some stuff in a database, generate some reports etc. And he need it made in 2 weeks. I have reminded him I am involved in another project that I need to deliver in a month, and it is virutally impossible for me to develop what they want in this time. I offered them that maybe we should hire a team or at least another developer. Hi nodded and ignored what I've said. Well, he said we have maybe 2 weeks more, but that's it. Ok..
So, while working on the other project wich ramained a priority for me, I've began to do some thinking, some research on how to deliver what they want as fast as possible.
Today morning I went to the HQ again to finally take care of that report tool. But never mind that, I also had a chance to talk about the new app. So we made some Agile, wrote down epics, stories, talked about hardware etc. After two hours, it turned out, that more than this bardcode reading app the need something else! Barcode reading yes, but even more they need a scheduler for their emloyees, custom functionalities, plus some HR tools, other fancy stuff. But they don't even have a full concept yet. And it needs to be done until end of the month (9 days), maybe two weeks later.
So again I told them I will not be able to deliver this in set timeframe. That possibly we need to hire someone and even then it's questionable if this will be possible given all circumstances, time needed test, to deploy (in 14 diffrent locations all over the country). Actually if I had all software ready today the deployment, tests, training... So I offered that maybe we can figure out some temporary solution based on third party software.
At this point my requests and suggestions have been ignored again. Sadly my contract with them states I can not pass this to someone else, it all have to go trough them. And tehy don't want to spend extra money (??) etc.
Also from what I understand, this whole company's (~1000 employees) be or not to be can be affected by this project.
Sometimes I just don't understand business.1 -
Hi guys! This is my first rant, please be easy on me.
This is for all who always rant about how horible old codes on existing systems are, compared to what new tech they knew and how better they are as programmers compared to the seniors in the team and how they could have done it better... im getting an impression that it's either your a newbie on a corporate world or a freelancer that has not worked well with a system whos been there for ages... first, most of us devs thinks that they can do better than the previous ones, it is a never ending curse for us proud race but as time goes we would also regret our decision..2nd: cost.. migrating a battle-tested / fully functional system to a new tech would take time and money including training, which the management wont agree unless of course you do it for free.. 3rd: standards.. the company has built a pretty solid standards that changing to a new tech would affect it..there are so many more reasons that the only thing we can do is accept our fate.. coding is fun until the system grows to become an abomination that even its creator regret doing it... it's not our fault, blame the marketting guys! :D
Thank you for reading!12 -
There was a computer programming teacher in my 1st semester who taught C. He used to have this conventional way of teaching C like other Engineering subjects which was going to more theories before writing actual codes.
These are the conversations with him.
(First day, a guy asks him some questions.)
Guy: Sir, why do we need to learn C? There are other languages used extensively for other tasks like python,etc. Why bother with this boring C?
Teacher: C is used to learn other languages. After learning C, you can easily learn other languages.
Guy: Sir, where is C's application? Where is it used?
Teacher: It is used in academics to lay foundation for students to learn other languages which are used to build softwares.
(Fucking Hilarious)
(A month after he was asking some questions to students.)
Teacher: What is an array? What is an array-name?
Student 1: Array, is this collection of data that can be stored in a single type.
Teacher: Then what is an array-name?
Student 1: I don't know.
Teacher: (angrily) Array-name is a definition itself.
(We were supposed to answer that. It was a standard definition.)15 -
Who the fuck uses http code 200 for a failure. Seriously have you ever heard something about a need to parse the shit you're returning...
Now I don't know whether it's me who's wrong, but man there are more than 80 different codes defined so there really should be something for you, don't you think?
And don't give me shit like "well the request worked so we return 200 it's only that the request wasn't correct". What for a fucking peace of something are you... Those codes are for that exact reason.
Anyways I'm going to parse the shit with string compare and afterwards kill myself out of shame. Whish me luck...4 -
I started working for a company something around 1-2 months ago, they said because I don't have any experience with their stack, my salary will be lower than other team members. I said there is no problem and started my work. My first task was refactoring codes that their experienced programmers have wrote. My second task was extracting data layer from views. (They use Laravel and MVC architecture and they get data directly in views, not controllers). So, by end of the month when I talked with my boss I said I should get more money because I was better than your experienced programmers. He refused my request so I said I will not work with your team anymore :)
Anyway, never accept a job if you know you deserve more money than what they say will give you.
P.S: Sorry for my bad English. English is not my native language5 -
Project with a single developer. Main automation used daily by 50% of the team past few years.
...
git server setup? done
hands on workshops? done
invited to ask more questions/for assistance? yes
....1 month later....
Q: Why haven't you pushed your code to the repo? Did you encountered any issues?
A: Why it has to be in the repo when the source code is available on my computer and I copy it into shared folder from time to time?
Everything is set up and was served on a silver plate. I would even assist with the commits before they get used to using it. More than half a year have passed. Yet the source codes are nowhere to be found.4 -
I started a project at high school 7 years ago, I had no idea what's clean code or design pattern, just learn while keep coding. I eventually stopped because my code is so terrible I cannot understand it anymore.
Now, after 1 year of working, I look back those dirty codes and think it is actually not that bad. Within hours I even fixed a bug with concurrency.
I start to think, instead of learning to how to write good code, maybe I should learn how to read bad code. That's just much more practical.5 -
i don't think that i'm having a burnout but i think that i'm maybe not so far away from it... several people, including friends, my therapist and also a colleague, told me they see me at risk of sliding into a real burnout.
i've known this for longer that i have a crappy work life balance. the habit of making work the most important part of my own life. thinking about work even in my private time, when i fall asleep, when i wake up in the night or in the morning. the tendency to think about problems, plans, coworkers, not being able to quit work mentally. the idea that i have to prove to everybody at work that i'm awesome. the feeling that, after a work day, i'm just "waiting" at home for the next day, in idle mode, so i can continue working on a problem (like a bug) that's occupying my whole mind. and at the same time, feeling totally empty after work, having no energy. i've lost interest and quit several hobbies in the last two years that once were important for me. and i think one important reason is that i didn't have any mental energy left to deal with that.
another factor for this development was also the pandemic for sure, because for some time, i had no real social life except for that at work.
but more important is probably that i find my job most of the time really fun and am highly motivated. i have the tendency to say yes to everything and to really commit to and own the problems that are handed to me. (right now, however i feel like there's not much motivation left)
then again there is the feeling that what i do is never good enough, i have little self confidence in my own abilities as a software engineer. there's a big discrepancy between how i myself perceive my work and how other people do (not only at work). on a rational level, i know that what i do is at least "good enough", otherwise i wouldn't have this job, and i wouldn't receive this amount of positive feedback from people. but it's hard to really deeply understand this thing, when there are deep-rooted beliefs like "only perfect is good enough" or "your colleagues will be disappointed and get a negative idea of you (and something bad will happen), if you don't give your best"... and there's also this idea that i have to be this super nerdy person who also codes in their free time, reads IT magazines and stuff, because only then i will fit this stereotype of a software developer, and only then i can be taken seriously and be good enough. no matter if this is fun for me or not.
anyway, right now i'm at a point in life where i'm realizing all this not only rationally, but with full emotional impact... :/ my life feels like it's gone stale and empty. i've lost creativity, warmth and human connection and that hurts a lot.
i'm trying to change my life.
one thing that really helps me right now is to talk with people who have (made) similar experiences. can you relate? if yes, how do / did you address those problems? i would really appreciate to hear your stories...6 -
Lessons I've learnt so far on programming
-- Your best written code today can be your worst tomorrow (Focus more on optimisation than style).
-- Having zero knowledge of a language then watching video tutorials is like purchasing an arsenal before knowing what a gun is (Read the docs instead).
-- It's works on my machine! Yes, because you built on Lenovo G-force but never considered the testers running on Intel Pentium 0.001 (Always consider low end devices).
-- "Programming" is you telling a story and without adding "comments" you just wrote a whole novel having no punctuation marks (Always add comments, you will thank yourself later for it I promise).
-- In programming there is nothing like "done"! You only have "in progress" or "abandoned" (Deploy progressively).
-- If at this point you still don't know how to make an asynchronous call in your favourite language, then you are still a rookie! take that from me. (Asynchronous operation is a key feature in programming that every coder should know).
-- If it's more than two conditions use "Switch... case" else stick with "If... else" (Readability should never be under-rated).
-- Code editors can MAKE YOU and BREAK YOU. They have great impact on your coding style and delivery time (Choose editors wisely).
-- Always resist the temptation of writing the whole project from scratch unless needs be (Favor patching to re-creation).
-- Helper methods reduces code redundancy by a large chunk (Always have a class in your project with helper methods).
-- There is something called git (Always make backups).
-- If you don't feel the soothing joy that comes in fixing a bug then "programming" is a no-no (Coding is fun only when it works).
-- Get angry with the bugs not the testers they're only noble messengers (Bugs are your true enemy).
-- You would learn more than a lot reading the codes of others and I mean a lot! (Code review promotes optimisation and let's you know when you are writing macaroni).
-- If you can do it without a framework you have yourself a big fat plus (Frameworks make you entirely dependent).
-- Treat your code like your pet, stop taking care of it and it dies! (Codes are fragile and needs regular updates to stay relevant).
Programming is nothing but fun and I've learnt that a long time ago.6 -
Got demoted, got a pay raise and don't know how to feel about it. A story of how not to drink with your coworkers?
The story begins roughly 8-9 months ago. Me and this coworker (let's name him Tim) go out drinking after a Friday party at the office. We do some rounds and we're both smashed. Tim starts telling me how he's happy with life and that he's earning a nice salary right now. He told me his salary. It was the same as mine. Which was weird - He codes in a more hardcore languages than me and has almost double the time in the company as me. I think after some more drinking I've confessed that I make the same as him. This part is sort of a blur (drinking). I've gotten a pay raise(+30-40%) roughly a few months ago from that point backwards because another company gave be a much higher offer. The company I work for matched to keep me. Anyway, 3 months or so after the drinking,Tim is promoted to team lead, and me and a few other people are added to his team. Conversation slips and he told me his new salary - quite a bit more than me.I think it's safe to assume what happened.
The problem with that is that I was a team lead of 1 person (me) at that time, and I was managing my own time and my own tasks, was working with people individually. I was part of the weekly meetings with the CEO and other team leads. Being stripped of this title wasn't a problem at the beginning, as people still contacted me because of their problems, suggestions, whatever. A few more months pass (to now) and less and less people are contacting me - instead they are talking with Tim, and are asking of his opinion on tasks I should do, where he has no experience and roughly 0 lines in the programming language I code in. This is starting to piss me off.
There are a couple other things to take into consideration as well - The company is hiring a lot of people right now. The whole structure for team leads changed a bit, more team leads then ever right now and new roles added pretty fast.
I've gotten a pay raise a few weeks ago though(10%~).
I'm not sure on how to react to this. Should I comply and just keep on working on these tasks? Or should I still keep contacting people directly on their requests and talk to them directly, take credit for the projects I complete publicly and the stuff I do as I was previously doing? Part of me wants to reroute all of the stupids questions people have to Tim, as he is now responsible for these tasks and get this weight off my shoulders.
I'm starting to shift to learning a new programming language and thinking of jumping ship. Thoughts?6 -
*follow-up to https://devrant.com/rants/1887422*
The burnt remnants of my ID card's authentication information, waiting for the wind to come pick it up. It's stored in my password database now and committed to my git server, as it should be. Storing PIN and PUK codes on paper, whatever government cunt thought thought that that was a good idea...
If you've got identification papers containing authentication information like PIN and PUK codes, by all means add them to your password manager (if you're using Linux, I'd like to recommend GNU Pass) at once and burn the physical version. There's no reason why you'd want those on paper, unless you store your passwords on a post-it too.
At least that's as much as me and possibly you as citizens can do. Our governments are doomed anyway, given the shitty security policy they have, and likely the many COBOL mainframes still in use today. Honestly, the meddlings of Russia with the US elections doesn't seem too far-fetched, given this status quo. It actually surprises me that this kind of stuff doesn't happen more often, given that certain governments hire private pentesters yet can't secure their own infrastructure. -
Unreal Engine SDLC:
1. Start Epic
2. Wait
3. Start Unity
4. Wait
5. Open Project
6. Wait
7. Wait more
8. a bit longer...
9. (it usually crashes here, or freezes, in which case go to 1)
10. Game opened, make modifications in C++ codes
11. Wait VS to load
12. Wait VS to parse all the file in solution
13. Make changes
14. Compile
15. Run from Unreal
16. (sometimes, go to 9)
17. Goto 9
18. 9
19. Goto 9
20. Congrats on finishing the game, and losing your patience8 -
Half my Instagram likes are just me scrolling down and randomly stopping so it accidentally counts as a like.
Good luck trying to find what I've liked tho! Instagram protects that shit more than the nuclear codes.
Who the fuck developed this shit?35 -
well fuck me, just spent the whole weekend (about 33 hrs) not being able to solve a task from uni with a java program we had to write🙄😪
the problem was a given set of movies with a weekday, the begin time, the duration, the title, and a "score"
the movies take place in one week (random days, random amount of movies) and every movie can be shown multiple times
our task was to find a sequence of non-overlapping (all unique) movies with a score of at least a given number
all in text form
i tried dynamic programming but the more i tried, the more it got complicated, so i ended up using "earliest finishing time first"
my code is just 3 points under the goal and i don't know what to change anymore😒, also some friends did the exact same and succeeded somehow
copying (and obfuscating) won't work, as the codes will be compared by a very good "copy checker"
let's hope i'll still have a chance for an exam😐2 -
Yesterday me and my friend started a project. I set a github repo and said him to "If you make something with code just commit the changes to github so I can see what you did". After a while he said "I've commited something". And I checked what he did. There was 3 commits and they were exactly like that;
Commit 1. Test
Commit 2. Test 2
Commit 3. I wrote something
Then I said "please explain what you did when you commit changes". And he said "why we just upload the codes to the cloud it's more easier".
Today project is ended. Uploading codes to the cloud...6 -
I fucking hate corporate environment. We have a weekly meeting in our tech department where a team is chosen at random to present the project they're working on, architecture and such. You know what? We have fucking documents, for both product scope and technical architecture. If you're interested in our work, go fucking read our docs. If you have a question, slack us or send us a fucking email. Why the fuck do I have to attend a 1-hour meeting every week for this bullshit. Oh and some dude from upper management has a brilliant idea: from today they decide to host 2 such meetings per week, 1 within the tech department, and another within the whole company. So we had to attend the same fucking meeting twice in 1 week!!! Fucking genius!
I'm so fucking tired of these meaningless meetings, but attendance is recommended because "this is how you reach staff level" as they told me. Fucking bullshit. I may try a few more years for the sake of financial stability, and then find a small shop where people just leave me the fuck alone with my codes.4 -
Used a starter to scaffold a new project. Have never used that starter before but it has more than 1400 starts on Github.
Two days after.... so far so good. The created project structure used some tools I haven't used before, some are good, others are not so good, but anyway I am towards the first release of my codes. I have done countless 'npm run build', 'npm run test', 'npm run fix', etc., but.... my fault, I haven't committed once since starting the project, thinking I would commit when the next function is implemented, next test case passed.... after all, what could go wrong anyway?
Finally, one last test case passed, I think I will commit and run 'npm publish'.... but wait, had a glimpse of the scripts section in package.json, there's a command named 'all'. An voice came out of nowhere was talking to my subconscious mind, "all.... build, lint, prettier, test..... yeah you should run all... it's another build script, the worst you can get is just some harmless error messages.....", and my fingers typed 'npm run all'...
Time stopped for a few seconds, file structure in project explorer was shifting, files & folders were disappearing & appearing, what's happening... and I looked at the 'all' script closely for the first time....
WHAT THE HELL, WHO SHOULD PUT 'git reset --hard' IN A BUILD SCRIPT WITHOUT ANY PROMPT????!!!!!!!
MY PLAN WAS TO COMMIT AND GO TO SLEEP, IT'S 1AM NOW!!! WHERE CAN I RECOVER THE LOST FILES????4 -
!Rant #motivation #hugeProject
Yesterday i started a new app and i designed some of it but classes i coded will speed up the whole coding of other parts .
Anyways today i needed to work on the server side of the project and when i was working on setting up the databases structures i realized how big is this project (it uses like 3 APIs) so i was unmotivated because its a side project and it takes alot of time and overall it dont worth it and even app may fail or may be successful.
So i said i dont care about how it will turn out
Im gonna do it , and im gonna do it right now
So i did now its 6 am and the server part is almost finished ! 75% done .
It was a secure login system and signup with verifications and more security stuff and the codes that provide the server status and most of the user parts . And some of the features of the app .
The most hard thing remaining is to setup the in app purchases and the APIs .
So if you see a project that is huge .
Dont give up . Just do it as long as you can
And you will see how much you progress !
And the huge project will be a big project ;)
Then a normal project , then a tiny project :P
Good night1 -
me: i dont wanna get out of bed to check the code, i feel so comfy and lazy
me: *after 10 mins* dammit, need to change this, need to change that, its still fucked up, why is this wrong *codes more* -
What if a code, running a factory, making dev ducks, was buggy? Would these ducks cause more bugs in our codes?2
-
on my college days (8yrs ago), i had to study COBOL as part of syllabus....
you had to write lots of codes as header on every simple program you write, define every variable you gonna use (with how much space they need) upfront..
and you can't leave a blank space any where in the code unless it is required!!
best part? you need to start every line of code with 7 blank spaces! and each line should end at 72 chars...if you have more to type in a line, the next line's 7the char should be a dash(-) to indicate so..
and the compiler's error messages are shit!
now, even with modern languages, people think its hard to code!3 -
Long long time ago when recharge coupons we a thing, I used to try out more codes in the series and waste my time. After failing a lot over this, I started trying out different USSD codes to see what other stuff is out there. This got me to stumble upon facebook and twitter on USSD. I'm not sure now but, twitter was probably *515# from my carrier.
Facebook. I remember chatting for quite a long period using this. Very slow and limited yet, fun. The USSD message expires within ~60secs. so you have to type the chat message before that or you lose everything you typed. The phone was no smartphone that would allow me to copy the text from the USSD input. On top of that panic, was a character limit to these messages. I remember hitting send while being midway through a message just so I don't lose what I typed, on a T-9 keyboard. Still miss those!
The person on the other side would receive a half message due to this, and would start replying without any patience, to which I panicked as now there's a new thing to respond to, and a half message which I'm waiting to complete.
Later over the weekend when I was allowed to visit the cyber cafe for an hour or two with 15-30 INR, reading the chat threads, being able to use the five sticker packs:) and thus continuing on a computer was fun. But, as the time at the cafe expires, I had to immediately shut off my session or I'd be charged more. Thus, I was left in the middle of a conversation again, and had to continue over USSD.
Using social media without any internet like this was quite fun in a weird way. If I get a new message, I'd get a USSD alert, and then an sms if I didn't reply in some 10-15mins!
This had all the features like like and comment. Friend requests too. For the posts in a "timeline" which was new and fancy in those days, all you see is the caption of a post which also gets truncated quite a bit as USSD also has to show it's options like:
1. Like
2. Comment
3. Next Post
4. Main Menu
This was around '13 or '14 I guess. After which I later got my first computer- a laptop. Anyways, the tactile feel of pressing the buttons on a T-9 keypad is nostalgic to me. 😅 And if you were a pro at texting, u must hv used shrtcts lyk dis too w/ emojis lyk :-) <3 -
Since my first post was a success, here's another shameless hack-- in this case, ripping a "closed" database I don't usually have access to and making a copy in MySQL for productivity purposes. That was at a former job as an IT guy at a hardware store, think Lowes/Rona.
We had an old SCO Unix server hosting Informix SQL (curious, anyone here touched iSQL?), which has terminal only forms for the users to handle data, and has keybindings that are strangely vi based (ESC does commit changes. Mindfsck for the users!). To add new price changes to our products, this results to a lengthy procedure inside a terminal form (with ascii borders!) with a few required fields, which makes this rather long. Sadly, only I and a colleague had access to price changes.
Introducing a manager who asks a price change for a brand- not a single product, but the whole product line of a brand we sell. Oh and, those price changes ends later after the weekend (twice the work, back at regular price!)
The usual process is that they send me a price change request Excel document with all the item codes along with the new prices. However, being non technical, those managers write EVERYTHING at hand, cell by cell (code, product name, cost, new price, etc), sometimes just copy pasted from a terminal window
So when the manager asked me to change all those prices, I thought "That's the last time I manually enter all of this sh!t- and so does he". Since I already have a MySQL copy of the items & actual (live) price tables, I wrote a PHP backend to provide a basic API to be consumed to a now VBA enhanced Excel sheet.
This VBA Excel sheet had additional options like calculating a new price based on user provided choices ("Lower price by x $ or x %, but stay above cost by x $ or x %"), so the user could simply write back to back every item codes and the VBA Excel sheet will fetch & display automatically all relevant infos, and calculate a new price if it's a 20% price cut for example.
So when the managers started using that VBA sheet, I had also hidden a button which simply generate all SQL inserts for the prices written in the form, including a "back to regular price" if the user specified an end date, etc.
No more manual form entry for me, no more keyboard pecking for the managers with new prices calculated for them. It was a win/win :)1 -
I once made an oopsie in an API for a logistics provider (one of the biggest in Germany...).
To understand the oopsie...
Based on input data a string must be created containing several hex / string / formatted values.
Think of ...
$return .= sprintf("%02X", ...)
I think there were around 15 to 20 lines, although more complicated.
The bug happened because I had a brainfart.
What was previously one line with... Many many many many variables, I had to split into multiple lines since internal stuff changed and it was impossible to change this oneliner of hell with >50 formatting codes.
Of course we didn't test everything.
XD
What we didn't test was - funnily enough - wether the casting was correct in all cases.
I misplaced a formatting code.
And we had a major brainfart because we tested integer, but not double / float values....
We sent for a long time packages much cheaper than allowed (took thw logistics provider nearly 3-4 months to realize this :) ).
Spot the difference:
@highlight
print sprintf("%01.2s", $money).PHP_EOL;
print sprintf("%01.2f", $money).PHP_EOL;1 -
I'm in a programming school that gives only projects in C and a method to learn quickly.
Then we don't have official web classes or anything so we have "Labs" or "Clubs" and last time I was at a web programming club, leaded by students (because it gives me some more credits).
I was very surprised because they began to try to learn us the Javascript without talking about DOM.
And their explications about server-side and client-side codes were not clear (and obviously not exhaustive).
I have some (not a lot neither) experience in web programming so I helped him to make his course more understandable but I can't believe that these courses are given by students who don't have any idea of what's web programming...3 -
Am i whiny or is resilience so glorified in this field?
I am a junior developer. I was assigned with two projects together with a friend and a senior. My friend and I finished our assigned tasks way before the deadline. Fast forward, my senior got reassigned to a different project since we are lacking with manpower. Naturally, his transactions were assigned to me and my friend. And my goodness, his existing codes are a piece of shit! It's all over the place. His variable naming is shit, his codes are all around the place, his codes doesn't even follow our company's coding standards, no try catch, a lot of unsafe practices. In short, cleaning his code is a pain in the ass and my friend and I got really busy with cleaning his mess. The testing of our system is really near but I just thought that maybe he's really busy with the other project that's why the quality of his codes deteriorated.
He's not. One day, I saw his in discord that he's playing during work hours lol. And the worse part is that he is playing with our boss! YES. DURING WORK HOURS. I got mad but I couldn't say anything because he is really tight with the boss.
Later on that day, we had our meeting. I was surprised when my boss told me that she's expecting that the excel part of our system is already finished. A little background here, my boss asked me to study Excel VB. However, I didnt get to study that much because I was so busy fixing bugs and after that came the cleaning of our senior's shit codes.
So I tried to say these things to my boss but I was cut out by the same senior shouting "You can do it!" over and over again. No one listened to what I was trying to say! And to make it even worse, the boss had a very proud look on her face and she even had the audacity to tell me that I'm lucky I have such a good support system. I dont.
Now, the company is planning to put me in a very demanding project. I havent finished cleaning up my senior's codes, I havent started anything with the excel and the deadline is next week!
The boss told me that even if I enter the other project, that I will still be responsible for the Excel part of our system. So fucking shoot me in the face.They were telling me that I should have a good time management system, that I should be flexible, that I should adapt easily, yada yada yada. She just makes you feel bad about yourself if you're not as 'flexible' as her.
The thing is, even if I have the best time management techniques in the world, if you bombard me with a shitload of tasks, then I won't be able to do it properly! I don't even take breaks anymore! I work literally 8 hours a day, even more than that. And I dont understand, why the hell is she overworking me when her friend (the senior dev) is just playing during work hours?
Another funniest thing is that she told us that when we encounter technical problems, we should ask our senior dev. Oh boy, if only she knows how shitty his codes are.6 -
My codes has mutate from a minor bug to a monstrous one.
It happened when I try to fix the minor bug. Looks like I add more bugs instead.4 -
!Rant
Do you guys know any website that challenges you into coding little programs (for me, php) to solve problems ?
I mean, it would be to train my skills with actual kind of real world problems, not just hello worlds or simple "how-to" codes.
I signed up to a contest recently and I felt really dumb not to be able to find solutions faster or with more efficiency (FYI : I was ranked 1049/2300 all languages included :( )11 -
So for those of you keeping track, I've become a bit of a data munger of late, something that is both interesting and somewhat frustrating.
I work with a variety of enterprise data sources. Those of you who have done enterprise work will know what I mean. Forget lovely Web APIs with proper authentication and JSON fed by well-known open source libraries. No, I've got the output from an AS/400 to deal with (For the youngsters amongst you, AS/400 is a 1980s IBM mainframe-ish operating system that oriiganlly ran on 48-bit computers). I've got EDIFACT to deal with (for the youngsters amongst you: EDIFACT is the 1980s precursor to XML. It's all cryptic codes, + delimited fields and ' delimited lines) and I've got legacy databases to massage into newer formats, all for what is laughably called my "data warehouse".
But of course, the one system that actually gives me serious problems is the most modern one. It's web-based, on internal servers. It's got all the late-naughties buzzowrds in web development, such as AJAX and JQuery. And it now has a "Web Service" interface at the request of the bosses, that I have to use.
The programmers of this system have based it on that very well-known database: Intersystems Caché. This is an Object Database, and doesn't have an SQL driver by default, so I'm basically required to use this "Web Service".
Let's put aside the poor security. I basically pass a hard-coded human readable string as password in a password field in the GET parameters. This is a step up from no security, to be fair, though not much.
It's the fact that the thing lies. All the files it spits out start with that fateful string: '<?xml version="1.0" encoding="ISO-8859-1"?>' and it lies.
It's all UTF-8, which has made some of my parsers choke, when they're expecting latin-1.
But no, the real lie is the fact that IT IS NOT WELL-FORMED XML. Let alone Valid.
THERE IS NO ROOT ELEMENT!
So now, I have to waste my time writing a proxy for this "web service" that rewrites the XML encoding string on these files, and adds a root element, just so I can spit it at an XML parser. This means added infrastructure for my data munging, and more potential bugs introduced or points of failure.
Let's just say that the developers of this system don't really cope with people wanting to integrate with them. It's amazing that they manage to integrate with third parties at all...2 -
I still have the best boss. He's very open-minded and lets me do my job without much interference.
But if I have to collaborate with him in one more project, I go take a peaceful drown in a bucket of sewage!
He codes like a first semester CS student. -
I was just begged to play 30 minutes of monopoly with my family
With all those versions of monopoly I'll have to be more precice, it's the worst of them all
It's monopoly fucking zapped, you need an ios device to play it, it's been developed for the iPhone 4 and maybe a tablet because they didn't even update it for current phones, not even iPhone 5
The credit cards are a fucking joke, they work by touching certain parts of the touchscreen and don't work 85% of the time you try to use them, 5% of the time just choosing the wrong person
At least your relieved when 10% chance kicks in where it works for once
Instead they could developed for Android and used nfc tags making it reliable and fun, no it has to be shitty, cheap and frustrating
Like seriously, they could've also used qr codes instead, or just have fucking buttons on the screen because you need the fucking ios app anyway
The minigames are at least a bit of thought, but don't really make sense either
Money doesn't seem to matter, sometimes paying another player when it shouldve been pay to the bank (yeah, not only the credit cards are fucked, the whole money system is shit)
It's a fucking abomination of a game
Halfway through I searched for the company name on the board...
...
....
ITS FUCKING HASBRO, OF COURSE IT'S FUCKING HASBRO THAT FUCKING PEACE OF SHIT FUCKING COMPANY THAT DESERVES TO ROT IN HELL HAVING CREDIT CARDS STUFFED UP THEIR FUCKING ASSESundefined never again fuck them all to death bullshit hatred fucked up devil profanity i fucking hate hasbro hasbro7 -
Hi guys!
I never thought that this day will come, be here is my first rant with a big dose of frustration.
So, I'm working on the API team of one of ower products and a coworker that works on the webapp has a lot of problems (don't want to be mean, but he has problems like 'i can't catch a 404 http status, please send a 200 with a message' ) and he always go and wines about the API and that he can't do his job because the API is faulty...
But it is not the case, every functionality of the API is well tested and it works as it should.
So, tonight I was the only one left from my team and the project manager comes and
starts asking me about why I am returning http status codes with all my responses, how the login works and other stuff like that...
Just wasted more than an hour to prove that all the code that I wrote works as expected...1 -
When I'm reviewing code that I'm soon to be working on, I like to add comments to document things that aren't self-documenting.
When I encounter something I have no fucking idea about, I usually add:
// NFI
It's my "safe for work" way to indicate that I literally have no fucking idea what they were attempting.
So I'm curious, does anyone have their own comment "codes" that are safe for commits, but translate into something more awesome?4 -
Didn't think I had material for a rant but... Oh boy (at least at the level I'm at, I'm sure worse is to come)
I'm a Java programmer, lets get that out of the way. I like Java, it feels warm and fuzzy, and I'm still a n00b so I'm allowed to not code everything in assembly or whatever.
So I saw this video about compilers and how they optimize and move and do stuff with the machine code while generating the executable files. And the guy was using this cool terminal that had color, autocomplete past commands and just looked cool. So I was like "I'll make that for my next project!"
In Java.
So I Google around and find a code snipped that gives me "raw" input (vs "cooked" input) and returns codes and I'm like 😎. Pressing "a" returns 97 (I think that's the ASCII value) and I think this is all golden now.
No point in ranting if everything goes as planned so here is the *but*
Tabs, backspaces and other codes like that returned appropriate ASCII codes in Unix. But in windows, no such thing. And since I though I'd go multiplatform (WORA amarite) now I had to do extra work so that it worked cross platform.
Then I saw arrow keys have no ASCII codes... So I pressed a arrow key and THREE SEPARATE VALUES WERE REGISTERED. Let me reiterate. Unix was pretending I had pressed three keys instead of one, for arrow keys. So on Unix, I had to work some magic to get accurate readings on what the user was actually doing (not too bad but still...). Windows actually behaved better, just spit out some high values and all was good. So two more systems I had to set up for dealing with arrow keys.
Now I got to ANSI codes (to display color, move around the terminal window and do other stuff). Unix supports them and Windows did but doesn't but does with some Win 10 patch...? But when tested it doesn't (at least from what I've seen). So now, all that work I put into making one Unix key and arrow key reader, and same for Windows, flies out the window. Windows needs a UI (I will force Win users, screw compatibility).
So after all the fiddling and messing, trying to make the bloody thing work on all systems, I now have to toss half the input system and rework it to support UI. And make a UI, which I absolutely despise (why I want to do back end work and thought this would be good, since terminal is not too front end).2 -
2nd post progress of this project https://devrant.com/rants/9985730/...
I went to shop to buy missing ir diode and bluetooth for arduino.
Launched arduino today with ir receiver and I managed to reverse engineer protocol.
Turns out it’s just NEC remote codes.
I used this library https://arduino.cc/reference/en/... to easily send and receive ir signals.
Everything took me whole day cause I’m rookie in hardware.
I can now remote control medion md 19500 using arduino.
Next step is to make it riding itself.
I need to measure speed and turn angle with error rates.
I will probably use pen and paper and let vacuum cleaner draw angle for me and after that I will use the most modern, accurate and cheapest angle measurement tool that is protractor - school welcome back
Speed can be more complicated and need another external complicated tool that is tape measure and a clock.
I also bought second robot because I got this stupid idea to allow people to control robots using internet.2 -
So, funny story with a bit of self promotion at the end.
I was recently checking out some apps on playstore and found that my first ever , "launched just to experiment" app (released 1.5 years ago) has received more than 5k downloads . I was very happy about that so posted a small message on LinkedIn .
Now , my LinkedIn profile consists of 98% people who are totally strangers and never met me ( is it just me or do you also get a lot of stranger connect requests there?). So my usual post rarely ever goes beyond 5 or 6 likes.
Bit idk how there too my post got 35+ likes and now i was on cloud9.
So i finally decided to kick my ass and release some update to that app ( it had around 70% pity comments like "nice first app,but it should have this x feature",. "overall nice but it could use an x feature " etc.
And boy what my journey was in the last 72hours.
Firstly my madhead laptop started killing me with the battery failures and constant hang.
Then my past asshole self tried to give me a middle finger. So i have this whole partition in my memory where i keep my Android stuff and apps. It has a special folder named published zone and i keep all my published app codes and related files there.
I was fairly certain that this app's code eill be also there,so i opened it, found the code and tried running it.
Turns out my asshole self had tried to mess around the code so much that all the db layer WAS fucked up, all the ui WAS changed and no code was working.
"Not to worry", i thought. I always use git and there would be a correct version some commits before. WRONG. I HAD CHANGED THE WHOLE FUCKING WORKING PRODUCTION CODE AND DIDN'T MAINTAIN A VCS!
Also this was the verbose and shitty java code my 1.5 year before self so loved to write, so it was taking me way more time to figure out what's happening in an already fucked up code.
So i tried a couple of ways to get back my working code :
- I tried looking for a google recommended solution. Those guys take my whole app code build and distribute via playstore, but they provide no means to retrieve back the original code.
- i checked my (occasionally) back up hard disk but no. My hard disk would have 100s of movies from 2016 , but not a useful piece of fuckin code.
- i also tried to get my apk and decompile it via some online decompiler. Here the google again fucks up and don't allow me to get my apk directly. Meanwhile i found a ton of shady websites which are hosting an apk of my app without my knowledge O_o . I tried to decompile on of them but code was even more non understandable than my fuck up code.
So i ended up looking at both the mess up code and decompiled code and coded the whole app from scratch ( well not scratch, i extracted the resources and some undamaged activities from the mess up code . Also github was down for more than 3 hours yesterday , at the same time when i was trying to look onto some repositories)
Lessons learned:
- DON'T FUCK UP WITH THE PRODUCTION CODE
- MAINTAIN VCS
- Your laptop is shit reliable, github is also shit reliable , so save code at multiple places.
- there are way more copies of your code lying on the internet than you think.
Checkout my app here :https://play.google.com/store/apps/...3 -
Some of you know I'm an amateur programmer (ok, you all do). But recently I decided I'm gonna go for a career in it.
I thought projects to demo what I know were important, but everything I've seen so far says otherwise. Seems like the most important thing to hiring managers is knowing how to solve small, arbitrary problems. Specifics can be learned and a lot of 'requirements' are actually optional to scare off wannabes and tryhards looking for a sweet paycheck.
So I've gone back, dusted off all the areas where I'm rusty (curse you regex!), and am relearning, properly. Flash cards and all. Getting the essentials committed to memory, instead of fumbling through, and having to look at docs every five minutes to remember how to do something because I switch languages, frameworks, and tooling so often. Really committing toward one set of technologies and drilling the fundamentals.
Would you say this is the correct approach to gaining a position in 2020, for a junior dev?
I know for a long time, 'entry level' positions didn't really exist, but from what I'm hearing around the net, thats changing.
Heres what I'm learning (or relearning since I've used em only occasionally):
* Git (small personal projects, only used it a few times)
* SQL
* Backend (Flask, Django)
* Frontend (React)
* Testing with Cypress or Jest
Any of you have further recommendations?
Gulp? Grunt? Are these considered 'matter of course' (simply expected), or learn-as-you for a beginner like myself?
Is knowing the agile 'manifesto' (whatever that means) by heart really considered a big deal?
What about the basics of BDD and XP?
Is knowing how to properly write user-stories worth a damn or considered a waste of time to managers?
Am I going to be tested on obscure minutiae like little-used yarn/npm commands?
Would it be considered a bonus to have all the various HTTP codes memorized? I mean thats probably a great idea, but is that an absolute requirement for newbies, or something you learn as you practice?
During interviews, is there an emphasis on speed or correctness? I'm nitpicky, like to write cleanly commented code, and prefer to have documentation open at all times.
Am I going to, eh, 'lose points' for relying on documentation during an interview?
I'm an average programmer on my good days, and the only thing I really have going for me is a *weird* combination of ADD and autism-like focus that basically neutralize each other. The only other skill I have is talking at people's own level to gauge what they need and understand. Unfortunately, and contrary to the grifter persona I present for lulz, I hate selling, let alone grifting.
Otherwise I would have enjoyed telemarketing way more and wouldn't even be asking this question. But thankfully I escaped that hell and am now here, asking for your timeless nuggets of bitter wisdom.
What are truly *entry level* web developers *expected* to know, *right out the gate*, obviously besides the language they're using?
Also, what is the language they use to program websites? It's like java right? I need to know. I'm in an interview RIGHT now and they left me alone with a PC for 30 minutes. I've been surfing pornhub for the last 25 minutes. I figure the answer should take about 5 minutes, could you help me out and copypasta it?
Okay, okay, I'm kidding, I couldn't help myself. The rest of the questions are serious and I'd love to know what your opinions are on what is important for web developers in 2020, especially entry level developers.7 -
Just found the most embarrassing security hole. Basically a skelleton key to millions of user data. Names, email addresses, zip codes, orders. If the email indicates a birthdate, even more shit if you chain another vector. Basically an order id / hash pair that should allow users to enter data AND SHOULD ONLY AUTHORIZE THEM TO THE SITE FOR ENTRING DATA. Well, what happend was that a non mathing hash/id pair will not provide an aith token bit it will create a session linked to that order.
Long story short, call url 1 enter the foreign ID, get an error, access order overview site, profit. Obviously a big fucking problem and I still had to run directly to our CEO to get it prioritized because product management thought a style update would be more important.
Oh, and of course the IDs are counted upwards. Making them random would be too unfair towards the poor black hats out there.1 -
Play Store's $25 registration fee - for getting PWA listed in their shitty catalogue? Who in the right mind would even jump in this clusterfuck of store to find a *web* app? For all you know, Google, there is such thing as QR codes - and customers can just scan the code (or type in that sweet address). Voila! Boom!!! Ching-ching!
Hello-hello, monopolistic cashgrabage! I came to inform you that your TWA bullshit is unneeded in ETHICAL space. The only ones who would benefit from this thing are permission-hungry publishers. And I'm already sick of this culture where people are put into store bubbles. You can't hide the fact that this data and features you provide, with "native" layer, may be misused in a jiffy - and by big players, no less. Of course, as a vile dumpster that you are, you don't mind it.
Don't even bring up a battery consumption that comes with PWA and browser. This doesn't matter if you use an app for some 2 minutes to tick your mental checkboxes! I'm just sick of app stores and native apps that collect the data without normal warning, and dare to take more than 1 second to fucking load the cached data. Take a lesson or two from PWAs that collect (probably useful) cache, instead of my specs, and load almost instantly.12 -
I start on paper by describing what a basic version of the code should be able to do. Then I write down some ideas of improvements to the code, more functionalities, etc. This allows me to write the basic code already thinking of what I want to add next.
Not that it matters anyway, 95% of my codes never lead to a working product 😅 -
Spaghetti codes makes a person feel frustrated, non-productive even slightly depressed, and even do refractoring takes time of production and slows things down in the short term there's nothing like that "new feeling " after you successfully re-organize and re-structure a project.
The skies seem more blue the motivation re-appears and new ideas make the project feel worth it of your time again -
dev> So, I've made a list, you only need to check the empty fields of the informations you want to be displayed
client> okay, so I have done the first X lines, there are only Y more left, you can get them by yourself when you look at the ones I've filled out.
dev> "gets them", shows them the client and codes everything after getting approved.
- delivers -
client> oh, well, yeah that would be correct but *insertvery specific industry information that only people knows that work in a management position in this industry*
-- like, just fill out the information I am asking you for, then we would have had not a single problem -
I've read the docs but my tired brain overrided an important detail.
https://haproxy.com/documentation/...
"By default, HAProxy Enterprise will serve these pages only if it initiated the error itself. For example, it will return the page for a 503 Service Unavailable error if it can't reach any backend servers."
I had _the_ return part for interception of the error page from the backend added, not the default override for the error page of HAPRoxy itself.
Took me 4 hours, crying, madness and screaming to realize it.
This week is really wringing the last bits of the gooey slime what should be my brain out...
-.-
Another fun part is that I mistakenly thought the delimiter for multiple strings to an ACL comparison is a comma... It's a whitespace.
acl is_evil hdr(host) -i one,two is wrong.
acl is_evil hdr(host) -i one two is right.
I used to write HAPRoxy configurations blindly, today it was more like writing two lines of codes 100000000 times and still doing it wrong TM.
I need new brain.
Anyone got an offer?3 -
How did you learn to think "like a programmer"?
I am starting to learn C++ and I am trying it out on exercism. I am really at the beggining but when I make it work after so much frustration(based on devrant posts I guess that's part of the job) I always see people having shorter/better/more effective codes which makes sense to me but I wouldn't thought of it that way.
Is there way to make such thinking better or does it simply come with practice ?6 -
I found programming really out my focus. Initially when i was exposed to it, My friend showed me a code of C and C++ and i was like it looks so untidy and annoying like colons and semicolons in between of random text sentences. In my first semester i had this Programming course of C and C++ and i had to deal with it. The lab sessions were totally bouncers for me, i cant understand any anything. During writeup submissions i used to copy someone else’s code (Yeah, i wrote down the whole code with a pen on a paper including every syntax). Writing down codes gave an idea about the flow of code, i didnt knew what was really happening in the alogorithm but atleast i can understand which is used for what. I also used to copy Flow diagrams of code so i used check both of them side by side and try to link. This helped me atleast to begin with and deal with that course. As semesters incremented coding was more of a need in every course. And i started liking it.☺️☺️
Initially i didn’t had wifi at home so i was totally unaware about youtube tutorials and courses. The only typing of code was done in the lab sessions.
This was my first experience regarding coding.
What was yours? -
is it ok if im the only person who codes an android app and i code it by my own free will and skills?
meaning im not following any design pattern while doing so.
i dont like following design pattern because it narrows down my freedom of writing code the way i want to write it.
its like, imagine, you have a strict schedule or a dad who says at:
5:59am: get up
7:15am: study
9:01am: eat breakfast
11:00am: go to college
3:07pm: eat lunch
5:14pm: come home
8:02pm: eat dinner
9:00pm: brush your teeth
10:58pm: go to bed
11:59pm: you must sleep before midnight
IMAGINE THAT. be honest, could you actually follow this schedule in its exact hour and minute as it was written down for the rest of your life every day, no exceptions?
if you're a sane person, you would answer - no, of fcking course not.
life is much more broader and dynamic than following a static pattern every day forever.
so is not following a static design pattern while coding an app.10 -
Hi I am a mobile developer and it really sucks when I have to consume a non RESTful API and uses custom HTTP codes. I really want this to change but I need to present a compelling reason why this is bad practice and the possible real world implications of such practice. Perhaps more experience devs can help me out?1
-
Can anyone help me with this theory about microprocessor, cpu and computers in general?
( I used to love programming when during school days when it was just basic searching/sorting and oop. Even in college , when it advanced to language details , compilers and data structures, i was fine. But subjects like coa and microprocessors, which kind of explains the working of hardware behind the brain that is a computer is so difficult to understand for me 😭😭😭)
How a computer works? All i knew was that when a bulb gets connected to a battery via wires, some metal inside it starts glowing and we see light. No magics involved till now.
Then came the von Neumann architecture which says a computer consists of 4 things : i/o devices, system bus ,memory and cpu. I/0 and memory interact with system bus, which is controlled by cpu . Thus cpu controls everything and that's how computer works.
Wait, what?
Let's take an easy example of calc. i pressed 1+2= on keyboard, it showed me '1+2=' and then '3'. How the hell that hapenned ?
Then some video told me this : every key in your keyboard is connected to a multiplexer which gives a special "code" to the processer regarding the key press.
The "control unit" of cpu commands the ram to store every character until '=' is pressed (which is a kind of interrupt telling the cpu to start processing) . RAM is simply a bunch of storage circuits (which can store some 1s) along with another bunch of circuits which can retrieve these data.
Up till now, the control unit knows that memory has (for eg):
Value 1 stored as 0001 at some address 34A
Value + stored as 11001101 at some address 34B
Value 2 stored as 0010 at some Address 23B
On recieving code for '=' press, the "control unit" commands the "alu" unit of cpu to fectch data from memory , understand it and calculate the result(i e the "fetch, decode and execute" cycle)
Alu fetches the "codes" from the memory, which translates to ADD 34A,23B i.e add the data stored at addresses 34a , 23b. The alu retrieves values present at given addresses, passes them through its adder circuit and puts the result at some new address 21H.
The control unit then fetches this result from new address and via, system busses, sends this new value to display's memory loaded at some memory port 4044.
The display picks it up and instantly shows it.
My problems:
1. Is this all correct? Does this only happens?
2. Please expand this more.
How is this system bus, alu, cpu , working?
What are the registers, accumulators , flip flops in the memory?
What are the machine cycles?
What are instructions cycles , opcodes, instruction codes ?
Where does assembly language comes in?
How does cpu manipulates memory?
This data bus , control bus, what are they?
I have come across so many weird words i dont understand dma, interrupts , memory mapped i/o devices, etc. Somebody please explain.
Ps : am learning about the fucking 8085 microprocessor in class and i can't even relate to basic computer architecture. I had flunked the coa paper which i now realise why, coz its so confusing. :'''(14 -
I just realized i created a paradox: no one codes on a daily basis more than i do and yet everyone earns more money than i do7
-
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 -
A question on corporate reality, let me know which person is doing it right :
Person A is a young enthusiastic nd curious fresher who has joined an amazing company where there is a team of seniors above him.
They ask him to work on a project, give him some guidelines which he is able to quickly grasp and come back with an output (because he loves learning and working on it and challenges himself to do it quicker than before)
This goes on and on, the new guy is giving his 100%, but company realizes it and starts expecting more of him, his 100% is not satisfactory enough, he is expected to give his 110% . He is now feeling the pressure but still liking it (because he likes learning) even though it has started to effect his personal lifestyle. He no longer has time for friends and even codes during his nap times, but still believes that he's in his prime and its okay for him to grind wheels for a better future
-------------
Person B is a lazy ass half hearted fresher who's good with public relations. He knows he can do a work in 1 hour, but still does it in 2 hours and do it bad.
He is giving his 50% and seniors know it but still are expecting to get just 70-80% out of him because of his charming and cool personna.
He's cool, now dating office girls, actively partying and is now people's favorite and living a lavish life with equal salary as that of the person A.
Who is living their youth correctly?9 -
Well I started learning REACT FUCKING JS because of our team requirements. I'm a Vue developer and well it's a little more complicated for me because react is way harder.
Today I started a simple project to practice react. First thing I realized was that in react project we cannot edit Webpack config by just adding a config file in project root.
WTF !
In vue we could just add few lines of codes in vue.config.js and then we were good to go!
but in REACT FUCKING JS we must install another library named Carco, which is not COMPATIBLE with latest react version!!!!!
FFS WHAT THE FUCK IS THIS FRAMEWORK20 -
I'm just testing out some code for Spring Boot with Spring web. Whilst inspecting Spring's HttpStatus enum I suddenly realized there are a lot more HTTP status codes than I had estimated. I knew there were many, but woah that's a lot.
Check it:
https://en.wikipedia.org/wiki/...
On a side note, it really helps to debug work stuff at home. More concentration, more time and such.
Fun fun.4 -
jinja templates make me look towards html in a whole new light. are we 'inserting' data to an already rendered page? am i really mixing server code with ui ? It doesn't feel so. there are if else and loops being executed for html code, like wtf?
I don't know but everything feels so good. like i was literally hating every piece of website i was writing in php. everytime i wrote <div>....</div> followed by <?php ... ?> followed by another html tag /php tag in a fuckin php file, i wanted to kill someone from w3c.
WHY THE FUCK ARE WE ALLOWING THE MIXUP ?WHY IS PHP FILE HOLDING HTM TAGS? WHY?WHY?WHY?
But this... this is beauty. their is separation of concerns. jinja has some big powers, we can loop, repeat, make clauses, inherit other html classes, load html content into blocks, set variables,
but main concepts like file handling, response/request handling,calculations,etc are all being done in separate python files. I know that these jinja templates also might be running python in background, but atleast a developer cannot fuck up that code.
we can be sure that if correct jinja codes are written in html, then it would load correctly. And wherever devs doesn't fuck up, the output is better to understand and more maintainable/scaleable3 -
It's funny when someone is trying to school the heck out of you. Like, their saying that, "More code is cool" and other stuffs that will kick out the beauty of keeping our codes simple as possible.2
-
I've never been more impressed than when I discovered Linux. It's a pretty classical choice but I can't say another. It's my favorite because for every need you have, you get a solution to make it. Right now, I'm learning how xcb works to make a tool for DE like Rofi.
Most of all, Linux philosophy implies that the most popular (and almost always best) tools used on Linux are all open source. So now, I can learn xcb just by looking at the codes of other DE, I'm really in love with Linux -
What percentage of your time is spent actuslly coding?
In a week, I spend not more than 1 full working day writing codes. The rest is spent doing PoCs, designing (LLD and rarely HLD), solutioning and deployment.1 -
I need suggestions
I’m thinking about making a blog called but how do I, this will include tutorials that covers things not taught in school, but you wished you knew how to do.
So right now I have ideas like:
How to write zsh plugins
How to scrape the web(scrape html or sending request)
How to write chrome plugins
How to center a div in different ways
How to write backend codes in js
How to setup an interactive website on a server with domain
But I need more, I need suggestions.8 -
Hire are a few tips to up productivity on development which has worked for me:
1) Use a system of at least 16gb ram when writing codes that requires compilation to run.
2) Test your code at most 3 times within an hour. This will combat the bad habit of practically checking changes on every new block you write.
3) Use internet modem in place of mobile hotspot and keep mobile data switched off. This will combat interruptions from your IM contacts and temptations to check your WA status update when working.
4) Implementation before optimisation... This is really important. It's tempting to rewrite a whole block even when other task are pending. If it works just leave it as is and move on to the next bull to kill, you can come back later to optimise.
5) Understand that no language is the best. Sometimes folks claim that PHP is faster than python. Okay I say but let's place a bet and I'll write a python code 10 times faster than your PHP on holiday. Focus more on your skill-set than the language else you'd find yourself switching frameworks more than necessary.
6) Check for existing code before writing an implementation from scratch... I bet you 50 bucks to your 10 someone already wrote that.
7) If it fails the first and then the second time... Don't try the third, check on StackOverflow for similar challenge.
8) When working with testers always ask for reproducible steps... Don't just start fixing bugs because sometimes their explanation looks like a bug when other times it's not and you can end up fixing what's never there.
9) If you're a tester always ask for explanations from the dev before calling a bug... It will save both your time and everybody's.
10) Don't be adamant to switching IDE... VSCode is much productive than Notepad++. Just give it a try an see for yourself.
My 10 cents.1 -
Critical Tips to Learn Programming Faster Sample:
Be comfortable with basics
The mistake which many aspiring students make is to start in a rush and skip the basics of programming and its fundamentals. They tend to start from the comparatively advanced topics.
This tends to work in many sectors and fields of Technology, but in the world of programming, having a deep knowledge of the basic principles of coding and programming is a must. If you are taking a class through a tutor and you feel that they are going too fast for your understanding, you need to be firm and clear and tell them to go slowly, so that you can also be on the same page like everyone else
Most often than not, many people tend to struggle when they reach a higher level with a feeling of getting lost, then they feel the need to fall back and go through basics, which is time-consuming. Learning basics well is the key to be fast and accurate in programming.
Practice to code by hand.
This may sound strange to some of you. Why write a code by hand when the actual work is supposed to be done on a computer? There are some reasons for this.
One reason being, when you were to be called for an interview for a programming job, the technical evaluation will include a hand-coding round to assess your programming skills. It makes sense as experts have researched and found that coding by hand is the best way to learn how to program.
Be brave and fiddle with codes
Most of us try to stick to the line of instructions given to us by our seniors, but it is extremely important to think out of the box and fiddle around with codes. That way, you will learn how the results get altered with the changes in the code.
Don't be over-ambitious and change the whole code. It takes experience to reach that level. This will give you enormous confidence in your skillset
Reach out for guidance
Seeking help from professionals is never looked down upon. Your fellow mates will likely not feel a hitch while sharing their knowledge with you. They also have been in your position at some point in their career and help will be forthcoming.
You may need professional help in understanding the program, bugs in the program and how to debug it. Sometimes other people can identify the bug instantly, which may have escaped your attention. Don't be shy and think that they'll make of you. It's always a team effort. Be comfortable around your colleagues.
Don’t Burn-out
You must have seen people burning the midnight oil and not coming to a conclusion, hence being reported by the testing team or the client.
These are common occurrences in the IT Industry. It is really important to conserve energy and take regular breaks while learning or working. It improves concentration and may help you see solutions faster. It's a proven fact that taking a break while working helps with better results and productivity. To be a better programmer, you need to be well rested and have an active mind.
Go Online
It's a common misconception that learning how to program will take a lot of money, which is not true. There are plenty of online college courses designed for beginner students and programmers. Many free courses are also available online to help you become a better programmer. Websites like Udemy and programming hub is beneficial if you want to improve your skills.
There are free courses available for everything from [HTML](https://bitdegree.org/learn/...) to CSS. You can use these free courses to get a piece of good basic knowledge. After cementing your skills, you can go for complex paid courses.
Read Relevant Material
One should never stop acquiring knowledge. This could be an extension of the last point, but it is in a different context. The idea is to boost your knowledge about the domain you're working on.
In real-life situations, the client for which you're writing a program for possesses complete knowledge of their business, how it works, but they don't know how to write a code for some specific program and vice versa.
So, it is crucial to keep yourself updated about the recent trends and advancements. It is beneficial to know about the business for which you're working. Read relevant material online, read books and articles to keep yourself up-to-date.
Never stop practicing
The saying “practice makes perfect” holds no matter what profession you are in. One should never stop practicing, it's a path to success. In programming, it gets even more critical to practice, since your exposure to programming starts with books and courses you take. Real work is done hands-on, you must spend time writing codes by hand and practicing them on your system to get familiar with the interface and workflow.
Search for mock projects online or make your model projects to practice coding and attentively commit to it. Things will start to come in the structure after some time.4 -
So as a personal project for work I decided to start data logging facility variables, it's something that we might need to pickup at some point in the future so decided to take the initiative since I'm the new guy.
I setup some basic current loop sensors are things like gas line pressures for bulk nitrogen and compressed air but decided to go with a more advanced system for logging the temperature and humidity in the labs. These sensors come with 'software' it's a web site you host internally. Cool so I just need to build a simple web server to run these PoE sensors. No big deal right, it's just an IIS service. Months after ordering Server 2019 though SSC I get 4 activation codes 2 MAK and 2 KMS. I won the lottery now i just have to download the server 2019 retail ISO and... Won't take the keys. Back to purchasing, "oh I can download that for you, what key is yours". Um... I dunno you sent me 4 Can I just get the link, "well you have to have a login". Ok what building are you in I'll drive over with a USB key (hoping there on the same campus), "the download keeps stopping, I'll contact the IT service in your building". a week later I get an install ISO and still no one knows that key is mine. Local IT service suggests it's probably a MAK key since I originally got a quote for a retail copy and we don't run a KMS server on the network I'm using for testing. We'll doesn't windows reject all 4 keys then proceed to register with a non-existent KMS server on the network I'm using for testing. Great so now this server that is supposed to connected to a private network for the sensors and use the second NIC for an internet connection has to be connected to the old network that I'm using for testing because that's where the KMS server seems to be. Ok no big deal the old network has internet except the powers that be want to migrate everything to the new more secure network but I still need to be connected to the KMS server because they sent me the wrong key. So I'm up to three network cards and some of my basic sensors are running on yet another network and I want to migrate the management software to this hardware to have all my data logging in one system. I had to label the Ethernet ports so I could hand over the hardware for certification and security scans.
So at this point I have my system running with a couple sensors setup with static IP's because I haven't had time to setup the DNS for the private network the sensors run on. Local IT goes to install McAfee and can't because it isn't compatible with anything after 1809 or later, I get a message back that " we only support up to 1709" I point out that it's server 2019, "Oh yeah, let me ask about that" a bunch of back and forth ensues and finally Local IT get's a version of McAfee that will install, runs security scan again i get a message back. " There are two high risk issues on your server", my blood pressure is getting high as well. The risks there looking at McAfee versions are out of date and windows Defender is disabled (because of McAfee).
There's a low risk issue as well, something relating to the DNS service I didn't fully setup. I tell local IT just disable it for now, then think we'll heck I'll remote in and do it. Nope can't remote into my server, oh they renamed it well that's lot going to stay that way but whatever oh here's the IP they assigned it, nope cant remote in no privileges. Ok so I run up three flights of stairs to local IT before they leave for the day log into my server yup RDP is enabled, odd but whatever let's delete the DNS role for now, nope you don't have admin privileges. Now I'm really getting displeased, I can;t have admin privileges on the network you want me to use to support the service on a system you can't support and I'm supposed to believe you can migrate the life safety systems you want us to move. I'm using my system to prove that the 2FA system works, at this rate I'm going to have 2FA access to a completely worthless broken system in a few years. good thing I rebuilt the whole server in a VM I'm planning to deploy before I get the official one back. I'm skipping a lot of the ridiculous back and forth conversations because the more I think about it the more irritated I get.1 -
I really do not understand why people do not use the defaults, I see a PHP code and I see all the PSR's violated, SOLID violated, and as it is something of years, unfortunately we did not get more rapporteur in a timely manner. I didn't go to college, but I must say, what the hell do you guys do in college?
Then many (the good obviously) programmers do not understand why they take so much the fun of PHP, if they see the codes that I see lately...2 -
Incomptent 3rd party "services" that you have to integerate with their non-consistent API error codes and useless 'new, more optimized' half broken ETL pipelines
-
YAYYY! I MADE IT!!
After several nights of playing with my new and very first custom mechanical keyboard, at last I could successfully get my long-time-dreaming keyboard!
I read the guilds, tutorials, even youtube videos to get walked through the process:
- I started with building my own layout on different websites, since they said that it would be easier to use online tools than to write codes by yourself in order to build your own keymappings, but the UI/UX of the first one I tried was so bad that it took me a great deal of time to understand how to use it and working on it is even more time consuming. Later I found another webpage which was less recommended, but could help me to do that a lot easier.
- Then, the result was compiled to a firmware file, which would be flashed into the kb's controller. Loading the file into the board was also tiring and got me exhausted totally! I tried all the "lazy" recommended ways (using Windows softwares) but received the same error all the time. When I almost lost all the hopes, I'd come to the least recommended way: typing a few command lines on Linux. And it worked! The keyboard just do what I want it to do miraculously.
What I learnt: never do complicated things on Windows, because they are suuuuuper simple on Linux!
P/S: Sorry for the bad lighting in my room and the tiny spacebar (the spacebar size is 7u which I don't have one right now). I just need a beautiful keycap set to make it perfect.5 -
Possessiveness over one's code is more dangerous than possessiveness over his girl - codes are getting closer to heart
-
Amazon is the most significant e-commerce business in the world with subsidiaries in several countries. Amazon.in of course the big daddy of internet shopping in India has a broad selection of products from the top brands throughout the globe for the categories like Electronics, Home Appliances, mobile phone, notebooks, cameras, books, musical instruments, Clothing & Accessories, watches, and shoes, Furniture, home decor, home improvement goods, Amazon pantry, Health, Personal Care, Luxury Beauty, Baby products, kindle store, Amazon devices and e-Gift Cards. Amazon customers enjoy great savings every day on Deal of the Day, Lightning Deals, Amazon Prime Day sale and in Addition to through Amazon Cashback
Amazon has a vast electronics department where you are able to find a dedicated Mobile segment, Television, Laptops, Computer Peripherals, DVDs, video games, personal care appliances and a lot more at the discounted price. You also get Amazon cashback and mind-blowing supplies on Netrockdeals on the above categories. Do shop online with the most recent Netrockdeals coupon codes and earn extra money back so you will be able to save thousands of money on your shopping!
Amazon Fashion’s End Of Season Sale
Buckle up, Men! Amazon Fashion has just launched the biggest “End of Season Sale" where you can grab unbeatable offers on 3 lakhs styles from 1000+ leading fashion brands. In the purchase price, you receive the top deals and huge discounts on almost any style compared to other eCommerce sites. This Shopping marathon has launched from July 1st, 2020. Shop at the Amazon sales via Netrockdeals to earn an Additional 7.38% Cashback on top of the Sale price.
Some Of The Hot Prices Of Amazon Fashion End Of Season Sale 2020:
Free delivery on your first order. Prime members may enjoy unlimited free shipping and premature access for the sale.
Puma with all the reduction rates at 50 percent and Fastrack with as much as 40% discount.
Don't overlook the huge discounted cost on Women's Fashion up to 40% OFF on watches, up to 50% OFF on Jewellery and bags. Latest Women's clothes at up to 70 percent OFF.
Daily essentials like vests, boxers, socks, handkerchiefs beginning at Rs.69.
Do not miss the daily deals on the Clearance store with a minimum of 50% reduction at Amazon India's Fashion earnings.
In the Amazon Fashion Sale, use the Amazon Coupons available at Netrockdeals website for an Excess discount.
Pocket-friendly deals with huge discounts! Pay only up to Rs. 399 on T-shirts, Tops, slippers, watches, backpacks, sunglasses, and many more.
Amazon Pantry Cashback Offers and Promo Codes
Stay back and relax in your home while your Groceries get delivered to your doorstep. Order your groceries at the lowest prices from Amazon Pantry and appreciate excellent savings at around 30% discount. Also, you can even save with the latest Amazon Grocery Cashback deals via Netrockdeals. Don't forget to enjoy discounts on cooking staples like rice, dal, atta, flour & packed meals, snack & drinks and household supplies.
Amazon Fashion Online Shopping Offers
We all know you love style. Get Amazon prime exclusive voucher codes and double money back benefits in your favorite fashion brands and fashion accessories for both men and designer fashion for women, and kids where you can save cash by using Netrockdeals newest Amazon Cashback offers. Buy all your favorite products on this Amazon clearance apartment 70% offer on men's and women's clothes and footwear, Shop for fashion accessories such as handbags, clutches, watches, wallets, belts, sunglasses, jewelry, backpacks and much more from the top brands.
You can also find sportswear items equally for the weekly gym enthusiasts and professional sportsmen directly from budget ones to premium top brands. Women's lingerie and nightwear department have a huge collection of bras, panties, shapewear, and nightwear things from a vast range of prices. Make sure to buy using Netrockdeals lingerie prices to save on your online buy.
Get a minimum 25% discount supply on Haircare, skincare, beauty products, Personal care, Diapers, Baby product, Baby food and much more. Thus, take out your phones and purchase today on your cellphone through Netrockdeals and shop using the Amazon Pay. Amazon prime associates get up to 15% additional cash back and Amazon coupons. -
Hi all! I want to share my site (https://tinytunes.app/ ) , which I completely created myself. Some information about how I created it:
1) I bought a domain that was freed from the previous owner (here https://mydrop.io/en/ )
2) Next, using the web archive, I restored the information of the main page - http://web.archive.org/web/...
3) website banner and logo created by myself using the service Canva
4) The theme for the site was used by Balanced Blog, but the main page of the site was created from scratch (without editing the template).
5) I added a few more pages to the site and a blog, which I am now actively filling
I would like to read the opinions of professionals: what was done wrong on the site, there may be some comments (some shortcomings, very noticeable) ...
From what I see myself: H1 headers - two instead of one (haven't figured out how to change that yet)
And the footer of the site - remove information about wordpress, add something like "2023 tinytunes.app All rights reserved. - I already figured out how to do this, I'll fix it soon)
I'm just starting to learn web programming, this site is only 3 months old. With knowledge of codes, everything is very weak for me - I study on my own from open free sources.16