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 - "#complexity"
-
Conversation today...
Guy: "Hey I need a real quick script to pull some values out of an XML document...is that possible?"
Me: "Uh...yeah that's pretty simple if that's all it has to do."
Guy: "Ok excellent I'll send you some files and documentation."
Me: "Ok so is this like a one time use thing or do you need to parse multiple of these?"
Guy: "Actually it needs to run all the time, on this specific PC, watch directories for any files that are added, then generate a XLSX files of the values, and also log information to a database. Etc"
Me: "Oh that adds quite a bit of complexity from what you originally said. It's going to take more time."
Guy: "But you said it was easy."
Well fuck you...12 -
Team Lead: Anyone has any concern on their tasks? I'll see what I can do to help.
Me: Yeah I'm afraid I would not be able to finish my task on time because of its complexity.
Team Lead: Try harder.
What's the point of asking?11 -
Password complexity checker for big car rental company is set to insane mode
☑️ 30 char
☑️ symbols
☑️ numbers
☑️ upper & lower
❎ still 'too weak'10 -
Anyone looking for something interesting to do???
Step 1) understand how basic circuitry works on a bread board nothing too fancy. ( Implement NAND, AND, ADDER, SUBTRACTOR)
Step 2) learn about microprocessors and how OS works
Step 3) learn assembly
Step 4)write a basic assembler and understand how loaders and linkers works !
Step 5) write a kernel with very basic features like memory management and process management and some drivers for IO
Step 5) write an emulator for some simple systems .! ex chip-8.
Step 6) read about compiler theory and automata
Step 7) write a basic Python interpreter that compiles (not interpreter) to native assembly.
Step 8) implement TCP stack .
Step 9) learn as much as u can about complexity measurement ), data structures and algorithms using C or C++ it's very important ( familiarity with pointers and thus computer memory )
Step 10) learn any high level language of choice like Python or Ruby.
Step 11) stop debating over tabs vs spaces , emacs vs vim , angular vs vue, php vs Python , OOps vs procedular vs functional ( just know about all of them and when to use but don't fucking debate over which one is superior )..
Step 12) live happily and be healthy.30 -
In a user-interface design meeting over a regulatory compliance implementation:
User: “We’ll need to input a city.”
Dev: “Should we validate that city against the state, zip code, and country?”
User: “You are going to make me enter all that data? Ugh…then make it a drop-down. I select the city and the state, zip code auto-fill. I don’t want to make a mistake typing any of that data in.”
Me: “I don’t think a drop-down of every city in the US is feasible.”
Manage: “Why? There cannot be that many. Drop-down is fine. What about the button? We have a few icons to choose from…”
Me: “Uh..yea…there are thousands of cities in the US. Way too much data to for anyone to realistically scroll through”
Dev: “They won’t have to scroll, I’ll filter the list when they start typing.”
Me: “That’s not really the issue and if they are typing the city anyway, just let them type it in.”
User: “What if I mistype Ch1cago? We could inadvertently be out of compliance. The system should never open the company up for federal lawsuits”
Me: “If we’re hiring individuals responsible for legal compliance who can’t spell Chicago, we should be sued by the federal government. We should validate the data the best we can, but it is ultimately your department’s responsibility for data accuracy.”
Manager: “Now now…it’s all our responsibility. What is wrong with a few thousand item drop-down?”
Me: “Um, memory, network bandwidth, database storage, who maintains this list of cities? A lot of time and resources could be saved by simply paying attention.”
Manager: “Memory? Well, memory is cheap. If the workstation needs more memory, we’ll add more”
Dev: “Creating a drop-down is easy and selecting thousands of rows from the database should be fast enough. If the selection is slow, I’ll put it in a thread.”
DBA: “Table won’t be that big and won’t take up much disk space. We’ll need to setup stored procedures, and data import jobs from somewhere to maintain the data. New cities, name changes, ect. ”
Manager: “And if the network starts becoming too slow, we’ll have the Networking dept. open up the valves.”
Me: “Am I the only one seeing all the moving parts we’re introducing just to keep someone from misspelling ‘Chicago’? I’ll admit I’m wrong or maybe I’m not looking at the problem correctly. The point of redesigning the compliance system is to make it simpler, not more complex.”
Manager: “I’m missing the point to why we’re still talking about this. Decision has been made. Drop-down of all cities in the US. Moving on to the button’s icon ..”
Me: “Where is the list of cities going to come from?”
<few seconds of silence>
Dev: “Post office I guess.”
Me: “You guess?…OK…Who is going to manage this list of cities? The manager responsible for regulations?”
User: “Thousands of cities? Oh no …no one is our area has time for that. The system should do it”
Me: “OK, the system. That falls on the DBA. Are you going to be responsible for keeping the data accurate? What is going to audit the cities to make sure the names are properly named and associated with the correct state?”
DBA: “Uh..I don’t know…um…I can set up a job to run every night”
Me: “A job to do what? Validate the data against what?”
Manager: “Do you have a point? No one said it would be easy and all of those details can be answered later.”
Me: “Almost done, and this should be easy. How many cities do we currently have to maintain compliance?”
User: “Maybe 4 or 5. Not many. Regulations are mostly on a state level.”
Me: “When was the last time we created a new city compliance?”
User: “Maybe, 8 years ago. It was before I started.”
Me: “So we’re creating all this complexity for data that, realistically, probably won’t ever change?”
User: “Oh crap, you’re right. What the hell was I thinking…Scratch the drop-down idea. I doubt we’re have a new city regulation anytime soon and how hard is it to type in a city?”
Manager: “OK, are we done wasting everyone’s time on this? No drop-down of cities...next …Let’s get back to the button’s icon …”
Simplicity 1, complexity 0.16 -
Pessimist: a O(2^n) algorithm's performance decreases exponentially as input increases.
Optimist: a O(2^n) algorithm's performance increases exponentially as input decreases.2 -
We are pioneers.
We build software, an extremely complex concept that didn't exist just 70 years ago.
We learned to harness its complexity and bend it at our will. Just stop for a minute and think about what happens when you load a URL in your web browser. The whole process.
In all human history, nobody has ever been the protagonist in something so complex as software. Yet we know that all of this wouldn't exist without a community of developers, sharing code and knowledge over the same system that they have created.
_We are dwarves perched on the shoulders of our fellows_
That's why even if nobody understands our work, I still think this is the most beautiful job in the world.12 -
Biggest scaling challenge?
The imaginary scaling issues from clients.
Client : How do you cope with data that's a billion times bigger than our current data set? Can you handle that? How much longer will it take to access some data then?
I could then give a speech about optimizing internal data structures and access algorithms that work with O(log n) complexity, but that wouldn't help, non-tech people will not understand that.
And telling someone, the system will be outdated and hopefully been replaced when that amount of data is reached, would be misinterpreted as "Our system can not handle it".
So the usual answer is: "No problem, our algorithms are optimized so they can handle any amount of data"6 -
Completed a project for my final year CS degree and my professor rejected saying it is of very few lines of code.Hope he learns to evaluate projects on complexity and logic rather than number of lines of code. :/29
-
"Hey, Root, someone screwed up and now all of our prod servers are running this useless query constantly. I know I already changed your priorities six times in the past three weeks, but: Go fix it! This is higher priority! We already took some guesses at how and supplied the necessary code changes in the ticket, so this shouldn't take you long. Remember, HIGH PRIORITY!"
1. I have no idea how to reproduce it.
2. They have no idea how to reproduce it.
3. The server log doesn't include queries.
4. The application log doesn't include queries.
5. The tooling intercepts and strips out some log entries the legendary devs considered useless. (Tangent: It also now requires a tool to read the logs because log entries are now long json blobs instead of plain text.)
6. The codebase uses different loggers like everywhere, uses a custom logger by default, and often overwrites that custom logger with the default logger some levels in. gg
7. The fixes shown in the ticket are pretty lame. (I've fixed these already, and added one they missed.)
8. I'm sick and tired and burned out and just can't bring myself to care. I'm only doing this so i don't get fired.
9. Why not have the person who screwed this up fix it? Did they quit? I mean, I wouldn't blame them.
Why must everything this company does be so infuriatingly complicated?11 -
(Interview for sde-3 position)
(continuation of https://devrant.com/rants/2132431/... )
Interviewer - *opens laptop. Gives a question.* solve this.
Me - *a bit surprised that such questions were being asked on a sde-3 level*
this is the 4th or 5th question from geeksforgeeks, isn't it? I know the answer to this. Do u still want me to solve it?
Interviewer - *not believing me* Yes
Me - okay. Well this *writing down the original solution mentioned on the site* is the verbatim code mentioned on the website, with complexity O(n^2).
However I feel this is not the optimal solution. Let me write a better solution.
*I provide a better solution*
This has a complexity of O(n log n) . What do you think?
Interviewer - Nope. This could be a lot better.
Me - okay. Let me see. Did some minor changes, added some caching (obviously this will have no effect on the base algorithm) etc
How about now?
Interviewer - nope. Still not good.
Me - okay. Can you tell me how to improve it?
Interviewer - no we are not allowed to solve problems for you. It is not our interview, it is yours.
Me - that makes no sense. Interviews are a two way street. I'd very much like to know the optimal answer to this.
Interviewer - okay
*copies down the answer from geeksforgeeks*
This is good
Me - *at first I thought this was a prank or something. *
I just mentioned this answer here.
Then I spent the next 10 minutes providing a BETTER solution.
May I know how yours is better?
Interviewer - this solution has 2-3 loops. Yours has a function calling itself.
Me - that's called divide and conquer using recursion mf!
Anyways let's take an example and do a dry run.
Interviewer - okay
*we do dry run*
Interviewer - oh yes. Yours ran faster. But it will run fast only sometimes.
Me - yes. Each time the algorithm rolls a dice to decide if it should run fast or slow. You have one goddamn awesome weed dealer man.
I got to go. Thank you for meeting me.14 -
IF LIVES DEPEND ON A SYSTEM
1. Code review, collaboration, and knowledge sharing (each hour of code review saves 33 hours of maintenance)
2. TDD (40% — 80% reduction in production bug density)
3. Daily continuous integration (large code merges are a major source of bugs)
4. Minimize developer interruptions (an interrupted task takes twice as long and contains twice as many defects)
5. Linting (catches many typo and undefined variable bugs that static types could catch, as well as a host of stylistic issues that correlate with bug creation, such as accidentally assigning when you meant to compare)
6. Reduce complexity & improve modularity -- complex code is harder to understand, test, and maintain
-Eric Elliott12 -
Boss comes in and gives me some js code for syncing data (he hacked it together the other day, really messy with like 5 callback lamdas stacked into each other)
Boss: Make it faster and more reliable and add some progress indicator
So i look at the code and he literally pulls all the data as one json (20+ MiB). Server needs multiple minutes to generate the response (lots of querys), sometimes even causing timeouts....
So i do what everyone would do and clean up the code, split the request into multiple ones, only fetching the necessary data and send the code back to my boss.
He comes in and asks me what all this complexity is about. And why i need 5 functions to do what he did in one. (He didn't -.-). He says he only told me to "make it faster and show progress" not "to split everything up".
So I ask him how he wants to do this over HTTP with just one request...
His response: "I don't care make it work!".
Sometimes i hate my job -.-11 -
When everything has been abstracted..
While I think it's encouraging to newcomers into the field of programming they should always strive to delve into the abstracted details.. The amount of complexity that we deal with 'infinite'.4 -
Fuck those who cover their incompetence with complexity. Fuck those who fall for their shitty tricks. Fuck you for depriving me of any sense of accomplishment with overcomplicating everything to show how smart you are when you are not. Fuck you for creating a culture of overthinking egoism instead of shipping and finding out who was right. FUCK YOU IN THE ASS YOU BIKESHEDDING, MOTHERFUCKING CUNTS!4
-
"Your resumé looks really good. We would really like to hire you. But you need to do this completly job unrelated test/coding challenge first."
----
"Is the test Android related?"
"Yes"
*Opens Test* -> "what ist the complexity of this function (written in c)"
*Scrolls*
"Implement algorithm xyz in Go lang"
*Closes test and breaks something*
----
"You will need to Code on a small Android projekt so we can see how you work"
"OK, how much time will i need to plan for it?"
"Our lead dev decided to make it small so its only 4-5 days."
----
What is it with all this stupid hiring test these days? And what do these recruiter think?8 -
Simplicity is a prerequisite for reliability.
I put those words on the wall in giant vinyl letters, and I point to them every time someone asks me "can you add a frontend button which checks this external API and stores the correlation between the amount of rain and the sales numbers of purple buttplugs inside the user profiles?"
People always ask for one more column in a table, one more paragraph under an image — they never ask for replacement or removal of items.
So I force them. Want a feature? Fine, if you point at something of equal or greater complexity to delete.2 -
One day at a doctor who started a small conversation:
Doc: What is your job?
Me: I am a software developer, I write computer programs basically.
Doc: Interesting. How does it work?
Me: Oversimplified you have special languages to tell the computer what to do and then this is converted into a program you can start on your PC. The languages are a bit like basic english (thought of Pascal at this moment).
Doc: So then it is a pretty simple job.
Me thinking: OMFG yes that's why I studied it 6 years, because it's soo easy.
Me thinking at home: Next time tell them that you are a computer scientist and that it is applied mathematics basically. Maybe then they will get a clue of the complexity. 🤔14 -
Junior dev:Hey,see my code works :)
*After analysis of code*
Senior dev:Let's talk about complexity bro
Junior dev: shit :( -
"I think most programmers spend the first 5 years of their career mastering complexity, and the rest of their lives learning simplicity. " - Buzz Andersen2
-
I think I figured out why so many companies jumped on board the Agile approach. Companies heard Productivity Bonus and Put Stuff into a List Of Things to Do, and left out all the rest of their responsibilities. One of my past companies was like "We're going to take an Agile approach to everything! Except, we're not going to shield developers from everyone who has stuff in the backlog, and we're going to have other meetings during the day on top of the scrum meetings to check on your progress, and we're going to measure points in time instead of complexity".
I feel like the creators of the Agile Manifesto would be really upset at all of the poorly implemented processes. Because all of us developers are pretty upset.6 -
*Got a request for installing and configuring an online shop for a client*
Me: Do you have a web space already?
Client: No, I don't want to pay for it. (FYI: They only cost about 20€ a year)
Me: Okay, but free hosters are often slow and unprofessional. I really do not recommend using free hosting services.
Client: Doesn't matter, do it.
Me: *Working on the shop for several weeks, finally goes online*
One week later, client contacts me saying shop is offline. I realize the free hoster he used shut down their services (bankruptcy), resulting in the loss of about 90% of the work that I had done (no proper backups due to complexity)
Client: How can that even happen? You'll redo the shop, right?
♪~ ᕕ(ᐛ)ᕗ5 -
Today the CEO asked us to create KPIs to follow a junior tasks, daily.
The problem it's he wants KPIs to foretell problems or delays in his tasks.
The junior is analyzing 14 years old C++ code, made by an electrical engineer who had all worsts practices possible when coding.
We explained that we couldn't make real, true KPI that would foretell the advancement due to complexity of the legacy and the fact that the junior had NEVER USED C++.
SO.... He asked to know how many code lines he made daily and an estimate of how many lines he'll have to do to complete the task.... So he could foretell advancement.
....
....
It was the 5th time in less than 60 days, that the CEO bypass totally the CTO to ask some stupid useless shit. So now all developpers have resign, complaining about the CEO actions/stupidity.2 -
so i posted this image on my facebook wall(my business depends on facebook) and my father commented, check 1000 times then 😐
i wish i could say, it is not that easy, but i feel it is better not to say anything then explain the complexity of programming 😢3 -
Manager: I want the front ends to be more dumb, too much logic is happening on the frontend.
Me: both of the sites are just multi step forms, I’m confused about the complexity part.
Manager: yea but don’t we have a bunch of third party api calls?
Me: we have 4 and they are public facing apis.
Manager: yea, make a new api and move this api calls to the backend and I want both frontend teams to send the same shape payload.
Me: but…
Manager: oh and I don’t like how the business team does the a/b testing and splitting traffic, let’s move that to the backend as well.
Me: but… that a/b testing platform they use in ran by another team and they have a full set of features for business analytics…
Manager: yea let’s just replicate those features and move them to the backend.
Me: but it’s a product!
Manager: look! You are the best backend engineer we got! I know you can do this!
Me: I lead the frontend teams…
Manager: ….
Manger: good news we are giving you a promotion with raise you are now a senior engineer.
Me: I confused but happy… I think..9 -
!rant
Yesterday a friend of mine asked if I could help her with an assignment. The goal was writing shortest path agorithm in excel. I told her I don't know excel or VB but I will look into it. I didn't even know that we can code in excel 😅 After 1,5 hours of research and coding I writed a well documented code that does the job (with n^2 complexity of course). I feel VERY motivated after this. Because I did well job at an unexperienced environment with a language that I don't know!
Tldr: my new favorite ide is excel.3 -
"LeT's uSe gRaPhQL!" They said.
"It EliMinAtEs cOmpLeX aNd vErBoSe REST coDe!" they said.
Me sitting here for hours waiting for the backend team to fix major regressions every time they push the smallest "updates" to staging... 🤡
Call me a boomer but I can't help but feeling graphQL makes things MORE complex than REST... either that or the backend devs have no idea what they are doing17 -
I've been locked in a room with another dev for 2 days working like insane to remake a outdated crm system. Had to inform the department lead that the deadline isn't possible and we need another week. Got questioned about what we had been doing the past days, redesigned the database, migrated data, frontend etc. Boss goes "that's all you manager in 2 days?" We went in with 2 slides and had to design and plan everything from scratch.
I lost count of how many rounds and added complexity happened in 2 days when Customer came by. Now there is going to be a board meeting with PM as he complains that the project is taking too many resources and should be killed. I invited myself to that meeting to defend the work done. Hold my laptop and watch this.7 -
Dev: So we need around $50-100 a month to activate and use some key services that would greatly reduce our backend complexity. Would this fit into our budget? Actually, we've never really discussed in general what sort of tech budget we have to work with...
Management: UNTIL WE HAVE SUSTAINABLE REVENUE, OUR TECH BUDGET IS 0
FullStackClown: 0? Are you serious? You can't spare a few hundred dollars TOTAL over the next 3 months until our next round of funding clears?
Management: ALSO WE ARE REALLY GOING TO NEED YOUR HELP TO FIND PRODUCT MARKET FIT FROM THE TECH SIDE
FullStackClown: Oh no... we've gotten to the classic point where they think tech is the thing that will solve their problems... abandon ship...7 -
Do you know what is world needs?
Good fucking tutorials for all programming languages.
Every time I want to learn a language it's a fucking mess. Tutorial here, tutorial there. Read the docs, it's fucking outdated. This person using this design, that person using that.
I am so tired of this shit.
also, for a simple example most website uses some complex architecture, something they think is the next thing.
Even searching for a simple QT singleton pattern gives me a webpage from QT Wiki which uses templates, typedefs and this shits to just show a FUCKING EXAMPLE OF THREAD SAFE SINGLETON.
I really wish there's was a greater platform for this. A platform that follows some certain standard rules for tutorials.10 -
Adios Motherfucker!
Finally got that pile of misery finished. That simple ticket exploded in complexity and had quite a bit of scope creep. So so glad it's over. I mean, apart from code review and QA. But still. It's done!
Also: I may have been drinking already. Clearly not enough from the painful lack of typos and silliness. Gonna go work on that.6 -
Today i implemented something of such a complexity that the part of my brain i am in could not follow it.
(Really guys. I did not know what i was doing. I only knew i had to do it exact this way)
This feeling when you are in a tunnel and unstoppable. I even documented what i did.
Sadly i do not even understand my thoughts there xD
I wrote about three hours straight and then run a test. And the only mistake was a variable not filled as described. Used another one and it run smoothly as hell.
Today i will drink a beer on whatever part of me did this. Cheers6 -
Most kids just want to code. So they see "Computer Science" and think "How to be a hacker in 6 weeks". Then they face some super simple algebra and freak out, eventually flunking out with the excuse that "uni only presents overtly theoretical shit nobody ever uses in real life".
They could hardly be more wrong, of course. Ignore calculus and complexity theory and you will max out on efficiency soon enough. Skip operating systems, compilers and language theory and you can only ever aspire to be a script kiddie.
You can't become a "data scientist" without statistics. And you can never grow to be even a mediocre one without solid basic research and physics training.
Hack, I've optimized literal millions of dollars out of cloud expenses by choosing the best processors for my stack, and weeks later got myself schooled (on devRant, of all places!) over my ignorance of their inner workings. And I have a MSc degree. Learning never stops.
So, to improve CS experience in uni? Tear down students expectations, and boil out the "I just wanna code!" kiddies to boot camps. Some of them will be back to learn the science. The rest will peak at age 33.17 -
I really hate fucking Wordpress!
I hate it's stupid API, with it's stupid hooks and actions and all those stupid functions and no fucking logic to any of it!
I hate it's stupid plugin system, with all that fucking overhead that brings no real value and adds all that complexity for nothing!
I hate stupid fucking multiple calls for the same fucking assets, loading them over and over again because every stupid plugin calls them again and again!
I hate motherfucking SHORTTAGS, or whatever the fuck they are called!
I hate that every stupid fucking plugin and shortcode and fucking every little fucking piece of HTML comes from a different fucking place, with different fucking structure and different fucking classes and stupid fucking loading seaquences that make no fucking sense!
And I hate fucking page builders !!!!!
Fuck!!!!
I should be fucking coding on this fucking peace of shit, but I just cannot fucking take it any more!!!
IT NEEDS TO FUCKING DIE!
It should be relegated to the darkest corners of the internet and all the servers that have it's fucking code anyware on their systems should be disconnected and buried in the deepest pits of hell, just to be sure it never, EVER, surfaces again!!!
AAARRRRGGGHHHHHHH !!!!!!!!!5 -
I dont see why recruiters find it relevant to ask how many lines of code a piece of software has. Like seriously why!?!?!?!
It by no means measures the quality of the code or the usability or complexity of the software.6 -
Y'all ever notice how the size and complexity of a project is a source of pride for those whom created the project, and a source of dread for those who need to maintain it?7
-
I found university very worthwhile, mainly for what it exposed me to that I wouldn’t have necessarily learned otherwise. University exposed me to a lot of knowledge which allowed me to discover the fields and concepts that really interested me. It also forced me to learn math, and I’ve come to really love mathematics, even though my knowledge is still not that deep. I really respect and appreciate math now that I have more than a superficial understanding of it.
CS-wise, the things that have been most useful in practice have been complexity, data structures, concurrency, and others, but complexity is probably the absolute most important thing to at least learn the basics of.
I would not say that university is a necessity though. You can absolutely get by teaching yourself, especially if you are disciplined/interested enough to keep doing it. The important thing is to learn *what* to learn.2 -
I’m pissed.
I had previously ranted about being assigned to a very messy project. I spent 3-4 months alone adding features and CLEANING things up.
Recently, there had been talks about a new major development phase on this project. But things lingered and the day before I’m to go on vacation, I get the news that this new phase starts in 2 days. Since I’m going to be on break they’re putting other guys on the project who don’t know anything about it.
Fast forward two weeks later.
I’m back from vacation.
I find out one of the guys has strong opinions about doing things certains ways… but unfortunately they are "ways" of unnecessary complexity, abstraction and verbosity.
After just a couple of weeks I’m already lost in the complexity of his code, which supports features of VERY LOW complexity. Fuck, has he ever heard of KISS? Has anybody heard of it where I work?
Now I have to spend my mental energy trying to make sense of this pile of crap rather than actually spending it getting things done.1 -
Why is C++ the first language taught in schools when Ruby is a much simpler and fun language?
History says because the courses didn't get updated.
Conspiracy theory says it's to keep out people who can't deal with complexity.20 -
Worst part of being a dev?
For me it's putting myself into infinite loops wrestling with my own self doubt. Is this really how I want to solve this problem? Could this code be cleaner? Surely there's a better way to do this? Am I adding unnecessary complexity? Is this going to come back and bite me in x months? And so on...
In fact, most days I just feel like an imposter.4 -
Best tool:
Your hands!
- incredibly flexible
- express a lot of commands trough very little code (just raise the middle finger and tell me if you are not expressing something VERY strong with VERY little complexity)
- reusable
- interfaces
- smells of good soap
Worst tool:
Your brain
- highly power consuming
- wrinkly, ehw!
- overthinks a lot
- imposter syndrome
- hooked on sugar like it was cocaine
- hooked on cocaine like it was sugar
- refuses to comprehend chthulu5 -
We did a small automated review on our code base at work. We discovered that multiple single functions written by my colleagues have a cyclomatic complexity of over 420.
I can't think of words to describe how shit that is.11 -
I might lose my job this week
I'm part of a team of 2 tech people
We were hired as programmers. But over these past 10 months we've done everything from helpdesk to fixing network infrastructure, i setup a backup server for the company, started properly managing the companies passwords,and a host of other things not in my contract.
But my boss is changing the deadline again and she refuses to listen to anyone's concerns, she doesn't understand the complexity of what she wants and since the best we've done so far can be considered at best a prototype in my opinion shes going to be disappointed
So at the next meeting me and my coworker are going to politely list our grivences point out all shes had us do at the same time and the impossible deadlines.
I've seen herpitch a fit for less so I'm fully prepared to be fired in rage in which case I'll compile the documentation and information on what we've done to email her.
But I'm pretty sure she won't find anything long term for the 40k salary shes expecting. Especially with how slow she is to do work herself. I was supposed to be on company health insurance since October 2020
In a way I'm kinda relieved at the potential of being fired.3 -
Matryoshkas are better companions than Ducks, and here's why:
-Made with wood. The material of Men! No industrialized rubber to spread Capitalist propaganda
-Multi-layer. Explain your code with different levels of complexity. Babushka Matryoshka is keen on C!
-Never feel alone. Maybe you want some intimate one on one, maybe you want a whole party of helpers, all thanks to pocket dimensions (included with the Matryoshkas).
So what's your excuse for not having a Matryoshka Comrade cyka!9 -
Deleting code and cutting out half the loc in a file and eliminating complexity is the best feeling in the world 😎4
-
As if my head couldn’t get any bigger... today we had the guys from the static analysis tool come in to show us how to use the tool and all that... the guys tell us don’t be alarmed, everyone who runs the tool for the first time has thousands and thousands of errors... my co worker did his as a “demo” and had 44 thousand MISRA errors. And a McCabe Complexity score of 700 in main().. I laughed ... and he and the guys from the tool laughed and said well fine then let’s see yours... so they set mine up to run, the room was silent, as I just smiled... only 2 MISRA mandatory errors.. and a few dozen required MISRA errors. My main McCabe score was 13.... understand both software project are working, and do very similar functions, only difference is different generation of product and who programmed it...
My boss walked in the room ... and says sooo how bad was Chris’ code as a joke... and the static analysis tool guys (who literally check people’s code for a living!) says ugh no sir, you have a very talented software engineer on your hands... we’ve never seen someone run the tool and have that few of issues... my co worker was very jealous to say the least... -
So today I saw another 'OOP should die' article.
And I decided I should google around a bit to find out why.
Reasons I found:
- Things get too complicated
- Things get too abstract (same as the above really)
But when I search for alternatives, only functional programming and different ways to use OOP get mentioned.
I still don't get why OOP is supposedly bad though.
Maybe my 20-30k LOC projects aren't big enough to see it?
For me the abstraction works very well. The abstraction is used to keep the complexity low(er).
And the different ways of using OOP are a plus-point for me. (Like the Entity-Component system)
I don't know enough about functional programming to be able to say it's better or worse, but the ideas behind it a perfectly usable in languages like C#.
So if any of you have a good concrete reason to not use OOP, please feel welcome to tell me in the comments :)12 -
Okay so I have been a consumer of devRant for a while now but never posted anything. This is my first.
So yesterday I modified an existing method(some very minor changes!!). Today after coming to the office I see that I have comments from Sonarqube stating
"Reduce cognitive complexity from ** to 15.
I get that it is a good measure to maintain readability but this refactoring is not part of my change at all and any mishap can break the whole code base!!!.
My code even won't build because of this company restriction that there should not be any issues from Sonarqube.
I really want to bash my head against the wall right now.11 -
Boss: I want Module 4 (regular complexity) done by tomorrow.
Me: *with not enough experience to get it done within a day. Still does it by staying up all night*
Next Day
Boss: I didn't want this, skip rest of the modules and jump to Module 10 (extremely complex) and I want it tomorrow.
Me: ;_;12 -
what's the thing that reminds you, that you are a developer?
I said "the time complexity of finding my car in this parking lot is n factorial".11 -
Scrum. And agile. And people over-communicating. And estimating work complexity on a prototype. And people in general. I like nights, when all annoying people just shut the fuck up and sleep.1
-
Clients that barely can turn on their computer that have opinions on how much complexity and time is involved developing X feature. I'm no rage-o-holic, but that is one of those rare things that make me want to stab someone in the face.
-
A lot of people are very good at making extremely complex and hard-to-read React components.
Very very few are good at making clean and easy-to-understand React components.8 -
!rant
I bitch a lot about the complexity of Rust. But every time I do it I go ahead and applaud just how fucking good the compiler messages are.
A fucking thing of beauty.2 -
I’ve come to the conclusion that developers who like react have never used it for anything even remotely complicated.
Because here’s reacts dirty little secret; it doesn’t scale. Not even a little. It’s flexible, but that leads to every developer writing their code in a different way.
It’s simple and easy for simple side projects, but as soon as you have to pass state to a child component, you’re fucked. And god help you if you’re modifying the state in said child component. You can try using redux, but that’s a bandaid solution to the real issue.
There are better alternatives, namely Vue. There’s no need to write unintelligible code that’s a mutated hybrid of html css and js. We as web developers realized mixing these technologies was a bad idea a long time ago.
React simply doesn’t scale. It’s flexibility, complexity, and the awful code quality it leads to makes it a nightmare for large projects with multiple developers
Some of its concepts are interesting and useful though. It’s functional concepts allow for easy code reuse, among the other benefits associated with functional programming
I sincerely hope that the hype around react dies out, and a new framework emerges that takes the best from react and fixes the glaring issues it currently has23 -
Got an assignment in school to make an easy project in c for embedded real time processors with a free complexity level (it was really early in the course and many had never been programming before).
Since I've been working a few years in development I decided to create an own transmitter and receiver for an own protocol between processors (we had just spent a week to understand how to use existing protocols, but I made my own).
The protocol used only 1 line to communicate with half-duplex and we're self adjusting the syncing frequency during the transmission. I managed to transmit data up to 1 kbps after tweaking it a bit (the only holdback was the processors clock frequency).
Then I got the feedback from our teacher, which basically said:
"Your protocol looks like any other protocol out there. Have you considered using an UART?"
Like yeah, I see the car you built there looks like any other car out there, have you considered using a Volvo instead?1 -
So we decided to adopt Scrum where in manager(scrum master) picks the stories for dev, changes them during sprint and also decides the complexity of task. so much for a servant leader!!3
-
I just came across this piece of recursive code, as much as I can guess this should be an infinite recursion but somehow it executes and does terminate. Can anybody tell me how this happens and what will be it's time complexity ?15
-
Tfw you *have* to tell the client it's *technically* possible, but at the cost of work and complexity... and they come back with "let's simplify the whole thing then" *.*1
-
Don't you guys feel like sometimes we make a huge deal in regards to what is basically grabbing a bunch of shit from a db and making it display on a flipping website?
I sometimes feel bored at how repetitive this shit is. Its the same shit, with various degrees of complexity to do that get data and post data or update data.
I dunno man, sometimes i just feel like there is too much for something that is inherently simple.3 -
uSE AnY pRogrAmMinG L@ngu@g3 yOu liKe.
1nTervi3weRs Do N0t CarE aBouT tHe L@nGuAge.
Fuck you. Stop asking time complexity or space complexity of functional code. No one fucking knows.19 -
So I saw this argument between two intellectual titans on Quora about C vs C++. It was pretty amusing lol.
First Guy: “C programmers are the Amish! They’re afraid of change. C++ is a better C because it repairs it insufficiencies like classes and namespaces.”
Second guy: “C is fairly consistent, while C++ is inconsistent in many places. It performs so many allocations without you even knowing it. It’s complexity is very distracting !”10 -
Informative article on why Golang is relevant is today's computing ecosystem. I too find many server side programming being done in Golang nowadays. I liked its c like features and simplicity over complexity.
https://medium.com/@kevalpatel2106/...23 -
"A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want."- Niklaus Wirth2
-
"Ralph" has been working on a process that updates a field in a SharePoint list and bellying aching for almost a month. Couldn't use the C# client, too hard...tried to use the SharePoint REST entry point, using C# too complex...Javascript also was overly complex. Tried to use PowerShell, that worked but could only run on the SharePoint Server and it didn't have access to the 3rd party system.
In our stand up this morning, again, he was belly aching he is still not done because of the complexity of SharePoint.
I thought "Good lord...what the frack is the problem? Surely other devs in the world aren't having this much of a problem."
Fire up google...search for an example...copy the MSDN C# example...run it...tada...updated the SharePoint list just fine. Maybe 15 minutes of effort (< 20 lines of mostly copy+pasted code).
Next stand up, I'm contemplating calling him out on the BS, but I suspect he had working code for a while. Wouldn't be the first time he has dragged his ass working on a project until folks get fed up waiting and he has an "intellectual breakthrough" and brags how all his effort was worth the time. Similar to the firefighter who starts fires just so he can 'be the hero'.1 -
fuck time zones and time changes, why the fuck we don’t have one time on the planet and one date that is just day.
No month, no years - all the complexity would be gone, day wouldn’t have 24 hours but it would be something more precise, there won’t be a second
time that earth goes around sun is
365,25964 days
31558432896 milliseconds
we should start count time differently so it’s not relative in space time continuum, what should be relative is the mass38 -
JS interview:
– we expect you to know the concepts of immutability, persistence, software architecture and systems theory, methods of analyzing complexity beyond the big-O notation, safe parallel code execution with web workers, WASM, modern web standards including working drafts, progressive enhancement and graceful degradation, WCAG recommendations and web accessibility in general, UX strategies and modern graphic design trends. Nice 20k github stars you got there. By the way, what's your opinion on modern optimistic UX?
– I know this all but I somewhat disagree with some status-quo UX strategies
– unfortunately it's a no
PHP interview:
– Do you know how to wipe your ass?
– *excited hysterical jumping with head nodding*
– You're hired25 -
while reading rebecca & brain's book on object oriented software. I realised that the programmer is a special kind of person. the complexity he can handle, the struggle to implement a system, from input to output, satellite control, AI, robotics, heck, even the planning required for a simple android app, the complexity is overwhelming at first, then you get your jotter and break it down into parts, and you drive yourself to the edge of sanity figuring out an algorithm, then you go over that edge implementing it, but oh that great super hero feeling when you finally get something to work exactly as specified, I'm not sure people in other professions can understand the satisfaction. I'm very young in the whole programmer world, but I'm growing fast, I'm just really grateful programming found me, I mean, can you think of something else you'lld rather do? yeah, me neither.4
-
Programming contest assignments, first level:
1. "...if you don't know how to return values from a function, you can just print them"
2. "...if you don't know how to read files, you can assume data is in global variables"
3. Required recursion
4. "...and estimate its time complexity.", "You may pre-process the data, but use at most o(n^3)", "your algorithm must use under n^3 operations"
That escalated quickly!1 -
Reviewing some code the other day, seeing a lot classes like:
SimpleThis
CoreThat
BaseSomething
I get the idea..Microsoft is doing it...disguising complexity with clever adjectives.
I think in my next project I'm going to start naming things like
SpaghettiMonster
GodClass
Repository (cause, every framework needs one)
Then in a year and a half-dozen other devs adding their bits, someone asks "SpaghettiMonster...WTF?...why is this data access called..<dev looks at code> Oh good Lord ...oh well...at least the class name is accurate"2 -
I want honest opinions. Do you think the following is a good or not so good interview question. Why or why not? Defend your argument.
Define a function where the input is a list of integers. It should find and return all the unique sets of three within the list that sum to x.
For example, given the list [1, 3, 2, 5, 6, 8, 10, 13, 15] and with x = 16, the function would return [(10,5,1), (13,2,1)]
If the candidate presents the trivial solution with time complexity of o(n^3), ask if can be done in o(n^2) or better.7 -
Things story points are great for:
- Helping the team estimate their workload for a sprint
- Discussing the relative complexity of a task / story
Things I will slap you for, hard:
- Arguing that all the easy stories you plan to pick are actually infinite story points to make you look better
- Going "yeahhhh look at me I did 5 more story points this sprint than Bob, I'm amazinggggg"
- Trying to subtly change the story point assignment after you pick a task so you can do the above while doing sod all work
- "Hmm your team only did x story points this sprint, but team poopoo over there did x+10, what's going on?!"4 -
I agree with many people on here that Front-End web development/design isn't what it used to be.
Things used to be simple: a static page. Then we decoupled design from description and we introduced CSS; nice, clean separation, more manageable - everything looks nice up to this point.
Introduce dynamic pages, introduce JavaScript. We can now change the DOM and we can make interactive, neat little webpages; cool, the web is still fun.
Years later, we start throwing backend concepts into the web and bloating it with logic because we want so much for the web to be portable and emulate the backend. This is where it starts to get ugly: come ASP, come single pages, partial pages, templates,.. The front-end now talks to a backend, okay. We start decoupling things and we let the logic be handled by the backend - fair enough.
Even later, we start decoupling the edge processes (website setup, file management, etc.) and then we introduce ugly JavaScript tools to do it. Then we introduce convoluted frameworks (Angular,..). Sometimes we find ourselves debugging the tools themselves (grunt, gulp, mapping tools,..) rather than focusing on the development itself (as per ITIL guidelines; focus on value), no matter how promising today's frameworks claim to be ("You get to focus on your business code"; yeah right, in practice it has turned out differently for me. More like "I get to focus on wasting copious amounts of time trying to figure out your tangled web").
Everything has now turned into an unfriendly, tangled web (no pun intended).
I miss the old days when creating things for the Web used to be fun, exciting and simple and it would invigorate passion, not hate.
<my cents="2"></my>3 -
Interesting..
From the book Effective Java, third edition:
"1997, when Java was new, James Gosling (the father of Java), described it as a
“blue collar language” that was “pretty simple” [Gosling97]. At about the same time,
Bjarne Stroustrup (the father of C++) described C++ as a “multi-paradigm language”
that “deliberately differs from languages designed to support a single way of writing
programs” [Stroustrup95]. Stroustrup warned:"
"Much of the relative simplicity of Java is—like for most new languages—
partly an illusion and partly a function of its incompleteness. As time passes,
Java will grow significantly in size and complexity. It will double or triple in
size and grow implementation-dependent extensions or libraries."
Bjarne Stroustrup (the father of C++)6 -
Warning: This contains spoilers for Silicon Valley S4 E10:
.
.
.
.
.
.
.
.
.
.
.
.
.
At 5:35 Gilfoyle says: "In order to hold that much data we would have to go RAID 0. [...] If we lose even one platter, we lose Melcher's data. Permanently."
But my question is: Why use RAID at all? Just storing the data without RAID would reduce the complexity, and if one disk fails, only the data on that one disk is lost. Also, I doubt speed is a priority at that point, since the whole thing is running on a home broadband connection, which something like a WD Gold data-center-harddrive (200+ MB/s) can easily max out.
Also, wouldn't it be easier to pay the broadband bill out of their own pocket, instead of moving tons of server equipment to Stanford?4 -
I had some fun with ChatGPT today. I wondered how good its problem solving skills are. Turns out, it's no better than an entry/junior dev armed with all the docs out there - it knows what's written there, how to use the thing (language/framework/tool/etc.), but it has no "understanding" neither of the problem nor the tool, in a holistic way. It's got the knowledge, but it neither has the skill nor understanding of how/why to use it to solve a problem (any problem beyond plain simple complexity).
So the problem I asked it to solve was related to this one I had: https://devrant.com/rants/6312527 .
It was painful to troubleshoot this problem with ChatGPT. It kept on focusing on this particular problem and reacting to errors while trying to fix its initial solution. It took us a good while. Eventually, it reached a working solution, but it was an ugly, convoluted approach that was not feasible to cover my use case with.
FWIW I think it is interesting to follow its line of thought. Eventually, a pattern emerges of how it tries to solve the problem. And it reminds me a lot of myself on the first week in the IT field :)6 -
@linuxxx’s recent post inspired me to try out linux again and see if I want to use it as my primary OS. My past experience with linux has always been endless fiddling with settings or drivers or whatnot, so I was wondering if you’ve got advice on what level of complexity is appropriate in solutions. E.g. if using the terminal and changing a bunch of config files is normal, or if that is generally unsustainable on the long term.
Thanks, I can’t wait to see how this experiment goes 😄18 -
An intern approached me for help in one of their past exam questions. They said they had already turned in the exam but just wanted to know the answer. The question was not that hard and I had a bit of time to kill so I helped them.
Me: So, to make it O(n), you have to make it a double linked list, and keep a tail.
Them: But the problem requires us to solve it with a single liked list.
Me: You can just iterate it at the end to make it single-linked again. That costs O(n), so the solution is still O(n).
Them: Oh yeah right. I don't think we even need a tail though, we could just have a variable pointing to the last link.
Me: ...which is called a tail.2 -
TDD has not been proven in studies to provide substantial reduction in cyclomatic complexity or other metrics of software development.17
-
A brilliant letter Richard Feynman wrote to Stephen Wolfram:
CALIFORNIA INSTITUTE OF TECHNOLOGY
CHARLES C. LAURITSEN LABORATORY OF HIGH ENERGY PHYSICS
October 14, 1985
Dr. Stephen Wolfram
School of Natural Sciences
The Institute for Advanced Study
Princeton, NJ 08540
Dear Wolfram:
1. It is not my opinion that the present organizational structure of science
inhibits "complexity research" - I do not believe such an institution is
necessary.
2. You say you want to create your own environment - but you will not be doing
that: you will create (perhaps!) an environment that you might like to work in
- but you will not be working in this environment - you will be administering
it - and the administration environment is not what you seek - is it? You won't
enjoy administrating people because you won’t succeed in it.
You don’t understand "ordinary people." To you they are "stupid fools" - so you
will not tolerate them or treat their foibles with tolerance or patience - but
will drive yourself wild (or they will drive you wild) trying to deal with them
in an effective way.
Find a way to do your research with as little contact with non-technical people
as possible, with one exception, fall madly in love! That is my advice, my
friend.
Sincerely,
(Signed, 'Richard P. Feynman')1 -
Developers who think complex code is good.
"Oh, lookie here, I can swizzle methods and inject dependencies in the runtime!"
"Although we have no valid use case, let's use dependency injection and follow the commandory stateor patterns because I watched a video."
Just because you learn something new that looks cool does not make it practical, you tosser.1 -
Looking for a second opinion/validation.
*Me: “Perhaps this simple and concise way to ensure the user doesn’t lose their data before they leave the page that requires non-zero yet minimal input from the user. (Read: ya gotta push a save/submit button)”
*Everyone else: Let’s pretend to read the user’s mind and perform relatively complicated functions behind the scenes, of which the user will most likely be unaware, that will add an undetermined amount of complexity to the development because we think it’s “where things are going,” by saving the value of a certain HTML element as it loses focus.
Edit: this is an exclusively-internally used app.4 -
Is it just me or does changing the theme on Notepad++ to Deep Black make everyone's code feel like it has the complexity of Autodesk Maya?
-
For context, I've been working for a couple years now with Rust, and, I have to say, the experience has been astoundingly pleasant. The language is both incredibly productive and meets each of my use cases and stipulations regarding speed, safety, and complexity. That said, I've come to beg the question, "what is the point of functional languages like Haskell?" To me, what seems attractive about Haskell is the inherent thread safety, and the added syntactic niceties of code written in the language. However, one must keep in mind, my experience with Haskell has been pretty limited, simply due to the massive learning curve that the language presents. Such a "learning curve" brings me to my central point: these days with languages like Rust which bring together the best from functional and imperative worlds, it seems like functional languages are becoming increasingly irrelevant. Let's face it: no sane person will choose to learn a functional language as their first language, outside of academia and mathematics, and OOP/OOP-like languages remain dominant in the space. So, why then, is Haskell any different? What benefit do languages like Haskell pose in the modern CS space that thread-safe, non-GC languages don't already provide?2
-
Been hacking frontend for a while, know most of the perks and tricks of css and html, have implemented countless of projects with angularjs, have even created jquery plugins and gulp packages, have won hackatons in UX design.... Still, a SFO company turned me down for a front end dev position cause I could not find the K most frequent words in an array in O(n) time complexity...3
-
[vent]
I am java dev with 5 yoe at a place which has really good engineering talent.
Was assigned a feature request.
Feature request requires me and one more older dev(in age, not in exp at company) to write the code. My piece is really super complex because of the nature of the problem and involves caching, lazy loading and tonne of other optimization. Naturally it makes up 90% of the tasks in the feature request. On the other hand, the older dev simply has to write a select query (infact he only needs to call it since a function is already written).
Older dev takes up all the credit, gives the demo, knows nothing but wrongly answers in meetings with higher ups and was recently awarded employee of qtr.
It looks as if I do the easy work whereas he is the one pulling in all the hard work.
Need advice to justify my work and make others realise it's significance, nuances of area and complexity of it.
Do not expect monetary benefits, just expect credit and recognition for the worth of work I am doing.14 -
Hey fastlane!
Great tool and all, but your documentation is at 🤡 levels, I need to read 20+ pages to get a full overview and understanding. So far I've had to read a dozen plus blogs and stackoverflow posts to find hidden flows (authentication first to do this, etc. etc. etc.)
Don't market your tool as "reducing complexity & saving time" and showing one-liners in the docs when in reality there are lots of hidden steps and NOT one-liners!!!!!!
This is why everyone complains it takes 1-2 days to just get a freaking pipeline working!!!!🤡 -
This was originally a reply to a rant about the excessive complexity of webdev.
The complexity in webdev is mostly necessary to deal with Javascript and the browser APIs, coupled with the general difficulty of the task at hand, namely to let the user interact with amounts of data far beyond network capacity. The solution isn't to reject progress but to pick your libraries wisely and manage your complexity with tools like type safe languages, unit tests and good architecture.
When webdev was simple, it was normal to have the user redownload the whole page everytime you wanted to change something. It was also normal to have the server query the database everytime a new user requested the same page even though nothing could have changed. It was an inefficient sloppy mess that only passed because we had nothing better and because most webpages were built by amateurs.
Today webpages are built like actual programs, with executables downloaded from a static file server and variable data obtained through an API that's preferably stateless by design and has a clever stateful cache. Client side caches are programmable and invalidations can be delivered through any of three widely supported server-client message protocols. It's not to look smart, it's engineering. Although 5G gets a lot of media coverage, most mobile traffic still flows through slow and expensive connections to devices with tiny batteries, and the only reason our ever increasing traffic doesn't break everything is the insanely sophisticated infrastructure we designed to make things as efficient as humanly possible.11 -
Recently installed SonarQube and its been amazing to see the level of code quality (or lack thereof)
Some projects have 30 to 60 days of technical debt and I found a few files with a cyclomatic complexity over 100. I’m still learning what the “good” numbers should be.
Yesterday, couple of devs were very proud they were going to start reducing the numbers, they started with one of my solutions that had 5 minutes of technical debt. Yes, 5 minutes.
DevA: “OMG…look at this…it has a cyclomatic complexity of 11…that’s terrible. I thought we were supposed to be professional developers.”
DevB: “And take a look at this, he used the double-slash instead of a triple slash for comments. How does any of code even compile?!”
Me: “Maybe we should tweak some of those SonarQube rules so they make more sense to our code base. We’re never going to use unicode, so all those string culture warnings should go away and code comment formatting? Who cares? Be happy we have comments. I think we should also focus on the bigger fish in that pond. The CRM project is one of the biggest and has a lot of improvement opportunities.”
DevB: “There you go again, don’t bring me problems, bring me solutions..ha ha”
DevA: “Yea, no kidding …hey…did you see the logger? OMG…the whole class is over 25 lines…we gotta split that up into smaller projects so it’s more manageable.”
It’s a good thing our revenue stream isn’t dependent on people getting work done.3 -
i am a weak developer, i dont know that much of what im doing, unexpected things come up, i dont like time estimates (estimating time is harder than complexity estimates), some school of thoughts dont like estimates https://youtube.com/watch/...
my manager posed a thought exercise to me, imagine im a contractor (im not, clearly not skilled enough to be) , contractors can estimate how much time precisely a task will take to do their work, get jobs, etc
is it possible to learn this power? how does one git so gud, walk in learn how existing code base works, change, edit , build on top of it, ideally doing quality work8 -
When I interview a super cocky candidate:
"Write a merge sort algorithm that works in linear time complexity."5 -
Oh gosh, if you like building stuff, how do you find a job that is actually building stuff instead of dealing with software complexity bs, bureaucracy, red tape, processes to justify other people’s jobs… 🤦♂️8
-
"When it comes to writing code, the number one most important skill is how to keep a tangle of features from collapsing under the weight of its own complexity." - John D. Cook
-
Let's face it: I am and will always be a tinkerer. Yes, I know my ways around, I can sneak into legacy code bases easily and throw new stuff in there, I've seen software stacks. But scarcely sound design, really modular. Even from the cleverer, experienced ones. They can master more complexity, so they can handle more spaghetti. Some essay from the 80's had this grand idea to organically 'grow' software. That's how it looks like most of the times: cancerous, parasitic super fungi (armillaria). Yeah, we all know have to fight bit-rot and entropy, but it was all lost before already. We'll never get rid of legacy protocols, legacy code.
And even when we go green field, start a fresh. Yeah, take a great design, make everything new, after some months of throwing features and outer constraints at the thing, it's the same old mud again.
But we can still dream on: some day I will design great APIs, I will have great test coverage, documentation, UML design, autometed tests, fuzzing, memchecking, I'll work professionally, clean coder style.
Pfft forget it. Maybe change for consulting, because we'll continue to dream of the 'clean' code, so you can sell the next 'recipe', development method. It's like diets. As effective. For the one selling.2 -
Today I finally experienced the power of something I learned in university: propositional and predicate logic.
Many developers I know think that such education is useless. Well, today I have proven that it is very useful. On a day to day basis, working on banking software, complexity in purely logic is very low. However, we have a screen that must show or hide elements based on some input values and conditions associated with certain elements. How hard can that be, right? Well, there are many variables to take into account and as such it's absolutely not trivial.
This screen didn't work properly and maintaining the code is hard as there is a lot of logic to show/hide, enable/disable things and so on. After quite some time and attempts by fellow developers, I decided to refactor the whole thing. I'm responsible for the quality of the software and it was quite degrading, so I had to do something.
In order to get things working properly, I defined collections of constants (ui elements) and predicates. Then, I defined for which element what predicates must be true, in order to hide/show, disable/enable etc. I then translated these predicates into code. And guess what? It works! Of course it works. It's logic. But I'm very pleased I finally could actually use some of all the math I studied!5 -
When you finally have some servers racked and configured in VMware to build a lab environment for the team....
But to access VMware you need to run citrix receiver from a mac to launch Chrome on Windows to access the VMware ESX Web UI but only on the HTML5 version as Flash doesn't work....
Now to spin up virtual machines that you can only upload via ova images but not locally cos that tries to show you the Windows citrix local files....
Do I even dare ask if I can access this via API so I can actually provision this with Ansible like I want too?! -
I've now worked on both monolithic solutions and microapps/microservices. I gotta say I'm not sold on the new approach. There's so much overhead! You don't have to know your way around one solution -- no, now you need to know your way around 100 solutions. Debugging? Yeah, good luck with that. You don't have to provision one environment for dev, test, staging, and prod. No, now you need 100 environments per... environment. Now, you need a dedicated fulltime devops person. Now devs can check in breaking changes because their code compiles fine in that one tiny microapp. The extra costs go on and on and on. I get the theoretical benefits but holy crap you pay for it dearly. Going back to monolithic is so satisfying. You just address the bug or new feature head on without the ceremony and complexity. You know you're not crapping on other people's day (compilation-wise) because the entire solution compiles.
...and yeah, I'm getting old. So get off the lawn! ;)2 -
Do you all look for code complexity O(n) while coding? Or you make sure that your code runs and never look back what's happening ?
Because as per code review no one looks for code complexity and that's so sad11 -
When do you know something is being overdesigned or overengineered?
The applications that the other programmer started building are killing me. He's using Clean Architecture and it has like a million different classes and shit. It's not messy or anything, but fuck it's overwhelming.
Just to figure out wtf was happening when getting the currently signed in user's email, I had to go through like 30 folder and files. Maybe more. All files were fairly simple on their own, but the entire flow was mindfucking me. Use cases, schemas, gateways, repositories, entities, models, etc etc
And that's the client facing application, I haven't checked the API yet, though it seems like that one is simpler.
The worrying aspect here is, any time anyone else has to mess with this, they'll also have to deal with this shit. This needs some really good documentation.2 -
// O(n²) complexity
for(x;y;z){
for(a;b;c){
}
}
Dev's argument: "We use this everywhere, as long as it gets the job done! Time is money!" How ironic..
So you would rather make your processing speed suffer for the sake of saving time? No, clean code doesn't matter. No, we should not waste time spending even a mere microsecond thinking about writing better code or at least consider it. No, we should just vomit out bad code at top speed. Good idea, guys. Idiots everywhere..6 -
For the people who can't sleep. It looks easy, but there's smth in it what makes it hard. Sooner or later you'll fail. Not even generated with my advanced sudoku generator. This one is generated by my sudoku js widget what does a bare minimal of complexity in its generated puzzles. Let me know if you're able to solve it8
-
I definitely made a channel in the dev Slack I'm in for algo practice with the description bigOHNOtation.3
-
the two code review personality types
review activity:
- dev A: requests code review, sets dev B and dev c (myself) as reviewers
- dev C comments: this review is marked with a complexity > 9000, touches > 20 files and has zero comments... also there's a lot of refactoring going on, making it hard for me to tell what the actual relevant changes are. can you please add more comments to this review?
- dev B (10 mins later): approved review6 -
How do you explain to your client that no, you cannot have a perfect solution, because the algorithm is O(2^n)?
I mean, without requiring him to get a degree in CS. Also without making him think that you can't build efficient code because you're dumb. Or that the hardware is slow.3 -
Probably joining my first real project. Truly no amount of university education can prepare you for the sheer scale and complexity of an enterprise software project. 100+ git repos, 5 different services running just to run the project locally, with tunnels open to 2 different DBs. It was daunting to touch anything.3
-
After listening to the deadmau5 plane crash story on h3h3 this exact thought play went on in my mind.
The universe wants to be uniform. Everything is the same, nothing reacts anymore.
Humans like the complete opposite. We like complexity and entropy. We create and we destroy.
But we are part of the universe.
So if you break this down into absolute math statements, they are contradicting.
So are we breaking the equasion?
Or are we part of the equasion?
...Are we the universe's self made antidote to itself?2 -
My biggest sin is overshooting the problem - developing something "with the future in mind" which ends up way more complicated than it should be.
It works, works great, but nobody can maintain it because of the complexity, and because I usually write no comments in these situations.
But hey! At least I'm aware of it and working on fixing it in me.3 -
Fuck Java because java is one of the worst first languages you could pick. In the following I’ll highlight two main issues. One issue, the complexity of Java, will make life more difficult for you immediately, and the other, the danger of developing myopia regarding programming languages and their capabilities, has the potential to hurt you for many years to come and possibly your entire career9
-
By any chance can someone explain logarithms to me and how they relate to complexity growth? I can do the calculation but it's only from memorisation. I just don't understand how it relates to a graph.10
-
There is a tool in my job that creates web pages by giving him what to display as content, and with that system, we can call applications from other web apps instead of re-implementing it.
But it has some flaws. Some that are natural, like its complexity.
And others.
I was calling an application from another webapp. I got an error 500. So I used a tool made by the enterprise to see the error in detail.
And the error 500 is in fact a 404 hidden.
Well, good job. -
Swift SUCKS
Why?
Because of its absolutely useless complexity...
a total simple thing: i have a string and want to concat a integer with it, so:
var x = stringVar + intVar; right? NO
its var x = stringVar + String(intVar);
or getting the index of a element in a array?
var index = array.indexOf(element); thats logic, right??? Not for swift, gotta go with: var index = array.index(of: element); WTF??!!
And all the other shit: nil instead of null, int++? Nope.
And there are SO MANY MORE things, where u just think, Apple really though different........than all normal coding languages.......
I´ll honestly rather learn C and recode Ios or have a look at objective-c...14 -
There are a few email addresses on my domain that I keep on receiving spam on, because I shared them on forums or whatever and crawlers picked it up.
I run Postfix for a mail server in a catch-all configuration. For whatever reason in this setup blacklisting email addresses doesn't work, and given Postfix' complexity I gave up after a few days. Instead I wrote a little bash script called "unspam" to log into the mail server, grep all the emails in the mail directory for those particular email addresses, and move whatever comes up to the .Junk directory.
On SSD it seems reasonably fast, and ZFS caching sure helps a lot too (although limited to 1GB memory max). It could've been a lot slower than it currently is. But I'm not exactly proud of myself for doing that. But hey it works!1 -
"Refractor this method to reduce its Cognitive Complexity from 110 to 15 allowed."
*Pan*
Ok let's do it :
label : for(....) {
if(...){
for(.....){
If(...){
....
break label;
}
}
}
}
*Pan Pan*1 -
they say everything "old" is better, but in programming, dependencies in C was a mess. Shut up. Sometimes C is a cult enforced by those who don't even write in C. Now I build my projects with Parcel in less than a second with no configuration. It uses a full-blown AST for everything. If I want more performance with similar DX, I use fastpack, bringing build time down to tens of milliseconds.
art? charli xcx, sophie xeon, death grips, just to name a few. they made things that weren't imaginable before, ultimately pushing music forward. Hendrix is good but they're just incomparable in terms of beauty, complexity and sophistication.
literature? every old book I read feature same conflicts. they are so similar it's almost boring to read them. meanwhile, Erlend Loe delivers a complex idea without using a conflict (!) and without any character changes. that's insane.
"older is better" is getting old. it's time for you to seek for some other reusable gibberish to insult what other people create.
finally, let me remind you that you, my friend, create nothing.46 -
Object Orientation is not a feature, it is an unneeded layer of complexity over a dying paradigm, Imperative Programming7
-
Sometimes I feel guilty when someone has worked on some unquoted bit of work that they've invested some time in and everyone gives a low quote in poker planning - tend to give a little extra complexity points for them, gotcha back bro 👍1
-
In an algorithm class, professor introduced us to some simple search algorithms (bubble sort, selection sort, insertion sort, shell sort). He did a quite decent job and most of the students were able to grasp the code and understand the differences in those algorithms. But then he spoiled his whole lecture with one additional slide. There he proposed an optimization: Instead of using a temporary swap variable, we just could use the first array element (or the zeroth element, respectively: the one ad index 0) for doing all the swapping. We just had to document that, so that the caller would "leave the first position of the array empty", resulting in "cleaner code". And he did that in the same class where he used Big-O notation to argue about runtime complexity. But having the caller to resize the array and to shift all the elements by one position did not matter to him at all, because it was "not part of the actual algorithm".2
-
https://youtu.be/-NxoNdTj_7U
Just wanna share try to watch till end you'll find the complexity of simple USB3 -
"Technical skill is mastery of complexity, while creativity is mastery of simplicity." - Christopher Zeeman
-
Today’s topic in my Computability & Complexity Class:
The Halting Problem and The Undecidability Results
...sounds like my life2 -
Today I want to put an age-old question to rest. What is art and what is not? What's the difference? In art world, there is actually a consensus that was reached in the second half of 20th century.
First, the audience has no merit to decide what's art and what's not, as art has inherent characteristics. So whether a piece is art or not is left for the artist to decide.
But the artist too cannot just call anything they make art. There is just one criterion — if only the art piece itself is enough to justify its making, and the artist sees it as the only award they need for making it, it's art. Otherwise, it's not.
"But wait, that's not entirely correct, this is incomplete", you say. Well, it's in fact complete, but because our society progressed way faster than our languages, we're having a hard time to describe novel complex things with words. Language can't keep up with rising complexity.
We use "horseless carriages" instead of "cars" when we describe anything complex enough. The good explanation of how language works and why do we act like this is outlined beautifully in Benjamin Bratton's "The New Normal". A small book of forty-something pages, but I never spent that much time on every page in my life. The best book investment for me after "The Code Complete".22 -
~They said~
Why don't we write code that runs in parallel on AVR, and yeah, keep it simple, we don't want complexity.
*Me*
:/ :| -
I may have accidentally found a legit factorization method that converts factoring to a combinatorics problem over a graph, with a time complexity that is the factorial of the logarithm of the semi prime being factored.
I don't know if this is supposed to be good or not, and I don't want to post it prematurely like I almost always do. Not at least until I study its properties better, but it's still a pretty interesting find I think.11 -
at one point in time, i had to work with a really junior backend team, they used javascript and neo4j as the database for an in-house developed community forum because "graph databases made sense" in the eyes of their tech lead
turns out that the team struggled quite a bit with it, and had some "unexpected complexity" problems when i asked them to add filters and sorting on the post endpoints
in the end, the "solution" they gave me was an endpoint that spewed ALL the posts so i could sort it in the front end
had they kept the same relational database they were using for the rest of the whole project, i'm quite sure it wouldn't take much to implement that (and their architecture was really performatic)
as a side project i rebuilt the whole forum in a weekend, but using postgresql as database, and it worked nicely, i even added some unit tests just for fun
gave myself a really big slap in the face after that, though1 -
Google bloody captcha.
It works fine, until you have more than one form on a page then the complexity increases by 100000%.
Finally my colleague gets it working then I read an article that says bots use Google own speech recognition service to defeat it. Fun times.3 -
Reminded again why every professional developer should at least read and understand basic algorithms...
Colleague: I don't understand why this agregation query is so slow, the counting is on the DB.
This function used to work fine... Now it sometimes hangs.
Me thinking: why does everyone assume db has unlimited resources and computing power so everything should be quick (no time or space complexity)...
Maybe if everyone understood this stuff our code base wouldn't be so shitty from the start...8 -
>Be me, humble physicist turned quantitative developer
>Big physics nerd, but code for the cash
>Working on some quantitative finance software, all about risk measures
>Girl comes over one day, cute as a quark
>Think to myself, "This is it, time to make a move"
>Instead, brain decides it's time to explain my work
>Start rambling about refactoring, polymorphism, and data encapsulation
>She's looking at me like I've started speaking in binary
>She tries to steer the conversation back to normal stuff, but I'm stuck in a recursion loop
>Keep going on about my project, can't seem to stop myself
>She tries to stay longer, even tries to show interest in my work
>But the more I talk about algorithms and time complexity, the more her eyes glaze over
>Eventually, she gives up, says she has to leave
>She leaves, probably thinks I'm more interested in my code than her
>mfw I realize I've chosen code over companionship
>Why am I like this?10 -
Visibility rendering using traditional vertex/fragment shaders does 39 million tris in about 3.6 ms
With my newest renderer I can push 314 million triangles in about 6 ms right now
And this is just visibility, factoring in material evaluation of traditional deferred it would be at least like 10x worse. Meanwhile everything expensive about materials is completely independent of geometric complexity in my renderer
Literally me rn: https://youtube.com/watch/...
(cant include image because devrant doesn't want to)7 -
Why the fuck is every tech lead and manager obsessed with the idea of breaking down tasks?
It's true some tasks can be broken down into smaller ones. But there are situations where a task needs to be done by 1 person in X days. Breaking it down into 2-3 tasks so that "they can be done in parallel" actually requires more efforts among devs, introducing unnecessary complexity and more risks.
9 women cannot deliver a baby in 1 months ffs. I guess these people never learn.7 -
Don't refractor for fun!
An anecdote from my previous company. A developer had written a shitty java console app for fetching stock prices. About 3000 LOC. just one java GOD class. So, when me and my friend looked at it, we were amazed how that code works with all that if conditions spanning 100LOC. so. My dear friend underestimated the complexity. Since it just fetches stock price and puts in database right. I can write it in few days and much better one. So, he started writing code in an OO way. Three days later I see he still working on it. Having a glimpse at code. The app is now Object oriented shitty and ugly.
Guess what new code never goes in prod too.
Learning
Don't underestimate complexity of app.
Be empathic about fellow developer. Don't think he has written a shitty code. Think why he had to do so.
Don't work on refractors if there is no one to guide you.3 -
Production goes down because there's a memory leak due to scale.
When you say it in one sentence, it sounds too easy. Being developers we know how it all goes. It starts with an alert ping, then one server instance goes down, then the next. First you start debugging from your code, then the application servers, then the web servers and by that time, you're already on the tips of your toes. Then you realize that the application and application servers have been gradually losing memory over a period of time. If the application is one that don't get re-deployed ever so often, the complexity grows faster. No anomaly / change detection monitor can detect a gradual decrease of memory over a period of months.2 -
Note to devs here. Please don't choose a framework for the hype at your work. Use it on your own time or company hackaton/learning time.
I'm looking at you angular.
Production ready doesn't mean sanity ready.
Now because some dev choose such technology for arbitrary reasons. (hype, latest acronym on CV). I spend more time debugging and understanding than I would if some simpler technology was chosen. Look at all the options then choose the simplest one that has and seems to have active maintenance. Zen of python is the best thing to happen in programming and I think everyone, even if you don't like Python should follow it. Save you and your colleagues brain time and ask for advice.
Also IMO react is probably third or second best option, higher if one requirement is to be react native. Angular is even lower because it's complexity is unforgivable when a dev has not enough front-end experience.8 -
This is probably a standard pattern/algorithm, but I feel pretty good about myself figuring this out.
I was doing a programming challenge and found myself with 2 lists of integer points (x,y). I needed to see where the points converged and identify those locations. Of course I started with a brute force approach and did nested loops to find these locations. This was taking WAY TOO LONG. These lists were 200K each. So checking with naive looping is 200K * 200K operations. Which is a lot.
Then I thought, well I am checking equality, so I will create a third map. The index to the map will be the point, and the data will be an integer. I then go through each list once incrementing the integer for each point that exists in each respective list. Any point with a value greater than 1 is a point convergence.
Like I said, this has got to be a standard thing, so can someone tell me what algorithm this is? I am not sure how to search for this.
I am fuzzy on complexity notation but I think the complexity started at n^2 and was reduced to n. Each list is cycled over once.4 -
This night I had a fever and seen a weird dream. So, scientists discovered that our whole perspective is wrong, and the notion that anything is but a sum of its parts is now completely irrelevant. One can’t disassemble a thing and know how it works and what it consists of. Basically you want to build a computer, you buy all the parts you need, but you can’t assemble it anymore — it just doesn’t work, and nobody knows why. Same is true for cars, industrial machines, software and pretty much anything that have something to do with engineering.
So, earth went into riots, massive layoffs occured, world economy collapsed, and the forces of what used to be USA, China and Russia joined to tackle the problem. A research was started and we found out that we now have complexity cores (!) that distribute emergence (!!) in an ephemeral way (!!!) and that is what makes things work. Theory of New Complexity (!) emerged, and all the engineers were required to go back to universities to attend lectures about how complexity works and how to make things in that new reality7 -
Exploring myself was always an existential dread for me, even in childhood.
For any arbitrary thing I always struggle to give straight answers to following questions:
Do I want it?
Do I like it?
The complexity of the topic itself doesn’t matter. From choosing what to eat to reading about ideologies, the fear and confusion remains.3 -
Not dev but, enough for the story. Had an assignment to create a hashtable for my DS course. Asked a friend how he managed resizing and the load factor
Friend= tablesize*50
Me= what...
Friend= space complexity what... -
Anyone who codes like this?
if(IsThereAValue($("#txt_term").val(), true) == false)
{
}
this is too much!!! damn! complexity!!!
PS. He is my senior developer.6 -
I've been working on a side project for a while(many months) and I'm at my 3rd refactoring and concluded that the greater service I want to achieve the more complex the project become, nothing exceptional, except I feel like doing the effort of an entire team of software developers.
Someone else has/d such a feeling/experience? If yes, I would like to hear your thoughs/story(just curious ;)
Ps: soon I'll reveal some screenshots here :32 -
I found out the importance of time complexity. It might not seem like a big difference between O(1) and O(2). But there's a big difference hardcoding 500 lines and 1000 lines of data.
I made a navigation app for school using dijkstra's algo. However it had no data available so I had to hardcode it. Long story short, there was a ton of hardcoding. Always try to improve the time complexity of the code you write.2 -
Dev boy to Dev girl: "What's the time complexity on you loving me, baby?"
Dev girl: while(iExist){
Int n = Random.Next(1, 100);
for(int i =1; i < n^4; i++){
Console.Write("..."); } }
Dev boy: Assert.Fail(); -
Do you know why my mom likes me so much?
Because my mom asked me to heat up all the food. And I did it in O(1).2 -
the industry we try to make for them their first inhouse app, is having a lot of data that we need to import to the app. (machines, workers, materials, products, etc). The problem is that they want to give them to us in excel files, instead of making data entry. So thats ok for start, but after some point of complexity and relations we figured out that it turns to be a deadend.
How do you manage situations like this, with huge old fashion companies??4 -
Folks, it's happening!
Look at this shit: they managed to create a web editor / infrastructure technology which enables you to write backends blazingly fast. No deploy time, no git (versioning with feature flags).
Sadly, this comes with the worst vendor lock-in ever. But it is still a great idea to take the approach to drastically remove complexity out of today's software.
https://darklang.com/
I am torn. But I would prefer if it was OSS of course (to be able to self-host it).7 -
I'm writing a couple of tutorials on web development, nothing really professional, just my perspective on explaining things from scratch.
It's funny how quickly things get hard to explain.
You try to explain web frameworks and you have to differentiate between client side and server side frameworks.
But some people don't know what client or server means.
So you try to explain what the client-server model is.
But then the word model is not clear to some people, it's like a jargon word in software, so you have to give some kind of explanation for the word.
And so on.
This complexity and layering of terms is normal on every science, but I feel terms deserve proper explanation and disambiguation, which isn't usually done.
So far I don't feel a lot of things are as complex as they are considered in an atomical sense, they are complex in the sense of requiring understanding of layers that are very simple in themselves.
It is quite a challenge to be the least obscure, to give explanations with the least number of possible interpretations.6 -
Even if Microsoft has done considerably steps forward in recent years with dotnet core being an open source platform, it still retains a bit of its microsoftian dna. Let me make an example. Start a new test project with xUnit. It doesn't log to console. Decide to use the standard Microsoft.Extensions.Logging that should be the new, performant way of logging. It comes with 4 providers and **it doesn't log on file system**. Bottom line: all the complexity of a complex stack without the solution you were looking at the beginning. Resorting to thirdy party tools to do the job (serilog).2
-
Blake 1803: 📜"To see a World in a Grain of Sand And a Heaven in a Wild Flower"
🌏🏖🌌🌻
Me 2017: 📱Impressive compression ratio, but what is the complexity of Sand to World decompression? -
Why doesn't writing code doesn't go hand in hand with a breakup ?
Like you can solve complex problems but why did not save this one12 -
Data scientists unite!
I am working on a face recognition solution to identify and tag different faces in real time and currently using chinese whispers algorithm for clustring. The more I think about it the more inadequate it sounds (number of faces encoded increase over time thus the complexity). I've heard about YOLO but cant really decide. Please enlighten me!7 -
What do you guys think of code review? It was supposed to find potential mistakes in your code base, and share your knowledge with your co-workers, right?
In fact I have very bad experiences with code review, not just with 1 company, but quite a few. Code review process always comes to something like this:
Reviewer: Hey, I don't like your solution A because of disadvantages A1. You should implement solution B, because of advantage B1 blah blah...
Me: Yes, it's true that solution B provides advantage B1, but at the same time introduces much more complexity to the code base than necessary, and has disadvantage B2. I am aware that solution A has disadvantage A1 but it is justifiable and easier to overcome than B2 imo. In fact, solution A also provides advantage A2 that you might not know...
Reviewer: No, you HAVE TO implement B because of advantage B1 blah blah *repeating why B1 is awesome again*
I feel like it's just people trying to shove their preferences down my throat. Either code review is useless, or the companies I work for do something very very wrong in code review. Anyway, it's really discouraging me fron participating in team discussions.5 -
Oh my freaking gosh! Okay so im "lead tech" on the robotics team. Ive come up with several ways we can improve our system. I had it all planed out and calculated but when i run it by the teacher running the team, EVERY SINGLE FRICKING TIME they shoot it down and they say "that just adds another layer of complexity" and I just want to yell because sure its a bit more complicated but so the fuck what?!?!? It works (theoritically according to math) efficiently and more efficiently than what their doing which is almost unknown to me because why the fuck not?! And omg i sware my entire team has the attentionspan of an ant because any time i need them to explain something, they get dustracted with whatever the hell they get distracted with and they NEVER SHUT THE FUCK UP. Any who other than that being super annoying thats not the point. Point is, the fucking teacher is afraid of making things a bit more complicated for no good reason and ever idea i have they shoot it down so (even as lead tech, and main programmer) i feel extra useless and im not gonna be here next year, so idk what the fuck there gonna do when i leave. (Like seriousally, im not even being conceded, ive been programming for several years. The other programmers have no idea what there doing) but if they dont learn that complexity isnt bad this team will NEVER get higher in the competition.4
-
"Delete all code!" That should be the mantra!
Was watching some stuff from destroyallsoftware.com. Not entirely convinced. So I should cook up my own shit.
So here is how the argument goes:
There's quite some negativity in the term "legacy" software. Partly it may be the envy to software that runs on actual machines and is not that phantasm, that perfect first lines on a greenfield project until it gets messed up as it has to put up with all the real world messiness. But the negativity it deserves is actually for the code that we cannot get rid of. This ugly class or function that soaked all the complexity and functionality so it defies any positive change. And always when it appears on your screen, it irks you, enrages you, makes you punch the screen, because you can almost feel the distaste physically. - *That* is the definition of "legacy" in its true negativity. No software should be like that. On the contrary. Every line should be replaceable, dispensable, disposable. At the verge to deletable. Because you know: the best code is no code.
This is where my hatred of code could get productive: Delete all the wretched, loathsome stuff and replace it, with something that just sucks less and can be thrown away any time. Don't expect beauty or perfect design. It'll never finish.3 -
So I have question about my resume.
During my college time, I have done two projects related to politics:
One is to analyze the bias of media. What I did is scrape news covers for Trump and Hillary during election year and get sentiment analysis. The result is not surprising that among NY Times, NBC, Fox, Eashington Post, and CNN, Fox news is clearly favoring Trump, since Fox news is a republican news site.
The other project I did was to analyze the speech complexity and sentiment of the election. One of the observation we made was that Hillary and Trump are almost at the same level regarding speech complexity. However, Trump has a more positive sentiment in the speech, which is true consider how much he loves to say make America great again.
Now the question is, when I gave my advisor my resume, she said that I'd better not put those two projects on my resume since they are related to politics.
But, I am applying for a data science master degree. Seriously, I was just collecting the data and the data speaks for himself, why should I take those projects off my resume? I'm very proud of those projects I did as a matter of fact.
So here is the question. Shall I take off those two projects on my resume because they were political or I should leave it thereawarreally need some professional views. Please.1 -
At an interview, interviewer keep on hitting me with theoretical questions, why python don't have switch cases, what is default sorting in java etc... I told him I don't bother about theory, then this conversation happened.
I(Interviewer)
I: do you know time complexities?
me: Yes
I: okay, tell me a few sorting or searching algorithms which have logarithmic complexity?
me: binary search (with loud and confident voice)
I: he told, in worst case it will have O(n) tell me any other
me: *thinking*
I: what are you thinking? what is time complexity of merge sort
me: O(nlogn)
i: it's logarithmic.... -
[Talk by a security expert. The main point was, complexity kills security.]
7 minutes later a friend via IM: Hey, let's use OpenStack! Just 33 micro services to install! -
Why does everything about Android have to be this verbose, convoluted and complicated?
Why are there no simple solutions to most problems? I have worked with Flutter and Go and none of these have the same level of complexity as Android.
It’s almost as if the Android team lists out the possible solutions to a problem and intentionally pick the hardest and difficult to understand.5 -
some languages completely get lost in minutiae, disposable preciousism that looks pretty but mischievously gobble development cycles. Now, there's no doubt they make for skinnier, trustworthy, low maintenance code, yes, congratulations Haskell. Although, you see, Haskell, not every language out here is defacto an academic one. You hear me, Rust. So, for fuck sakes, Rust dear. You've macros, sis, you don't need a new languages feature every other naughty day. You need prototyping speed, not more complexity. I'm not complaining not really.... It's your fucking language server, your compiler... They can't take this shit no more. Have you seen their overeating problems? Please, Rust, stop picking plastic surgery instead of make-up and use macros instead
--
and google, dear, your auto completion sucks ass1 -
I am used as a complexity proxy by my team. I foresee many problems and they do not seem to listen to my advices. And guess who will be blamed if something doesn't work, haha, kill me :)1
-
I expected to need the better part of an hour for a feature.
Here I am, two days later, still trying to figure out a solution. Turns out, there is a lot more complexity to it than I anticipated. -
I’ve been doing web development and mostly focusing on the frontend side of things professionally for almost 10 years. Still, I have to put up with some backend developer who did a couple of years of frontend development who now thinks he knows it all. Everytime someone reports a UX problem or asks for a feature that has some complexity and needs more thought to have a good enough solution, he steps out of his lane with “suggestions” on how to get it done with solutions that are half baked and don’t consider things like accessibility, responsiveness, or even semantics. Still, he is the hero and we’re the bad guys when we call him out for only providing crappy solutions and presenting them as complete solutions.
-
in this takehome challenge: let's see how much we can over-fucking-complicate every single thing. You want one selectors (that could just be one-liners) stacked on top of MORE one liner selectors? you got it!
you want sagas with fucking wierd ass syntax that can be replaced with i don't know, BUILT IN JAVASCRIPT??!!? you got it!
oh yeah, and with all this complexity, not a single line is written with TypeScript...
...i can't remember the last time i fucking had to write the characters 'propTypes' on a react project
what the hell is this, 2015?
it's absolutely mind exploding mind boggling how these orgs operate
double the work, double the time, double the cost
but what do i know? i'm just a 🤡 -
Recruiter after not hearing from a company I applied two months ago: "Please accept my apology for a belated reply, I am struggling with Office 365."
Fucker - if complexity of Office caused a two month delay to answer a fucking email than you need to have your small spastic brain checked asap.
Should've just kept his mouth shut rather than to insult people by sending these kind of excuses.2 -
How to deduce the time complexity of any algorithm faster?
And is there any software that calculates it and suggest another optimal algorithm instead?1 -
I had been working to make API call Asynchronous..
And now complexity is too High..
Yet i am happy that Code working as expected..! -
"I don't shy away from complexity, I avoid it when possible"
Excuses that sound legit pt. 1
PS: guilty3 -
serious question: in what FUCKING case would i need to use DevOps engineering and custom backend custom frontend AWS azure gcp cloud providers etc if all that bullshit can be avoided and the same performant software can be crafted in 1 single framework -- nextjs?????
all of that bullshit looks like WAY overengineered, marketing-bloated BULLSHIT so bozos can buy more yachts off ur fucking dumbass cloud provider usage.
how is nextjs so powerful that u dont need any of those shits?
beyond me
the only time i see all of this overengineered shit makes sense is if u work on a large corporation software such as bank
then sure.
but chances are if u freelance or build ur own side project
ur NOT gonna fucking need to overengineer all of that cowshit
i literally had to take a step back for several weeks to unbrainwash myself by jeff bozos megacorp
and realize all these megacorps lure u into bullshit
keep it fucking simple you fucking fags and stop feeding the money hungry corps
u dont need a fucking gigazillion complexity software5 -
tools people REALLY wanna use are written like garbage
and also very active, in terms of tickets and pull requests
but the code is overly complex for no reason and a mess, turns out
I looked at the codebase and I have no clue what's going on
then found the API it's calling and I'm sitting here going "Jesus fuck I could've just wrote my own"
it's actually really strange, I see this pattern often of tools tons of people rely on and want to use but they're coded horribly, tons of bugs, and the code is entirely incomprehensible. though all the low effort pull requests is a new one I guess, generally there's no activity or the maintainer is just gone (maybe it's AI?)
anyway then I looked at the API it's wrapping and I'm confused why this library has such shit usability, and furthermore why the hell the code was like that cuz I read that first for about an hour and just kept going in circles. bruh what
guess I'll find out tomorrow if I'm signing up for unanticipated complexity or these people really did mess this up2 -
Disclaimer: the project I'm about to mention contains the first lines of Go I have ever written.
Still, I'm quite proud of how quickly I got it working considering it's also my first time working with GTK.
This project that I've been working on the past few days is finally done. But it's %50 percent spaghetti, so refactoring time. I decided to have a look at my cyclomatic complexity numbers, and my biggest function (not main()) had it at 7.
As it was quite large, I split it up into to parts: the preparation and the actual timer loop. As I appear to need to use a goroutine, by the time I'm done passing channels and all hell to handle them, my loop function now has a score of 9 for cyclomatic complexity.
So fix one bug, leaves two in its place?
But I still need to better learn Go, anyone have a good (relatively painless, informative, quick-ish) course they can recommend? I've been thinking of trying out codecademy's one...6 -
So, our lab professor in university for data structures was evaluating my friend's group assignment next to me and my colleague.
Professor: So, what does this method do?
Friend: I feel it would be best to explain our structure first and then how our methods work.
P: No, no. It's okay, I'm seeing it here in my laptop. *Looking at their report which included nothing about the structure of the assignment since she asked specifically only to place the methods and their complexity analysis due to not having time to look and evaluate a full report for each group*
F: Okay, *proceeds to explain*.
P: Okay, and why is your code commented?
F: Because it's good practice and we learned in subject x last semester.
P: Impossible! I teach that subject and I did not teach that in my classes.
F: Okay, but our professor did.
P: *Says nothing*.
They got a 3.25/5 as a grade for it and got really pissed off. I mean, they spent a lot of time making the assignment's structure perfect, optimizing their code and the professor did not care for the structure, just the methods, on the data structures subject.
FYI, they are workaholic, dedicate a lot of time improving their skills and their normal grades are usually >= 4.25.2 -
"Controlling complexity is the essence of computer programming."
-Brian Kernighan (Software Tools)1 -
The job description of my internship:
You must be able to understand the complexities of receiving a unit test that you are told needs only mock data in the test database, but has never worked since it was written by a contractor a year ago. No one knows how the unit test works and requires testing a complex algorithm involving graph theory that you have not learned about yet. The task starts at 1 complexity and turns into a 13. -
I earned the title of "sql king" due to the complexity of the sql I write (not proud of that because it makes maintainability hell) . It's pretty cool except sometime I feel like I can write shit code and ship it to production just because none can review my code properly or rather spend enough time understanding it,
basically I am not challenged enough...
What do you guys do if you are not challenged or bored ?
Never contributed to an open source but it might be the solution4 -
Time estimation of software development should be a product of observation of historical evidence, and many factors that come with it, like:
- What was the language used?
- How many developers worked on it
- How many years each developer has in experience in programming?
- IQ of each developer
- How many kids they have
- The weather
- ...etc
Analyzed by data scientist.
TL;DR
Not something you get by asking developers and interrupting their work, because many are people with superior complexity who often overestimate their capability of solving given problems.
Don't trust them to estimate!4 -
Dependency injection is the most useless piece of crap ever invented. Convention over configuration my ass.
It simplifies nothing a good architecture and pattern can't solve. It's just the current trend but it's the hugest pain in the ass I've ever experienced. It just adds complexity to the project.
I think it's just a thing for masochists and lazy devs, but then why not sticking a huge dido up your ass it's the same fucking thing.12 -
Area: oil & gas
Full time job: SCADA apps, network comms, real time database;
Part time job: drilling app for geologist engineers, real time data acquisition, lots of math calculations and simulations;
I'm loving both jobs, because of working with external acquisition devices, because of freedom of work and complexity of the field. -
to be honest, i hate every OOP, in my opinion it's just add complexity in every way. yet i would like to use Functional Programming but it's fukking hard to learn and hard to get use to. Tryna get used to Haskell.4
-
My project is a cloud based automated testing product. My current story is to extend a module to support multiple of a particular testcase type in one test run instead of just one. This has uncovered a rats nest of complexity because everything is designed with the assumption that there will only ever be one of these testcases.
Refactoring about 5 different classes just to get into a state where i can pass a list of testcases into a service instead of just one. Wrecking my head... -
I know that when a deadline is present, things like cyclomatic complexity might be something that is a left aside. But I hate so much having to troubleshoot a method with 15 levels deep of nested if, try-catch, loops... Fuck!3
-
2014
I did some cool projects with node JS.
We had this project where we had several embedded sensor box components communicating via a node js server backend with some fancy visualization.
And one of the guys was a total idiot. His part was to write some embedded code for a sensor box. He also wrote some data receiver in C# which was a totally over patterned mess and nothing worked.
For some unknown reason this guy made me his arch nemesis. He also never liked the team. While the rest of the team actually was super cool.
So in the final presentation out of a sudden in his part of the presentation (He had a Mac and had his slides done in some nasty whatever incompatible format) he pulled out some slides with code metrics. The best part was where he compared the embedded C code with my js code in terms of cyclomatic complexity. I will never forget this moment. Some nice bar chart.
Good I loved that guy for this moment.
And that made my year! -
"It's just as easy to create a small REST microservice as there is for a small one-off script, so let's follow the design pattern of creating a REST service first."
I don't think my manager understands how different in complexity these two things are.1 -
Re-instantiating the interesting bits from the other thing:
Time complexity of unsorted array equality operations. Go!23 -
C- let's See
C is a procedurally developed language follows sequential method of solving a problem.
Example
If a teacher of an Institute teaching various subjects, Maths, English, Science and History.
Case1.One student comes and asks teacher to teach English
and next student to teach Maths,
And the other to teach History.
Case2.Next students comes for English
Case3.Other one for History.
So what I understood regarding C is procedural language is
It completes first case1,next case2, and then case3. (Task after task)
Here English is taught 2 times seperate
And History too 2 times separately making time and process complexity.
C is a platform based high level language support only desired platform. If I program in windows with i3 processor , it runs only on the same OS and Processor, if code is run in other computers.
Single threaded, if a code is interrupted in between, stops there and doesn't allow other part of the code to run.
Java
In this if the same above cases encountered then and tell
Computer to create a Class of English and tell all the students to attend the class(time saving, No complexity and not repetitive)
Same way Creating History class and make all students attend the class at once.
Students may be the objects created.
Multi threaded language, if a task is interrupted following code cannot be stopped. Allows other part of thecode to run.
JVM- Java virtual machine allows Java code into signs that can be understood by computer. Where as C converts into binary code.
A class concept added to C language become C++rant support rant learning to code want to code jvm newbie asking high level languages are cool discussions java c mistakes3 -
Calling something "idempotent" is fucking stupid. Why do you have to overcomplicate an already complicated shit such as terraform?
Why not call it unchangeable? Something that can be understood by a 2 year old. What even is the "immutable" word for if not even that is being used??? Why have 2+ words that define the same shit. Are u fking stupid who the fuck coined this phrase Idempotent and thought it was a good idea
When i read idempotent i have to remember and translate in my mind that it actually means "not changeable". On contrary theres "Non-Idempotent" so this fucks up the complexity even more cause Now i have to translate it as "non-not changeable -> which means it is everything But not changeable -> so if it is NOT not changeable -> it means it IS changeable" Fffuck offf13 -
Airflow… airflow… I hate you so freaking much, you are a bloated piece of software that packages wayyy too much and increase the complexity of any solution we built on top of you. Plus unit-testing and integration tests are wayyy too difficult with you. But man… your recent UI changes are a massive welcome.
A year ago I was tasked with either upgrading airflow to version 2 or to migrate the code to another tool. Naively I thought “well might as well upgrade to avoid a rewrite”. Little did I know that the reason airflow didn’t scale out well for us, was due to people over the years not having a grasp on airflow primitives like “pools”, “workers” and “operators”. Ended up refactoring the entire codebase for both infra and DAGs anyhow AND upgrading the beast AND lower cost by a factor of 2 (from $100-$150 daily to $50-$70 daily).
But seriously feels like I could’ve solved the scheduling issue with literally any message queue+decent library (like celery or Faust) and I’d have half the headache.3 -
If a project's structure is shit, well of course, let's continue using it because "it is known". Doing it any other way "will add complexity".
That I wasted three days making my working code adhere to the clusterfuck of a structure, nevermind that. Let's continue. And yes, colleagues do agree that the structure is shit, though let's improve it ... later.
Or in other words: Suck it up, we always have done it this way. Fuck you and your ill-advised attempts of trying to improve it. -
"What is to be sought in designs for the display of information is the clear portrayal of complexity. Not the complication of the simple; rather the task of the designer is to give visual access to the subtle and the difficult – that is, revelation of the complex." - Edward Tufte
-
"When it comes to writing code, the number one most important skill is how to keep a tangle of features from collapsing under the weight of its own complexity." - John D. Cook
-
When it comes to dev tools, It seems like everywhere you turn these days all you get is a rabbit hole trip to GitHub's issue queue WTF! Oh, and there are so many tools out there so we all now need to have a task management tool which just add to the complexity of local dev development, fuck that! To make matters more absurd, those who write them tools think that it is a great idea to rename commands between each minor release because why not after all machines know how to decipher changes right? Wrong, last I checked, machines rank high on the autism spectrum and won't find a command unless you lead them directly to its file system location. The command fuck you could not be found are you sure you spelled it correctly, or did you mean fuck me? is all that it's capable of. Sigh...4
-
I want to understand Linux services better. Most of the time if I want to run a process in the background, I just use nohup and &
And put the commands in either init.d or crontab.
But lately I've seen some more complex scripts where it's called like logstash start/stop which does a free things including recording the PID somewhere?
In Linux terms it seems to be called starting a daemon. But what's the difference, benefit to all this complexity?8 -
Sooooo how much should I expect to get accomplished as a new junior developer? I feel like I'm making progress but basically everything is a struggle and I do it wrong to learn. Is this normal? I understand a lot but also the complexity of the projects im working on (in comparison to my skill level) means I'm basically always wrong and in need of guidance.
Thoughts? -
In most businesses, self-proclaimed full-stack teams are usually more back-end leaning as historically the need to use JS more extensively has imposed itself on back-end-only teams (that used to handle some basic HTML/CSS/JS/bootstrap on the side). This is something I witnessed over the years in 4 projects.
Back-end developers looking for a good JS framework will inevitably land on the triad of Vue, React and Angular, elegant solutions for SPA's. These frameworks are way more permissive than traditional back-end MVC frameworks (Dotnet core, Symfony, Spring boot), meaning it is easy to get something that looks like it's working even when it is not "right" (=idiomatic, unit-testable, maintainable).
They then use components as if they were simple HTML elements injecting the initial state via attributes (props), skip event handling and immediately add state store libraries (Vuex, Redux). They aren't aware that updating a single prop in an object with 1000 keys passed as prop will be nefarious for rendering performance. They also read something about SSR and immediately add Next.js or Nuxt.js, a custom Node express.js proxy and npm install a ton of "ecosystem" modules like webpack loaders that will become abandonware in a year.
After 6 months you get: 3 basic forms with a few fields, regressions, 2MB of JS, missing basic a11y, unmaintainable translation files & business logic scattered across components, an "outdated" stack that logs 20 deprecation notices on npm install, a component library that is hard to unit-test, validate and update, completely vendor-& version locked in and hundreds of thousands of wasted dollars.
I empathize with the back-end devs: JS frameworks should not brand themselves as "simple" or "one-size-fits-all" solutions. They should not treat their audience as if it were fully aware and able to use concepts of composition, immutability, and custom "hooks" paired with the quirks of JS, and especially WHEN they are a good fit. -
Have you deployed ElasticSearch to production? If so, I got couple of questions for you.
How much complexity did ES add to the project overall from a developers perspective?
How much did this differ in price from other solutions you used? In production loads that is.
✌🏼7 -
A majority of the bosses/PMs/supervisors tend to be soo stupid and lack the knowledge of the actual problem's complexity so they expect you to hit keys and voila, project done.. It gets on my nerves big time.
-
Long time frustration
My close friend wanted to focus on machine learning and AI. in summer he did some research and figured out it is difficult to get those jobs. Now he is learning Angular 2. And applying for web development.
I am tired of people getting into web just because everything else seems difficult to them.
I just don't like people who think web is easy. And take it for granted.
I know comparing to machine learning Web does have an easy entry level barrier. But tired of devs, undermining web development complexity.
I think world thinks
Web is so easy that you can do it even if you hate it.5 -
The world would be better if the TypeScript guys knew what they could create with less complexity in any other language. Of course, if they are interested in learning. There are SPA applications out there that have more lines than Doom 3.7
-
What kind of side projects would you like to see from someone interviewing for a JavaScript (front end or backend) related role? If they started with tutorials but did something different is this okay? I also want to start something small, so I can stick with it, but I don't want it to be too small or lack complexity. Thoughts?6
-
*looks drowsy* Ugh my head..
You know what, guys? If you can freshly and directly remember how to do this:
- calculate the time complexity for each type of loop and code structure
- knowing how to write the following regex:
"A 15-digit number starting with a possibility of a group of 1-2 digit numbers, segregated into three 5-digit numbers tuples with three different separator characters, evaluated ahead"
- mentally work out how to reverse an array's indexes (swapping algorithm) without writing anything down
- know how to optimize a binary search in your head
then kudos to you. lmao
I'm rusty. It took me a while..7 -
I usually try to break down what they are asking for into smaller parts. The tricky part is scoping them without granular details of how it will actually get done and thinking only about complexity. Then add up time and give the total a bucket size. 1-5 hrs 6-15, 16-30, 30+ etc. Turn around time is another matter but that's never predictable. By the time clients approve the quote availability is totally different.
-
I hope Scott Meyers is learning Swift, because it's gaining so many edge cases and keyword-level features that programmers who use it will need an "Effective Swift" book to tell them which language features to avoid to get their work done.
I wonder whether it will survive that complexity as C++ did, or collapse under the weight like Perl. -
Feature not a bug...
My work laptop has started rebooting almost every night.
It's not clear why, but I sort of think of it as a feature now.
I have an ultra-wide monitor, plus another wide next to that one, and a bunch of virtual desktops.
I often think "ok everything is where it is that's good" but coming in reality with a bazillion things open across all the desktops and screens sometimes when I come back the next day ... it's actually just a lot of mess / overhead to pick up where I was.
Sometimes I think we introduce a lot of complexity to solve a problem and ... actually it's just more complexity if you're not already 8 layers deep.5 -
How much do you quote for an average complexity android app? Considering we have the server and infrastructure ready.2
-
Learning vue and it's lovely, except FUCKING V-MODEL I'm literally 10 hours of tutorials in and I still have no clear idea what the thing does, I'm pretty sure it's like 2/10 complexity thing but someone just HAD TO name it V-MODEL so that it doesn't give you a slightest hint of the actual functionality, like you might as well have named it v-cable or v-oompaloompa, it would have the exact same information value (none).3
-
I'm starting to gain a dislike for OOP.
I think classes make it easy for me to think of the entities of a problem and translate them into code.
But when you to attempt to test classes, that's when shit hits the fan.
In my opinion, it is pointless to test classes. If you ever seen test code for a class, you'll notice that it's usually horrible and long.
The reason for this is that usually some methods depend on other methods to be called first.
This results in the usual monolithic test that calls every goddamn method on the class.
You might say "ok, break the test into smaller parts". Ok. But the result of that attempt is even worse, because you end up with several big tests cases and a lot of duplicate code, because of the dependency of some methods on others.
The real solution to this is to make the classes be just glue: they should delegate arguments onto functions that reside on its own file, and, maybe afterwards emit events if you are using events.
But they shouldn't have too much test code classes though. The test code for classes should be running a simple example flow, but never doing any assertions other than expecting no exceptions.
For the most part, you'd be relying on the unit testing that is done for each delegated function.
If you take any single function you'll see that it's extremely easy to write tests for it. In fact, you can have the test right next to the fuction, like <module>.xyz <module>.test.xyz
So I don't think classes shouldn't be used at all, they should just be glue.
As you do normal usage of this software this way, when a bug is discovered you'll notice that the fix and testing code for this bug is very usually applied to the delegated functions instead of being a problem of classes.
I think classes by themselves sound sane in paper, but in practice they turn into a huge fucking messes that become impossible to understand or test.
How can something like traditional classes not get chaotic when a single class can have x attributes and y methods. The complexity grows exponentially. And sometimes more attributes and methods are added.
Someone might say "well, it's just the nature of problems. Problems can have a lot of variables".
Yeah, but cramming all of that complexity into a single 200 lines class is insanity.12 -
I'm going to have test on monday about this one subj and today was the last theory class before the test. When the teacher asks about the time complexity of an algorithm in the best case some people reply "when n is 1". I can hear the teacher facepalming already LoL
-
How should you override Equals in Java?
We have model classes with lots of fields and the we override the details equals to compare all the fields. I guess like doing a deep comparison.
And in all these classes SONAR is complaining about lots of ifs, complexity, etc.
And it's killing the analysis time... Old issue never fixed because whoever setup sonar was too incompetent to bother asking, researching, or fixing...
Is there a better way to override the equals to get the same result but without triggering SONAR issues?
Pretty sure this is a solved problem. And well if the top of my head, is just create a Util method that uses reflection like
Boolean equals( Object a, b, Class class)
foreach (String f: class, getFields()) {if !compare(class.getField(f,a),class.getField(f,b)) return false; }
return true5 -
Programmers in python are few in my opinion I wonder this because of the lack of courses in French or the complexity of the language ? 🤔6
-
Common Man: How do you software developers earn so much? What's the secret of your success?
Software Developer: It's not a secret really. It's like any other job, we make sure we are always needed. So we create a mess and then get paid to solve the mess. How you ask? Software developers create the most complex and useful software. Since it's complex, others learn it and become part of the so called the few experts and then get paid tons as very less experts are there for the software and the creators of the software are also of course experts and in fact considered Guru, because, well, they wrote the complex software. They are geniuses, because it's so hard to write complex software. And many of these experts also create new tools to make the software easier to use, for newbies. They also write articles around it - explanations, tutorials, inner workings and gotchas, and also publish books and videos - in paid tutorial sites, and some videos on YouTube too. -
By filling out their tracking tools in a language they can understand prior to their deadline of needing the data, being honest in their meetings, and being right about the time/complexity of the effort.
-
Has OSS Projects build systems become more complicated lately?
I took a stab at building concourse ci on FreeBSD. It being written in go, I expected it to be rather straight forward but no.
To "compile" the web UI assets, yarn (an alternative nodejs package manager apparently) was required. (Are js and CSS really compile targets now?)
Installed yarn and ran yarn build, it complained about lessc not being installed, so ran yarn install lessc which then told me that I was running an unsupported operating system.
I can compile the actual consourse binary just fine, but without yarn doing it's thing the assets required for the web UI does not get compiled in and therefore doesn't work properly.
Maybe I compile the web UI assets in Linux, and cross compile my FreeBSD binary...5 -
My focus is cloud infrastructure and developer tools. I like it because of the complexity and the feeling that enabling developers to do more is a multiplier of good I can do in the world.
-
The more I learn about Spring... It feels like it just hides complexity.... And thus allows developers to make their apps more complex?
I can imagine there will be a Component class with like 20 references to other components either directly or indirectly... But then when something crashes or some error in output data is noticed in prod for some reason...
You cant tell exactly what cause the error because the objects' state is so complex, not sure which component or combination actually causes the issue.
Essentially makes a lot of black boxes?10 -
String[] hidingPlaces = new String[1000000];
hidingPlaces[Math.rand()*1000000] = "bug";
findBug(hidingPlaces);
public int findBug(String [] are) {
// todo: return index of bug with complexity < O(1)
} -
Been doing some MATLAB art for my dissertation, going to slowly increase the complexity hopefully for some more interesting results!
-
Hasn't technology become magic - and we ignorant sorcerer's apprentices who can perform a video call to the other side of the globe perhaps while we understand only some bytes of the thousands software snippets that were piled up by us code monkeys to perform the miracle? ...
This however has always been the state of software (for us developers): that this house of cards needs constant care by our hands to not collapse - in constant fear we may preserve the facades while the number of components that interact, the sheer mass of code only allow for guesswork and hotfixes accumulating the technical debt. Yes, we have all that terms for that. The problems are known since the 80s or 60s, so we might be relabeling it once in a while, but mainly it is just: complexity.. or entropy.2 -
"Her complexity is a glorious fire that consumes, while her simplicity goes unapproachable. But if one takes time to understand her, there is something beautiful to find, something simple to be loved. But she goes unloved, for being misunderstood." - Anthony Liccione
-
"Her complexity is a glorious fire that consumes, while her simplicity goes unapproachable. But if one takes time to understand her, there is something beautiful to find, something simple to be loved. But she goes unloved, for being misunderstood." - Anthony Liccione
-
I never tried a cigarette in my life. However the complexity of the project im working on ALL ALONE and im going all in on it and giving it my all, working alone on a project thats supposed to work at least 10 developers, is causing me excessive damage of stress. Cigarettes might be the solution. Not sure about alcohol cause usually it kills brain cells and id become even dumber as fuck. Plus i need full focus on this bullshit. Need Concentration. Cant concentrate if im under extreme levels of stress and pressure. I must be fast with this and finish the project this year 2023. I dont know what scares me the most: the level of complexity or the fact im not close to finishing it. What do you think is cigarette gonna solve my problem ?12
-
Who the duck thought of adding so much complexity over the file field?! Why do I need to go through thousands of pages to see how to simply save a disk file into the model db?! I have a sick sensation that i get in my stomach everytime i have to deal with the damn files. Duck you django files!!!
-
Fucking Yeoman, guys.
For a school project I thought I'd try it out to scaffold out my folder structure etc. Ran a php generator (not having commits since 2013) through npm and sipped my coffee while one node deprecation warning after the other filled my terminal.
Now I just feel like I'm sitting with my dick in my hand while staring at what looks like the fucking source code of the Matrix itself.
Does anyone use Yeoman for PHP projects anymore?
Well, at least Grunt works flawlessly 😎 -
How do folks feel about IoC/DI?
I used Spring and Angular for the first few years of my career, so it seemed like it was a mandatory pattern of a framework and my team would never deploy an app that couldn't use it (even if it was just a Lamda or something, we found smaller DI libraries). Now I work in Express and React, and I look back and feel that those patterns required me to write more code, created more complexity, and wasn't any easier to read or understand, and was way more bug prone, and debugging the injection pipeline itself was effectively not possible.
I guess I'm wondering: what do people feel that it buys them?15 -
Okay... Complexity Theory.
Polynomial time
Nondeterministic Polynomial time
If not now, when you first learned of P and NP, it's time for you to share what you thought P and NP were acronyms for.2 -
I never finished it, but before I was working in the industry, I was coding through a book called Build Your Own AngularJS. My intent was to have piecemeal instruction/example in TDD and code way above the level of complexity I was used to. You essentially build the core of AngularJS in about 900 unit tests with total coverage. 1000pages long, its no walk in the park.
I gave it up when my time was short, and focused on higher level concepts: building apps, learning tools of the trade.
Now that I am getting plenty of exposure to that level, I am thinking my free learning hours may be better spent going down into the complex worlds shown in this book. A couple of things I found there really stayed with me and shaped how I think about problems. It was also very illuminating to see how complex algorithms work “in the wild”. I cant stand learning algorithms in isolation, generally speaking.
Has anyone seen this book? I know the framework itself is older now, but I don’t think that is much relevant for this learning use case.
I only know of one student who completed this. Took him a few months. He is an absolute machine. -
Hi.
I know python and javascript and I'm interested in solving algorithms. But I have a problem, that is I don't the algorithm that I have designed is optimum. I mean it has lower order complexity. I want to know if I want to improve my skills, I should solve programming challenges or, start to read data structures and algorithm design?
I should add my ultimate goal is machine learning.5 -
React/React Native
When deciding between `useState` and `useReducer` in React, it's important to consider the complexity of your state management needs. Here's a simplified breakdown post I've written:
https://x.com/lassiecoder/status/...8 -
Do dev or engineer needs to know how the program works?. I mean that should they know about time and space complexity?
Till now my answer is yes, they should know. But i have met more than triple Dev's with absolutely no knowledge of complexity and they all are behind code quality.6 -
Visualize the entire complexity of the content within the project so that you know what data users will need to access, and compartmentalize those in to separate modules that you can build on over time. Think about any limitations with accessing that data (does the user have that role, what if the data is accessed simulateously, how to handle the same user accessing from different devices etc).
Think about the devices being used - is it going to be a website, an app, both? How best then to access the data? Direct access to a database, or an API system?
Then think about the front-end design and how to simplify the view right down as much as you can. Again, break it down in to modules.
Then decide on the technology you want to use, and what libraries would help simplify things.
These days I like to use JSON API's to access DB content because app and web technologies change quite often but the API will be accessible to whatever I use to build it.
For websites I love using Laravel, which simplifies the back-end tasks, and mdbootstrap which simplifies the front-end tasks and looks "appy". -
http://smashcompany.com/technology/...
... AWS services are more complicated than installing, maintaining and securing your own Linux installs? RLY?!? -
The people who thought that providing customers with a template engine to build reports was a good idea - they made a mistake...
Users can't and won't understand a 500-line template file with 'content', 'columns', 'stack' and 'data:image' in it, and nesting levels reaching 10+
Now I have to build those reports with the added complexity of working around template engine limitations.
Can't blame the people who originally invented it. I can see how they might have thought their idea with those templates might have worked out. But it didn't work out, sorry -
That moment when your fellow developer tells you in meeting with business "you should have followed my approach" without slightest idea of the underlying complexity - not cool 😠😠
-
Time complexity doubt
How can you say T(n) ≤ 3T(floor(n/4)) + cn²
Given that T(n) =3T(floor(n/4)) +Θ(n²)
Won't it imply Θ(n²) ≤ cn², which seems incorrect (or am i wrong to think its incorrect?)4 -
Today I'm starting interviewcamp.io. I graduated from a 4-year university in California with a degree in computer engineering and have almost 3 years of work experience, but my god I am terrible at algorithms.
Big O (time and space complexity), recursion, Binary Search Trees, reversing a fucking linked list, etc. I need the boost and I hope the $250 a year for the material will help me get at least a $5k increase in salary when jumping to another company after the whole pandemic (or get a raise at my current job).
If anyone has any experience with them let me know. So far I'm 2 hours in and it is nice so far.3 -
At the end of a request I want to ensure that both 1) persisting to the DB and 2) dispatching to the message queue is successful.
If one of these side effects fails, I want both to fail: this can be done with a distributed transaction (eg. 2PC or something similar).
My question is, how much overhead/complexity/latency does this introduce into the system? And is this even needed in the first place or am I overthinking this? -
I don't do web work except for tcp/ip or industrial protocols work. So I don't know the complexity of blocking spam. But is it really that hard to tell when someone is spamming your site and taking actions to reduce that spam? Don't you block their IPs?15
-
"What I love about design is the artistic and scientific complexity that also becomes useful…" - Michelle Obama
-
Why, oh why, must every project succumb to the siren call of feature creep? We start with a simple, elegant design, but before long, we're drowning in a sea of unnecessary bells and whistles. Let's stick to the essentials, folks. Quality over quantity, simplicity over complexity. Less is more, remember?2
-
I was approached by some guy on a project and I need your help figuring out how to go about this.
the project is basically a website where school owners who are not tech savvy can input necessary details about their school and it spins up a site from an existing website template built in react for them.
an extra complexity will be creating custom domain names for each site. will this also be possible ?
I've not done something like this before and I dont know the word for it so making a Google search has been quite hard
my stack is javascript MERN stack.1