{"id":13625630,"url":"https://github.com/juliangruber/live-coding","last_synced_at":"2026-02-08T22:03:10.223Z","repository":{"id":65991493,"uuid":"10861955","full_name":"juliangruber/live-coding","owner":"juliangruber","description":"How to give good live coding talks","archived":false,"fork":false,"pushed_at":"2013-06-22T09:52:44.000Z","size":112,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-10T03:35:48.751Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juliangruber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-22T08:48:45.000Z","updated_at":"2021-01-13T19:38:20.000Z","dependencies_parsed_at":"2023-02-19T20:45:27.863Z","dependency_job_id":null,"html_url":"https://github.com/juliangruber/live-coding","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/juliangruber/live-coding","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Flive-coding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Flive-coding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Flive-coding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Flive-coding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliangruber","download_url":"https://codeload.github.com/juliangruber/live-coding/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Flive-coding/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29246439,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T21:42:34.334Z","status":"ssl_error","status_checked_at":"2026-02-08T21:41:38.468Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:01:58.583Z","updated_at":"2026-02-08T22:03:10.204Z","avatar_url":"https://github.com/juliangruber.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# How to give good live coding talks\n\nThis is how I do it and what works for me.\n\n## Choose an easy topic\n\nYou must be able to have a conversation with a bunch of people while writing your code, so\nmake sure it's easy enough for you to do so. If it isn't, you either chose a topic too\ndifficult or need to write libraries that abstract away the difficult parts, so you can\nfocus on what's really interesting.\n\n## Choose an interesting topic\n\nYou will want the **wow** effect. Where people \"whooo\" because you just blew their minds. You just created\nsomething in 20min that would have taken them 2h or probably more. I'm not saying every live coding talk will need\na wow effect, but this helps soo much.\n\nA good rule would be to reach the climax at about 3/4 of your talk time. This way after the climax you have\ntime left to explain where to continue with this topic. Also this makes sure that if you screw up a little initially\nyou'll still make it to the most important part of your presentation.\n\n## Listen carefully\n\nYour audience will make sounds while listening. As long as you're not on a podium where you neither\nhear nor even see them, you can make great use of what you percieve from your listeners.\n\n## Describe\n\nFor every little step you do tell the audience what it is. Even if it's just repeating what you\ntype. Keeping your voice present helps keep up the flow and reduces chance of boringness.\nWhen your audience sighs you're probably spending too little time explaining - or too much! So be\nvery attentive to get what they're telling you subliminally.\n\n## Ask\n\nWhenever you're doing or using something that is a core concept of your programming environment,\nlanguage or framework, but where you're not sure if everyone understands it or has used it, ask\n\n\u003e How many of you have used this before?\n\nDo **not ask**\n\n\u003e Who doesn't know how this works?\n\nbecause most people won't have the courage to raise their hands.\n\nThen decide how much you need to explain. In general, making people take part by demanding action\nfrom them is a very good idea. Give your stage presence a reason that makes it more valuable than\na blog post you could have written about the same topic.\n\n## Explain\n\nWhen you explain something, use all body parts available and the easiest possible words.\n\n**You'd rather want to look unprofessional but make the audience understand what you're talking about!**\n\nMake sure designers get the gist of your live coding talk. Make sure developers get the gist of your live designing talk.\nUse real world metaphors. When objects interact impersonate them and make them alive. But don't overdo it, listen and\nreact to people while explaining.\n\n## Reveal your thoughts\n\nWhen you reveal your motivations and reasons for the way you tackle your talk's topic, your audience gets the\nunique chance to learn first hand how your mind does what it's there for: Solving problems.\n\nI want to know how people who do something better than me think. I don't care so much about what they create, but how they **are** in order to be able to create what they create.\n\nPeople love this personal insight. Don't miss that chance to make an *even greater impact*.\n\n## Get feedback\n\nMake it clear from the beginning that you want to hear feedback. Make it clear that you want to be interrupted.\nPeople will be wonderfully helpful pointing out typos, syntax errors or other mistakes. Due to the fact that you're\nprobably very nervous, you **will** do a lot of mistakes, so engage the audience and let them help you!\n\n# PS: Why to give live coding talks\n\n* They take no time to prepare. Choose an example, code it once or twice and you're done.\n* This is what you do. You basically live code every day. Just without watchers. You naturally should be very good at it.\n* They're so much fun doing!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliangruber%2Flive-coding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliangruber%2Flive-coding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliangruber%2Flive-coding/lists"}