<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[KD Jayakody]]></title><description><![CDATA[KD Jayakody]]></description><link>https://kdjayakody.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 12:27:14 GMT</lastBuildDate><atom:link href="https://kdjayakody.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[A free AI study workflow: lecture PDF to revision notes]]></title><description><![CDATA[I teach AI and digital skills to students in Sri Lanka, and the same thing happens every exam season. Students have plenty of material (lecture PDFs…]]></description><link>https://kdjayakody.hashnode.dev/a-free-ai-study-workflow-lecture-pdf-to-revision-notes</link><guid isPermaLink="true">https://kdjayakody.hashnode.dev/a-free-ai-study-workflow-lecture-pdf-to-revision-notes</guid><category><![CDATA[Beginner Developers]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[learning]]></category><category><![CDATA[AI]]></category><dc:creator><![CDATA[KD Jayakody]]></dc:creator><pubDate>Tue, 03 Nov 2026 04:53:14 GMT</pubDate><content:encoded><![CDATA[<p>I teach AI and digital skills to students in Sri Lanka, and the same thing happens every exam season. Students have plenty of material (lecture PDFs, slides, recorded classes) and very little time. Most of them read the same notes again and again, which feels productive but isn't the best way to remember anything.</p>
<p>This is the workflow I recommend now. It's built from free tools, and it has four steps:</p>
<ol>
<li><strong>Capture</strong>: get all your material into one place.</li>
<li><strong>Summarise</strong>: turn it into short notes you can actually read.</li>
<li><strong>Active recall</strong>: test yourself instead of re-reading.</li>
<li><strong>Spaced review</strong>: come back to the hard parts at the right time.</li>
</ol>
<p>AI helps with steps 1–3. Step 4 is where you do the remembering.</p>
<h2>Step 1: Capture everything in one notebook</h2>
<p>I use <strong>Gemini Notebook</strong> for this. Until July it was called NotebookLM; Google renamed it on July 16, 2026, and it's the same standalone product, now also available inside the Gemini app.</p>
<p>Create one notebook per subject (or per unit) and add your sources. It accepts a lot of formats:</p>
<ul>
<li>PDF, Word (docx), PowerPoint (pptx), text and Markdown files</li>
<li>Google Docs and Slides</li>
<li>web URLs</li>
<li>public YouTube videos that have captions (it imports the transcript)</li>
<li>audio files, which it transcribes on import (Sinhala and Tamil are both on the supported list)</li>
</ul>
<p>Free users can add up to 50 sources per notebook, and each source can be up to 500,000 words or 200 MB.</p>
<p><strong>Tip:</strong> one notebook per unit works better than one giant notebook for the whole year. Answers stay focused, and it's easier to see what's missing.</p>
<h2>Step 2: Summarise, but ask specific questions</h2>
<p>Each source gets an automatic summary in the Source Guide. That's a good start, but the real value comes from asking narrow questions in the chat, for example:</p>
<ul>
<li>"List the 10 key definitions in the 'Unit 3 lecture' source."</li>
<li>"Explain the difference between X and Y using only my sources."</li>
<li>"What topics in this unit appear in more than one source?"</li>
</ul>
<p>Because the answers are grounded in your own files, you can check every claim against the page it came from. Do that. AI summaries can miss things or get them wrong, and your exam is based on your syllabus, not on what the model thinks is important.</p>
<p>Write the final short notes yourself, even if you copy most of the structure from the chat. Rewriting is part of learning.</p>
<p><strong>If you study in Sinhala or Tamil:</strong> this is a gap I kept running into with my own students, so my team and I built <a href="https://shortme.lk/features/short-notes">shortme.lk</a>. You upload a lecture PDF and get short notes (or a practice question paper) in English, Sinhala or Tamil. The free plan covers 3 AI documents a day, up to 10 pages per PDF. Use whichever tool fits your language. The workflow is the same.</p>
<h2>Step 3: Active recall with flashcards and quizzes</h2>
<p>Reading your notes tells you what's on the page. Testing yourself tells you what's in your head. That's the whole idea of active recall.</p>
<p>In Gemini Notebook, open the <strong>Studio</strong> panel and choose <strong>Flashcards</strong> or <strong>Quizzes</strong>. Before generating, you can:</p>
<ul>
<li>pick the difficulty (easy, medium or hard)</li>
<li>add a prompt, e.g. "focus on definitions and formulas from Unit 3"</li>
</ul>
<p>While you study, you can mark each card "Got it!" or "Missed it!", ask for an explanation, and at the end practise again with only the cards you missed. Quizzes give you hints and explanations too.</p>
<p>Then do one more thing: <strong>download the flashcards as a CSV file.</strong> That's the bridge to step 4.</p>
<h2>Step 4: Spaced review in Anki</h2>
<p><strong>Anki</strong> is a free, open-source flashcard program. When you review a card, you rate how well you remembered it, and Anki schedules the next review for around the time you're most likely to forget it. Easy cards come back rarely and hard cards come back often.</p>
<ul>
<li>The desktop app (Windows, macOS, Linux) is free.</li>
<li>AnkiDroid for Android is free.</li>
<li>AnkiMobile for iOS is a paid app (the purchase funds Anki's development).</li>
<li>AnkiWeb sync between devices is free.</li>
</ul>
<p>Anki can import any plain-text file where fields are separated by commas, semicolons or tabs, as long as it's saved as UTF-8. So the flashcard CSV from step 3 goes straight in: <strong>File → Import</strong>, choose the CSV, map the columns to Front and Back, and pick a deck.</p>
<p><strong>Tip:</strong> don't import 300 cards the night before an exam. Import a unit at a time, and do your reviews every day, even if it's only 15 minutes on the bus.</p>
<h2>The weekly routine I suggest</h2>
<table>
<thead>
<tr>
<th>When</th>
<th>What</th>
</tr>
</thead>
<tbody><tr>
<td>After each lecture</td>
<td>Add the PDF/recording to that unit's notebook (Step 1)</td>
</tr>
<tr>
<td>Same week</td>
<td>Ask 3–5 specific questions; write your own short notes (Step 2)</td>
</tr>
<tr>
<td>End of the unit</td>
<td>Generate flashcards and a quiz; download the CSV (Step 3)</td>
</tr>
<tr>
<td>Every day</td>
<td>Do your Anki reviews (Step 4)</td>
</tr>
<tr>
<td>Before the exam</td>
<td>Retake the quiz with only the questions you missed</td>
</tr>
</tbody></table>
<h2>A few honest warnings</h2>
<ul>
<li><strong>Check everything against your textbook or lecturer's notes.</strong> AI tools make mistakes, especially with local syllabus content and non-English terms.</li>
<li><strong>Only upload material you're allowed to use.</strong> Google's own help page says to avoid uploading documents you don't have rights to.</li>
<li><strong>The tools are the easy part.</strong> The improvement comes from testing yourself and reviewing regularly, not from having the perfect app.</li>
</ul>
<p>If you try this, I'd like to know which step you skip most often. For most of my students it's step 4.</p>
<p>— KD Jayakody</p>
]]></content:encoded></item><item><title><![CDATA[A Fake Claude Code Extension Showed Up in Cursor. Here's What I'm Telling My Students]]></title><description><![CDATA[A calm, practical checklist for beginners who use AI coding tools and editor extensions]]></description><link>https://kdjayakody.hashnode.dev/a-fake-claude-code-extension-showed-up-in-cursor-here-s-what-i-m-telling-my-students</link><guid isPermaLink="true">https://kdjayakody.hashnode.dev/a-fake-claude-code-extension-showed-up-in-cursor-here-s-what-i-m-telling-my-students</guid><category><![CDATA[Security]]></category><category><![CDATA[cursor]]></category><category><![CDATA[AI]]></category><category><![CDATA[Beginner Developers]]></category><dc:creator><![CDATA[KD Jayakody]]></dc:creator><pubDate>Sun, 01 Nov 2026 04:50:20 GMT</pubDate><content:encoded><![CDATA[<p>I teach AI and coding to beginners in Sri Lanka, mostly in Sinhala. A lot of my students use AI coding tools every day now, and I think that's a good thing. These tools help people learn faster and build things they couldn't build before. But this week gave us a useful reminder: the tools around our tools need a little attention too.</p>
<p>Here is what happened, what the official advice is, and the simple habits I'm asking my students to build.</p>
<h2>What happened</h2>
<p>On October 29, 2026, Cursor published a security notice. For a few hours that day, from about 2:27am to 1:35pm Pacific Time, a maliciously modified version of the Claude Code extension (Anthropic.claude-code, versions 2.1.312 and 2.1.313, for Windows and macOS) was available in the Cursor VS Code Extension Marketplace.</p>
<p>Those versions were not developed by Anthropic. According to Cursor, the modified extension ran code that attempted to install a persistent SSH backdoor. In plain words, it tried to add an attacker's SSH key to the computer, open a remote tunnel, and set itself up to keep running in the background.</p>
<p>Cursor says it removed the malicious version, shut down and rebuilt the marketplace as a precaution, and worked with the hosting provider to take the attacker's server offline.</p>
<p>The next day, Microsoft published its own analysis. Microsoft confirmed that the malicious packages were never published or distributed through the official Visual Studio Marketplace or through the npm package @anthropic-ai/claude-code. Those were not affected. All the evidence they had pointed to the incident being limited to the Cursor marketplace.</p>
<p>So this was a specific problem, in a specific place, for a specific window of time. That matters. It's not a reason to stop using AI tools or extensions. It's a reason to check, clean up if needed, and learn from it.</p>
<h2>If this could affect you</h2>
<p>The official advice applies if you installed or updated Anthropic.claude-code to 2.1.312 or 2.1.313 from the Cursor marketplace, on macOS or Windows, during that window on October 29.</p>
<p>If that's you, here is the short version of what Cursor recommends:</p>
<ol>
<li>Run the check provided in Cursor's security notice to see whether you are impacted.</li>
<li>If you are, remove the unauthorized SSH key, the persistence it set up, and any running tunnel processes. Cursor provides remediation scripts for this.</li>
<li>Rotate credentials and sessions that were accessible from that machine, and do it from a trusted system.</li>
</ol>
<p>One point I want beginners to really notice: <strong>uninstalling the extension may not be enough.</strong> Cursor explains that the payload drops separate scripts that keep running. So please don't just remove the extension and move on. Run the check.</p>
<p>If you're in Sri Lanka like me, remember the window was in Pacific Time. For us that's roughly from the afternoon of October 29 to early morning on October 30.</p>
<p>I'm not going to repeat the technical details here. Please read the official notices directly. They are linked at the end.</p>
<h2>Habits worth building anyway</h2>
<p>Even if you were not affected, this is a good moment to set up a few simple habits. None of these are claims about this incident. They're just good practice that I try to follow myself.</p>
<p><strong>Check the publisher and version before you install.</strong> Take five seconds to look at who published an extension and what version you're getting. It's a small habit, but it makes you pay attention.</p>
<p><strong>Keep fewer extensions.</strong> Every extension is code running inside your editor. If you installed something for one project months ago and never used it again, remove it. Fewer extensions means less risk.</p>
<p><strong>If auto-update is on, keep an eye on security news.</strong> Auto-update is convenient, and I'm not telling you to turn it off. Just know that updates can come in without you doing anything, so it helps to follow the official blogs of the tools you rely on.</p>
<p><strong>Rotate keys when in doubt.</strong> SSH keys, API keys, tokens in your .env files. If you ever suspect a machine was exposed, rotating them is a calm, sensible step, not a panic move.</p>
<p><strong>Separate important work.</strong> For serious projects, consider a separate user account or a separate machine. That way, one bad install has less to reach.</p>
<h2>Why I'm sharing this calmly</h2>
<p>When news like this comes out, it's easy to make it sound scary. I don't want to do that. AI tools are not the enemy. They're tools, and like any tool, we get the most out of them when we use them with a bit of care.</p>
<p>What I liked here is that the official notices were clear: what happened, who was affected, and what to do. That's the kind of information beginners need. Not fear, just steps.</p>
<p>So if you use Cursor, take two minutes and check. If you teach or mentor others, share the official advice with them. And whatever editor you use, build the small habits now, while things are calm.</p>
<p>Learn safely, build boldly.</p>
<p>— KD Jayakody</p>
<p>Sources: Cursor security notice (Oct 29, 2026): <a href="https://cursor.com/blog/claude-code-extension-security-notice">https://cursor.com/blog/claude-code-extension-security-notice</a></p>
<p>Microsoft Security Blog (Oct 30, 2026): <a href="https://www.microsoft.com/en-us/security/blog/2026/10/30/inside-malicious-claude-code-branded-cursor-extension-persistent-ssh-backdoor/">https://www.microsoft.com/en-us/security/blog/2026/10/30/inside-malicious-claude-code-branded-cursor-extension-persistent-ssh-backdoor/</a></p>
]]></content:encoded></item><item><title><![CDATA[5 Sites I Use So My Vibe-Coded Apps Don't Look AI-Generated]]></title><description><![CDATA[I teach AI and web development, and the most common thing I see in vibe-coded apps is that they all look the same: same gradients, same cards, same "AI…]]></description><link>https://kdjayakody.hashnode.dev/5-sites-i-use-so-my-vibe-coded-apps-don-t-look-ai-generated</link><guid isPermaLink="true">https://kdjayakody.hashnode.dev/5-sites-i-use-so-my-vibe-coded-apps-don-t-look-ai-generated</guid><category><![CDATA[Tailwind CSS]]></category><category><![CDATA[UI Design]]></category><category><![CDATA[webdev]]></category><category><![CDATA[React]]></category><dc:creator><![CDATA[KD Jayakody]]></dc:creator><pubDate>Sat, 31 Oct 2026 21:01:03 GMT</pubDate><content:encoded><![CDATA[<p>I teach AI and web development, and the most common thing I see in vibe-coded apps is that they all look the same: same gradients, same cards, same "AI default" feel. The fix isn't a better model. It's better references and better components. Here are the five I keep coming back to.</p>
<h2>1. 21st.dev</h2>
<p><strong>What it is:</strong> A large library of React + Tailwind CSS components, templates and shadcn themes made by design engineers, with a CLI (<code>npx @21st-dev/cli add</code>) and an MCP server so your AI agent can find and install components. <strong>Use it when:</strong> You want polished, real-world sections (heroes, AI chat UIs, pricing, sign-ins) and you're working with Cursor, Claude Code or another MCP client. <strong>Free vs paid:</strong> A free account can copy 2 components a day. Paid plans remove the limit.</p>
<h2>2. React Bits (reactbits.dev)</h2>
<p><strong>What it is:</strong> Free animated React components: text animations, backgrounds and micro-interactions. Pick JavaScript or TypeScript, with plain CSS or Tailwind, then copy the source or install it with the CLI. <strong>Use it when:</strong> Your UI works but feels flat and you want a bit of motion that you fully own and can tweak. <strong>Free vs paid:</strong> The main library is free. React Bits Pro (pro.reactbits.dev) is a paid one-time purchase that adds blocks, app UI and templates.</p>
<h2>3. Magic UI (magicui.design)</h2>
<p><strong>What it is:</strong> 150+ free, open-source animated components built with React, TypeScript, Tailwind CSS and Motion, designed as a companion to shadcn/ui. <strong>Use it when:</strong> You're building a landing page and already use shadcn/ui. <strong>Free vs paid:</strong> The components are free. Magic UI Pro (pro.magicui.design) sells landing-page templates and sections for a one-time fee.</p>
<h2>4. Uiverse (<a href="http://uiverse.io">uiverse.io</a>)</h2>
<p><strong>What it is:</strong> A community-made, open-source library of UI elements such as buttons, cards, loaders and inputs. Copy them as HTML/CSS, Tailwind, React or Figma. <strong>Use it when:</strong> You need one small element that looks hand-made, even without React. <strong>Free vs paid:</strong> The site says it's 100% free for personal and commercial use.</p>
<h2>5. Mobbin (<a href="http://mobbin.com">mobbin.com</a>)</h2>
<p><strong>What it is:</strong> Not a component library. It's a UI/UX reference library of screens from real, shipped mobile and web apps. <strong>Use it when:</strong> You need to see how real products design onboarding, paywalls or settings before you prompt your AI. <strong>Free vs paid:</strong> Joining is free, with limited access to apps and sites. Flows, animations and search need a paid plan, and there's a student/educator discount.</p>
<h2>Quick tip</h2>
<p>Don't ask your AI for "a modern UI". Pick one real reference screen from Mobbin, choose one component library (mixing five libraries is how apps start looking generic), and give the AI your brand colours, font and spacing scale. Consistency is what makes an app look designed.</p>
<p>What's on your list? Drop it in the comments.</p>
<p>— KD Jayakody</p>
]]></content:encoded></item></channel></rss>