HN user

victorlf

170 karma

Blog: https://thediligentdeveloper.com Working on: https://python.cards

Posts14
Comments18
View on HN

It seems the tricky part is motivation. Very few people get excited by card-reviewing itself. The method shines when there is external pressure, such as exams.

I think a sense of community can help provide this motivation (like a group of people all learning at the same time), but it's still tricky.

Anki is unbeatable for acing any test with a bounded number of questions [1]. It's been successfully used by some top TV show contestants to remember thousands of words [2].

I've been using it recently to remember recipes and cooking facts, such as the time it takes to boil X vegetable, or the ingredients for some dish.

Apart from language learning and medicine, there's a lack of pre-built decks that you can use to learn topics. I'm building Python.cards [3] to apply spaced repetition to learn Python with pre-built decks, daily reminders, etc. to make it the most convenient.

[1] https://www.thediligentdeveloper.com/spaced-repetition-reall...

[2] https://www.esquire.com/es/tecnologia/a36913467/pasapalabra-...

[3] https://python.cards

Thanks! I definitely will add more examples to the landing page, currently I'm working hard on the decks: pathlib in depth, a tour of the stdlib and Norvig's tricks (a collection of tricks from the Pytydes of Peter Norvig).

I believe the hardest part of using spaced repetition to learn programming is creating good decks, it's a ton of work.

About open sourcing the web app, I might do it. It's a Django app, and I've published some videos while coding it (https://www.youtube.com/channel/UCyWUj9r0soytotuuh2JnPrw), so it's no secret.

Many reasons, most of them hypothesis. For one, the book "The programmer's brain" says that spaced repetition is the best way to learn the syntax, idioms, caveats of a programming language, but it's hard to find a product that offers this.

I don't suggest you should learn Python _only_ with python.cards. I assume every python.cards user will be doing some online course, or working with Python, and my decks will just boost their knowledge of the language.

I think a lot of people program in Python but programming in Python is not their main occupation. These people struggle to accumulate knowledge, because they may encounter concepts or APIs only from time to time, and by that time they already forgot.

Also, I want to cover some "unorthodox" topics for which spaced repetition may be specially well suited. For example, I'm building a deck called "A tour of the standard library", where you can learn all the modules that are available, just so you know what is out there, without going deep into it.

Another idea is to have decks to learn all the built-in exceptions by heart, or the nomenclature. I think this helps build a mental model of the width and depth of the language so you can better integrate all the knowledge you find while coding, searching online, or reading code.

SEEKING WORK | Remote | Worldwide

Location: Barcelona, Europe

Remote: Yes

Willing to relocate: No

Technologies: Python, C++, JavaScript, Kubernetes, Machine learning... and more

Résumé/CV: https://www.linkedin.com/in/v%C3%ADctor-l%C3%B3pez-ferrando-...

Website: https://www.thediligentdeveloper.com

Github: https://github.com/vlopezferrando

Email: victor <at> thediligentdeveloper <dot> com

Hello! For 5 years I've been a cofounder and director of software engineering at a startup, growing and leading a team from 0 to 15+ developers. I have a deep understanding of technology and how to apply it to solve business problems. During the last months, I have done contractor work for a couple of companies, building the foundational software for one of them, and helping the other improve their software development processes to deliver a project they were struggling with.

I have a strong educational background (PhD in bioinformatics and machine learning, MSc in mathematics, MSc in computer science), and have worked with a variety of technologies (Python, C++, C, Go, JavaScript).

I've been a software engineer for 15+ years, and so have a wide range of projects I've worked on, both coding from scratch and leading teams of devs. To name a few: I built a multi-modal journey planner in C++ https://www.iomob.net/technology/, a machine learning platform in Python http://mmb.irbbarcelona.org/PMut, a math high school contests site with Django https://www.contrarellotge.cat.

I already linked my Github profile earlier, but if you want to see some code I wrote, here is a video where I explain some Python and C++ code I wrote for the hardest problem of last year's Advent of Code: https://www.youtube.com/watch?v=C8jUMwnBQEU

Location: Barcelona, Europe

Remote: Yes

Willing to relocate: No

Technologies: Python, C++, JavaScript, Kubernetes, Machine learning... and more

Résumé/CV: https://www.linkedin.com/in/v%C3%ADctor-l%C3%B3pez-ferrando-...

Website: https://www.thediligentdeveloper.com

Github: https://github.com/vlopezferrando

Email: victor <at> thediligentdeveloper <dot> com

Hello! For 5 years I've been a cofounder and director of software engineering at a startup, growing and leading a team from 0 to 15+ developers. I have a deep understanding of technology and how to apply it to solve business problems. I'm currently looking for a remote position as a software engineer or engineering manager.

I have a strong educational background (PhD in bioinformatics and machine learning, MSc in mathematics, MSc in computer science), and have worked with a variety of technologies (Python, C++, C, Go, JavaScript).

I've been a software engineer for 15+ years, and so have a wide range of projects I've worked on, both coding from scratch and leading teams of devs. To name a few: I built a multi-modal journey planner in C++ https://www.iomob.net/technology/, a machine learning platform in Python http://mmb.irbbarcelona.org/PMut, a math high school contests site with Django https://www.contrarellotge.cat.

I already linked my Github profile earlier, but if you want to see some code I wrote, here is a video where I explain some Python and C++ code I wrote for the hardest problem of last year's Advent of Code: https://www.youtube.com/watch?v=C8jUMwnBQEU

I you run a very memory hungry program (like some specific scientific program), it can happen that 3GB of your memory from the browser, text editor, etc. is moved to swap. Then, when you kill the program and want to go back to normal, just changing the tab in your browser can take a long time.

By flushing the swap, you wait some time first but then it all runs smoothly. When using a hard drive and not SSD the difference is even bigger.