diff --git a/ch3.html b/ch3.html index 7edd87b..42771ad 100644 --- a/ch3.html +++ b/ch3.html @@ -12,45 +12,432 @@
- + + + - - - - - - dasd sad assad ddasdasdasdas asdasdsd asds - - - asdasdassaasd asdassadas sadasd s asdas as + + + + To help you get started with Spaced Repetition today, + you need to answer four questions: - - + + +Now, let's make a flashcard! I'll give you the question on the front, +you write your own answer on the back. Here's the front: + + + + + - + - dasd sad assad ddasdasdasdas asdasdsd asds + For example, you could use Spaced Repetition to help you learn... - - asdasdassaasd asdassadas sadasd s asdas as + + Now, you write your answer on the back: + + + + + + + + + + + + + + + + + However, recall that for Spaced Repetition to work, + you need to connect it to something you care about. + So our next card is: + + + + + + + + + + + That may be too philosophical, so here's some + concrete examples of a why behind a what: + + + So... what's your why? + + + + + + + + + + + + + + + + + You now have your what and why... but we still need to pick a how! + That is, what tool/app do you want to use? + Our next card asks: + + + + + + + + + + + So far, we've seen three tools you could use: + The Leitner Box, Anki, and TinyCards. + Here's the more detailed pros-and-cons of each: + + + (Want something else? + Here's a few other tools: + SuperMemo, NimbleNotes, Mnemosyne) + + + * anti-disclaimer: i am not affiliated with any of these. + i just think they're cool & helpful! + + + + + + So, what's it gonna be? + + + + + + + + + + + + + + + + + Just one card left! + Now: doing Spaced Repetition is actually quite easy... + however, doing it as a daily habit is hard. + + + Why? Because making any new habit is hard. + + + + + + + Hard, but straightforward. + The science of habits shows that if you do the same thing, given the same cue, + over and over... + + + ...it'll become a habit, for better or worse. + So for a Spaced Repetition habit, the question is: + + + + + + + + + + + For example, you could play the Spaced Repetition game... + + + + It doesn't really matter when you do it, as long as you do it + daily and consistently (more or less - you can skip a day once in a while). + + + + + + + (Tip: whenever I try to create a new habit, + I draw a circle on a calendar for each day I successfully do it) + + + (It's a game I play with myself! The goal is to try not break + my streak, and build the longest chain I can.) + + + + + + Now, let's fill out that final flashcard: + + + + + + + + + + + + + + + + + Et voilà, here's all four of your flashcards, all about you! + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + But like I said, I want to help you take control of your memory today. + + + Not "eventually", not "tomorrow", TODAY. + + + + + + + SO... + + + here's some +
+ + COOL STUFF + +
+ you can download! +
+
+ + + + + + FIRST: + a wallpaper for your desktop, + + to remind you to play your Spaced Repetition game each day! + + + + + + + + SECOND: + + a link to the Anki app! + (and here's a video tutorial on how to get started) + + + + + + + + + And finally, + THIRD: + a .zip of all the flashcards you've been practicing in this interactive comic! + + + + + + (These can be your first few days' worth of Spaced Repetition cards, + to help you get started! And as a plus, you'll get to remember everything + you learnt here today, forever) + + + + + + + + + + + + + + + + Which reminds me... + + + one last goodbye, + for old time's sake, + the final swan song! + + + ...let's review our flashcards, all of them: + + + + + + + + + + + Sniff... + It's always so hard to say goodbye... + + + + + + + + + + + I'll miss the time we had together... + + + ...but I hope we live on in each others' memories! + + + + + + + + + If you're a student, I hope Spaced Repetition + helps you be more confident, and take learning into your own hands. + + + + + + + If you're a teacher, + please oh please tell your students about Spaced Repetition + (& other science-based study habits) early on. + + + + + + + But whether you're in or out of school, + I hope Spaced Repetition helps you develop your memory, your mind, + your muse... + + + + + + + ...and learn one of life's greatest loves: + + + a lifelong love of learning. + + + + + - + + - - - + + @@ -59,75 +446,6 @@
- - - -
-
- What's this? -
-
- -
- Mitochondria -
-
- - - - -
- 여보세요 - Здравствуйте -
-
- -
-
- 你好 - こんにちは -
-
- -
-
- According to Endosymbiotic Theory, mitochondria arose around - ____ years ago -
-
- -
- ~1.5 billion years ago -
-
- -
-
- According to Endosymbiotic Theory, mitochondria first arose when... -
-
- -
-
- when a prokaryote was eaten by another cell -
-
- -
- The Forgetting Curve (with optimally-spaced recalls) looks like... -
-
- -
-
- (note: the gaps between recalls increase in length) -
-
-
diff --git a/ch3_codetest.html b/ch3_codetest.html new file mode 100644 index 0000000..3f2a867 --- /dev/null +++ b/ch3_codetest.html @@ -0,0 +1,145 @@ + + + + + An Interactive Comic + + + + + + + +
+ + + + + + + + + + + + + dasd sad assad ddasdasdasdas asdasdsd asds + + + asdasdassaasd asdassadas sadasd s asdas as + + + + + + + + + + + dasd sad assad ddasdasdasdas asdasdsd asds + + + asdasdassaasd asdassadas sadasd s asdas as + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ What's this? +
+
+ +
+ Mitochondria +
+
+ + + + +
+ 여보세요 + Здравствуйте +
+
+ +
+
+ 你好 + こんにちは +
+
+ + +
+
+ According to Endosymbiotic Theory, mitochondria arose around + ____ years ago +
+
+ +
+ ~1.5 billion years ago +
+
+ + +
+
+ According to Endosymbiotic Theory, mitochondria first arose when... +
+
+ +
+
+ when a prokaryote was eaten by another cell +
+
+ +
+ The Forgetting Curve (with optimally-spaced recalls) looks like... +
+
+ +
+
+ (note: the gaps between recalls increase in length) +
+
+ +
+ + + + + + + + diff --git a/css/comic.css b/css/comic.css index 64d2499..58b6a0f 100644 --- a/css/comic.css +++ b/css/comic.css @@ -37,8 +37,8 @@ b, strong{ } #comic panel{ display: inline-block; - width: 250px; - height: 250px; + width: 400px; + height: 300px; /*border: 2px solid #ccc;*/ margin: 5px; position: relative; diff --git a/preface.html b/preface.html new file mode 100644 index 0000000..12c3a53 --- /dev/null +++ b/preface.html @@ -0,0 +1,211 @@ + + + + + An Interactive Comic + + + + + + + +
+ + + + + + In Greek mythology, the Muses, the goddesses of inspiration... + + + ...were the daughters of Mnemosyne: the goddess of Memory. + + + + + + + + PFFFFFFFFFT + + + Who cares about MEMORY anymore? + + + + + + + Seriously, why memorize anything when we can just look it up? + + + And besides, isn't rote memorization bad? + Shouldn't we focus instead on teaching creativity and critical thinking? + + + + + + + + On the contrary: cognitive scientists have shown that + creativity and critical thinking require memory. + + + (Imagine trying to compose a poem or essay if you haven't memorized any words!) + + + + + + + + That said, the ways most of us try to memorize things... suck. + + + In 2013, a meta-study of 100+ other studies ranked how effective (or not) + different learning techniques are. + + + +Hey, why don't you take a guess at what works & what doesn't? + + + + + + + + + + + + + + + + + + + + + + + + + The most popular study techniques – re-reading, highlighting, cramming... + + + ...don't work. + + + + + + + Instead, testing yourself and spacing out your learning + are the two most science-backed ways to learn... + + + ...which can be combined into a simple but powerful method called “Spaced Repetition”. + + + + + + + + + + + + But seriously, at the risk of sounding like a cult, + + + Spaced Repetition has changed my life. + + + + + + + Spaced Repetition is most popular for language-learning, + + + but I, and friends I know, are using it to learn so much more! + + + + + + + In this interactive comic, I want to share with you the science & art of Spaced Repetition... + + + ...and help you get started using it today. + + + +And throughout this comic, +you can test yourself on what you've learnt, +in spaced-out intervals. + +That is, you'll use Spaced Repetition to learn about Spaced Repetition. + +Like so: + + + + + + + + + + + I want to clarify something. + This isn't just a "study trick" or a "life hack". + + + This is a way to take control of your mind. + To make long-term memory a choice. + To develop a lifelong love for learning... + + + + + + + + ...to mother your own, inner Muse. + + + + + + + + + +
+
+ + + + + + + + diff --git a/sims/downloads/download_all.js b/sims/downloads/download_all.js index 8978b83..736f4af 100644 --- a/sims/downloads/download_all.js +++ b/sims/downloads/download_all.js @@ -1,27 +1,22 @@ /********************************** -1. ONLY when you press the button, does it take labels & pics & such... @done +- Draw text box in correct position @done +- With word wrap @done -2. Loads 'em all... - -3. Draws html to canvasses! -- draw SOMETHING @done -- draw background image (if any) @done -- draw text box in correct position & text align with word wrap - -4. Lets you download all of 'em, as a .zip! @done +- Detect device +- Download a wallpaper/lockscreen **********************************/ // CARDS TO LOAD var CARDNAMES = [ + "test", "sci_a", "mitochondria_7", "mitochondria_8", "sci_c" ]; - var download_btn = $("#download"); download_btn.onclick = function(){ @@ -64,14 +59,15 @@ download_btn.onclick = function(){ canvasses.forEach(function(results){ var filename = results[0]; var canvas = results[1]; - zip.file(filename+".png", canvas.toDataURL().substr(22), {base64: true}); + //zip.file(filename+".png", canvas.toDataURL().substr(22), {base64: true}); + document.body.appendChild(canvas); }); // Download... - zip.generateAsync({type:"blob"}) + /*zip.generateAsync({type:"blob"}) .then(function(content) { saveAs(content, "flashcards.zip"); - }); + });*/ }); @@ -129,10 +125,58 @@ function _drawToCanvas(filename, dom){ // Draw text drawBG.then(function(){ - // Draw the innerText, w/e + // Get font size + var words = dom.querySelector("#fc_words"); + var fontsize = words.style.fontSize || 40; + fontsize = parseInt(fontsize); + ctx.textAlign = "center"; + ctx.textBaseline = "top"; ctx.fillStyle = "#000"; - ctx.font = "20px PatrickHand"; - ctx.fillText(dom.innerText, 10, 50); + ctx.font = fontsize+"px PatrickHand, Helvetica, Arial"; + + // Line Height + var lineHeight = words.style.lineHeight || "1.1em"; + if(lineHeight.includes("em")){ + lineHeight = fontsize * parseFloat(lineHeight); + } + + // Width & Lineheight + var maxWidth = words.style.width || 360; + maxWidth = parseInt(maxWidth); + + // Get position + var position = {x:0, y:0}; + if(words.classList.contains("fcard_center")){ + var h = words.style.height || "44px"; + if(h.includes("em")){ + h = fontsize * parseFloat(h); + }else if(h.includes("px")){ + h = parseFloat(h); + } + + // Editable? + if(words.getAttribute("editable")){ + var numLines = testHowManyLines(ctx, dom.innerText.trim(), maxWidth); + h = fontsize * numLines; + } + + position.x = 200; + position.y = (240-h-10)/2; + }else{ + var x = parseFloat(words.style.left) + var y = parseFloat(words.style.top) + position.x = x + maxWidth/2; + position.y = y; + } + + // Draw the innerText, w/e + wrapText( + ctx, + dom.innerText.trim(), + position.x, position.y, + maxWidth, + lineHeight + ); // Return it! resolveCanvas([filename, canvas]); @@ -142,3 +186,63 @@ function _drawToCanvas(filename, dom){ }); } + + +function wrapText(context, text, x, y, maxWidth, lineHeight) { + var words = text.replace(/\n/g," ").split(' '); + words = words.map(word => word.trim()); + var line = ''; + for(var n=0; nmaxWidth && n>0){ + context.fillText(line, x, y); + line = words[n]; + y += lineHeight; + }else{ + line = testLine; + } + + } + context.fillText(line, x, y); +} + +function testHowManyLines(context, text, maxWidth){ + var numLines = 1; + var words = text.replace(/\n/g," ").split(' '); + words = words.map(word => word.trim()); + var line = ''; + for(var n=0; nmaxWidth && n>0){ + //context.fillText(line, x, y); + line = words[n]; + numLines++; + }else{ + line = testLine; + } + + } + //context.fillText(line, x, y); + + return numLines; +} diff --git a/sims/singlecard/singlecard.js b/sims/singlecard/singlecard.js index 2c8932f..c45135c 100644 --- a/sims/singlecard/singlecard.js +++ b/sims/singlecard/singlecard.js @@ -51,7 +51,7 @@ if(_getQueryVariable("refresh")=="yes"){ var _reAlign = function(){ var bounds = dom.getBoundingClientRect(); - dom.style.top = (((240-bounds.height)/2)-10) +"px"; + dom.style.top = (((240-bounds.height-10)/2)) +"px"; }; _reAlign();