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 - "programming practice"
-
In one of our first C programming classes today in college, I booted up Ubuntu on the dual boot systems to practice our first few programs which we were supposed to be doing in Turbo C on Windows.
I successfully compiled it using gcc on the first try which appeared like magic to my neighbor. Soon our teacher came to check my program and said that I made a mistake. I asked her what is the mistake? She said that I was supposed to be using conio.h!!
I argued that it is not a standard header file and using it makes the code non-portable. She tried it to edit it to include conio.h but couldn't edit it since I was using vim. I was asked to switch to Windows and use Turbo C instead and also use conio.h. I denied and she told me to follow her or leave the class.
The weather was nice.19 -
5 Types Of Programmers
1.The duct tape programmer
The code may not be pretty, but damnit, it works!
This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.
2.The OCD perfectionist programmer
You want to do what to my code?
This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.
3.The anti-programming programmer
I’m a programmer, damnit. I don’t write code.
His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.
4.The half-assed programmer
What do you want? It works doesn’t it?
The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).
5.The theoretical programmer
Well, that’s a possibility, but in practice this might be a better alternative.
This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.
What type of programmer are you?
Source: www.stevebenner.com16 -
It wasn't my curiosity that introduced me to programming. Actually, it was my mother.
It was about six years ago, when I'd told her I'd like to make video-games, like all kids do. She didn't just nod and go about her way. She found a free course that taught programming to kids my age and immediately enrolled me. Looking back, it was surely the best thing she'd done for me, because it gave me a purpose and a future to look forward to.
The course was interesting. We learned the basics of C++, then moved on to harder topics like algorithms and data types. But more and more, I was beginning to feel left behind. Like I didn't belong there. It didn't help that I only programmed on the course, with no practice back home.
I felt scared of the future. Thought I didn't have what it takes to become a programmer. I might have broken the last straw when I started playing truant and went to McDonald's to pass the time. Because every time I did go to the course, I felt stupid and anxious. So I simply skipped.
Time passed. I got more depressed, became more antisocial, my self-esteem took a nosedive. And when it comes to depression, people always seek an escape path.
I got my escape in fiction. Started reading books, tried writing stories, and it got to the point where I asked my mother if I could become a writer and not a programmer.
And guess what? She said, "Do what brings you happiness. This is your life."
It's funny, that such a silly line stopped and got me to think. Turned out, I didn't program for fun, for myself or for my career. I'd done it for my parents, for their expectations and I was scared that in failing, I'd become a loser in their eyes.
I dropped out of the programming course. Not because it sucked, but because I wasn't going there for myself, but for my parents. But I didn't quit programming. No, I watched countless tutorials, youtube videos, browsed StackOverflow, read some books, coded every day, and now I can say without hesitation, that I love programming. I'm hooked. And I don't want to stop.
If you've read this so far, I'm sorry for my rambling. I will now leave you with only one tip: If you decided to do something, do it for yourself. Forget about parents, expectations, career, future, time or money and do it only because you want to. Because nothing else matters. Only your happiness.7 -
Hello there, just couple of words about PHP. I've been develop on PHP more than 10 years, I've seen it all 3,4,5,{6},7. Yes PHP was not good in terms of engineering and patterns, but it was simple, it was the most simple language for web to start those days. It was simple as you put code into file, upload it via FTP and it works. No java servlets, no unix consoles, no nothing, just shared hosting account was enough to host site, or even application with database. As database everybody used to have mysql, again because its simple to start and easy to maintain. So PHP+MySQL became industry standard on Web during 00-2012, and continues in some way.
You can write HTML and logic inside single file, within php code, even more single file may content few pages, or even kind of framework. That simplicity and agility sticks everybody who wants to develop sites with PHP.
This is pretty much about why it is so popular.
Each good or wannabe PHP developer in an early days write its own framework or library (like in javascript this days because of nodejs)
Imagine that PHP has hadn't have package manager, developers used to have host packages on their own sites, then various packages catalog sites created, and then finally composer. A gazillions of php code had spread over internet, without any kind of dependency control. To include libraries to your projects you have to just write include, or require. Some developers do it better than others.
So what we have ? A lots of code, no repositories, zip archives with libraries, no dependency control.
Project that uses that kind of code are still alive even today, they are solid hose of cards, and unmaintainable of course.
And main question that I'm trying to answer is Why PHP is not good ?
- First is amount of legacy code which people copy and pasted into their project, spread it even more like a virus.
- Lack of industry standards at the beginning lead to a lots of bad practices among developers. PHP code usually smells.
open source php projects in early days was developed in same conditions so even in phpbb, phpnuke, wordpress, drupal used to have a lot of bad practices in their codebase. So php developers usually not study by another library, instead they write their own frameworks/libraries.
- "It works", - there are no strong business demands, on web development, again because lack of standards, and concerns.
This three things are basically same, they linked to each other and summarize of answer of why PHP have strong smells and everybody yelling against it.
Whats is with PHP nowadays ? Of course PHP today is more influenced by good practice of webdev. Composer, Zend, Laravel, Yii, Symphony and language it self became more adult so to say, but developers...
People who never tried anything except PHP are usually weaker in programming and ecosystem knowledge than people who tried something else, python, perl, ruby, c for instance.
Summary
PHP as any other programming language is a tool. Each tool has its own task. Consider this and your task requirements and PHP can be just good enough solution.
"PHP is shit" - usually you heard that from people who never write strong applications on PHP and haven't used any good tools like Symphony or Laravel.
Cheap developers, - the bigger community, the more chance to hire cheap developers, and more chance to get bad code. That can be applied on any other language.
PHP has professionals developers, usually they have not only php on scope.
That's all folks, this is very brief, I am not covering php usage early days in details, but this is good enough to understand the point.
Enjoy.8 -
Paranoid Developers - It's a long one
Backstory: I was a freelance web developer when I managed to land a place on a cyber security program with who I consider to be the world leaders in the field (details deliberately withheld; who's paranoid now?). Other than the basic security practices of web dev, my experience with Cyber was limited to the OU introduction course, so I was wholly unprepared for the level of, occasionally hysterical, paranoia that my fellow cohort seemed to perpetually live in. The following is a collection of stories from several of these people, because if I only wrote about one they would accuse me of providing too much data allowing an attacker to aggregate and steal their identity. They do use devrant so if you're reading this, know that I love you and that something is wrong with you.
That time when...
He wrote a social media network with end-to-end encryption before it was cool.
He wrote custom 64kb encryption for his academic HDD.
He removed the 3 HDD from his desktop and stored them in a safe, whenever he left the house.
He set up a pfsense virtualbox with a firewall policy to block the port the student monitoring software used (effectively rendering it useless and definitely in breach of the IT policy).
He used only hashes of passwords as passwords (which isn't actually good).
He kept a drill on the desk ready to destroy his HDD at a moments notice.
He started developing a device to drill through his HDD when he pushed a button. May or may not have finished it.
He set up a new email account for each individual online service.
He hosted a website from his own home server so he didn't have to host the files elsewhere (which is just awful for home network security).
He unplugged the home router and began scanning his devices and manually searching through the process list when his music stopped playing on the laptop several times (turns out he had a wobbly spacebar and the shaking washing machine provided enough jittering for a button press).
He brought his own privacy screen to work (remember, this is a security place, with like background checks and all sorts).
He gave his C programming coursework (a simple messaging program) 2048 bit encryption, which was not required.
He wrote a custom encryption for his other C programming coursework as well as writing out the enigma encryption because there was no library, again not required.
He bought a burner phone to visit the capital city.
He bought a burner phone whenever he left his hometown come to think of it.
He bought a smartphone online, wiped it and installed new firmware (it was Chinese; I'm not saying anything about the Chinese, you're the one thinking it).
He bought a smartphone and installed Kali Linux NetHunter so he could test WiFi networks he connected to before using them on his personal device.
(You might be noticing it's all he's. Maybe it is, maybe it isn't).
He ate a sim card.
He brought a balaclava to pentesting training (it was pretty meme).
He printed out his source code as a manual read-only method.
He made a rule on his academic email to block incoming mail from the academic body (to be fair this is a good spam policy).
He withdraws money from a different cashpoint everytime to avoid patterns in his behaviour (the irony).
He reported someone for hacking the centre's network when they built their own website for practice using XAMMP.
I'm going to stop there. I could tell you so many more stories about these guys, some about them being paranoid and some about the stupid antics Cyber Security and Information Assurance students get up to. Well done for making it this far. Hope you enjoyed it.26 -
Learning CSS .
Understand CSS shadow today.
Did a little practice..
And come up with this. It's too easy..
Doing more practice just because it's fun 😄 I think that's why most coders code ! Because it's fun 😊 though I know it's not even "programming language" 😂9 -
I have teens in my classroom who want elite hacker status but complain about doing programming exercises outside of class. >.<
I explain to them that learning to code takes a lot of practice and can be frustrating at first. Some still went to the dean complaining that my class is tough. I work at a private school where open communication is encouraged and social justice is a thing.
So, I'm over here like "How do I reach these kids?"
I'm optimistic and I try different approaches to teaching and learning. Some stuff has worked. A lot haven't.
I figure I'd ask here: Does anyone have a suggestion for any creative programming exercises/projects that are beginner-friendly, legal, and hacker-ish? (I teach intro to Java.)22 -
Some of these have been mentioned already but here they are, these things make me be a bit better at programming (at least I think so)
• sleep, I love sleep and I think a good night's sleep can do wonders
• music, music theory which is a language in itself and playing an instrument which teaches hand-eye-coordination and also creates patterns in your head, but certainly teaches us that you need to practice a lot to achieve your goals, that it's hard for beginners but gets a bit easier with time
• solving puzzles and riddles, I've been a huge fan of puzzles from an early age, it is something that teaches us solving problems and creating strategies
• other types of games that are helpful are games where you have to find things in a picture or in an environment, this has trained me a bit on finding nasty bugs in my code or at least syntax errors
• googling: sometimes you find out something that is not really related to your problem, but you remember it nevertheless and later on it can help you with something else
• maths, yes, you read correctly, I'm not a big fan of maths either, but what you learn in maths is that there are certain procedures you're often repeating and that you're always building on your knowledge and expanding it, sometimes solving mathematical problems is fun too ;)
• getting fresh air - self explanatory
• listening to other people's life stories, this helps me generally in life, to know that I'm not the only one struggling with something and so on
And I probably could go on with a lot more things, but I think that's enough for now15 -
I have this great professor who taught us how to be logical human beings (not that I learned much of that haha). He introduced us to web dev. He started with the basic html shit, then proceed with php and sql. His lectures were awesome. He'll then proceed with code exercises. And we'll have mini 'codefights' in his classes! yey! He taught us that in programming, it is much more important to practice logic than master a single language(no hate please). I learned to love programming through his passion. :) I learned to program in his class, now I hope never to stop learning. :D8
-
Structure: decades of programming in too many languages to enumerate. I lean functional, but only when the language doesn't fight it. No matter what I'm doing, my code is immutable in practice, if not paradigm.
Syntax: No one thing in particular. I code differently depending on the language.
When I start learning a language, I'll find the standard style checker and create a project where I write an example of every single rule.
The end result is generally a quick intro to the language and a bonus understanding of the hot sports opinion in said language. I call this an ocean boiler.
I lean heavily into autoformatting because I've worked on too many projects to care, and I have a general expectation that something which is important enough to make a code standard is important enough to be enforced in tooling. I'd rather spend my time solving problems that thinking about stylistics.5 -
- Get comfortable with a new programming language
- Move our company away from PHP
- Practice guitar at least 8h a week4 -
After I spent 4 years in a startup company (it was literally just me and a guy who started it).
Being web dev in this company meant you did everything from A-Z. Mostly though it was shitty hacky "websites/webapps" on one of the 3 shitty CMSs.
At some point we had 2 other devs and 2 designers (thank god he hired some cause previously he tried designing them on his own and every site looked like a dead puppy soaked in ass juice).
My title changed from a peasant web dev to technical lead which meant shit. I was doing normal dev work + managing all projects. This basically meant that I had to show all junior devs (mostly interns) how to do their jobs. Client meetings, first point of contact for them, caring an "out of hours" support phone 24/7, new staff interviews, hiring, training and much more.
Unrealistic deadlines, stress and pulling hair were a norm as was taking the blame anytime something went wrong (which happened very often).
All of that would be fine with me if I was paid accordingly, treated with respect as a loyal part of the team but that of course wasn't the case.
But that wasn't the worst part about this job. The worst thing was the constant feeling that I'm falling behind, so far behind that I'll never be able to catch up. Being passionate about web development since I was a kid this was scaring the shit out of me. Said company of course didn't provide any training, time to learn or opportunities to progress.
After these 4 years I felt burnt out. Programming, once exciting became boring and stale. At this point I have started looking for a new job but looking at the requirements I was sure I ain't going anywhere. You see when I was busy hacking PHP CMSs, OOPHP became a thing and javascript exploded. In the little spare time I had I tried online courses but everyone knows it's not the same, doing a course and actually using certain technology in practice. Not going to mention that recruiters usually expect a number of years of experience using the technology/framework/language.
That was the moment I lost faith in my web dev future.
Happy to say though about a month later I did get a job in a great agency as a front end developer (it felt amazing to focus on one thing after all these years of "full-stack bullshit), got a decent salary (way more than I expected) and work with really amazing and creative people. I get almost too much time to learn new stuff and I got up to speed with the latest tech in a few weeks. I'm happy.
Advice? I don't really have any, but I guess never lose faith in yourself.3 -
I AM TIRED
warning: this rant is going to be full of negativity , CAPS, and cursing.
People always think and they always write that programming is an analytical profession. IF YOU CANNOT THINK IN AN ANALYTICAL WAY THIS JOB IS NOT FOR YOU! But the reality could not be farther from the truth.
A LOT of people in this field whether they're technical people or otherwise, just lack any kind of reasoning or "ANALYTICAL" thinking skills. If anything, a lot of of them are delusional and/or they just care about looking COOL. "Because programming is like getting paid to solve puzzles" *insert stupid retarded laugh here*.
A lot of devs out there just read a book or two and read a Medium article by another wannabe, now think they're hot shit. They know what they're doing. They're the gods of "clean" and "modular" design and all companies should be in AWE of their skills paralleled only by those of deities!
Everyone out there and their Neanderthal ancestor from start-up founders to developers think they're the next Google/Amazon/Facebook/*insert fancy shitty tech company*.
Founder? THEY WANT TO MOVE FAST AND GET TO MARKET FAST WITH STUPID DEADLINES! even if it's not necessary. Why? BECAUSE YOU INFERIOR DEVELOPER HAVE NOT READ THE STUPID HOT PILE OF GARBAGE I READ ONLINE BY THE POEPLE I BLINDLY COPY! "IF YOU'RE NOT EMBARRASSED BY THE FIRST VERSION OF YOU APP, YOU DID SOMETHING WRONG" - someone at Amazon.
Well you delusional brainless piece of stupidity, YOU ARE NOT AMAZON. THE FIRST VERSION THAT THIS AMAZON FOUNDER IS EMBARRASSED ABOUT IS WHAT YOU JERK OFF TO AT NIGHT! IT IS WHAT YOU DREAM ABOUT HAVING!
And oh let's not forget the tech stacks that make absolutely no fucking sense and are just a pile of glue and abstraction levels on top of abstraction levels that are being used everywhere. Why? BECAUSE GOOGLE DOES IT THAT WAY DUH!! And when Google (or any other fancy shit company) changes it, the old shitty tech stack that by some miracle you got to work and everyone is writing in, is now all of a sudden OBSOLETE! IT IS OLD. NO ONE IS WRITING SHIT IN THAT ANYMORE!
And oh my god do I get a PTSD every time I hear a stupid fucker saying shit like "clean architecture" "clean shit" "best practice". Because I have yet to see someone whose sentences HAVE TO HAVE one of these words in them, that actually writes anything decent. They say this shit because of some garbage article they read online and in reality when you look at their code it is hot heap of horseshit after eating something rancid. NOTHING IS CLEAN ABOUT IT. NOTHING IS DONE RIGHT. AND OH GOD IF THAT PERSON WAS YOUR TECH MANAGER AND YOU HAVE TO LISTEN TO THEM RUNNING THEIR SHITHOLE ABOUT HOW YOUR SIMPLE CODE IS "NOT CLEAN". And when you think that there might be a valid reason to why they're doing things that way, you get an answer of someone in an interview who's been asked about something they don't know, but they're trying to BS their way to sounding smart and knowledgable. 0 logic 0 reason 0 brain.
Let me give you a couple of examples from my unfortunate encounters in the land of the delusional.
I was working at this start up which is fairly successful and there was this guy responsible for developing the front-end of their website using ReactJS and they're using Redux (WHOSE SOLE PURPOSE IS TO ELIMINATE PASSING ATTRIBUTES FOR THE PURPOSE OF PASSING THEM DOWN THE COMPONENT HIERARCHY AGIAN). This guy kept ranting about their quality and their shit every single time we had a conversation about the code while I was getting to know everything. Also keep in mind he was the one who decided to use Redux. Low and behold there was this component which has THIRTY MOTHERFUCKING SEVEN PROPERTIES WHOSE SOLE PURPOSE IS BE PASSED DOWN AGAIN LIKE 3 TO 4 TIMES!.
This stupid shit kept telling me to write code in a "functional" style. AND ALL HE KNOWS ABOUT FUNCTIONAL PROGRAMMING IS USING MAP, FILTER, REDUCE! And says shit like "WE DONT NEED UNIT TESTS BECAUSE FUNCTIONAL PROGRAMMING HAS NO ERRORS!" Later on I found that he read a book about functional programming in JS and now he fucking thinks he knows what functional programming is! Oh I forgot to mention that the body of his "maps" is like 70 fucking lines of code!
Another fin-tech company I worked at had a quote from Machiavelli's The Prince on EACH FUCKING DESK:
"There is nothing more difficult to take in hand, more perilous to conduct, or more uncertain in its success, than to take the lead in the introduction of a new order of things."
MOTHERFUCKER! NEW ORDER OF THINGS? THERE 10 OTHER COMPANIES DOING THE SAME SHIT ALREADY!
And the one that got on my nerves as a space lover. Is a quote from Kennedy's speech about going to the moon in the 60s "We choose to go to the moon and do the hard things ..."
YOU FUCKING DELUSIONAL CUNT! YOU THINK BUILDING YOUR SHITTY COPY PASTED START UP IS COMPARABLE TO GOING TO THE MOON IN THE 60S?
I am just tired of all those fuckers.13 -
I practice what I call "Aggressive Oriented Programming" or AOP.
Whenever I'm investigating a bad bug, working on a project that I really hate, or dealing with messy code written by a messy developer, I often find myself resorting to an [internal] state of violence.
It's not like I scream and smash my screen (although sometimes I want to). It usually consists of a few git blames and some curse words in print statements for debugging. This is just my way to vent.5 -
Most successful project? Probably a little tool I built to practice programming and to help with my studies in a completely different field. I didn't want to keep it all for myself and shared it with some friends at the university. I would never have expected that a couple of weeks later almost every student at our department will be using it but I'm quite happy I could help them too.
-
If this isn't the worst thing.
I was asked to develop a WordPress plugin as an intern developer and I've been on it since last week. I got stuck when i finally had the loops running but couldn't find a way to format the output without overwriting the existing values on each iteration.
For the last one week I've been showing the progress on my code to the CTO and this is how it has been.
Me: Hello. Everything is coming along fine, I have most of the functions running properly, do you mind looking into the algorithm?
CTO: Oh not at all, let's see what you got. Omg great code for an intern. I think you should add a new variable there and maybe clean up that function over there because it's deprecated now and yeah HaHa, Great work.
Me: Thanks xD I'll have it finished latest next week.
CTO: Oh great. I can't wait to see what you'd have by next week so we can install it on our WordPress.
*Next finally week comes and I'm done with the code.
Me: Hello, I'm done with the entire code! Want to take a look? The plugin works just exactly as described.
*CTO takes a look
CTO: Omg?
Me: Omg?
CTO: This is completely bad programming practice, so you are running 4 nested loops that all send queries to our data base and make changes to data. This would have a very drastic effect on the server considering the traffic we get.
Me: But you saw this exact code last week and said it was okay, I only changed some CSS since the last time.
CTO: Omg, we can't accept this, you have to develop it again from the scratch without using those loops and queries.
Me: What? Okay, fine. Any hints?
CTO: Yes.
Me: What?
CTO: Just start. That's the greatest hint I could ever give. And also, always have a plan before you begin.
Me: Yeah, thanks for those. It's the first time I'm hearing them and they would totally be applicable to building this thing.2 -
How I got selected for GSoC'19:
I will describe my journey from detail i.e from the 1st year of the college. I joined my college back in 2017 (July), I was not even aware of Computer Science. What are the different languages of CS, but I had a strong intuition of doing BTech from CSE only?
So yeah I was totally unaware of the computer science stuff, but I had a strong desire to learn it and I literally don’t know why I had this desire. After getting into college, I was learning HTML, Python, and C, also I am really thankful to my friends who really helped me to learn, building logic and making stuff out of it. During the 1st month of joining the college, I got to know what is Open Source, GSoC, Github due to my helpful seniors. But I was not into Open Source during my 1st year of college as I thought it is very difficult to start. In my 1st year, I used to do competitive programming and writing scripts in Python to automate various stuff. I never thought that I would even start doing Open Source development, also in the summer vacations after the 1st year I used to practice programming on HackerRank and learnt an awesome course called Automate the Boring Stuff with Python(which I think is one of the most popular courses for Python) which really helped me to build by Python skills.
Now the 2nd year came, I was totally confused between doing Open Source development or continue with my Competitive programming. But I wanted to know about Open Source development, so I thought to start now will be a good idea. I started attending meetups of OSDC(Open Source Developers Club) which is a hub of my college, which really helped me to know more about Open Source development from my seniors. I started looking for beginner friendly projects in Python on the website Up For Grabs, it’s really helpful for the beginners. So I contributed in a few of them, and in starting it was really tough for me but yeah I continued, which really helped me to at least dive into Open Source. Now I thought to start contributing in any bigger project, which has millions of lines of code which will be really interesting. So I started looking for the project, as I was into web development those days so I thought to find a project which matches my domain. So yeah I finally landed on Oppia:
Oppia
I started contributing into Oppia in November, so yeah in starting it was really difficult for me to solve any issue (as I wasn’t aware of the codebase which was really big), but yeah mentors at Oppia are really helpful, they guided me which really helped me to start my journey with Oppia. By starting of January I was able to resolve around 3–4 issues, which helped me to become the collaborator at Oppia, afterward I really liked contributing to it and I was able to resolve around 9–10 issues by the end of February, which landed me to become a Team Member at Oppia which was really a confidence boost and indication for me that I am in the right direction.
Also in February, the GSoC organizations list was out, and yeah Oppia was also participating in it. The project ideas of Oppia were really interesting, I became even confused to pick anyone because there were 4–5 ideas which seemed interesting to me. After 1–2 days of thought process I decided to go for one of them, i.e “Asking students why they picked a particular answer”, a full stack project.
I started making proposals on it, from the first week of March. I used to get my proposal reviewed frequently from the mentors, which really helped me to build a good and strong proposal.
I must say a well-defined proposal is the most important key for getting selected in GSoC, also you must have done some contributions to the organization earlier which I think really maximize your chances of selection in GSoC.
So after my proposal was made, I submitted it on the GSoC website.
Result Day:
It was the result day, by the way, I had the confidence of being selected, but yeah I was a little bit nervous. All my friends were asking when is your result coming, I told them it will come at 12.30AM (IST). Finally, the time came when I refreshed the GSoC website, Voila the results were out. I opened the Oppia organization page, and yeah my name was there. That was the day I was really happy and satisfied, I was thinking like I have achieved something in my life. It was a moment of pleasure for me, I called my parents and told them my result, they were really happy for me.
I say cracking GSoC is worth it, the preparation you do, the contributions you do, the making of the proposal is really worth.
I got so many messages from my juniors, friends, and seniors, they congratulated me. After that when I uploaded my result of Facebook and LinkedIn, there were tons of comments and likes on the post. So yeah that’s my journey.
By the way, I am writing this post after really late, sorry for it. I must have done it earlier, but due to milestone 1 of GSoC, I was busy.3 -
!rant
So, Rust again.
When I learned that Rust doesn’t support inheritance, only traits (interfaces), I was shocked at first.
Then I tried to remember when the last time was that I have used inheritance in the code that I write (not the code that I use).
And I could remember an instance some months ago. But I also remember that I was very unsatisfied with that design and refactored it to use composition instead. And it was much better.
One of Rust’s properties is that many good practices in other programming languages are enforced rules in Rust.
And in case of inheritance, it seems like Rust decided that composition over inheritance is such a good practice that it should be a rule.
I’m not 100% convinced that there never will be cases where inheritance is better. But I still like this radical idea of forcing the devs to do it "the right way" in the majority of (if not all) cases.
I think many devs will disagree.
What do you think?14 -
It was around 2013, I was working on a project that had a great business idea, a really really bright feature (to this day I state the same) and all I was getting was around 400e/month of salary. (still was a junior dev)
So, I've been going on vacation to Spain for almost 1.5 month, everything was settled, there were no more pending jobs for me as I've finished everything that I could until more things would be done on the application and design that were needed.
It was 2nd week there, I didn't have a laptop with me as it was full vacation mode, no internet connection as it was almost 100e/month at that time, house I've lived in had no internet either. Then, one morning I receive a call that I must be on a skype meeting in any case - it was live or die situation. Me being me - went to a local internet cafe that was around 3km away from the house (on foot) - logged in to the call and proceeded. (I knew something is going to be fishy).
And there it was - I was needed to go back to my laptop and code a huge ass functionality so that we could present it to our testing clients. It was estimated to take around 3 weeks of full working days. No future payment, no compensation was offered but as stupid as I was - I went on with that and worked half of my vacation on full-day schedule... The functionality was delivered... Only after 4 months since the delivery date - the functionality was tested and after total of 9 months - was presented to the testers... I was pissed and asked for compensation as it was my vacation but all I heard was - NO, you took too long of a vacation and therefore it's your own fault. Soon after that I've started to receive every bit of blame if I was even 1 hour off the set deadline that was set by the manager that didn't have a single clue how programming works or even how to use the internet properly....
All in all, I'm still hurt of the 3 weeks that I've missed but since I've left the job 4 years ago (my salary had increased but I've quadrupled it since then) - I tend to see that it's a common practice to require things NOW and only deal with them MONTHS later...
Morale of the story:
Avoid working on your vacation at any means. If that will mean a lost job - then be it, you'll find a new one, presumably a better job.12 -
Random question that apparently screwed up even Google...
how does an IDE evaluate (and format) code and errors so quickly?
Was thinking maybe building a compiler/programming language would be the best way to learn/practice algorithm... Is it?19 -
As a Dev in college working for teams in college, I don't really have a need to use git, since most of 'self proclaimed prestigious programmer child prodigies' I work with have no idea what it is; but I use it anyways as good programming practice and ease of backups.
So I tried using a GUI client after months of the git bash, and even though I looked up a few tutorials (was embarrassed the whole fucking time). I ended up adding, committing and pushing via bash.
Can anyone explain me how is the GUI client helpful in large projects and stuff?8 -
Did your motivation ever suffered for company enforced tooling/stack?
I'm striving to be as adaptable as possible to not bitch if I have to use Angular insted of React or Java instead of Go but the stack which I was forced to use for the last two years is killing the joy I find in programming.
I'm talking about Spring WebFlux a stack which in theory is very promising (IO performances of NodeJS but in Java) but in practice is a pain to use: it makes polymorphism very hard forcing to rewrite tons of code, it significantly reduces your library choice, even after studying a damn book about it debugging remains a huge headache, unit testing often requires hacks and workarounds to be done...
Programming with it always feels like trying to fit a square peg in a round hole and I'm catching myself in procrastinating more and more, initially I feared I was burning out or losing my passion for the field but I noticed which the rare times I get to use a more canonical stack like .NET my motivation instantly returns but sadly I can use it only for few hours and then I return to WebFlux and my passion flees again.
I'm considering to look for another job but sadly lately I neglected my GitHub so I might have hard times in finding it.2 -
During one of our visits at Konza City, Machakos county in Kenya, my team and I encountered a big problem accessing to viable water. Most times we enquired for water, we were handed a bottle of bought water. This for a day or few days would be affordable for some, but for a lifetime of a middle income person, it will be way too much expensive. Of ten people we encountered 8 complained of a proper mechanism to access to viable water. This to us was a very demanding problem, that needed to be sorted out immediately. Majority of the people were unable to conduct income generating activities such as farming because of the nature of the kind of water and its scarcity as well.
Such a scenario demands for an immediate way to solve this problem. Various ways have been put into practice to ensure sustainability of water conservation and management. However most of them have been futile on the aspect of sustainability. As part of our research we also considered to check out of the formal mechanisms put in place to ensure proper acquisition of water, and one of them we saw was tree planting, which was not sustainable at all, also some few piped water was being transported very long distances from the destinations, this however did not solve the immediate needs of the people.We found out that the area has a large body mass of salty water which was not viable for them to conduct any constructive activity. This was hint enough to help us find a way to curb this demanding challenge. Presence of salty water was the first step of our solution.
SOLUTION
We came up with an IOT based system to help curb this problem. Our system entails purification of the salty water through electrolysis, the device is places at an area where the body mass of water is located, it drills for a suitable depth and allow the salty water to flow into it. Various sets of tanks and valves are situated next to it, these tanks acts as to contain the salty water temporarily. A high power source is then connected to each tank, this enable the separation of Chlorine ions from Hydrogen Ions by electrolysis through electrolysis, salt is then separated and allowed to flow from the lower chamber of the tanks, allowing clean water to from to the preceding tanks, the preceding tanks contains various chemicals to remove any remaining impurities. The whole entire process is managed by the action of sensors. Water alkalinity, turbidity and ph are monitored and relayed onto a mobile phone, this then follows a predictive analysis of the data history stored then makes up a decision to increase flow of water in the valves or to decrease its flow. This being a hot prone area, we opted to maximize harnessing of power through solar power, this power availability is almost perfect to provide us with at least 440V constant supply to facilitate faster electrolysis of the salty water.
Being a drought prone area, it was key that the outlet water should be cold and comfortable for consumers to use, so we also coupled our output chamber with cooling tanks, these tanks are managed via our mobile application, the information relayed from it in terms of temperature and humidity are sent to it. This information is key in helping us produce water at optimum states, enabling us to fully manage supply and input of the water from the water bodies.
By the use of natural language processing, we are able to automatically control flow and feeing of the valves to and fro using Voice, one could say “The output water is too hot”, and the system would respond by increasing the speed of the fans and making the tanks provide very cold water. Additional to this system, we have prepared short video tutorials and documents enlighting people on how to conserve water and maintain the optimum state of the green economy.
IBM/OPEN SOURCE TECHNOLOGIES
For a start, we have implemented our project using esp8266 microcontrollers, sensors, transducers and low payload containers to demonstrate our project. Previously we have used Google’s firebase cloud platform to ensure realtimeness of data to-and-fro relay to the mobile. This has proven workable for most cases, whether on a small scale or large scale, however we meet challenges such as change in the fingerprint keys that renders our device not workable, we intend to overcome this problem by moving to IBM bluemix platform.
We use C++ Programming language for our microcontrollers and sensor communication, in some cases we use Python programming language to process neuro-networks for our microcontrollers.
Any feedback conserning this project please?8 -
Speed programming contest
Is this a thing... it should be.
After years of practice
I can type and code very fast with in shortcut only style
It actually impressed a
Non techy girl3 -
It is the time for the proper long personal rant.
Im a fresh student, i started few months ago and the life is going as predicted: badly or even worse...
Before the university i had similar problems but i had them under control (i was able to cope with them and with some dose of "luck" i graduated from high school and managed to get into uni). I thought by leaving the town and starting over i would change myself and give myself a boost to keep going. But things turned out as expected. Currently i waste time everyday playing pc games or if im too stressed to play, i watch yt videos. Few years ago i thought i was addicted, im not. It might be a effect of something greater. I have plans, for countess inventions, projects, personal, for university and others and ALL of them are frozen, stopped, non existant. No motivation. I had few moments when i was motivated but it was short, hours or only minutes. Long term goals dont give me any motivation. They give as much short lived joy, happines as goals in games and other things... (no substance abuse problems, dont worry). I just dont see point of my projects anymore. Im sure that my projects are the only thing that will give me experience and teach me something but... i passed the magic barrier of univercity, all my projects are becoming less and less impressive... TV and other sources show people, briliant people, students, even children that were more succesful than me
if they are better than me why do i even bother? companies care more for them, especialy the prestigious ones, they have all the fame, money, funding, help, gear without question!
of course they hardworked for ther positions, they could had better beggining or worse but only hard work matters right?
As i said. None of my work matters, i worked hard for my whole life, studing, crafting, understanding: programming, multiple launguages, enviorements, proper and most effcient algorithms, electronic circuits, mechanical contraptions. I have knowlege about nearly every machine and i would be able to create nearly everything with just access to those tools and few days worth of practice. (im sort of omnibus, know everything) But because had lived in a small town i didnt have any chances of getting the right equpment. All of my electronical projects are crap. Mechanical projects are made out of scrap. Even when i was in high school, nobody was impressed or if they were they couldnt help me.
Now im at university. My projects are stagnant, mostly because of my mental problems. Even my lifestyle took a big hit. I neglect a lot of things i shouldnt. Of course greg, you should go out with friends! You cant dedicate 100% of your life to science!
I fucking tried. All of them are busy or there are other things that prevent that... So no friends for me. I even tried doing something togheter! Nope, same reasons or in most cases they dont even do anything...
Science clubs? Mostly formal, nobody has time, tools are limited unless you designed you thing before... (i want to learn!, i dont have time to design!), and in addition to that i have to make a recrutment project... => lack of motivation to do shit.
The biggest obstacle is money. Parts require money, you can make your parts but tools are money too. I have enough to live in decent apartment and cook decently as well but not enough to buy shit for projects. (some of them require a lot or knowlege... and nobody is willing to give me the second thing). Ok i found a decent job oppurtunity. C# corporation, very nice location, perfect for me because i have a lot of time, not only i can practice but i can earn for stuff. I have a CV or resume just waiting for my friend to give me the email (long story, we have been to that corp because they had open days and only he has the email to the guy, just a easier way)
But there are issiues with it as well so it is not that easy.
If nobody have noticed im dedicated to the science. Basicly 100% scientist that want to make a world a better place.
I messaged a uni specialist so i hope he will be able to help me.
For long time i have thought that i was normal, parent were neglecting my mental health and i had some situations that didnt have good infuence on me as well. I might have some issiues with my brain as well, 96% of aspargers symptoms match, with other links included. I dont want to say i have it but it is a exciuse for a test. In addition to that i cant CANT stop thinking, i even tried not thinking for few minutes, nope i had to think about something everytime. On top of that my biological timer is flipped. I go to sleep at 5 am and wake up at 5pm (when i dont have lectures).
I prefer working at night, at that time my brain at least works normaly but i dont want to disrupt roommates...
And at the day my brain starts the usual, depression, lack of motivation, other bullshit thing.
I might add something later, that is all for now. -
Dev industry develop so fast. This is because information available anywhere in the internet and people try to learn any programming language they want . But only few know whether they following secure coding practice or not
But the thing is most of Dev people dosent care about security. They focus just to develop a application but not to secure it?2 -
Apparently my learning style is more rote memorization than learn-by-doing and I've been trying to learn by doing for years as a hobbyist.
It took a fucking *national quarantine* to get me to try something different and I'm blown away.
What would have taken me many months to learn I've all but grasped in detail in a matter of 20 hours of study over the course of a week.
Fuck you javascript. I WIN THIS ROUND. No more looking at the documentation for stupid shit like how to write a regex, or why everything is wrapped in fucking parenthesis (IIFE), or why
I keep getting a uncaught reference exception.
The important thing to realize about learning is NEVER be obstinate about it. Try many things, and don't get stuck in one way of learning unless you know thats what works for you.
This is why having study partners and mentors are important.
I think experience/practice and rote learning work in tandem. Rote learning lets you skip the much longer step of grasping the fundamentals, bootstrapping the process of learning the abstractions that are composed of those fundamentals.
I'm still adding cards to my anki flash card deck, but if anyone wants it I'm willing to share. It's mostly just 1. practice questions, 2. detail questions (what are the types? What does this regex do?, etc), 3. implication questions (heres this bit of code. It's XYZ, why did it fail? Correct it.), combining core details to memorize, and the application of the facts learned.
It helped me to learn and I'm apparently retarded, so if you're new to programming and want to learn JS, it can probably help you too. Unless you're more of a tard than me lol.1 -
I started out on a Sinclair ZX 80. It has just 512 bytes of ram and you had to use a function button together with a key for each command since it did not have enough memory to keep the source in memory ;)
I attended few basic courses and then went on to hold them.
After a year there was suggestions of starting pascal courses so during the summer I read up in turbo pascal 5.5 but since the summer home did not have electricity I had to do it all theoretically for the first month before getting to try it out.
I got to try visual basic when doing school practice with Microsoft but the name was not set by then as it was a few months before the release.
Thats also where the more professional programming got going even though I did one pascal program that was used professionally before that. -
Did I really go to university, have object oriented programming taught to me from scratch and embedded in me as best practice, work with OO frameworks for 3 years and become a damn good web dev just to use Drupal?7
-
Somebody asked me for help on their thesis, gave them advise, how they should do it, what are the best practices on implementing things...
I asked the today how are they doing? They answered, we paid someone to do it, we can't do it...
Damn are they even studying and doing their daily programming practice???4 -
HEYYY!!
Glad to see ya all, how have ya been?
Gosh, it has been forever since the last time! I feel like I forgot about this platform too much, it feels good to have a place full of wonderful people to speak to, and you don't see those everywhere. I'm sorry I haven't been here much, it was mostly due to me not being able to practice programming much and thus falling back on tech stuff.
BUT - that period is now over. Maybe.
I'm gonna be more active on here, in the past recent years I've seen how bad most social medias turned out to be, with a few very special exceptions. I think devRant deserves more activity, so for better or for worse (hopefully better), I'm back!
I think my biggest problem right now is the need for a better PC, one Italians would call "a PC with the controcazzi", lol. A good one, is what I'm sayin. But would ya look at that, thr moment I start searching up for one, a friggin pandemic takes place and prices skyrocket! Ain't that fun. XD
I would probably have found an awesome PC build by now if I knew jack shit about hardware, but unfortunately I was always more into software than hardware. ^^"
So if anybody has any idea, I mean, I'm open to suggestions~ they'd be very appreciated, and thanks in advance. <3
But enough about that - how are you holding up? I hope you're doing good.
Misadventures and bad stuff happen, but I promise you we're all gonna get out of it soon. In the meantime, always remember to drink water, eat properly, keep yourself sanitized, exercise, and do things you love doing. That's what life is about. I'm looking forward to hearing from y'all, once again. 💙
Keep fighting the good fight, and kick ass! And chew gum, too.rant tag you're it still dunno in what order tags are in lol i'm back baby! you're lookin cute today~2 -
Computer programming teacher wanted us to write some pseudocode to solve an algorithm just so we can practice writing some code and solving problems. The teacher needs a copy so I spent about 2 hours today rewriting all of that pseudocode because she wants it handwritten...10
-
My best experience is essentially being taught the creativity and adventure aspect of development.
My first second year programming lecturer (left early on for reasons) knew that our curriculum was stupidly easy and instead of focusing on it, he tried to give us a sense of wonder and exploration about the subject so that we can grow. It was well needed advice, seeing as my class fears programming because they never practice it.
IT sucked when he had to move on, but he managed to get the message across. I don't think I'd be as passionate about development this year if he wasn't around. It's not always just stringing instructions together for money. It's also exploring and creativity to find your way and build something awesome. -
This basically is me rambling all my thoughts that have been clouding my mind.
Learning other programming languages after learning the first is harder than I expected. I learned python first but that's making learning others (which I know arent similar but ) C, ES6, PHP, etc. I need to figure out what makes each one special and get a proper path instead of learning them all the same way. Which is easier for the web dev languages but fuck man I just need a good path for them and I'm good. Like learn this this this this that and that and I've got a basic understanding of the language I dont need to stress and I can casually build my knowledge from here now that I understand all this. Cause I love programming and I want to be the best I can be and just get to the level I am with python. And at some point I have to learn about basic electronics and learning how to program Arduinos with C so I can do stuff with that because I really really REALLY want to.
It doesnt stop there. I want to learn another language and no I'm not talkin bout programming anymore I mean I wanna learn Japanese and German (but japanese primarily) but it doesnt help that I'm always either in school, studying, programming, or playing games. I just cant find time to practice Hiragana&Katakana (two basic writing systems in japan) and it doesnt help that I'm a lazy procrastinating piece of shit that doesnt have or can keep a proper schedule and hell I barely can English and Its my native tongue. Ugh. Itd be better if I had a native speaker to help me tbh.
And finally I want to learn basic pixel animating I have dreamed as a kid to do some kind of animation and programming and I want to do both for games I want to program for fun but it doesnt help that I cant draw sprites or anything for shit. I cant get it and I just am fucked but I'm going to ask some people I know and a few subreddits for advice/help/resources with that
Welp that was the Bubbles Power Hour none of you probably are keen followers of mine and if I had any I'd be shocked and honored but thanks for reading anyways and any advice on anything is always appreciated!random rambling electronics es6 stress language learning php python c foreign languages pixel art javascript11 -
Used to think I was a hot shit programmer. Self taught (mostly) and could make all sorts of shit happen. Then I started reading other people's codebases. I got a huge dose of humility. Learned a lot from other codebases in the process. Eventually after a lot of languages and lot of practice I got a programming only job. Started reading through the codebase. Holy shit there are way worse programmers than me. There is some really good code in there too, but 20 year old wtf code too. I assume my perspective comes from seeing what good code can be. I still have a lot to learn though. That is the fun part. You can spend a week on a minute detail of one language or one concept.
So here are a few fun questions:
1. What is the worst code, codebase, or programmer you ever met?
2. What it the best code, codebase, or programmer you ever met?
I have seen a few codebases on github that just told me to walk away. Some of the best code I have found has been in game engines. Probably because I look at a lot of game engine code (sampling bias).
The coolest library I have used has been Construct (Python lib). It is a reversible protocol library. It can deconstruct or construct a data stream.
Leaving the off by 1 or more error in my post.45 -
The datepicker saga
Part one
So I begin work on a page where user add their details, project is late, taking ages on this page
Nearly done, just need a component to allow users to put in some date of births. Look for react components.
Avoiding that one because fuck Bootstrap.
Ah-ha, that looks good, let's give it a go.
CSS doesn't exist, oh need copy it over from npm dist. Great it applied but...
... WTF it's tiny. Thought it was a problem with my zoom. Nope found the issue in github.com and it's something to do with using REM rather than EM or something, okay someone provided a solution, rather I saw a couple of solutions, after some hacking around I got it working and pasted it in the right location and yes, it's a reasonable size now.
Only it's a bit crap because it only allows scrolling 1 month at a time. No good. Hunting through the docs reveals several options to add year and month drop downs and allow them to be scrolled. Still a bit shit as it only shows certain years, figure I'd set the start date position somewhere at the average.
Wait. The up button on the scroll doesn't even show, it's just a blank 5px button. Mouse scroll doesn't work
Fucking...
... Bailing on that.
Part 2
Okay sod it I'll just make my own three drop down select boxes, day, month and year. Easy.
At this point I take full responsibility and cannot blame any third party. And kids, take this as a lesson to plan out your code fully and make no assumptions on the simplicity of the problem.
For some reason (of which I regretted much) I decided to abstract things so much I made an array of three objects for each drop down. Containing the information to pretty much abstract away the field it was dealing with. This sort of meta programming really screwed with my head, I have lines like the following:
[...].map(optionGroup =>
optionGroup.options[
parseInt(
newState[optionGroup.momentId]
, 10)
]
)...
But I was in too deep and had to weave my way through this kind of abstract process like an intrepid explorer chopping through a rain forest with a butter knife.
So I am using React and Redux, decided it was overkill to use Redux to control each field. Only trouble is of course when the user clicks one of the fields, it doesn't make sense in redux to have one of the three fields selected. And I wanted to show the field title as the first option. So I went against good practice and used state to keep track of the fields before they are handed off to the parent/redux. What a nightmare that was.
Possibly the most challenging part was matching my indices with moment.js to get the UI working right, it was such a meta mess when it just shouldn't have taken so stupidly long.
But, I begin to see the light at the end of this tunnel, it's slowly coming together. And when it all clicks into place I sit back and actually quite enjoy my abysmal attempt at clean and easy to read code.
Part 3
Ran the generated timestamp through a converter and I get the day before, oh yeah that's great
Seems like it's dependant on the timezone??!
Nope. Deploying. Bye. I no longer care if daylight savings makes you a day younger.1 -
Fuck C!
It sucks so badly!
Our College Teachers are Teaching this to us in the first year.
I know many of you will disagree with this.
But I like Python as I am digging into ML/AI and for this domain Python is powerful. I am trying to practice in C language but still, it sucks badly as sometimes I can't even figure out what is the error even after debugging or looking on StackOverflow. Anyways this is a good programming language because of Low TLE and versatility.
Anyways this was my thought. No offense.
This is Devrant so I Typed my frustration.33 -
Built my first App - the BOFH returns
So I started to learn programming about 7 weeks ago, learned some Java, immersed myself in git and then via a friend got introduced to android studio. To get some practice I decided to code my own app, and what better way than to create a quote generator for the funny and creative error messages as seen in The Bastard Operator from Hell. Now I wrote the thing, started adding a feature and before I know it, it works and I'm contacting the original author, if I may publish it to the playstore.
Io and behold: Merely 32 hours after the idea had sparked, in an act of spontaneous madness I've pubished my first app.
This was an absolutely electrifying experience and a huge feeling of success to me, to see my own creation on my homescreen.
Sorry for annoying you with this antirant, but I just had to get this out!
Btw here's the link if anyone is interested:
https://play.google.com/store/apps/...
Constructive critisism is appreciated!1 -
Finally back at the HQ and away from Offsite Hell after 18 months!!!!!!!!!!!! Real internet! Coffee on tap! Community of practice meetings! COOODDDEEEE!!!! Also back to devrant. Goodbye Indian devs from hell, j/k they still suck life out of my day with their deprecated ways.
Side note:
Switched to Unreal Engine from Unity recently and my god it is amazing! I definitely prefer being able to use C# with unity vs c++ with unreal but the blueprint system is a great visual programming system.
Unit testing is my new side chick. She wants me to leave my wife; I'm considering it.
Unrelated: Read Dead Redemption 2 is amazing.1 -
"Reflective" programming...
In almost every other language:
1. obj.GetType().GetProperties()
or
for k, v in pairs(obj) do something end
or
fieldnames(typeof(obj))
or
Object.entries(obj)
2. Enjoy.
In C++: 💀
1. Use the extern keyword to trick compilers into believing some fake objects of your chosen type actually exist.
2. Use the famous C++ type loophole or structured binding to extract fields from your fake objects.
3. Figure out a way to suppress those annoying compiler warnings that were generated because of your how much of a bad practice your code is.
4. Extract type and field names from strings generated by compiler magic (__PRETTY_FUNCTION__, __FUNCSIG__) or from the extremely new feature std::source_location (people hate you because their Windows XP compilers can't handle your code)
5. Realize your code still does not work for classes that have private or protected fields.
6. Decide it's time to become a language lawyer and make OOPers angry by breaking encapsulation and stealing private fields from their classes using explicit template instantiation
7. Realize your code will never work outside of MSVC, GCC or CLANG and will always be reliant on undefined behaviors.
8. Live forever in doubt and fear that new changes to the compiler magic you abused will one day break your code.
9. SUFFER IN HELL as you start getting 5000 lines worth of template errors after switching to a new compiler.13 -
I work with statistics/data analysis and web development. I study these subjects for almost a decade and now I have 4 years of practical experience.
This information is on my LinkedIn profile and from time to time tech recruiters contact me wanting to have an interview. I always accept because I find it a great way to practice interviews and talking in English, as it isn't my native language.
A remark that I always make to my colleagues wanting to start doing data analysis related work is that it may seem similar to development, but it's not. When you develop, your code work or not. It may be ugly, it may be full of security problems, but you almost always have a clear indication if things are functioning. It's possible to more or less correlate experience using a programming language with knowing how to develop.
Data science is different. You have to know what you are doing because the code will run even if you are doing something totally wrong. You have to know how to interpret the results and judge if they make sense. For this the mathematics and theory behind is as important as the programming language you use.
Ok, so I go to my first interview for a data science position. Then I discover that I will be interview by... a psychologist. A particularly old one. Yeah. Great start.
She proceeds to go through the most boring checklist of questions I ever saw. The first one? "Do you know Python?". At this point I'm questioning myself why I agreed to be interviewed. A few minutes later, a super cringy one: "Can you tell me an example of your amazing analytics skills?". I then proceed to explain what I wrote in the last two paragraphs to her. At this point is clear that she has no idea of what data science is and the company probably googled what they should expect from a candidate.
20 minutes later and the interview is over. A few days later I receive an email saying that I was not selected to continue with the recruitment process because I don't have enough experience.
In summary: an old psychologist with no idea on how data science works says I don't have experience on the subject based on a checklist that they probably google. The interview lasted less than 30 minutes.
Two weeks later another company interviews me, I gave basically the same answers and they absolutely liked what they heard. Since that day I stopped trying to understand what is expected from you on interviews.2 -
To all the masochists who spent hours debugging misspellings:
1. Learn your tools
2. Learn good practice
Every IDE should point out when you're not using a variable you've initiated or using an uninitiated variable as well as at least highlight, if not simply list, every occurrence of the variable under your cursor and let you find all references or even display the number of references next to a variable at all times, and finally, every IDE should autocomplete for you so when it doesn't you know you've messed up. Good IDE makes all the easy mistakes hard and all of the hard tasks easy. Including running tests. If you don't know how to configure your IDE to do all these things take time and learn it. If you still can't figure it out, replace your IDE maybe...?
Also use the debugger. Preferably one that nicely integrates with your IDE. If you don't, check point 1.
Also write tests and *run them*.
Also if your misspellings tend to consist of a missing `s` at the end of a plural noun just call it `entityCollection` instead of `entities`. And read up on more good programming practices and naming conventions.7 -
Next time someone asks me to go get something that's heavy, I'll smile, go there and return with a pointer to that thing. After all, we have to practice these programming concepts in everyday life 🚶♂️🚶♂️
-
I am a programming teacher in Colombia and the week's topic is very useful for me, thanks to all for writing your ideas, but in the other hand I think that some points have not been understood, for example in my college we use in the beginning of the course notepad so that the students learn the sintaxis and good practices and they no dependent of a especific tool or Ide (an advantage of this practice is that the student learn to use command tools easily). We want that que student learn programming and not a language or software . This because in our experience the students learn to use a tool but not to resolve a problem and this is bad in a long term.2
-
What should I do to practice being a "good coder" vs a "code Googler" who slaps other people's code into the site just because "it's enough to get the damn thing working"?
I feel really overwhelmed with all that Ive learned thus far. At this point I feel width with know depth when it comes to my knowledge of websites.
I've been messing around with html/css/js for a while and played with plenty of other languages,pre-processors, frameworks, etc. I never went to school for programming and have done work for small businesses independently for some time. Most of what I know comes from codecademy treehouse and similar sites. I can refer to Google on a lot of things but I feel like there are habits that I should be implementing so I don't have to re-do things later. I love the book apart series but I still feel like it's missing the foundational knowledge that I'm looking for.
After all of the time I've spent going through courses I feel like my experiences have given me solutions to build a few things and now I'm just jamming those solutions onto whatever I can until something I like comes on to the browser.
It's really easy to sit down and bang my head against the keyboard until something comes out that looks the way I want it to. However, I know there is way more going on that could help me make better decisions. I just feel like I'm missing something. Maybe it's experience, or maybe it's just the lack of commroddery from working alone and not being able to approach problems with a team.
I hate pulling up my css file and feeling like it's rubbish, and feeling like I don't completely understand things like flex, or display, or position. I've been pushing at this for a while but I don't think I've found a resource that has really made me feel like I'm anywhere close to being a competent coder.
There are tons of watch and learn and do type classes that show you how to make stuff, but I guess what I want to know now is why we make it that way.
At some point do you just sit down and read the MSN start to finish?
I wonder sometimes if my brain has been reprogrammed because I grew up in Google world and don't actually have to solve anything for myself. I read about a guy who locked himself away for hours with books on code and he just sat there and wrote his code on paper until he was confident that he was getting it right.2 -
As a developer, when learning a new language how do you know when your good enough to start making projects to test knowledge or skill?6
-
if (rant !== story)
System.out.println("Dev rant story time")
A coworker mentioned to me that I might have depression as part of my personality. They think this because I always feel at my best when I'm being active/productive (programming) or doing meditation practice. I thought that was strange.
Bit of a brief background, I've had depression since I was about 12 and I still get small bouts of it into my late 20's. I've been on antidepressiants for a very short time and I've been through talk therapy multiple times. It was a lot worse then it is now and I believed I have it under control.
My coworker thinks that I ended up dealing with it for so long that it has become a part of my personality so I don't notice it actively. The whole thing has left me sort of, I don't know, jaded. Or maybe just afraid that it could be true?
I thought about how I have a very all or nothing attitude in life. I don't think about getting a house because I don't put too much faith in myself towards having a family. Or how I have to make very radical changes to my life immediately if something starts triggering the new depressive episode. If I can't code or read at night I'll hope in the car and drive with no destination in mind for several hours just to keep my mind at ease.
I don't know. It sorta upsets me because I always thought of depression as something you need to "get out of", but now I wonder if my case was severe enough that I've adapted my life around it.9 -
So I joined a company as an Angular dev and the code they gave me was stupid AngularJS ported to Angular 7 mixed with thousands of lines of jQuery inside index.html,
also all the css was scattered into a few files with 8000+ lines of code and no idea about which file does what, we decided to rebuild the project in Angular,
I built a huge portion of it with PrimeNg (a UI library like Angular Material) but after building all of that they tell me to remove PrimeNg and also asked me to import all SCSS modules in angular.json like wtf,
they forced me to use bootstrap with jQuery IN AN ANGULAR PROJECT this was my first job and I think I have a pretty good understand of Pakistani IT industry after this.
I learned programming from online paid courses and tons of practice so I expected others to be on the same level but that's not the case.1 -
Hey this is Linuxer4fun or BinaryByter, you might remember me as that smartass Teen who fanboyed over C++ and built kernels and compilers and all that shit. Well...
Ultimately i must admit that I have moved away from Programming. I dont have any Projects I could acomplish which would be worth my time, I cant come up eith any, to say the least.
Additionally I'm demotivated as hell because I'm always tired due to my Hourlong Organ-Practice sessions and very long school times.
I think that I want to major in Music.
So incase you wondered, thats where I have gone to. I might still lurk here, and maybe someday i'll restart coding. I hope that I will, because coding was loads of fun!7 -
TL;DR: I have some rambly shit to say...
Update on the Uni stuff: I think I got a pass in all the subjects. Two exams left but I am holding on. It's a big deal to me since last year I could barely do a single subject per semester - a subject I had failed a few times because of lack of interest and good ol' depression. Anyways, I persisted with that subject, got my Bachelor's in Food Technology and now I'm doing that Master's of mine... It probably looks wild to people here that I did that switch but I have always had a relationship with computers as long as I remember myself. So it's not surprising that as soon as I got a choice in what I *actually* wanted to do I chose this kinda thing. But I do have to rant that it took me 10 fucking years to choose! And that I did not choose it before choosing food technology which I will probably never use anyways. I wasted so much of my energy and time on that. I did elect programming as one of the subjects while doing food tech but I really should have moved to something else. But oh well. Guess I had to find out the hard way.
For all those reading, this is what it looks like when you're 30, have very little experience in doing programming for anything else than academics and are doing a major career switch through studies after struggling for 10 years with a 4-year Bachelor's. But such is life.
Also a bit off topic but I just cannot handle people not telling what they mean because of the inability or lesser ability to tell what that is in the first place.
I can't deal with the fact of how fucked human societies are. I just can't. I am way too nice for it. So I listen to stuff like true crime to really get a feel of how evil people can be. I know it's ~problematic~ or whatever, but to me it is a way of engaging with the lesser spoken side of human beings.
And maybe, just maybe, I should get checked for ADHD again because I feel like despite my therapy for depression, nothing really has changed with the ADHD symptoms I was diagnosed with. And maybe for autism since people have labelled me that way and it might explain some stuff... All that is to say I need some good mental care. And this society is shit for it. Hell, apparently one of the psychologists I was under the care of thought depression resulted from ungratefulness. All this while I was legit being abused. But that abuse has stopped now that I found a psychologist that is actually standing up for me. I just mourn for all the time I spent being depressed and how it fucked my memory and stuff. How much it affected me and all. I have no idea why I'm being this vulnerable but it feels somewhat fitting... How do you cope with being 30 and not remembering almost all your life? What you remember being what you managed to write down or has been negative enough it stuck in the brain for forever...
Just why am I fucking supposed to be all happy and shit when I am just tired of life because it is too goddamn much? I have no real reason to look forward to things, online friends and the offline one included. Because ultimately, I have no damn motivation to look forward to anything, really. I am supposedly doing better but in reality I am just getting better at going through the motions. The therapy, while mindblowingly effective, is not actually addressing the core cause of everything and just expecting me to fake it till I make it. And this is me saying that about CBT. Why should I have to tell myself things just to feel human? I am one and as long as I'm alive, nothing will change that. So why do I have to always feel like an alien wherever I am? So out of touch with myself that I don't have a self image or an ability to even tell what the actual fuck I want from life... I am getting better with the latter, but still. It hurts. I wanna shed so many tears but I'm frustratingly unable to do so.
I am just a human trying to human in this ocean of 8 billion humans. Maybe I will find some more connections, maybe I won't.
I wanna end this rambling session by a few things:
1. I will have to go to Canada at some point this year to see my in-laws and some other family over there...
2. I will probably have to seek a job there (for financial reasons it is much better for me to have one there and to work remotely in Georgia) and I have no idea of where to start since I am not the greatest material for it.
3. Life is going alright-ish.
4. I will hear from the startup company at some point this month.
5. I have plans for my future but no idea if they will ever come true at this point.
6. My family arrangement will have to change in more ways than one.
7. I should resume my unofficial first music album and engage in creative stuff because at the core, I have a need to do so.
8. Do I really have to do Duolingo again? I really want to not forget German and Russian, but I just never have practice. And Duolingo is surprisingly easy to forget to do for me.
The end.2 -
I love listening to music when programming. It's not something I started because I wanted to, but it just kinda happened.
In my first job as an intern, they followed concept of open office, a very shitty strategy as it led to chaos and noise all the time around my desk. To move away from that, bought a pair of Sony headphones, which I still consider as my best investment.
Started listening to songs since they're a better choice in the cacophony of chaos present around. These days, even though I work in a regular and calm environment still can't seem to get rid of the practice of listening to songs.
Anyone here have similar experience??
P.S. Suggest some good songs to listen to while programming!!1 -
So I've made this plan of what I'm gonna learn/practice/study programming wise. Some of it involves learning new languages and I'm always told i shouldnt be hopping between languages but I really want to learn fucking PHP and C# even fucking C to help my python and it's not like its overwhelming but I hate when I get told to not bounce between languages IVE BEEN USING PYTHON FOR A YEAR AND A HALF I THINK ITS TIME FOR ME TO POLISH MY JAVASCRIPT AND LEARN A FEW MORE LANGAUGES LIEK FUCK3
-
Any suggestions to work on coding (php/sql atm) during downtime while at work? I've been learning css and js (front/back) for a year while unemployed. Just got IT call centre job in highly monitored corporate environment. Have potential side programming job but need more practice.4
-
I hate programmatic auto layout. It's such a mess! Simple shit like cells that can easily be defined in a .nib become spaghetti coded messes that violate every good programming practice ever. Want to recreate the same style of cell again? Good luck reverse engineering the hieroglyphics your teammate wrote when creating the layout by hand. Never mind a whole bunch of useless shit is done in code that could easily be defined via runtime attributes through the storyboard. But why learn a new approach? Cause job security. Or because for some reason Interface Builder tools are seen as "too hard" or "not scalable" to use.. fuck me.2
-
How do I help a software engineer student be better at developing software?
Background: I have this friend that started university with my young brother, two-or-so years ago my brother finished the career and got his degree while she is still there trying to finish the same career (!), we were looking the chance of changing careers but due to her low grades this is not possible and according to her U's counselor is better that she just finishes the career and gets her degree.
We scheduled a Zoom meeting for Sunday next week, to talk about her pain-points and see what improvement we can chase; issue is that I've never mentored anyone ever in my professional life (my brother from time to time drops a question to me or so, but that's different).
My plan is to either see if she suffers from lack of practice (meaning: she does not write software more often in order to improve her skills) or if it's hard for her to think in abstracts, either way, I believe that the latter improves if you do the former (just correct me if I'm wrong), thus the plan would be to assign her a bunch of programming exercises and have meetings at least once a week during her vacations.
My plan would be for her to actually learn game development with Godot, since the final result is always a game my hope is that having something to show encourages her to do the thing, but, who knows.
Have you ever done something like this for someone with the same issues? What was your experience and what nuggets of knowledge can you lend me?
P.S.: We don't live in the States but in Costa Rica, she does not have to deal with crippling student loans.6 -
Studying mathematics, which in fact I consider as the most effective mind practice for a developer, even if you won't utilize some concepts directly in programming.
And also wandering around and walking long distances, probably because I really like to talk to think loud 😄 and it's less weird when you're just passing by. Anyway I enjoy it personally. -
First and foremost, students should be carefully taught the logic and mentality behind programming. Most of the time I see that the introductory programming courses waste so much energy in teaching the language itself. So students kinda just get fucked cause many people end up ending the course without having actually gained the "programming perspective".
Stop teaching pointers and lambdas and even leave the object oriented stiff till later. If a student doesn't know why we use a For loop then how can they learn anything else.
I believe once that thing in your brain clicks about programming, everything goes smooth from there... kinda :P
Second of all, and this pertains mainly to the engineering and science disciplines.
We need a fundamental and strong mathematical foundation. And no I don't mean taking fucking double integrals. Teach us Linear Algebra, Graph theory, the properties of matrices, and Probability theory.
One of the things I suffered from most and regret in university is having a weak foundation in math and having to spend more time catching myself up to speed.
It's so annoying reading a paper on a new algorithm or method and feeling like an idiot because I can't understand what magic these people did.
Numerical Methods...
Ok this is more deeper, maybe a 2nd year course.
But this is something we take for granted.
Computers don't magically add and subtract and multiply.
They fuck up.
And it'll bite you in the ass if you're not even aware that the computer we all love so much isn't as perfect as we think
Some hardware knowledge.
Probably a basic embedded systems course with arduinos
just so you can get a feel for how our beautiful software actually makes those electrons go weeeeeeeee
And finally
Practice practice
Projects projects
like honestly
just give me the internet and some projects
Ill learn everything else
Projects are the best motivation
I hate this purely theoretical approach
where we memorize or read code and write these stupid exams
Test what we are capable off
make us do projects that take sleepless nights and litres of coffee
And judge our methods, documentation, team work, and output
Team work skills and tools (VCS, communicating, project management, etc.)
Documentation and Reporting
Properly
:)
maybe even with LaTeX :D
Yeah that's the gist of whats on my mind at the moment regarding an ideal computer science education
At least the foundations
The rest I leave it to the next dude. -
It looked nice on my CV ... Hmmmm actually the only useful thing was learning how to design a system.
Programming is matter of practice...
Designing however you need some educational background.. see some amazing programmers with equally horrible designing skills ..! -
I'm not real big on asking for help but I'm kinda nervous about applying for my first real programming gig. And I was hoping someone here would be willing to conduct a mock interview with me because I think it would help to get over my jitters and iron out where I might need to practice.
I'm applying for junior python and SQL based positions and I'd really appreciate if anyone would help me practice for an interview.
I'm available most hours Friday, Saturday, and Sunday and if you're willing you can contact me here or at email to setup a phone, screen share, or web interview.
My email is wisecrackdoesathing@protonmail.com6 -
After I finished the university, I felt like I didn't know anything. I'm learning everyday something new in my work (I'm working 8 years as a dev), but I can't say comfortably that I'm good at programming. After work I'm going home, where I learn and practice new things and deepen my understanding of the core concepts, but again, I feel like I don't know anything. Will I ever feel that I'm a good programmer?2
-
JavaScript has made my mind a battlefield of positive and negative thoughts. One side is telling me I'm not good enough, I cant do anything on my own, I dont understand how to do anything and it's always going to be like that. And the other side is telling me I'm fine it's a whole new side of programming (compared to python) and I just have to get used to it and its behavior, and I have to practice more and find good resources (which I have now thanks to a lot of you) idk I'm just struggling cause I realize how far behind I am and I wont be able to get and hold a job if I'm this shit at everything1
-
Craziest prep for interview :
Step 1 : Given sufficient time for the scheduled interview by any company, start by searching "How to prepare for Google interviews". Awe at the information before you and get all pumped up to jump in.
Step 2 : Starting with Algorithms, study each one and try not to mix any of them in confusion. In case you are stuck in whiteboard coding, close your eyes, take deep breath and visualize Don Kunth. If that doesn't help, well you are ruined anyway.
Step 3: Practice coding without internet connection, till you are able to write code while you talk about how the weather is really great today. Libraries and methods should flow like poetry. SO is sin.
Step 4: The X programming language which you added to your resume because you can write Hello World, head over to Wikipedia and read more about it just in case.
Step 5: Read some xkcd comics so you can impress the interviewer with some humor. You can try Dilbert too. -
I remember when I was at vocational school, my teacher sat us down and had use start web development with HTML, (HTML wasn’t my first programming experience but that’s a rant for another day) and after I printed Hello World and changed it’s color, I was even more hooked than ever. This is something that’s fun, and interesting and I don’t need to pay to do or be around specific things to be able to practice. I can do this at home or at school and I can make my own programs if I need them, automate mundane tasks, and learn so much more about technology than ever.
And the final thing that sealed the deal was I could do this and make money and not be stuck in a field I would be miserable in. Which was a very important factor for me.4 -
Can anyone suggest me any site or place from where i can get questions to improve my programming skill
... Like practice questions9 -
- Learn at least one new programming language
- Start a new personal project
- Push things into my GitHub
- Complete one certification
- Exercise
- Practice mindfulness
- Read atleast 1 book per quarter -
Why do software companies make a huge point on their websites what kind of technologies they use, in addition to drop-naming the various development methodologies they practice? I was under the impression that clients, other than programmers (and perhaps people who manage programmers), won't have the faintest idea about what these words mean and how they relate to the product that needs to be built or the problem that needs solving?
As a second observation, most software company websites seem focused on the client - case studies, services, portfolio, work with us etc. Often however, their blogs are all about development and programming and not targeted at the client. Why? Just to get page views and improve their search ranking?3 -
Alright so I'm in need of a little advice.
So I recently decided to go back and practice basic problem solving and from what I can tell now it's just me not used to JS like I am with python but I want to move on to bigger projects and other basic concepts (like manipulation of the DOM) and move away from basic problems.
But my concern is that I'll look at that list and only pick the ones that I feel I understand I can solve instead of the ones I cant. And theres a large list of them and I see that people are doing a lot of them while I'm just doing a few per page. And I'm afraid I'm just not good enough or stupid if I just ignore the basics and move on because the basics are there for you to figure out the easy stuff.
But I really just want to move on and I dont know when I need to. And last time I asked for advice I mentioned I have been programming for a few years, left out the normal accomplishments I've posted on here but I was just told since it's taking me this long I should just quit I tried to rebuttle but they kept telling me no that literally broke me and my confidence so now I'm sensitive to asking questions also fuck whoever that was.4 -
!rant
I am shifting to India and curious about something.
Do people in Indian companies talk about clean code or ddd or tdd or pragmatic programmer or programming practices type of thing?
As I said just wants a heads up.11 -
Programming is a skill best acquired by practice and example rather than from books 💙
- Alan Turing1 -
So there is this one teacher/dev where I just had a lecture. And I easily can say he is one of the best programming teachers I had so far. Not that what he says is a hundred percent correct (heavily influenced by his opinion, ex. Singleton being a good pattern), but he motivates you to think about what you do and the lecture. He saw that no one was following and said that no one could probably remember the start of the lecture and he was damn right.
He's just so open about it and said that it doesn't matter and you have to go home and practice. At the start he said that we all are programmers and not software developers. Explaining the difference and showing funny pictures. A fucking spoon build out of a fork and a plastic cup. But not reusable at all and might break when overheated by the soup. Genius explanation of the difference. On the other side was a spoon which could be hung up on the edge of the bowl without overhearing the end so you don't burn your hand. That is software developing.
Now the point is that I got a bit mad when he said no one here could develop software and when he asked if someone can explain what a pattern is it was my time to shine. Boom, on point explanation and a complement from him following in the question where I got the knowledge from and why I could explain specific patterns. The answer was a simple 'I learn about software developing and engineering in my free time' and then he just said that I'm a nerd. I was so proud and ashamed at the same time.
Long story short: be proud of us. Geeks and nerds are nice persons and I might just have earned some respect among my friends.
I just realized this is a rather long and unstructured rant but I really felt like sharing that little achievement of being recognized. -
Is it a good idea to learn two programming languages at the same time? I have a learning schedule created like I learn 2 languages alternatively in a week. For example, Python on Monday, Wednesday, Friday and Java on Tuesday, Thursday and Saturday. Is this a right approach to learn a new programming language or practice already learnt programming language? Any suggestions or developers following similar pattern of learning, please share your sample schedule.14
-
Been doing parallel programming and I’ll be taking a distributed systems course next semester. I’ve also been dabbling with Rasp Pis and have been enjoying working in linux/CLI and I’m considering getting building a cluster.
What are some use cases where I could put into practice distributed systems/parallel programming with cluster setups? No limits here :)2 -
Am learning python programming; any pointer to exercises, challenges or projects i can use for practice.4
-
My vague naive extreme understanding of interview questions are on a spectrum from situation a to situation b.
But what should the industry be doing? Is the industry just going wrong blindly copying big N companies hiring process without the same rationale? (e.g. they need computer scientists able to deal with problems specific to them at their size and that often means creating new tech, unreal problem solving abilities and cuh-rayzee knowledge)
a) stupid fucking theoretical shit that some people argue you won't ever need to be doing in practice for most companies, while giving you no ability to google, leetcode hard problems kind of stuff
b) practical work similar to what you'd be doing on the job, small bugs, tasks, pair programming on site with your potential future coworkers
Lots of people hate option a because it's puzzle/problem solving that isn't always closely related to what's on the job. Whiteboarding is arguably very much a separate skill. (Arguably unless it's like a big N company where you want computer scientists to deal with specific problems that aren't seen elsewhere, and you're making new tech to deal with your specific problems.)
We could go to the extreme of Option b, but it tends to trigger people into shitfits of "NO, HOW DARE YOU MAKE ME DO REAL WORK, BUT NOT PAY ME FOR IT AT THE INTERVIEW STAGE"
That's before we get into how to execute option b whether or not it's being given as a take home assignment (which is a huge pain in the ass and time sink, among other issues) vs a few hours at the potential workplace working with some of the future potential coworkers and soaking in the work environment (you have to figure out how to take the time off then)
Is it really just poor execution overall for the wrong use cases for the majority of the industry? What should the industry be doing in which cases.
Then this is all before HR screening with shit like where they might ask for more years of swift experience than its existed. -
I've gotten started with web dev in the past and learned HTML and CSS and started learning JS but I never could understand what I could use for a code editor to practice and pretty much forgot all of that stuff. Now I'm trying to learn Python, but what's pissing me off is paying for a phone app that doesn't teach you to write code in these lessons, rather interactive multiple choice questions and "put this in the right order". sequences. This is not learning for me, this is informing. Which is info I don't retain. And If i'm paying for it why is there so little to these lessons? Barely covering anything. I've done every lesson Mimo had for python but it didn't really explain the practicality of what it was teaching me and they skipped a lot of shit. Changing the pace of the lesson from Print this and that and heavily explain the most basic stuff 3x over to only explaining the more advanced stuff one fucking time.
I would really like learning python while being walked through a project as a lesson. Teach the terminology, structure, application, process, rinse and repeat, and outcome all in one. With a project target to look forward to. I need a goal to keep my interest.
So far all I know about python is its a programming language used to create Youtube. And I'm trying to learn it because I keep reading that its the recommended starting line. But I need to be able to visualize what this code can be used for. Explanations in terminology I haven't been taught yet just frustrates me. And I read everyone's posts and see many people mention being frustrated, but I haven't even started coding yet. Feel free to comment and redirect me to page that can help. Links are appreciated. Nay, encouraged!7 -
Alright so this is just me throwing my thoughts down from today cause I need some outlet.
Gonna start programming a lot more than I do now cause I want to improve and I enjoy it.
I started my JavaScript course and that's going well so far. I need to figure out a way to make the info stick. I'm gonna def use the projects from each day as resources though.
I need to practice python (which I'm good with) occasionally so I dont lose my magic touch. I was thinking of doing a project on a raspberry pi that uses a camera for object/facial recognition and picking projects like that and occasional small ones I do in js.
Although theres still a lot I have to learn on the DOM side of js. I dont want to be a front end dev cause I dont have that artistic eye so I'm mostly gonna use it for node and small front end stuff
But mostly I need to be able to grasp more from tutorials, examples, courses, etc. And understand how and when and why I should use whatever it is.
Also I wanna use someones code to learn but it's never documented well enough for me to know what's happening I'm mostly referring to when theres a library or api I'm unfamiliar with.
Also JS is getting a little boring so hopefully python will help dull that feel6 -
I dont understand why people talk so much crap about python. How it "pseudocode".. yea its a" joke" i get it. But if whoever is making said joke dont even know what pythonic programming is , nor practice it. Then said person dont really know how to code in python.. its more like modified c++ and they cant talk crap.
-
Oh my gosh, no one really knows here what is programming. Even teachers, which claim to be professionals in the subject doesn't know shit except for the basic theory. Nothing in practice.
It was evidenced by the largest job skill competition of Finland (Taitaja) that's for my-aged students (18). And yeah it's not higher education studies, just second degree, but that's where you should get the necessary practical skills for your work life.
The category I participated was website development, which is the only software development category.
It was a public event that is focused on showcasing different jobs. Well, what do programmers do, a viewer may ask. Even the responsible teachers and juries couldn't really answer properly. They just showed the specs we were following to create the crappiest of websites the short period of development time.
So we consume coffee and produce HTML, is that accurate representation of the whole industry?
All the other winners of different categories get a lot of job offers from companies when they win. I won gold last year (bronze this year) and I didn't get a single offer. Who would be interested in human HTML generator who can only make static websites anyway?
Programming is about problem-solving, not about graphic design and writing content.
And just to give you an idea the scale of the competition: last year I made a total of ~2000€ for the victory. And it is super easy if you just know what you are doing. That being graphic design and the making of a static page with a pinch of functionality.1 -
Okay so I've been programming for around a few months learning python. I'm a slow learner so I try to stick with a learning schedule that suits me and i do got it, but I've come across a problem that keeps happening.
When will I know when to use certain functions like len(), range(), Or even modulas %. Because I forget they're there and im worried its going to effect me from being better.
Another problem while I have some of your attention is i dont know when to use math in my code really well but I've been getting better at that so I'm gonna practice a little bit for that.3 -
I'm currently writing a discord bot using the discord.py library and I cannot decide how to structure my code.
I was thinking of writing it in modules, with a core script that would load any valid module class that would include an array of all the event hooks it wanted, whether it wanted to send messages and so on.
It's a nice way to practice python after my last working bot that I wrote in (Sit down for this) PHP using an outdated and abandoned wrapper (Yeah, event-based programming in PHP, I know)
Are there any better ways to do this? I really don't want to hardcode all the functions in, only to have it fall apart later after adding another feature...1 -
Critical Tips to Learn Programming Faster Sample:
Be comfortable with basics
The mistake which many aspiring students make is to start in a rush and skip the basics of programming and its fundamentals. They tend to start from the comparatively advanced topics.
This tends to work in many sectors and fields of Technology, but in the world of programming, having a deep knowledge of the basic principles of coding and programming is a must. If you are taking a class through a tutor and you feel that they are going too fast for your understanding, you need to be firm and clear and tell them to go slowly, so that you can also be on the same page like everyone else
Most often than not, many people tend to struggle when they reach a higher level with a feeling of getting lost, then they feel the need to fall back and go through basics, which is time-consuming. Learning basics well is the key to be fast and accurate in programming.
Practice to code by hand.
This may sound strange to some of you. Why write a code by hand when the actual work is supposed to be done on a computer? There are some reasons for this.
One reason being, when you were to be called for an interview for a programming job, the technical evaluation will include a hand-coding round to assess your programming skills. It makes sense as experts have researched and found that coding by hand is the best way to learn how to program.
Be brave and fiddle with codes
Most of us try to stick to the line of instructions given to us by our seniors, but it is extremely important to think out of the box and fiddle around with codes. That way, you will learn how the results get altered with the changes in the code.
Don't be over-ambitious and change the whole code. It takes experience to reach that level. This will give you enormous confidence in your skillset
Reach out for guidance
Seeking help from professionals is never looked down upon. Your fellow mates will likely not feel a hitch while sharing their knowledge with you. They also have been in your position at some point in their career and help will be forthcoming.
You may need professional help in understanding the program, bugs in the program and how to debug it. Sometimes other people can identify the bug instantly, which may have escaped your attention. Don't be shy and think that they'll make of you. It's always a team effort. Be comfortable around your colleagues.
Don’t Burn-out
You must have seen people burning the midnight oil and not coming to a conclusion, hence being reported by the testing team or the client.
These are common occurrences in the IT Industry. It is really important to conserve energy and take regular breaks while learning or working. It improves concentration and may help you see solutions faster. It's a proven fact that taking a break while working helps with better results and productivity. To be a better programmer, you need to be well rested and have an active mind.
Go Online
It's a common misconception that learning how to program will take a lot of money, which is not true. There are plenty of online college courses designed for beginner students and programmers. Many free courses are also available online to help you become a better programmer. Websites like Udemy and programming hub is beneficial if you want to improve your skills.
There are free courses available for everything from [HTML](https://bitdegree.org/learn/...) to CSS. You can use these free courses to get a piece of good basic knowledge. After cementing your skills, you can go for complex paid courses.
Read Relevant Material
One should never stop acquiring knowledge. This could be an extension of the last point, but it is in a different context. The idea is to boost your knowledge about the domain you're working on.
In real-life situations, the client for which you're writing a program for possesses complete knowledge of their business, how it works, but they don't know how to write a code for some specific program and vice versa.
So, it is crucial to keep yourself updated about the recent trends and advancements. It is beneficial to know about the business for which you're working. Read relevant material online, read books and articles to keep yourself up-to-date.
Never stop practicing
The saying “practice makes perfect” holds no matter what profession you are in. One should never stop practicing, it's a path to success. In programming, it gets even more critical to practice, since your exposure to programming starts with books and courses you take. Real work is done hands-on, you must spend time writing codes by hand and practicing them on your system to get familiar with the interface and workflow.
Search for mock projects online or make your model projects to practice coding and attentively commit to it. Things will start to come in the structure after some time.4 -
good evening devs,
any suggestions/tips, on how to learn more efficiently, more effectively, more structured?
Recently, after school/work, my discipline to learn is lost a bit..
Because, watching tutorials or reading, while programming the shown, isn't the right thing for me.
I need definitely much more practice , to keep shit in my brain.
Maybe i need ideas? small projects and then make it bigger and bigger?
How do you learn?
Whats your way to practice?1 -
I think that one day I'm going to regret leaving the uni's programming assignments till the last few days before the deadline.
On the other hand, the professor told us that using // in C for comments is bad practice, so I don't really care...1 -
How can a novel emerging challenger software (written in Rust) take me 4 hours to install (still ongoing)?
Today I have decided to give Pijul a go. Pijul describes itself as a theory-sound alternative to Git, which I have wanted to get away from for a while now, due to various reasons -- many of which I saw Pijul advertise to have solved on design level.
So I set away a day to learn Pijul, today. Well, 4 hours after I sat down -- after a number of hilariously wonky failures of "Rust ecosystem" to do the right thing as I had to install Rust with some shell one-liners those insane wizards recommend for installation process (all in the name of "stability but not stagnation") -- Pijul has now been installing with the blasted `cargo` for an hour now (that's after 3 hours of getting to the point where `cargo install pijul` stopped exploding in my face) -- telling me I only have 40 crates more to install. Are they throttling me, perhaps? I don't care -- I should have been installing Pijul from a repository in accordance with my Linux distribution, or -- at worst -- download a BLOODY COMPILED PROGRAM IMAGE.
What is it with the hipster developers today? Everything they get of tools, they subsume and churn out intricate complexities the likes of which we hadn't seen yesterday. Tell me fellow developers who think installation of your software has to require three and a half novel "installation solutions" to which I can't be arsed to be made privy -- do you think your life today is easier than, I don't know -- wrangling with a Makefile and a C compiler (which today thankfully can do rather good job of standards compliance)?
I mean I wouldn't mind Pijul being written in Rust -- but it turns out Rust's advertised elegancy in practice is wrapped in so much "giftwrap" I feel like what desire I had to learn Rust myself, I'll stear well clear.
Here's an advice for developers in general -- an advice continiously ignored for decades -- stop blowing your original scope of delivery in auxilary packages you think you need to reinvent just because you can or because your mom is out of town! For programming languages like Rust this most certainly entails NOT writing your own package manager, with its own package delivery mechanism that has its own configuration file format and virtual machine to configure dependency resolution or what have you!
You wanted to write a programming language that has novel features you think we need? Fine -- write one and stop there. Watch it grow, and watch people who are busy working on other parts (scopes) of software to integrate your offer.
What a shitshow. Stop smuggling alternative package managers, installers, and discombulators with your actual product -- I only want the latter, I don't want the rest of your damn piping, walls, roof and a cathedral on top of it!
Don't be that guy starting with a pin, and ending up with a fucking diorama miniature of a pig farm in Netherlands. Jesus.7 -
My first programming teacher was from a payed course and he was a very good teacher but it just taught me the ABC of programming. How to be a developer and how to develop that's something acquired mainly by self teaching, practice and experience. So that the second course I followed I didn't learn anything new, the teachers were not so good and I they had to learn from me. It was shit. At least it was a free course.
-
Generally new to programming, building a static practice portfolio site, encounters first few hours of being stumped from coding.
I now understand the struggle of missing semi-colons 🙃 -
I learned Python3, HTML5, CSS3, JavaScript and Bootstrap 4. I also did some web design project. But I think I need more practice for being a good programmer. Now, I need A platform that will give me some design or programming exercises for practicing. The platform can be any website or android app. I don't looking for something that will say, "design a calendar or make a calculator" or something like that. I'm looking for more specific task. Example for html:- I need all tags and attribute based task. so that I can learn everything properly. something that will say do the array task in JavaScript, do the h1 task in html. I want to see the result of an exercise if I failed in that exercise. So that I can learn from there. I want to make sure that the exercise will cover all topic of that language. so that I can learn everything topic of a language.
IF YOU KNOW ABOUT THAT KIND OF APP OR WEBSITE THEN PLEASE HELP ME. I'M NEW IN PROGRAMMING.15 -
Hello, I am doing master in Pharmacy, but I like programming and consider to switch or connect somehow industries. I could write simple scripts and small programmes in Python, but I want to write code with good practice from beginning.
So my question what should I know and put in use, maybe some resources if someone has them or just terms for further search. At this moment I use gitlab for VCS (my commits sucks and my whole usage of Git sucks, but at least I use branches), I am trying to separate control from model (MVC but I guess I do it poorly), also I use keepchangelog rules for changeling, and semantic versioning for versions, PEP8 and Pokemon names for my variables and functions as it helps read code later.7 -
Giving them a bit test of programming told them young man..young gal, if you wana go far with this shit you have to be serious....You cnt just wake up from ur sleep en say you wana code..Nop it takes passion and practice.