Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "cs"
Hi everyone, long time no see.
Today I want to tell you a story about Linux, and its acceptance on the desktop.
Long ago I found myself a girlfriend, a wonderful woman who is an engineer too but who couldn't be further from CS. For those in the know, she absolutely despises architects. She doesn't know the size units of computers, i.e. the multiples of the byte. Breaks cables on the regular, and so on. For all intents and purposes, she's a user. She has written some code for a college project before, but she is by no means a developer.
She has seen me using Linux quite passionately for the last year or so, and a few weeks ago she got so fed up with how Windows refused to work on both her computers (on one of them literally failing to run exe's, go figure), that she allowed me to reinstall both systems, with one of them being dualbooted Windows 10 + Linux.
The computer that runs Linux is not one she uses very often, but for gaming (The Sims) it's her platform to go. On it I installed Debian KDE, for the following reasons:
- It had to be stable as I didn't want another box to maintain.
- It had to be pretty OOTB, as first impressions are crucial.
- It had to be easy to use, given her skill level.
- It had to have a GUI abstraction to apt, the KDE team built Discover which looks gorgeous.
She had the following things to say about Linux, when she went to download The Sims from a torrent (I installed qBittorrent for her iirc).
"Linux is better, there's no need to download anything"
"Still figuring things out, but I'm liking it"
"I'm scared of using Windows again, it's so laggy"
"Linux works fine, I'm becoming a Linux user"
Which you can imagine, it filled me with pride. We've done it boys. We've built a superior system that even regular users can use, if the system is set up to be user-friendly.
There are a few gripes I still have, and pitfalls I want to address. There's still too many options, users can drown in the sheer amount of distro's to choose from. For us that's extremely important but they need to have a guide there. However, don't do remote administration for them! That's even worse than Microsoft's tracking! Whenever you install Linux on someone else's computer, don't be all about efficiency, they are coming from Windows and just want it to be easy to use. I use Mate myself, but it is not the thing I would recommend to others. In other words, put your own preferences aside in favor of objective usability. You're trying to sell people on a product, not to impose your own point of view. Dualboot with Windows is fine, gaming still sucks on Linux for the most part. Lots of people don't have their games on Steam. CAD software and such is still nonexistent (OpenSCAD is very interesting but don't tell me it's user-friendly). People are familiar with Windows. If you were to be swimming for the first time in the deep water, would you go without aids? I don't think so.
So, Linux can be shown and be actually usable by regular people. Just pitch it in the right way.10
Most kids just want to code. So they see "Computer Science" and think "How to be a hacker in 6 weeks". Then they face some super simple algebra and freak out, eventually flunking out with the excuse that "uni only presents overtly theoretical shit nobody ever uses in real life".
They could hardly be more wrong, of course. Ignore calculus and complexity theory and you will max out on efficiency soon enough. Skip operating systems, compilers and language theory and you can only ever aspire to be a script kiddie.
You can't become a "data scientist" without statistics. And you can never grow to be even a mediocre one without solid basic research and physics training.
Hack, I've optimized literal millions of dollars out of cloud expenses by choosing the best processors for my stack, and weeks later got myself schooled (on devRant, of all places!) over my ignorance of their inner workings. And I have a MSc degree. Learning never stops.
So, to improve CS experience in uni? Tear down students expectations, and boil out the "I just wanna code!" kiddies to boot camps. Some of them will be back to learn the science. The rest will peak at age 33.17
I used to work for a company that had a main website and a lightweight app. LW app was distributed to partners and added to other sites using an iframe.
Someone decided a requirement was to retain the shopping cart for anonymous users. Some dev thought the best way to do that was to issue auth cookies to anonymous users.
The auth cookie issued by the LW app was actually for the main site. A few users for LW app decided to just come to main site to make a purchase. Since they already had an auth cookie (issued from LW app), they were never prompted to log in, create an account, or use guest checkout on the main site. They were still able to complete their order and we had their shipping address, but we didn’t have their email address so we couldn’t contact them about their order.
Customer service had no way to email customers if something went out of stock or if there was a product recall. CS would have to call these customers and ask for email addresses. Good luck getting anyone to answer or return a call nowadays. Customers were asking where their confirmation email was. The admin website was polluted with “users” that had the placeholder email for non-logged in users.
This happened because of a combination of an understaffed and overextended engineering department. Of course when something goes bad it’s going to be bad.
I have nothing to play recently so I started playing old games.
Today I launched gta vice city on my old pc. Got more than 200 hours in that game during my childhood. Game from 2002 and I laughed when driving a car. It was so natural and fun. Michael Jackson singing Billy Jean and police chasing my ass when I’m trying to find a bribe in the city. That was fun.
For me most of today’s games can’t compete in gameplay mechanics with that game from 20 years ago.
Maybe we have better graphics but gaming fun got worse.
I think it’s cause most of games are made on commercial engines to save money and game studios focus on graphics cause it’s cheaper than paying software developer.
They focus on games to be competitive between players so ai got worse.
Big studio games became generic like movies, they don’t want you to have fun but they want to give you a story around by delivering lots of content in game, achievements, stars but the gameplay itself is bugged and meh.
They don’t focus on things people want to do but they focus on target groups. Most today’s big title games are meh cause they’re made by people who don’t play them.
They don’t play them cause they don’t have time cause of management that changes requirements cause they asked target groups and that would sell. Well if I play a game I’m not interested in story despite some basic stuff to keep the progress forward, if I wanted a big story I would watch a movie or tv show. I play games to explore, feel the world and have fun. I don’t need a linear deep story for that cause I’m in game so give me good gameplay so I can feel the world.
Most of classic game hits didn’t had tons of text and tons of stuff to do but they somehow wanted you to play more. Cause they were competitive between player and computer, the controls felt natural and while progressing you was eaten by the game mechanics more and more not by the story but by amount of stuff you could do as you progress or difficulty increase or enemies behavior change.
Now we’re getting all at once, mostly pointed and with detailed tutorial what you can do. There’s no explanation there’s no discovery what you can and what you can’t do at start. You get all and you decide to throw game away because the moment you launched it you got everything so you spent money just to get stuff you won’t play cause it’s meh and you go back to cs or other looter shooter to kill people cause you’re pissed off that the game was meh.
Well I’m glad I was a kid in 90s and 2000s cause I could enjoy gaming before it was targeted to broader public and become another shallow mass media industry that don’t give a fuck about gameplay cause they want to tell you so many things, they want you to know them cause they’re so important that they forgot that I can read a book and I came to play game to get a different feeling then reading book.
Modern games are like books filled with small stories and nice graphics where you can open it on every page and read a little piece of shitty crap.
Just take this piece and go to toilet so you can wipe your ass with that story and begin other one, look around, puke and go to toilet to take a dump again. I lost my hope to get something fresh or filled with nice gameplay from gaming industry. It’s dead.4
oh to be a new cs student and to be excited about programming and coming up with solutions... i feel quite nostalgic about it, that sense of wonder6
University, first Java practical lesson.
I'm sitting near this guy, clearly hyped up because he managed to install his first linux distro earlier.
After 5 minutes he asks me how to do the task the Professor assigned that morning.
I'm playing dumbass in my head, thinking stuff like "oh big boy installed ubuntu but can't declare a fucking Rectangle class in java lol" (what a dickhead).
I helped him, and then proposed to go out for a quick smoke.
Turns out we're very similar, hyped as hell with linux (like I was at the time), with same CS interests. Still texting sometimes.
Just graduated in CS.
All jobs required experience in stuff I never seen/heard before (back then I didn’t know most job listings were copy pasted by people who knew less than me).
I felt so inadequate that I replied to a job offer as a seller as they asked only fluency in 2 foreign languages.
The company owner during the interview looked at me and told me I needed to look elsewhere, that mine was a good resume and then he dropped this:
“I can see you are a good guy, but for this job I need an asshole”
Back then it was very hard for me but now I understand10
i think it's a waste of time and resources to memorize syntax and other stuff you can google. since we have a lot of material available, we should focus on logic, more abstract concepts, stuff you can't copy paste. well, I think that should be the way in every area, not only CS15
I switched from CS programming to AI research field and I almost forgot about this community: it's quite a while i don't have a rant to share :)
I met this guy on my very first job. An internship. He was an intern too. We were doing Java and he was a brilliant programmer. We would try to finish the job as quickly as possible then stay back late to play 1v1 CS. (Yes on company LAN). We worked together for only 2 months. We are still in touch. Right now helping him with SOP for his master's thesis.
Is the CS field creating terms for the sake of creating terms?
Someone mentioned a "closure" in another post. I instinctively knew what they meant by that based upon the code I saw. I had heard the term thrown around before, but it had not yet connected in my mind. I wondered why I had not been exposed enough to care.
So I thought: What does C++ have as far as closures?
I found that C++ has lambdas. Those are definitions for function objects. They do not exist at runtime. But a closure does. The analog is you have classes. They are definitions and do not exist at runtime. But instances of classes do. So at runtime the instance is what you are working with. This is the same as lambdas vs closures in C++. The closure is the runtime counterpart. Why a separate term for what essentially is an instance? Is it because it captures data and code? As far as I know the closure is all data that gets passed around that calls a function. So it is essentially an instance of a lambda.
Another term: memoization. I have yet to see this added to any dictionary in online tools like a browser. Is the term so specific that nobody cares to add it? I mean these are tools programmers use all the time.
My guess is these terms originated a long time ago and I have just not been exposed to the contexts for these terms enough. It just seems like I feel like I have been in the field a long time. But a lot of terms seem alien to me. I also have never seen these terms used at work. Many of the devs I work with actively avoid CS specific terms to not confuse our electrical coworkers. My background started in electrical. So maybe I just didn't do enough CS in college.6
I keep on checking if there are recruiters messaging me in LinkedIn,
but I am not actively looking.
and even if something is looking good to me, I feel so rusty on my CS I won't even give it a go...
What did the CS student say when he totally killed his web API class and got an A?
"REST easy now."1
I feel like I am not CS major.
I doble major'ed on 3rd year, so don't have deep knowledge like other 'real' CS majors.2
I never went to college, the main reason was financially so I self educated myself from home, and 1 year later I had a bigger salary than the average salary in my country.. so I diploma is just a paper to me.. in fact one of my friends who went to a well recognized college in my country came to me to do him a project, he ended up impressing the professor and getting highest marks. So no CS degree has 0 affect on your job today.