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 - "slow software"
-
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
Angry customer (😤): Your software is still too slow!!!
Me (🙄): It's running good all in all. Let's divide this into smaller aspects. Which steps do you need to perform faster?
😤: Every step needs to be as fast as google!
🙄: But our software ain't google, not even to mention your infrastructure
😤: Everything needs to run in 2 seconds!!!
🙄: You aren't helping in any way. We need something to grasp...
😤: It's all your fault.
📴10 -
Someone asked me once to put a timer in an installer to slow it down because apparently it would make the software seem to be more important if it took longer to install.
Ever since being asked this I now wonder does why it takes so long to install some software.. Do developers actually do this?7 -
And, the other side, husbands 😂
——————————————————–
Dear Technical Support,
Last year I upgraded from Boyfriend 5.0 to Husband 1.0 and noticed a distinct slow down in overall system performance — particularly in the flower and jewelry applications, which operated flawlessly under Boyfriend 5.0. The new program also began making unexpected changes to the accounting modules.
In addition, Husband 1.0 uninstalled many other valuable programs, such as Romance 9.5 and Personal Attention 6.5 and then installed undesirable programs such as NFL 5.0, NBA 3.0, and Golf Clubs 4.1.
Conversation 8.0 no longer runs, and Housecleaning 2.6 simply crashes the system. I’ve tried running Nagging 5.3 to fix these problems, but to no avail.
What can I do?
Signed,
Desperate
——————————————————–
Dear Desperate:
First keep in mind, Boyfriend 5.0 is an Entertainment Package, while Husband 1.0 is an Operating System.
Please enter the command: ” C:/ I THOUGHT YOU LOVED ME” and try to download Tears 6.2 and don’t forget to install the Guilt 3.0 update.
If that application works as designed, Husband 1.0 should then automatically run the applications Jewelry 2.0 and Flowers 3.5. But remember, overuse of the above application can cause Husband 1.0 to default to Grumpy Silence 2.5, Happy Hour 7.0 or Beer 6.1.
Beer 6.1 is a very bad program that will download the Snoring Loudly Beta.
Whatever you do, DO NOT install Mother-in-law 1.0 (it runs a virus in the background that will eventually seize control of all your system resources).
Also, do not attempt to reinstall the Boyfriend 5.0 program. These are unsupported applications and will crash Husband 1.0.
In summary, Husband 1.0 is a great program, but it does have limited memory and cannot learn new applications quickly.
You might consider buying additional software to improve memory and performance. We recommend Food 3.0 and Hot Lingerie 7.7.
Good Luck,
Tech Support3 -
--- GitHub 24-hour outage post mortem ---
As many of you will remember; Github fell over earlier this month and cracked its head on the counter top on the way down. For more or less a full 24 hours the repo-wrangling behemoth had inconsistent data being presented to users, slow response times and failing requests during common user actions such as reporting issues and questioning your career choice in code reviews.
It's been revealed in a post-mortem of the incident (link at the end of the article) that DB replication was the root cause of the chaos after a failing 100G network link was being replaced during routine maintenance. I don't pretend to be a rockstar-ninja-wizard DBA but after speaking with colleagues who went a shade whiter when the term "replication" was used - It's hard to predict where a design decision will bite back and leave you untanging the web of lies and misinformation reported by the databases for weeks if not months after everything's gone a tad sideways.
When the link was yanked out of the east coast DC undergoing maintenance - Github's "Orchestrator" software did exactly what it was meant to do; It hit the "ohshi" button and failed over to another DC that wasn't reporting any issues. The hitch in the master plan was that when connectivity came back up at the east coast DC, Orchestrator was unable to (un)fail-over back to the east coast DC due to each cluster containing data the other didn't have.
At this point it's reasonable to assume that pants were turning funny colours - Monitoring systems across the board started squealing, firing off messages to engineers demanding they rouse from the land of nod and snap back to reality, that was a bit more "on-fire" than usual. A quick call to Orchestrator's API returned a result set that only contained database servers from the west coast - none of the east coast servers had responded.
Come 11pm UTC (about 10 minutes after the initial pant re-colouring) engineers realised they were well and truly backed into a corner, the site was flipped into "Yellow" status and internal mechanisms for deployments were locked out. 5 minutes later an Incident Co-ordinator was dragged from their lair by the status change and almost immediately flipped the site into "Red" status, a move i can only hope was accompanied by all the lights going red and klaxons sounding.
Even more engineers were roused from their slumber to help with the recovery effort, By this point hair was turning grey in real time - The fail-over DB cluster had been processing user data for nearly 40 minutes, every second that passed made the inevitable untangling process exponentially more difficult. Not long after this Github made the call to pause webhooks and Github Pages builds in an attempt to prevent further data loss, causing disruption to those of us using Github as a way of kicking off our deployment processes (myself included, I had to SSH in and run a git pull myself like some kind of savage).
Glossing over several more "And then things were still broken" sections of the post mortem; Clever engineers with their heads screwed on the right way successfully executed what i can only imagine was a large, complex and risky plan to untangle the mess and restore functionality. Github was picked up off the kitchen floor and promptly placed in a comfy chair with a sweet tea to recover. The enormous backlog of webhooks and Pages builds was caught up with and everything was more or less back to normal.
It goes to show that even the best laid plan rarely survives first contact with the enemy, In this case a failing 100G network link somewhere inside an east coast data center.
Link to the post mortem: https://blog.github.com/2018-10-30-...6 -
Time for an actual rant:
During an internship I heard from my PM that my assignment for the week after was going to be working on a specific sql query to add some features and fix some bugs.
When talking with colleagues about that assignment later, they laughed and referred to the query as the "query of doom" (QoD), naive as I was back then, I thought that one of my colleagues had the QoD displayed on his screen because the query he was working on looked rather large (about 20 lines). They all laughed and told me I was in for a treat.
Starting my assignment the week after I was horrified to find out the QoD was huge, and by huge I mean, printing that specific query resulted in 8 A4 pages font size 10, front and back.
There were over a 100 union statements, no proper aliases, no documentation, not a single foreign key in the entire database, naming that makes no sense. And everything written manually by 10 different developers over the past years, who all fell of the face of the earth.
And this was only the query of doom. The entire product was a complete clusterfuck of forms with a queries directly behind action buttons, because we weren't allowed to make classes (yes you read that correctly. We couldn't make classes, unless we had a very compelling reason). Everything was created by over 30 different devs who only managed to stay just long enough to get some work done.
And all of this was the result of a PM who didn't believe in frameworks, ORM's, OOP, classes, ... because that made the software slow. To this day he still manages that product, but I'm glad that I quickly decided to move on.9 -
A quite normal Windows day:
Bios to Windows: "Go now! Get up!"
Windows to Bios: "Always slow with the young circuit boards."
"I've got something weird on screen."
Windows' answer: "Ignore it first."
Hardware assistant to Windows: "The user puts pressure. He wants me to identify this thing. Could be an ISDN card."
Windows: "Well, well."
Unknown ISDN card to all: "Will you please let me in?"
Network card to intruder: "You can't spread out here!"
Windows: "Quiet in the case! Or I'll cut both their support!"
Device Manager: "Offer compromise. The network card is allowed on Mondays, the ISDN card is on Tuesday."
Graphics card to Windows: "My driver retired yesterday. I'm crashing now."
Windows to graphics card: "When will you be back?"
Graphics card: "Well, not at first."
CD-Rom drive to Windows: "uh, I would have a new driver here..."
Windows: "What's ich´n supposed to do with it?!"
Installation software to Windows: "Leave it, I'll mach´ that already."
Windows: "That's nice to hear."
USB connection to interrupt management: "Alarm! Just been penetrated by a scanner cable. Request response."
Interrupt management: "Where are you coming from?"
USB connection: "I was in the computer right from the start. I'm joined by another colleague."
"You're not on my list." - "Say something."
Windows: "Hopefully there won't be another printer."
Graphics card: "The new driver twitches."
Windows: "We'll just have to get the old one out of retirement."
Uninstall program to new driver: "Go away."
Unwanted driver: "Fuck you."
Windows to Norton Utilities: "Kill him and his brood!"
Utilities to driver rests: "Sorry, we have to delete you."
Important system file: "Arrrrrrgghh!"
Windows on blue screen: "Gib´, the Norton Boys are over the top again."
Blue screen to user: "So, that's it for this week."
Excuse me for stealing your time
And I know it's way too long7 -
Modern software has gotten so bad that it even gets sluggish at times on late 2018 flagship devices. Slow, cheap hardware like is usually developers' and fanboys' excuse, particularly when it comes to Windows stuff? Like hell it is.
Software "engineering" has become so.. terribly inefficient. I'd dare any developer worth their salt to rewrite their program to make it work on an early 2000's machine. After all, those can run pretty advanced GUI's, have a reasonable amount of hardware (just think about how large a gigabyte of RAM really is) yet should be able to make for a reasonable limitation set.
Hardware limitations are the mother of optimization. Not every person on the planet has a 32-core Xeon workstation with 64GB of DDR4 RAM and a GTX Titan in it. Whether your application performs reasonably well on your machine shouldn't be the metric. Try deploying it on that laptop you tucked into a shelf years ago and reevaluate.. please.
And definitely you Slack!! Slacking off, is that what inspired the name of that pile of junk?! 😡26 -
Am I the only one who hates it that everything needs to be done in JavaScript nowadays?
Why can't you just start writing native software again? Why does every program need its own fucking browser engine and at least 200MB of RAM to do nothing but show and edit text?
I want to have fast and streamlined software again and use my resources for important things. So much software that is called fast or lightweight isn't either. It's just a little less heavy and slow than the software it tries to replace.
I don't use C all the time, but maybe looking into Qt instead of electron might be a start.
I had a project where I could convince my tutors to let me use C++ instead of JS and they were surprised how fast my application started even though it only consisted only of a empty window with a status bar. How far have we come that we even need to think about performance when opening an empty window on modern hardware?20 -
I don't understand why people tend to shit on certain languages.
I`ve seen my fair share of shit software written in a plethora of languages, and the problem was usually that the devs used the language/framework completely wrong.
Languages and frameworks are designed to solve problems, if you don`t use them in the correct way then you are to blame.
It is like sticking your dick in the exhaust pipe of a Volvo, and then writing a Medium post complaining about your charred dick and how all Volvo's suck. Yeah I'm talking about you PHP haters, all of you that shit on Java on a daily basis and you morons saying "python is slow"
Don't get me wrong, I send PHP shitposts/memes all day to my friends working with it. But if my code doesn't work, it is my fault and I own up to it.
With that said, I will blow my brains out before writing a single line more of PHP
Rant over10 -
Rich CEO's are so out of touch with reality.
We outsourced part of our software development to a third world country. During hiring process I had pushed for us to hire the more expensive, more experienced devs in a second-world country, but nooo we must save up those bucks. The pay is so low you wouldn't be able to afford rent in *city where CEO lives*.
As @GiddyNaya has ranted about, third world countries face impossibly slow internet and frequent blackouts. I also ranted about it in my last post. The "last straw" for the CEO was when our dev's computer started malfunctioning.
boss: When is that computer from?
dev: 2017
boss: 2017?! That's a dinosaur! Of course you're having battery problems!
me, trying to come up with an affordable solution for our dev: Well, you can have the battery switched.
boss: But 2017 is too old! Your computer should be *at most* 5 years old. I cannot stress enough how important it is to have your work-related tools working. (last sentence is ad verbatim)
The boss, of course, recommended a Mac. Mind you, the closest Apple store to our dev is 500km away! And a month of their salary will not come close to paying a Macbook.
Providing them with the equipment? No! We're already paying them a "competitive" salary!
Like seriously, how out of touch with reality can you be? Does greed blind you that much?
(The dev seems to have fixed the computer problems on his own tho)14 -
I just can't understand what will lead an so called Software Company, that provides for my local government by the way, to use an cloud sever (AWS ec2 instance) like it were an bare metal machine.
They have it working, non-stop, for over 4 years or so. Just one instance. Running MySQL, PostgreSQL, Apache, PHP and an f* Tomcat server with no less than 10 HUGE apps deployed. I just can't believe this instance is still up.
By the way, they don't do backups, most of the data is on the ephemeral storage, they use just one private key for every dev, no CI, no testing. Deployment are nightmares using scp to upload the .war...
But still, they are running several several apps for things like registering citizen complaints that comes in by hot lines. The system is incredibly slow as they use just hibernate without query optimizations to lookup and search things (n+1 query problems).
They didn't even bother to get a proper domain. They use an IP address and expose the port for tomcat directly. No reverse proxy here! (No ssl too)
I've been out of this company for two years now, it was my first work as a developer, but they needed help for an app that I worked on during my time there. I was really surprised to see that everything still the same. Even the old private key that they emailed me (?!?!?!?!) back then still worked. All the passwords still the same too.
I have some good rants from the time I was there, and about the general level of the developers in my region. But I'll leave them for later!
Is it just me or this whole shit is crazy af?3 -
Client just recently called and complained why the system is slow. Luckily, we have the smartest software implementor and asked the client to check the speed of the internet. And there you go, client's net con speed is 145kbps. -_-6
-
"I can't work, my new computer is so slow. Please make it faster!"
I can't and won't make your computer faster, because you bought it yourself eventhough you said I should send you an estimate for a new one.
And the fucking software you complain about being slow is none of ours and neither did we install it you crackhead.
By the hammer of Thor, don't ever fucking call me again you shitpiece!
Next time you ask me for an estimate, I will give you my stump two-sided axe through your head while laughing hysterically.1 -
Microsoft Internet Explorer is my least favorite enterprise software. We are forced to use it. I hate being forced. This is like being asked to climb a mountain with a broken leg...not fun, painful, hopeless, threatening, discouraging, slow, and ugly, and infected...it is downright evil corporate bullshit.
<!--[if IE]>
<link rel="styleshit" type=trash/css" href="die-die-die-you-evil-bastard.css"/>
<![endif]-->
Just push it over the edge with a chrome sword stuck in its back. I will just sit here by the fire with my pet fox and watch the opera as I listen to vivaldi.3 -
Almost all software that your university recommends to you to use. Usually it's outdated, slow, or with horrible interface.6
-
Most of things I'm about to say are experienced by almost 99% of developers in Africa including my country so I'm going to make it a more general rant.
As an African developer, life is both exciting and frustrating at the same time. Some of the challenges that make life difficult for developers in Africa include:
1). Slow Internet Speed: The internet in Africa can be extremely slow and unreliable, making it frustrating to work on projects that require large file downloads. This is a serious challenge for freelance developers who work from home.
2). Unstable Electricity: Frequent power outages due to inadequate infrastructure, insufficient investment in energy production and distribution, and political instability makes it difficult for developers in Africa to work consistently. Most times I get frustrated because you can experience black out at anytime of the day which could last for hours to days automatically rendering you useless if you have no power backup generator at home.
3). Low Pay: While the opportunities for software developers in Africa are quite high, the salary is often disappointing. Many talented programmers end up seeking better opportunities overseas. In fact I quit my full-time job because of this reason.
4). Lack of Support for Tech Start-ups: There are few venture capital firms in Africa willing to invest in new ideas, which makes it difficult for tech start-ups to get off the ground. It's just sad, you can have an idea and just die with it.
So in summary, it's not a walk in the park to be a developer in Africa, but despite all of that I am glad to be a part of the African journey, having the opportunity to had work at a tech agency firm on various projects ranging from healthcare to finance, I find it rewarding to know that my work has contributed to a better future for my continent. 🤞6 -
I wasn't the brightest when I started with computers...
I had one in my room for homework and such (an old one that mom had for work and then upgraded to a laptop).
It ran SO FREAKING SLOW and didn't have Internet (I was maybe 6, no need to pay AOL anymore than we already did).
I had a floppy disk that said" Quicken" on it... Brilliant little 6 year old me thought that JUST BY INSERTING the floppy, I could speed my computer up. Not by installing THE FINANCIAL SOFTWARE, just by putting the floppy in the drive...
I've come a little ways since then...
Note: I accidentally installed it and thought I was going to break my computer because I couldn't uninstall it (pulling the floppy out obviously didn't uninstall it)... All my experience prior to this was watching my teacher use Mac at school4 -
Today was the most fuckedup day of my internship as a software developer. I have this shithead manager who doesnt know how to explain the client requirements properly and keeps on fucking yelling at me for not understanding the requirement and not coming up with the right output. That asshole compares me with the other teammate as to how fast he is and how slow i am to even write 5 lines of code in python.(I am new to python). He has yelled at me in his cabin with the door open so that everyone on the floor could hear. Most humiliating and disappointing day of my life. I dont feel like seeing that shitheads face again. I just have a month left and i will be happy if the opportunity doesnt get converted to a full time. Todays events have made me doubt myself to a great extent and has left me disheartened. Ranting abt it makes me feel a little better.7
-
Tech support for Friend...
Again...
Ok...
A friend ran down the hallway to my Appartement, I opened the door for him and asked him "What The Fuck... Is wrong with you?!" He was just coughing like...
My... Laptop.... Is... Slow...
When he then eventually came to the point where he could Breath normally again I asked him to login into his by then super with shitty software bloated PC... It was a mess... A Desktop full of Shit... only Shit... I
then opened Chrome and Task Manager...
and holy shit... EVERYTHING! Literally ANYTHING was under 100% Load... Yet his shitty Fans werent spinning up... Shutdown the Laptop and opened it... not to my surprise it was full of Dust... I cleaned it and booted it again... still 100% Load... I couldnt do shit without being bombarded with porn and Hentai Ads... So... I asked him "Did you make any backups to this machine?" He was like.. "*Really long explenation* No *Really long Explenation*"
Great... i thought to myself... Then I said to him his PC was so trash that i only could Reset it to 0... He was like DO ANYTHING YOU CAN LITERALLY ANYTHING!
I then explained him, Resetting this PC Means literally 0 A Fresh start, nothing of your data will be there literally nothing...
He again Was like DO IT!
So I did... When it was done i showed him the result... He FREAKED OUT LIKE THE WORLD WAS GOING TO FUCKING END, HE SCREAMED AT ME WHAT THE HELL HAVE YOU DONE? REVERSE IT! REVERSE IT NOW!
I Then said to him, I reset it to 0, I said this would happen...
He then took his now perfectly running Laptop and Ran away...
tl;dr
Tech support for friend, Reset PC to 0, Freaked out AF...3 -
Just thought I'd share my current project: Taking an old ISA sound card I got off eBay and wiring it up to an Arduino to control its OPL3 synth from a MIDI keyboard. I have it mostly working now.
No intention to play audio samples, so I've not bothered with any of the DMA stuff - just MIDI (MPU-401 UART) and OPL3.
It has involved learning the pinout of the ISA bus connectors, figuring out which ones are actually used for this card, ignoring the standards a little (hello, amplifier chip that is wired up to the +12V line but which still happily works at +5V...)
Most of the wires going to it are for each bit of the 16-bit address and 8-bit data. Using a couple of shift registers for the address, and a universal shift register for the data. Wrote some fairly primitive ISA bus read/write code, but it was really slow. Eventually found out about SPI and re-wrote the code to use that and it became very fast. Had trouble with some timings, fixed those.
The card is an ISA Plug and Play card, meaning before I could use it I had to tell it what resources to use. Linux driver code and some reverse-engineering of the official Windows/DOS drivers got me past this stage.
Wired up IRQ 5 to an Arduino interrupt to deal with incoming MIDI data, with a routine that buffers it. Ran into trouble with the interrupt happening during I/O and needing to do some I/O inside the handler and had to set a flag to decide whether to disable/re-enable interrupts during I/O.
It looks like total chaos, but the various wires going across the breadboard are mainly to make it easier to deal with the 16-bit address and 8-bit data lines. The LEDs were initially used to check what addresses/data were being sent, but now only one of them is connected and indicates when the interrupt handler is executing.
There's still a lot to do after that though - MIDI and OPL3 are two completely different things so I had to write some code to manage the different "channels" of the OPL3 chip. I have it playing multiple notes at the same time but need to make it able to control the various settings over MIDI. Eventually I might add some physical controls to it and get a PCB made.
The fun part is, I only vaguely know what I'm doing with the electronics side of this. I didn't know what a "shift register" was before this project, nor anything about the workings of the ISA bus. I knew a bit about MIDI (both the protocol and generally how the MPU-401 UART works) along with the operation of a sound card from a driver/software perspective, but everything else is pretty new to me.
As a useful little extra, I made some "fake" components that I can build the software against on a PC, to run some tests before uploading it to the Arduino (mostly just prints out the addresses it is going to try and write to).46 -
I'm a web developer and know jack about hardware. My wife's personal laptop was going very slow so decided to upgrade to a SSD. How hard could it be?
Turns out to be very fiddly trying to disconnect and reconnect 4 ribbon cables. To get to the HD and replace it.
Restarted laptop and thought it was all good, but only certain keys worked and the mouse pad moved but didn't click?!?
Had to take it apart and reconnect twice more but now it's fully functioning once again.
Sticking to software in future. Massive respect to hardware specialists!6 -
FUCK OFF, YOU FUCKING USELESS PILES OF CRAP
WHY THE FUCK CAN'T COMPANIES JUST TEST THEIR FUCKING APPS FOR ONCE?!?
LINKEDIN GOES INTO A FUCKING CAPTCHA LOOP
SNAPCHAT/INSTAGRAM ARE AS SLOW AND ATTRACTIVE AS A SLIGHTLY RUNNY SHIT
ROCKSTAR IS FULL OF MONGS WHO DON'T KNOW HOW TO MAKE A WORKING FUCKING GAME
GOOGLE IS FULL OF PERVERTED FUCKERS WHO TRACK YOU EVERYTIME YOU LOOK UP A FUCKING RECIPE.
FUCK THIS WORLD, WHY THE FUCK CAN'T BIG COMPANIES JUST MAKE SOFTWARE WITH THE USERS IN FUCKING MIND?!?!?
FUCK ME, I'M ANGRY10 -
➡️You Are Not A Software Developer⬅️
When I became a developer, I thought that my job is to write software. When my customer had a problem, I was ready to write software that solves that problem. I was taught to write software.
But what customers need is not software. They need a solution to their problem. Your job is to find the most cost-effective solution, what software often is not.
According to the universal law of software development, more code leads to more bugs:
e = mc²
Or
errors = (more code)²
The number of bugs grows with the amount of code. You have to prioritize, reproduce and fix bugs.
The more code you write, the more your team and the team after it has to maintain. Even if you split the system into micro services, the complexity remains.
Writing well-tested, clean code takes a lot of time. When you’re writing code, other important work is idle. The work that prevents your company from becoming rich.
A for-profit company wants to make money and reduce expenses. Then the company hires you to solve problems that prevent it from becoming rich. Confused by your job title, you take their money and turn it into expensive software.
But business has nothing to do about software. Even software business is not about software. Business is about making money.
Your job is to understand how the company is making money, help make more money and reduce expenses. Once you know that, you will become the most valuable asset in the company.
Stop viewing yourself as a software developer. You are a money maker.
Think about how to save and make money for your customers.
Find the most annoying problem and fix it:
▶️Is adding a new feature too costly? Solve the problem manually.
▶️Is testing slow? Become a tester.
▶️Is hiring not going well? Speak at a meetup and advertise your company.
▶️Is your team not productive enough? Bring them coffee.
Your job title doesn’t matter. Ego doesn’t matter either.
Titles and roles are distracting us from what matters to our customers – money.💸
You are a money maker. Thinking as a money maker can help choose the next skill for development. For example:
Serverless: pay only for resources you consume, spend less time on capacity planning = 💰
Machine Learning: get rid of manual decision-making = 💰
TDD: shorter feedback cycle, fewer bugs = 💰
Soft Skills: inspire teammates, so they are more productive and happy = 💰
If you don’t know what to learn next — answer a simple question:
What skills can help my company make more money and reduce expenses?
Very unlikely it’s another web framework written in JavaScript.
Article by Eduards Sizovs
Sizovs.net18 -
Alright, I've already ranted about this but I feel like that was rather incomplete.. there's some other things that make me want to kill myself every time I enter <!DOCT- WHERE IS THAT FUCKING KNIFE?!!!
First one I've mentioned earlier is its <repetitiveness></repetitiveness>. What was wrong with {brackets}? If only HTML was more like CSS.
But there's some other ones as well.
- Frameworks! Ain't there nothing like a good dozen resources that every single one of your web pages wants to get JS from.
- Quantity over quality. Let's just publish early with tonnes of bugs, move fast and break things, amirite 🤪
- General noobness of apprentice web devs. Now I'm not talking about the real front-end devs here - AlexDeLarge was one of them.. forever holding a special place in my heart - that know how to properly use their tools. But there's a metric shitton of people who think that being able to write <html><body>Hello world!</body></html> makes them a dev.
- The general thought of "it's slow? Slap in more hardware." Now this is a general issue with software development, optimization costs valuable resources while leaving it in a shitty state but released quickly costs pretty much nothing. A friend of mine whose post I'll attach in the image section illustrates this pretty well. You can find it at https://facebook.com/10000171480431....
I'm not sure if this is an exhaustive list, but those are the most important things that irritate me about web development in general.
On a side note, apparently 113 people visited my hiddenbio.html page.. I'm genuinely impressed! I had no idea that so many people on devRant would click through. On Facebook pages this has been an ongoing significant issue of getting people to leave the platform - it's huge but engagement on off-Facebook links is terrible. I guess that I'm dealing with an entirely different community here. And I'm pleasantly surprised actually!11 -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.6 -
OK heavy rant on 'modern' software development coming! --> don't take it to seriously though :-)
Electron... why does that shit exist? It is like stacking all the worst technologies available to mankind into an enormous pile of crap and polishing that turd to look like something wonderful. It is big, slow and overall AWFUL!
An example? ... Microsoft Teams :-( it burns your PC like fire and makes it squeal for mercy.
When a library/framework becomes the ultimate evolution of abstraction layer upon abstraction layer and it simply should stop to exist and a reset button needs to be pressed.
I would love to see some research on the real world environmental impact that all those shitty slow and bloated web technologies have.
Solution:
Software energy label!
C, C++ and Rust e.t.c. and all accompanying efficient UI libraries should be the only languages/implementations allowed to get a A, B and C label.
Python (without C libraries like Numpy), JavaScript and all those other slow interpreted scripting/Web API nonsense should get a D, E or F label by default.
Have fun!12 -
EEEEEEEEEEEE Some fAcking languages!! Actually barfs while using this trashdump!
The gist: new job, position required adv C# knowledge (like f yea, one of my fav languages), we are working with RPA (using software robots to automate stuff), and we are using some new robot still in beta phase, but robot has its own prog lang.
The problem:
- this language is kind of like ASM (i think so, I'm venting here, it's ASM OK), with syntax that burns your eyes
- no function return values, but I can live with that, at least they have some sort of functions
- emojies for identifiers (like php's $var, but they only aim for shitty features so you use a heart.. ♥var)
- only jump and jumpif for control flow
- no foopin variable scopes at all (if you run multiple scripts at the same time they even share variables *pukes*)
- weird alt characters everywhere. define strings with regular quotes? nah let's be [some mental illness] and use prime quotes (‴ U+2034), and like ⟦ ⟧ for array indexing, but only sometimes!
- super slow interpreter, ex a regular loop to count to 10 (using jumps because yea no actual loops) takes more than 20 seconds to execute, approx 700ms to run 1 code row.
- it supports c# snippets (defined with these stupid characters: ⊂ ⊃) and I guess that's the only c# I get to write with this job :^}
- on top of that, outdated documentation, because yea it's beta, but so crappin tedious with this trail n error to check how every feature works
The question: why in the living fartfaces yolk would you even make a new language when it's so easy nowadays to embed compilers!?! the robot is apparently made in c#, so it should be no funcking problem at all to add a damn lua compiler or something. having a tcp api would even be easier got dammit!!! And what in the world made our company think this robot was a plausible choice?! Did they do a full fubbing analysis of the different software robots out there and accidentally sorted by ease of use in reverse order?? 'cause that's the only explanation i can imagine
Frillin stupid shitpile of a language!!! AAAAAHHH
see the attached screenshot of production code we've developed at the company for reference.
Disclaimer: I do not stand responsible for any eventual headaches or gauged eyes caused by the named image.
(for those interested, the robot is G1ANT.Robot, https://beta.g1ant.com/)4 -
Do you guys know about the Windows 10 operating system?
I highly recommend it.
It is so easy to get done whatever you want in just a few clicks or.. several.
It has a great web browser called Internet Explorer that comes pre-installed with it. If you love animations, it will even sometimes show you that beautiful loading animation for as long as it wants. If you have a habit of wasting time on the Internet, it will intelligently slow things down and become unresponsive to help you get rid of that bad habit. It's just that great.
It has a lot of great features pre-enabled for you like sending data to Microsoft to improve your experience on a personal level. The operating system cares so much about you, unlike other operating systems that represent a flightless bird.
It's so smart, it even keeps you from doing stupid things like customizing the operating system. It makes sure that you live in the given box and don't break anything. So caring, right?!
At random times, it shows you a blue screen and a sad face to remind you that life can be sad at times but you gotta keep going. It is profound.
It comes with great useless software that you absolutely don't even need! How great is that!
I use Windows 10 and I recommend that you do too.
Have a good day..20 -
Manager: Hey software engineer, how's the project going?
Software Engineer: Good, just debugging my code.
Manager: Debugging? What kind of bug are you trying to fix?
Software Engineer: The ones that make my computer turn into a lava lamp.
Manager: Ha ha, very funny. But seriously, how can I help?
Software Engineer: Well, I need a bigger monitor. My current one doesn't have enough real estate to display all the errors.
Manager: How about a second monitor?
Software Engineer: No, I need a bigger universe.
Manager: I'll see what I can do. In the meantime, keep coding. We have a deadline to meet.
Software Engineer: No problem, I have all the time in the world. I just need to find a way to slow down time.
Manager: I wish I had your optimism. Just let me know if you need anything else.
Software Engineer: How about a unicorn? I heard they're good at coding.
Manager: I'll see what I can do, but in the meantime, stick to using a keyboard.3 -
I finished my software development apprenticeship and aced the presentation about the software I built for the company.
I'm so happy that I no longer have to go to that workplace anymore.
Most people were toxic, rude, incompetent, slow, entitled, insulting, screaming and fake.
Most were uncommunicative.
Management was shit.
CEO was shit.
HR was nice.
But the rest of the devs were ok, kind and helpful.
Now I'm taking a big vacation to calm down from the years of torture before I can start working as a dev again.
That includes motorcycle driving, chilling with my gf and trying out NixOs (wanna see if it is really worth the hype)11 -
I just signed up to get this off my chest.
Dear Windows, you god damn moronic, ugly, unuseable abomination of an excuse for an OS. I wonder how we could end up here in this situation. You suck, in every way imaginable. I didnt choose Linux or Mac, you made me do it.
I know no other OS that can screw you up this bad when setting up. My friend is an experienced windows user and the last install took him 2 days. I just spend the last day trying to get this uncompatible sucker installed. I manage to set up an hackintosh quicker than I was able to install Windows the last three times I checked, you scumbag.
Your error messages suck ass, there is nothing I cant figure out given enough time, except your useless hints and pathetic attemps to get anything done on your own.
And you are fucking slow. Just why, do you keep installing stuff I didnt ask you to. Now I got this ugly ass Bing-Toolbar because I missed a damn checkbox in an .exe, which could have also been an exploit, you never know.
You are cluttered with useless stuff. I dont care about you lame ass app store, idc about your cortana annoying spy assistant and I certainly dont care about your forced updates.
Just sit back and feel your PC getting slower every day by background processes. Watch your productivity decline while dealing with their brain dead privilege and file system.
You ugly malformed mutation of software. When I look at your UI I feel disgust while wondering how you can fail with the most basic principles of UX.
How pathetic, badly supported, bug ridden and dangerously unsecure can an OS be you ask while trying to navigate through the settings, a pile of legacy software debt this garbage pile was build on. And your shell... what a sick joke.
I hate you Windows. For screwing other OS with your asshole boot manager, hardware driver requirements and making people send me .zip and .docx. You should be embarrassed to charge money for this unfunctional junk, but you do, a lot.
I really try to see the positive here. You got all the software, but thats not on you, thats because all those poor suckers are trapped with you and the effort to change is too big.
This OS is the most disappointing thing technology could come up with today. I would rather set myself on fire than work with this pain in the ass software professionally. I mean if you are a serious developer at some point you have to admit that you just cant develop on windows. You will get fucked 5 times as often as any Mac or Linux user. Fuck you, Windows.
Hey Microsoft, thanks for Typescript and VSCode and all the other good things you have done. But burn in hell for what you have done to all of us with this piece of shit OS.10 -
Consumers ruined software development and we the developers have little to no chance of changing it.
Recently I read a great blog post by someone called Nikita, the blog post talks mostly about the lack of efficiency and waste of resources modern software has and even tho I agree with the sentiment I don't agree with some things.
First of all the way the author compares software engineering to mechanical, civil and aeroespacial engineering is flawed, why? Because they all directly impact the average consumer more than laggy chrome.
Do you know why car engines have reached such high efficiency numbers? Gas prices keep increasing, why is building a skyscraper better, cheaper and safer than before? Consumers want cheaper and safer buildings, why are airplanes so carefully engineered? Consumers want safer and cheaper flights.
Wanna know what the average software consumer wants? Shiny "beautiful" software that is either dirt ship or free and does what it needs to. The difference between our end product is that average consumers DON'T see the end product, they just experience the light, intuitive experience we are demanded to provide! It's not for nothing that the stereotype of "wizard" still exists, for the average folk magic and electricity makes their devices function and we are to blame, we did our jobs TOO well!
Don't get me wrong, I am about to become a software engineer and efficient, elegant, quality code is the second best eye candy next to a 21yo LA model. BUT dirt cheap software doesn't mean quality software, software developed in a hurry is not quality software and that's what douchebag bosses and consumers demand! They want it cheap, they want it shiny and they wanted it yesterday!
Just look at where the actual effort is going, devs focus on delivering half baked solutions on time just to "harden" the software later and I don't blame them, complete, quality, efficient solutions take time and effort and that costs money, money companies and users don't want to invest most of the time. Who gets to worry about efficiency and ms speed gains? Big ass companies where every second counts because it directly affects their bottom line.
People don't give a shit and it sucks but they forfeit the right to complain the moment they start screaming about the buttons not glaring when hovered upon rather than the 60sec bootup, actual efforts to make quality software are made on people's own time or time critical projects.
You put up a nice example with the python tweet snippet, you have a python script that runs everyday and takes 1.6 seconds, what if I told you I'll pay you 50 cents for you to translate it to Rust and it takes you 6 hours or better what if you do it for free?
The answer to that sort of questions is given every day when "enganeers" across the lake claim to make you an Uber app for 100 bucks in 5 days, people just don't care, we do and that's why developers often end up with the fancy stuff and creating startups from the ground up, they put in the effort and they are compensated for it.
I agree things will get better, things are getting better and we are working to make programs and systems more efficient (specially in the Open Source community or high end Tech companies) but unless consumers and university teachers change their mindset not much can be done about the regular folk.
For now my mother doesn't care if her Android phone takes too much time to turn on as long as it runs Candy Crush just fine. On my part I'll keep programming the best I can, optimizing the best I can for my own projects and others because that's just how I roll, but if I'm hungry I won't hesitate to give you the performance you pay for.
Source:
http://tonsky.me/blog/...13 -
! exactly dev
I'd ditched Windows and spent a while exploring the Linux ecosystem for content creation. And I have to say, it was not a nice experience.
As much as I respect the Linux mantra of "free as in freedom" and "you need to roll up your sleeves and figure out stuff on your own", it just isn't good enough for non-dev work. Sorry guys, but I need software that gets out of my way and at least does what it's supposed to do. I can't stand a horrible UI or delays and random crashes, which is exactly what happens with most things under Linux.
To replace my Windows workflow I used the following:
1. Windows -> elementaryOS (because Debian/Ubuntu repositories seem to have the best software support, and elementaryOS is the least horrible looking thing that supports that) and then Arch, because, well, Arch.
2. Blender + Maya -> Blender + Maya on Linux.
3. Reaper + FL Studio -> Ardour + LMMS.
4. Photoshop -> GIMP + Krita + Inkscape.
5. ZBrush -> nothing :(
As you can see, my use cases are pretty much all over the spectrum.
Firstly, installing and configuring stuff. A pleasure on Windows, an absolute pain on Linux. Everything just worked on Windows, I had to wrestle with library versions and patches and unstable audio layers (Linux audio just sucks, except for JACK) on Linux.
Out of these, Blender and Maya were the best experience. But even then, both would suffer from random crashes that just didn't happen on Windows.
Ardour is actually really nice when it works. Its use of JACK for routing makes it really really flexible, but it just isn't stable enough to depend on. LMMS is utter crap. I'm sorry, but I just hate the UI. Can't stand it.
GIMP, Krita, and Inkscape can't beat Photoshop, even when you consider them together. Adobe software workflow is just so much better and more intuitive.
Blender 3D sculpting is not bad, but it's nowhere as good as ZBrush.
Also, if you're a C++ dev like me, nothing beats Visual Studio 2017. Nothing. That IDE just blows everything else out of the water. Even VSCode. And it's not slow at all, it handled a fairly large project (PBRTv3) just fine on my Windows development VM. Yes, a VM.
So...I ditched Linux and went back to Windows, but I keep Linux as a VM for when I actually want to mess with Blender or Ardour. Or some dev stuff which Windows sucks at (which is becoming less frequent because of WSL).
Out of all the above, the only one I'd consider ready for production use would be Blender. Developers of open source software, please learn from Blender. Kickass UI and user friendly operation is extremely important, you can't make a random window with GTK buttons and text boxes and arcane config files and expect people to use it for serious work.
Also, Windows beats Linux hands down as an everyday OS. It's always been rock solid, if you take care of it properly (and that goes for any OS). Updates hardly take any time because I run it on a SSD. As for all the advertising and marketing bullshit, you can block a large amount of stuff. And for what can't be blocked, well, I just have to live with it, because the alternative is compromising on my creative output, which is too much for me.
I still run Linux on my server, though. And on my embedded devices (Pi, BeagleBone, etc.). It absolutely rocks there.
I realize that Linux software is not going to improve unless we do something about it, so I'll be contributing fixes and code (the joys of being a C++ dev, yay). Still, I feel that the platform and software as a whole is just not mature enough.18 -
Meets a family member****
Fam.Member: Hey so what do you do now?
Me: I work with a tech company
Fam.Member: Nice. As what?
Me: Software Engineer
Fam.Member: oh IT stuff. Can you check my phone for me, it's slow now.
Me: No (then walks away sipping my drink)7 -
This is the craziest shit... MY FUCKING SERVER JUST SET ON FIRE!!!
Like seriously its hot news (can't resist the puns), it's actually really bad news and I'm just in shock (it's not everyday you find out your running the hottest stack in the country :-P)... I thought it slow as fuck this morning but the office internet was also on the fritz so I carried on with my life until EVERYTHING went down (completely down - poof gone) and within 2 minutes I had a technician from the data centre telling me that something to do with fans had failed and they caught fire, melted and have become one with the hardware. WTF? The last time I went to the data centre it was so cold I pissed sitting down for 2 days because my dick vanished.
I'm just so fucking torn right now because initially I was absolutely fucking ecstatic - 1 week ago after a year of doomsday bitching about having a single point of failure and me not being a sysadmin only to have them look at me like I'm some kind of techie flat earther I finally got approval to spend around 5x more per month and migrate all our software to containerized micro services.
I'll admit this is a bit worse than I expected but thanks to last week at least I have recent off site images of the drives - because big surprise I have to set this monolithic beast back up (No small feat - its gonna be a long night) on a fresh VPS, I also have to do it on premises or the data will only finish uploading sometime next week.
Pro Tip: If your also pleading for more resources/better production environment only to be stone walled the second you mention there's a cost attached be like me - I gave them an ultimatum, either I deploy the software on a stack that's manageable or they man the fuck up and pay a sys admin (This idea got them really amped up until they checked how much decent sys admins cost).
Now I have very flexible pockets because even if I go rambo the max server costs would only be 15-20% of a sys admins paycheck even though that is 13 x more than our current costs. -
Internships are fucking bullshit and if more senior developers were to take the role of an actual mentor to coach juniors properly then the state of software engineering would be better.
Some people can be let down easy in terms of "this is not for you bruh", others can be built. I know that social interactions are not common for a lot of the morons in here, but being polite and kind is relatively simple if you know what you are doing. Being a dickhead != "royal levels of expertise" and if we were to coach more people into proper development practices then software would not be in such a shitty state.
For an environment that thrives in cooperation I find it hard to believe that we are still subjecting new people to the field to what can be considered slavery with little to actual no monetary compensation.
I removed many of the requirements for the application to a software developer job where I am at (I am the boss, I get to do shit like that) and my fight with HR was "I would rather someone fresh from college that I can coach properly than some dickhead with years on the field that won't listen to anything else than their own words"
Sure it would be slow, sure it would be hard, nothing ever is that simple, but my idea is "train this mkfer, level the fuck out of him, let him be off to great shit rather than giving him to some dickhead that will treat him like shit on account of being a newbie"
And yes, I do know how and what can go bad, I am going to have someone desinging shit in basic html/js/css with some php here and there not giving them the keys to every server I control. Thank you for your fucking concerns, I know what I am doing.
the experiment fails? GOOD more data for me.
Plus, you learn more when you teach others.16 -
Some fun facts :
☻ Programmers spend approximately 30% of the time surfing the source code 😁
☻ Progress in programming can be classified into 4 stages:
(a). Complex Programming
(b). Making Progress
(c). Slow Progress
(d). Stuck
☻ Programmers have a tendency to report their problems incompletely
☻ The main error messages, execution times and runtime compilation errors and the average time to solve them
☻ The software maintenance consumes more than 50% of the effort
☻ Ctrl C, Ctrl V, and Ctrl-Z have saved more lives than Batman tbh😇3 -
So my story has some little backstory.
I got into computers and technology because of my dad. He was very enthusiastic when I was little and when I grew older and started my apprenticeship as a software developer he was really proud. Note that he never learned anything like that. He just loved computers and games.
Now to the story itself.
I learned more and more, also about networking and came to the conclusion that our slow internet and rare internet problems probably come from stock/weird configurations. But my dads proud probably told him thats a thing he still has to do as the dad. But it annoyed me so much that I booted into kali linux, loaded an exploit to get the web admin passwort and cracked it within a minute. 😎
Finally I was able to configure everything correctly ( channels were spammed from neighbours so I switched to very unused and the disturbions got less ).
TL;DR: Dad didnt want me to configure our router and didnt give me the admin password, so I booted Kali Linux and used an exploit to get it myself 😎😎3 -
I wrote a node + vue web app that consumes bing api and lets you block specific hosts with a click, and I have some thoughts I need to post somewhere.
My main motivation for this it is that the search results I've been getting with the big search engines are lacking a lot of quality. The SEO situation right now is very complex but the bottom line is that there is a lot of white hat SEO abuse.
Commercial companies are fucking up the internet very hard. Search results have become way too profit oriented thus unneutral. Personal blogs are becoming very rare. Information is losing quality and sites are losing identity. The internet is consollidating.
So, I decided to write something to help me give this situation the middle finger.
I wrote this because I consider the ability to block specific sites a basic universal right. If you were ripped off by a website or you just don't like it, then you should be able to block said site from your search results. It's not rocket science.
Google used to have this feature integrated but they removed it in 2013. They also had an extension that did this client side, but they removed it in 2018 too. We're years past the time where Google forgot their "Don't be evil" motto.
AFAIK, the only search engine on earth that lets you block sites is millionshort.com, but if you block too many sites, the performance degrades. And the company that runs it is a for profit too.
There is a third party extension that blocks sites called uBlacklist. The problem is that it only works on google. I wrote my app so as to escape google's tracking clutches, ads and their annoying products showing up in between my results.
But aside uBlacklist does the same thing as my app, including the limitation that this isn't an actual search engine, it's just filtering search results after they are generated.
This is far from ideal because filter results before the results are generated would be much more preferred.
But developing a search engine is prohibitively expensive to both index and rank pages for a single person. Which is sad, but can't do much about it.
I'm also thinking of implementing the ability promote certain sites, the opposite to blocking, so these promoted sites would get more priority within the results.
I guess I would have to move the promoted sites between all pages I fetched to the first page/s, but client side.
But this is suboptimal compared to having actual access to the rank algorithm, where you could promote sites in a smarter way, but again, I can't build a search engine by myself.
I'm using mongo to cache the results, so with a click of a button I can retrieve the results of a previous query without hitting bing. So far a couple of queries don't seem to bring much performance or space issues.
On using bing: bing is basically the only realiable API option I could find that was hobby cost worthy. Most microsoft products are usually my last choice.
Bing is giving me a 7 day free trial of their search API until I register a CC. They offer a free tier, but I'm not sure if that's only for these 7 days. Otherwise, I'm gonna need to pay like 5$.
Paying or not, having to use a CC to use this software I wrote sucks balls.
So far the usage of this app has resulted in me becoming more critical of sites and finding sites of better quality. I think overall it helps me to become a better programmer, all the while having better protection of my privacy.
One not upside is that I'm the only one curating myself, whereas I could benefit from other people that I trust own block/promote lists.
I will git push it somewhere at some point, but it does require some more work:
I would want to add a docker-compose script to make it easy to start, and I didn't write any tests unfortunately (I did use eslint for both apps, though).
The performance is not excellent (the app has not experienced blocks so far, but it does make the coolers spin after a bit) because the algorithms I wrote were very POC.
But it took me some time to write it, and I need to catch some breath.
There are other more open efforts that seem to be more ethical, but they are usually hard to use or just incomplete.
commoncrawl.org is a free index of the web. one problem I found is that it doesn't seem to index everything (for example, it doesn't seem to index the blog of a friend I know that has been writing for years and is indexed by google).
it also requires knowledge on reading warc files, which will surely require some time investment to learn.
it also seems kinda slow for responses,
it is also generated only once a month, and I would still have little idea on how to implement a pagerank algorithm, let alone code it.4 -
So ok here it is, as asked in the comments.
Setting: customer (huge electronics chain) wants a huge migration from custom software to SAP erp, hybris commere for b2b and ... azure cloud
Timeframe: ~10 months….
My colleague and me had the glorious task to make the evaluation result of the B2B approval process (like you can only buy up till € 1000, then someone has to approve) available in the cart view, not just the end of the checkout. Well I though, easy, we have the results, just put them in the cart … hmm :-\
The whole thing is that the the storefront - called accelerator (although it should rather be called decelerator) is a 10-year old (looking) buggy interface, that promises to the customers, that it solves all their problems and just needs some minor customization. Fact is, it’s an abomination, which makes us spend 2 months in every project to „ripp it apart“ and fix/repair/rebuild major functionality (which changes every 6 months because of „updates“.
After a week of reading the scarce (aka non-existing) docs and decompiling and debugging hybris code, we found out (besides dozends of bugs) that this is not going to be easy. The domain model is fucked up - both CartModel and OrderModel extend AbstractOrderModel. Though we only need functionality that is in the AbstractOrderModel, the hybris guys decided (for an unknown reason) to use OrderModel in every single fucking method (about 30 nested calls ….). So what shall we do, we don’t have an order yet, only a cart. Fuck lets fake an order, push it through use the results and dismiss the order … good idea!? BAD IDEA (don’t ask …). So after a week or two we changed our strategy: create duplicate interface for nearly all (spring) services with changed method signatures that override the hybris beans and allow to use CartModels (which is possible, because within the super methods, they actually „cast" it to AbstractOrderModel *facepalm*).
After about 2 months (2 people full time) we have a working „prototype“. It works with the default-sample-accelerator data. Unfortunately the customer wanted to have it’s own dateset in the system (what a shock). Well you guess it … everything collapsed. The way the customer wanted to "have it working“ was just incompatible with the way hybris wants it (yeah yeah SAP, hybris is sooo customizable …). Well we basically had to rewrite everything again.
Just in case your wondering … the requirements were clear in the beginning (stick to the standard! [configuration/functinonality]). Well, then the customer found out that this is shit … and well …
So some months later, next big thing. I was appointed technical sublead (is that a word)/sub pm for the topics‚delivery service‘ (cart, delivery time calculation, u name it) and customerregistration - a reward for my great work with the b2b approval process???
Customer's office: 20+ people, mostly SAP related, a few c# guys, and drumrole .... the main (external) overall superhero ‚im the greates and ur shit‘ architect.
Aberage age 45+, me - the ‚hybris guy’ (he really just called me that all the time), age 32.
He powerpoints his „ tables" and other weird out of this world stuff on the wall, talks and talks. Everyone is in awe (or fear?). Everything he says is just bullshit and I see it in the eyes of the others. Finally the hybris guy interrups him, as he explains the overall architecture (which is just wrong) and points out how it should be (according to my docs which very more up to date. From now on he didn't just "not like" me anymore. (good first day)
I remember the looks of the other guys - they were releaved that someone pointed that out - saved the weeks of useless work ...
Instead of talking the customer's tongue he just spoke gibberish SAP … arg (common in SAP land as I had to learn the hard way).
Outcome of about (useless) 5 meetings later: we are going to blow out data from informatica to sap to azure to datahub to hybris ... hmpf needless to say its fucking super slow.
But who cares, I‘ll get my own rest endpoint that‘ll do all I need.
First try: error 500, 2. try: 20 seconds later, error message in html, content type json, a few days later the c# guy manages to deliver a kinda working still slow service, only the results are wrong, customer blames the hybris team, hmm we r just using their fucking results ...
The sap guys (customer service) just don't seem to be able to activate/configure the OOTB odata service, so I was told)
Several email rounds, meetings later, about 2 months, still no working hybris integration (all my emails with detailed checklists for every participent and deadlines were unanswered/ignored or answered with unrelated stuff). Customer pissed at us (god knows why, I tried, I really did!). So I decide to fly up there to handle it all by myself16 -
Those corperate slow laptops which has preinstalled software on it. Especially the antivirus which decides to take up all memory to take a scan on 08:00 when you start up.
Im really close to throwing this piece if shit through the window...6 -
My friend: Got new job? What you do?
Me: Software Engineer.
My friend: oh great, can you check why my computer is so slow?
Me: ......3 -
!rant
What is the reason a lot of you guys(not all of you) hate windows so much. I never had any single slow down or virus infection for ages, Windows Update always updates at the scheduled time etc.
I used Linux before, and I personally think that the experience is just about the same once you find alternatives to the windows software. But it also has flaws, dependency hell for instance.
Buuuut, I believe each OS has its ups and downs. So while one OS have trouble with something, the other might also have a problem. Some OS's are better than others and that no OS is perfect, and I wish I could see less criticism on OS's on devRant, cause it's getting kind of repetitive and stupid. Thank you.7 -
So for context, I'm doing an Apprenticeship in IT and naturally I've been put on help desk.
I've recently been given a phone on my desk since I'm trusted enough and know enough about our software that there's no risk to me accepting calls.
I get the standard ones, a number from a different country, poorly pronouncing a co-workers name, asking if they can speak to them. I give my normal response, "I'll just check if they're in a meeting and I'll get back to you" (which they somehow always are) and ask if they would like to leave a message. They obviously don't since they're usually scams.
Since Tuesday I've started getting calls from "BT Technical Support". I don't use BT. My company doesn't use BT. So, it's clearly a scam.
Yesterday, the same guy calls me up, Thomas he says his name is. I go along with it for a while, agreeing that I've noticed our network has been slow until the point where he asks me to begin to install TeamViewer. I realise what he's going to do so I ask him what the problem with our network is.
I hear him start to respond but he stops. He's got no clue what to say, so I say to him, "Thomas mate. I think our biggest problem with our BT network is that we don't have BT."
He puts the phone down.
So I ask you for help, lovely people of devRant.
I have a Windows 10 VM ready to go. I have a couple notepad files labelled as "Passwords" and "Bank Details". What else can I throw on there to make this guy think he's hit the jackpot without really causing too much damage?
Any ideas would be appreciated. <36 -
Must nearly every recently-made piece of software be terrible?
Firefox runs terribly slowly on a four-core 1.6GHz processor when given eight (8) gigabytes of RAM. Discord's user interface is awfully slow and uses unnecessary animations. Google's stuff is just falling apart; a toaster notification regarding MRO stock was recently pushed such that some markup elements of this notification were visible in the notification, the download links which are generated by Google Drive have sometimes returned error 404, and Google's software is overall sluggish and somewhat unstable. Today, an Android phone failed to update the Google Drive application... and failed to return a meaningful error message. Comprehensive manuals appear to be increasingly often not provided. Microsoft began to digest Windows after Windows XP was released.
Laziness is not virtuous.
For all computer programs, a computer program should be written such that this computer program performs well on reasonably terrible hardware... and kept simple. The UNIX philosophy is woefully underappreciated.37 -
For the past month my phone has been unlocking really slow. I thought it was just software or the hardware starting to fail.
I finally decided to put my Professional Googling (read: Computer Science) degree to work and instantly found out it was because I had a slow 128gb SD card in it.
Removed it and everything is tip top now.1 -
When I wrote my first algorithm that learns...
So in order to on board our customers onto our software we have to link the product on their data base to the products on ours. This seems easy enough but when you actually start looking at their data you find it's a fuck up of duplication's, bad naming conventions and only 10% or so have distinct identifiers like a suppler code,model no or barcode. After a week or 2 they find they can't do it and ask for our help and we take over. On average it took 2 of our staff 1-2 weeks to complete the task manually searching one record of theirs against our db at a time. This was a big problem since we only had enough resources to on board 2-4 customers a month meaning slow growth.
I realized when looking at different customers databases that although the data was badly captured - it was consistently badly captured similar to how crap file names will usually contain the letters 'asd' because its typed with the left hand.
I then wrote an algorithm that fuzzy matched against our data and the past matches of other customers data creating a ranking algorithm similar to google page search. After auto matching the majority of results the top 10 ranked search results for each product on their db is shown to a human 1 at a time and they either click the the correct result or select "no match" and repeat until it is done at which point the algo will include the captured data in ranking future results.
It now takes a single staff member 1-2 hours to fully on board a customer with 10-15k products and will continue to get faster and adapt to changes in language and naming conventions. Making it learn wasn't really my intention at the time and more a side effect of what I was trying to achieve. Completely blew my mind. -
I need some advice here... This will be a long one, please bear with me.
First, some background:
I'm a senior level developer working in a company that primarily doesn't produce software like most fast paced companies. Lots of legacy code, old processes, etc. It's very slow and bureaucratic to say the least, and much of the management and lead engineering talent subscribes to the very old school way of managing projects (commit up front, fixed budget, deliver or else...), but they let us use agile to run our team, so long as we meet our commitments (!!). We are also largely populated by people who aren't really software engineers but who do software work, so being one myself I'm actually a fish out of water... Our lead engineer is one of these people who doesn't understand software engineering and is very types when it comes to managing a project.
That being said, we have this project we've been working for a while and we've been churning on it for the better part of two years - with multiple changes in mediocre contribution to development along the way (mainly due to development talent being hard to secure from other projects). The application hasn't really been given the chance to have its core architecture developed to be really robust and elegant, in favor of "just making things work" in order to satisfy fake deliverables to give the customer.
This has led us to have to settle for a rickety architecture and sloppy technical debt that we can't take the time to properly fix because it doesn't (in the mind of the lead engineer - who isn't a software engineer mind you) deliver visible value. He's constantly changing his mind on what he wants to see working and functional, he zones out during sprint planning, tries to work stories not on the sprint backlog on the side, and doesn't let our product owner do her job. He's holding us to commitments we made in January and he's not listening when the team says we don't think we can deliver on what's left by the end of the year. He thinks it's reasonable to expect us to deliver and he's brushing us off.
We have a functional product now, but it's not very useful yet and still has some usability issues. It's still missing features, which we're being put under pressure to get implemented (even half-assed) by the end of the year.
TL;DR
Should I stand up for what I know is the right way to write software and push for something more stable sometime next year or settle for a "patch job" that we *might* deliver that will most definitely be buggy and be harder to maintain going forward? I feel like I'm fighting an uphill battle in trying to write good quality code in lieu of faster results and I just can't get behind settling for crap just because.9 -
I want a boring software developer job. I’ve been working for software consulting companies since the beginning. And is just so stressful. Clients always ranting, the need to always be in the cutting edge, or even the complete opposite. There’s always pressure to get certified in X o Y. I don’t want that anymore. I don’t want to be constantly catching up with the latest stack or framework. I want a boring job. A slow-paced job maybe maintain some old hunk of software that does not give too much trouble. I’m tired of putting down fires all the time. Of running against the clock to deliver a meaningless app. Because all this apps don’t contribute to anything in the world. Just more clutter, more bloat. I just want to work 8 to 5 and be done with it. Just throw myself in the couch after it and play some games. Maybe do some gardening. Or bread. I love bread. Don’t you love bread?7
-
Saw new issue on jira. When look, they are like my computer is slow or I cannot any buttons in Excel.
For fuck sake, don't send stupid tickets, we already got stupid projects the company took from the others without consulting to the IT team.
There are about 600 tickets every month and most of them are issue because of their stupidity not the software (they never read the error message). And no we are not IT support, go ask those ppl for your computer issue.1 -
I. HATE. DELL. WITH. MY. GUTS.
Their low tiers products are full black plastic overpriced fuckshit, if you press too much the cover you can actually destroy your display. Fuck shitty laptops and fuck this shitty laptop in particular. It's slow. It's so slooooooow. It's everflying fucking slow motion, being on the web is like being in the matrix while dodging bullets made of wordpress plugins. The only good thing I can say is that is living right now, it has been... Three years? I only picked it because of high discount and ubuntu preinstalled (that made me think: oh, maybe they have components that are linux compatible regardless of distros. It was not). I'm enjoying Manjaro, when I'll have the skillz i'm going full Arch.
I will start university this fall. It's going to be a math major. I absolutely need something better than this anyway. I am also freaking out because I don't know which genre of software they could want to make me install and if they're windows/mac only. In the meanwhile I do photography, video, design and as you may suppose Adobe is often my go-to; I also have to build a workstation at home. I am freaking out because WELL FUCK WINDOWS 10 AND ITS PRIVACY NIGHTMARE PERIOD.
Which laptop I buy?
How well does heavy software run in a Windows virtual machine (on the desktop, not the laptop)?10 -
Something I learnt over the years is that it doesn't matter how fast your PC or Server is, people will produce a piece of software that will be capable of running slow on it.12
-
Is your code green?
I've been thinking a lot about this for the past year. There was recently an article on this on slashdot.
I like optimising things to a reasonable degree and avoid bloat. What are some signs of code that isn't green?
* Use of technology that says its fast without real expert review and measurement. Lots of tech out their claims to be fast but actually isn't or is doing so by saturation resources while being inefficient.
* It uses caching. Many might find that counter intuitive. In technology it is surprisingly common to see people scale or cache rather than directly fixing the thing that's watt expensive which is compounded when the cache has weak coverage.
* It uses scaling. Originally scaling was a last resort. The reason is simple, it introduces excessive complexity. Today it's common to see people scale things rather than make them efficient. You end up needing ten instances when a bit of skill could bring you down to one which could scale as well but likely wont need to.
* It uses a non-trivial framework. Frameworks are rarely fast. Most will fall in the range of ten to a thousand times slower in terms of CPU usage. Memory bloat may also force the need for more instances. Frameworks written on already slow high level languages may be especially bad.
* Lacks optimisations for obvious bottlenecks.
* It runs slowly.
* It lacks even basic resource usage measurement.
Unfortunately smells are not enough on their own but are a start. Real measurement and expert review is always the only way to get an idea of if your code is reasonably green.
I find it not uncommon to see things require tens to hundreds to thousands of resources than needed if not more.
In terms of cycles that can be the difference between needing a single core and a thousand cores.
This is common in the industry but it's not because people didn't write everything in assembly. It's usually leaning toward the extreme opposite.
Optimisations are often easy and don't require writing code in binary. In fact the resulting code is often simpler. Excess complexity and inefficient code tend to go hand in hand. Sometimes a code cleaning service is all you need to enhance your green.
I once rewrote a data parsing library that had to parse a hundred MB and was a performance hotspot into C from an interpreted language. I measured it and the results were good. It had been optimised as much as possible in the interpreted version but way still 50 times faster minimum in C.
I recently stumbled upon someone's attempt to do the same and I was able to optimise the interpreted version in five minutes to be twice as fast as the C++ version.
I see opportunity to optimise everywhere in software. A billion KG CO2 could be saved easy if a few green code shops popped up. It's also often a net win. Faster software, lower costs, lower management burden... I'm thinking of starting a consultancy.
The problem is after witnessing the likes of Greta Thunberg then if that's what the next generation has in store then as far as I'm concerned the world can fucking burn and her generation along with it.6 -
i was hired to join a team of old devs (40+) in an unnamed European country "yay goodbye 3rd world it's time to enjoy the quality of life" assist with enhancing already existing software and creating new solutions.
prior to my arrival most things were slow and super buggy, looking at the code base it shouldn't be a surprise, amateur hour everyone, logic implemented that is not needed, comment driven development, last time code review was done back in 1996. lots of anti patterns.
i swear there is a for loop that does nothing but it loops through a 100+ elements list, trunk based development with tfs since git is "not really needed"
test projects are not there.
>enter me an educated fool, with genuine passion for the craft and somehow a decent amount of knowledge.
>spent the last year fixing stuff educating people on principles and qualities.
> countless hours of training and explaining. team is showing cooperation, a new requirement comes in to develop with react.
> tear my ass creating reusable shit and self explanatory code with proper naming etc using git with feature branching, monday is first deployment day.
> today a colleague was working on an item submit a pull request and self approve it
> look at the code..... WTF the dumb fuck copied and pasted the whole code from different kendo components but somehow managed to refractor the name to test component, commented out all the code that he didn't use did the api call directly from the component, has 2 useeffects that depends on the a fucking text box changes for no reason, no redux implementation, the acceptance criteria is not achieved, and it doesn't work it just look right.
> first world country shit cannot scold, cannot complain, lead by example.
>asked him why you did this, the response was yeah probably i shouldn't have done that, i really didn't understand anything in the training but didn't want to waste time!!!!
> rest of the team created a different styled disaster with different flavors they don't even name their shit the same way.
fellow developers I'm stuck in a spaceship with a bunch of imposters, seriously i never cried in my entire life now I'm teary and on the verge of a break down.
talk with management "improving needs time" and offers me to join a yoga session to release the stress as if reaching nirvana would deliver shit on monday.
i really don't know what do is this a rant, is this a cry for help, I'm not sure, any advice is welcomed.7 -
Browser rant:
I just want to get this off my chest, IE isn't a bad browser. It's highly outdated but it was good back when the alternatives weren't there. And today it's new "browser update" Edge isn't bad either. Edge really is a neat freaking piece of software. Microsoft tries their best to make a browser for their operating system (and a browser engine for their new app format!) that means it has couple of features the alternatives don't (or only with plugins) - oh and plugins, they're coming too. And still it's not slow either. From my own experience (I say this because every user says their browser is the fastest) it's way faster than Quantum. Yet Quantum is still a very good browser because it's faster than the old firefox, I guess it's open source(?) and still a privacy focused browser. Chrome (my personal favorite) on the other hand is really the fastest thing you can get - if you allow it to use all your ram - (if people like linuxxx say firefox is faster for them, I'll just smile) but for everyone worrying about ram usage and "spying", well - you know what I mean. And still I can understand people trying opera or FF/Chrome/Edge mods, I myself love "Monument". Just stop saying a browser is bad because it doesn't have what you like/does have what you don't like. The only bad browser is Midori, okay? 😘
Tl;dr
IE isn't bad but old. Edge isn't bad today. Every high end browser (edge, quantum, chrome) has their perks and none of them is "bad".
Q/A:
What's your favorite Browser? Comment below9 -
I know this is the second rant on a row about this, but I really need to hear someone saying that IBM enterprise software sucks. Nothing works, everything heavy and slow as fuck, documentation doesn't exist, official developer's forum gives me an error on login, many IBM official pages give me a 500 internal error. And, in the end, this costed as hundreds of thousands of euro. Seriously?7
-
Linux or Windows - still a problem for inexperienced computer users.
I was an IT professional for 35 years but haven't looked at a line of code for 10 years. And it certainly looks different today -
I have trouble using my smart Phone. I have always disliked the intimidation tehniques practised by Microsoft over the years. When
I was running OS2 in the 90's I couldn't get any software for it because MS had persuaded the developers not to release any OS2 versions until Chicago (AKA WIN95) was released. I was forced to use Windows for years until I finally decided to try Linux. Linux
is a great answer but unfortunately unless you are a current programmer there seems to be some situations that force you to maintain a version of Windows (setting up devices, Printers and developed software). Now that UEFI has been introduced as the standard in new PCs it is very difficult just to install and run Linux. So as WIN10 (the most invasive and slow running Windows to date) is the only "Valid" OS - MS is still dictating what we can and can't do. I decided to sell my new PC and pick up an old BIOS PC so that I could run linux and Win 7 to accomplish
my needs. How long can this go on? When will Linux be a "valid" Operating System. And when will a non-programmer be easily able to setup his hardware and find necessary software to run on Linux.9 -
dude fuck fucking salesforce i fucking hate the day someone came up with the brilliant ass idea of inventing this garbage crm software that i must deal with even though it is not my area. i fucking hate the developer experience to do third-party implementations, not letting you upload changes to another environment for the sake of """"good practices"""", the fucking interface is slow as shit i could've already had intense hto sex, taken a shit, cook lunch and sleep 2 hours before it can load a single retarded lightning page.
why? WHY? WHYYY? WHY MUST THIS ASSWARE EXIST? WHY?
AS A FACT I'VE WRITTEN THIS RANT BEFORE THE DAMN PAGE EVEN LOADED A CONFIGURATION SECTION. GOD HELP US.5 -
This always gets me:
Developers complaining that their 4 year old / cheap ass computer is slow.
Get. A. New. One.
It's not that hard.
Here, let me do one for you:
https://computeruniverse.net/en/...
I just went to a site that delivers across Europe, and selected a cheap laptop with a decent CPU and SSD. Short on RAM, sure, and without a Windows License. But you can buy RAM for an additional 50$, and that brings you to a total of 550€, delivery included. And it will WORK. And it will be fast.
It's too expensive?
No, not exactly. Wherever you are in the world, if you can code decently, good enough to have the right to complain about development tools, you are eligible to at least 10$ per hour income as a freelancer across the globe. I've had such opportunities offered to me by many organizations, especially non-profit ones that need cheap employees. I actually was offered more but let's stick to 10$ per hour.
So that's 1600$ per month. Enough to buy 3 such laptops. Oh, taxes, I forgot. So you get 2 laptops. Wait! You need food and everything else. Well if you're in a country where that offer actually makes sense, then it's likely that you can live off of 400$ per month quite well. Maybe 800$ if you need to pay rent.
So that's roughly 1 month of work for a laptop that will make you not waste time on waiting for stuff.
Sweet! 1 Month! What does it get me?
Well assuming that you have no laptop, it gets you A JOB that pays you 1600$ per month.
But if you DO have a laptop, you can sell it for cheap, and benefit from the following:
1. Boot-up time from 30-60 seconds to 10 seconds.
2. Installing software - from 1 minute to 10 seconds.
3. Opening a browser - from 10 seconds to 1 second.
4. Opening an advanced text editor (Atom, VS.Code) - from 10 seconds to 1 second.
5. Searching for a file on your entire hard drive - from 1 hour to 2 minutes.
....
You get the point. Waiting is reduced by several times.
So how much do you really wait when coding?
Well are you compiling? Are you opening a new project and the IDE needs to re-index the files? Are you opening programs like a terminal emulator, browser and such? Are you using virtual machines for dev environments?
Well all of these processes become several times faster. Depending on how often you do it, you'll be saving yourself from 1 hour per day to upto 4 hours per day (my case, where a HDD would be just out of the question).
How much is that time worth? At least 10$ per day. If you're working for 20 days per month, 240 days per year, that's a total of 2400$. And for the life time of that crappy laptop of 2 years, that's 4800$ saved. And that's with hugely conservative numbers. Nobody pays 10$ per hour any more, except if you've just started in the industry. I know because I've been there.
Please, for all that's sacred to you, justify right here, right now, HOW THE FUCK can you not afford to get that 8GB of RAM, that cheap ass SSD for 100$, or even a brand new laptop (hey! it's even portable and has FHD graphics on it!) for 550$.
That's why every time I hear someone who is a professional developer complain that they don't have money for a decent machine, I have to ask: why the fuck are you wasting yours and everyone else's time?!10 -
So IBM finally jettisoned the cancer that was Virginia Rometty a few weeks back. They had an opportunity to move fresh blood and solid managerial background into the top slot with Jim Whitehurst (Redhat) and try and recover their flagging market share and do some sane business strategy. They passed on that opportunity and instead appointed the old guard bootlicker who overpaid for Redhat to the tune of 20x what it was worth, and signalled their intent to continue staying the course of the Titanic and it's slow inevitable trek towards the bottom of the ocean. The board wants a yes man, and they got one.
This is basically what I assumed would happen, but I have some other predications as well:
- Whitehurst will leave to a better company
- the redhatters that haven't already left will be replaced with commodity labor
- Redhat will be the least stable Linux offering 2 years after the last hatter leaves
- they will sell off most of their existing software assets to HCL/ similar consulting partners like they did with domino and websphere to stem the bleed
- the displaced in that move will either quit or be replaced
- their cloud initiative will collapse under the weight of its own stagnation and glacial pace of development
- they will attempt to salve these wounds by moving focus to global services, reducing profit loss by cutting salary costs, further diluting their eroding ability to innovate
- they'll buy at least one other trendy software company at ridiculous valuation, and sell it off within 2 years at a massive loss
- the CEO slot will start to resemble the late Roman empire with a new CEO every other week
- Redhat assets will be sold to Google inside of 5 years
Last prediction: I will be overjoyed being able to witness the death of IBM in my lifetime. Fuck them 🍻7 -
!rant but kinda.
!dev but also dev
Hello, my name is ***** and I already had a few Old Fashions🥃
I've been chasing a big career and success since i was about 12.. the first 8 years of my career I did the same.
for the last two years i decided to slow down, I'm still keeping up with stuff and do a good job but I took a break from wanting to being the next Wozniak.
Im much happier and more relaxes now but I'm at a point where i really wanna do, be and achieve more..
My #1 goal in life is to build a family, having a wife and a few kids. (first gotta be able to talk to women though:/)
i have a very strong desire to have an impact on the world and society to build a life in which at least my (non existing) family could be happy and without worries. but i've no fucking clue how to achieve that. how to have an impact. i don't see a way as a software engineer anymore..
i feel lonely and lost without any fucking perspectives..
i feel like i was better off when i was chasing the big money..
i know dev rant is not the place to do this but i can't talk to my family and i wanted to share my emotions. been alone for 3 months now and it's also about my dev career, that's how i justify to post this to our community here😅4 -
Sooooo... I've felt a bit lost during my years as a student and maybe this is a nice place to finally talk about it.
I've had my first programming experiences in school (back then it was delphi, a Pascal variant), then decided after graduating I want to study computer science. I've stuck with it and will finish my masters degree in a few months. (Took me a year longer than the university plans but will likely have a very good grade)
Since i have little programming experience and never coded anything useful (mostly study projects or simple programming tasks) I've always been struggling with depressions, worries of being not good enough and never finding a job etc pp, but in the last few months it got worse since I NEED to apply for jobs now as i graduate next may. I'd really like to improve and found some "learn how to code" websites but the progress seems still slow and meaningless when I compare myself to all those guys out there:
- those comparing several hardware/software pieces casually since they know all the (dis)advantages and specs off by heart
- those who have fierce discussions about languages, libraries, runtimes etc
- those who solve the problems in coding websites with 3 lines and incredibly mathematicsl proofs for why this shortcut works (fastest)
- basically the guys who discuss so many things i've never even heard of
I just feel so lost, useless and like i missed years of learning things everybody else just obviously knows now. Is there any way to catch up? I thought about trying to join a local Chaos Computer Club but they sound like they wouldn't be fond of a noob like me.6 -
I finally managed to install Gentoo on my laptop.
My experience with it was very good. The hand book is enough but I got an error which the handbook didn't mention so I looked online and asked in their Discord. Everyone was fast, friendly and very helpful. If I compare NixOS to Gentoo, NixOS is rather the opposite. Heavily lacking documentation, community is rather slow and from what I've seen on reddit, there is a drama going on lol.
Time wise:
It should have taken me 2 days. But it took me 2+ weeks instead (I also got lazy at one point and procrastinated). And today when I reinstalled Gentoo (my previous Gentoo install didn't boot) and knew what I was doing, I did it in 3 hours.
Before that I tried out NixOS and I liked it but it had its flaws.
https://devrant.com/rants/10817333/...
Now I will experiment with Hyprland and i3.
I will also create an install script out of all of it at one point.
I'm really impressed by the very low RAM usage btw. Holy shit!
A tip for new comers: Begin with the dist-kernels. Later on you can still customize new kernels and build them from source. Otherwise you'll face issues.13 -
Honestly idk but that one chapter from mythical man month, "Plan to Throw One Away", stuck with me:
"Where a new system concept or new technology is used, one has to build a system to throw away, for even the best planning is not so omniscient as to get it right the first time."
In my current project I've seen this play out, initial development was very prototype-ish and just not well designed but when we got a somewhat decent state we had to continue with it instead of starting again and doing it properly. And now the consequences of that are hitting, progress for new features is incredibly slow, the software is very error prone, a bunch of dead code all around, ...10 -
Demoing our product at the customer's site by remoting into one of our internal environments. Their internet is slow so product looks slow.
Project manager after the demo: hey, next time, think of yourself as the tech lead, not just the software lead. Next time hop into the command prompt and do whatever you guys do, check the bandwidth or something.
Me biting my tongue: so I can tell you the customer's internet is too slow?1 -
I hate LibreOffice. I truly despise it. I have one page with an article containing an image with a caption and on the next page is another article with some tables. I have to save it in the piece of shit Microsoft docx format, because everyone in the world uses Windows and MS Word. But everything's fine so far. Now let's try to save, close and re-open. Ok, cool, cool, cool. And what do we see? The captioned image has glitched into the next page and fucked everything up. I've tried re-saving four or five times already and it keeps glitching back into the next page in various and new ways. Fucking piece of garbage software. I hate this so much. End me and my suffering, please! I hope I never have to write documents ever again! Of course that's naive - the rest of my life will probably require a million more garbage documents. I don't want to dualboot into Windows with MS Word. I fucking hate Windows too. It's slow, it's weird, it doesn't have a normal shell (ok, there's WSL, but that doesn't count, that's just a wrapped Linux). P.S. AAAaaaaa!11A1!!13
-
I just spent a week of mails because some "huge" company wanted me to do a plugin for their software by consuming theirs "brand new SOAP WS"... its full of bugs, bad documentated and slow as hell. I regret the moment when i said yes to be part of this nightmare haha2
-
WHY IS IT SO FUCKING HARD TO DOWNLOAD SOFTWARE FROM MEGACORPS??
Yes, am looking at you EMC, Oracle and IBM. Either they have tons of portals-e-delivery-shittorama or their softwares suddenly disappear for n amount of time without notice. Mix this up with broken links or CONSTANTLY REBRANDING YOUR SHITTY PRODUCTS SO YOU NEED TO HIRE A PERSONAL ASSISTANT THAT ONLY WORKS WITH TRACKING THESE PORTALS TO HELL
Also, your websites are slow as shit.
Thank you.1 -
So, while I was hunting for job...waiting for reply to the job I applied. (As now is CNY) , so my friends and I do a little bit of freelancing...
So this business owner wanted an Ewallet app in Kaios. It's possible but he keep complaining that why me and friends so slow and can't deliver in a day. WOW! He said he "Create" software before.
To burst my resentment, I asked him to show us what platform he use for creating application. He showed us "Wix.xom"
Long story short, we dropped the project. Find a new one. -
The whole episode of me managing an outsourced team for about 6 months. I thought because I’ve managed other teams doing non dev things, it would be like that.
I’ve never been so wrong and NEVER AGAIN! I had to own everything and they’re code is so repetitive and confusing. It misses basic structure because I didn’t outline some things like knowing when a operation is complete and that if the same button appears in two pages it should do the same thing! Or that is you break up a SPA you shouldn’t just duplicate the whole files and then confusingly use randomly parts to so random jobs across all layers of the app. Ffs. Never want to work with a team that doesn’t have a plan to maintain the code they write. I felt like a failure but for me to make them successful I would have had to pretty much write the code.
Now I have to explain this embarrassing pile of curry spaghetti to my colleagues who need to do some other work on it. Fuck. I want to throw it out and start over so badly.
I should have told my boss a hard no on that one and let him know outsourcing would slow things down not speed them up. He just needs to stop trying to get software developed and deployed at the same time. Fuckers.3 -
So, for a few months, as my finals are comming near, I was wondering is it a good idea to re-format my SSD and put Ubuntu on my laptop.
Reason? So I can't play games on my laptop and focus more on coding.
Downloaded Ubuntu, format, install, I was happy.
Soon as it installed, I downloaded all the sht I need (slack, discord, VSCode, nodejs, pixie dust and unicorns...), and did a 10 minute setup so the OS feels "nice".
After few hours of "trying" to work, I noticed it runs rather slow (vscode keeps freezing, app I'm developing stutters in chrome...), so maybe Ubuntu is being a douche to my laptop.
Downloaded xubuntu, did mostly the same (less work has to be done since xubuntu feels nicer than ubuntu (thanks xfce (mouse <3)), and started doing the same.
I realised that I can't use any of my Logitech stuff (mouse, headset (and by "can't use, I mean I can't use the Logiteh gaming software to set the DPI, mouse speed, buttons, nor set up the headset, so they sound like jack shit)).
Frustrated, I went to fix all the stuff manualy, with no success.
Also, the OS froze 3 times completely.
Luckly, I made a whole Windows 10 backup so I've spent a few hours more just waiting for it to restore.
Oh, did I mention I can't tether my Android device internet via usb on ubuntu?
Do I have so much to learn or this is how my life is going to look like when I start working as a developer?
*insert Sad panda gif here*2 -
I'm trying to convince my dad to switch to the Linux. Everyday he complains about his laptop being slow (although it has pretty much same specs like my laptop), the forced updates on Windows 10, how long it takes to load programs and stuff. He only uses Opera and LibreOffice for work, he doesn't have iPhone so he's not locked by iTunes. Perfect case study!
Yet every time I tell him that Linux doesn't force updates on you, runs faster and has all the software he needs, he says that "he's not a programer like I am". Then I reply to him "and that's a thing! Linux Mint for example doesn't even require to open terminal" (plus few years back he wanted to try it out)...
Any tips boys and girls? Should I give up or not? I mean, forcing the change will not do, but I also don't want to hear complains about Windows every day.12 -
How about incompetent management? Company absolutely murders any possible increase in productivity. Laptop provided? Slow as balls. Takes minutes to log in. I get a Mac for mobile development and that's OK. SSD and adequate memory but I'm primarily a .NET Dev. Can't get on the network with a virtual machine. They won't I stall even a managed image. So can't use databases because they're all AD authenticated. Got a virtual desktop environment and that sucks worse in performance than the laptop. Add the Assault on local administration rights and the monitoring software that constantly thrashers any memory and hard drive usage and im about to quit over all this... All this decided by a non developer and not asked for our opinions. Yay large Enterprises
-
This shit is long story of my computer experience over my lifetime.
When I was young I got my first PC with windows it was not so bad. It required safe shut down of it’s fat32 partition. From time to time I needed to reinstall it cause of slow down but I got used to it I was only a gamer.
Time passes and I got more curious about computers and about this linux. Everything worked there but installation of anything was complete madness and none of windows programs worked well, and I wanted to play games and be productive so I sticked with windows.
I bought hp laptop once with nvidia card, it was overheating and got broken. So I bought toshiba and all I told to the seller was I want ATI card. Took me 5 minutes to do it and I was faster then my friend buying pack of cigarettes because I was earning money using computer.
Then I grown up running my small one person programming businesses and I wanted to run and compile every fucking program on this world. I wanted linux shell commands. I wanted package manager, and I wanted my os to be simple because I wasn’t earning money by using my os but by programming. So after getting my paycheck I bought mac. I can run windows and linux on vm if I need it. I try not to steal someones work so I didn’t want to run hackintosh. I am using this mac for some time.
Also I use playstation for gaming. Because I only want to run and play game I am not excited about graphics but gameplay. I think I am pragmatic person.
I can tell you something about my mac.
When I close lid it go sleep when I open it wakes up instantly. I never need to wonder if I want to hibernate or shut down or sleep and drain battery. It is fucking simple.
When I want to run or open something it doesn’t want me to wait but it gives me my intellij or terminal or another browser or whatever I search for. Yeah search is something that works.
Despite it got 8 gigs of ram I can run whatever number of programs I want at the same speed. The speed is not very fast sometimes but it’s constant fast.
I have a keychain so my passwords are in one place I can slow down shared internet speed, I can put my wifi in monitor mode and I don’t need to install some 3rd party software.
And now I updated my mac to high sierra, cause it’s free and I want to play with ios compilation. Before I did it I didn’t even backup whole work. I just used time machine and regular backups. And guess what, it still works at the same speed and all I did was click to run update and cook something to eat.
When I got bored I close the lid, when got idea open lid and code shit, not waiting for fucking wakeup or fucking updates.
I wanted to rant apple products I use but they work, they got fucking updates all along at the same time. And all of updates are optional.
I cannot tell that about all apple products but about products I use.
I think I just got old and started to praise my limited time on this world. Not being excited about new crap. When I buy something I choose wisely. I bought iPhone. I can buy latest iPhone x but I bought iPhone 7 cause it’s from fucking metal. And I know that metal is harder then glass, why the fucking apple forgot about it? I don’t know.
I know that I am clumsy and drop stuff. Dropped my phone at least 100 times and nothing.
I am not a apple fan boy I won’t buy mac with this glowing shit above keyboard that would got me blind at night.
I buy something when I know that it can save my time on this world. I try to buy things that make me productive and don’t break after a year.
So now piece of advise, stop wasting your time, buy and update wisely, wait a week or a month or a year when more people buy shit and buy what’s not broken. And if something’s broken rant this shit so next customer can be smarter.
Cheers1 -
Was checking what my coworker was up to. He was given a computer to fix by another coworker and the PC belonged to his child.
”Oh I just uninstalled Steam. It’s a bad software with loads of viruses that slow down your computer!”3 -
I freaking hate slow IDEs, especially ones made in Java.
I used to use an IDE/text editor called geany, and it was great, you could do almost every language in it and it worked great. It was fast, and efficient, it was a no-nonsense editor. That was when I was a kid, but I got in univ and got a job, so I had to start using big boy """""enterprise""""" IDEs like eclipse.
Eclipse, netbeans, and intellij (basically every Java based IDE except BlueJ) are exactly what is wrong with IDEs. They are clunky editors that frankly would be better off gone. They are slow, eat RAM like crazy (like most Java software). You just CANNOT have eclipse open for extended periods of time, because it WILL take up too much resources and get slow as heck. Android Studio (based on intellij) is a nightmare to work with. It just does not want to cooperate with you (I will agree they have improved a lot though).
I cannot believe I am saying this, but even the electron based IDEs like atom and code-oss are better than them. They are very easily expandable, something that Java was supposed to be, but is not. They have tons of plugins. Even if its not there, you can make one without having to spend a lifetime making the plugin! They look good. I never thought that going from IDEs with """""enterprise""""" UIs to something modern like code-oss would feel this great. Its ridiculous, I don't want to create a darn project for every single file that I want to edit, I just want syntax highlighting for a single .sh file that I want to edit right now. A project is just a way to logically define what is one "unit" or a "container for multiple files", you know what else is that? A simple directory.
Also I don't want 9 billion .xml files for the IDE to store its crap. Just make a .vscode like folder to hide your shit.11 -
WARNING - a lot of text.
I am open for questions and discussions :)
I am not an education program specialist and I can't decide what's best for everyone. It is hard process of managing the prigram which is going through a lot of instances.
Computer Science.
Speaking about schools: regular schools does not prepare computer scientists. I have a lot of thoughts abouth whether we need or do NOT need such amount of knowledge in some subjects, but that's completely different story. Back to cs.
The main problem is that IT sphere evolves exceedingly fast (compared to others) and education system adaptation is honestly too slow.
SC studies in schools needs to be reformed almost every year to accept updates and corrections, but education system in most countries does not support that, thats the main problem. In basic course, which is for everyone I'd suggest to tell about brief computer usage, like office, OS basics, etc. But not only MS stuff... Linux is no more that nerdy stuff from 90', it's evolved and ready to use OS for everyone. So basic OS tour, like wtf is MAC, Linux (you can show Ubuntu/Mint, etc - the easy stuff) would be great... Also, show students cloud technologies. Like, you have an option to do *that* in your browser! And, yeah, classy stuff like what's USB and what's MB/GB and other basic stuff.. not digging into it for 6 months, but just brief overview wuth some useful info... Everyone had seen a PC by the time they are studying cs anyway.. and somewhere at the end we can introduce programming, what you can do with it and maybe hello world in whatever language, but no more.. 'cause it's still class for everyone, no need to explain stars there.
For last years, where shit's getting serious, like where you can choose: study cs or not - there we can teach programming. In my country it's 2 years. It's possible to cover OOP principles of +/- modern language (Java or C++ is not bad too, maybe even GO, whatever, that's not me who will decide it. Point that it's not from 70') + VCS + sime real world app like simplified, but still functional bookstore managing app.
That's about schools.
Speaking about universities - logic isbthe same. It needs to be modern and accept corrections and updates every year. And now it depends on what you're studying there. Are you going to have software engineering diploma or business system analyst...
Generally speaking, for developers - we need more real world scenarios and I guess, some technologies and frameworks. Ofc, theory too, but not that stuff from 1980. Come-on, nowadays nobody specifies 1 functional requirement in several pages and, generally, nobody is writing that specification for 2 years. Product becomes obsolete and it's haven't even started yet.
Everything changes, whether it is how we write specification documents, or literally anything else in IT.
Once more, morale: update CS program yearly, goddammit
How to do it - it's the whole another topic.
Thank you for reading.3 -
My biggest personal challenge as a dev is getting help. Sometimes I feel so deserted.
Now and then I have to do things that are not my expertise and I feel out of my depth. I think if I had an expert come in for a day they would be able to save me weeks of slow progress. There are dev things like updating frameworks, etc which I am fine to struggle through or read the docs, etc but things like setting up servers, enabling single sign on, database administration, integration with other systems. These are not really software development tasks but they need to be done. It seems every time I try to get help it is so much effort then the help I get turns out not to be helpful.
In my current role I have no budget or company credit card, etc. To make any sort of purchase I need to get my manager to write a business case to get approved by his manager signed in triplicate, buried in soft peat, etc. Even if I went through this process there are so many companies out there who want to get paid to do nothing and say they are experts in all things. It is almost impossible to know if we would get competent help or if I end up just wasting time explaining issues to people in phone meetings who are no help. -
I've been doing software development for my personal projects on Windows OS since college, and I just started dual booting Ubuntu...
How did I not realize how slow Windows was for coding until now? Holy. The customization of Ubuntu is insane.3 -
!Dev
TL Dr :- Debugging a software I barely know about was slow and ended up breaking in the shop it was used in and reverting the changes does not solve the problem
I asked my father a few days ago why he was buying a dedicated server for his ERP software and not using a client computer as his server which he is doing in his shop currently. He said that it was slow on other computers in the LAN which is an wired. The solutions given by the company that made it did not work. Big bills would sometimes also dissapear which took around 30 minutes to make. So when he bought the computer to home during lockdown I pulled up the debugging guide from the company which summed up to check latency,ram and add these files to exclusion list of your antivirus. Latency was kinda high at the first when pinging another computer on the LAN but I was testing on WiFi so it could be pretty inaccurate. The computer met the ram requirements so that was not a problem. I checked the data path by opening the software and accidentally typed something but I did not worry since the changes needed to be manually accepted. I added the files to the Windows defender exclusion list and shut it down.
Next day :- My father calls me up and says the software is working on the server but is broken on other computers. So I check if the changes were automatically accepted for some reason and yes that happened. So so pull up a guide to configure the software in multi user mode and I replace the mistyped setting with the correct one and it still does not work. My father asks me to undo everything by using anydesk. I remove all the exclusions I added to Windows defender and disable windows firewall. Still does not work. Restart the computer and software. Still does not work. Check permissions on data folder. They are correct.
WTF I reverted all the changes I made and the software does not work on other computers.7 -
Sooo a coworker and I tonight were working on some software and somehow got side tracked on discussion regarding our thinking process, and how one of our other coworkers always things so strangely always defensive etc.. which then lead us to saying it would be nice if we could like see and feel how another persons brain is and how they draw conclusions and think..
this conversion immediately changed to the inner-monologue discussion.
And holy shit went go distracted for 4 hours tonight!
I have inner monologue, visual, auditory, symbolic and non symbolic abstract thinking in my mind, and it’s all happening at the same time, like a million miles a minute.
The other coworker has no inner monologue at all.
4 hours questioning each other trying to understand how the other one things then debating what we believe how the one perticular Coworker thinks. And then placing bets on what we think all the other coworkers are.
I’ve never had such a deep discussion on how my brain works nor how someone else thinks.
Like I was like joking but serious not in a bad way I’m not crazy my brain switches thinking depending on the situation I don’t have to. Try or think about it just occurs..
Like remembering things I’ll daisy chain and hop pictures, words and thoughts to bring back things but no effort it just occurs.
When a song is playing I can remember the last time I heard that song or part of the song I can feel how it was, I can see what I was doing what was happening in the world etc.
In the shower or driving I will have debates in my mind and play scenarios out in my mind on how a conversation or situation will go. I visually see and hear and feel the conversation that did or did not occur at that time. And I can jump to “playing” each person.
Or when a large decision is to be made or brainstorming an idea to me I like having the British parliament in a room, and debating the topic.
When people are talking I visually see what they are saying.
I thought EVERYONE was like this.. apparently not lol.
But this conversation did bring up a lot of realization of why I can quickly jump to conclusions or quickly move thru a conversation or concept but my coworker is lagging behind. Or having a hard time visualizing what I’m saying, thus me drawing it very fast and him/them saying how did you come up with that that quickly... ugh because in my mind I’ve already drew it up I’m just drawing what I see. Almost having to slow down and go back in time to explain something to them.
THEN we called a few of my “Star” interns haha and asked them, apparently they are all think the same way I do or atleast somewhat, which explains why some people I work i able to express ideas and continue thru a topic very quickly. While others I must slow down.
We need more of these discussions until now I had no idea there was “a different way people mentally process things” the entire conversation was very enlightening for the both of us, now I know what I must do differently and so does the other one.
But then we thought what caused this? Is this a learned trait from experience as a child? Or evaluation? Or just the deck of cards we are delt? Is this left hand people or right hand? I’m left hand and the two interns are left hand and they think the same, but the other coworker in the discussion was a right hander.. then we thought was this a result of imaginary friends as a young child? Was this a result of reading as a young child? Is one version better at math than the other.. music etc... is this a result of hyperactive brain? Drugs? Could drugs induce it? What does alcohol do to it...
Yeah we questioned all these things and more seriously went down the rabbit hole tonight... lmfao, tomorrow we will be surveying the rest of the team to see if we can draw any spurious informer conclusions and how accurate our bets were based on what we know personality wise of the other coworkers
SOOOOO thoughts???? Hahah
How many of y’all knew the other type existed? What type are you? And are you introverted or extroverted? Any rational relations we can connect to better explain this shit?9 -
I am stuck in a loop where I lose confidence in a project and leave it 75% finished (without debugging) while also being doubtful of my skills every time I code and being so demotivated. I have been learning but its a slow process and I keep being lazy about it. I honestly wish I had less stress externally and was able to focus on software engineering more.1
-
Systems guy: this is how you slow down development projects. By tying design to a software development ticket.
Software guy: yeah but that's how you get reminded to do the work and tie a design requirement to the software development effort in the ticket.
Systems: why do I need to be reminded of my design work?
Me: because you're a year behind software and at this point you are just documenting what software has already done?
Sometimes I feel like the design guys don't understand that if they want to be involved in the process they need to NOT keep us waiting until right up against the deadline to give us the design. -
I’ve now discovered that management actually decides for themselves what software engineering is. 🧐
It is getting increasingly common that in different architectural groups the decision has already been made… by management…without actually passing through our review… as a little more senior blokes and gals.
Not even a discussion? On the fit?
That leads me to the conclusion, since I consider the management (at least the two or three closest layers) are morons, good at talking but not really knowing anything about what we do (we kind of take stuff and make other stuff from it by using energy and other stuff in HUGE FUCKING FACILITIES AROUND THE PLANET), that even they did not make the decision. It was forced upon them. They did not decide either! Because they can’t! Because they are idiots all of them!
I have not investigated this issue but this is the logical conclusion. Or not.
Recently, for instance, decisions were made to route information flows by some tech. Some new tech. At some place in our eco-system. At a certain time. And, if we were to have reviewed this initiative in our process we would have said:
”Well, I hear you! But we are not going to do that right now because WE ARE IN THE MIDDLE OF THE FUCKING HUGE GLOBAL PROJECT THAT CHANGES PRETTY MUCH FUCKING EVERYTHING AND WE CAN NOT JUST IN THE MIDDLE OF THE FUCKING EXECUTION PROCESS OF THE PROJECT CHANGE THE FOUNDATIONS OF MESSAGE ROUTING BECAUSE WE LACK THE NUMBER OF HUMANS TO DO THE FUCKING JOB. So, we need to take a look at this and to get a better understanding when we can make this happen.”
What is the point of having this step in our organization if it is just pass-through? What is the point? Meetings? Just having meetings? Spending time mastering the organizational skill of administrating meetings? Feeling important? Using big words (holistic being my favourite)?
Below, juniors devs are being hired doing stupid stuff that does not need doing. For months and months.
I believe now that half of the dev staff does not need to be there and three quarters of the team, service, delivery (etc) managers are unnecessary. I mean, the good juniors are going to change jobs soon either way and we are stuck in this vicious cycle where we are not being allowed to be innovative in software engineering. Stability is of the essence here but the rate of our releases are just silly slow. I would say that we are far, far away from any track that leads us to where we want to be. Agile. Innovative. Close to business. Learning. Teaching. Faster. Stability despite response to implementing changing business needs.
And then there are the consultants…
*sigh*4 -
Anything made by asus is a fucking garbage.
My first asus laptop was eee pc 701. It had only 2 gigabytes “ssd” which was just a flash drive using usb 2.0 inside. Doing this instead of using a proper sata ssd is like using bunch of rats glued to a frisbee instead of roomba vacuum. It displayed “intel 800mhz processor” in settings but this was only the processor’s name string, in fact it was only 640mhz single core. I still managed to install totally stripped version of windows xp to it and play some old games but overall it was horrible. It also heated up as hell.
My second asus laptop was infamous z99h. It had windows vista and was slow as hell right out of the box. Also BOTH hinges broke in just like six months. It was horrible as well. The screen itself broke in a year.
I also used asus rt-series router and it required a restart every day just to deliver some wifi. Don’t you dare tell me to “uPdATe fIrMwArE”, I pay money for the product and I expect it to work right outside the box.
Asus smartphones was also garbage.
So why have asus laptop if you can have a real laptop like MacBook or thinkpad? Why have asus phone if you can have a real smartphone like iPhone or pixel? Why have asus router if you can have ubiquiti?
Asus drivers suck, and all of asus software is just bloatware.10 -
!rant
27 days ago I asked here for advice on how to mentor software engineer student that was terrible at coding.
So, we are in the middle of the mentoring, my approach is for her to get used to normal engineering tools, in this occasion she is learning Git and "kanban" (basically we are using Clubhouse for this one) and Github PR submission and approval (I'm the one who approves them, naturally) by doing.
With git, things are hard because we cannot share a terminal session (via upterm) due to her using Windows on her laptop (WSL is an option for using upterm but her internet is so damn slow doing the configuration takes way too long), otherwise teaching her use git would be smoother than it is currently, with the other tools she is gaining a good grasp of them, it pleases me that the bottleneck is with Git itself.
She is working on a hangman game with Python, nothing fancy just the terminal. I made the stories with the requirements in Clubhouse for her to work on each as a unit removing some "thought process" of reading requirements and implementing solutions (at Uni it seems the professor writes a document of several pages detailing the background of the project and the requirements, I can see how it can become confusing for some students like her).
She will start Uni again this August 10th, there is a chance that our first "session" at this will end by then, my fear is that she forgets how to use the tools she learned, so I need to find a way to encourage her to keep using them somehow.3 -
Fucking windows updates...
Went to do a job on a tank in 18 deg F Weather with snow on the ground. One guy brought an ice fishing tent (very nice). This is next to petroleum tank. We got guys on top of tank waiting for me to get data using a Windows 10 lappy.
Lappy comes up and tries to get into bios to do a firmware update. WTF! I reboot and it does it again! Go to look for power adapter as it wont do update without power. Not in bag. It has to have power to do update.
So I drive back to shop (with guys waiting on top of tank) which is 5 miles away. I am pissed. Its snowing and I have to drive slow. I find that adapter. I get back to the tank and plug it in. The AC source (battery based) starts alarming as the lappy takes too much power. Fuck! But somehow it boots Windows without doing firmware update. Fuck you Windows!
I get my job done, but don't fucking trust windows at all. Had this been a field tech he would be pissing his pants. Useless shitty software you have zero control over. Now considering changing their OS to Linux for field work. I am rewriting their software anyway with something can run Windows or Linux.4 -
I'm an apprentice software engineer, have been for about a year now. I feel so dumb all the time. Used to be I'd just teach myself at my own pace for about a year or two (which was slow, on and off because of life getting in the way). Now I'm surrounded by programmers with decades more experience than me and I can't help but feel inferior.
I want to get better faster but, I work full-time now so I don't know how to supplement my studying. I've been studying linear-algebra online because my maths is crap and I remember one of my colleagues mentioning that it would be useful. But now I'm not sure because apparently discrete mathematics is better.
I also need to keep up with Java since that's what I'm learning in university but, I'm mostly using React/Typescript in my current project. By the time I finish work I don't even want to look at a line code and I lack the self-discipline to force myself to study in the evening.
I need to pick a direction and stick with it but, it's seems to just be increasingly harder as I've gone on.3 -
I been looking over my profile and god it's been a while, programming as still been going on in the background but more for game mods and alikes, kind of been lazy but same time dealing with life.
I really had forgotten my passion for tech and programming it's just become a tool I know and use and I kind of feel bad for doing that. I got in to computers when I was 6 years old built my own PC our of random spare parts at 7, was teaching family members how to repair there own pcs by 9 at the age of 11 was helping with the schools computer department repair and fixing networking problems and my ideas and comments mattered.
Now I am an adult ... Sadly it seems the enjoyment of any idea is shot down with some rude remarks from another Dev, but isn't the point we all see a problem different so we all can contribute?
Like I said I never worked away from computers or programming but now I more like your little side computer repair shop I can do it, I get the job done but the passion isn't there and the end result reflects it.
I believe it's the human part what put me off not just others but myself, I used to put my heart in to my projects and when someone comes alone and rips them apart for let's say a spelling mistake what I state everywhere I am dyslexic but seems to be over looks alot. I became more stale in what I was willing to take on. My own websites now reflect this I am using crappy reinstalled software over me doing it myself.
But the passion for the idea what tech and programming never left I just hope one day soon I am enjoy it again, the wow factor is still there, god there is some talent out there and some of them people I meet before they became big but my aim was never to be come big I would be happy to be on a small project what only as a few eyes on it as long as it makes a difference and that's my problem tech like everything as become so commercial.
Even small projects are ran like a company and the wow factor is gone or the risk factor of trying a unknown way is dismissed for trying to keep face.
If I was born 20 years before right now I would be glad to slow down but I am 30+ and seen the world change so much in this last 10 years where I can do it but .... Why would I do it, when most cases it goes out of my moral ideals
I still mess around with teck, I still have Pi's kicking about and you bet your bottom Dollar I will be trying to get a Pi 5 lol
The love of tech hasn't gone but the communities I enjoyed have, I know this is a me not adapting but I don't need to adapted, I want what we do to matter to someone to make a difference, and I mean with there life's and wellbeing not there bottom line.
If you have any communities to look in to please comment below and of you was able to read this then OMG I am so sorry, I didn't proof read this or anything it was just a little rant about how I become disconnected from the world I have always found enjoyment.
I slipped away to game at late but this last few months I seen myself wanting to be apart of a project or community for tech/programming and even just be a voice helping even someone else get the answer.
I do still have hope for the geeky nerds of yester years even if we are now just a relic of the past lol
Well sorry to put anyone's eyes though this lol enjoy your rants guys and keep up what ever projects your working on.3 -
"Download our app for some lovely additional ass licking features....."
Why tech industry love apps? also I hate these days not only mobile phones, but also computers are in progression of "applification."
Programs are only installed do some advanced things that were absurd and inappropriate to work on web browser. like video editing or programming, or file management.. etc. but in recent days, everything is fucking apps. why just not improve your web version of your service and make the shortcut from that? Weather app. youtube app. reddit app. 'tips' app by apple that is totally useless. news app. map app. so much wasteful. these kind of services are MUST be on the UPPER layer than the web browser laid on. also apps are taking much resources on local hardware and that makes my hardware too much slow.
That is not how tech works. that is not how software engineering, hardware engineering works, every single thing in technology must NOT work like that. If it does, then that is not technology, and just stack of cow shit.3 -
I got an interview with the first company that has ever taken me seriously in 8 days (Oct 5). It's not the technical interview yet, but I'm still really fucking nervous. I really don't want to screw this up and i would love to finally be a professional...ish software/web developer; not to mention I kinda need a new job since being put on call at my current workplace (tourism's slow season). I got a lot of future plans hanging on the outcome of this at this point, and I can't shake the negative feeling that things aren't going to work out how I want them to, but at the same I feel confident enough to say within myself that I got this--what the hell is wrong eith me? 😥😥😥4
-
I Paid 32€ for this world atlas.
When I'm in the Premium area I can only see maps in a craptastic quality.
When I download your "Online Globe" software thing I can't make it flat, but can draw on it (it's buggy, slow and weired to use) and your menu from 1990 I guess don't has a print option.
And when I want to use your digital Version of the atlas I would need a license for 4€??? -
In a sprint planning meeting. Getting frustrated. I guess it's my fault. I guess I assumed that attending the same schedule meeting each week meant that we all knew when everything was due. My bad.
Seriously, I fucking hate systems people sometimes. We have 4 major tasks coming down the pipe, but they are scheduled in such a way in which they are staggered. But they want to punt the 1 of the 4 that is fucking done because it is going to cause a lot of testing, but the other three aren't coming til end of next month AT LEAST. So they want to stick their thumbs up their ass holes and wait to test the other three before testing the one that, again, IS FUCKING DONE!!! Are they worried that a super massive black hole will spontaneously form in earth's orbit and cause time to run backwards and somehow cause December to happen in October!?!?
No wonder systems is so fucking far behind. They can't see the forest for the trees. They're so big picture that months and years are at the same level of granularity. Fucking hell how is scrum better than our current agile process again? Besides the fact that it makes me attend more useless meetings and get more angry.
They are punishing the left hand for the actions of the right. Systems wasn't doing their job so now software has to slow down and miss schedule.2 -
I've almost had enough of Atlassian. So, our customers want us to integrate Jira / Confluence support into our software.
I initially thought it would be a great addition to the other providers we support, so I explored it further.
After trying Confluence – and already knowing first-hand how horrendous Jira is from a previous role – I left in absolute disgust at not only how horrendously slow, buggy and overengineered Confluence is (just like Jira), but how horrendously FUCKING SHIT their developer / API documentation is. I suspended the project at this point. No fucking way was I allowing time to be sucked away because another company can't get their shit together.
Customers kept asking for integration support, so I authorized the team to revisit Jira integration support a few weeks ago. Nothing has changed. Documentation is as shit as before, software as slow as before and the platform as overengineered as before. No surprises.
Here's the problem:
1. You can't set multiple auth callback URLs so you can actually test your implementation.
2. You can't revoke access tokens programmatically. Yes, really.
3. You need to submit a ticket to get your integration approved for use by others, because automating this process is clearly fucking impossible. And then they ask questions you've already answered before. They don't review your app or your integration beyond the information you provided in the ticket.
4. Navigating the Atlassian developer documentation is like trying to navigate through a never-ending fucking minefield. Go on, try it: https://developer.atlassian.com/clo.... Don't get too lost.
I was so very FUCKING CLOSE to terminating this integration project permanently.
Atlassian, your software is an absolute fucking joke. I have no idea why our customers use your platform. It's clearly a sign of decades of lazy and incompetent engineering at work, trying to do too much and losing yourself in the process.
You can't even get the fundamental shit right. It's not hard to write clean, maintainable code and simple, clear and concise API documentation.1 -
Me: id like to collaborate together on a project with you, im a software engineer i do X and Y
Person: interesting. Inbox me
*Inboxing the person giving him my discord username to continue there*
Person: mate. I dont have discord. Skype work?
*WTF KIND OF DEGENERATE USES SKYPE IN 2020?*
Me: i dont have skype. Skype is a 13 year old technology and really slow. Please use discord because its much easier and faster
Person: message me on skype. @skypename
-------
All of u degenerates who use skype in 2020+ to do business, eat a big black DICK retardss16 -
Sydochen has posted a rant where he is nt really sure why people hate Java, and I decided to publicly post my explanation of this phenomenon, please, from my point of view.
So there is this quite large domain, on which one or two academical studies are built, such as business informatics and applied system engineering which I find extremely interesting and fun, that is called, ironically, SAD. And then there are videos on youtube, by programmers who just can't settle the fuck down. Those videos I am talking about are rants about OOP in general, which, as we all know, is a huge part of studies in the aforementioned domain. What these people are even talking about?
Absolutely obvious, there is no sense in making a software in a linear pattern. Since Bikelsoft has conveniently patched consumers up with GUI based software, the core concept of which is EDP (event driven programming or alternatively, at least OS events queue-ing), the completely functional, linear approach in such environment does not make much sense in terms of the maintainability of the software. Uhm, raise your hand if you ever tried to linearly build a complex GUI system in a single function call on GTK, which does allow you to disregard any responsibility separation pattern of SAD, such as long loved MVC...
Additionally, OOP is mandatory in business because it does allow us to mount abstraction levels and encapsulate actual dataflow behind them, which, of course, lowers the costs of the development.
What happy programmers are talking about usually is the complexity of the task of doing the OOP right in the sense of an overflow of straight composition classes (that do nothing but forward data from lower to upper abstraction levels and vice versa) and the situation of responsibility chain break (this is when a class from lower level directly!! notifies a class of a higher level about something ignoring the fact that there is a chain of other classes between them). And that's it. These guys also do vouch for functional programming, and it's a completely different argument, and there is no reason not to do it in algorithmical, implementational part of the project, of course, but yeah...
So where does Java kick in you think?
Well, guess what language popularized programming in general and OOP in particular. Java is doing a lot of things in a modern way. Of course, if it's 1995 outside *lenny face*. Yeah, fuck AOT, fuck memory management responsibility, all to the maximum towards solving the real applicative tasks.
Have you ever tried to learn to apply Text Watchers in Android with Java? Then you know about inline overloading and inline abstract class implementation. This is not right. This reduces readability and reusability.
Have you ever used Volley on Android? Newbies to Android programming surely should have. Quite verbose boilerplate in google docs, huh?
Have you seen intents? The Android API is, little said, messy with all the support libs and Context class ancestors. Remember how many times the language has helped you to properly orient in all of this hierarchy, when overloading method declaration requires you to use 2 lines instead of 1. Too verbose, too hesitant, distracting - that's what the lang and the api is. Fucking toString() is hilarious. Reference comparison is unintuitive. Obviously poor practices are not banned. Ancient tools. Import hell. Slow evolution.
C# has ripped Java off like an utter cunt, yet it's a piece of cake to maintain a solid patternization and structure, and keep your code clean and readable. Yet, Cs6 already was okay featuring optionally nullable fields and safe optional dereferencing, while we get finally get lambda expressions in J8, in 20-fucking-14.
Java did good back then, but when we joke about dumb indian developers, they are coding it in Java. So yeah.
To sum up, it's easy to make code unreadable with Java, and Java is a tool with which developers usually disregard the patterns of SAD. -
So I decided to finish college and get a degree in cs. 1,5 years left woohoo proud...
But they changed the curriculum and now I have to build software in oracle Apex.... Why does this exist? Where can I code? what is this. This is so slow, building software in a GUI. Does anyone here heard of this or even use this...
I just wanted to open my text editor and write some python. :(1 -
Ugh. So for one of my classes (Projects In Computer Science) we have to break up into groups; Around 4-6 people per group and build some software for different local companies in the city that I live in.
Well.... the company that my group chose is so damn frustrating. Essentially we are making a glorified Applicant Form system for their website (there's more to it than just that). So you would think that the company knew what sort of fields would be needed for these forms.... Well no, we are over a month into this project and still have barely began coding shit because they are so fucking slow to respond to our emails, don't pick up our calls, or put off doing absolutely anything related to our project! Our professor asked that we would have a written copy of the project requirements made and signed off by the client within the first 2 weeks of classes starting. Took them over a month to get around to that, and still even after signing off on the requirements said that they were missing key forms that we needed to account for... Its your damn fault for not telling us that. We completely wasted our time planning out the database and structuring the front-end/back-end to work for the forms they had given us, and now there's yet another one with inconsistent fields, meaning we need to rethink out most of our system to account for this data. We only have 3 months total, 1 which is already gone and practically wasted, and even still we don't have any sort of confirmation on what form fields we have to account for.
Fucking hell just spend a little bit of time for both our sake, and your own to get us the finalized forms fields and requirements for this project. Honestly at the rate things are going we probably wont be able to finish, which sucks ass since this project is perfect resume material.
Seriously this company desperately needs us to make them this program since their current system is absolute shit. They are literally getting a system that would cost upwards of $20,000 for free, yet they don't seem to care much that we probably wont be able to finish due to their faults. If we didn't have a time cap on this project I wouldn't really care, but the fact that we only have 3 months, plus school work in other classes, exams and a personal life, its making this project a lot more stressful than it needs to be.
Its not like we have a project manager either, so all the emailing and communication is being done by myself. Honest to god, all they have/had to do was sit down for 1 hour of time to decide what they all needed and we would probably have been able to finish this project.5 -
System32. That goddamn p.o.s bloatware that Microsoft uses to slow your PC and blame it on viruses, getting you to buy their antivirus software. I removed mine, such clean, very speed, much easy.1
-
Fuck baldamiq slow ahh goofball laggy software!
Draw.IO is the best and lightweight and now i found out it can do mockups too! Using it5 -
I'd like to share this article i found on reddit with you :
http://tonsky.me/blog/...
It's about bloated sowftware and performances on modern hardware, I mostly agree with it. What are your thoughts ?3 -
I am having an introspective moment as a junior dev.
I am working in my 3rd company now and have spent the avg amount of time i would spent in a company ( 1- 1.5 years)
I find myself in similar problems and trajectories:
1. The companies i worked for were startups of various scales : an edtech platform, an insurance company (branch of an mnc) and a b2b analytics company
2. These people hire developers based on domain knowledge and not innovative thinking , and expect them to build anything that the PMs deem as growth/engagement worthy ( For eg, i am bad at those memory time optimising programming/ ds/algo, but i can make any kind of android screen/component, so me and people like me get hired here)
3. These people hire new PMs based on expertise in revenue generation and again , not on the basis of innovative thinking, coz most of the time these folks make tickets to experiment with buttons and text colors to increase engagement/growth
4. The system goes into chaos mode soon since their are so many cross operating teams and the PMs running around trying to boss every dev , qa and designer to add their changes in the app.
5. meanwhile due to multiple different teams working on different aspects, their is no common data center with up to date info of all flows, products and features. the product soon becomes a Frankenstein monster.
6. Thus these companies require more and more devs and QAs which are cogs in the system then innovative thinkers . the cogs in the system will simply come, dimwittingly add whatever feature is needed and goto home.
7. the cogs in system which also start taking the pain of tracking the changes and learning about the product itself becomes "load bearing cogs" : i.e the devs with so much knowledge of the product that they can be helpful in every aspect of feature lifecycle .
8. such devs find themselves in no need for proving themselves , in no need for doing innovative work and are simply promoted based on their domain knowledge and impact.
My question is simply this : are we as a dev just destined to be load bearing cogs?
we are doing the work which ideally a manager should be doing, ie maintaining confluence docs with end to end technical as well as business logic info of every feature/flow.
So is that the only definition of a Software Engineer in a technical product?
then how come innovations happen in companies like meta Microsoft google open ai etc?
if i have to guess as a far observer, i would say their diversity in different fields helps them mix and match stuff and lead to innovative stuff.
For eg, the android os team in google has helped add many innovative things in google cloud product and vice versa.
same is with azure and windows . windows is now optomissed to run in cloud machines when at one point it was just a horrible memory hogging and slow pc OS
for small companies, 1 ideology/product/domain is their hero ideology/product/domain .
an insurance company tries to experiment with stuff related to insurances,health,vehicles,and the best innovations they come up with is "lets give user a discount in premium if they do 5000 steps a day for an year".
edtech would say "lets do live streaming for children apart from static videos"
but Android team at google said , "since ai team is doing so well, lets include ai in various system apps and support device level models" ~ a much larger innovation as 2 domains combined to make a product
The small companies are not aiming to be an innovative product, they are just aiming to be a monopoly product. and this is kinda sad2 -
"All Tech Projects Run Over Budget"
https://medium.com/@team_96861/...
I was on a nice streak of being calm for a while and then this article just dropped today. Fuck management and fuck whichever dumbass wrote this piece of shit.
Is anyone else pissed off at this? It makes it sound like software engineers are slow and never on time, and the main reason for a project's failure is the inability of programmers to meet deadlines. I find this a little sus, especially as it's written by someone in a management position.
I would argue that projects fail because:
1. Management takes the very feasible timeline given to them and throws it out the window, opting to impose impossible deadlines instead, because FUCK your employees right?
2. Clients have requirements that can't be met (I agree w/ this from the article, but not the part about developers not accounting for issues--I always do this and everyone I know does this)
3. Technical Debt arising from when management tells the software engineers to *just do it this way because it's cheaper*
The calculator they made is nice but it's also quoting estimates that I and everyone I've spoken to agree with, so this is clearly not a software engineer problem, it's a fucking management problem. "Budget" = accounting's job.
/rant
That being said, the "take their quote and triple it" part had me dead...1 -
Bad perf is fine, our users are old and used to slow software.
BUT FUCKING WHY ARE YOU PAYING MY FIRM TONS OF MONEY TO REWRITE IF ITS TO BE JUST AS SLOW?!?!?! -
I'm trying to improve my email setup once again and need your advice. My idea is as follows:
- 2-5 users
- 1 (sub)domain per user with a catchall
- users need to be able to also send from <any>@<subdomain>.<domain>
- costs up to 1€ per user (without domain)
- provider & server not hosted in five eyes and reasonably privacy friendly
- supports standard protocols (IMAP, SMTP)
- reliable
- does not depend on me to manage it daily/weekly
- Billing/Payment for all accounts/domains at once would be nice-to-have, but not necessary
I registered a domain with wint.global the other day and I actually managed to get this to work, but unfortunately their hosting has been very underwhelming.. the server was unreachable for a few minutes yesterday not only once, but roughly once an hour, and I'd really rather be able to actually receive (and retrieve) my mail. Also their Plesk is quite slow. To be fair for their price it's more like I pay for the domain and get the hosting for free, but I digress..
I am also considering self hosting, but realistically that means running it on a VPS and keeping at secure and patched, which I'd rather outsource to a company who can afford someone to regularly read CVEs and keep things running. I don't really want to worry about maintaining servers when I'm on holiday for example and while an unpatched game server is an acceptable risk, I'd rather keep my email server on good shape.
So in the end the question is: Which provider can fulfill my email dreams?
My research so far:
1. Tutanota doesn't offer standard protocols. I get their reasons but that also makes me depended on their service/software, which I wouldn't like. Multiple domains only on the business plans.
2.With Migadu I could easily hit their limits of incoming mails if someone signs up for too many newsletters and I can't (and don't want to) micromanage that.
3. Strato: Unclear whether I can create mails for subdomains. Also I don't like the company for multiple reasons. However I can access a domains hosted there and could try...
4. united-domains: Unclear whether I can create mails for subdomains.
5. posteo: No custom domains allowed.
I'm getting tired.. *sigh*21 -
Me: I opened a support ticket with the software vendor last week. I haven’t heard from them yet and the can be slow to respond. I’m unable to debug the issue on my end. If you can’t wait, here are some solutions to explore. [sends a few suggestions]
Stakeholder: Can I give you examples of another error that I think is related? Is that worth exploring?
Me: 😑 No. I’ve reached the limit of what I can do for debugging. I need the vendor to answer my support ticket. -
I‘ve now my first smart home device. It is only a power outlet, but the story behind it is a bit special.
Because Apple trapped me in there ecosystem I wanted to have a HomeKit compatible outlet. The problem with that: Either to expensive or to big. So my ne mission: Connect a non HomeKit device to HomeKit, but without a too expensive proprietary gateway/bridge.
After a bit of googling I found a software called "Homebridge", build to run on a Raspberry Pi. Fortunately I had one old RasbPi 1 B. So I installed a new Raspbian and installed Homebridge. I forgot how slow it was.
Then I bought a cheap (but good) ZigBee outlet and a ZigBee USB Dongle. With a plugin for Homebridge it was very easy to connect the ZigBee Dongle.
Then I tried to connect the outlet, but the log said "Unrecognized device". After a bit of research I found out that the outlet is not supported by the homebridge-zigbee plugin. As a software engineer I tried to find a solution for it, so I reverse engineered the device recognition (very easy because Homebridge is a node application). After a while I managed to add the configuration for the outlet to the plugin.
And see, it became light.2 -
TLDR, need suggestions for a small team, ALM, or at least Requirements, Issue and test case tracking.
Okay my team needs some advice.
Soo the powers at be a year ago or so decided to move our requirement tracking process, test case and issue tracking from word, excel and Visio. To an ALM.. they choice Siemens Polarion for whatever reason assuming because of team center some divisions use it..
Ohhh and by the way we’ve been all engineering shit perfectly fine with the process we had with word, excel and Visio.. it wasn’t any extra work, because we needed to make those documents regardless, and it’s far easier to write the shit in the raw format than fuck around with the Mouse and all the config fields on some web app.
ANYWAY before anyone asks or suggests a process to match the tool, here’s some back ground info. We are a team of about 10-15. Split between mech, elec, and software with more on mech or elec side.
But regardless, for each project there is only 1 engineer of each concentration working on the project. So one mech, one elec and one software per project/product. Which doesn’t seem like a lot but it works out perfectly actually. (Although that might be a surprise for the most of you)..
ANYWAY... it’s kinda self managed, we have a manger that that directs the project and what features when, during development and pre release.
The issue is we hired a guy for requirements/ Polarion secretary (DevOps) claims to be the expert.. Polarion is taking too long too slow and too much config....
We want to switch, but don’t know what to. We don’t wanna create more work for us. We do peer reviews across the entire team. I think we are Sudo agile /scrum but not structured.
I like jira but it’s not great for true requirements... we get PDFs from oems and converting to word for any ALM sucks.. we use helix QAC for Misra compliance so part of me wants to use helix ALM... Polarion does not support us unless we pay thousands for “support package” I just don’t see the value added. Especially when our “DevOps” secretary is sub par.. plus I don’t believe in DevOps.. no value added for someone who can’t engineer only sudo direct. Hell we almost wanna use our interns for requirements tracking/ record keeping. We as the engineers know what todo and have been doing shit the old way for decades without issues...
Need suggestions for small team per project.. 1softwar 1elec 1mech... but large team over all across many projects.
Sorry for the long rant.. at the bar .. kinda drunk ranting tbh but do need opinions... -
A philosophical question about maintenance/updating.
There is no need to repeat the reasons we need to update our dependencies and our code. We know them/ especially regarding the security issues.
The real question is , "is that indicates a failure of automation"?
When i started thinking about code, and when also was a kid and saw all these sci fi universes with robots etc, the obvious thing was that you build an automation to do the job without having to work with it anymore. There is no meaning on automate something that need constant work above it.
When you have a car, you usually do not upgrade it all the time, you do some things of maintance (oil, tires) but it keeps your work on it in a logical amount.
A better example is the abacus, a calculating device which you know it works as it works.
A promise of functional programming is that because you are based on algebraic principles you do not have to worry so much about your code, you know it will doing the logical thing it supposed to do.
Unix philosophy made software that has been "updated" so little compared to all these modern apps.
Coding, because of its changeable nature is the first victim of the humans nature unsatisfying.
Modern software industry has so much of techniques and principles (solid, liquid, patterns, testing that that the air is air) and still needs so many developers to work on a project.
I know that you will blame the market needs (you cannot understand the need from the start, you have to do it agile) but i think that this is also a part of a problem .
Old devices evolved at much more slow pace. Radio was radio, and still a radio do its basic functionality the same war (the upgrades were only some memory functionalities like save your beloved frequencies and screen messages).
Although all answers are valid, i still feel, that we have failed. We have failed so much. The dream of being a programmer is to build something, bring you money or satisfaction, and you are bored so you build something completely new.13 -
asked a developer to give me a software for free. he showed attitude, so after 3 month i created a better version of that software.
my only companion was a vb6 book, some source code to read and test and a slow internet connection.2 -
I don't wish for free techno advice, although this site is the best place to get it.
I have a simple problem and the answer to the first step towards grabbing it by its neck and telling it who the boss is, starts here.
The problem is File Explorer in Windows 11 is doing the thing where it acts like a Fentanyl addict trying to withdraw money at a Cash Point: fucking slow.
Now, the labtop is manufactured by HP. But the software I'm having a problem with is manufactured by Microsoft.
Whom do I make the phone call to?
Thank you.6 -
Compare and harmonize the web configs
Oh no someone set execution timeouts to 14 days
Fuck fuck fuckity duck
Hey compare all the web configs of all environments and harmonize them all wtf cmon bruh do your job as a developer
Take them and back them up into svn. What do you mean svn isn't a back up system of course it is well its the only thing we have fuck
What do you mean we have shit logging where people will catch an exception and only print the word exception in the log you can figure it out can't you we have live produxtion issues that hace to be solved now what the fuck
How dare you make a. Mistake copying our shitload of a bloated codebase and configuring our 100s of different options all by fukcing hand what the fuck dude do yoh write anyrhing down?
Please catalogue all the exception mails we are getting but we have no db or error reporting system so they all just plop into tue inbox and thats all ypur fuckjng data figure it out kid
This is a rewarding, fulfilling job whwrw you can be both dev ops and a developer and manage all of our fucking environments of which there are about 15 of all your own with no sort of tool or software to aid you because haha what the fuck we wouldn't make your life easy
Whata that you want to spend time to write stuff or change stuff that will nake it easier fot you fuxk that bruh get back to your biklable tasks like holy shit you thjnk this is a charity ofr aomw shit
Live production issues
Live production issues
Produxtion issues. A ghost in the machine. Find it fix if find it fix it find it fix it cmon why can't you fix it I expect you to spend your day hopelessly pretending to try to solve something you fucker
One of the only peopel able to help you sometimes though hes a bit of an old laxky, yeah hea fucking leaving see ya seeya kid and now we're not hirinf anyone to fuckjng help you no no no managing and monitoring the environments its your jov alll fof them every sngle on do you knkw all the xonfiguraiton values for them yet??
Instead we are hiring a new sales person to fucking make us some more money and we don't need naother seceloper to help you infqct lets have you use this mid end retail computer from 2014 to develop on yeah yeah oh but all our shitty code and visual studip will destry your memory but too bad!! Hahahahahdhsj
Go lice is all you, why sare you so slow
How long will it take
How long will it take
How long will it take
How long witll it tqk2
How long will it take holy shit
Give time estimate for sonethign that I don't fucking know how about it will tqke till fuxk you oxloxk4 -
Have a question for more seasoned developers/techies in the industry. I started my first software development job 7 months ago and I am contract to hire. There’s only two developers (including myself) on my team and we’ve been working on two separate projects that’s apart of a bigger system. He was a contractor but because our company took too long to get back to him about converting he interviewed and accepted an offer at Amazon (don’t blame him). Now I have to take over his project as well as mine which would be overwhelming to say the least... our team is almost entirely remote so it can be difficult to communicate sometimes and our company is heavy in process so development moves slow. Should I start looking for other opportunities or should I stick it out and gain experience even though the workload is unrealistic?5
-
I was hoping it would be possible in a big international company to work (as a software developer) on my own laptop (MacBook Pro) - cause of better parameters = better performance = better efficiency. After I got hired, I was told that it is not possible to bring my own laptop. So I was given an old DELL laptop with Windows + a lot of security stuff in it from the company. The poor DELL is so slow - that even a single commit into the branch takes about 2 minutes because of the security stuff : -O ...I am soooo disappointed... :[ .... On the other hand, by working at home on my MacBook in compare with that DELL I feel about it like I work with some super ultra alien technology from the future :D what a feeling <35
-
And why is symfony so fucking slow? Well I guess it has something to do with depending on code annotations for everything, or every simple task requiring a whole cloud of a thousand classes, stupid design decisions....I fucking hate symfony, piece of shit software
-
TL;DR I just recently started my apprenticeship, it's horrible so far, I want to quit, but don't know what to do next...
Okay, first of all, hey there! My name is Cave and I haven't been on here for a while, so I hope the majority of you is doing rather okay. I'm programming for 6 years now, have some work experience already, since I used to volunteer for a company for half a year, in which I discovered my love for integrations and stuff. These background information will probably be necessary to understand my agony in full extend.
So, okay, this is about my apprenticeship. Generally speaking, I was expecting to work, and to learn something, gaining experience. So far, it only involved me, reading through horrible code, fixing and replacing stuff for them, I didn't learn a thing yet, and we are already a month in.
When I said the code is horrible, well, it is the worst I have ever seen since I started programming. Little documentation - if any -, everywhere you look there is deprecated code, which may or may not been commented out, often loops or simply methods seem to be foreign for them, as the code is cluttered with copy paste code everywhere and on top of that all, the code is slow as heck, like wtf.
I spent my past month with reading their code, trying to understand what most of this nonsense is for, and then just deleting and rewriting it entirely. My code suddenly is only 5% or their size and about 1000 times faster. Did I mention I am new to this programming language yet? That I have absolutely no experience in that programming language? Because well I am new and don't have any experience, yet, I have little to no struggle doing it better.
Okay, so, imagine, you started programming like 20 years ago, you were able to found your own business, you are getting paid a decent amount of money, sounds alright, right? Here comes the twist: you have been neglecting every advancement made in developing software for the past 20 years, yup, that's what it feels like to work here.
At this point I don't even know, like is this normal? Did git, VSCode and co. spoil me? Am I supposed to use ancient software with ancient programming languages to make my life hell? Is programming supposed to be like this? I have no clue, you tell me, I always thought I was doing stuff right.
Well, this company is not using git, infact, they have every of their project in a single folder and deleting it by accident is not that hard, I almost did once, that was scary. I started out working locally, just copying files, so shit like that won't happen, they told me to work directly in the source. They said it's fine, that's why you can see 20 copies of the folder, in the same folder... Yes, right, whatever.
I work using a remote desktop, the server I work on is Windows server 2008, you want to make icons using gimp? Too bad, Gimp doesn't support windows server 2008, I don't think anything does anymore, at least I haven't found anything, lol.
They asked me to integrate Google Maps into their projects, I thought it is gonna be fun, well, turns out their software uses internet explorer 9.. and Google maps api does not support internet explorer 9... I ended up somehow installing CEF3 on that shit and wrote an API for it in JS. Writing the API was actually kind of fun, but integrating it in their software sucked and they told me I will never integrate stuff ever again, since they usually don't do that. I mean, they don't have a Backend as far as I can tell, it looks like stuff directly connects with their database, so I believe them, but you know... I love integrating stuff..
So at this point you might be thinking, then why don't you just quit? Well I would, definitely. I'm lucky that till December I can quit without prior notice, just need a resignation as far as I can tell, but when I quit, what do I do next? Like, I volunteered for a company for half a year and I'd argue I did a good job, but with this apprenticeship it only adds up to about 7 months of actual work experience. Would anybody hire somebody with this much actual work experience? I also consider doing freelancing, making a living out of just integrating stuff, but would people pay for that? And then again, would they hire somebody with this much experience? I don't want to quit without a plan on what to do next, but I have no clue.
Am I just spoiled, is programming really just like that, using ancient tools and stuff? Let me know. Advice is welcomed as well, because I'm at a loss. Thanks for reading.10 -
OpenSource is fun they said. I being a bored teen thought, ah, another chance to experiment. Discover something new. Now I am into piracy, movies, music, software. If I can get it for free I ain't paying for it. So I went on to GitHub to see what exciting new Repos I could contribute to. I hate already implemented plenty of algorithms in GO for GitHub.com/TheAlgorithms so I was looking something more practical, more beneficial to society. Then I saw it, the perfect repo, not too complex and not amateur. SpotDL/spotify-downloader for downloading songs from Spotify, a grey area coz it's technically piracy. Well not from Spotify, we fetch the info from the Spotify API and search for the songs on YouTubeMusic. They were just about to release v3, a complete rewrite of the codebase stressing code readability and stuff. I spend about a day studying the codebase, trying to findout just where I could make my contribution. I can see outright that there's a huge problem with implementation.
First of all the script spawns 4 processes for downloading songs though you might be downloading only one song. Which means for everytime you run the script you have to wait for 4 other processes to be spawned before any downloading can happen. Sure this is faster when you are downloading more than like 4 songs, but it's actually slower when downloading a single song. But I ignored that coz I assumed that most users download playlists and albums. Anyway we talked with the like lead developer and he was all like, make those PRs anytime you feel like. So I made a really minor first contribution.
I introduced download from Spotify URI functionality, modified like 10 lines of code. I was half expecting that the PR would be merged within hours at most 24 hours coz of how minor of a contribution it was, 5 days in it was pending. So I tagged the lead Dev and he was all appreciative of the PR, calling it real 'clean code' and stuff. 3 more days, the PR is still not merged. I have now stacked 4 more commits to the same PR, I tag the dev and he's like he's waiting to see if my 'feature' will get atleast 10 upvotes so that it can be merged, he links an issue. I go to the issue and my feature is not there, So 11 days after I made my PR I have to write a comment explaining the 'feature' introduced in my PR and then wait for 10 upvotes.
I was like f**k this, I'll just develop on my fork if you want the features on my fork, you will make your own PR! I am so done with OpenSource, development is slow. I have no idea how you guys do it. I can't handle development where I don't have write access.6 -
I really like Linux but it makes me mad when apps I use, like Adobe XD, are available for everything but Linux.
I'm not even going to start with HBO not being able to load streams on Linux. I payed money to stare at a black screen.
I tried to use PlayOnLinux for Adobe Creative Cloud but XD doesn't even appear there.
I also hate dual booting because when I'm using Win or Linux for a bit I tend to make different desktops for different programs/IDEs/browsers and I like them to be open at all times for easy access when I want to do shit. Dual booting means having to open all this again
VMs are even worse in that they tend to be very slow and when I see choppiness when moving windows I immediately "nope" out of that shit
I can't put up with Windows's bs anymore, but not being able to use the software I need is even worse.
I don't know what to do2 -
That moment when you have to install an antivirus software on your work os and suddenly the machine is slow as hell.
-
I love software engineering. I enjoy every aspects of it. But recently due to some company politics it is a shit show at my workplace.
I am actively looking for a change and things are going bit slow due to the pandemic situation. I am really frustrated and end up having nightmares every time when I sleep. I know in these times having a job itself is a big thing.
I really wish to be at a place where I can work effectively. -
Many smartphone cameras lack the ability to turn off burst shot mode.
The burst shot feature on smartphone camera software is almost always not helpful, only annoying. All it does is spam the storage with useless near-duplicate photos.
"Then simply don't hold the camera shutter button!"
Sometimes, this happens by accident. Or the phone has an I/O lag in the moment of releasing the shutter button, so the release of the shutter button is not registered and burst mode is initiated after the I/O lag.
The only purpose of burst shot seems to be making many low light photos to find one that is not shaken. Even then, there must be an option to turn it off.
Also, the point-and-shoot intuition of holding the camera shutter button to set focus and exposure, and releasing to capture a photo is far more convenient. On newer phones, that has been replaced with highly annoying burst shots.
"Then use a third-party app that does allow turning off burst mode."
The problem with third-party applications is that they are awfully slow, since they can not be optimized for a specific device like pre-installed camera applications are. This slowness, as one might expect, leads to missed moments.
On some smartphones, third-party applications can not even access all camera features, such as 2160p video recording. Some phones use a proprietary API that can only be accessed with the pre-installed camera app.1 -
It's these individually tiny annoyances in products and software that together form a huge annoyance.
For example, it's 2022 and Chromium-based web browsers still interrupt an upload when hitting CTRL+S. This is why competition is important. If there was no Firefox, the only major web browsers would, without exception, have this annoyance, since they're all based on Chrmoium.
I remember Chromium for mobile formerly locking scrolling and zooming of the currently viewed page while the next page was loading. Thankfully, this annoyance was removed.
In 2016, the Samsung camera software was updated to show a "camera has been opened via quick launch" pop-up window when both front and rear sensors of the smartphone were covered while the camera was launched by pressing the home button twice, on the camera software Samsung bundled with their custom version of Android 6. What's more, if that pointless pop-up was closed by tapping the background instead of the tiny "OK" button or not responded to within five seconds, the camera software would exit itself. Needless to say, this defeats the purpose of a quick launch. It denies quick-launching while the phone is in the pocket, and the time necessary to get the phone out could cause moments to be missed.
Another bad camera behaviour Samsung introduced with the camera software bundled with their customized Android 6 was that if it was launched again shortly after exiting or switching to stand-by mode, it would also exit itself again within a few seconds. It could be that the camera app was initially designed around Android 5.0 in 2015 and then not properly adapted to Android 6.0, and some process management behaviour of Android 6.0 causes this behaviour. But whatever causes it, it is annoying and results in moments to not be captured.
Another such annoyance is that some home screen software for smartphones only allows access to its settings by holding a blank spot not occupied by a shortcut. However, if all home screen pages are full, one either needs to create a new page if allowed by the app, or temporarily remove a shortcut to be able to access the settings.
More examples are: Forced smartphone restart when replacing the SIM card, the minimum window size being far too large in some smartphones with multi-windowing functionality, accidental triggering of burst shot mode that can't be deactivated in the camera software, only showing the estimated number of remaining photos if less than 300 and thus a late warning, transition animations that are too slow, screenshots only being captured when holding a button combination for a second rather than immediately, the terminal emulator being inaccessible for the first three minutes after the smartphone has booted, and the sound from an online advertisement video causing pain from being much louder than the playing video.
Any of these annoyances might appear minor individually, but together, they form a major burden on everyday use. Therefore, developers should eliminate annoyances, no matter how minor they might seem.
The same also applies for missing features. The individual removal of a feature might not seem like a big of a deal, but removing dozens of small features accumulates to a significant lack of functionality, undermining the sense of being able to get work done with that product or software when that feature is unexpectedly needed. Examples for a products that pruned lots of functionality from its predecessor is the Samsung Galaxy S6, and newer laptops featuring very few USB ports. Web browsers have removed lots of features as well. Some features can be retrofitted with extensions, but they rely on a third-party developer maintaining compatibility. If many minor-seeming features are removed, users will repeatedly hit "sorry, this product/software can not do that anymore" moments. -
I have actually two, but I'll write the other one in the week.
So we had classes about software engineering. The class was interesting but the teacher wasn't. Too soft, too slow, too low, too monochord (usual french), it was boring. So we ended up not listening to him. Kinda regret this.
We got a first exam, where we were in group to develop a Test Manager for Unit Test (yep.)
We had instructions, like the note would be multiplied by the percentage of coverage of code, etc.
The thing is, we really didn't get the point of the project. Now that I think of it, it seems obvious, but it wasn't back then as it was too new. In the four people of our group, one worked real hard on it, I tried to do my best, the others too.
But like I said, I didn't get back then the point of the topic, which is to apply design pattern, unit testing, etc. It was furstating af and we ended up with a 9/20.
I got the point of the topic only for the second exam, the most classic one, on a paper sheet with questions to answer. (We were allowed only one cheatsheet, I understood the topic while doing it. Sad, huh ?)