I have used them occasionally. It's sometimes easier to use logging because you can dump an enormous amount of information and quickly then look through it if you already know what kind of information you want to look at. Debuggers are better when you have no idea what the hell is going wrong and need to get a little bit of info from everything instead of a lot of info from one thing.
Watch a Video or read something because it really is an invaluable tool. But here's a crash course:
Debuggers, or IDEs, let you step through your code in slo-mo so you can see what is happening.
Set a breakpoint - Click to the left of a line of code so a red dot appears. Run your program, and the IDE will execute to that line, then pause.
Look at variables' values - While the execution is paused you can hover over variables before that line to see their value.
Step through the code - See what happens next in slo-mo.
Use "Step Into" to enter into a function and see what that code does.
Use "Step Over" to not go into a function and continue in the current spot after the function has done its business.
Use "Step Out" to exit a function and pick up the execution after it has run. Use this when you're in too deep and the code stops making sense.
See whats in the heap - The heap will list all the functions that you're currently inside of. You can jump to any of those points by clicking them.
Set a watch - Keep a variable in the watch so you can see what its value is at all times.
Set a condition on the breakpoint - If the breakpoint is inside a big loop, you can right-click on the red dot to create a conditional breakpoint, so you write something like x===3 and it will only pause when x is 3.
There are many other things an IDE can do to help you, so def look into it more if you want to save yourself a lot of insanity. But this is a good starting point.
If you're developing for the web use F12 to open web tools, and when an error happens, click the file/line number to see that point in the Sources tab, and you can debug there.
Dude, literally me. Whenever my friends or my brother's friend come to my room, I opened up a few terminals with only one of them is actually for coding and they thoight I could hack someone's Facebook account or something LMAO.
I can really emphasise with Samir. Working in healthcare I’m basically limited to just the Office applications. However in the past few years I’ve been able to cook up solutions by reading / writing to file based databases, and using VBA to generate and bind to HTML contents on the fly for the built in IE11 instance. It’s as close to getting to some kind of web-stack within the confines of IT Sec in healthcare.
For the backend I used the ADO library to create a MSAccess DB on a shared network folder. Then it’s a matter of using VBA to generate SQL commands to same library to read / write records from the DB.
For the frontend, I use VBA to generate a HTML document from the fetched data. For the IE control in a user form, you can then write the HTML to it. During this process you can bind local VBA variables to any of the html elements in the page.
A common flow would be:
User clicks an element in a table
simple JS on the page does some calculation, stores a value in a hidden input and clicks it.
the user form variable detects the click in the monitored element, reads the changes, and acts on it.
I also have VBScript to act as the launcher by copying the excel file to the local machine, and launching the local copy. This solves the concurrency issue.
I have worked with most of these people at one point or another. I used to sit next to an old architect like walters. He had so many patents the company only recognize him on every 10th one.
As someone with ADHD I am a mix of hackerman and tharg. Unfortunately the Adderall just makes me barely function and Ive never actually hacked anything
Usually multiple algorithmic problems that are released to public at the same time and the fastest people to submit a correct solution get more points.
A fun one I still like to participate in is advent of code, which is a yearly christmas themed one with two problems released a day during advent.
If you want to seriously compete in competitive programming, you need to learn and memorize different problem types and the solutions to those. A bit like you start learning patterns in chess.
That sounds exhausting. Maybe I am showing my age, but after 15 years as a software developer (now DevOps engineer) I feel absolutely no desire to spend my free time competing against others. Maybe I would've felt different about this back in the days.
That being said, this meme still applies to regular software developers. I know plenty of people who match each of the shown stereotypes.
It's about coding competitions, and without me being directly involved in the scene (the closest I get to it are silly competitions regarding indy-games or decompiling old games or whatever) I did make personal acquaintance with every of those stereotypes, and it's so true.
It's about how I applied to an associate engineer position, made it through 3 rounds of interviews, then got rejected only to find out they hired a senior engineer with over a decade of experience at AWS. /rant
From someone who had Chinese roommates: torture from their families, society and themselves.
Sleep? 4 hours is enough. Do it in the library. Food? Has to go fast. Socializing? They better also be studying 24/7. Depression? You're not my son/daughter anymore.