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 - "digital logic"
-
TL;DR: I dont work in IT, but I code at work, and the non-IT higher-ups lack of knowledge shows brutally.
So I work in aviation, not IT. Through coincidences, I was tasked to work on our flight plan distribution logic years ago, which was then written in BRL (Business Rule Language). In lockdown 2020, I finally started to learn "real" programming with Python, but soon shifted to Java. Which was good, since all of a sudden a few months ago the company ditched BRL and the godawful IBM ODM IDE for... Java and IntelliJ. Nice. BUT my teammates have zero clue about Java and no real inclination to learn it by themselves. So I have been appointed their mentor, despite me stating Im still a beginner myself. Its somewhat doable, I get the hard problems, they do basic maintenace, basically renaming variables and stuff. One of my yearly goals is to make sure a completely new guy is able to do everything I do by september. It took a LOT to talk them out of it.
In my last yearly review I got some flak for not "selling" myself to other teams enough, whatever that means. So, as a learning project, I designed a new intranet page for our department in Javascript. Its loved by all. It has links to all the stuff we need woth a nice interface and built in tools to make work easier and more efficient. I did it on my own, in my spare time, simply because I was fed up with the old crap and it was an enormously good learning opportunity. Now they want to give some other guy the responsibility over that page/tool because apparently it is "not in my process team description". They even planned a day for me and him so he can "learn Javascript then". Suuure...
I also did a digital checklist tool as a webapp. All this runs from a local folder, no server at all because reasons. I made it work. Now they want it integrated into some other tool some other guy made. He wrote his tool in PHP entirely so merging the two will take considerable time. Which I told them multiple times. No, it does not take about two hours.
Sometimes, comrades, sometimes....
Im still grateful for the opportunity to code at work but the lack of knowledge really REALLY shows. My goal now is to talk management into paying for a Java course for me (they are very expensive here). That way, they get a better employee and I get more knowledge and an actual certificate thats worth something. Usually in this company, this has higher chances of success than straight up asking for more money.
Sorry for the long story, but it felt good just typing it all out, even if nobody reads this.4 -
If you need to learn/teach object orientation, these are my approaches (I hate that classic "car" example):
1) Keep in mind games like Warcraft, Starcraft, Civilization, Age of Empires (yes, I am old school). They are a good example of having classes to use, instantiating objects (creatures) and putting them to work together. As in a real system.
2) Think of your program as an office that has a job to do, or a factory that has something to deliver. Classes are the roles/jobs and objects are the workers/employees. They don't need to be complex, but their purpose must be really (really, really) well defined. Just like in a real office / factory.
3) Even better (or crazier), see your classes and objects as real beings, digital creatures in a abstract world, and yourself as a kind of god, who creates species (define classes) with wisdom. Give life when it is the time for them to come into the world (instantiate object) and kill them when they are done with their mission (dispose an object). Give them behavior, logic, conditions to work with, situations where they take action, and when they don't. Make them kinda "smart". Build them able to make decisions and take actions based on conditions. Give them life. Think on your program as an ecossystem. There must be balance, connection, species must be well defined and creatures must work together to achieve a common objective. Don't just throw code and pray for it to run. Plan it.
-----
When I talk about my classes like they are real beings, and programs as mini-worlds, some people say I am crazy, some others say that's passion.
It is both! @__@3 -
Tl;Dr - It started as an escape, carried on as fun, then as a way to be lazy, and finally as a way of life. Coding has defined and shaped my entire life from the age of nine.
When I was nine I was playing a game on my ZX spectrum and accidentally knocked the keyboard as I reached over to adjust my TV. Incredibly parts of it actually made a little sense to me and got my curiosity. I spent hours reading through that code, afraid to turn the Spectrum off in case I couldn't get back to it. Weeks later I got hold of a book of example code to copy out to do various things like making patterns on the screen. I was amazed by it. You told it what to do, and it did it! (don't you miss the days when coding worked like that?) I was bitten by the coding bug (excuse the pun) and I'd got it bad! I spent many late nights on that thing, escaping from a difficult home life. People (especially adults) were confusing, and in my experience unpredictable. When you did things wrong they shouted at you and threatened to take you away, or ignored you completely. Code never did that. If you did something wrong, it quietly let you know and often told you exactly what was wrong. It wasn't because of shifting expectations or a change of mood or anything like that. It was just clean logic, simple cause and effect.
I get my first computer a year later: an IBM XT that had been discarded by a company and was fitted with a key on the side to turn it on. With the impressive noise it made it really was like starting an engine. Whole most kids would have played with the games, I spent my time playing with batch scripts and writing very simple text adventures. And discovering what "format c:" does. With some abuse and threatened violence I managed to get windows running on it. Windows 2.1 I think it was.
At 12 I got a Gateway 75 running Windows 95. Over the next few years I do covered many amazing games: ROTT, Doom, Hexen, and so on. Aside from the games themselves, I was fascinated by the way computers could be linked together to play together (this was still early days for the Web and computers networked in a home was very unusual). I also got into making levels for Doom, Heretic, and years later Duke Nukem 3D (pretty sure it was heretic; all I remember is the nightmare of trying to write levels entirely by code!). I enjoyed re-scripting some of the weapons and monsters to behave differently. About this time I also got into HTML (I still call this coding, but not programming), C, and java. I had trouble with C as none of the examples and tutorial code seemed to run properly under a Windows environment. Similar for my very short stint with assembly. At some point I got a TI-83 programmable calculator and started rewriting my old batch script games on it, including one "Gangster Lord" game that had the same mechanics as a lot of the Facebook games that appeared later (do things, earn money, spend money to buy stuff to do more things). Worried about upcoming exams, I also made a number of maths helper apps, including a quadratic equation solver that gave the steps, and a fake calculator reset to smuggle them into my exams. When the day came I panicked and did a proper reset for fear of being caught.
At 18 I was convinced I was going to be a professional coder as I started a degree in Computer Science. Three months later I dropped out after a bunch of lectures teaching what input and output devices were and realising we were only going to be taught Java and no C++. I started a job on the call centre of a big company, but was frustrated with many of the boring and repetitive tasks we had to do. So I put my previous knowledge to use, and quickly learned VBA to automate tasks. It wasn't long before I ended up promoted to Business Analyst where I worked on a great team building small systems in Office, SAS, and a few other tools.
I decided to retrain in psychology, so left the job I was in and started another degree. During my work and placements my skills came in use a number of times to simplify and automate tasks. I finished my degree, then took a job as a teaching assistant while I worked out what I wanted to do next and how to pay for it. Three years later I've ended up IT technican at the school, responsible for the website, teaching a number of Computing lessons each week, and unofficial co-coordinator for Computing as a subject. I also run a team of ten year old Digital Leaders who I am training in online safety and as technical experts; I am hoping to inspire them to a future in coding. In September I'll be starting teacher training with a view to becoming a Computing specialist teacher. Oh, and I'm currently doing a course in Android Development in my free time.
And this all started with an accidental knock on the keyboard of a ZX Spectrum.6 -
So my office manager decided to ban kitchen utensils in the office. Part of the reason was that there was too much stealing. Apparently too many mugs, knives, plates & spoons have gone missing for it to be just through loss.
I tried to reason with this office manager. I asked if we really want to create a culture of mistrust where we ban basic utilities like we’re children.
I appealed to the business logic do we really want freelancers going out to grab a coffee 10 minutes a day over a period of a year.
I tried to appeal to the digital nature of the office can we “source the solution from the office”
The other office have to bring in their own utensils but the other office has a canteen.
Essentially I feel like this was a power issue a decision was made I’m not allowed to question it.
Apparently my “behaviour” has been flagged with the CTO. 🤣🤨
I have to stir my tea with a knife unless I put stuff in my desk.
As a solution I decided to reach out to several green companies that provide disposable cutlery and kitchen where they agreed to send a sample which I put in the kitchen. I have a feeling this will be taken as hostile move in of what is: a solution.
Seriously W T actual F.6 -
Took a class on computer systems, was supposed to be taught instruction sets, interrupts, pointers, basic gate level digital logic, etc. Professor spent the whole semester going line by line in the Visual Studio disassembler for some arbitrary C code, explaining in painfully dull detail, what each assembly line did. They did this for every class session, including the first, with no introduction to assembly. I lost count of how many times I fell asleep in class.
-
Here’s book most of you have either read a newer edition or some variant based on this book, as computer science students you had to take an intro to logic course.. prior to digital logic.. or atleast that’s how it went for me and many others I know.
Which regardless how much the universities screwed up teaching comp sci and programming.. this is one aspect I think they nailed. Requiring philosophical logic course for comp sci.
Again this isn’t a digital logic book. It’s just philosophical logic. The first edition of this book came out in 1953... and I think they are edition 14 or 15... for a book to have this many editions and last this long thru time it’s a good book.
It’s a book that should be a must read for anyone venturing into AI and working on human machine thought processing.
It’s a great book to have around as reference, considering philosophical logic is not a walk in the park atleast not in the beginning because it requires you to change the way you view things.. more specifically it requires you to think objectively and make decisions objectively rather than subjective emotional reasoning.
Programmers need to think objectively with everything they do. The moment you begin thinking subjectively .. ie personal style, wishes and wants, or personal reasons and put that into code for a code base with a team u just put the team at risk.
Does this book teach objective thought? No... indirectly yes, because it teaches the objective rules of logic... you don’t get to have an emotional opinion on wether you agree or disagree or whatnot, logic is logic even philosophical. Many people failed the logic course I was in university.. infact the bell curve was c- / D ... many people had to take the course more than once.. they even had to change the way the grading was done.. just to get more people to pass...
But here’s the thing it’s not about it being taught wrong.. people just couldn’t adapt to thinking objectively, with rules as such in philosophical logic courses. Grant it the symbols takes time getting use to but it literally wasn’t the reason people failed.. it was their subjective opinions and thought process interfereing with the objectiveness of the course exams and homework.5 -
Ah, developers, the unsung heroes of caffeine-fueled coding marathons and keyboard clacking symphonies! These mystical beings have a way of turning coffee and pizza into lines of code that somehow make the world go 'round.
Have you ever seen a developer in their natural habitat? They huddle in dimly lit rooms, surrounded by monitors glowing like magic crystals. Their battle cries of "It works on my machine!" echo through the corridors, as they summon the mighty powers of Stack Overflow and Google to conquer bugs and errors.
And let's talk about the coffee addiction – it's like they believe caffeine is the elixir of code immortality. The way they guard their mugs, you'd think it's the Holy Grail. In fact, a developer without coffee is like a computer without RAM – it just doesn't function properly.
But don't let their nerdy exteriors fool you. Deep down, they're dreamers. They dream of a world where every line of code is bug-free and every user is happy. A world where the boss understands what "just one more line of code" really means.
Speaking of bosses, developers have a unique ability to turn simple requests into complex projects. "Can you make a small tweak?" the boss asks innocently. And the developer replies, "Sure, it's just a minor change," while mentally calculating the time it'll take and the potential for scope creep.
Let's not forget their passion for acronyms. TLA (Three-Letter Acronym) is their second language. API, CSS, HTML, PHP, SQL... it's like they're playing a never-ending game of Scrabble with abbreviations.
And documentation? Well, that's their arch-nemesis. It's as if writing clear instructions is harder than debugging quantum mechanics. "The code is self-explanatory," they claim, leaving everyone else scratching their heads.
In the end, developers are a quirky bunch, but we love them for it. Their quirks and peculiarities are what make them the creative, brilliant minds that power our digital world. So here's to developers, the masters of logic and the wizards of the virtual realm!13 -
Google has flagged a document in my drive, saying that it is violating its terms of service.
The document is just a digital logic and computer design book.
I don't know how a book is violating its TOS?17 -
Not an interview question but their logic:
On my first and only interview so far, i've apllied for a job in digitization department in our city library. They saw in my CV that i had some knowledge of digital electronics, so they've connected the dots and realized that that makes me perfect for the digitization work
There is absolutely nothing similar between those fields.
Moral of the story: take all the classes kids, you never know...1 -
well...
when does this end.
even things that can't be further away from any digital logic are getting smarter now ...1 -
[CONCEITED RANT]
I'm frustrated than I'm better tha 99% programmers I ever worked with.
Yes, it might sound so conceited.
I Work mainly with C#/.NET Ecosystem as fullstack dev (so also sql, backend, frontend etc), but I'm also forced to use that abhorrent horror that is js and angular.
I write readable code, I write easy code that works and rarely, RARELY causes any problem, The only fancy stuff I do is using new language features that come up with new C# versions, that in latest version were mostly syntactic sugar to make code shorter/more readable/easier.
People I have ever worked with (lot of) mostly try to overdo, overengineer, overcomplicate code, subdivide into methods when not needed fragmenting code and putting tons of variables.
People only needed me to explain my code when the codebase was huge (200K+ lines mostly written by me) of big so they don't have to spend hours to understand what's going on, or, if the customer requested a new technology to explain such new technology so they don't have to study it (which is perfectly understandable). (for example it happened that I was forced to use Devexpress package because they wanted to port a huge application from .NET 4.5 to .NET 8 and rewriting the whole devexpress logic had a HUGE impact on costs so I explained thoroughly and supported during developement because they didn't knew devexpress).
I don't write genius code or clevel tricks and patterns. My code works, doesn't create memory leaks or slowness and mostly works when doing unit tests at first run. Of course I also put bugs and everything, but that's part of the process.
THe point is that other people makes unreadable code, and when they pass code around you hear rising chaos, people cursing "WTF this even means, why he put that here, what the heck this is even supposed to do", you got the drill. And this happens when I read everyone code too.
But it doesn't happens the opposite. My code is often readable because I do code triple backflips only on personal projects because I don't have to explain anyone and I can learn new things and new coding styles.
Instead, people want to impress at work, and this results in unintelligible, chaotic code, full of bugs and that people can't read. They want to mix in the coolest technologies because they feel their virtual penis growing to showoff that they are latest bleeding edge technology experts and all.
They want to experiment on business code at the expense of all the other poor devils who will have to manage it.
Heck, I even worked with a few Microsoft MVPs.
Those are deadly. They're superfast code throughput people that combine lot of stuff.
THen they leave at you the problems once they leave.
This MVP guy on a big project for paperworks digital acquisiton for a big company did this huge project I got called to work in, which consited in a backend and a frontend web portal, and pushed at all costs to put in the middle another CDN web project and another Identity Server project to both do Caching with the cdn "to make it faster" and identity server for SSO (Single sign on).
We had to deal with gruesome work to deal with browser poor caching management and when he left, the SSO server started to loop after authentication at random intervals and I had to solve that stuff he put in with days of debugging that nasty stuff he did.
People definitely can't code, except me.
They have this "first of the class syndrome" which goes to the extent that their skill allows them to and try to do code backflips when they can't even do code pushups, to put them in a physical exercise parallelism.
And most people is like this. They will deny and won't admit, they believe they're good at it, but in reality they aren't.
There is some genius out there that does revoluitionary code and maybe needs to do horrible code to do amazing stuff, and that's ok. And there is also few people like me, with which you can work and produce great stuff.
I found one colleague like this and we had a $800.000 (yes, 800k) project in .NET Technology, which consisted in the renewal of 56 webservices and 3 web portals and 2 Winforms applications for our country main railway transport system. We worked in 2 on it, with a PM from the railway company.
It was estimated 14 months of work and we took 11 and all was working wonders. We had ton of fun doing it because also their PM was a cool guy and we did an awesome project and codebase was a jewel. The difficult thing you couldn't grasp if you read the code is if you don't know how railway systems work and that's the only difficult thing.
Sight, there people is macking me sick of this job11 -
Being a developer allows you to enjoy using most of the creative skills artists also put to use (writing structured prose, design, semantics, ergonomics, ethics), while adding logic, job safety, and a decent paycheck to the mix.
Also: puts you in a good position to readily take advantage of new digital goodies (eg bitcoin), and to understand the gem that is developer humor -
Hey , I'm a final year student studying computer applications from india can anyone please share me tips or guide me for product based companies preparation.
I know basic DSA , intermediate python language and much familiar with other computer science subjects such as os, networking, DBMS, digital logic.
Hoping for help from the community 🙏2 -
In the dynamic realm of software development, where the user interface meets the complex machinery behind the scenes, Back-End Expertise https://sombrainc.com/expertise/... emerges as the unsung hero. As businesses increasingly rely on digital platforms to connect, engage, and transact with their audience, the prowess of back-end development becomes paramount.
At its core, Back-End Expertise refers to the specialized knowledge and skills required to architect, build, and maintain the server-side of applications. While the front end dazzles users with intuitive interfaces and captivating designs, the back end silently weaves the intricate tapestry that ensures seamless functionality, robust security, and optimal performance.
The Back-End Symphony: Orchestrating Digital Harmony
Imagine a symphony where each instrument plays its part to perfection, creating a harmonious melody. Similarly, in the world of software, the back end orchestrates a symphony of databases, servers, and frameworks, ensuring that data flows smoothly, operations execute seamlessly, and applications respond promptly to user commands.
Back-End Experts are the virtuosos who write the code that makes applications tick. They delve into the intricacies of databases, crafting queries that retrieve and store data efficiently. They architect server-side logic, meticulously designing algorithms that power functionalities ranging from user authentication to complex business processes.
Security as the Forte: Safeguarding the Digital Fortress
In an era where data breaches loom as potential threats, Back-End Expertise becomes a formidable fortress. These experts implement robust security measures, safeguarding sensitive information and ensuring the integrity of digital ecosystems. Encryption, authentication protocols, and secure API integrations are the tools of their trade as they create digital bastions against cyber threats.
Optimizing Performance: The Need for Speed
User experience hinges on speed, and Back-End Experts understand the importance of optimizing performance. Through efficient coding practices, load balancing, and server-side optimizations, they strive to minimize latency and ensure that applications respond swiftly, even under heavy user loads.
Future Trends: Back-End Evolution
As technology evolves, so does the landscape of back-end development. Cloud computing, serverless architectures, and microservices are shaping the future of back-end expertise. Back-End Experts must adapt to these trends, embracing new tools and methodologies to stay at the forefront of innovation.
In conclusion, Back-End Expertise is the backbone of digital experiences. While users interact with the front end, the magic unfolds behind the scenes, where Back-End Experts craft the architecture that defines the reliability, security, and performance of applications. Their alchemy transforms lines of code into seamless digital experiences, leaving an indelible mark on the ever-evolving landscape of software development.1