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 - "data structures"
-
My 6 year old has been learning about trees at school, and had questions for me. Needless to say, she now has the best understanding of data structures in her class, and I expect parents evening will be "interesting"8
-
After listening to two of our senior devs play ping pong with a new member of our team for TWO DAYS!
DevA: "Try this.."
Junior: "Didn't work"
DevB: "Try that .."
Junior: "Still not working"
I ask..
Me:"What is the problem?"
Few ums...uhs..awkward seconds of silence
Junior: "App is really slow. Takes several seconds to launch and searching either crashes or takes a really long time."
DevA: "We've isolated the issue with Entity Framework. That application was written back when we used VS2010. Since that application isn't used very often, no one has had to update it since."
DevB: "Weird part is the app takes up over 3 gigs of ram. Its obviously a caching issue. We might have to open up a ticket with Microsoft."
Me: "Or remove EF and use ADO."
DevB: "That would be way too much work. The app is supposed to be fully deprecated and replaced this year."
Me: "Three of you for the past two days seems like a lot of work. If EF is the problem, you remove EF."
DevA: "The solution is way too complicated for that. There are 5 projects and 3 of those have circular dependencies. Its a mess."
DevB: "No fracking kidding...if it were written correctly the first time. There aren't even any fracking tests."
Me:"Pretty sure there are only two tables involved, maybe 3 stored procedures. A simple CRUD app like this should be fairly straight forward."
DevB: "Can't re-write the application, company won't allow it. A redesign of this magnitute could take months. If we can't fix the LINQ query, we'll going to have the DBAs change the structures to make the application faster. I don't see any other way."
Holy frack...he didn't just say that.
Over my lunch hour, I strip down the WPF application to the basics (too much to write about, but the included projects only had one or two files), and created an integration test for refactoring the data access to use ADO. After all the tests and EF removed, the app starts up instantly and searches are also instant. Didn't click through all the UI, but the basics worked.
Sat with Junior, pointed out my changes (the 'why' behind the 'what') ...and he how he could write unit tests around the ViewModel behavior in the UI (and making any changes to the data access as needed).
Today's standup:
Junior: "Employee app is fixed. Had some help removing Entity Framework and how it starts up fast and and searches are instant. Going to write unit tests today to verify the UI behaivor. I'll be able to deploy the application tomorrow."
DevA: "What?! No way! You did all that yesterday?"
Me: "I removed the Entity Framework over my lunch hour. Like I said, its basic CRUD and mostly in stored procedures. All the data points are covered by integration tests, but didn't have time for the unit tests. It's likely I broke some UI behavior, but the unit tests should catch those."
DevB: "I was going to do that today. I knew taking out Entity Framework wouldn't be a big deal."
Holy fracking frack. You fracking lying SOB. Deeeep breath...ahhh...thanks devRant. Flame thrower event diverted.13 -
During the second year of my graduation we had a subject called C & Data Structures. This asshole of a teacher (who taught programming by just reading the programs out of the textbook ) came to somehow know that I had learnt C & was good at it (some student had gossiped about me in front of him). Everyday when he came in for the lecture he used to call my name & say - "You think you are very smart please come in front & teach C to everyone" for no apparent reason. (I had never showed him that I was good in programming). For almost complete semester I kept silence & he used to laugh & keep me standing for the complete lecture. But one day I was particularly not in a very good mood & he came & said the same thing. I went & taught for the whole lecture & the whole class applauded at the end. The look on his face was priceless 🤣7
-
I FUCKING MADE IT GUYS! I JUST PASSED THE HARDEST COURSE AT UNIVERSITY WHICH IS ABOUT DATA STRUCTURES AND ALGORITHMS! I DRAGGED THIS WITH ME A WHOLE YEAR AND I JUST GOT THE NOTIFICATION THAT I MADE IT. I'M SO FUCKING HAPPY GUYS I CANT BELIEVE IT!!!!!!25
-
I always like to approach a new coding project by concentrating on the data model first. I've seen a lot of projects built on extremely convoluted database structures and it really hurts because it makes it hard to add new features to the project.
So I look at the requirements of the new project and try to come up with a basic data model. Then I like to think about what logical future additions to the project could be. And using those, I try to see if the data model is flexible enough to be able to handle those additions fairly easily or if complex migrations or hacks would be needed to account for new use cases and features.
I think once you have a solid data structure and database technology, planning out an API or rest of the software is pretty straight forward. I like to create reusable pieces of middleware early on in the project which makes it easy to apply consistent functionality with ease to different API endpoints.8 -
You are good in programming and data structures.
But we won't select you because you couldn't solve the puzzle. 😑11 -
You know who sucks at developing APIs?
Facebook.
I mean, how are so high paid guys with so great ideas manage to come up with apis THAT shitty?
Let's have a look. They took MVC and invented flux. It was so complicated that there were so many overhyped articles that stated "Flux is just X", "Flux is just Y", and exactly when Redux comes to the stage, flux is forgotten. Nobody uses it anymore.
They took declarative cursors and created Relay, but again, Apollo GraphQL comes and relay just goes away. When i tried just to get started with relay, it seemed so complicated that i just closed the tab. I mean, i get the idea, it's simple yet brilliant, but the api...
Immutable.js. Shitload of fuck. Explain WHY should i mess with shit like getIn(path: Iterable<string | number>): any and class List<T> { push(value: T): this }? Clojurescript offers Om, the React wrapper that works about three times faster! How is it even possible? Clojure's immutable data structures! They're even opensourced as standalone library, Mori js, and api is great! Just use it! Why reinvent the wheel?
It seems like when i just need to develop a simple react app, i should configure webpack (huge fuckload of work by itself) to get hot reload, modern es and jsx to work, then add redux, redux-saga, redux-thunk, react-redux and immutable.js, and if i just want my simple component to communicate with state, i need to define a component, a container, fucking mapStateToProps and mapDispatchToProps, and that's all just for "hello world" to pop out. And make sure you didn't forget to type that this.handler = this.handler.bind(this) for every handler function. Or use ev closure fucked up hack that requires just a bit more webpack tweaks. We haven't even started to communicate to the server! Fuck!
I bet there is savage ass overengineer sitting there at facebook, and he of course knows everything about how good api should look, and he also has huge ass ego and he just allowed to ban everything that he doesn't like. And he just bans everything with good simple api because it "isn't flexible enough".
"React is heavier than preact because we offer isomorphic multiple rendering targets", oh, how hard want i to slap your face, you fuckface. You know what i offered your mom and she agreed?
They even created create-react-app, but state management is still up to you. And react-boierplate is just too complicated.
When i need web app, i type "lein new re-frame", then "lein dev", and boom, live reload server started. No config. Every action is just (dispatch) away, works from any component. State subscription? (subscribe). Isolated side-effects? (reg-fx). Organize files as you want. File size? Around 30k, maybe 60 if you use some clojure libs.
If you don't care about massive market support, just use hyperapp. It's way simpler.
Dear developers, PLEASE, don't forget about api. Take it serious, it's very important. You may even design api first, and only then implement the actual logic. That's even better.
And facebook, sincerelly,
Fuck you.17 -
I just reviewed a resume that has 18 pages. I thought I've seen the worst. I have three stories so hopefully, the people having a hard time finding a job would get something out of this. Some people just don't make sense.
Candidate no. 1: The guy has a specific section for "Personal Details" with information that includes the following:
Gender: Male
Race: <citizenship>
Nationality: <name of his country>
In the work experience, he indicated his responsibilities and one of them was "protect the name of the company at all costs". Wow, my pee pee hard. He has a shitload of Apple certifications and cancelled an interview before. On the date of his re-scheduled interview, the recruiter couldn't contact him. Probably died from an overdose of whatever drug he was on. Thank god, I did not want to waste both of our time.
Candidate no. 2: One of those "proactive" egotistical junior developers. So eager to trash other languages, elitist little fucks, and one of those "Windows bad, reeeeee" types. He said he only uses Linux but he can also use Windows because he would run a virtual machine in Windows that has Linux in it. Big brain 2020. I checked his LinkedIn profile and voila, the most recent of his activities was a shared post saying it should be illegal to push code that doesn't follow PEP8 standards. I crossed my fingers not to see an "HTML is not a programming language" shit in there.
I checked his portfolio, bloated piece of shit that has one of those rounded boxes in the middle. 50% nothing and 50% box that has all the details. He has menus named "Face" and "Emoji Events". He says there "I'm a pedantic programmer" and right after that statement are grammatical errors in various states of decomposition.
Interview day, he didn't miss the chance to tell me about how he wants everything to follow the standards and that his current company doesn't have good documentation so he's looking for other jobs. Strict about standards such as naming conventions but doesn't know data structures and algorithms. Epic priorities.
"Okay." I give him the assessment exam and left him alone for 30 minutes. I told him that he doesn't have to answer all of it and it's just a way to assess his knowledge (hint: try your best and be honest). I came back and he's browsing on his phone. He said he's looking for answers in SO but the connection went down.
"Okay." I checked the exam, no answers for most of it and the ones with answers are all wrong. Technically, you already cheated and yet you didn't get to answer all of it and you didn't even get anything right.
"Okay." He asks, "Do you use a lot of Math in the project?" I was confused. He then said that the exam has a lot of Math in it. The exam was a basic programming exam - how to swap the values of two variables, data structures, what is the time complexity of this and that, method resolution order, etc.
Candidate no. 3: A "full stack" developer. When you see that title, you know you're in for a carnival ride. Senior developer, almost 20 years of experience, has a Master's degree in a reputable university. Every page has a small box with some artsy style on it and a small chunk of information like where he graduated and shit. It's like a scrapbook of pain. This pattern repeated for the rest of the pages. I feel like I read a whole book and got nothing. Like you can ask me what the book I've been reading all day is about and I can't answer you because I don't fucking know. The amazing part is he would often have titles that look like this:
Software Develope
r
System Administrato
r
The fuck? I checked his LinkedIn and of course, I see that "Dear recruiters, if you're looking for blah blah blah, that's an entire IT department" cancer.
"Okay."19 -
"Hey, can you help me with our Algorithms & Data Structures task? I tried to tranlate my problem with Google translator but I can not select the option to translate into Java."
I was speechless when a girl actually asked me that10 -
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 -
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 -
I recently joined the dark side - an agile consulting company (why and how is a long story). The first client I was assigned to was an international bank. The client wanted a web portal, that was at its core, just a massive web form for their users to perform data entry.
My company pitched and won the project even though they didn't have a single developer on their bench. The entire project team (including myself) was fast tracked through interviews and hired very rapidly so that they could staff the project (a fact I found out months later).
Although I had ~8 years of systems programming experience, my entire web development experience amounted to 12 weeks (a part time web dev course) just before I got hired.
I introduce to you, my team ...
Scrum Master. 12 years experience on paper.
Rote memorised the agile manifesto and scrum textbooks. He constantly went “We should do X instead of (practical thing) Y, because X is the agile way.” Easily pressured by the client to include ridiculous (real time chat in a form filling webpage), and sometimes near impossible features (undo at the keystroke level). He would just nag at the devs until someone mumbled ‘yes' just so that he would stfu and go away.
UX Designer. 3 years experience on paper ... as business analyst.
Zero professional experience in UX. Can’t use design tools like AI / photoshop. All he has is 10 weeks of UX bootcamp and a massive chip on his shoulder. The client wanted a web form, he designed a monstrosity that included several custom components that just HAD to be put in, because UX. When we asked for clarification the reply was a usually condescending “you guys don’t understand UX, just do <insert unhandled edge case>, this is intended."
Developer - PHD in his first job.
Invents programming puzzles to solve where there are none. The user story asked for a upload file button. He implemented a queue system that made use of custom metadata to detect file extensions, file size, and other attributes, so that he could determine which file to synchronously upload first.
Developer - Bootlicker. 5 years experience on paper.
He tried to ingratiate himself with the management from day 1. He also writes code I would fire interns and fail students for. His very first PR corrupted the database. The most recent one didn’t even compile.
Developer - Millennial fratboy with a business degree. 8 years experience on paper.
His entire knowledge of programming amounted to a single data structures class he took on Coursera. Claims that’s all he needs. His PRs was a single 4000+ line files, of which 3500+ failed the linter, had numerous bugs / console warnings / compile warnings, and implemented 60% of functionality requested in the user story. Also forget about getting his attention whenever one of the pretty secretaries walked by. He would leap out of his seat and waltz off to flirt.
Developer - Brooding loner. 6 years experience on paper.
His code works. It runs, in exponential time. Simply ignores you when you attempt to ask.
Developer - Agile fullstack developer extraordinaire. 8 years experience on paper.
Insists on doing the absolute minimum required in the user story, because more would be a waste. Does not believe in thinking ahead for edge conditions because it isn’t in the story. Every single PR is a hack around existing code. Sometimes he hacks a hack that was initially hacked by him. No one understands the components he maintains.
Developer - Team lead. 10 years of programming experience on paper.
Writes spaghetti code with if/else blocks nested 6 levels deep. When asked "how does this work ?”, the answer “I don’t know the details, but hey it works!”. Assigned as the team lead as he had the most experience on paper. Tries organise technical discussions during which he speaks absolute gibberish that either make no sense, or are complete misunderstandings of how our system actually works.
The last 2 guys are actually highly regarded by my company and are several pay grades above me. The rest were hired because my company was desperate to staff the project.
There are a 3 more guys I didn’t mention. The 4 of us literally carried the project. The codebase is ugly as hell because the others merge in each others crap. We have no unit tests, and It’s near impossible to start because of the quality of the code. But this junk works, and was deployed to production. Today is it actually hailed as a success story.
All these 3 guys have quit. 2 of them quit without a job. 1 found a new and better gig.
I’m still here because I need the money. There’s a tsunami of trash code waiting to fail in production, and I’m the only one left holding the fort.
Why am I surrounded by morons?
Why are these retards paid more than me?
Why are they so proud when all they produce is trash?
How on earth are they still hired?
And yeah, FML.7 -
"Hey nephew, why doesn't the FB app work. It shows blank white boxes?"
- It can't connect or something? (I stopped using the FB app since 2013.)
"What is this safe mode that appeared on my phone?!"
- I don't know. I don't hack my smartphone that much. Well, I actually do have a customised ROM. But stop! I'm pecking my keyboard most of the time.
"Which of my files should I delete?"
- Am I supposed to know?
"Where did my Microsoft Word Doc1.docx go?"
- It lets you choose the location before you hit save.
"What is 1MB?"
- Search these concepts on Google. (some of us did not have access to the Internet when we learned to do basic computer operations as curious kids.)
"What should I search?"
- ...
"My computer doesn't work.. My phone has a virus. Do you think this PC they are selling me has a good spec? Is this Video Card and RAM good?"
- I'm a programmer. I write code. I think algorithmically and solve programming problems efficiently. I analyse concepts such as abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. No, I will not fix your PC.7 -
(c) Creative Tim. Worth to read pips!
How to land a programming job
1. ABC (Always Be Coding) - The more you code, the better you'll get.
2. Master at least one multi-paradigm language - Some good candidates are C#, C++, Java, PHP, Python, and Ruby.
3. Re-invent the wheel - You should implement the most common data structures in your language choice.
4. Solve word problems - Pick those that test your ability to implement recursive, pattern-matching, greedy, dynamic programming, and graph problems
5. Make coding easy - At least, make it look easy.
6. Be passionate - If you don't care, then nobody else will.
7. Don't make assumptions - Ask questions if you're not sure.11 -
Was recently phone interviewed by a recruiter that asked "So do you know data structures and algorithms?" I replied "That's like asking someone if they know Mathematics - can you be a bit more specific?"7
-
Our Algorithms and Data Structures lecturer would have died on the spot if you showed him code like that...15
-
So, some time ago, I was working for a complete puckered anus of a cosmetics company on their ecommerce product. Won't name names, but they're shitty and known for MLM. If you're clever, go you ;)
Anyways, over the course of years they brought in a competent firm to implement their service layer. I'd even worked with them in the past and it was designed to handle a frankly ridiculous-scale load. After they got the 1.0 released, the manager was replaced with some absolutely talentless, chauvinist cuntrag from a phone company that is well known for having 99% indian devs and not being able to heard now. He of course brought in his number two, worked on making life miserable and running everyone on the team off; inside of a year the entire team was ex-said-phone-company.
Watching the decay of this product was a sheer joy. They cratered the database numerous times during peak-load periods, caused $20M in redis-cluster cost overrun, ended up submitting hundreds of erroneous and duplicate orders, and mailed almost $40K worth of product to a random guy in outer mongolia who is , we can only hope, now enjoying his new life as an instagram influencer. They even terminally broke the automatic metadata, and hired THIRTY PEOPLE to sit there and do nothing but edit swagger. And it was still both wrong and unusable.
Over the course of two years, I ended up rewriting large portions of their infra surrounding the centralized service cancer to do things like, "implement security," as well as cut memory usage and runtimes down by quite literally 100x in the worst cases.
It was during this time I discovered a rather critical flaw. This is the story of what, how and how can you fucking even be that stupid. The issue relates to users and their reports and their ability to order.
I first found this issue looking at some erroneous data for a low value order and went, "There's no fucking way, they're fucking stupid, but this is borderline criminal." It was easy to miss, but someone in a top down reporting chain had submitted an order for someone else in a different org. Shouldn't be possible, but here was that order staring me in the face.
So I set to work seeing if we'd pwned ourselves as an org. I spend a few hours poring over logs from the log service and dynatrace trying to recreate what happened. I first tested to see if I could get a user, not something that was usually done because auth identity was pervasive. I discover the users are INCREMENTAL int values they used for ids in the database when requesting from the API, so naturally I have a full list of users and their title and relative position, as well as reports and descendants in about 10 minutes.
I try the happy path of setting values for random, known payment methods and org structures similar to the impossible order, and submitting as a normal user, no dice. Several more tries and I'm confident this isn't the vector.
Exhausting that option, I look at the protocol for a type of order in the system that allowed higher level people to impersonate people below them and use their own payment info for descendant report orders. I see that all of the data for this transaction is stored in a cookie. Few tests later, I discover the UI has no forgery checks, hashing, etc, and just fucking trusts whatever is present in that cookie.
An hour of tweaking later, I'm impersonating a director as a bottom rung employee. Score. So I fill a cart with a bunch of test items and proceed to checkout. There, in all its glory are the director's payment options. I select one and am presented with:
"please reenter card number to validate."
Bupkiss. Dead end.
OR SO YOU WOULD THINK.
One unimportant detail I noticed during my log investigations that the shit slinging GUI monkeys who butchered the system didn't was, on a failed attempt to submit payment in the DB, the logs were filled with messages like:
"Failed to submit order for [userid] with credit card id [id], number [FULL CREDIT CARD NUMBER]"
One submit click later and the user's credit card number drops into lnav like a gatcha prize. I dutifully rerun the checkout and got an email send notification in the logs for successful transfer to fulfillment. Order placed. Some continued experimentation later and the truth is evident:
With an authenticated user or any privilege, you could place any order, as anyone, using anyon's payment methods and have it sent anywhere.
So naturally, I pack the crucifixion-worthy body of evidence up and walk it into the IT director's office. I show him the defect, and he turns sheet fucking white. He knows there's no recovering from it, and there's no way his shitstick service team can handle fixing it. Somewhere in his tiny little grinchly manager's heart he knew they'd caused it, and he was to blame for being a shit captain to the SS Failboat. He replies quietly, "You will never speak of this to anyone, fix this discretely." Straight up hitler's bunker meme rage.13 -
Four semesters in. As a class we’ve learned Java, SQL, HTML/CSS, JavaScript, C++, C#, and a small amount of PHP
We’ve built databases, websites, apps for phone and desktop, and we’ve toyed with game development in unity
We’ve used multiple IDE’s with differing pros and cons, virtual machines, server development stacks (XAMPP), data structures, and we’ve used multiple sorting algorithms to learn their differences.
Some things on here are immensely more difficult than others. If at 4 semesters in you still don’t know how to AT LEAST google your issues for 10 minutes or even READ THE DAMN BOOK, then please don’t bother asking TA’s for help we have our own assignments to do and can’t afford spend an hour working with you to fix your code while you just ignore our suggestions
Four semesters in you should know where to find help online and if that doesn’t work, how to ask for and accept help. If you can’t then I’m sorry. I’m going to spend my time helping others, before I waste my time trying to help you7 -
Normal person in an elevator:
- gets in
- pushes the floor number
- patiently waits
- gets out
Programmer in an elevator:
- gets in
- pushes the floor number
- thinks about how elevators are programmed, what the data structures would look like.
- regrets his life decisions 😂
- gets out4 -
I want to thank every Indian computer scientist on Youtube. Because of these guys I passed my Algorithms and Data Structures Exam.13
-
I think my kids would be bullied at school when they proudly say that roots of a tree are at the top.1
-
True fact!
Had my practical exam yesterday on Data Structures using C.
Had included this in my code
if(!count)
break;
Examiner: What type is count?
Me: Sir, it's an integer.
Then he asked me what was not expected.
Examiner: What does this exclamatory mark do?
In my mind: Now's the right time for the world to end. 😛9 -
So I had a fun week.
It started off with my boss replying to a co-workers email where he sent his new bank account, saying he doesn't need it untill we close off some baddly planned projects, meaning no paycheck.
Needless to say we were working night and days including weekends on it and put our best into it.
For the next part I need to explain a little background. We have this old legacy system I'm working with for the past 3 years. I keet raising the red flag we need a new one. Nothing happened. So every time I worked with it I kept thinking how to improve the parts. Almost two years went into thinking and planning the new system untill I got a green light. It was most satisfying - the day I got to build something good and awesome. I drew all the data structures, laid out the foundations and started building ontop of it. It was amazing and I was really proud of it. Then suddendly client wanted to see something and the decision was made we threw it together quickly with the old legacy system. It was on hold 'till then due to work overload.
Boss wrote me this week if I can put the project from git on a server, where he out sourced the completition into India where they will finish it. On thr question if they can't work on git, he replied: "should they?" -.-
To top it all up, I got a notice at the end of the week if I don't fill his shit time tracking system (that takes me one hour/day to insert all entries) by monday he'll deduct a sizable portion of my paycheck.
I AM WORKING FOR YOU ALL THE FUCKING TIME BECAUSE YOU LACK RESOURCES AND I THOUGHT A TEAM STICKS TOGETHER AND SAVES EACH OTHERS ASS! I DONT HAVE TIME TO ENTER YOUR FUCKING STUPID TIME ENTRIES IN YOUR FUCKING BUGGED SYSTEM EACH DAY ON TASKS THAT DON'T EVEN EXIST BITCH! MAKE IT BETTER FIRST!! OH! AND NO ONE IS MORE QUALIFIED TO FINISH THAT PROJECT THAN ME, I POURED MY FUCKING HEART INTO IT YOU PRICK!
woah.5 -
That moment when you thought you've fortified yourself with enough RAM for the future (32GB) and Blender fails to work with a large project because...it runs out of memory (just in the loading phase, building them intermediate data structures pushes it over the edge I guess).
Fml.
It was kind of fascinating to watch the memory usage indicator creep up though. Morbid fascination.3 -
Spend 14 hours a week studying more with my free time.
Things to be studied:
-discrete math
-data structures
-algorithms
-coding challenges
-problem defining
-abstraction
-other relevant maths
Other things I want to improve:
-confidence at work
-reaching out to teams with questions
-social skills
-time management
-enjoying the little things
-patience
-consistency (with everything above)
Last big thing would be being more conscious with what type of data/platforms I am digesting everyday. Just like a good diet I want to get in the habit of consuming “good” useful content that’s thought provoking or knowable rather than fast food social media carbs
Wish everyone a productive New Year!6 -
Just because you can learn HTML in a day doesn’t mean that you don’t need a degree.
Did you know that your browser, HTML, CSS, Javascript, and even your operating system use linked lists, binary trees, hash tables, and other so-called “useless” data structures?
It’s important to understand the roots and fundamentals of computer science even if you won’t use that knowledge day to day.
It changes your perspective on programming once you learn what actually goes on under the hood, and makes you think twice about the impact of what you write.
It’s relatively easy to get a programming job without a degree nowadays, but it often leads to web developers claiming that degrees aren’t important to their web apps.
There is much more than just the web to computer science, and that’s something to always keep in mind.11 -
My Data Structures and Algorithms sample midterm exam's instructions mentions "No Morse Code allowed"2
-
Graduation day:
A guy presents a modified pathfinding algorithm based on a*, in Java.
Jumping to the conclusions, he says he tested the algorithm on a 128x128 graph based maze, but not larger because the program saturates his 4 GB ram pc.
One teacher (algorithms and data structures) literally jumps from the chair "you saturate 4gb of ram with a* on 128x128 graph?!"
Best graduation day ever lol9 -
A dev team has been spending the past couple of weeks working on a 'generic rule engine' to validate a marketing process. The “Buy 5, get 10% off” kind of promotions.
The UI has all the great bits, drop-downs, various data lookups, etc etc..
What the dev is storing the database is the actual string representation FieldA=“Buy 5, get 10% off” that is “built” from the UI.
Might be OK, but now they want to apply that string to an actual order. Extract ‘5’, the word ‘Buy’ to apply to the purchase quantity rule, ‘10%’ and the word ‘off’ to subtract from the total.
Dev asked me:
Dev: “How can I use reflection to parse the string and determine what are integers, decimals, and percents?”
Me: “That sounds complicated. Why would you do that?”
Dev: “It’s only a string. Parsing it was easy. First we need to know how to extract numbers and be able to compare them.”
Me: “I’ve seen the data structures, wouldn’t it be easier to serialize the objects to JSON and store the string in the database? When you deserialize, you won’t have to parse or do any kind of reflection. You should try to keep the rule behavior as simple as possible. Developing your own tokenizer that relies on reflection and hoping the UI doesn’t change isn’t going to be reliable.”
Dev: “Tokens!...yea…tokens…that’s what we want. I’ll come up with a tokenizing algorithm that can utilize recursion and reflection to extract all the comparable data structures.”
Me: “Wow…uh…no, don’t do that. The UI already has to map the data, just make it easy on yourself and serialize that object. It’s like one line of code to serialize and deserialize.”
Dev: “I don’t know…sounds like magic. Using tokens seems like the more straightforward O-O approach. Thanks anyway.”
I probably getting too old to keep up with these kids, I have no idea what the frack he was talking about. Not sure if they are too smart or I’m too stupid/lazy. Either way, I keeping my name as far away from that project as possible.4 -
A year ago, in the second programming course in uni, we had an assignment about making a linked list. It was nice, as I learnt how they are made. But then we had another, then a lab, and after that other 3 assignments adding functionalities to our list and improving it. It was horrible, but it was finally over.
The problem is that the following semester, the first assignment of the operating systems course was about making a list. The first assignment of the programmimg course made us implement a list too, to practice polymorphism. We had lists also for the last assignments for those two courses (they were about heaps and custom memory management respectively).
At this point I was completely fed up with lists. That brings us to the present, and guess what we are having for the first assignment of the algortihms & data structures course... Yeah. I hate linked lists6 -
Remove all the outdated and unwanted topics which were taught during Indus Valley civilization like: 8080 microprocessor, Java 6, Software Testing principles etc. And add more interesting and realistic topics like: Algorithm design, graphs and other data structures, Java 8 (at least for now), big data, Basics about AI, etc.7
-
In my first year of college right now, and on the first test we had to write some C# ConsoleApplications. We got instructions of what we have to taken as input, what we had to do with it and output it to the console.
I've tested them all and they all work correctly, which was the main objective. I have used the correct data structures, but I didn't get top mark. Instead, I got lower because "I didn't do it her way".
WELL F*CK YOU TOO!!! I hope this is not how every test/exam goes7 -
A close friend of mine is in his third term in university studying software engineering, asked me how did I land my first job so quickly after graduation.
His question made me stop for few seconds and ask myself, how would my life would've been without Coursera , Udacity, codeacademy and css-tricks.
I literally spent 2 years wasting time in uni then I discovered these sites and started learning while studying just enough to pass subjects that really has no benefit for the future whatsoever.
Even with subjects like data structures and AI, which should be interesting, it was 40℅ theory and the practical part was to complement the theory part, it was never for real world examples.
Kinda feel bad for my friend because he'll end up feeling the same frustration I went through at university.
Even now a year after graduating I feel that the only benefit of my degree was legal.
When would this silly system change ? If university courses can be specialized like online courses wouldn't it bring better talent to the market? And why governments don't take action towards this?2 -
I am a firmware developer with 4 years experience. C and sometimes assembly is my bread and butter.
Like 2 years ago, I was really interested to make a switch to application development. Got referred by my friend to her startup.
But I was a bit rusty with my data structures, high level languages and interpersonal skills.
The first question was to find the number of occurences for each word in a paragraph. The language choice was Java. But I was allowed to use C++ since it was the closest relative to Java that I knew.
And I started implementing a binary search tree from scratch and started inserting each tokenised word into it, wrote a traversal algorithm.
The interviewer, luckily, was a patient guy. After I completed my whole mess, he asked is it possible to do this in a slightly better way with constant time access without traversal.
I said yes, we can with a hash table but I dont know how to implement one. He replied I dont expect you to implement the hash table but see you use it. I asked him if I am allowed to used the standard library, for which he said ofcourse.
*facepalm*.
Finally I understood his expectation, referred cppreference.com and used an unordered_map.
Later there were some quesion on databases for which I tried my best to answer. And I frankly replied that I am not comfortable with JS frameworks as of now. Got rejected.
So the mistake is I never asked basic questions like what is the time complexity expects, if I was allowed to use standard library, didnt spend some extra time on studying stuffs needed for the domain switch and most importantly I panicked.7 -
Why do people jump from c to python quickly. And all are about machine learning. Free days back my cousin asked me for books to learn python.
Trust me you have to learn c before python. People struggle going from python to c. But no ml, scripting,
And most importantly software engineering wtf?
Software engineering is how to run projects and it is compulsory to learn python and no mention of got it any other vcs, wtf?
What the hell is that type of college. Trust me I am no way saying python is weak, but for learning purpose the depth of language and concepts like pass by reference, memory leaks, pointers.
And learning algorithms, data structures, is more important than machine learning, trust me if you cannot model the data, get proper training data, testing data then you will get screewed up outputs. And then again every one who hype these kinds of stuff also think that ml with 100% accuracy is greater than 90% and overfit the data, test the model on training data. And mostly the will learn in college will be by hearting few formulas, that's it.
Learn a language (concepts in language) like then you will most languages are easy.
Cool cs programmer are born today😖31 -
In my uni course "Algorithms and Data structures" we use Java. Fine. Definitely not my preferred language but it's not like I have a choice.
Anyway, our teacher uploads code files for us to use as reference/examples. The problem is, they look like this. Not only does she not indent the code, she also uses a charset that is not utf-8.
In the rare cases where she does indent the code, she uses THREE, yes THREE spaces...28 -
brain: ABSTRACTION ABSTRACTION ABSTRACTION too much ABSTRACTION!
me: jeez calm down a lil i just deployed a boilerplate ember web app with cli tools with next to nothing amount of 'my' code.
b: YES U SUCKER THAT'S WHAT WENT WRONG U DON'T KNOW SHIT ABOUT THE LIL STUFF THAT HAPPENS BEHIND THE SCENES THE FUCK MAN U CALL YOURSELF A CS STUDENT YOU CAN'T EVEN WRITE A COMPILER YET
m: sooo remember when we were studying logic gates and binary conversions and you sigkilled all my threads cuz it was 'boring'?
b: why yes why do you ask
m: WELL that's where we'll end up again if you don't stop nagging me about going down. Trust me, I KNOW how to starve you and you'll beg me to use Python again. You start making advanced data structures in C and the next thing you know you're writing assembly code 'just for fun'.
I have a hackathon coming right up and I have to use a framework or my team loses the advantage. Are we good?
b: well if you put it that way...BUT AFTER THAT YOU'RE TAKING ME TO AN ALGORITHM SESSION
m: *eerily stares at the dusty book in the corner*
you... have a deal3 -
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 -
Not learning data structures and algorithms. Not learning programming languages. Actually not learning anything to answer during a job interview.
I am more of a learn-while-you-do kind of guy. I never learn anything, instead just do it. Interviewers think I am useless because I know nothing. But I can get a job done, any kind of job done. I have no learning period, I can start working from first day in a all new language, in a all new IDE, in a all new OS.
I know nothing, and I learn nothing. I am a problem solver. You got a problem, I can solve it.6 -
The best teacher that I've had is one of the teachers at my university lab.
He teaches Data Structures. We had some programming assignments and I was good at it, but whatever I'd do, he'd always find bugs, ask me to resolve it and he'd always give me challenges in the lab which is fun in the lab environment. University labs usually sticks to the sylabbus. I actually learned alot from that experience..
'Trail and Error is the best method to learn programming.'2 -
If ever you felt imposter syndrome, it's after your senior experienced colleague rewrites an API you built... You've been chipping away at it for months, making it faster but reaching the limits of the functional but flawed original design.
In one week he starts it as a side project, and fixes the whole thing, soap to nuts... I need to sit down with that guy more.3 -
So, the uni hires a new CS lecturer. He is teaching 230, the second CS class in the CS major. Two weeks into the semester, he walks in and proceeds to do his usual fumbling around on the computer (with the projector on).
Then, he goes to his Google Drive, which is empty mostly, and tells us that he accidentally wrote a program that erased his entire hard drive and his internet storage drives (Google, box, etc.)...
I mean, way to build credibility, guy... Then he tells us that he has a backup of everything 500 miles away, where he moved from. He also says that he only knows C (we only had formally learned Java so far), but hasn't actually coded (correction: typed!) in 20+ years, because he had someone do that for him and he has been learning Java over the past two weeks.
The rest of the semester followed as expected: he never had any lecture material and would ramble for an hour. Every class, he would pull up a new .java file and type code that rarely ran and he had no debugging skills. We would spend 15 minutes trying to help him with syntax issues—namely (), ;— to get his program running and then there would be a logic issue, in data structures.
He knew nothing of our sequence and what we knew up until this point and would lecture about how we will be terrible programmers because we did not do something the way he wanted—though he failed to give us expectations or spend the five minutes to teach us basic things (run-time complexity, binary, pseudocode etc). His assignments were not related to the material and if they were, they were a couple of weeks off. Also, he never knew which class we were and would ask if we were 230 or 330 at the end of a lecture...
I learned relatively nothing from him (though I ended up with a B+) but thankful to be taking advanced data structures from someone who knows their stuff. He was awful. It was strange. Also, why did the uni not tell him what he needed to be teaching?
End rant.undefined worst teacher worst professor awful communication awful code worst cs teacher disorganization1 -
Anyone else taking Harvard's CS50 via edX? It's so awesome! You get a better understanding of Computer Science and stuff. I'm loving C! It feels so close to communicating with the machine. Memory allocation fascinates me, too. Is this why it's fast? If you feel like you're lacking with the CS fundamentals although you can build apps or websites already, I recommend this. This is better than my whole years in college!9
-
I'm that person that makes shit inefficient code, hello everyone. I'm just now learning algorithms and data structures after years of employment.
It is my hope to one day atone and be forgiven for my crimes against computer science.3 -
How I should approach a new project:
- think about data design
- draw some tables
- configure relations
- create data structures
....
How reality proves I'm a donkey:
- builds random table
- works on models, with random querys
- realizes things get to complicated and relations are broken or tables need duplicate logic
- starts thinking about 'good' design
- draw some tables
- configure relations
- create data structures
.... -
They don't tell you this is in uni but your skill in merge conflict and circular dependency resolution is more essential in the real world than your knowledge of data structures.1
-
First year: intro to programming, basic data structures and algos, parallel programming, databases and a project to finish it. Homework should be kept track of via some version control. Should also be some calculus and linear algebra.
Second year:
Introduce more complex subjects such as programming paradigms, compilers and language theory, low level programming + logic design + basic processor design, logic for system verification, statistics and graph theory. Should also be a project with a company.
Year three:
Advanced algos, datastructures and algorithm analysis. Intro to Computer and data security. Optional courses in graphics programming, machine learning, compilers and automata, embedded systems etc. ends with a big project that goes in depth into a CS subject, not a regular software project in java basically.4 -
I always wanted to have an array where I could store an object at index 694307084175882649501.
And now I can!!!13 -
Only if people understood the amount of effort that goes behind building a simple app.
Even if it's a simple notes app, I've to design the UI (at least 2 different activities - 1 for the list and the other for editing notes), write the code which makes it run i.e. without which the app is just a piece of empty design, think about what data
structures to use (that notes you are saving need to be stored somehow) and then club everything together and hope nothing breaks (spoiler alert: something will definitely break).
People need to understand that it's not just putting some fancy buttons and boxes around. Also, I'm not just making the app for one device. I've to make sure it works on different screen sizes, different versions of the OS (a user can't imagine how many functions need to be re written because something got deprecated in the process and I'd to switch to something different).
Also I'm not just sitting at my computer and converting coffee to code. I've to think about the flow, structure, design, navigation, backend etc. Of the app; most of my time isn't spent writing code but thinking/studying how to write the code. I also need to wait while the project is compiling/building every time I want to test it.
A function which you think is hard to implement night be really easy while something you claim is easy might be a nightmare. Oh and I didn't even mention how I need to stick to some design guidelines to make the app look consistent with the rest of the OS.
If you're wondering why a developer is spending most of his time on a browser, he isn't playing internet games or browsing reddit ( at least you better hope not), he's probably looking at the docs/stack overflow to get something to work/fix something!
Wow! That was long. Thanks!3 -
Want to make someone's life a misery? Here's how.
Don't base your tech stack on any prior knowledge or what's relevant to the problem.
Instead design it around all the latest trends and badges you want to put on your resume because they're frequent key words on job postings.
Once your data goes in, you'll never get it out again. At best you'll be teased with little crumbs of data but never the whole.
I know, here's a genius idea, instead of putting data into a normal data base then using a cache, lets put it all into the cache and by the way it's a volatile cache.
Here's an idea. For something as simple as a single log lets make it use a queue that goes into a queue that goes into another queue that goes into another queue all of which are black boxes. No rhyme of reason, queues are all the rage.
Have you tried: Lets use a new fangled tangle, trust me it's safe, INSERT BIG NAME HERE uses it.
Finally it all gets flushed down into this subterranean cunt of a sewerage system and good luck getting it all out again. It's like hell except it's all shitty instead of all fiery.
All I want is to export one table, a simple log table with a few GB to CSV or heck whatever generic format it supports, that's it.
So I run the export table to file command and off it goes only less than a minute later for timeout commands to start piling up until it aborts. WTF. So then I set the most obvious timeout setting in the client, no change, then another timeout setting on the client, no change, then i try to put it in the client configuration file, no change, then I set the timeout on the export query, no change, then finally I bump the timeouts in the server config, no change, then I find someone has downloaded it from both tucows and apt, but they're using the tucows version so its real config is in /dev/database.xml (don't even ask). I increase that from seconds to a minute, it's still timing out after a minute.
In the end I have to make my own and this involves working out how to parse non-standard binary formatted data structures. It's the umpteenth time I have had to do this.
These aren't some no name solutions and it really terrifies me. All this is doing is taking some access logs, store them in one place then index by timestamp. These things are all meant to be blazing fast but grep is often faster. How the hell is such a trivial thing turned into a series of one nightmare after another? Things that should take a few minutes take days of screwing around. I don't have access logs any more because I can't access them anymore.
The terror of this isn't that it's so awful, it's that all the little kiddies doing all this jazz for the first time and using all these shit wipe buzzword driven approaches have no fucking clue it's not meant to be this difficult. I'm replacing entire tens of thousands to million line enterprise systems with a few hundred lines of code that's faster, more reliable and better in virtually every measurable way time and time again.
This is constant. It's not one offender, it's not one project, it's not one company, it's not one developer, it's the industry standard. It's all over open source software and all over dev shops. Everything is exponentially becoming more bloated and difficult than it needs to be. I'm seeing people pull up a hundred cloud instances for things that'll be happy at home with a few minutes to a week's optimisation efforts. Queries that are N*N and only take a few minutes to turn to LOG(N) but instead people renting out a fucking off huge ass SQL cluster instead that not only costs gobs of money but takes a ton of time maintaining and configuring which isn't going to be done right either.
I think most people are bullshitting when they say they have impostor syndrome but when the trend in technology is to make every fucking little trivial thing a thousand times more complex than it has to be I can see how they'd feel that way. There's so bloody much you need to do that you don't need to do these days that you either can't get anything done right or the smallest thing takes an age.
I have no idea why some people put up with some of these appliances. If you bought a dish washer that made washing dishes even harder than it was before you'd return it to the store.
Every time I see the terms enterprise, fast, big data, scalable, cloud or anything of the like I bang my head on the table. One of these days I'm going to lose my fucking tits.10 -
Writing coroutines for io_uring. Submissions aren't working (they go through but the operation never seems to complete). Just fixed a few segfaults because of error cases not destroying coroutine handles correctly. Been on this for two days, finding more and more things I need to do that unrelated to the task at hand. Don't have issue tracking set up yet because haven't had time. Mountain of things that need to get working just for a demo is only growing. Layered maps of data structures and code flow are in my head as I'm trying to mentally debug some of this. I'm focused, completely dead to the outside world.
Then I feel a small scratch on my cheek. Three hours of mental mapping and a deep stack of thought, vanishes into thin air in a single moment.
The trade-off is worth it though.10 -
If there is 2 books you should read before trying to tackle TAOCP... this might be on it.. as well as the Concrete Mathematics book.
Anyway. This book covers not just the fundamentals of modern algorithms and data structures but it also makes the leap to understanding multithreading and algorithms using multithreading.
Some argue the certain concepts in this book are presented without explanation of how they work, but I guess that should be something the reader try’s to figure out from another book or constructive thinking critically. Keeps the reader on their toes for understanding.
This is also the reason many people suggest the sedgewick algorithm books, of which will be posted another day.17 -
Had my algorithms and data structures lab this week... 6pm-9pm
No one sat next to me or talked to me... probably cause I’m the only girl in the class :/10 -
I feel so empty.
I can't keep up with what is being teached to us in the mathematical courses. Everything else is fine. "Algorithm and data structures" aka Info A (Programming in C++) and "Computer engineering" aka Info C (details of how a CPU, RAM etc. works) is understandable, but when it comes to math I, completely, am lost.
2-4 hours drive to university and 2-4 hours drive back to my home each day. Two oral examinations each week in Info A and Info C. Three assignments in Info A, Info C and math.
I was so naive to believe that I would be more free and have more free time as a student haha.
Maybe I should switch to a university of applied sciences. The classical university is too theoretical for me, but in the same time I know that I can't keep up with the time when I have to build a circuit in the university of applied sciences.
I am able to design and build a circuit, but I am slow. Probably because I am checking many times if I did it properly before testing it.
To my fellow German devRanters who have studied or tried to study: You all just read my situation and my thoughts. Am I wrong about what I am thinking about a university of applied sciences? How are the mathematical courses there in terms of difficulty?
If mathematics is at the same difficulty, I will try to do something else that has nothing to do with college. It just won't get into my brain.32 -
The iconic moment in your degree when your lecturer finally let's you use Java's built in data structures.
Bye bye Linkedlist.java/Node.java3 -
So after exactly 30 minutes of building a basic interpreter (yes I'm back on the interpreter wagon) in python, I have once again come to the conclusion that python can go fuck itself with its backwards and inconsistent syntax with needlessly over worked and backwards data structures...
Would rather work in fucking COBOL at this stage...3 -
"What app is that?"
"It's like yik yak for developers..."
"Like FML for programmers..."
"Like one big groupme for computer scientists..."
"Like Josh from Intro to Data Structures..."
I'm running out of ways to describe devRant.1 -
FYI. Copied from my FB stalked list.
Web developer roadmap 2018
Common: Git, HTTP, SSH, Data structures & Algorithms, Encoding
------
Front-end: HTML, CSS, JavaScript > ES6, NPM, React, Webpack, Responsive Web, Bootstrap
------
Back-end: PHP, Composer, Laravel > Nginx, REST, JWT, OAuth2, Docker > MariaDB, MemCached, Redis > Design Patterns, PSRs
------
DevOps: Linux, AWS, Travis-CI, Puppet/Chef, New Relic > Docker, Kubernetes > Apache, Nginx > CLI, Vim > Proxy, Firewall, LoadBalancer
------
https://github.com/kamranahmedse/...2 -
/*
"Not wk135, but blah blah blah"
Please don't misuse wk135 (Sorry)
It's about coding tests
Thank you. */
=>
A company took their technical test on this really weird website. There was a Windows Narrator guy's voice giving instructions while a timer was running. I had to flash my ID to the webcam and then fit my head on an outline on the screen. It was for a web dev position. I had to speak into the microphone to answer the Narrator's questions and then send the video to them. The questions were weird and hypothetical, mostly. I just thought that their process was dumb and unnecessary.
=>
I don't like aptitude and algebraic tests. One company, I remember, had their test on Google Forms. For some multiple choice questions, they put check boxes instead of radio buttons. So, I could just blaze through it selecting all options. Some of the questions had their first option as "All of the above" 🤔. Fortunately, I didn't pass the test.
=>
The company I'm interning with, starting from next month, had a good interview process. They asked me questions on JavaScript, CSS, and a few on algorithms and data structures. I was also given a task where I had to make a css animation of trees. I'm glad they didn't have an algebra entry test.
😊 -
Just thought I'd share what I've been working on lately.
Heap: https://repl.it/@AmyShackles/Heap/...
Array: https://repl.it/@AmyShackles/...
Binary Tree: https://repl.it/@AmyShackles/...
(I'm so freaking tired.)7 -
So I'm not sure I understand this question fully, if it is meant only through code, than I guess none or those people I got to know while I was doing my algorithms and data structures project last semester where we were helping each other with our code
If it's meant generally through code related activities then I gained lots of friends in uni in classes and here on devRant of course and actually yesterday I got to talk unexpectedly about coding and programming languages on an event with a guy who actually studied financial maths in Vienna but now works as a tester and works with databases, that was nice6 -
Why name Tree a Tree when it's really Root if you look at it with head up ?
(Tree Data Structure)
We're really taught to look at the world upside down1 -
dev, ~boring
This is either a shower thought or a sober weed thought, not really sure which, but I've given some serious consideration to "team composition" and "working condition" as a facet of employment, particularly in regard to how they translate into hiring decisions and team composition.
I've put together a number of teams over the years, and in almost every case I've had to abide by an assemblage of pre-defined contexts that dictated the terms of the team working arrangement:
1. a team structure dictated to me
2. a working temporality scheme dictated to me
3. a geographic region in which I was allowed to hire
4. a headcount, position tuple I was required to abide by
I've come to regard these structures as weaknesses. It's a bit like the project management triangle in which you choose 1-2 from a list of inadequate options. Sometimes this is grounded in business reality, but more often than not it's because the people surrounding the decisions thrive on risk mitigation frameworks that become trickle down failure as they impose themselves on all aspects of the business regardless of compatibility.
At the moment, I'm in another startup that I have significantly more control over and again have found my partners discussing the imposition of structure and framework around how, where, why, who and what work people do before contact with any action. My mind is screaming at me to pull the cord, as much as I hate the expression. This stems from a single thought:
"Hierarchy and structure should arise from an understanding of a problem domain"
As engineers we develop processes based on logic; it's our job, it's what we do. Logic operates on data derived from from experiments, so in the absence of the real we perform thought experiments that attempt to reveal some fundamental fact we can use to make a determination.
In this instance we can ask ourselves the question, "what works?" The question can have a number contexts: people, effort required, time, pay, need, skills, regulation, schedule. These things in isolation all have a relative importance ( a weight ), and they can relatively expose limits of mutual exclusivity (pay > budget, skills < need, schedule < (people * time/effort)). The pre-imposed frameworks in that light are just generic attempts to abstract away those concerns based on pre-existing knowledge. There's a chance they're fine, and just generally misunderstood or misapplied; there's also a chance they're insufficient in the face of change.
Fictional entities like the "A Team," comprise a group of humans whose skills are mutually compatible, and achieve synergy by random chance. Since real life doesn't work on movie/comic book logic, it's easy to dismiss the seed of possibility there, that an organic structure can naturally evolve to function beyond its basic parts due to a natural compatibility that wasn't necessarily statistically quantifiable (par-entropic).
I'm definitely not proposing that, nor do I subscribe to the 10x ninja founders are ideal theory. Moreso, this line of reasoning leads me to the thought that team composition can be grown organically based on an acceptance of a few observed truths about shipping products:
1. demand is constant
2. skills can either be bought or developed
3. the requirement for skills grows linearly
4. hierarchy limits the potential for flexibility
5. a team's technically proficiency over time should lead to a non-linear relationship relationship between headcount and growth
Given that, I can devise a heuristic, organic framework for growing a team:
- Don't impose reporting structure before it has value (you don't have to flatten a hierarchy that doesn't exist)
- crush silos before they arise
- Identify needed skills based on objectives
- base salary projections on need, not available capital
- Hire to fill skills gap, be open to training since you have to pay for it either way
- Timelines should always account for skills gap and training efforts
- Assume churn will happen based on team dynamics
- Where someone is doesn't matter so long as it's legal. Time zones are only a problem if you make them one.
- Understand that the needs of a team are relative to a given project, so cookie cutter team composition and project management won't work in software
- Accept that failure is always a risk
- operate with the assumption that teams that are skilled, empowered and motivated are more likely to succeed.
- Culture fit is a per team thing, if the team hates each other they won't work well no matter how much time and money you throw at it
Last thing isn't derived from the train of thought, just things I feel are true:
- Training and headcount is an investment that grows linearly over time, but can have exponential value. Retain people, not services.
- "you build it, you run it" will result in happier customers, faster pivoting. Don't adopt an application maintenance strategy
/rant2 -
Over the last year, I’ve only started learning computer science at uni, never done it before.
I’ve done units in:
- Alg. and programming fundamentals in python
- Intro to comp sci
- alg. and data structures
- theory of computation
Guess the point of this is, “why do people code, what aspirations do you all have?”
Cause rn, I’m all about “I have no idea what I’m doing, coding just seemed cool and I wanted to try it out.” Don’t know where to go
Someone inspire me???
Here is a legit reason for you to brag about what you do and what you’re going to do 😉13 -
Oh I have quite a few.
#1 a BASH script automating ~70% of all our team's work back in my sysadmin days. It was like a Swiss army knife. You could even do `ScriptName INC_number fix` to fix a handful of types of issues automagically! Or `ScriptName server_name healthcheck` to run HW and SW healthchecks. Or things like `ScriptName server_name hw fix` to run HW diags, discover faulty parts, schedule a maintenance timeframe, raise a change request to the appropriate DC and inform service owners by automatically chasing them for CHNG approvals. Not to mention you could `ScriptName -l "serv1 serv2 serv3 ..." doSomething` and similar shit. I am VERY proud of this util. Employee liked it as well and got me awarded. Bought a nice set of Swarowski earrings for my wife with that award :)
#2 a JAVA sort-of-lib - a ModelMapper - able to map two data structures with a single util method call. Defining datamodels like https://github.com/netikras/... (note the @ModelTransform anno) and mapping them to my DTOs like https://github.com/netikras/... .
#3 a @RestTemplate annptation processor / code generator. Basically this dummy class https://github.com/netikras/... will be a template for a REST endpoint. My anno processor will read that class at compile-time and build: a producer (a Controller with all the mappings, correct data types, etc.) and a consumer (a class with the same methods as the template, except when called these methods will actually make the required data transformations and make a REST call to the producer and return the API response object to the caller) as a .jar library. Sort of a custom swagger, just a lil different :)
I had #2 and #3 opensourced but accidentally pushed my nexus password to gitlab. Ever since my utils are a private repo :/3 -
! rant
Sorry but I'm really, really angry about this.
I'm an undergrad student in the United States at a small state college. My CS department is kinda small but most of the professors are very passionate about not only CS but education and being caring mentors. All except for one.
Dr. John (fake name, of course) did not study in the US. Most professors in my department didn't. But this man is a complete and utter a****le. His first semester teaching was my first semester at the school. I knew more about basic programming than he did. There were more than one occasion where I went "prof, I was taught that x was actually x because x. Is that wrong?" knowing that what I was posing was actually the right answer. Googled to verify first. He said that my old teachings were all wrong and that everything he said was the correct information. I called BS on that, waited until after class to be polite, and showed him that I was actually correct. Denied it.
His accent was also really problematic. I'm not one of those people who feel that a good teacher needs a native accent by any standard (literally only 1 prof in the whole department doesn't), but his English was *awful*. He couldn't lecture for his life and me, a straight A student in high school, was almost bored to sleep on more than one occasion. Several others actually did fall asleep. This... wasn't a good first impression.
It got worse. Much, much worse.
I got away with not having John for another semester before the bees were buzzing again. Operating systems was the second most poorly taught class I've ever been in. Dr John hadn't gotten any better. He'd gotten worse. In my first semester he was still receptive when you asked for help, was polite about explaining things, and was generally a decent guy. This didn't last. In operating systems, his replies to people asking for help became slightly more hostile. He wouldn't answer questions with much useful information and started saying "it's in chapter x of the textbook, go take a look". I mean, sure, I can read the textbook again and many of us did, but the textbook became a default answer to everything. Sometimes it wasn't worth asking. His homework assignments because more and more confusing, irrelavent to the course material, or just downright strange. We weren't allowed to use muxes. Only semaphores? It just didn't make much sense since we didn't need multiple threads in a critical zone at any time. Lastly for that class, the lectures were absolutely useless. I understood the material more if I didn't pay attention at all and taught myself what I needed to know. Usually the class was nothing more than doing other coursework, and I wasn't alone on this. It was the general consensus. I was so happy to be done with prof John.
Until AI was listed as taught by "staff", I rolled the dice, and it came up snake eyes.
AI was the worst course I've ever been in. Our first project was converting old python 2 code to 3 and replicating the solution the professor wanted. I, no matter how much debugging I did, could never get his answer. Thankfully, he had been lazy and just grabbed some code off stack overflow from an old commit, the output and test data from the repo, and said it was an assignment. Me, being the sneaky piece of garbage I am, knew that py2to3 was a thing, and used that for most of the conversion. Then the edits we needed to make came into play for the assignment, but it wasn't all that bad. Just some CSP and backtracking. Until I couldn't replicate the answer at all. I tried over and over and *over*, trying to figure out what I was doing wrong and could find Nothing. Eventually I smartened up, found the source on github, and copy pasted the solution. And... it matched mine? Now I was seriously confused, so I ran the test data on the official solution code from github. Well what do you know? My solution is right.
So now what? Well I went on a scavenger hunt to determine why. Turns out it was a shift in the way streaming happens for some data structures in py2 vs py3, and he never tested the code. He refused to accept my answer, so I made a lovely document proving I was right using the repo. Got a 100. lol.
Lectures were just plain useless. He asked us to solve multivar calculus problems that no one had seen and of course no one did it. He wasted 2 months on MDP. I'd continue but I'm running out of characters.
And now for the kicker. He becomes an a**hole, telling my friends doing research that they are terrible programmers, will never get anywhere doing this, etc. People were *crying* and the guy kept hammering the nail deeper for code that was honestly very good because "his was better". He treats women like delicate objects and its disgusting. YOU MADE MY FRIEND CRY, GAVE HER A BOX OF TISSUES, AND THEN JUST CONTINUED.
Want to know why we have issues with women in CS? People like this a****le. Don't be prof John. Encourage, inspire, and don't suck. I hope he's fired for discrimination.12 -
Finally after working on programming languages and Data Structures for too long developing my first software with a GUI. In python. 😀😀😀
Though its only a calculator for now. 😅😅😅😅4 -
Playing with tree like structures today. Had to write a function where a node produces a new node containing data from both self and parent.
The moment when you realise you've just coded incest...1 -
So just finished my last algorithms and data structures class frequency, feeling pretty confident about the grade, today it'll be all weed, pizza and sex. Life is good :')2
-
What I can figure out:
You give me a large application with multiple projects/classes/files/functions that is tens of thousands of lines long, I can debug it. I can picture the multi-dimensional data structures, objects that contain lists of other objects, all in my I head.
What I can't figure out:
Should I or should I not look at the person sitting at their desk when I walk back to my desk from the bathroom.4 -
!rant
Skip away if you have zero interest in CurseMeSlowly's personal craps.
These days I am either slacking or working on things I like. Hence the lack of ranting.
So one of those "working-on-things-I-like" activities is my slow and snaily collab project. 😅 Today I am aiming to accomplish like 0.1% of it 😆 by finishing the github login feature. I have done the OAuth part. Just left with designing table structures and storing user data.
I plan to save login credentails into *users* table and other app related data into *profiles* table. That's what we usually do with users and profiles anyway. But I'm stil having a little bit of doubt regarding the proper way to store the game statistics like user's health, user's experience level etc.
If I am just showing the current statistics on the app, then those 2 tables are enough. But what if we want to see the progress of a user? hmm 🤔
I guess I will just leave it to decide later. 😬
---
If you don't know about it please check here https://cursemeslowly.github.io/dev... Any form of contribution is warmly welcome 🤗3 -
I work in a dev company. One of our clients hired us to help them out as their devs are failing with their deadlines.
I had to expose app services via an api. I did it. Client company devs didn't like the way I did it as I rewrote their datamodels and declared them as api-use-only. I was demanded to return bkend services' data structures.
I didn't agree and waited until deadline to submit my code.
Now they are honestly thanking me for what I did as I've saved them from a forever-mutating-api-and-angry-integration-customers hell.
Not sure whether should I be happy or worried. I forced my solution onto them. It's not proffessional. But yhe customer is happier now than it would've been.
What do you do in such situations?6 -
If you're currently in college and wish to get placed in a major tech giant like Amazon or Facebook:
Don't learn React.js, instead learn Linked lists.
Don't learn Flutter, instead learn Binary search trees.
Don't learn how to perform secure Authorization with JWTs, instead learn how to recursively reverse a singly linked list.
Don't learn how to build scalable and fault tolerant web servers, instead learn how to optimally inverse a binary search tree.
These big tech companies don't really care what real world development technologies you've mastered. Your competence in competitive programming and data structures is all that matters.
The system is screwed. Or atleast I am.20 -
ah this fucking sucks my boss, who is also the guy developing back end for our mobile app which im developing, isnt working on the back end makes me guess the fucking json strings that hes going to send and buils the front end, then later changes the fucking json structure completely and expects my app to work without any problems, how do you teach these fucking php developers the importance and significance of data types and data structures4
-
For starters this is my first post, found devrant the other day you're all hilarious.
I hate math, I hate proofs. I'm in a class "Analysis of Algorithms" and I have understood and do understand the importance of optimizing algorithms and data structures and I understand the algorithms and data structures themselves. That being said, I'm fucking sick of math and proofs and all this bullshit that is probably pretty important but ugggghh, I guess I just have to push through, but writing this out helped.18 -
So I did an interview today and the problem was given a = 1 2 3 and b = 2 3 write code that finds the common elements.
I asked what the data structures are and they said it can be whatever so I said cool then we can use sets and do an interception to get unique elements.... this was in Python... but for the life of me I couldn't remember what the intercept notation was... and brought that up hoping they're give me a hint haha.
So I ended up writing a 8-9 line solution for what could've been a one liner fml: return a | b.
All because I didn't know the notation and still needed to give them something. Painful to write when I knew I was reinventing the wheel. Sign
I almost never use sets so this was heartbreaking hopefully I still get an offer!
How bad of a fail is this in y'all opinion?8 -
1. When i was 11 years old i came across a trojan horse program and i sent it to all my school friends to get their messenger password.
(I had a list of passwords of all the people in my class... dont worry, i didnt even used the passwords, i just stored them in my list lol)
2. Took data structures 10 years later, hated it and switched to electrical eng
3. I was working on a manufacturing plant as the lead engineer and one of my prototypes was misbehaving and i was blaming software and software was blaming me...typical stuff... So i said "im going to get a masters is software so i can know wtf you are talking about, and tell you that you are wrong😠!!"
Got in school, started in the masters and quit that place i was working for 🤣.. (they were shitty people and unethical business... fyi)
Now im back to where i was was when i was 11... (minus the hacking email accounts of my classmates)4 -
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 -
Who thought Lua was a good idea for extending gameplay functionality??
It's weakly typed, has no OOP functionality and no namespace rules. It has no interesting data structures and tables are a goddamn mystery. Somebody made the simplest language they could and now everybody who touches it is given the broadest possible tools to shoot themselves in the foot.
Lua's ease of embedding into C++ code is a fool's paradise. Warcraft 3's JASS scripting language had way more structure and produced much better games, whilst being much simpler to work with than Lua.
All the academics describing metatables as 'powerful extensionality' and a fill-in for OOP are digging the hole deeper. Using tables to implement classes doesn't work easily outside school. Hiding a self:reference to a function inside of syntactic sugar is just insanity.
Nobody expects to write a triple-A game in lua, but they are happy to fob it off to kids learning to program. WoW made the right choice limiting it to UI extensions.
Fighting the language so you can try and understand a poorly documented game engine and implement gameplay features as the dev's intend for 'modders', is just beyond the pale. It's very difficult to figure out what the standard for extending functionality is, when everybody is making it up as they go along and you don't have a strongly-typed and structured language to make it obvious what the devs intended.
If you want to give your players a coding sandbox, make the scripting language yourself like JASS. It will be way better fit for purpose, way easier to limit for security and to guarantee reasonable performance. Your players get a sane environment to work in and you just might get the next DOTA.
Repeatedly shooting yourself in the foot on invisible syntax errors and an incredibly broad language is wasted suffering for kids that could be learning the programming concepts that cross all languages way quicker and with way more satisfying results.
Lua is hot garbage for it's most popular application, I really don't get it. Just stop!22 -
Gotta hand it to a faculty at my college. She is the best teacher, ever! Period.
She is pretty lenient, understanding, and always supports us and helps us.
She taught us Data Structures and the only thing that was bad was us students not giving as much effort as she gave to teach us.
She was so well that it always felt that we weren’t doing well enough.
Her subject was the only one in which every student passed!!
And still now, although she no longer teaches us, which hopefully changes next semester, I still love to go to talk to her about various things I do in programming and computers overall.
M just gonna say it...
U. R. The. Best.!!!! 😎☺️😊8 -
Last night me and my friend were on a WhatsApp call discussing how we should practice algorithms and data structures more. We texted the logistics after and he sent me a calendar invite on google. I swear to god this morning I had adds talking about data algorithms all over YouTube but I have never googled this issue in the near past 🤔 this can’t be a coincidence...9
-
Why is it that virtually all new languages in the last 25 years or so have a C-like syntax?
- Java wanted to sort-of knock off C++.
- C# wanted to be Java but on Microsoft's proprietary stack instead of SUN's (now Oracle's).
- Several other languages such as Vala, Scala, Swift, etc. do only careful evolution, seemingly so as to not alienate the devs used to previous C-like languages.
- Not to speak of everyone's favourite enemy, JavaScript…
- Then there is ReasonML which is basically an alternate, more C-like, syntax for OCaml, and is then compiled to JavaScript.
Now we're slowly arriving at the meat of this rant: back when I started university, the first semester programming lecture used Scheme, and provided a fine introduction to (functional) programming. Scheme, like other variants of Lisp, is a fine language, very flexible, code is data, data is code, but you get somewhat lost in a sea of parentheses, probably worse than the C-like languages' salad of curly braces. But it was a refreshing change from the likes of C, C++, and Java in terms of approach.
But the real enlightenment came when I read through Okasaki's paper on purely functional data structures. The author uses Standard ML in the paper, and after the initial shock (because it's different than most everything else I had seen), and getting used to the notation, I loved the crisp clarity it brings with almost no ceremony at all!
After looking around a bit, I found that nobody seems to use SML anymore, but there are viable alternatives, depending on your taste:
- Pragmatic programmers can use OCaml, which has immutability by default, and tries to guide the programmer to a functional programming mindset, but can accommodate imperative constructs easily when necessary.
- F# was born as OCaml on .NET but has now evolved into its own great thing with many upsides and very few downsides; I recommend every C# developer should give it a try.
- Somewhat more extreme is Haskell, with its ideology of pure functions and lazy evaluation that makes introducing side effects, I/O, and other imperative constructs rather a pain in the arse, and not quite my piece of cake, but learning it can still help you be a better programmer in whatever language you use on a day-to-day basis.
Anyway, the point is that after working with several of these languages developed out of the original Meta Language, it baffles me how anyone can be happy being a curly-braces-language developer without craving something more succinct and to-the-point. Especially when it comes to JavaScript: all the above mentioned ML-like languages can be compiled to JavaScript, so developing directly in JavaScript should hardly be a necessity.
Obviously these curly-braces languages will still be needed for a long time coming, legacy systems and all—just look at COBOL—, but my point stands.7 -
Reporting is not fun..
Scenario 1:
* A user says they need to export certain data from our system..
* Developer W makes report called "Foo detail report"
Scenario 2:
* A user says they need this report to also show some extra fields
* Developer X makes a new report called "Foo detail report (extra fields)"
Scenario 3:
* A user says they need this report to be run with a different search criteria
* Developer Y makes a new report called "Foo detail report (extra fields) by bar"
Scenario 4:
* A user says they need this report show data grouped in a different way
* Developer Z makes a new report called "Foo detail report (extra fields) by bar- new grouping"
The above scenarios happened over and over for several years in no particular order...
Current Day:
* Some users have certain reports they use and rely on but we don't know which ones
* Nobody really knows what all of the reports do or what is the difference between them without looking at the sql
* If we want to change data structures we have many reports to update
* I have a request from a user to add an extra column to one of the reports1 -
Do you get filled with anxiety and mental anguish when asked for your availability for a technical interview, knowing you’ve spent all your time recently programming and not working on algorithms/data structures and so you’re terribly unprepared but have no idea what the acceptable amount of time to schedule out without seeming like you’re incompetent is?
No?
....me neither. (She says, lying)8 -
Just found this on Reddit
"I used to think that everybody should learn programming. When I first started learning –thinking about how to organize the world in terms of data structures and algorithms– I thought, "Wow, this is such an amazing way to organize information. Everybody should learn to do this!"
I don't think that anymore.
I think there has to be something seriously wrong with you in order to do this work. A normal person, once they’ve looked into the abyss, will say, “I’m done. This is stupid. I’m going to do something else.” But not us, ‘cause there’s something really wrong with us."
Douglas Crockford1 -
Trying to switch my job. Applied for a well known company. Gave an interview today. I don't fucking get the obsession of these developer recruiters so fixated on data structures and algorithms. I know it's a massive part of computer science but guess there is no fucking room left to innovate in there. There are legitimate researcher teams working for implementation of these barebones inside system foundations. No general software developer gives a fuck about this piece of shit discipline of study. You wanna know why they propagate this as the panacea to test people because it's fucking easy. Give a project to somebody as interview procedure, it'll take time to bring out an interesting problem and an interesting solution to that. Sorry to say but all these data structure enthusiasts are nothing better than board game enthusiasts.
Also why can't you refer existing solutions to create your solution. I've seen some good problems which actually require you to think. But again those are heavy and can't be tested so you're left with reversing a fucking linked list with O(1) auxillary space. Fuck me ig.
Moreover, what the fuck is wrong with the moral policing internet crowd. Its so sad. I've hardly seen anybody rant about this piece of shit system put in place to push the absolute dead-end nutcases up the ladder. Every other search for it returns a Quora link with some Indian guy complaining about his interviews and in the comments you have the same scholars sitting in their data structure throne imparting knowledge about how data structure holds the fabric of reality together.
I don't hate data structures and algorithms as a subject. It is cool and quite extensive but once you try to make that as a metric of all the knowledge in the world, you've lost my drift. Maybe I'm just angry with the state of things. Maybe I'm just angry with token Quora crowd.4 -
So I was having an interview with a cool company a while ago. I had a non programming, full-time job then and I was having the interview during my break. I stressfully coded my way through a fizzbuzz and a tree question (luckily I had been studying data structures) but the interviewer generally sounded satisfied. Towards the end, he cheerfully asks "So, why do you want to work for us?" I panicked because I forgot to read details about the company before the interview. My response was "Um, because you offer a remote and part-time position, I know that's not a very nice reason, but, ummmm". The interviewer said "I see, thank you..." in a very dissapointed voice. Man, I didn't shoot myself in the leg, I loaded a nuclear missile on a fucking satellite and directed it straight to my balls. I felt so embarassed. Interviewer guy if you are reading this, I wanna say sorry.2
-
Headphones, phone in silent mode, my algos and data structures drawn on a sheet of paper, and a rubber duck by my side.
-
How many of you use the right data structures for the right situations?
As seasoned programmer and mentor Simon Allardice said: "I've met all sorts of programmers, but where the self-taught programmers fell short was knowing when to use the right data structure for the right situation. There are Arrays, ArrayLists, Sets, HashSets, singly linked Lists, doubly linked Lists, Stacks, Queues, Red-Black trees, Binary trees,.. and what the novice programmer does wrong is only use ArrayList for everything".
Most uni students don't have this problem though, for Data Structures is freshman year material. It's dry, complicated and a difficult to pass course, but it's crucial as a toolset for the programmer.
What's important is knowing what data structures are good in what situations and knowing their strengths and weaknesses. If you use an ArrayList to traverse and work with millions of records, it will be ten-fold as inefficient as using a Set. And so on, and so on.37 -
I think we should focus more on the basics rather than a specific language, framework, etc.
Maybe it's just me, but it's not uncommon to see people struggling at problem solving, because they were never taught (or they never learned) the logic behind an algorithm, or some simple data structures. I'm not talking about the pure mathematical research (fascinating nonetheless). Just a basic commom knowledge on which build your own skills upon. Nowdays I believe we (me too) rely too much on memory, instead of "creativity".1 -
!rant
Does anyone know what the **day-to-day** differences are between working in IT (banks, hedge funds) vs tech (Google, Facebook, Netflix).
In my mind, I see Hell and Heaven. And there's a giant wall in between called "technical interviews + algorithms and data structures".
I'm on the Hell side... And not sure if I should climb the wall 😔
Is the wall even that big?8 -
Well it's a bit long but worth reading, two crazy stories in one rant:
So there are 2 things to consider as being my first job. If entrepreneurship counts, when I was 16 my developer friend and I created a small local music magazine website. We had 2 editors and 12 writers, all music enthusiasts of more or less our age. We used a CMS to let them add the content. We used a non-profit organization mentorship and got us a mentor which already had his exit, and was close to his next one. The guy was purely a genius, he taught us all about business plans, advertising, SEO, no-pay model for the young journalists (we promised to give formal journalist certificates and salary when the site grows up)
We hired a designer, we hired a flash expert to make some advertising campaigns and started filling the site with content.
Due to our programming enthusiasm we added to the raw CMS some really cool automation: We scanned our country's radio charts each week using a cron job and the charts' RSS, made a bot to search the songs on youtube and posted the first search result as an embedded video using some reg-exps. This was one of the most fun coding times I've had. Doing these crazy stuff with none to little prior knowledge really proved me I can do anything with the power of will.
Then my partner travelled to work in an internship in the Netherlands and I was too lazy to continue it on my own and it closed, not so surprisingly for a 16 years old slacker boy.
Then the mentor offered my real first job. He had a huge forum (14GB of historical SQL) but it was dying, the CMS version was very old and he wanted me to upgrade it to the latest. It didn't seem hard at first, because there were very clear instructions in the CMS website on how to do that. However, the automation upgrade scripts didn't work well because the forum owners added some raw code (not MVC plugins but bad undocumented code) and some columns to the SQL tables. I didn't give up and decided to migrate between the versions without the scripts. I opened a new CMS and started learning by heart all of the database columns so I can make a script to migrate between the versions. The first tests ran forever because processing 14GB of data on a single home computer is not a task meant to be done. I didn't give up. I made an old forum and compared the table structures and code with my mentor's. I think I didn't exhaustively finish this solution, the task was too big on my shoulders and eventually I gave up. I still owe thanks for that mentor for teaching me how to bare with seemingly (and practically) impossible tasks, for learning not to fear from being a leader and an entrepreneur and also for paying me in time even though I didn't deliver anything 😂 -
Hello and welcome, to a presentation in which I will tell you my thoughts on the shortcomings of modern day computers and programming practices.
Computers are based on a very fundamental and old idea, folders, and files, a file is basically a concrete amount of data, whereas a folder is a group of files, and it comes from the real life concept of files and folders, now it might be quite obvious already that using a concept invented in 1898 by a guy called Edwin G. Seibels, might not be the best way for computers to function in the year 2020, but alas, it is.
Unless of course, you step into the world of a programmer.
A programmer’s world is much different, they use this idea of a data structure, or in simpler terms, an object. An Object is just like what you would think of as an object in your head, something with different properties that you can think about in different ways, for example your mobile phone, it has a battery percentage, it has a screen size, it has free space available. Programmers use these data structures to analyse data very quickly, like finding all phones with a screen size bigger than a certain size for example.
The problem is that programmers still use files and folders to create the programs that use these objects.
Consider this example.
Let’s say you want to create a virtual version of a drink bottle, consider what properties it will have, colour, volume, height, width, depth, material, etc..
As a programmer, you can leverage programming features and change the properties of a drink bottle directly, if you wanted to change the colour, you just say, drink bottle “dot” colour, equals blue, or red.
But if the drink bottle was represented as a file, all the drink bottles data would be inside the one file, so you would have to open the whole file, find the line or section of the file that has the colour data of the drink bottle, and select it, highlight it, delete what’s there, and type in your new value.
One way to explain this better is to imagine a folder that now represents the drink bottle, imagine adding a new file into that folder that represents each property I described before, colour, volume, etc.., well now, you could just open that folder, find the file for colour, either by looking with your eyes or you could do a file search in the folder for a file called colour, open it, and edit the value inside. This way of editing objects is the one that more closely represents the way programmers and a program itself interacts with objects inside a running programming language.
But the thing is, programmers don’t use the folder/file way of creating objects and putting them into programs, because it would be too cumbersome, they just create 1 file for an object, or have lots of objects in a file, and create all the objects in 1 file, and then run the program which creates the objects, then when they stop the program, it deletes the objects. So there is no actual link between the object in a file and the object that the program creates by reading the data from that file, if you change the object in your program, it does not get saved to the file.
So programmers created databases to house these objects, but there is still a flaw in databases, they are hard to interface with, and mostly databases are just used to send data or retrieve data from, programmatically, you can’t really browse a database the way you can browse the files on your computer. You can, but database interfaces are not made to be easily navigated the way files and folders are.
As it stands, there is no way to store objects instead of files on your computer and interact with them in complex ways the way programmers can inside the programs they create.
If the idea of an object became standard the way a file and folder is standard, I think it would empower human’s a great deal to express things far more easily and fluidly than they can today.
Thanks for reading.8 -
I just officially graduated from a web dev program and it feels...
Very underwhelming.
Learned ES6, React, Webpack, service workers, offline databases, accessibility, (...bla bla bla)
And my knowledge with data structures and algorithms isn't even that great yet.
I look at the stuff I still don't know and wonder if I'll ever be comfortable with my level of expertise.13 -
For the first time apart from Data Structures and Algorithms, there was a Machine Coding round where they asked me to create a small app using any language without data persistence or GUI, to see my code designing ability, LLD, code quality, whether I can implement OOP and write modular code and to see how extensible my code will be.
I did well.2 -
When learning to code, at what points did you experience plateaus? Could you describe what made you get stuck? And how did you break through those plateaus? Any books/resources/concepts that helped make things click?
I am currently stuck on a problem that requires me to create a tree structure the branches of which are equal to the sum of certain values contained within the leaves, and the root's value is the sum of those branch values. I have no idea how to represent that data in a way that is accessible and flexible. Associative arrays within arrays? Objects? But how can objects be represented in a hierarchical way (i.e. branches are parents of leaves, but are the same type of object). So yeah, I am in no man's land with that problem at the moment and don't even know what to search for/study. I am learning about data structures, because that sounds like it might get me closer to an answer.
What are you struggling with at the moment, and how did you break through your previous plateaus?6 -
I don't know why they made so many algorithms, data structures and big O questions during interview, when all they wanted me to do was to maintain some legacy, tight coupled, spaghetti code with no architecture, documentation, tests nor any kind of engineering behind :/1
-
RDBMS class: I have to fucking attend every class even though our lecturer just reads slides from Oracle to us.
In order to pass that module, we have to take the exams on their shitty website full of stupid questions, I.e. "Oracle academy is beautiful? a) true b) false" (I put false and they obviously marked it as wrong, ffs).
Multi-user operative systems: I was the one teaching our lecturer stuff on Linux.
WHY THE FUCK I CANNOT STAY AT HOME AND BE FUCKIN PRODUCTIVE INSTEAD?!
The only fucking interesting class is Data Structures & Algorithms and they pretend that we also attend every other useless class. FUCK YOU!
PS: I know the 90% of the stuff they are trying to teach us because I actually want to learn something and I know how to use Google, but no, I have to waste 2 hours on the bus every single day I have lessons.6 -
I feel like a total dickhead, might fuck around and implement some data structures and algos in c++ later idk.2
-
Just another day, building some hearty data structures in C.
I need to make a program that can multiplex user IO to different child processes from the command line.5 -
Just curious, does anyone actually get triggered by master/slave terminology, whitelist/blacklist, etc? I personally found it weird when my professor talked about parents killing off their child when discussing data structures. Imagine non CS students walking by the classroom8
-
I was tasked to evaluate wherever a customer could use an implementation of OTRS ( https://otrs.com/ )
Is it just me or is there no information on this site apart from <OTRS> will make your life better! <OTRS> will cure AIDS! <OTRS> will end world hunger!
This site is trying to use its fucking product name in every god damn sentence. <OTRS>. Everytime <OTRS> is mentioned it is fucking bold printed! My eyes are bleeding within 2 minutes of visiting this site.
I can't get any information about what excatly it is apart from their catchphrase: OTRS (again, bold. I'll refrain from putting it in <> from now, i think you got the point) is a customizable support desk software that manages workflows and structures communication so there are no limits to what your service team can achieve.
So, it's a support desk software you can customize. Great. What does it do?
"Whether you deal with thousands of inquiries and incidents daily [...] you’ll need digital structures that integrate standardized processes
and make communication transparent between teams and departments,
as well as for external customers."
Great, but what does it do?
"Reduce costs and improve satisfaction by structuring customer service communication with OTRS."
Great, BUT WHAT DOES IT DO?
"Manage incidents simply and uncover the data needed to make forward-thinking strategy decisions. OTRS is an ITSM solution that scales and adapts to your changing business needs."
W H A T D O E S I T D O ?!
Okay fuck that, maybe the product page has something to say.
Hm... A link on the bottom of the page says it is a feature list ( https://otrs.com/product-otrs/... )
Ah great, so i got a rough idea about what it is. Our customer wants a blackboard solution with a window you can pin to your desktop and also has a basic level of access control.
So it seems to be way to overloaded on features to recommend it to them. Well, let's see if can at least do everything they want. So i need screenshots of the application. Does the site show any of them? I dare you to find out.
Spoiler: It does not. FFS. The only pictures they show you are fucking mock ups and the rest is stock photos.
Alright, onwards to Google Images then.
Ah, so it's a ticket system then. Great, the site did not really communicate that at all.
Awesome, that's not what i wanted at all. That's not even what the customer wanted at all! Who fucking thought that OTRS was a good idea for them!
Fuck!5 -
Too low level for too long. As a web developer I’ve carried hardly any knowledge of data structures with me that I wouldn’t have been able to easily pick up the first year on the job. In microservices we don’t refer to anything as multicast gossiping nodes. I’ll never write a doubly linked list. The CS path and the actual field don’t align well. Was not able to carry much with me or apply it. I will say the SQL class was useful but it’s nothing I couldn’t have downloaded off udemy3
-
fuck the guy that writed the api that I consume at my company
he's not the worst guy ever, and he might be going through some stuff in life, or maybe he's just happy. There's no way to know actually.
but fuck him. fuck this fucking guy. fuck him with a thousnd dicks.
this guy defends his postures on the api like this thing was fucking sacred and masterly designed ok?
if I ask him to change one url's method from get to post so that I can send more longer data for the request, he comments "i cant believe they still haven't figured out a get request with a body". I appreciate him caring abkut the correctness.
but this is the same piece of shit that makes NOOO fucking validations on whatever I send to it. I get 500 for fucking EVERYTHING.
And if he does 400, the actual response messages are garbage, the same fucking text with no explanation.
FUCK YOU!!!!!!
I hate the way he structures the names of the url and the parameters, sometimes I have to send arrays of strings, other times arrays of objects, the naming is garbage and INCOSISTENT.
And when we asked him to do the API dotnet core, he was like "nah" FUCK YOU FOR USING SOON TO OBSOLETE TECHNOLOGIES!!!
THIS PIECE OF SHIT IS SLOW, because a coworker did another spi in core and the response times are hugely better.
I wouldnt mind if he was 100% of the time careless, but he actually makes a stand for his ideas, as if he actually gave two shits.
he's actually an ok guy though but... fuck hiim!!!! ive been holding onto this for a while... and I'm sure I have some flaws too.9 -
I just had a thought while thinking about Algorithms and data structures. Honestly other than for technical interviews I have never really had to use specific implementations.
Then I suddenly had a thought... What if I wanted to build my own operating system... I would also learn c++ as well....
I can't think of a reason to build my own OS though... Hm.. What about a programming language? Would that be like a mini-OS, and also need all this stuff?2 -
In a mediocre job since last 4 years with just a developer designation, but we simply use Java based tools and products to do most of our job. Need to study for a change in job.
Literally every morning:
"Let me see what to focus on: JavaScript/Java/C++/Python/Data science/ML/AI/NodeJS/...." The list goes on.
Every Evening:
"I need to focus on Data Structures and Algorithms. So let me stick to Java for now."
Next Day:
Back to the same routine.
2 months have passed and I have not seriously studied or concentrated on anything :(
Depressed.2 -
I'm so glad that I got a CS degree learning Data Structures, Algorithms, Operating systems, Databases, Linear Algebra, Software Engineering, Networking and many more...
How else would I have been able to center a div with CSS or change the Background color?2 -
Over the summer I was recruited to be a supplement instructor for a data structures course. As a result of that I was asked (separately by the professor) to be a grader for the course. Because of pay limitations I've mostly been grading homework project assignments. In any case, it's a great job to get my foot into the department and get recognized.
Over the course of the semester I've had this one person, OSX, named after their operating system of choice, who has been giving me awkward submissions. On the first assignment they asked the professor for extra time for some reason or the other, and that's perfectly fine.
So I finally receive OSX's submission, and it's a .py file as per course of the course. So I pop up a terminal in the working directory and type "python OSX_hw1.py". Get some error spit out about the file not being the right encoding. I know that I can tell python to read it in a different encoding, so I open it up in a text editor. To my surprise it's totally not a text file, but rather a .zip file!
I've seen weirder things done before, so no big deal. I rename the file extension, and open it up to extract the files when I see that there's no python files. "Okay, what's goin on here OSX..." I think to myself.
Poking around in the files it appears to be some sort of meta-data. To what, I had no clue, but what I did find was picture files containing what appeared to be some auto-generated screenshots of incomplete code. Since I'm one to give people the benefit of doubt even when they've long exhausted other peoples', I thought that it must be some fluke, and emailed OSX along with the professor detailing my issue.
I got back a rather standard reply, one of which was so un-notable I could not remember it if my life depended on it. However, that also meant I didn't have to worry about that anymore. Which when you're juggling 50 bazillion things is quite a relief. Tragically, this relief was short lived with the introduction of assignment 2.
Assignment 2 comes around, and I get the same type of submission from OSX. At this time I also notice that all their submissions are *very* close to the due time of 11:59pm (which I don't care about as long as it's in before people start waking up the next morning). I email OSX and the professor again, and receive a similar response. I also get an email from OSX worried about points being deducted. I reply, "No issue. You know what's wrong. Go and submit the right file on $CentralGradingCenter. Just submit over your old assignment".
To my frustration OSX claimed to not know how to do this. I write up a quick response explaining the process, and email it. In response OSX then asks if I can show them if they comes to my supplemental lesson. I tell OSX that if they are the only person, sure, otherwise no because it would not be a fair use of time to the other students.
OSX ends up showing up before anyone else, so I guide them through the process. It's pretty easy, so I'm surprised that they were having issues. Another person then shows up, so I go through relevant material and ask them if they have any questions about recent material in class. That said, afterwards OSX was being somewhat awkward and pushy trying to shake my hand a lot to the point of making me uncomfortable and telling them that there's no reason to be so formal.
Despite that chat, I still did not see a resubmission of either of those two assignments, and assignment 3 began to show it's head. Obviously, this time, as one might expect after all those conversations, I get another broken submission in the same format. Finally pissed off, I document exactly how everything looks on my end, how the file fails to run, how it's actually a zip file, etc, all with screenshots. That then gets emailed to the professor and OSX.
In response, I get an email from OSX panicking asking me how to submit it right, etc, etc. However, they also removed the professor from the CC field. In response I state that I do not know how to use whatever editor they are using, and that they should refer to the documentation in order to get a proper runnable file. I also re-CC the professor, making sure OSX's email to me is included in my reply.
OSX then shows up for one of my lessons, and since no one had shown up yet, I reiterate through what I had sent in the email. OSX's response was astonished that they could ever screw up that bad, but also admits that they had yet to install python(!!!). Obviously, the next thing that comes from my mouth is asking OSX how they write their code. Their response was that they use a website that lets them run python code.
At this point I'm honestly baffled and explain that a lot of websites like those can have limitations which might make code run differently then it should (maybe it's a simple interpreter written on JavaScript, or maybe it is real python, but how are you supposed to do file I/O?) .
After that I finally get a submission for assignment 1! -
There's very little good use cases for mongo, change my mind.
Prototyping maybe? Rails can prototype, create/update/destroy db schemas really quickly anyways.
If you're doing a web app, there's tons of libs that let you have a store in your app, even a fake mongo on the browser.
Are the reads fast? When I need that, use with redis.
Can it be an actual replacement for an app's db? No. Safety mechanisms that relational dbs have are pretty much must haves for a production level app.
Data type checks, null checks, foreign key checks, query checks.
All this robustness, this safety is something critical to maintain the data of an app sane.
Screw ups in the app layer affecting the data are a lot less visible and don't get noticed immediately (things like this can happen with relational dbs but are a lot less likely)
Let's not even get into mutating structures. Once you pick a structure with mongo, you're pretty much set.
Redoing a structure is manual, and you better have checks afterwards.
But at the same time, this is kind of a pro for mongo, since if there's variable data, as in some fields that are not always present, you don't need to create column for them, they just go into the data.
But you can have json columns in postgres too!
Is it easier to migrate than relational dbs? yes, but docker makes everything easy also.12 -
Major rant incoming. Before I start ranting I’ll say that I totally respect my professor’s past. He worked on some really impressive major developments for the military and other companies a long time ago. Was made an engineering fellow at Raytheon for some GPS software he developed (or lead a team on I should say) and ended up dropping fellowship because of his health. But I’m FUCKING sick of it. So fucking fed up with my professor. This class is “Data Structures in C++” and keep in mind that I’ve been programming in C++ for almost 10 years with it being my primary and first language in OOP.
Throughout this entire class, the teacher has been making huge mistakes by saying things that aren’t right or just simply not knowing how to teach such as telling the students that “int& varOne = varTwo” was an address getting put into a variable until I corrected him about it being a reference and he proceeded to skip all reference slides or steps through sorting algorithms that are wrong or he doesn’t remember how to do it and saying, “So then it gets to this part and....it uh....does that and gets this value and so that’s how you do it *doesnt do rest of it and skips slide*”.
First presentation I did on doubly linked lists. I decided to go above and beyond and write my own code that had a menu to add, insert at position n, delete, print, etc for a doubly linked list. When I go to pull out my code he tells me that I didn’t say anything about a doubly linked list’s tail and head nodes each have a pointer pointing to null and so I was getting docked points. I told him I did actually say it and another classmate spoke up and said “Ya” and he cuts off saying, “No you didn’t”. To which I started to say I’ll show you my slides but he cut me off mid sentence and just yelled, “Nope!”. He docked me 20% and gave me a B- because of that. I had 1 slide where I had a bullet point mentioning it and 2 slides with visual models showing that the head node’s previousNode* and the tail node’s nextNode* pointed to null.
Another classmate that’s never coded in his life had screenshots of code from online (literally all his slides were a screenshot of the next part of code until it finished implementing a binary search tree) and literally read the code line by line, “class node, node pointer node, ......for int i equals zero, i is less than tree dot length er length of tree that is, um i plus plus.....”
Professor yelled at him like 4 times about reading directly from slide and not saying what the code does and he would reply with, “Yes sir” and then continue to read again because there was nothing else he could do.
Ya, he got the same grade as me.
Today I had my second and final presentation. I did it on “Separate Chaining”, a hashing collision resolution. This time I said fuck writing my own code, he didn’t give two shits last time when everyone else just screenshot online example code but me so I decided I’d focus on the PowerPoint and amp it up with animations on models I made with the shapes in PowerPoint. Get 2 slides in and he goes,
Prof: Stop! Go back one slide.
Me: Uh alright, *click*
(Slide showing the 3 collision resolutions: Open Addressing, Separate Chaining, and Re-Hashing)
Prof: Aren’t you forgetting something?
Me: ....Not that I know of sir
Prof: I see Open addressing, also called Open Hashing, but where’s Closed Hashing?
Me: I believe that’s what Seperate Chaining is sir
Prof: No
Me: I’m pretty sure it is
*Class nods and agrees*
Prof: Oh never mind, I didn’t see it right
Get another 4 slides in before:
Prof: Stop! Go back one slide
Me: .......alright *click*
(Professor loses train of thought? Doesn’t mention anything about this slide)
Prof: I er....um, I don’t understand why you decided not to mention the other, er, other types of Chaining. I thought you were going to back on that slide with all the squares (model of hash table with animations moving things around to visualize inserting a value with a collision that I spent hours on) but you didn’t.
(I haven’t finished the second half of my presentation yet you fuck! What if I had it there?)
Me: I never saw anything on any other types of Chaining professor
Prof: I’m pretty sure there’s one that I think combines Open Addressing and Separate Chaining
Me: That doesn’t make sense sir. *explanation why* I did a lot of research and I never saw any other.
Prof: There are, you should have included them.
(I check after I finish. Google comes up with no other Chaining collision resolution)
He docks me 20% and gives me a B- AGAIN! Both presentation grades have feedback saying, “MrCush, I won’t go into the issues we discussed but overall not bad”.
Thanks for being so specific on a whole 20% deduction prick! Oh wait, is it because you don’t have specifics?
Bye 3.8 GPA
Is it me or does he have something against me?7 -
I am wondering how a #FunctionalProgramming based implementation of a Binary Search Tree would look like?
Has anyone tried it?11 -
You want me to be an expert in advanced data structures, algorithms, dbms, Oracle, python, machine learning, J2EE just to develop apps for you? If I had been a master of all trades, I would not have come to you in the first place.2
-
Don't you guys think we need live programming?
Like a development runtime, instead of doing this whole file based development thing? We edit files, and then run them, why aren't we just running a program constantly and editing it as it runs? It would let us inherently take advantage of concepts like objects and lists instead of having to build plugins that analyse and modify our files to sort of act like complex programming data structures.
If we just programmed using these complex data structures to begin with.
Like do you realise how antiquated the idea of a file is, and folder, that's literally a paper based analogy.
Imagine if we just had objects, with pointers and property names, the best we have is ln -s file1 file2 but that's not a real pointer.
Anyway, hope someone understands me!
I'm writing a medium article called a world beyond files but I'm stuck at how low level to go and who the audience of the article should be.
I went really in depth into what this idea of an "object" is, and how it can be expressed in a file but once a program picks it up it becomes much more and almost alive.12 -
Me(the first day fo spring semester): Data Structures and Algorithms shouldn't be too hard of a class! This will be interesting!
Me(a couple days into class): I don't understand anything she's saying and the programming problems are in some pretty rough English...why me?!?2 -
Hey guys and girls, quick question.
Im currently writing my own collection-framework in Go.
It has a Collection-Interface, that looks like this:
Clear()
Size() int
ToSlice() []interface{}
Add(...interface{}) error
Remove(...interface{}) error
Contains(...interface{}) (bool, error)
The library should also contains stuff like stacks and queues, so datastructures, that dont fit that interface perfectly.
So should i write a weird implementation of the interface for them, like Remove for stacks (high pitched internal screaming), or should i just say fuck it, and dont implement the Collection-Interface for these specific types ?3 -
One problem for CS education is that the salaries for academia are so low compared to industry that if someone is even vaguely competent, they can at least double their income by working a 'real' job. Now this may be different at higher levels of colleges but generally those folks are such bullshitters they wouldn't last outside of academia.
As what to improve?
Depends if it's a research or vocational course.
For vocational; heavy on group projects, common tools, methodologies and architectures. All demonstrated in something like c#/java/python. And one project must have a web app (db, app layer and JavaScript from end)
Basic knowledge of algorithms, runtime analysis (O notation) and some data structures and you're an instahire.
For research, go wild. Deep dive into the math, algorithmic side. Read up lots of research papers. Try out different programming paradigms. You would aim for a career in academia, AI, quant finance etc...2 -
~learn react enough to make a full-stack web app
~learn Flutter
~get good enough at data structures and algorithms to pass a fucking coding skills test -
!rant
I've always been wondering why do tech companies need everyone to have a strong grasp of algos and data structures?
I've been coding most of my life but didn't get a CS degree so ended up in IT but I kind of want to get into a tech company as my thinking is the quality of code much higher (I spend a lot of time cleaning up other people's code and prod issues over the years...), I've been learning Algo/DS but when I see those technical questions on CareerCup, I go WTF.... it's this the kind of problems you guys do every day?6 -
Help. I work with a guy who really wants to learn programming (he’s sales/support rn) and is even taking some courses on it. He seems eager enough to learn, the problem is he is just so fucking stupid I don’t know whether to encourage him or level with him.
He somehow managed to pass a course on Java (which I still don’t believe since I had to help him put his lines of code in the right order ffs), but now he’s signed up for C++ and data structures and I honestly don’t know how he’s going to do it.
This is the type of guy who loves “coding” but thinks debugging is a waste of time.
Normally I encourage anyone who wants to learn programming do so, but let’s be honest it does take a modicum of intelligence and this guy has zero common sense at all. We’re talking about a guy who sent me a *screenshot* of an Excel file that I needed to copy some activation codes from. And then had absolutely no idea what was wrong when I replied “are you fucking with me right now?”
*sigh*
And that’s not even scratching the surface. I sent him a zip file containing some updated code and walked him through how to update them on Slack (really basic, copy/replace files stuff). Then the VERY next day when I sent him a second update he asks “is there something you want me to do with this?”
The instructions were literally the last thing we talked about in the chat log.
I actually fear the stuff this guy would unleash upon the world if someone were actually able to teach him how to write a whole program.
What should I do? Right now my plan is to be vaguely supportive but secretly hope he will realize he’s in over his head and drop out before any damage is done. But my worry is he may just be SO dumb that he actually thinks he can do it. At that point I guess I just have to put my faith in his school and pray that they aren’t just giving degrees away to whoever can afford them. Because fear the day this guy ever gets a degree in programming.9 -
(a question)
so in my city there's an opportunity for some
tech university students to attend extra programming classes for a year (12 hours/week). they'll teach many things: (advanced) data structures, databases, oses, computer networks, compilers, making games, data analytics etc. is it worth attending or i should just write down those topics in a to-do list and learn them by myself? i've never attended such courses so i don't know if they are useful or not. thanks for taking the time to read this :)6 -
How can Javascript, one of the MOST WIDELY used and MATURE languages with A MILLION CANCEROUS FRAMEWORKS, NOT have a basic collections class? Are data structures not important in Javascript?
I've been struggling all night trying to get Sets working - surprise, they're utterly useless in Javascript cause you can't define the set comparator.
I just lost it when I found out THERE ISN'T EVEN A QUEUE. WT-ACTUAL-F15 -
What do you guys think about people who call themselves programmers after learning few technologies from Onlinecourse’s . I don’t want to call someone programmer who doesn’t know very important and useful concepts called data structures and algorithms.2
-
never before have I been happy to be asked to work overtime, but for once, fuck yeah...
Bit of back story, I am tech lead on a massive project that has been run like a complete shit show, the PM who also happens to be the brains behind the project seems to think we are miracle workers and for the first 9/10 months of the project would make significant, like delete a weeks worth of code and start over changes, 3-5 times per week. There are features for the v1 release that have been built in excess of 5 times. I have been saying since October that even without all his constant changes, we will NOT make the deadline, and naturally as is part of my job I argued against every unnecessary feature he tried to implement, eventually he pulled me into a meeting to tell me how much he values my opinion, I need to stop arguing with him and he does not want to work with yes men (I have a rant about that convo already).
I believe our CEO finally started smelling a rat as he insisted on joining our daily stand-ups, during which said PM scripted some lovely stories to disguise the fuckup we are in, and since has assigned another PM to take over and do proper project management and risk analysis.
That is where the email comes in, a lot of the work assigned to me will miss the deadline by a month, honestly I am impressed that it is by so little and so few people will not be missing it, but anyway, he probably spun a few stories there too.
So I spent part of the work compiling the most perfect surgical response as not not actively throw him under the bu, but create a quite a few questions that they hopefully as, as himself and the CEO where cc'd into the mail.
And the jist is, the deadline itself was still impossible and 8 of the 10 tasks assigned to be have ZERO back-end whatsoever, and those tasks are about 80/90% integration to said non-existent back-end, some of those services and data structures have not even been planned yet and we are a week past the deadline and 3 weeks from the just as useless extension. -
Teach data structures by showing how they're used in real life situations. Don't make us do some nonsense puzzle shit. For example, a friend of mine is learning stacks/queues right now and his assignment is to build a simple HTML parsing algorithm to determine whether an HTML file is valid. This shows the student a practical use of the data structure and reinforces that this shit actually does get used in real life.
-
I hated everything about college and the archaic mindset every professor had regarding programming. But there was one thing my most hated professor said that really hits home today.
We were struggling through double linked lists with classes that month and almost the entire class was throwing a fit over it and the tasks assignments.
The professor finally was fed up and said "If you do not get absolute enjoyment out of dealing with various dimensions of data and the complexities that surround them, you will never enjoy your job as a programmer".
In web development we think theres a possibility that we will not deal with most of the BS we dealt with in our data structure classes. Ohh so wrong. I dont think Ive even had one SPA framework yet that has not required a ridiculous amount of deep structures to function accordingly.
And if your not diving deep within your component then your only passing the structure down into another component to do more structuring on it in attempt to abstract some of the complexity.
Very quickly I realize that im essentially building (in some way or another) links lists of data flowing back and forth, just on a much more complex level.
So i guess not all schooling is so badrant data structure spa c+ js c fuck school fuck school though self taught double linked list single page application7 -
You've got the perfect architecture lined up, a great idea about how to transition and you're about to start refactoring. Then it hits you. You've got 10 clients running your code in production and you'll have to migrate their data to the new structures, from the blob to each new microservice datastore. For each release. FML.1
-
Hello.
I am a student of Computer Science Engineering (Bachelor of Technology). I am 3 years into this 4-year course. I am strong in Data structures and Algorithms, and passionate to add more stuff to this list.
I am really done with this University coursework, and want to explore more (specifically, want to do something that is practical, and matters). I, obviously cannot leave the Uni, but I want to make my time at home more productive. Not just to me, but everyone.
But:
1. I don't know where to start.
2. I teach myself everything, and hence, there is much difference between what I know and what people need, and I'm kind of scared of ruining/wasting other's time.
If there is someone out here who has the time out of his/her busy schedule to guide and set me on a path, please do help me. It's getting weird in my head.
Languages I know: C(took a 1-year course), Python, JavaScript [learning JAVA], Oracle, Visual Basic
Things I have done before:
* Developed a fullstack website for Indian Railways (going live in May 2019) [used Python for back end]
I have a sincere need from within to do this, and I am going to learn whatever more I need to, in order to fulfill your requirements. Please just show me WHAT and from WHERE.
Kindly do get back.3 -
After 5 frustrating days, I have my laptop running again. Just in time for a data structures and algorithms exam.
TL;DR: driver issues aren't fun.
It all started on Friday, after the creators update. I was doing notes on lectures, and Windows crashed. I thought not much of it, it was just a "random" crash. I'd gotten a similar crash before, but I didn't think anything of it. This time was different, again it was my touchpad drivers that caused the issue, but this time a restart didn't work. I couldn't boot into Windows. I had to roll back to the last recovery point, effectively undoing the update.
This was fine, and fixed the issue, until Windows automatically updated my touchpad again, after me previously changing the driver. Another restart later and I couldn't boot. Time to roll back to recovery, right? Wrong. My drive had somehow, corrupt most of the Windows files.
And so, starts the journey of dismantling my laptop, changing the hard drive and putting it back together, a process that took 3 days due to not having the correct tools originally, and a late delivery.
(I could have rolled back to my backup system image, but that was before the creators update, and would have essentially postponed the issues I was having)
Finally, I managed to get Windows loaded from boot media (thankfully, they seem to tie your Windows licence to your account now) and am currently in the process of regaining all my lost files (which I have to pull from a system image, so it's a lot of digging through compressed files).
On a positive note, things are running well, and the faster hard drive (7200rpm vs 5400rpm) is a nice upgrade. And the touchpad drivers (the same one that kept crashing) haven't caused any problems since.
Now at least, I can get back to programming :D2 -
This was in 1st semester and our CSE course went under some major course revision. Python was to be taught in place of C. Now the professor we had was very famous and we were excited to be in his class. But little did we knew he had no knowledge of Python at all. He used to tell the lab assistant to teach.It was so bad that I lost all interest in programming!!
But we all studied python later in our winter holidays for further courses.
Next semester we had OOP and this is what happened:
1st lab:
Professor(different): I expect you have basic knowledge in programming so I have uploaded.
Every question was related to structures in C.
In the same semester, we had data structures where we were 'expected' to know C or C++.
Later we came to know that Python was not going to be of any use in any course ! First semester went into dustbin.
/*
It was pretty long rant. Hope you didn't get bored :P
*/ -
Recipe for reverse engineering data structures / binary formats:
1℅ understanding the theory.
1℅ expections about what you will find.
3% luck.
45% trial and error.
50℅ persistence.2 -
Got rejected in an interview today, because I lack knowledge in Data Structures and Algorithms. 😔😞
I guess I'll have to bursh up my Algo skills again.3 -
Damn. I am so blessed to have friends that i have. 90% of them don't even care if you live or die (60% of them would be the first to throw me in fire if that's benefitting to them) remaining 10% would be someone that slightly care, but will move on pretty quickly.
But the best thing about 1 of them is that he is bluntly honest , and willing to share his opinion.
Today we were just talking about stuff when i see this placement offer in my mail.
I have been recently feeling bad about my grades, my choice of persuing android , my choice of leaving out many other techs (like web dev or data sciences , whose jobs are coming in so much number in our college) and data structures, and my fear of not getting a good career start.
This guy is also like me in some aspects. He is also not doing any extreme level competitive programming. He doesn't even know android , web dev, ai/ml or other buzz words. He is just good in college subjects. But the fascinating thing about him,is that he is so calm about all of this! I am losing my nuts everyday my month of graduation , aug2020 is coming . And he is so peaceful about this??
So i tried discussing this issue with him .Let me share a few of his points. Note that we both are lower middle class family children in an awful, no opportunity college.
He : "You know i feel myself to be better than most of our classmates. When i see around , i don't see even 10 of them taking studies seriously. Everyone is here because of the opportunity. I... Love computer science. I never keep myself free at home. I like to learn about how stuff works, these networking, the router, i really like to learn."
"That's why i dont fear. Whatever the worst happens , i have a believe that i will get some job. Maybe later, maybe later than all of you , but i will. Its not a problem."
me: "but you are not doing anything bro! I am not doing anything ! So what if our college mates suck , Everyone out there is pulling their hairs out learning data structures, Blockchain, ai ml , hell of shit. But we are not! Why aren't you scared bro? Remember the goldman sach test you gave ? You were never able to solve beyond one question. How did you feel man? And didn't you thought maybe if i gave a year to that , i will be good enough? Don't you too want a good package bro? Everyone's getting placed at good numbers."
Him : "Again, its your thoughts that i am not doing things. I am happy learning at my own pace. Its my belief that i should be learning about networking and how hardware works first , then only its okay to learn about programming and ai ml stuff. I am not going to feel scared and start learning multiple things that i don't even wanna learn now."
"My point is whatever i am doing now, if its related to computers , then someday its gonna help me.
And i am learning ds too , very less at a time. Ds algo are things for people with extreme knowledge. We could have cleared goldman sachs if we had started learning all this stuff from 1st year, spend 2-3 years in it and then maybe we could have solved 2 -3 questions. I regret that a little, but no one told us that we should be doing this."
"And if i tell you my honest thoughts now, you ar better off without it. You are the only guy among us with good knowledge of android , you have been doing that for last 2 years. Maybe you will get better opportunity with android then with ds/algo."
"You know when i felt happy? When we gave our first placement test at sopra. I was thinking of going there all dumb. But at 11 am in night i casually told my brother about this ,and he said that its a good company. So i started studying a little and next day i sat for placement. And i could not believe myself when they told me that am selected. I was shit scared that night, when my dad came and said " you don't even want that job. Be happy that you passed it on your own". And then i slept peacefully that night and gave the most awesome interview the next day."
"Thus now i am confident that wherever my level of skills are, it is enough to get into a job . Maybe not the goldman sachs ,but i will do well enough with a smaller job too."
"Bro you don't even know... All my school mates are getting packages of 8LPA, 15LPA, 35LPA. You see they are getting that because they already won a race. They are all in better colleges and companies which come there, they will take them no matter what (because those companies want to associate themselves with their college tags). But if worst comes to worst, i won't be worried even if i have to go take 4lpa as job offer in sopra"
Damn you Aman Gupta. Love you from all my heart. Thanks for calming me down and making me realise that its okay to be average3 -
Hello everyone !
I am a self taught programmer. Currently in last semester in electronics engineering. I want to become a software developer but can't decide the right career path for me to take. I like back end, Android, Data structures and algorithm, Parallel programming, Machine learning and computer vision, and even security. I am afraid I will remain the jack off all trades and won't be the master of any. This way I won't be doing any good in my career. Any advice as what to do ?7 -
Playing pokemon. I'm extremely into the series and played nearly every gen since the first ones. Even bought the cheap 2ds just to play these 3ds versions even tho i got acutally no time during exams and sometimes even played the different editions of the same gen just because i can.😅
And I have the habit to think about "how is it done?" With everything that is displayed on a screen or just blinks. And with 800 pokemon and their stats and subforms and IVs and all that nerdshit (back then compressed in such a small rom and running on pretty low end devices) i began to think about data structures, organization of them and such, especially when there are many big, wide datasets.😪3 -
So, our university has this something called "E-LAB", a portal where students copy and paste codes from hacker-earth, in order to get marks in their internals.
The fun part is, the questions in our online portal are itself copied from hacker-earth, and other technical platforms.
And even funnier, our faculties can't solve a single problem, and they expect us to do, 80+ out of 100.
I mean, WTF!!!1 -
When I started uni and I took my first programming subject (Data Structures) I hated it as much as I could. My teacher was a complete @$$hole, he wasn't good at teaching, and most people were failing the subject. When I finished that semester I swore I would never be a programmer...
11 years later and I have a Master's in IT and have been working as a Software Engineer for 6+ years. #life
I wish I had a better experience learning the basics1 -
Best way to deal with office politics?
As background: we have our own implementation of some C++ data structures, including an "Array" class (basically the same as std::vector).
A few years ago, the senior guys on my team refused to add new features to it for (seemingly) no good reason.
So senior guys from another team added the features anyways, in THEIR repo.
My team couldn't stop them, but refused to allow the new features in OUR repo, so now our Array is split between two repos for no good reason 😢.
Two years later, here I am, hoping to clean this up. As far as anyone knows, there's no good reason to have it split up like this.
How do i convince my team that we should move the code to OUR repo where it belongs?7 -
I learnt Java in 2 months from 0 (or 0.005), a year before going to college. (the full experience™️; not just String, while and sysoCtrl+space)
On "Data Structures and Algorithms" class, the teacher says something like "usually OOP takes like 2 years to learn completely".
Me in my mind: "Aaahh I'm so proud of myself. *selfhugs*"
Of course I knew the teacher was exaggerating but even if she doubled what she thinks, I still was in the cool range. B|3 -
#wk6 coolest bug: it was first year CS and we were learning data structures. the assignment was a maze solver using stacks. I couldn't figure out the issue I had and went to sleep. my dream that night was in code (one of a few times it's happened) and I woke up mid-night and typed it in and it worked. slept like a baby after that.
-
Not so much a problem with the way CS is taught, but I think it's a problem that a lot of people put emphasis ONLY on programming (and maybe data structures and algorithms) and ignore things like Computer Architecture or Theory of Computation.
Most of the CS syllabi I've seen are built very well, but many students (and some teachers) seem to ignore a bunch of subjects because they don't contribute to making them "hireable". -
Well Its internship season in the college now... I am a developer and companies will come and wont even look at us(the devs) .. Because apparently all they want is data structures(sigh)... What should I do?? ?6
-
What do you guys think about competitive programming, how does it impacts your programming in the long run?
I feel depressed when I take more than enough time to complete a competitive programming challenge marked as "Easy". 😥1 -
TL;DR: What do you hate about the current interview process for software dev positions?
I have been reading interview related posts on reddit and other places and I have noticed that there is a lot of hate, especially from more senior devs, towards the typical software dev interview pattern i.e. the one focused on algorithms and data structures and I don't understand why. The current methods may be far from ideal but I think they do a good job of eliminating the false-positives. Plus, I can't think of a better alternative. Sure, by using current interview methods some good devs might get rejected because they haven't used/needed/studied many algorithms and data structures after they left college, but for any big company that gets thousands of applications every year, that wouldn't be a big issue compared to the negative impact a false-positive may create. I am still in college so I maybe biased, I would like to hear your thoughts on this.9 -
1. Teach DS and Algos. Not basics but advanced data structures and the ones that are recently published.
2. DBMS should show core underlying concepts of how queries are executed. Also, what data structures are used in new tech.
3. Teach linkers, compliers and things like JIT. Parsers and how languages have implemented X features.
4. Focus on concept instead of languages. My school has a grad course for R and Java. (I can get that thing from YouTube !!)
5. Focus a little on software engineering design pattern.
6. It's a crime to let a developer graduate if he doesn't know GIT or any version control. Plus, give extra credits for students contributing to open source. Tell them if they submit a PR you get good grades. If that PR gets merged bonus (straight A may be ?)
7. Teach some design pattern and how industry write code. I am taking up a talk at school to explain SOLID design pattern.
Mostly make them build software!
Make them write code!
Make them automate their homeworks!
Make them an educated and employable student.!1 -
Algo question: Tree data structures while drawn as Nodes with children, are usually better implemented with (resizable) arrays?34
-
Just bombed my first quiz in Data structures & algorithms on induction. Fuck.
And the midterm is a week from today.3 -
I've been given a huge stack of paper, some users stories and loose specs. Was tasked with engineering the specific requirements, then the models and finally the database. Then I need to build an API on top of that.
Stuff I'll use is Go and Postgresql. Small issue is, I've never done DBs, so I've no idea what to do or where to start.
Does anyone have any resources to help kick-start myself in this field? I've been reading on SQL, but that doesn't really tell me anything about data structures and how to transform those user stories into product requirements.6 -
Competed in my first Competitive Coding contest on Codeforces. I could barely solve 1 question, and even in that I couldn’t got error in some pretexts. Still I was satisfied that I got the algorithm right.
But how the fuck are the top coders reading the problem and submitting the solution within 3 minutes !4 -
i wish i had no university classes (or at least, only programming classes) so that i could learn more about different technologies and had more time to code :(3
-
My first series... now off to work. Let me know your thoughts and if I'm right... or way off
“What I Learned From Studying Algorithms and Data Structures (AlgoDS 1)”
https://medium.com/@allanx2000/...3 -
Hey DevRant!
Not really a rant but a question:
I just got accepted into a coding bootcamp. Have any of you been involved in one? How was it? What would you do to make it a better experience throughout? Any advice or suggestions?
It's full time, six months long and I start in October and I want to make sure I make the most of the experience and absorb as much as possible.
I'm super happy that the course appears to be less just learning JavaScript and more involved in the Computer Science side of things, even including bits about C/C++, distributed systems, algorithms and data structures, software design/testing, cryptography, database management, and computer architecture. It also, of course, covers tons of resume work, interview practice, and networking.
Thanks!5 -
Oh god, structure alignement, why you do this... You might be interested if you do C/C++ but haven't tried passing structures as binary to other programs.
Just started working recently with a lib that's only a DLL and a header file that doesn't compile. So using python I was able to use the DLL and redefined all of the structures using ctypes, and the nice thing is: it works.
But I spent the whole afternoon debugging why the data in my structures was incoherent. After much cussing, I figured out that the DLL was compiled with 2 bytes packing...
Packing refers to how structures don't just have all the data placed next to each other in a buffer. Instead, the standard way a compiler will allocate memory for a structure is to ensure that for each field of the structure, the offset between the pointer to the structure and the one to the field in that structure is a multiple of either the size of the field, or the size of the processor's words. That means that typically, you'll find that in a structure containing a char and a long, allocated at pointer p, the double will be starting at p+4 instead of the p+1 you might assume.
With most compilers, on most architectures, you still have the option to force an other alignment for your structures. Well that was the case here, with a single pragma hidden in a sea of ifdefs... Man that took some time to debug...2 -
I started learning Golang, at first sign I like it since I came from C++ background so seems very friendly at first sight.
Yesterday I took some time to read algorithms and data structures book and some patterns of language looks quite different for me anyway.
Someone has a good detailed explained book, tutorial or whatever for Golang to share?
I tried the documentation but I didn't understand it too much, looks very advanced for someone is newbie on the language.12 -
Data Structures professor enters class, today's topic being RBTs. He opens slides, forgot to redact the name and university from where he blatantly copied it from. Continues anyways. *Facepalm*6
-
I actually do have something to rant about!
The people I've decided to work with... are complete and utter fools. They don't want to keep updated with new practices and merely talk about awesome stuff... Let me elaborate.
The first person is someone I spent really many hours just writing with, I've helped him build on his personal project, which has now become our project (which I've done most of the work on now). He keeps writing about things that aren't fucking relevant for the current task - furthermore, he completely refuses to use any type of collaboration software in order to keep an eye on tasks we want to, and already have completed. He likes Git but doesn't provide helpful git messages, sometimes even stuff like 'forgot this'.. never any freaking description of what's actually been done! Not even after agreeing it should be done, he just doesn't understand what a helpful message is apparently.
I might be a bit special regarding wanting to follow practices, but how the fuck do you make any amount of money by being so ignorant!? He was a WP 'developer' a while ago, and has since changed to JS and are using a framework which he doesn't understand - he can't even remember what the documentation states.
So why do I 'work' with him? He knows a lot of phrases he's read in books, blogs, and the likes. That makes him really inspirational and positive and he really wants to become successful(like me!). But over the last few months, I've realized how bad he is at programming - he doesn't know basic programming concepts and have a hard time applying any sort of knowledge to his programming. If it's not pre-built, he can't use it, not even if the documentation has specific examples. He barely grasps the concept of binding data to a variable. He wouldn't know how to access it again though, it's just for the sake of binding it to some existing functionality.
The other guy really likes his old style. He hired me to maintain some application. Which has turned out to be a hell of several small tasks he needs to be finished or reworked - with no clear definition of the task. Most of the time, he'll do some initial changes, show the changes to me, vaguely explain what they do (not what he's trying to achieve) and first THEN ask me to do these changes, most often in some files that don't exist (he uses the wrong filenames so I have to guess/ask where the changes need to be made).
To top it all off, old syntax is used and don't get me started on the spaces+tabs for indenting lines... Because I've already added a great ESLint+Prettier conf and everything should be nicely formatted according to pre-defined rules.
But he won't take the time to install some plugins in his editor and I'm left with sometimes buggy, badly formatted code (the code I have to make changes with!) - that's while he several times have agreed that I can do what I want and that he even questions his own ways when looking at my changes which he calls by-the-book.
So why the motherfucking fuck do I keep working with him?
Well, he keeps paying so that's really nice - I haven't been able to properly execute the bigger tasks(which pays more) though, due to a lack of information or some badly written code I couldn't quite figure out how works (at a glance).
He also keeps talking about these new projects he wants to make.. he even has these freaking papers with descriptions and data-structures and we converse really good about these new awesome projects. He also likes cryptocurrencies(which is an interest of mine he has inflamed quite a bit) and lastly, he seems like a genuinely nice guy who I'd like to spend some time with even besides coding and work.
So now I stand here - stuck with people that make me feel like a demi-god or something because I use a git style-guide and ESLint+Prettier with the Airbnb style-guide.
What should I do? I'd really like some remote work and have a desperate need for money... So much so, that I might even have to pick up a fulltime job, in order to save my sorry ass - all because I like speaking with people who just like the thought of programming...
I'm actually quite lonely with my thoughts and they are the two only people I've had some sort of relationship with - who has an invested interest in programming/dev... I really like that, despite having to follow their thoughts as they surely can't follow mine.
Please be my friend or give me some paid work lol.
Also, I've been moving the last couple weeks - those weeks has been the most stressful of my life and have not contributed to my overall wellbeing and relations with people... It's good to be back at the computer again and be reading some devRant though!1 -
For fucks sake we enforce monolithic design these days (even putting 5 different languages in one component-file) but not a single fucking tutorial, idea, design hint or article about how to put the fucken backend in that project, too.
The data structures used by front- and backend will be the same, do I really need to setup another oversized webpack buildchain, containing 90% the same sources to have my backend development in a different repo?
what the fuck.2 -
I need cyclic data structures but algebraic data types are my first love and tying the knot is impossible with the eagerness F# has. The interfaces and classes I abandoned C# for are the ones I am now writing in F#. What a job well done on my part in avoiding mutability :(6
-
Just got absolutely fucked by my data structures mid term. How am I supposed to do well on the mid term when its almost completely different than the study guide? I know its supposed to be a hard class but atleast give us a study guide that is parallel with what is on the actual test fucking hell3
-
tl;dr i am proud of my universal program but annoyed it won't get appreciation.
<brag type='slightly'>the last three days i refactored my various snippets to a kind of modular and scalable software package. restricted to a rigid company system i make use of the technologies i feel confident in. so i created a javascript app that can be used with internet explorer. it is a neat tool to work smarter and mainly to make repetitive writing tasks efficient using predefined textblocks that have automated linguistic adjustments and are multilingual usable. after refactoring it is possible to extend any desired functionality by just adding another module. i learned a lot about implementing separated data structures, data processing, output and asynchronous script loading (and the annoying limitations of ie11).</brag>
i kept in mind that this tool might not only help my personal duties to be done more efficient but also might come in handy to all my colleagues having similar tasks to do. the downside is my colleagues having irrational computerphobia and i know for sure they will proceed to do these repetitive writings manually resulting in inconsistencies and an inefficient time management. while my wise wife tries to convice me that at least i had fun coding this stuff and having it supporting me with annoying tasks, it still bothers me being the only user, as it means no progression for the company. it riddles me how the colleagues, acknowledging us all being craftspeople in the first place, avoid use of computers whenever possible and rather rely on medieval working flows.
i find it quite amusing to be the 'can you fix my printer'-guy, but i just cannot handle this attitude. and everyone complains about having so much to do. get your shit together and start clicking these few buttons goddammit! -
The spanish word for queue is "cola" wich is a synonim for ass, so putting things in a queue can have some unintended meaning here.6
-
I think professors should relate computational processes to mathematical ones more often. This helped me out at the beginning a lot when learning CS through the internet during high school.
I remember that a lot of the computational logic made sense to me because of math.
e.g. functions, comparators, variables, for, and, xor, sets, trees, sorting, searching etc.
A lot of these topics are hard to teach for beginning computer scientists. But I think if professors made the relationship with math from the beginning it would be easier for the students
I dont know if teachers already do this but the first time I had a professor relate math to code was while taking data structures in my second year of college1 -
This is more of an essay than a rant. TLDR at the end. I simply can't choose from all the shitty lecturers I've had, so I'm going to have to go through them one by one. But of background. I'm currently in 7th year of college, I did a multimedia degree in 2 years, a intro course to Software Dev and I'm currently in my final year of my Software Dev degree. So let's start.
Intro Software Course
- we had a database module, which was thought by, I shit you not, the head of the psychology course in the college, she attempted to teach us Databases using access. And not even using SQL, using access GUI components and it's query builder. Need I say more?
1st year software dev
- We had a networking module, the guy that taught the labs, he literally didn't say more than 12 words the entire 12 week semester, his answer to any question you asked him was a grunt and "research it"
- We had a psychology module, I have no fucking idea why, but instead of learning something useful we were told to read this and get in touch with your feelings...
- database module. Yes we actually did SQL here, 12 weeks of select statements and normal form, talked about by a guy in a monotone voice, who sounded like he was contemplating bringing in an assault riffle some day. Also instead of using MySQL he decided to use Ingres. Why I will never know.
2nd Year Software Dev
- We had a module called Algorithms and Data Structures. The lecturer gave us problems she couldn't solve. Simple problems. She was also crazy. Absolutely nuts.
- Object Orientated Programming. I had this lecturer for 3 semesters up until 3rd year. This guy did COBOLT in college, graduated in the 70s or something and went straight into teaching, he taught us Java for nearly 2 years. He literally copied and pasted texts from PDFs and read through them in class. He told myself and another guy at one stage he really didn't care, and was just counting down the days to his retirement.
- Databases again, different lecturer from 1st year, taught us for 2 semesters (24 weeks) and somehow managed to teach us nothing.
3rd Year Software Dev
- software engineering.. This is where the biggest cunt I've ever met was introduced. He arrives into class 15 minutes late every time without fail, talks shit about stuff that has no relevancy to the topic at all, tries to turn everything into a rugby metaphor and every time you ask a question he somehow dodges it and swiftly changes topic. This cunts past profession? A Project Manager. Fucking typical. This dickhead has also thought me 2 other modules.
4th yr Software Dev
- El cunto mentioned above for 2 more modules. Need I say more.
- real time systems, this module took the piss, the module was written by the lecturer which is what earns his space here. Assignments given to us, which required more time to do than we had in labs so we had to work at home, the problem we that is we were using an obscure RTOS called OS9 which would only work on the college computers. When brought to the lecturers attention he just said "figure it out"
Internet of Things - There was 2 lecturers, each lecturer seemingly working off a different plan, one week you'd have one lecturer, the next would be the other one going on about something completely different and unrelated to anything else we'd done.
Some lecturers didn't even make this list as I couldn't be bothered trying to think back about how shit other ones were. These were the ones that always stood out in my mind.
My main take away point from this is that you go to college for the paper which says you have a degree. Learning things that are going to benefit you in a career is up to yourself.
TLDR; 90% of my college lectures were shit. You need to learn useful stuff yourself. -
tl;dr
that moment was a full semester
full
I was an Electrical Engineering major taking a Data Structures class and for the first time, I understood the title computer SCIENCE. In EE, you just blueprint all day long, but you never build anything. In CS you build and blueprint at the same time.1 -
Can anyone help me with this theory about microprocessor, cpu and computers in general?
( I used to love programming when during school days when it was just basic searching/sorting and oop. Even in college , when it advanced to language details , compilers and data structures, i was fine. But subjects like coa and microprocessors, which kind of explains the working of hardware behind the brain that is a computer is so difficult to understand for me 😭😭😭)
How a computer works? All i knew was that when a bulb gets connected to a battery via wires, some metal inside it starts glowing and we see light. No magics involved till now.
Then came the von Neumann architecture which says a computer consists of 4 things : i/o devices, system bus ,memory and cpu. I/0 and memory interact with system bus, which is controlled by cpu . Thus cpu controls everything and that's how computer works.
Wait, what?
Let's take an easy example of calc. i pressed 1+2= on keyboard, it showed me '1+2=' and then '3'. How the hell that hapenned ?
Then some video told me this : every key in your keyboard is connected to a multiplexer which gives a special "code" to the processer regarding the key press.
The "control unit" of cpu commands the ram to store every character until '=' is pressed (which is a kind of interrupt telling the cpu to start processing) . RAM is simply a bunch of storage circuits (which can store some 1s) along with another bunch of circuits which can retrieve these data.
Up till now, the control unit knows that memory has (for eg):
Value 1 stored as 0001 at some address 34A
Value + stored as 11001101 at some address 34B
Value 2 stored as 0010 at some Address 23B
On recieving code for '=' press, the "control unit" commands the "alu" unit of cpu to fectch data from memory , understand it and calculate the result(i e the "fetch, decode and execute" cycle)
Alu fetches the "codes" from the memory, which translates to ADD 34A,23B i.e add the data stored at addresses 34a , 23b. The alu retrieves values present at given addresses, passes them through its adder circuit and puts the result at some new address 21H.
The control unit then fetches this result from new address and via, system busses, sends this new value to display's memory loaded at some memory port 4044.
The display picks it up and instantly shows it.
My problems:
1. Is this all correct? Does this only happens?
2. Please expand this more.
How is this system bus, alu, cpu , working?
What are the registers, accumulators , flip flops in the memory?
What are the machine cycles?
What are instructions cycles , opcodes, instruction codes ?
Where does assembly language comes in?
How does cpu manipulates memory?
This data bus , control bus, what are they?
I have come across so many weird words i dont understand dma, interrupts , memory mapped i/o devices, etc. Somebody please explain.
Ps : am learning about the fucking 8085 microprocessor in class and i can't even relate to basic computer architecture. I had flunked the coa paper which i now realise why, coz its so confusing. :'''(14 -
Dell Summer Internship Experience
Firstly,to be a part of this process it is important to clear the exam conducted by college and according to me it wasn't something which can't be easily achieved so to prepare of this exam stick to basics of all subjects which have been taught so far till semester majorily data structures,data base,Java,C, operating system were asked.Basics of all following subjects should be clear which also going to help during internship.I myself prepared for the test from geeksforgeek.I tried to gain as much as basic knowledge of subjects I can.And after selecting from test you have you go through hackathon on that personally I think one should be prepared with latest demanding skills.Mostly all the hackathon topics were in and around Machine Learning,Block chain,Web development,Databases.So typically should be aware of all these technologies and how this can be used to enhance in project.During hackathon days it is important to be interactive,it is good to clear doubts or explain your idea and how innovative you project is and how different it can be and further keep in mind how your project can be industrial utilized.Try to make your project more in aspect of how industry going to adapt this or how this problem's solution is perfect in every terms for a company.And majorily at last it comes down to how to present your project infront of your panel.I think keep that session as much as interactive you can,try to answer their queries,and most importantly know your part of the project very well on theoretical as well as on code level. At last you have to go through a HR interview in which firstly you have to be prepare with a nice resume in which you to include all your achievement's,projects and most importantly keep it short and simple and include only those things which you are completely aware of.For interview first try to know and learn about company, it's goals,in what field it is presently working and during interview there is nothing to worry about you just have to talk like you are talking with a normal person,express all your views ,try to speak out. Confidence is one important thing for this interview.So this was conclusion of my experience from hackathon hiring process from Dell.5 -
I just learned C and I have created some projects like Parking System and Library Management System. My problem is I don't know mathematics and I want to learn DataStructures & Algorithms and become pro in it. In the whole September I will still be focusing on C and create more projects. I have started learning Mathematics today from High School level to College level. I thik maths will take 1 year to complete. After September in the October I want to start learning C++ and finish C++ till the end of Dec 2019. I want to know that do I have to first finish my maths learning which will take 1 year then I should start learning Data Structures and Algorithms? As I said I want to become a professional in Algorithms. I think its not possible to learn DS&A yet I have to wait 1 year till I finish learning my Maths. I can't do more with C & C++ without knwoing DS&A? If I started learning DS&A with C++ in the future then I can't become good at algorithms? I want to do competitive programming and be at Top 1 of Hacker Rank and other sites like this.7
-
I was always somewhere in the range of not athletic enough to be a jock and not smart enough to be a geek during high school so it left me in a fun little purgatory between social groups. Ever since I was a kid though I saw my cousin make flash games for fun and thats where my interest in programming started but I never really did anything with it.
It wasn’t until I broke a bone during a football game and couldn’t play or workout for 8 months that I started jumping head first into programming and IT WENT DEEP. After tearing through and intro to java book I started reading and watching courses about data structures and learning how to make mediocre apps and games. It was terrible as any beginner usually is but god was it fun.
Then college came around and I decided to major in computer science, got myself a nice starting job at a typical big tech company with an actually decent team to work with and I still have the same love for it all since I started with it. -
!rant
[Update on previous rant at the bottom]
So I had the technical test last friday. I did not try to implement any automated test as it is not my forte.
I had three hours to showcase my knowledge of data structures and OOP so I did that.
The test was somewhat long actually, so I left out one part that I did not have time to implement: validation of input files.
Today I got feedback, everything went well, they liked my code and I only got two negatives: Error handling and automated tests xD
Now I'm going to the second phase: phone interviews and they are gonna asks the whys of my implementation.
I'll have to explain why I did not implement automated tests and the girl on the phone told me "they didn't like it much that you had no tests because tests are very important for us".
I guess I'll have to come clean and say that I'm not very strong on that but willing to learn, so I didn't want to risk it doing something I'm not really good at.
I hope it ends up well.
prev rant:
https://devrant.com/rants/1607302/...5 -
Help needed!
I have learnt the basics of programming languages such as C and Python but have not learnt Algorithm and Data Structures in any exclusive way. Although we were taught little about algorithms in the class. So is it a good idea to learn these topics now from any online courses or MOOCs?4 -
!rant (I got down voted for this on Stack Overflow, so I try to discuss the issue with a more professional crowd.)
In a Software Engineering class, we had an assignment to read Parnas' seminal paper on modularization [0]. In this paper, two approaches of dividing a software into modules are discussed:
Traditional Approach: A flow chart is drawn to work out the single processing steps and the program's high-level flow. Then every processing step is turned into a module. This approach doesn't yield very good results.
New Approach: Every design decision will be turned into a module by the means of information hiding. This approach leads to much better results.
My personal interpretation of the term design decision is that the modules are identified as data structures rather than as processing steps of an algorithm. This makes sense, because data structures are much more suitable for information hiding then processing steps of an algorithm. (The information inside a data structure is hidden behind functions, whereas a function only hides more detailed processing steps and no information; the information is actually passed in as arguments.)
Why does the second approach work so much better than the first approach? Here comes my second interpretation: The single processing steps of an algorithm are not replaceable (and thus not reusable), whereas it's possible to convert data structures into other data structures.
And here's my question: Could that be the reason why software development using workflow engines (based on BPMN, for example) never really took off?
My personal experience is that the activities created in such workflows are hardly ever reused, but there often are big data structures passed around all the involved activities, even if most of the activities use only one or two of them.
My question exaggerated: Could we get rid of all those clumsy workflow engines by giving managers Parnas' paper to read?
[0]: On the criteria to be used in decomposing systems into modules (Parnas 1972)2 -
A wonder happened and I accidentally understood the whole thing about pointers.
Thankfully before the test on Saturday.
Here I come Dynamic Data Structures!5 -
Why the fuck do you ask Data Structures and SQL queries for a Data Science interview?
I feel pity on those companies who evaluate people based on the above for DS position. -
So far I've been pretty lucky... except for the code some of my professors at uni used in their assignments. A couple of them had this horrid habit of giving you a horribly-written, out-of-date (we're talking these chuckle heads used the same code for years on end and wondered why it didn't work on new versions of Java), messy source file with "fill in the blanks" sections like it was some kind of Java Mad Libs book. One of them had an entire jarchive of data structures we were required to use that he'd written in the '90s and NEVER UPDATED. Another one had a script he'd written for his own specialized assembly macro preprocessor that he'd been using without update for who even knows how long. Now, we were using one of those goofy virtual machines with its own simplified assembly language, and we were on the fourth version of the program. This guy'd written his macro processor in Java for the second version, never updated his Java source, only provided a barely-working .bat script for running it, even though the department's official preference was a *nix environment, and implemented this horrid "pretty-printer" that had a regrettable little habit of eating code. You heard that right. You'd run build.bat and it'd expand your macros then send it over to the pretty-printer which would very infrequently just replace the existing program file with an empty file. When we brought it to his attention, he goes "...huh. never happened to me." and proceeded to use the very same set of programs for the next three semesters, even when the assembly simulator was updated again. I heard wails of anguish from the poor sad souls that came after me as their macro processor created program files with deprecated operations, their pretty printer printed out beautiful, perfectly-organized empty files, and the professor responded to every second of a student begging for an updated version with "...huh. never happened to me." I never saw a single bug reported to either of those professors even acknowledged, let alone fixed. Some of the Java Mad Libs were the same ones they'd started using when they first switched the curriculum from Ada to Java. Thankfully after my first year I escaped into the bliss of the next three years, which were full of *nix and C and beauty.
-
Spent most of my time studying algorithms, data structures and other theoretical stuffs in college. But tried to do some web development with heavy frontend for course projects and for fun (beautify my cv as well)
Interviewers: wow, you'r experience quite focused on frontend and graphics
Me: (poker face…)2 -
I acknowledge that I didn't know how to program until I was in 5th semester at my second try on data structures.
God! The best teacher I have ever had, and if it wasn't for her, I wouldn't have learned what I know!
From that point onwards, it was just reading books they way that kept me up.
I know you're not here, but thanks Ms. Juanita 😁 -
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.3 -
I am preparing for InoI( Indian informatics Olympiad ). Any tip would be helpful. I am gonna use Java. What algorithms and data structures should I focus on ?5
-
Begin teaching fundamentals much earlier. For me, I learnt Java classes and some fundamentals for it, but more basic programming skills went by the wayside until 2nd year of Uni.
The course we did on logic was good both years, but stuff like data structures and algorithms (sorting, linked lists etc) should be taught first.
Something else that might be useful is maybe not learning Java initially. What annoyed me with that (and I'm sure confused some people) was the amount of
- "Hey what does that mean?"
- "Uhh, don't worry about it yet"
which while it might encourage you to go read about it, is more likely to encourage the opposite, and tend to ask less questions, even when switching language.
I can't say for other universities, but I think a larger focus should be on gaining skills in the field, rather than becoming employable through doing employability things.
I know plenty of second year students that still couldn't have completed our first semester first year assignment, which was essentially some object manipulation wrapped up in a few classes and a basic console I/O.2 -
Uni::exams
Mid terms starting from tomorrow with two exams every day.
Wish me luck for Data Structures and COAL on first day3 -
“Data structures”... More like “i hate java so much and i am thinking of dropping outta college and live in a cave where i never have to see a monitor ever again.” Am i right?3
-
I had used a computer since the win 3.1 days and I fooled around with VB on win 95 or 98. I didn't know it was going to be my passion until i wrote a whole data structures library in c++ based on my double linked list i wrote for a class. I called it the ETL, for easy template library (like the STL was hard!!). Thats when i knew i had a knack for it and began really learning.
-
I hate data structures. I try to work out their algorithms in my head but they're completely counterintuitive. lol.7
-
so i did this nice tool with data structures, dynamic ui composing, input sanitizing, modularity and scalability with tidy and efficient javascript and useful css.
showing it to my boss: "cool what you can do with html". WAT?
(he is not a programmer but knows i´m into web-programming) -
I'm taking data structures and algorithm analysis class at college but don't know how to study... I need advice, by the way the language we're using is c++9
-
In my university there was a programming teacher who taught the basics "algorithms and data structures". This was the first subject about programming ever.
He mostly just showed us the idea behind each and sometimes showed a slide of an algorithm or data structure in C. He was also supposed to carry out lab classes where he would teach us the basics of C.
Guess what?
He thought that programming could not be taught in class but only self learned... so he didn't do a single computer lab class the entire year. The rate of students who passed his subject the first time was low. We ended up talking to the dean and the teacher was given an assistant for the lab classes the next year. Fun right?1 -
Books.
Do you guys know a good book for professional PHP 7 programming, especially OOP, concepts, design patterns, abstraction, algorithms, security and data structures?
Please not that beginner stuff, I want to dive deeper into PHP 7 😁
Maybe in German or English 😋3 -
That feeling when you are writing code and can't figure out anyway to make it better than O(n^2) and then suddenly you figure out how to do it waaaay better in O(1) :')
-
!rant
C++ / OOP QUESTION
I have a uni assignment / project (Data Structures class), where I have to implement the ins-n-outs of 1D arrays, by creating a dynamically allocated array class, which can accept any type of data (using templates). But there's a problem.
I'd like to implement sorting the elements of the array. But given the fact, that I'm using templates, I cannot treat the elements as integers, nor as strings, or other types...
Also, let's say that the elements of the array are elements of class T, where T looks like this:
class T {
private:
double height;
int age;
string name;
public:
double getH() { return height; }
int getAge() { return age; }
string getName() { return name; }
};
(It's just a random example, pls don't judge for code quality...)
Let's say that I'd like to sort the T elements based on height, print out, sort by age, print out, then sort by name and print out. How can I do this? Is this possible?5 -
So I have come to the conclusion that I need to brush up on my C# stuff. Apparently they implement a bunch of data structures that I am used to coding myself are implemented in C# and I think I lost out on a job because of it. Any suggestions on tutorials and such?1
-
Oh... I dont know what to pick...
So i will pick 3 projects from my 3 stages of my dev "carrier"
1.Right after i discovered programing and learned how ,if, while and similar structures worked. The launguage was object pascal with delphi 2007
That was a "safe" with a stupidly complicated lock (text inputs, sliders, ect) it opened a secret folder in the end.
2. It was a embedded code for a Atmega8 AVR, Atmel studio, pure C but without memory managment (i didnt even know that it even existed)
It was a Pip boy knockoff, 16x2 display and a small keyboard connected to the arduino like board that i made on a proto board.
It wasnt that much of a pipboy, it was more of a showoff of atmega8 internal systems, (ADC, timers, interrupts and such)
3.DataLab, after helping my friend with his master thesis, (we meet on discord long story, i was in high school) i decided that mathlab is shit and i created a visual scripting enviroment, launguage C# .net 4 (in the latest version)
I remade the whole program from scrach 1 time, significantly improving everything (code reuse, better algorithms, data processing, code redability and edge cases) I have learned good practises from everywhere. I learned how to use git.
DataLab project looks just like LabViev (i didnt notice that it even existed...), it is frozen now because of my mental status but im planning on using it on my CV when i will be looking for jobs on holidays. There are many things that i can improve in that program but ... first i have to fix myself. -
I'm all for alternative methods of learning but this post on FreeCodeCamp is total bollocks.
How does someone take and complete a class in data structures in one week?
https://medium.freecodecamp.com/how...5 -
firstly that i relate a lot with insecurities of a lot of people here.
And secondly That i don't know/like js and functional programming, and would be struggling a lot to get a good job.
I once had a choice to choose between trying out native android dev and web dev . I chose the former because i was convinced that i am pretty bad at java(and data structures)
I gave my heart and soul to it . People hate java for its verbosity, but i learned it, looked deep into it , started appreciating it and ended up being addicted to it.
Today, am good at android dev and java, and if given a chance i could spend my life in becoming the best dev in it. But lately i have been feeling a lot insecure about it.
Like recently i started web dev and that's a whole different environment, i am so uncomfortable in it .JS is like a cotton thread and java is like a wire of steel. html,cs and js can build up the whole world of internet, but android can only build a limited number of stuff and is trying to grow its powers.
I wanted to grow with it, but its industry seems to be very small and sharp (sharp as in people building stuff have already grown very knowledgeable and their is a fat chance for truely fresher jobs.) .5 -
Dell Summer Internship Experience
Firstly,to be a part of this process it is important to clear the exam conducted by college and according to me it wasn't something which can't be easily achieved so to prepare of this exam stick to basics of all subjects which have been taught so far till semester majorily data structures,data base,Java,C, operating system were asked.Basics of all following subjects should be clear which also going to help during internship.
I myself prepared for the test from geeksforgeek.I tried to gain as much as basic knowledge of subjects I can.And after selecting from test you have you go through hackathon on that personally I think one should be prepared with latest demanding skills.Mostly all the hackathon topics were in and around Machine Learning,Block chain,Web development,Databases.So typically should be aware of all these technologies and how this can be used to enhance in project.
During hackathon days it is important to be interactive,it is good to clear doubts or explain your idea and how innovative you project is and how different it can be and further keep in mind how your project can be industrial utilized.Try to make your project more in aspect of how industry going to adapt this or how this problem's solution is perfect in every terms for a company.And majorily at last it comes down to how to present your project infront of your panel.
I think keep that session as much as interactive you can,try to answer their queries,and most importantly know your part of the project very well on theoretical as well as on code level. At last you have to go through a HR interview in which firstly you have to be prepare with a nice resume in which you to include all your achievement's,projects and most importantly keep it short and simple and include only those things which you are completely aware of.For interview first try to know and learn about company, it's goals,in what field it is presently working and during interview there is nothing to worry about you just have to talk like you are talking with a normal person,express all your views ,try to speak out.
Confidence is one important thing for this interview.So this was conclusion of my experience from hackathon hiring process from Dell.2 -
So Im still a college student but my worst burnout happened a week before finals this year as a sophomore at DigiPen
On the same week, I had to conduct and submit 10 playtests for my competitive Unity game by Friday, submit said game polished and completed on Sunday, finish and submit my team game project that I've been working on the whole year with 10 other people also on Sunday (which we would discover so many TCR submission issues we ended up finally resubmitting on Thursday the following week).
On top of this I had to write a memory manager for my operating systems class due Thursday, a water retainment assignment involving recursive queues for my Data Structures class due Saturday, and to top it all off that class also had a final Thursday when that memory manager was due :'). I don't know how I managed to get OK sleep.
All stuff was due that week so all game teams could have next week before finals to work on submitting, so some CS teachers also move their finals to before that to theoretically distribute the load (which sucks for people in my major because we're almost a double major for CS and Game Design) However my team wanted to submit early to snatch some bonus points but we ended up having to resubmit late anyways :(. Due to the week of hell we were already burned out when trying fix our resubmission.
I love the school and the people in it but there's a reason why our most heard phrase is "I want to die" and no its not just a millenial thing I swear. -
GitHub is down. Unlucky client, guess I have a *really* good excuse not to push that scope-creeped heap of a new frontend. Because apparently 'those "small changes" you've made to the Sketch file are in fact entirely new uses of the data structures' wasn't good enough.
-
Have at least a year long module on Data-Structures and Algorithms. It is the best thing to do for interviews and helps you think like a programmer im general.
-
Hey, Do you think it's common to get an interview take-home test like this...
Write a Python script that:- Downloads the Equity bhavcopy zip from the above page- Extracts and parses the CSV file in it- Writes the records into Redis into appropriate data structures(Fields: code, name, open, high, low, close)
Write a simple CherryPy python web application that:- Renders an HTML5 + CSS3 page that lists the top 10 stock entries from the Redis DB in a table- Has a searchbox that lets you search the entries by the 'name' field in Redis and renders it in a table- Make the page look nice!
Commit the code to Github. Host the application on AWS or Heroku or a similar provider and share both the links.14 -
I work in a fairly small company which provides services to other small companies. So I get to interview freshers and few experienced people who have worked in other service companies.
Most of them choke on the part where they have to solve problems using data structures.3 -
The NPC has stated that the personal data of atleast 2000 people was leaked after the attacks on the websites of the philippinian goverment on april 1, the data contains; names,adresses,passwords and school data.
Over 7 administrators of schools, universities and other goverment structures have been called out for not reporting on the leakage of personal info on public facebook groups and violaton of the NPC in under 72 hours.
The representatives of the next structures stood before the comission on the 23 and 24 of april
- Taguig City University
- Department of Education offices in Bacoor City and Calamba City
- the Province of Bulacan
- Philippine Carabao Center
- Republic Central Colleges in Angeles City
- Laguna State Polytechnic University
The agency has reported that none of the organisations had notified about the personal info leakage yet.
This is a good reminder that you should inform about security/personal info breaches everyone that might be related to it as soon as possible, even if it seems unecessary. -
Hi guys! We are still searching for another dev to join our team for the hackathon hosted by Deutsche Bank in Berlin (late october). We're currently a team of 2: @ginjikoibito as iOS-/Backend-Dev and me as Designer.
So far the idea we want to apply with goes in this direction: Real-time evaluation of social structures through analyzing wealth & transactions provided by anonymized user-data of the API. It will also incorporate recognizable networks between users.
Sounds interesting? Please leave a comment, we're happy to share more with you :-)2 -
Can anyone help me please?
I am in 7th semester pursuing B.Tech in Computer Science but haven't done any internship and not much familiar with the data structures and algorithm, but beside that I have done more than 40 freelancing projects, certified Redhat system administrator, put a course on Udemy about WordPress and wrote 2 books.
The problem is I am confused whether I should pursue M. Tech or not or should I start competitive programming for the placement in next semester or prepare for internship in the next semester. I am confused between all of these things.5 -
Just got my first technical interview for a summer internship! Now it's time to brush up on data structures and I'll be set :D1
-
When do the front-end developers get the APIs.?
How does the communication between front-end and back-end works.?
I work in a startup and I'm getting the feeling that this communication is way off the place. Many-ier times we have to wait for weeks for the API to come. Till then, we build mock data structures and implement it. The API gives us more and less exactly what we need. And you can guess it sometimes the structure gets changed in such a way our front end code gets to be refactored.
Is it the correct way.? The whole mock data structures and wait for the API thing. One of my colleagues says, "It's much better if we get some part of API first and integrate it progressively".2 -
How many of you have formalized knowledge in computer science theory? Do you find yourself using that knowledge in your daily engineering life? For example, knowing random search algorithms, or obscure data structures. I ask this because of the modern "technical interview" trending towards discrete math instead of actual programming ability. Instead of coding projects I care about or reading research papers, I'm just doing discrete math problems to prep for recruiting. While it's not the worst thing to do I just wish there was a more direct way of interviewing a person's engineering abilities.1
-
Checkout https://github.com/inf3cti0n95/...
Or visit https://sidekik.js.org
I am looking for people looking for open source contribution. For the project.
I am making an Typescript based open source library for Basic Data Structures like Trees, Lists etc. Lodash for Data structures. So that I can be used in projects. I am making it in Typescript. If you are interested in learning and coding data structures, Typescript. Then hop on. Send a PR or Add Issues.3 -
I want to build a program for my projects and generally to organize my different work/hobby related things.
I want to do this in a language I'd have to learn, so far I only know how to write in Bash, Python and JS(Node).
I do however, have some experience with the fundamentals of programming and are very comfortable with data structures.
So far, I've looked at using C or Rust, does anyone have some suggestions? (I've also looked at Electron but it seems too easy for this project)
The current overview of my thoughts for the application:
- Be secure
- Have a UI for visualizing projects
- Hopefully cross-platform (but I only need linux)
- Optimized for speed -
I suck at data structures and algorithm, how can i be good at it? Or maybe i suck at programming in general, i don't know, 2 companies emailed me that I didn't pass their technical exam, I'm disappointed and thinking maybe software development is not for me.3
-
DEVIANTS!! NEED ADVICE...
I have been focusing on learning and implementing data structures and algorithms through participating in competitive programming sites...
Whenever I face an issue and struggle to find an answer (which is more often than not), I ask the forum about the fundamental principles involved in the question...
I avoid looking at the solution, as much as possible.. And, when I do look at them, I still question the author of the code about the reasoning behind a particular section of code which I don't understand...
I don't wish to copy and paste code, but sometimes, I wait for days on end, but I don't use the code until I receive an answer...
Is this the right way or are there any other way which I could implement to strengthen my algorithmic thinking??10 -
!dev
My time management skills are abysmal. I am in my senior year in school and a few months back decided to appear for the informatics Olympiad. So now I am reading a book on discrete math, while reading books on algorithms and data structures. I code every day for around two hours. I have my math syllabi in school which is all calculus. My physics syllabi consists of all of EM and Optics along with nuclear physics. I haven’t touched chemistry since the beginning of this year. I try to give a considerable amount of time to math and physics because I f***ing love studying those. But doing that means slacking off on the Olympiad stuff. I am completely overwhelmed. My midterms are two weeks away and I am so unprepared. I am really clueless on how to manage time. -
I've heard all kinds of arguments for about how whiteboard coding interviews should be obsolete, and that they usually doesn't reflect how good you are as a developer. But I've been polishing my skills with data structures and algorithms for a few weeks (learning this stuff for the second time since years ago in college) and I get this feeling that I'm becoming a much better programmer by practicing these things. And having access to all these things in the "working memory" of my brain has made me now think of solutions I couldn't before. But then - it may be that right now I'm working on embedded systems so this efficiency matters much more, earlier while doing full stack web development I didn't care about these much except while playing with strings maybe. So it might be dependent on your niche. What do you guys think?3
-
I know this is too late to ask this question, but am a final year computer science student, average in all core subjects with 0 knowledge of web development (except a few html tags, but not enough to make a wikipedia like website) or other professional streams.
I know java and python enough to make oop classes and understand code written in them.
Should i
A)study more about web dev/ml-ai/testing/other "professional" stuff
B) learn more and strengthen my core subjects , like operating system, algorithms, data structures, etc or
C) learn another core language like C/c++/assembly?27 -
So at the moment, I'm currently reviewing the API specifications that got written up as the other developers haven't bothered to update it themselves. When you think about it, that's kind of dumb. If you are in charge of a particular function, it should be your responsibility to maintain documentation.
Anyway I'm cross referencing to what I see that has been done in the source code and finding way too many inconsistencies across specifications and implementations. Even parts where they have the exact same data, the structures are completely different. Or some parts have been documented but are not in the implementation, or vice versa. SO I can't tell which is the correct one! -
THIS is powering the internet:
"[...] was a protocol number, similar to the third argument to socket today. Specifying this structure was the only way to specify the protocol family. Therefore, in this early system the PF_ values were used as structure tags to specify the protocol family in the sockproto structure, and the AF values were used as structure tags to specify the address family in the socket address structures. The sockproto structure is still in 44BSD (pp. 626-627 of TCPv2) but is only used internally by the kernel. The original definition had the comment "protocol family" for the sp_family member, but this has been changed to "address family" in the 4.4BSD source code. To confuse this difference between the AF_ and PF_ constants even more, the Berkeley kernel data structure that contains the value that is compared to the first argument to socket (the dom family member of the domain structure, p. 187 of TCPv2) has the comment that it contains an AF_ value. But some of the domain structures within the kernel are initialized to the corresponding AF value (p. 192 of TCPv2) while others are initialized to the PF value." Richard Stevens 'Unix network programming' -
Do you guys know of any online course that teaches data structures, algorithms and other competitive stuff, but which is like, semi-online :
- the course would run for ,say 3 months
- the instructor would add videos/livestream on a specific day/days and give the assignment questions/tests
- assignment questions/tests are expected to be completed before the next video, where these questions , along with new concepts are discussed?
I hate those udacity/udemy courses where you have a large playlist of videos open up as you pay. It makes me loose half of my motivation since i know i can watch them later and end up watching them never. Plus there is no competition to motivate
I want this as my job does not allows me to stay sharp in competitive programming and it would be nice to remain in touch with that( without being too much stressed about it).2 -
Writing my 2. exam tomorrow (1. one just slightly missed minimum of points)
in Algorithms and Data Structures... really want to succeed!
cuddling with my cat to reduce stress😌
wish me luck😅😓1 -
I saw my data structures teacher open the same Java code in eclipse, then opened it up in Editplus, and then proceeded to download nodepad++ and open the same code.... On three separate lectures.
-
Where can I find those types of "homework assignments" where let's say a company sends you a sample project and asks you to add few features where in that way you learn new technology in a practical way?
I know there are some public "homework assignments" projects from Wix where you're given a sample project that uses let's say react framework and typescript where you have to learn react and add features and send it.
These projects IMO are the best way to learn new technologies fast instead of going through the documentation and figuring wth are they talking about before you realize the full potential.
Are there any of those "awesome lists" in GitHub or something? No I'm not talking about "algorithms and data structures" type of thing, I'm talking real practical samples that I can learn from and extend it.1 -
I think I may have just had a bit of an epiphany...
Algorithms and Data Structures are sort of like libraries and frameworks.
JS is probably the easiest example since npm has a lot of libraries.
For most cases, underscore.each and lodash.each $.each achieve pretty much the same thing except one maybe better in certain cases.
And data structures are sort of like Angular, React, Electron, ReactNative. Each has its own purpose or style and are good for solving certain types of problems?
So day-to-day you don't really care what Sort() algo you use.. unless you really need to perfoarmance tune it for a specific case.
And data structures, depending on the type of problem you have, one is easier to work/think about the problem in although not examply... Usually have to use a few of them at once.
How is this going to help me in interviews... I'm not sure... other than reconfirming that knowing specific implementations of Sort and Trees is usually BS... most of the time just need to know you should Sort or use a Tree... -
Hey devRant community, I’d really like some suggestions/advice for something I’m going through.
I’ve always wanted to go abroad to work/travel and experience new things and I feel that I can do all of that by pursuing masters but I am not fully sure about the specific area in CS which I’d like to study more, I do have an interest in A.I but I’d like to explore other things as well. I like Software engineering and would love to do some internships and probably a job before applying for masters but college ends in 6 months and I’m still not sure about this. I also want to get better at Software Engineering interviews as I’m avg when it comes to data structures and algorithms. Any help here will be appreciated.1 -
So I am currently a senior in High school and is planning to go abroad for my Post Grad and since I'm a computer science student , I wanna do an internship so that I can sustain myself finally during that 4 years , but the thing is after seeing all the posts on here from many Devs , I'm actually kinda scared about not knowing what to do ( Programming wise ) as in my High School , we have done only the basics in Java and C++ , ie in Java , functions , Function overloading , arrays , for C++ : the same as Java along with Classes and Objects , Data Structures , Properties of OOP , constructors and Destructors but since it is my final year , I have to give my 100% to Physics , Chemistry and Maths as they are important for my entrances and admission . I honestly am shit scared cuz I don't think I will survive with this especially abroad6
-
I am currently busy with a project for a university module where we have to create a computer based implementation of the original Cluedo board game that can be played with 4 to 6 players over a network. My main responsibility is the network, but due to my love for data structures I volunteered to create a class that implements the actual game board as a graph in order to provide pathfinding for our AI player as well as validation for moves and paths of players playing the game. In the original project description all players started on their own tile, but this was changed recently.
Dus to the original specification and due to the rule that a player may not move through the center room, I simply made that the center room only has a path to it, not from it (thus no children in the graph node). When the project changed I forgot about this and we started getting errors that the server says a move is invalid everytime the game starts, because naturally the pathfinding says that the distance of any path from the center room is infinite and thus (distance > playerDiceRoll).
We quickly needed a work around, without changing everything or the structure of the graph, due to the face that a player shouldn't move through the center. My solution to this was that in the validate move function, I simply check whether the player is in the center room and then return whether a move from any of the for exit blocks from the center to the desired destination with the current dice roll value is valid (because moving to any block from the center a human player would take the shortest path, using the exit closest to their desired destination.
My result code was basically:
if (in center && target != destination)
return validMove(exit1, destination, rollValue) || validMove(exit2, destination, rollValue) || .......;
My friends immediately didn't think it will work, but I sat there with a smile and compiled my code with full confidence. Their faces were priceless! -
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 -
[ADVICE NEEDED]
I'm just going to graduate, and I got a job as S/W engineer(trainee) in a small (500 odd employees) company, which uses salesforce, SAP and sharepoint technologies! They are most probably gonna put me in salesforce or SAP. Is it good enough for `me`(read my background), I'm kind of confused, should I go for higher studies?
BACKGROUND:
very average student, but swift at learning technologies, never really got interested in competitive (otherwise I had a real good chance in top companies), I kind of have good IT skills - proficient in python and angularJS, but recently I have got into ML and done some projects!
Okay here's the part, I know it's important for a fresher to be good in data structures, I'm indeed good in parts which I have used! I haven't used AVL tree in any of my projects so I don't know, nor I have ever used bitwise ops!
I think I want to get into roots of ML (some people say I'm fickle but IDC), I think if I take the above job I may loose my interests or may not have time, Please advice.
(sorry for the tags but I need advice from people for all these fields)11 -
Having one year of experience in javascript and almost a year of experience in java. I am still not sure which one to use for interviews.
Would I able to handle questions on hashmap and hashset if I chose to work our data structures problem in javascript?.1 -
Hi everyone !!
I'm new to coding community and but I learnt c++ in school. But I don't know how to improve on my skills. And what all should I learn to get an intern.
I tried codechef but I don't get it how to improve algos n data structures or any of it... N so much going like learn python or java ..make apps or build web pages .... It gets too much on my plate ...need suggestions how I pursue my self in improving competitive coding and alas build a career in web and Android with backend and front end to be precise a full stack developer .... Griefs apart "happy coding" -
The struggle when you use fscanf and once you used & many times and this one time you forgot & and the whole program gets Access Violation :(
&tab[i] instead of tab[i] -
Hey devRant community, I’d really like some suggestions/advice for something I’m going through.
I’ve always wanted to go abroad to work/travel and experience new things and I feel that I can do all of that by pursuing masters but I am not fully sure about the specific area in CS which I’d like to study more, I do have an interest in A.I but I’d like to explore other things as well. I like Software engineering and would love to do some internships and probably a job before applying for masters but college ends in 6 months and I’m still not sure about this. I also want to get better at Software Engineering interviews as I’m avg when it comes to data structures and algorithms. Any help here will be appreciated. -
Helo everyone , I am planning on learning some new tools and languages side by side working on this project which would be an application for creating or managing some lists for any tasks or some web series and categorize them as on going or completed or planning for now and . I want to web scrap information about that task with some pictures and text information whenever you add an entry to make it catchy and informative.
For example if I add any series name like FRIENDS and label it as on going so to make that entry not look boring my app will add some pictures and texts from google using web scraping.
So which language and tools would be helpful for developoy such application ?
Thank you.
Ps: i am pursuing my undergraduate computer science engineering .
I have basics of python and c++ with some data structures as well as basics of Mysql data base.
I am planning to start web or android development by learning kotlin or JavaScript .7 -
Challenge#1 26-01-2020
Implement document.getElementsByClass without using document.querySelector or using document.all.
Part A : Write a function getElementsByClass(className){...} such that it returns the same result.
Hint to solve: `Recursion`.
Part B: Give a solution without using recursion.
@COD4 @Wack @NoToJavaScript @Root @don-rager @Ranchu28 -
I understand the basics of c++ and java. I want something that will help me grow and learn more complex code and programs. To be honest, i don't know what to do or where to go, my next computer science class will be data structures and algorithms. Can anyone recommend a good textbook or read. Id like to pass on websites in the likes of codeacademy.5
-
Should i go for learning algorithms & data structures before jumping into learning angular... Please suggest I am a beginner2
-
Funny argument in class today and was curious what you lot thought, cuz Im honestly not sure who was right. student argued false. professor said true.
Question:
(True or False): A preemptive kernel is safe from race conditions on kernel data structures.11 -
!Rant
How does one who has simple knowledge data structures and algorithms prepare for a Google internship interview scheduled for next week.1 -
Hey guys, i'v been working in a company for almost 1 year as a web developer. I only know the basic data structures and algorithms even after this year and also my co workers didn't seem to know graph,trees and other algos like dijikstra and all those advanced algo types. I'm searching for a job with better salary should I have to learn all these to get paid well ? Where even I can apply these things in my job? Is it worth ?11
-
I don't wanna get bored self studying and learning. Looking for a companion.
Anyone is planning on learning React.js? Or learning algorithms and data structures using any language?
Let's start together at the moment. -
To all the Indians in here, who is participating in TechGig CodeGladiators 2020 ? I could solve both the problems but in some test cases my runtime got exceeded #PythonProblems. I didn’t give a damn about it tbh, as my solution was correct.
-
Can you guys please recommend books that made you cry?
My Answer:
Data Structures and Algorithms in Java5