The document provides 10 tips for programming students to save time and reduce frustration while learning to code. The tips include splitting your screen for documentation and code, learning concepts over multiple days, learning by teaching others, understanding a programming language before using libraries for that language, and becoming proficient with keyboard shortcuts. It also provides a 5-step process for resolving 95% of errors which involves looking for typos, reading error messages, filtering online resources, avoiding older posts, and learning what common error codes mean.
Finding Some "Good" iOS Interview Questions for Employersnataliepo
Â
Why is it so damn hard to find a good developer? How can I tell if someone knows enough to work with me without me losing my mind? We have little to no standards on how to quantify how qualified an iOS Developer is, so it makes it that much harder to really know what you're getting when you interview a potential candidate.
In this talk (given at CocoaHeads NYC in May 2015), we explore a set of interview questions, and, as a varied-level group, we took the challenge ourselves, and attempted to rate how difficult the questions would be for junior, senior, and expert level iOS Developers.
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...Sam Livingston-Gray
Â
Experienced developers tend to build up a library of creative problem-solving tools: rubber ducks, code smells, anthropomorphizing code, &c.
These tools map abstract problems into forms our brains are good at solving. But our brains are also good at lying to us.
We'll talk about some of these tools, when to use them (or not), and how their biases can lead us astray.
âA change in perspective is worth 80 IQ points.â -Alan Kay
New developers very welcome: we don't teach this in school!
Finding Some "Good" iOS Interview Questions for Employersnataliepo
Â
Why is it so damn hard to find a good developer? How can I tell if someone knows enough to work with me without me losing my mind? We have little to no standards on how to quantify how qualified an iOS Developer is, so it makes it that much harder to really know what you're getting when you interview a potential candidate.
In this talk (given at CocoaHeads NYC in May 2015), we explore a set of interview questions, and, as a varied-level group, we took the challenge ourselves, and attempted to rate how difficult the questions would be for junior, senior, and expert level iOS Developers.
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...Sam Livingston-Gray
Â
Experienced developers tend to build up a library of creative problem-solving tools: rubber ducks, code smells, anthropomorphizing code, &c.
These tools map abstract problems into forms our brains are good at solving. But our brains are also good at lying to us.
We'll talk about some of these tools, when to use them (or not), and how their biases can lead us astray.
âA change in perspective is worth 80 IQ points.â -Alan Kay
New developers very welcome: we don't teach this in school!
Linux Commands, C, C++, Java and Python Exercises For BeginnersManjunath.R -
Â
An approachable manual for new and experienced programmers that introduces the programming languages C, C++, Java, and Python. This book is for all programmers, whether you are a novice or an experienced pro. It is designed for an introductory course that provides beginning engineering and computer science students with a solid foundation in the fundamental concepts of computer programming. It also offers valuable perspectives on important computing concepts through the development of programming and problem-solving skills using the languages C, C++, Java, and Python. The beginner will find its carefully paced exercises especially helpful. Of course, those who are already familiar with programming are likely to derive more benefits from this book. After reading this book you will find yourself at a moderate level of expertise in C, C++, Java and Python, from which you can take yourself to the next levels. The command-line interface is one of the nearly all well built trademarks of Linux. There exists an ocean of Linux commands, permitting you to do nearly everything you can be under the impression of doing on your Linux operating system. However, this, at the end of time, creates a problem: because of all of so copious commands accessible to manage, you don't comprehend where and at which point to fly and learn them, especially when you are a learner. If you are facing this problem, and are peering for a painless method to begin your command line journey in Linux, you've come to the right place-as in this book, we will launch you to a hold of well liked and helpful Linux commands. This book gives a thorough introduction to the C, C++, Java, and Python programming languages, covering everything from fundamentals to advanced concepts. It also includes various exercises that let you put what you learn to use in the real world.
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersManjunath.R -
Â
An ideal addition to your personal elibrary. With the aid of this indispensable reference book, you may quickly gain a grasp of Python, Java, JavaScript, C, C++, CSS, Data Science, HTML, LINUX and PHP. It can be challenging to understand the programming language's distinctive advantages and charms. Many programmers who are familiar with a variety of languages frequently approach them from a constrained perspective rather than enjoying their full expressivity. Some programmers incorrectly use Programmatic features, which can later result in serious issues. The programmatic method of writing programsâthe ideal approach to use programming languagesâis explained in this book. This book is for all programmers, whether you are a novice or an experienced pro. Its numerous examples and well paced discussions will be especially beneficial for beginners. Those who are already familiar with programming will probably gain more from this book, of course. I want you to be prepared to use programming to make a big difference.
Some of the things I learned during the last years from the GURU of the AGILE manifesto.
Be a Clean Coder from Robert C. Martin
Be a Pragmatic Programmer from Andrew Hunt
Be a extreme Programmer from Kent Beck
Understand the Continuous Delivery from Jez Humble and David Farley.
Thanks to Bruno Bossola , Marcello Todori and Mario Romano for the good chats about this topics.
Become a Better Developer with Debugging Techniques for Drupal (and more!)Acquia
Â
What is debugging? How is it different from simply writing a program, and how can you get better at it? A structured debugging approach narrows down problems, rather than using random changes and guesses, and can help you identify and solve problems faster and more effectively.
In this webinar about debugging techniques for Drupal, weâll cover:
-A general approach to debugging Drupal problems
Common sources of bugs
-A tour of useful debugging tools and techniques that can help you start to see into the inner workings of any version of Drupal
-The use of tools such as XDebug, the devel suite, and client side debugging such as Firebug, LiveHTTPHeaders, and javascript debugging
We want code that is easy to understand, re-usable, and flexible. But we are always up against deadlines, so we rush, and end up with code that is messy, buggy, hard to maintain, and makes us go slower even though weâre trying to go faster.
What is clean code? In this talk Iâll provide some answers to this question, and introduce you to 10 good habits that will help keep your code clean, such as the use of meaningful names for your variables and functions, and following the âBoy Scout Ruleâ (leave the code cleaner than you found it). I will even try to persuade you that using a lot of code comments is a sign that there are problems with your code.
This slide was created to show before the students who are going to be presented in the course of end development with ReactJS. It is built to demonstrate the technologies that will be used in this course. I hope you enjoy the slide show and classes.
LangChain Intro, Keymate.AI Search Plugin for ChatGPT, How to use langchain library? How to implement similar functionality in programming language of your choice? Example LangChain applications.
The presentation revolves around the concept of "langChain", This innovative framework is designed to "chain" together different components to create more advanced use cases around Large Language Models (LLMs). The idea is to leverage the power of LLMs to tackle complex problems and generate solutions that are more than the sum of their parts.
One of the key features of the presentation is the application of the "Keymate.AI Search" plugin in conjunction with the Reasoning and Acting Chain of Thought (ReAct) framework. The presenter encourages the audience to utilize these tools to generate reasoning traces and actions. The ReAct framework, learned from an initial search, is then applied to these traces and actions, demonstrating the potential of LLMs to learn and apply complex frameworks.
The presentation also delves into the impact of climate change on biodiversity. The presenter prompts the audience to look up the latest research on this topic and summarize the key findings. This exercise not only highlights the importance of climate change but also demonstrates the capabilities of LLMs in researching and summarizing complex topics.
The presentation concludes with several key takeaways. The presenter emphasizes that specialized custom solutions work best and suggests a bottom-up approach to expert systems. However, they caution that over-abstraction can lead to leakages, causing time and money limits to hit early and tasks to fail or require many iterations. The presenter also notes that while prompt engineering is important, it's not necessary to over-optimize if the LLM is clever. The presentation ends on a hopeful note, expressing a need for more clever LLMs and acknowledging that good applications are rare but achievable.
Overall, the presentation provides a comprehensive overview of the LanGCHAIN framework, its applications, and the potential of LLMs in solving complex problems. It serves as a call to action for the audience to explore these tools and frameworks.
Langchain Framework is an innovative approach to linguistic data processing, combining the principles of language sciences, blockchain technology, and artificial intelligence. This deck introduces the groundbreaking elements of the framework, detailing how it enhances security, transparency, and decentralization in language data management. It discusses its applications in various fields, including machine learning, translation services, content creation, and more. The deck also highlights its key features, such as immutability, peer-to-peer networks, and linguistic asset ownership, that could revolutionize how we handle linguistic data in the digital age.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Â
Monitoring and observability arenât traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current companyâs observability stack.
While the dev and ops silo continues to crumbleâŚ.many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
Â
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
⢠Communication Mining Overview
⢠Why is it important?
⢠How can it help todayâs business and the benefits
⢠Phases in Communication Mining
⢠Demo on Platform overview
⢠Q/A
More Related Content
Similar to 10 tips to save you time and frustration while programming
Linux Commands, C, C++, Java and Python Exercises For BeginnersManjunath.R -
Â
An approachable manual for new and experienced programmers that introduces the programming languages C, C++, Java, and Python. This book is for all programmers, whether you are a novice or an experienced pro. It is designed for an introductory course that provides beginning engineering and computer science students with a solid foundation in the fundamental concepts of computer programming. It also offers valuable perspectives on important computing concepts through the development of programming and problem-solving skills using the languages C, C++, Java, and Python. The beginner will find its carefully paced exercises especially helpful. Of course, those who are already familiar with programming are likely to derive more benefits from this book. After reading this book you will find yourself at a moderate level of expertise in C, C++, Java and Python, from which you can take yourself to the next levels. The command-line interface is one of the nearly all well built trademarks of Linux. There exists an ocean of Linux commands, permitting you to do nearly everything you can be under the impression of doing on your Linux operating system. However, this, at the end of time, creates a problem: because of all of so copious commands accessible to manage, you don't comprehend where and at which point to fly and learn them, especially when you are a learner. If you are facing this problem, and are peering for a painless method to begin your command line journey in Linux, you've come to the right place-as in this book, we will launch you to a hold of well liked and helpful Linux commands. This book gives a thorough introduction to the C, C++, Java, and Python programming languages, covering everything from fundamentals to advanced concepts. It also includes various exercises that let you put what you learn to use in the real world.
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersManjunath.R -
Â
An ideal addition to your personal elibrary. With the aid of this indispensable reference book, you may quickly gain a grasp of Python, Java, JavaScript, C, C++, CSS, Data Science, HTML, LINUX and PHP. It can be challenging to understand the programming language's distinctive advantages and charms. Many programmers who are familiar with a variety of languages frequently approach them from a constrained perspective rather than enjoying their full expressivity. Some programmers incorrectly use Programmatic features, which can later result in serious issues. The programmatic method of writing programsâthe ideal approach to use programming languagesâis explained in this book. This book is for all programmers, whether you are a novice or an experienced pro. Its numerous examples and well paced discussions will be especially beneficial for beginners. Those who are already familiar with programming will probably gain more from this book, of course. I want you to be prepared to use programming to make a big difference.
Some of the things I learned during the last years from the GURU of the AGILE manifesto.
Be a Clean Coder from Robert C. Martin
Be a Pragmatic Programmer from Andrew Hunt
Be a extreme Programmer from Kent Beck
Understand the Continuous Delivery from Jez Humble and David Farley.
Thanks to Bruno Bossola , Marcello Todori and Mario Romano for the good chats about this topics.
Become a Better Developer with Debugging Techniques for Drupal (and more!)Acquia
Â
What is debugging? How is it different from simply writing a program, and how can you get better at it? A structured debugging approach narrows down problems, rather than using random changes and guesses, and can help you identify and solve problems faster and more effectively.
In this webinar about debugging techniques for Drupal, weâll cover:
-A general approach to debugging Drupal problems
Common sources of bugs
-A tour of useful debugging tools and techniques that can help you start to see into the inner workings of any version of Drupal
-The use of tools such as XDebug, the devel suite, and client side debugging such as Firebug, LiveHTTPHeaders, and javascript debugging
We want code that is easy to understand, re-usable, and flexible. But we are always up against deadlines, so we rush, and end up with code that is messy, buggy, hard to maintain, and makes us go slower even though weâre trying to go faster.
What is clean code? In this talk Iâll provide some answers to this question, and introduce you to 10 good habits that will help keep your code clean, such as the use of meaningful names for your variables and functions, and following the âBoy Scout Ruleâ (leave the code cleaner than you found it). I will even try to persuade you that using a lot of code comments is a sign that there are problems with your code.
This slide was created to show before the students who are going to be presented in the course of end development with ReactJS. It is built to demonstrate the technologies that will be used in this course. I hope you enjoy the slide show and classes.
LangChain Intro, Keymate.AI Search Plugin for ChatGPT, How to use langchain library? How to implement similar functionality in programming language of your choice? Example LangChain applications.
The presentation revolves around the concept of "langChain", This innovative framework is designed to "chain" together different components to create more advanced use cases around Large Language Models (LLMs). The idea is to leverage the power of LLMs to tackle complex problems and generate solutions that are more than the sum of their parts.
One of the key features of the presentation is the application of the "Keymate.AI Search" plugin in conjunction with the Reasoning and Acting Chain of Thought (ReAct) framework. The presenter encourages the audience to utilize these tools to generate reasoning traces and actions. The ReAct framework, learned from an initial search, is then applied to these traces and actions, demonstrating the potential of LLMs to learn and apply complex frameworks.
The presentation also delves into the impact of climate change on biodiversity. The presenter prompts the audience to look up the latest research on this topic and summarize the key findings. This exercise not only highlights the importance of climate change but also demonstrates the capabilities of LLMs in researching and summarizing complex topics.
The presentation concludes with several key takeaways. The presenter emphasizes that specialized custom solutions work best and suggests a bottom-up approach to expert systems. However, they caution that over-abstraction can lead to leakages, causing time and money limits to hit early and tasks to fail or require many iterations. The presenter also notes that while prompt engineering is important, it's not necessary to over-optimize if the LLM is clever. The presentation ends on a hopeful note, expressing a need for more clever LLMs and acknowledging that good applications are rare but achievable.
Overall, the presentation provides a comprehensive overview of the LanGCHAIN framework, its applications, and the potential of LLMs in solving complex problems. It serves as a call to action for the audience to explore these tools and frameworks.
Langchain Framework is an innovative approach to linguistic data processing, combining the principles of language sciences, blockchain technology, and artificial intelligence. This deck introduces the groundbreaking elements of the framework, detailing how it enhances security, transparency, and decentralization in language data management. It discusses its applications in various fields, including machine learning, translation services, content creation, and more. The deck also highlights its key features, such as immutability, peer-to-peer networks, and linguistic asset ownership, that could revolutionize how we handle linguistic data in the digital age.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Â
Monitoring and observability arenât traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current companyâs observability stack.
While the dev and ops silo continues to crumbleâŚ.many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
Â
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
⢠Communication Mining Overview
⢠Why is it important?
⢠How can it help todayâs business and the benefits
⢠Phases in Communication Mining
⢠Demo on Platform overview
⢠Q/A
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
Â
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Â
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
Â
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Â
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Â
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Â
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
Â
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more âmechanicalâ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Â
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
Â
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Â
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges â from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager â Modern Workplace, Uni Systems
10 tips to save you time and frustration while programming
1. 10 TIPS TO SAVE YOU TIME
AND FRUSTRATION WHILE
PROGRAMMING
BY: JEFF HALE
2. PROGRAMMING CAN BE FRUSTRATING
2
Many false starts are due in part to the slow and tedious process of learning
to code and the frustration that accompanies it. Consequently, Iâm passionate
about removing the unnecessary obstacles that prevent people from becoming
competent coders. There will always be obstacles, but thereâs no reason for
unnecessary obstacles.
Here are 10 tips to help you more quickly leap over the hurdles and achieve a
sense of competency. Many of these tips might seem minor or obvious to you
if youâve been coding for years, but when starting out, nothing is obvious. And
even if youâve been coding since cell phones were called car phones, there
might be a tip or two that will save you time.
3. 1 +
3
Most of the time when you are learning to code, I suggest you split your screen(s) into
two side by side panels â one for the code youâre working on in your Jupyter notebook
or code editor and one for your web browser. Youâll use your web browser to look at
documentation, Stack Overflow, and tutorials. If your screen is too small, I suggest you
get a bigger one â if you can afford it. You can get a 25-inch monitor on Amazon for a
little over $100 in the US. As you get more proficient, youâll often want to focus on a
single piece of work. Use can use keyboard shortcut keys to toggle between split screen
to full screen.
SPLIT YOUR SCREEN
For a Mac, I like the BetterSnapTool for $2.99.
Some Windows options are discussed in this article.
4. 4
CUT OUT
DISTRACTIONS
Silence notifications on your
computer and phone. Move your
phone away from you if you can.
Play some calming instrumental
music or use noise-canceling
headphones if youâre in a noisy
area. The better you can focus,
the faster you can learn.
2
TYPE OUT
EXAMPLE CODE
You canât just read a tutorial and
hope to remember it. Copying and
pasting is of little value. You have
to type it. Then extend it. Then
type it from memory. âIn theory,
thereâs no difference between
theory and practice. In practice,
there is.â â Benjamin Brewster
3
LEARN OVER
MULTIPLE DAYS
Learn a new code concept and
quiz yourself on it over multiple
days. Research shows that when it
comes to remembering things for
the long haul, spaced repetition
works far better than cramming.
4
5. 5
LEARN BY TEACHING
Clearly explaining a concept to
others â either out loud or in writing â
forces you to understand the
conceptâs essence, draw relationships, and
create analogies. You strengthen the
connections in your brain. This tip is part of
the excellent Feynman learning technique.
5
6. 6
Variable types arenât the most exciting topic. Classes
with attributes and methods might seem advanced.
But once you understand a language really well,
the library is far easier to use. Youâll only make a
few errors and save so much time.
UNDERSTAND A PROGRAMMINGUNDERSTAND A PROGRAMMING
LANGUAGE WELL BEFORE YOU TRYLANGUAGE WELL BEFORE YOU TRY
TO USE A LIBRARY WRITTEN IN IT.TO USE A LIBRARY WRITTEN IN IT.
LANGUAGE BEFORE THE LIBRARY
6
7. 7
One Tab is a handy Chrome
extension to use to save tabs
for later.
7
LEARN ONE THING AT A TIME
Donât try to learn two things at once. You
donât learn twice as slowly, you learn like
10x as slowly. Relatedly, donât get
distracted by shiny things. Have a place
to keep URLs that look like tempting rab-
bit holes to jump down. Put the URLs that
arenât relevant for the thing youâre learning
right now somewhere for safekeeping.
8. 8
SLEEP, EXERCISE,
AND STAY RESILIENT
Put your brain in a strong
position to form and strengthen
neural connections. Learn more
about techniques to help you stay
sharp in my Memorable Python
book.
8
LEARN TO TYPE
CODE FASTER
The more you type unusual symbols,
the faster you become at typing them.
However, a little intentionality can speed
this process significantly. Invest in learning
a good touch typing form. Hereâs a little
exercise to help from SpeedCoder.
9
9. 10
9
BECOME A PRO WITH KEYBOARD SHORTCUTS
HERE
are links to shortcuts
for:
Chrome
Mac
Windows.
Then restart your terminal and type two
keystrokes instead of two words.
IF
youâre a data scientist
or data analyst, I made a
GitHub Gist of Jupyter
Lab shortcuts here.
IT'S
also a good idea to create
shortcuts for a Mac or Linux
terminal by adding lines such as
the following to your Bash Profile
at:
~/.bash_profile:alias gs="git status".
10. +
10
Here's a game plan for resolving
95% of errors quickly.
1. Look for a typo
2. Read the top and bottom of the error
message stack trace first
A parentheses that are missing or a variable or function thatâs misspelled. Syntax highlighting can help here.
Always do your typing in software that provides code highlighting to improving your chances of avoiding or
quickly fixing indentation, unbalanced parentheses, and similar errors. There are lots of good code editors to
choose from. If you are just starting out, I suggest VSCode â it has the most market share, itâs free, and it
has gobs of handy features.
The code in the middle is generally less helpful. Then look at your code and see if you can figure out whatâs
wrong, given the clues in the error message. If you canât decode the error message quickly, copy and paste
the last line of the message into Google (if using Python. Other languages might have the error message
before the stack trace). New coders biggest mistake is not turning to google with an error message quickly
enough.
BONUS
11. +
11
...
3. Filter the online resources
Separate the wheat from the chaff. Here are a few heuristics to help you find higher quality resources faster:
Stack Overflow, Medium, Reddit, Hacker News, Dev and other online communities have feedback indicators such as
upvotes or claps to show which content is on target. These metrics arenât perfect, but they generally work pretty well.
Stack Overflow, the Towards Data Science Medium publication, GitHub issues for the repo in question, the official
docs for a language or library are the sites where I find the most solutions.
Itâs hit or miss with the quality of blogs in Google search results. If youâre using Python, I can suggest some good sites
based on my experience:
Real Python
Data School
Dataquest Blog
DataCamp Blog
Practical Business Python
Chris Albon
12. +
12
...
4. Avoid older resources
For most problems, you want resources that arenât more than a few years old. When searching for a solution to an
error on Google, filter out old results â either by time-boxing the search parameters or informally when looking over
the resulting snippets. If youâre starting out in Python, content about Python 2 from 2009 is unlikely to help you.
APIs evolve and how things were done is often not the recommended way to do them today. You are more likely to
find an applicable answer in relatively recent results. If your initial forays are unsuccessful, then itâs worth looking
through older posts and lower-quality sites on the next pass.
5. Learn what error codes mean
Hereâs a list of common error codes and explanations for Python. And hereâs a really nice flow chart to help you tackle
common Python errors. If you use the Python pandas library for data manipulation, there are common errors. Hereâs
a GitHub Gist I made with a Jupyter notebook of common errors and how to resolve them:
Common pandas errors: https://gist.github.com/discdiver/2f8df1c3f1c66f47129568a82c0666e5.
13. TO SUM IT UP...
13
Hopefully, these 10 tips for reducing frustration and increasing your speed will
save you time. And hopefully, the 5-step plan for resolving error messages will
help you or someone you learn more faster.
With the right mindset, a little guidance, and a lot of practice anyone can learn
to code. It might not be fast or easy, but hopefully, this article will make it a bit
less frustrating. Happy Learning!
If youâre interested in tips to help you increase your productivity, subscribe to
the authorâs monthly Data Awesome newsletter.
Original post here.