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 - "computer architecture"
FUCK WORDPRESS TO DEATH!
Seriously, I have a degree in computer science and I can't for the fucking lfie of it understand the fucking architecture of fucking WORDPRESS!
How many fucking times when developing fucking shitty wordpress sites for clients you spent 66% of the time debugging some stupid fucki9ng shit related to the retarded monolithic fucking stupid architecture of this huge retarded abomination which should be killed in a fire with dragonfire.
How many fucking times while using trellis sage bedrock mother fucking super uber framework bubblegum you find yourself struggling with the fgucking broweser shit sync or some other fucking stupid bubblegum fix shit to make wordpress even remotely a decent experience to work with?
Even when buffed with a fucking shitton of boilerplate shit code from people who want developers to not fucking kill themselves while working on this fucking piece of shit framework the developing experience with wordshit makes me want to blow my fucking brains out with a desert eagle.
I seriously can't fucking stress how fucking shit this whole framework is and I seriously hope people stop using it for good. Wordpress was made by a bunch of fucking retarded monkeys who barely knew how to write afucking hello world.
This is the last fuckign time Im ever going to accept a wordpress project from my clients this fucking framework has driven me mad for fu cking years and i've finally had it with thsi fucking piece of shit framework and i fucking hope it gets buried 1000 km down and never dug up ever fuckign again.
Wordpress is the single most fucking horrid abomination that has ever been created in the fucking history of the tech industry.62
So i've been a dev manager for a little while now. Thought i'd take some time to disambiguate some job titles to let everyone know what they might be in for when joining / moving around a big org.
Title: Senior Software Engineer
- Typically has years experience building what management are trying to build
- Building new features
- Writing code
- Code review
- Offering advice to product manag......OH NO YOU DON'T CODE MONKEY, BACK TO WORK!
Title: Dev Manager
- Former/current programmer
- knows his/her way around a codebase.
- Recruiting / interviewing new staff
- Keeping the team focused and delivering tasks
- Architecture decisions
- Lying about complexity of architecture decisions to ensure team gets the actual time they need
- Lying about feature estimations to ensure team gets to work on critical technical improvements that were cancelled / de-prioritised
- Explaining to hire-ups why we can't "Just do it quicker"
- Explaining to senior engineers why the product manager declined their meeting request
Title: Product / Product Manager
- Nothing relevant to the industry or product line what so ever
- Found the correct building on the day of the interview
- Has once opened an Excel spreadsheet and successfully saved it to a desktop
- Making every key decision about every feature available in the app
- Learning to ignore that inner voice we like to call "Common sense"
- Making sure to not accidentally take some advice from technical staff
- Raising the blood pressure of everyone below them / working with them
Title: Program Lead / Product Owner
- Capable of speech
- Aware of what a computer is (optional)
- Sitting down
- Clicking random buttons on Jira
- Making bullet point lists
Title: Director of Software Engineering
- Allegedly attended college/university to study computer science
- Similar to a technical product manager (technical optional)
- Reports directly to VP
- Fixes problems by creating a different problem somewhere else as a distraction
- Claiming to understand and green light technical decisions, while having already agreed with product that it will never happen9
It seems like every other day I run into some post/tweet/article about people whining about having the imposter syndrome. It seems like no other profession (except maybe acting) is filled with people like this.
Well lemme answer that question for you lot.
YES YOU ARE A BLOODY IMPOSTER.
There. I said it. BUT.
Know that you're already a step up from those clowns that talk a lot but say nothing of substance.
You're better than the rockstar dev that "understands" the entire codebase because s/he is the freaking moron that created that convoluted nonsensical pile of shit in the first place.
You're better than that person who thinks knowing nothing is fine. It's just a job and a pay cheque.
The main question is, what the flying fuck are you going to do about being an imposter? Whine about it on twtr/fb/medium? HOW ABOUT YOU GO LEARN SOMETHING BEYOND FRAMEWORKS OR MAKING DUMB CRUD WEBSITES WITH COLOR CHANGING BUTTONS.
Computers are hard. Did you expect to spend 1 year studying random things and waltz into the field as a fucking expert? FUCK YOU. How about you let a "doctor" who taught himself medicine for 1 year do your open heart surgery?
Learn how a godamn computer actually works. Do you expect your doctors and surgeons to be ignorant of how the body works? If you aspire to be a professional WHY THE FUCK DO YOU STAY AT THE SURFACE.
Go learn about Compilers, complete projects with low level languages like C / Rust (protip: stay away from C++, Java doesn't count), read up on CPU architecture, to name a few topics.
Then, after learning how your computers work, you can start learning functional programming and appreciate the tradeoffs it makes. Or go learn AI/ML/DS. But preferably not before.
Basically, it's fine if you were never formally taught. Get yourself schooled, quit bitching, and be patient. It's ok to be stupid, but it's not ok to stay stupid forever.
So this year I had a subject at university called "Linux internal architecture", and for the last assignment I had to write a kernel module and interact with it with a separate program written in C.
Once I had finished and tested the driver, I went on to write the other program, which was supposed to use system calls to read and write data to the module. While debugging this program (~500 lines of code) I reached the level of frustration where you just start printing absurd messages everywhere in your code to see what's wrong. So for example instead of printing "This error happened in this function", my error messages were more like "Fuck this fucking function it doesn't fucking work".
Guess who forgot to delete all those messages before sending the code to the teacher...
Also, if a specific mode is selected, the program enters a while(1) that, apart from doing what it's expected to do, also creates a file in the user's home directory called something like 'motherfucker' and appends the words 'fuck this shit' to it. INFINITELY.
I really really hope this teacher doesn't try to run the program in his own computer, or he's in for a big surprise.8
Still trying to get good.
The requirements are forever shifting, and so do the applied paradigms.
I think the first layer is learning about each paradigm.
You learn 5-10 languages/technologies, get a feeling for procedural/functional/OOP programming. You mess around with some electronics engineering, write a bit of assembly. You write an ugly GTK program, an Android todo app, check how OpenGL works. You learn about relational models, about graph databases, time series storage and key value caches. You learn about networking and protocols. You void the warranty of all the devices in your house at some point. You develop preferences for languages and systems. For certain periods of time, you even become an insufferable fanboy who claims that all databases should be replaced by MongoDB, or all applications should be written in C# -- no exceptions in your mind are possible, because you found the Perfect Thing. Temporarily.
Eventually, you get to the second layer: Instead of being a champion for a single cause, you start to see patterns of applicability.
You might have grown to prefer serverless microservice architectures driven by pub/sub event busses, but realize that some MVC framework is probably more suitable for a 5-employee company. You realize that development is not just about picking the best language and best architecture -- It's about pros and cons for every situation. You start to value consistency over hard rules. You realize that even respected books about computer science can sometimes contain lies -- or represent solutions which are only applicable to "spherical cows in a vacuum".
Then you get to the third layer: Which is about orchestrating migrations between paradigms without creating a bigger mess.
Your company started with a tiny MVC webshop written in PHP. There are now 300 employees and a few million lines of code, the framework more often gets in the way than it helps, the database is terribly strained. Big rewrite? Gradual refactor? Introduce new languages within the company or stick with what people know? Educate people about paradigms which might be more suitable, but which will feel unfamiliar? What leads to a better product, someone who is experienced with PHP, or someone just learning to use Typescript?
All that theoretical knowledge about superior paradigms won't help you now -- No clean slates! You have to build a skyscraper city to replace a swamp village while keeping the economy running, together with builders who have no clue what concrete even looks like. You might think "I'll throw my superior engineering against this, no harm done if it doesn't stick", but 9 out of 10 times that will just end in a mix of concrete rubble, corpses and mud.
I think I'm somewhere between 2 and 3.
I think I have most of the important knowledge about a wide array of languages, technologies and architectures.
I think I know how to come to a conclusion about what to use in which scenario -- most of the time.
But dealing with a giant legacy mess, transforming things into something better, without creating an ugly amalgamation of old and new systems blended together into an even bigger abomination? Nah, I don't think I'm fully there yet.8
How I discovered I was a developer:
The company had hired a pair of computer science graduates and we had been commissioned to build a magento store. Weeks went buy with limited progress, and missing functionality was met with protestations from the devs about unreasonable demands.
At this time I had been taken on as a designer / casual front end developer (though the focus was on design). I knew HTML, CSS and some very limited php and js.
We were severely over deadline, and seeing the desperation on people's faces I suggested looking into it.
In two weeks.
I'm now the lead developer4
TL;DR; windows XP + bat scripts + fascination about being able to make things yourself.
I was born and raised in a village. And the thing about living in a village is that you are free :) Among all the other freedoms you are also free to build your own solutions to various domestic problems, i.e. to build stuff. This is one of the things that fascinates me about living outside the city.
When I finally was old enough (and had the means to, i.e. a computer) to understand that programming is something that allows you to build your own solutions to computer problems, it got to me.
With win 3.1 I was still too fresh and too young. With win 95 I was more interested in playing with neighbours outdoors. With win 98 I was a bit too busy at school. But with win XP the time had come. I started writing automation solutions for windows administration using .bat scripts (.vbs was and still is somewhat repelling to me). I no longer needed to browse Russian forums and torrent sites to find a solution to a problem I had! That was amazing!!! [esp. when my Russian was very weak].
That was the time when I built my first sort-of-malware - a bat script downloading and installing Radmin server, uploading computer's IP and admin credentials to my FTP.
I loved it!
However, I'd stumbled upon may obstacles when writing with batch. I googled a lot and most of the solutions I found were in bash (something related to Linux, which was a spooky mystery to me back then). Eventually, I got my courage together and installed ubuntu. Boy was I sorry... Nothing was working. I was unable to even boot the thing! Not to mention the GUI...
Years later I tried again with ubuntu [7.10 I think.. or 7.04] on my Pavilion. Took me a looooot of attempts but I got there. I could finally boot it. A couple of weeks later I managed to even start the GUI! I could finally learn bash and enjoy the spectacular Compiz effects (that cube was amazing).
I got into bash and Linux for the next several years. And then I thought to myself - wait, I'm writing scripts that automate other programs. Wouldn't it be cool I I could write my own programs that did exactly what I wanted and did not need automation? It definitely would! I could write a program that would make sound work (meaning no more ALSA/PA headaches!), make graphics work on my hardware, make my USB audio card to be set to primary once connected and all the other amazing things! No more automation -- just a single program or all of that!
little did the naive me knew :)
I started with python. I didn't like that syntax from the beginning :/ those indentations...
Then I tried java. Bucky (thenewboston), who likes tuna sandwiches, on my phone all the free time I had. I didn't learn anything :/ Even tried some java 101 e-book. Nothing helped until I decided to write some simple project (nothing fancy - just some calculations for a friend who was studying architecture).
I loved it! It sounds weird, but I found Swing amazing too. With that layout manager where you have to manually position all the components :)
and then things happened and I quit my med studies and switched to programming. Passed my school exams I was missing to enter the IT college and started inhaling every bit of info about IT I could get my hands on (incl outside the college ofc).
A few more stepping stones, a few more irrelevant jobs to pay my bills in the city, and I got to where I am now.6
I’m so fucking sick and tired of !devs telling me how simple a feature should be to implement.
Like motherfucker the most complicated thing you’ve ever done with a computer is attempt (and fail) at working with tables in Microsoft Word and you’re trying to tell me how long a new feature/K8s architecture/noSQL aggregation should take to implement?
A monitor cable wiggling loose paralyses you for hours but I’m supposed to bow down to your understanding of what is causing a bug?6
I've kinda ghosted DevRant so here's an update:
VueJS is pretty good and I'm happy using it, but it seems I need to start with React soon to gain more business partnerships :( I'm down to learn React, but I'd rather jump into Typescript or stick with Vue.
Webpack is cool and I like it more than my previous Gulp implementation.
Docker has become much more usable in the last 2 years, but it's still garbage on Windows/Mac when running an application that runs on Symfony...without docker-sync. File interactions are just too slow for some of my enterprise apps. docker-sync was a life-saver.
I wish I had swapped ALL links to XHR requests long ago. This pseudo-SPA architecture that I've got now (still server-side rendered) is pretty good. It allows my server to do what servers do best, while eliminating the overhead of reloading CSS/JS on every request. I wrote an ES6 component for this: https://github.com/HTMLGuyLLC/... - Frankly, I could give a shit if you think it's dumb or hate it or think I'm dumb, but I'd love to hear any ideas for improving it (it's open source for a reason). I've been told my script is super helpful for people who have Shopify sites and can't change the backend. I use it to modernize older apps.
ContentBuilder.js has improved a ton in the last year and they're having a sale that ends today if you have a need for something like that, take a look: https://innovastudio.com/content-bu...
I bought and returned a 2019 Macbook pro with i9. I'll stick with my 2015 until we see what's in store for 2020. Apple has really stopped making great products ever since Jobs died, and I can't imagine that he was THAT important to the company. Any idiot on the street can you tell you several ways they could improve the latest models...for instance, how about feedback when you click buttons in the touchbar? How about a skinnier trackpad so your wrists aren't constantly on it? How about always-available audio and brightness buttons? How about better ports...How about a bezel-less screen? How about better arrow keys so you can easily click the up arrow without hitting shift all the time? How about a keyboard that doesn't suck? I did love touch ID though, and the laptop was much lighter.
The Logitech MX Master 3 mouse was just released. I love my 2s, so I just ordered it. We'll see how it is!
PHPStorm still hasn't fixed a couple things that are bothering me with the terminal: can't reorder tabs with drag and drop, tabs are saved but don't reconnect to the server so the title is wrong if you reopen a project and forget that the terminal tabs are from your last session and no longer connected. I've accidentally tried to run scripts locally that were meant for the server more than once...
I just found out this exists: https://caniuse.email/
I'm going to be looking into Kubernetes soon. I keep seeing the name (docker for mac, digitalocean) so I'm curious.
AWS S3 Glacier is still a bitch to work with in 2019...wtf? Having to setup a Python script with a bunch of dependencies in order to remove all items in a vault before you can delete it is dumb. It's like they said "how can we make it difficult for people to remove shit so we can keep charging them forever?". I finally removed almost 2TB of data, but my computer had to run that script for a day....so dumb...8
Probably a little different shitty teacher!
Had a course in basic computer architecture and the teacher was way to over qualified to have that course. This is a guy who presents his research to Nvidia and Intel but is forced to teach a intro level course...
The result? He was completely unmotivated and unprepared for the lectures and was of no help on the assignments. Fortunately we had a awesome teaching assistant who saved the entire course for me and my friends. Seriously, kudos to that guy!1
Dude in my Computer Architecture class was doing his homework from another class (Java, which is weird because that class is a prerequisite for this one) was struggling with a two-line code program, and the website was telling him that his output wasn't the expected. I notice that the website expected a vertical list, but he was printing an horizontal one. Basically, he was using println instead of print. I was about to pointed that out until he changed to another tab and I realize that he just copied and pasted the code from SO. He deleted the two-line code (which was enough to perform the task) and pasted a big +30 lines of code that basically printed the same output because he was still using println...2
What you are expected to learn in 3 years:
digital signal processing,
signal and control system,
NLP, data algorithm,
Java, C++, Python,
ASP.NET web development,
computer security ,
Android app development,
IOS app development,
3D game development,
introduction to DevOps,
how-to -fix- computer,
Project of being entrepreneur,
and 24 random unrelated subjects of your choices
This is a major called "computer engineering"4
At the same time I learned python and quite liked it for scripting, but ultimately it was not a good match for my projects.
Disapointed with Java I returned to C# and liked it quite a lot, but started learning C++. After touching my first Microcontroller I learned C and I've stuck with it as my favorite language.
Along the way I picked up Kotlin, in case I need to do some Java shit. Much better.
But how did I come to an understanding of programming. Well I got better after each time I got a layer deeper until I hit silicon.
I had tinkered with electronics since I was 15 so I just had to study some boolean mathematics in school and some vintage computers architecture and instruction sets and...
Then I finally understood how that shit I wrote in Lua way back when was actually executed by my hardware.
Allways dig deeper and you'll find enlightenment eventually.
Honestly, before starting my post secondary education in Computer science I had wanted to become an architect.
Since I was maybe.... 10 years old all the way till the semester before graduating from highschool I was sold on becoming an architect.
I love design; Interior design, art, unique use of colors, architecture. I love systems that looked good and worked as well as they appeared.
Over the winter break of my grade 12 year a friend said to me, "Why don't you become a UI/UX developer? You love technology, software and design, why not go into a career where you practice on all three?".
I was surprised to hear that. It had honestly never really occurred to me since I had always told myself I would become an architect.
I guess that leaves me to where I am now. Still a student, but loving my time learning the details behind software development. I do not regret choosing Development over becoming an Architect.2
So I started my 3rd year on Sunday, and this semester we're going to learn SQL and PL/SQL, as well as C#, HTML, JQuery, AngularJS and a few more cool things, with a LOT of CS crap. And the best thing is - everything is taught as part of a whole! Databases, computer communication, complexity, program architecture... Feels like they all go in one giant swoosh with a common baseline of building network- and web-related programs, and I like it a lot. They even talk to us like we're big kids now.
This semester smells really good right now.4
In freelance world,
Some Computer Science degree holder (from client company) explain how good are they in Software development.
But when as soon as my team and I (after got criticized by this guy for the fact that my team and I don't have a degree in computer science) review their code, the code is a bunch of spaghetti! No proper Architecture, no documentation, and everything in one class?
* at DrupalCamp *
"Now, you can use our all-in-one .exe to install Apache and MySQL on your computer"
ME: but why would someone do that?
"In order to use the LAMP architecture"
ME: But there's no Linux!
"It doesn't matter, Apache runs on windows just fine"
ME: Feels kinda like using Express on Python4
Software engineering doesn't evolving the way you think of it.
There are no new big patterns. There are no new big concepts and ideas to bring that evolution to us. Rob Pike thinks that the concepts he used twenty years ago are the best possible way of implementing everything and he creates Golang.
The evolution of software engineering, and maybe the whole evolution as a concept is a tick-tock. Software engineering had its latest tick at nineties, when the concepts we call modern were developed. And the latest tock was the rise of the internet, and it given the single-computer-centered Von Neumann architecture really hard challenges. I mean ticks are theoretical inventions and patterns and ideas and etc, while tock is more of some practical, business-oriented implementations.
PHP is still in use. We have troubles with scaling and deployment. Banking systems still run old Java, Windows XP and even COBOL. We had persistence really, really long time ago, and now frontenders reinvent it and call it 'immutability'!
We had our tick many, many years ago. It's time for tock. With not only scientific but commercial use of things such as Clojure, CRDTs and maybe Rust lang, we are heading straight to our new big tock, which'll bring us new great problems to solve.
That's how any evolution goes.
Here is a story about 5 years of my life.
My studies had little to do with web. I did embedded systems (architecture and software) but quickly realized that I couldn't see myself living my life in my homecoutry and that my degree would be worth little to no more than shit elsewhere in the world. That was on my 3rd year in uni.
I liked coding so I decided to pursue computer science, then web development. For that, your degree mattered little.
From then on, when I wasn't in class I was doing some coding.
This allowed me to get short (2 months) internships in Mobile and web development, 4 in total.
Doing so I had made it so that my professors would allow me to do my graduation project in web and mobile dev. That project having ended, I secured a long (1year and a half) internship in Mumbai India doing web for a big consulting company. Having finished that I headed to Belgium for my current job. All with having no to little financial resources except what I could come up with.
"I'm proud of all the efforts it took to make it" is what I think sometimes but what is it that I made? I realized my first objective which is to be on the international job market, but now that I genuinely love software I realize that I didn't really make anything I can be proud of working as a consultant. And having worked on many things but not a lot on practically anything, it's getting hard to do something else.
I'm hoping for devranters insight on how I should proceed.1
TLDR: I need advice on reasonable salary expectations for sysadmin work in the rural United States.
I need some community advice. I’m the sysadmin at a small (35 employee) credit card processing company. I began as an intern and have now become their full time sysadmin/networking specialist. Since I was hired in January I have:
-migrated their 2007 Exchange server to Office 365
-Upgraded their ailing Windows server 2003 based architecture to 2012R2
-Licensed their unlicensed VMware ESXi servers (which they had already paid for license keys for!!!) and then upgraded them to 6.5 while preventing downtime on hosted VMs using tricky transfers and deployments (without vMotion!)
-Deployed a vCenter server to manage said ESXi servers easier
-Fixed a three month gap in their backups by implementing Veeam, and verifying its functionality
-Migrated a ‘no downtime’ fileserver to a new hypervisor host, implemented a ‘hot standby’ server as a backup kept up to date by the minute with DFS replication.
-Replaced failing hard drives in a RAID array underlying their one ‘business critical’ fileserver, which had no backups for 3 months at that time
-Reorganized Active Directory and Group Policy deployment from a nightmare spiderweb of OUs and duplicate policies
-Documented the entire old network and now the new one as I’ve been upgrading this
-Audited the developers AWS instances and removed redundant machines, optimized load balancing on front end Nginx servers, joined developer run Fedora workstations to the AD domain and implemented centralized syslog monitoring on them.
-Performed network scans and rewrote firewall exceptions to tighten security
There’s more, but you get the idea. I’ve now been tasked with taking point on an upcoming PCI audit which will be my first.
I’m being paid $16/hr US, with marginal health benefits. This is roughly $32,000 a year, before taxes.
I have two years previous work experience managing a third party Apple repair facility (SimplyMac) and every Apple certification for warranty repair and software troubleshooting. I have a two year degree in general sciences, with about 4 years of college credit (Two years of a physics education and two years of computer science after I switched focus) I’m actively pursuing a CCNA and MCSA server 2016 with exams paid for and scheduled.
I’m going into a salary negotiation in two months. What is a reasonable salary to request, from your perspective, for someone in my position?
Thanks in advance!6
Hello everyone, I've been looking for a long time to switch from Windows to Linux (on my tower, I have a macbook). The only problem being that I can't decide at all. I've heard a lot of good things about Linux Mint, Manjaro and Arch (especially here for him), I don't know which would be best for me (I'm in my last year of a master's degree in computer systems architecture) because most of the time when I use a Linux it's a simple Debian in CLI.
Also, I have no idea which GUI to choose between KDE Cinamon and other modern not too childish GUIs. Can you help me find arguments to choose the right one?
I also like sometimes playing video games like WoW or Diablo 3 but I guess it will work with Winepak with Flatpak.
Thank you in advance for your help and thank you devRant to exist :).
PS: Si il y a des francophones, Faites moi signe :)10
Last year, we had computers architecture class where we study about the architecture of processors like RISC, CISC, SIMD... The teacher was a nice person but didn't have much knowledge on the field. I read some of Patterson&Hennessey book (computer organisation and design iirc) and learned how to use openmp and mpi, and then in the last lab we were required to optimize matrix multiplication using 4 threads in openmp, the best students optimiseed for 4 times at best, meanwhile I made 16 times optimisation and showed the teacher how fast it was. She was really impressed lol1
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
Has anyone else struggled with CS classes that teach very low-level stuff like in Computer Organization and Architecture? I'm in that boat right now.2
Hey fellow devRanters,
I'm sure some of you have read about the newest vulnerabilities in Intels Management Engine (ME). I feel like ME and similar "features" are unacceptable backdoors into our systems. Unfortunately Intel and AMD do not offer their customers the option to acquire CPUs that lack these backdoors and make disabling them rather impossible 😒
Thus my question: Do you guys know of any 64-bit "open-source" CPU on the market that is production-ready and suitable for high-traffic web applications? Please note that I don't consider FPGAs to be viable options, since I don't trust Xilinx and Altera either.15
I have my computer architecture midterm in about 3 hours and I understand almost half of the material. Wish me luck, I'll need it!3
Why do some people feel the need to prove their stupidity and utter lack of skill in the face of the world?!?!
Yesterday I learned that a sister company is hiring an intern civil engineer to code some application plugins connected to our IS ?!?!? How the fuck do you think he can only understand what the fuck we do?
To put it in context, I'm kind of the CDO of a French medium group (a little cluster of companies), as the group is in the construction industry I'm the CTO for all Computer things. Inside the group, I'm the CTO of the digital factory. So the group IS is a microservice decentralized API REST-based architecture.
Next Monday we'll have a meeting, so I can explain to them why it's a FUCKING STUPID IDEA!!!! The only good thing is that any application programming done outside of the Digital Factory will be handled as an External Company Application, so it's not my problem to secure it, debug it, or simply make it work. And they already know that I'll enforce this ruling!!!
But WHY the fuck do they still think any mother fucker can professionally program!!!!!! Every time I have to deal with them It's horrendous!!!! I had to prove them why using a not encrypted external drive for a high security mission It's stupid!!!, and why having the same password for every account is FUCKING STUPID!!!
The most ridiculous part is they have a guy who really believe he has some IT skills!! Saying things like "SVN" it's a today tool (WTF), firewall are useless, etc....
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".
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.
My boss has influenced me the most at work. He was the first person to introduce me to software development. Though I'm self-taught since, I still owe him my career. Now I teach support techs and junior devs how to code, as well as oversee the architecture of major systems. It's crazy to think now that my computer building hobby would turn into something like this, and it's all because someone convinced me to try what I thought would be terribly boring.
We have been at a university of applied sciences today with our class.
It was kind of ok. I did expect more surprising things there. The whole building was smaller than our college (not the same as in the US). The rooms, where profs tell you things with a series of rows of seats, were dirty and pretty much used to the point that the seats are about to break easily.
I was expecting the university to be kind of the same as the universities you see in the movies lol.
It could have at least been bigger than our college and more "modern" than our school.
Anyways, let us get to the point here.
We were first in the foyer and afterwards in their main lecture hall.
We were introduced to the day's plans by a team of engaged students from different study programs and the president of the professors. Yada yada yada.
We got the full program in each room and each individual time span filled with study programs on a sheet of paper.
I did select pharmacy, media production, architecture, data science, applied computer science, computer engineering, mechanical engineering and future energies.
Pharmacy and data science were the most interesting study programs to me. I have asked one of the professors if deep learning was a topic for bachelor students, as well.
He said that that is only the usual case for people who got a promotion.
As an example he told me that yesterday he was at a conference hall with 10.000 people in which he gave a talk about deep learning. "Most of them were professors" he said. "Since this study program is new, it might change in a few years" he added to his conversation.
It is quite hard having to decide now.
Geo informatics and Aerospace Engineering did sound interesting, too.
There are a lot of things I would like to study at the same time haha.
Idk if I should just pick mechanical engineering first and add one or two after it to it. But that would take a lot of time. Geez.7
I designed this app to help my classmates revise more efficiently here is the direct link.
Due to exams due date i didn't have enough time to publish it on playstore
But this is the direct link for download
The app is composed with a set of questions about computer architecture, human rights design and algorithm
The app is in French3
I once was sitting in a somewhat boring class on networks and computer architecture towards the end of the term. Nobody was really listening and the lecture was kind of a collection of random bits and pieces related to the subject matter.
So I tried out playing Duke Nukem on my rather weak laptop on DosBox. I was sitting quite in front of the class room, and the profesor could clearly hear my fan working like crazy. Later in his lecture he did a short excourse on cloud gaming, showing us nVidia's graphics card cloud where you could do remote gaming, the graphics being rendered remotely and streamed to your box over the interwebs.
I looked up from my game and said to the professor: "If I had this now, my fan would not be that loud." Even the professor laughed.
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.
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.
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
How to become a UX/UI designer given my situation?
So, I have worked as Software Developer for 3.5 years now. My work has involved mostly Backend, Java. For sometime I worked on front end but I am not aware of the front end architecture etc.
I am a graduate in Computer Science.
So right now, I have a good salary in a big MNC. How can I become a UX UI Designer for a good company?15
Haven't gotten it yet, still in college working towards it, but from the way a good number of people are making it sound, it's not that worth it. Probably going to drop out when my scholarship dries out at the end of spring 2020. It's a four-year scholarship, but I'm probably not going to graduate in spring 2020 based on the grades I'm getting in my math and physics classes.
Side note: I'm taking Computer Organization and Architecture this semester and it's making me want to jump off a fucking bridge.4
Well, not best experience per se, but most memorable one.
So I am accepted to CS program at the university - happy days!
First lecture of the first day of the first semester in the first year...
...It just had to be that guy. He was famous for for his strictness among the faculty as we later found out.
But, the lecture. It's 8.25 am, I am making my way into auditorium, and it's filled with freshmen like me, of course. Instead of cheerful chatter noise I hear literally silence. What the? I catch the glimpse of the blackboard - the professor is there, hard at work writing out some stuff that can't comprehend. Double checked the name of the lecture - computer architecture.
8.30 - so it begins, I remember taking a place along the front rows in order to see more clearly. Professor turns to us and just starts the lecture, saying that he'll introduce himself later at the end and there is no time to waste. OK...
And he just dumps the layout of x86 computer architecture and a mixture of basic ASM jargon on us WITHOUT TURNING TO US FOR LIKE 30 MINS while writing things out on the blackboard.
The he finally turns 180 degrees very quickly, evaluates our expression (I know mine was WTF is this I don't even understand half the words), sighs, turns back and continues with the lecture.
University course on Computer Systems.
I really really suck at bit manipulation and processor architecture, I tried learning it multiple times but always lost focus every time, was really difficult to stay invested and barely passed that course4
I have failed my computer organization and architecture module because i didn't understand assembly language.
Anyone with links to the best x86 assembly programming please share.
In Computer Organisation Architecture, Why some devices perform dual operations and some perform single operation?
please answer if anybody know!4