So much advice is heaped upon beginners that it can be hard to know where to start. However, these five practices are the foundation upon which everything else is built. The beginner I have in mind has a basic understanding of how programming works, has written mostly small programs of varying complexity, and is heading off to either a career in the field or committed to excellence for his or own personal projects. There is only one truly foundational activity in programming: writing code. To be good at it, you’re going to have to write a lot of code. That big body of work can be a vehicle for growth, or an exercise in repeatedly practicing a limited set of skills. To avoid the latter, you need to: Read a lot of code. Specifically, read a lot of code by excellent programmers. Not just good programmers, like the guy down the hall, but excellent ones. Due to the huge amount of open source today, this is easy to do. When I was learning Java, I read code from the Tomcat project and from the CI server, Cruise Control. I’ve read lots of good code since. It might be tempting to look for main() and start from there, but you’re likely to spend a lot of time just reading set-up code and command-line parsing. I prefer to scan the filenames to look for some activity that interests me and then dig into those files. It’s not crucial to understand the whole project or the ins and outs of the entire design, you’ll wear yourself out doing this. Read the code. Look at the comments, see what the authors are doing, and how they went about it. Learn your tools thoroughly. I think the greatest loss of programming time is not in debugging or rewriting code, but in the innumerable seconds lost here and there by developers who don’t really know their tools. I am referring to: the IDE, the language, the build system, and the VCS. Of these, the IDE and the language are by far the most important. You should, after a few weeks of practice, know almost every keystroke combo in the IDE, so that you touch the mouse only when it saves a lot of keystrokes. If you know the keystrokes, you know the commands. If you use the mouse only, you know only menus on which you tend to click on the same one or two entries. Knowing the IDE is pure discipline. Knowing large languages, such as Java or C++, takes more than discipline. They’re huge, as are their libraries. Reading is the best approach, in my view. Read code that uses features you don’t know and you’ll look for opportunities to use them. Books (rather than blogs) are another excellent source. Read about features that are on the periphery of what you use currently, and soon you’ll find the periphery expanding. Knowing the VCS and build systems make you a desirable team member — who doesn’t waste time due of ignorance of important operations. Plan your code before you write it. I think this is the most difficult item on this list. In exchange, it probably delivers the most benefit. I’m not thinking of formal design — at your stage, that’s unlikely to be necessary. But you do need to plan out the code in some manner other than carrying it around in your head. The simplest approach is to write up a small document (I frequently use a mind map): What are the requirements for this code? How will you implement it? What do I need to know that I don’t know now? What are the objects I will need or need to create? And write this out. Only then begin to code, you’ll find the code much easier to write, to document, and to get correct. Save your notes — they’re great reference material. Write lots of code and have it reviewed. If your site does not do code reviews, do them yourself. Find the best programmer who’ll give you useful advice in a way that can be heard and understood. Don’t be a pest, but don’t avoid the process because you’re shy, busy, or feel you’re good enough, etc. Code reviews should be part of your programming life. Be creative. Try pair programming with someone more senior than you for an afternoon. The important thing is that you need feedback that you cannot give yourself. Write tests as you code. This advice is perhaps the only controversial item here. It’s not an endorsement of TDD. But it is an endorsement of knowing that your code works in most scenarios it will face. Start with unit tests and exercise new code with edge-case values. For example, does your function work if it is passed a negative value, or the maximum integer size? If not, does it throw an informative exception or just blow up? If not an exception, have you narrowed the range of inputs with asserts? If so, test the asserts. Use the planning you did earlier to write mocks, and then begin testing your new code with objects you still need to write. This will clarify design issues in your current code and the upcoming objects. Save your tests and run them prior to every check-in, so that they can be early warning systems for later code that breaks your current code. There’s a lot more advice and many wise sayings that can be added to this list. But that’s part of the problem: There’s so much advice available that it’s difficult to know exactly where to start. For that reason, I purposely limit my recommendations to just five points. If you apply them with diligence, you’ll soon find two things: You’ll be able to handle progressively larger and more important tasks, and you’ll look back in embarrassment at code you wrote just a few months ago. Both experiences are sure signs of progress. Good luck!
mfw i realized that vibe coding just meant doing a bad job intentionally
just learned about vibe coding
i'm gonna become a terrorist now
helpppp how do i make my music player show up :(
I already tried the http to https thing so many forums suggest, but it doesn't seem to be the problem since the script is already with https
github will say you should choose a descriptive name for your project and then suggest shit like "purple-earthquake"
some of the posts read on 12/4
The NSA Hiding a Shadow Government Behind a Haystack to Keep Us Safe via Dailykos.com
I've been doing a lot of reading lately on this subject (and related subjects), but managed to be even more shocked by this one...
Prada, Yuck-- Or the New Trouble with Capitalism? via Ricochet
Liberal Fascism on Broadway via Ricochet
Culture of Ignorance via Washingtonsblog
Governments From Around the World ADMIT That They Carry Out False Flag Terror via Washintonsblog
Take it to the Bank via Washingtonsblog
Healthcare.gov sort of fixed, good enough for "vast majority" via Ars Technica
In airport security scanning, ultra-rare items are harder to catch via Ars Technica
Charged with Theft, Man Arrested For Plugging Car into School's Outlet via Ars Technica
Why YouTube Buffers: The Secret Deals that Make- and Break- Online Video via Ars Technica (need to finish)
FCC Chair: ISPs Should Be Able to Charge Netflix for Internet Fast Lane via Ars Technica
Genetic Adam and Eve May Have Walked on Earth at the Same Time via Ars Technica
NSA Collects Nearly 5 Billion Cellphone Location Records per Day via ArsTechnica
Your Questions About the New IPCC Climate Change Report Answered via ArsTechnica
Dear Congress, It's No Longer OK to Not Know How the Internet Works via Motherboard
No Girls Allowed via Polygon
Wall Climbing Concept Car Wins LA Auto Show via Dvice
Self Dimming Smart Windows Change With Superhuman Speed via Dvice
Tiny Slide Projector Takes Your Instagrams to the Next Retro Level via Dvice
Full Text of Benedict XVI's Letter to Athieist via National Catholic Register
Climate Change 'Tipping Points' Imminent via Physorg
Obama: "I'm not allowed an iPhone'" via Physorg
Investment Program Can Cut Global Health Disparities by 2035 via MedicalXpress
Study Gives New Meaning to 'Let Your Fingers Do the Walking' via MedicalXpress
Humans Not Smarter Than Animals, Just Different, Experts Say via Physorg
I love re-doing like 99% of my codebase because damn was I really that inefficient?
Can't wait to post this stuff when I'm done, then y'all can get some good working examples of DRN
Edit: Anyone that wants to be notified just lmk and I'll tag ya when it's ready
how did you add those links w/ one or two words to your bio? :)
they're html links! just go to your tumblr page and click customise in the top right corner, and add this code to your description:
Evolutionary programming is a blast to watch
These computer programs taught themselves how to walk.
Generation 80 don’t give a shit.
Now YOU TOO can have a Contacts List made by Not-Microsoft that may/may not work 60% of the time, all the time.
Hey everyone! I know it’s been awhile, but I just uploaded another YouTube video as part of the PaintingTherapy series!
Recently, I’ve been learning how to code drawing programs in a GUI, and decided to see if I could draw mandalas using different loops and functions I’ve learned about.
If you’re interested in seeing how I did, you can find the video here: https://www.youtube.com/watch?v=NTI_BUxWg6g
I’m considering designing a coloring book using programming, so if you’re interested or have any suggestions, let me know!
Hey hello!!!
Do you book recommendations for html or Java??
Hope you're ok
Hey there!
Well, I don't really know any books for HTML. But I do know some other resources for it that might be helpful. [I don't know any for Java. Right now, I'm only focusing on frontend development for now.]
W3Schools: This is the only website I suggest for learning any coding language.
Dave Gray [YouTube] HTML 4 hour crash course
Dave Gray [Youtube] CSS 11 hour crash course
Dave Gray [YouTube] JavaScript 8 hour crash course
SuperSimpleDev [Youtube] 6 hour crash course (HTML + CSS)
SuperSimpleDev [YouTube] 22 hour crash course (JavaScript)
Right now, I'm only doing these [trying to] It's going well till now, so I think it would be helpful for you.
Have a great day ! :D
Day 5 [Lists In HTML]
This is a super simple guide for lists.
Line By Line Explanation:
: Used for unordered list
: Used for each item in the list
: Used for ordered list.
Unordered lists will display the list items in bulleted or any other symbol that you specify
Ordered lists will display the list items in numerical order or any other order you specify.
______________________________
Hope it helps :)
Day 4 [Link Tag In HTML ]
Introduction To HTML
Day 2 [Multimedia Elements In HTML]
Day 3 [Table in HTML]
Line By Line Explanation:
: Anchor tag (used for links)
href = It stands for Hyper Text Reference. You paste the URL of the link here
Text between the tags : What the user clinks
The first link will open google in the same tab. If you want the link to open in a new tab, then you use the target attribute.
Target="_blank" : Opens the link in a new tab
Final Output
____________________
Hope it helps :)
Day 3 [Table In HTML]
Day 1 [Introduction To HTML]
Day 2 [Multimedia Elements In HTML]
Line by line explanation:
Defines a table,
border : This attribute adds a simple border to the table.
style : Used to add some styling to the webpage. Can be used with any tag.
Border spacing: Adds space between table cells.
Text-align : Aligns the text in the table.
Contains the header section of the table.
Represents a table row
Represents a table column
Holds the body of the table → main data (menu items).
Used for individual data cells in the table.
<table> <thead> <tr> <th> Column Head 1 </th> <th> Column Head 2 </th> </tr> </thead> <tbody> <tr> <td> Row 1 Data = Column 1 </td> <td> Row 1 Data = Column 2 </td> </tr> </tbody> </table>
Final Output
------------------------------
Hope it helps :)
Day 2 [Multimedia Elements In HTML]
Welcome to day 2 :D
Day 1 [Introduction To HTML]
Line By Line Explanation:
(An attribute is extra info added to an HTML tag. So, is a tag. Src, alt, width and height are the attributes)
Tag : Used to add images to webpages
src : Used to give the URL of the image or the name of the image file
alt : specifies what will appear on the browser in case the image doesn't appear.
Width and height : Specifies the width and height.
Tag : Used to add audio
controls: shows a play/pause bar.
: your audio file (paste your file link there).
Type: Tells the browser what file you're showing it
Tag: Used to add videos
controls : lets users play/pause the video.
width and height: size of the video frame.
: your video file (paste your file link there).
Here's The Output →
Additional Tip : Download these two extensions because they're really helpful.
Live Preview helps you to look your output without having to save it every time you make a change in VS code
Live Server is similar, it just shows you the output on the webpage.
You can search for these two in the extensions icon on the side.
_____________________
Hope it helps. Tomorrow, we'll cover links and lists xD
Introduction To HTML
[Note: You need a text editor to do this. You can use Notepad or Text Edit. But it's so much better to download VS Code / Visual Studio Code. Save it with an extension of .html]
HTML stands for Hyper Text Markup Language
It is used to create webpages/websites.
It has a bunch of tags within angular brackets <....>
There are opening and closing tags for every element.
Opening tags look like this <......>
Closing tags look like this
The HTML code is within HTML tags. ( // code)
Here's the basic HTML code:
<!DOCTYPE html> <html> <head> <title> My First Webpage </title> </head> <body> <h1> Hello World </h1> <p> Sometimes even I have no idea <br> what in the world I am doing </p> </body> </html>
Line By Line Explanation :
<!DOCTYPE html> : Tells the browser it's an HTML document.
<html> </html> : All code resides inside these brackets.
<head> </head> : The tags within these don't appear on the webpage. It provides the information about the webpage.
<title> </title> : The title of webpage (It's not seen on the webpage. It will be seen on the address bar)
<body> </body> : Everything that appears on the webpage lies within these tags.
<h1> </h1> : It's basically a heading tag. It's the biggest heading.
Heading Tags are from <h1> to <h6>. H1 are the biggest. H6 are the smallest.
<p> </p> : This is the paragraph tag and everything that you want to write goes between this.
<br> : This is used for line breaks. There is no closing tag for this.
-------
Now, we'll cover some <Meta> tags.
Meta tags = Notes to the browser and search engines.
They don’t appear on the page.
They reside within the head tag
<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Website Description"> <meta name="Author" content="Your Name"> <meta name="keywords" content="Websites Keywords"> </head>
Line By Line Explanation:
<meta charset="UTF-8"> : Makes sure all letters, symbols, and emojis show correctly.
<meta name="viewport" content="width=device-width, initial-scale=1.0"> : Makes your site look good on phones and tablets.
<meta name="description" content="Website Description"> : Describes your page to Google and helps people find it.
<meta name="author" content="Your Name"> : Says who created the page.
<meta name="keywords" content="Website's Keywords"> : Adds a few words to help search engines understand your topic.
_____
This is my first post in this topic. I'll be focusing on the practical side more than the actual theory, really. You will just have some short bullet points for most of these posts. The first 10 posts would be fully HTML. I'll continue with CSS later. And by 20th post, we'll build the first website. So, I hope it will be helpful :)
If I keep a coding post spree for like 2 weeks, would anyone be interested? o-o