A free website where you get specific problems to methodically learn small concepts of a programming language. Do 10 minutes to 1 hour every day, and then you will keep practicing every day, and you will be able to use the skills you learn in your real projects. They walk you through the problem all the way, and it's a super good way to learn!
As I am starting to relearn C#, I thought why not share some links that have helped me in the past and what new ones I will be using this time to learn! I already made a similar resource post (post 1 | post 2) for C# in the past but why not a new one? 🤗
Microsoft Learn - LINK
C# Station - LINK
YouTube - LINK
SoloLearn - LINK
Codecademy - LINK
Learn C# - LINK
C# Yellow Book - LINK
C# Programming Guide - LINK
Tutorials Point - LINK
Roadmap to ASP.NET Core Developer (C#): LINK
C# Subreddit - LINK
Dot Net Perls - LINK
C# Coding Conventions - LINK
The Ultimate C# Guide For Beginners - LINK
That's all for now! If this does interests you, do check out the other posts (1 | 2) I made of other C# resources!
Today I did a project with HTML, JS and CSS. It is like a pixel art canvas, you can pick a color and draw some pixels.
I'm impressed with the reduction of time that I made the project, if compared with yesterday project I was I little faster today :)
I struggled a little when trying to make the dynamic size for the canvas and the click + holding event to draw the line, but after a lot of googling I managed to do it.
This project was so fun to make. I always got excited when saw it slowly taking form.
I also added some cool buttons style:
Now I have only one project left to finish the foundation path!
That's it, I also made some rust exercises on rustlings, but not too much.
hey, so you know that annoying thing that happens when you're coding, and you need to run/test the same program 100 times in a row, so you end up typing "python3 testScriptWithASuperLongName.py" into the terminal about 80,000 times?
well, there's a better way! it's called aliasing :D
in your bash shell (or zsh, or whatever shell you use, but bash is the default on VSCode and most people on tumblr use VSCode, so I'm using bash as the default to explain this concept) you can set an alias, essentially a shortcut command, that runs longer commands.
(yes you can just use the up arrow key to re-run the same command, but sometimes you're typing other things into the terminal too and you don't feel like hitting the up arrow key four times in a row, and also this is just a cool and useful tip to get comfortable with aliasing so shhhh)
so, in your terminal shell, just type this:
alias run="python3 testScriptWithASuperLongName.py"
now, you can run that entire super long command, just by typing the word "run" into your terminal. Here's a screenshot of an example on my computer to make it make more sense:
in this example, i just created a simple python file that contains one line of code: print("it works!")
then, as you can see, by setting the alias to run, i can now run that file, runningatestscript.py, simply with the command 'run'.
the best part is, this alias is temporary - it only lasts as long as your shell session is open. so once you close the terminal, the run alias is cleared and you can set it again next time to any file or task you're currently working on, to save yourself a lot of typing, typos, and time.
so if you want to, you can get in the habit of always setting a run alias in the VSCode terminal for whichever file you're working with as soon as you get everything open. that way, when you need to run the same file 50 million times, you have a super easy way of doing it! you can even set it to a single letter if you want to go for maximum speed, but i prefer to use whole short words, because they're easy for me to remember.
note: if you do want to set an alias to work for all sessions, you can simply add it to your ./bashrc file. this is a common way to automate repeatable tasks, and simply to set easier-to-remember commands for terminal commands that are really complicated/confusing/hard to remember.
for example, i saved the alias checkboot="[ -d /sys/firmware/efi ] && echo 'UEFI mode' || 'BIOS mode'" into my zshrc file (zsh equivalent of bashrc file). this way, no matter how many times i rebooted my machine, i would always be able to quickly check which boot mode was running by simply typing 'checkboot'.
yesterday i was updating my boot mode from BIOS to UEFI on my very old machine that is technically compatible with UEFI, but not configured for it by default. So it was extremely helpful and saved me the time and headache of having to remember and type that long-ass command a thousand times in between many different reboots and new shells.
if you have any tasks like that, or terminal commands that you know would be useful to you, but you can never remember them when you need them, i highly recommend getting comfortable with aliasing! it can be super useful to simply set custom aliases for all the commands you don't want to remember, so that you can automate things away and not have to worry about so much linux syntax all the time when you're tring to focus on programming.
i know this may seem like a simple tip to some, but i only learned about it recently and it's been extremely helpful to integrate into my workflow and customize my OS with! so i thought it might be worthwhile to some people if i share :) hope it helps!
I'm thrilled to share that I recently completed the SheCodes Basic workshop and earned my certificate! 🎉 This immersive online program provided such a great introduction to web development concepts and skills.
Over the workshop, I gained so much useful knowledge about HTML, CSS, and JavaScript. The hands-on coding challenges let me apply what I was learning in a practical way. I'm proud of all the web pages, interactions and animations I coded from scratch!
I'll be starting the SheCodes Plus where we'll dive deeper into HTML. CSS, JavaScript, Bootstrap and more! Although I still can't decide if I want to be a Frontend Developer or go the Fullstack way😑.
there's truly no sobering experience quite like reading code you wrote years ago and trying to understand what the fuck you were thinking when you wrote it
EDIT: I noticed that this post ended up being reblogged by terfs. If you're transphobic this post is not for you to reblog. I want to celebrate everyone who is not a cis man in this industry, including trans women and nonbinary people in tech, and it was my mistake to only include cis women in this post when there are so many trans women and nonbinary people who have done great things in tech as well. Trans women are women and just as important.
Here you can read about trans ppl in tech, and please do:
The morning of women's day i attended a super inspiring seminar about being a woman in tech at a large tech company in my city, and now I'm inspired to share what I learned with all of you!
I didn't have time to finish this post on women's day, but it's not too late to post now: every day is a day to celebrate women!
Women actually laid the foundation for a lot of the tech industry.
For example, the first computer, ENIAC, was programmed completely by women! While men were the behind the scenes engineers, it was women who did all the actual programming of ENIAC.
The women who made up the team responsible for programming it were called Jean Bartik, Kay McNulty, Betty Holberton, Marlyn Wescoff, Frances V. Spence and Ruth Teitelbaum.
I think one woman who is finally getting her overdue recognition is Ada Lovelace. She was a mathematician (also often referred to as the first programmer) who created the first algorithm in 1842, which wasn't recognized until 1953! However, since none of her machines were ever completed it was never tested in practice during her time.
She has since been celebrated by giants such as google, and she has given name to a programming language (Ada). She was also the first person to write about what is today known as AI. Back when she was practicing, computers were simply thought of as calculators. But she had an idea that if computers can understand numbers, then that can be translated to letters, and in turn that can lead to computers being able to handle words, and eventually even write, draw and create music.
Hedy Lamarr was a famous Hollywood actress in the 40's, but she was also an inventor who laid ground for what we use today for Wi-Fi, Bluetooth and GPS services.
During WW2 she wanted to contribute positviely to the military efforts against the Nazis, and she tried to figure out how to radio control torpedoes. In 1942 she patented her technology "Secret Communications System", also known as frequency hopping, which laid the foundation for the technology we use today for Wi-Fi, GPS and Bluetooth. It wasn't until 1962 that it was first used for its intended purpose, during the cuban missile crisis.
Grace Hopper invented the first compiler, called A-0, in 1955, and was also part of the Univac team, which was the company also responsible for building ENIAC. She also initiated work on the COBOL programming language.
She was also the one to coin the term "bug" in 1947. Computers back then had lights to visualize their working process (which was also a womans idea to implement btw) and bugs would be attracted to the lights, but usually that was no issue - until a bug made its way into a tube which caused the computer to stop working. Hopper taped the bug to a piece of paper and logged what caused the crash - a bug.
Dorothy Vaughan (left), alongside colleagues such as Katherine Johnson (middle) and Mary Jackson (right), was a mathematician at NASA (called NACA when she started) who worked on the orbit for the first ever manned spaceflight and later also on Apollo 11 that would take humanity to the moon!
When Vaughan started at what was then called NACA, segregation was still prevalent in the US and she was not allowed in the same areas in the office as her white colleagues. Another department was formed for the black staff, and when the director of said department unexpectedly died, she was appointed as the new director and thus became the first ever black woman at that position at NACA/NASA. In 1958 when NACA becomes NASA segregation is forbidden, and that is when Vaughan and her colleagues Johnson and Jackson started working on programming the orbit and later also Apollo 11.
Continuing on the same track of NASA and space, Margaret Hamilton was the Apollo project's first actual programmer. Hamilton became the director of software engineering at NASA in 1965, and she was also the person to first coin the term !
In the image above, she stands next to all the handwritten code that was used to send humanity to the moon. During the early stages of the project when she would speak of "sofware engineering", software development was not taken as seriously as other forms of engineering, and it wasn't regarded as a science, either. She wanted to legitimize software development as an engineering discipline, and overtime the term "software engineering" gained the same respect as any other technical discipline.
And lastly, if you're a woman in STEM, I want to highlight and celebrate you! Being a woman in a male dominated industry is not easy, we often suffer from sterotype threat and are not seen as our own individuals, but rather "the woman" in a room full of men. But just as these women, I'm sure you will achieve greatness!!
Here are some additional resources if you'd like to learn more:
No, you are not alone. I also start things, give up, procrastinate, live the future and not the present and complain about my life not moving forward while I spend time looking at other people's lives.
Hello everyone, how are you?
I hope well.
I was thinking of giving up this tumblr and just as I started everything from scratch to study programming (github, linkedin, notion and I even created another google account) start a new tumblr.
I even commented briefly a few weeks ago with @lostlibrariangirl who supported me to just continue on this one and see my evolution. And today I was thinking that this could be cool not only for me, but for other dropouts, who are frustrated that they think they'll never get to where they want to go and et cetera.
If you've been following me since the beginning of this year, you've already seen that I never completed any course and I assume that I gave up on the most difficult parts, besides the constant anxiety of getting a job in technology and thinking that I would never get it and that made me procrastinate, suffer and not live the present studying.
I gave up on one of the scholarships I got and now I'm catching up on the delay (it's until the 7/30th)
Nowadays my mental health has improved a lot, thanks to my elders.
And also thanks to them I understood that I was going around in circles, being lazy, not trying 100%, being stubborn in a stupid way (for me stubbornness is a quality, if you know how to use it) and spending too much time on other people's lives and not mine.
Also, today it's easier for me not to feel so much anxiety because I no longer have the goal of getting a job registered as a dev this year, so I'm starting to learn from scratch EVERYTHING AGAIN only this time better and really trying hard.
In my case I wasn't doing my best, trying hard and that's why I fell so many times. I don't like the word failure/failure, as I learned from an older, mistake it's study/learning and not failure.
Now in May, for example, I started studying Linux from scratch (my system that I'm confused to understand), git and github. I was all this time without really understanding these 3 tools, just doing it without understanding / in a lazy way and that didn't give me confidence.
And I don't think we need to memorize it, but it's nice to understand and practice.
This print from above is me studying after writing and repeating to myself that I WILL ONLY START a new cycle after ending the old one.
And I hope to share this journey here.
I have a lot to study, whether in back-end or front-end, but I'm not in a hurry and that's why I'm progressing.
So if you're reading this far and you're going through the same thing I was, I wanted to give you some unsolicited advice.
Spend your energy, do physical exercises. Because anxiety can only be resolved with a psychiatrist, but exercises help.
Understand why you procastine, what is making you feel frustrated or afraid? Did you find out? How can you solve this?
If you don't finish something to start another and it HURTS you (if it doesn't hurt, that's fine), try to understand why you give up? Where is making you insecure / afraid? And after you understand this, strive to finish everything you start (I know it's hard, but we need this)
Get off social media for a bit. For me tumblr is what I spend the least time on, but it's very easy to lose hours on instagram and tiktok.
And guess what, that time we spend doesn't come back and unless you work with these networks that ALSO won't give you any money / jobs.
So, if possible, start to regulate your period in these environments. At first it's difficult because your brain is addicted, but after a while it works out and your version of the future (if you invest that time studying and working) will thank you.
I wish you all to be well and not sabotage yourself to achieve your goals.