Compare commits
4 Commits
0147fbbf23
...
3719a20d00
Author | SHA1 | Date | |
---|---|---|---|
|
3719a20d00 | ||
|
37d09f7a49 | ||
|
080525f657 | ||
|
5b71496c9d |
@ -49,7 +49,6 @@ const descText =
|
|||||||
<ContentRenderer :value="post" :excerpt="true" tag="section">
|
<ContentRenderer :value="post" :excerpt="true" tag="section">
|
||||||
<template #empty>No excerpt available.</template>
|
<template #empty>No excerpt available.</template>
|
||||||
</ContentRenderer>
|
</ContentRenderer>
|
||||||
<!--<p v-if="!post.nopreview" class="m-0">…</p>-->
|
|
||||||
<div class="text-right" v-if="!post.nopreview">
|
<div class="text-right" v-if="!post.nopreview">
|
||||||
<a
|
<a
|
||||||
:href="post._path"
|
:href="post._path"
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
title: Primoprod Progress Report
|
title: Primoprod Progress Report
|
||||||
date: 2021-08-21
|
date: 2021-08-21
|
||||||
tags:
|
tags:
|
||||||
- primoprod
|
- primoprod
|
||||||
- tech
|
- tech
|
||||||
- featured
|
- featured
|
||||||
---
|
---
|
||||||
|
|
||||||
Welcome to the very first [Primoprod](https://primoprod.eggworld.me) progress report! In a similar vein to quite a few open source emulation projects (such as those I follow myself using [emufeed](https://github.com/potatoeggy/emufeed/blob/master/sources.py)), I'll be releasing these tidbits in lieu of daily Unstagnation shorts sometimes.
|
Welcome to the very first [Primoprod](https://primoprod.eggworld.me) progress report! In a similar vein to quite a few open source emulation projects (such as those I follow myself using [emufeed](https://github.com/potatoeggy/emufeed/blob/master/sources.py)), I'll be releasing these tidbits in lieu of daily Unstagnation shorts sometimes.
|
||||||
@ -17,9 +17,9 @@ This report will cover the beginnings of the project to the present day: 16 July
|
|||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
What is Primoprod? Short for "Productivity Primogems", it was born when I noticed that the gacha system employed by games such as *Genshin Impact* could be incredibly addictive, so I decided to see if I could take advantage of it to boost my productivity and at the same time try to learn web development.
|
What is Primoprod? Short for "Productivity Primogems", it was born when I noticed that the gacha system employed by games such as _Genshin Impact_ could be incredibly addictive, so I decided to see if I could take advantage of it to boost my productivity and at the same time try to learn web development.
|
||||||
|
|
||||||
The basic premise was to assign a given point value for each productive task and be able to spend those points on something or have them progress toward a milestone, so that productive tasks would be incentivised. The aforementioned gacha games and Uber use this to great effect, so I decided to emulate the Wish UI of [*Genshin Impact*](https://genshin.mihoyo.com/en).
|
The basic premise was to assign a given point value for each productive task and be able to spend those points on something or have them progress toward a milestone, so that productive tasks would be incentivised. The aforementioned gacha games and Uber use this to great effect, so I decided to emulate the Wish UI of [_Genshin Impact_](https://genshin.mihoyo.com/en).
|
||||||
|
|
||||||
And so the project began! I decided to work with Vue.js because of its gentler learning curve compared to Angular and more traditional HTML/CSS/JS separation compared to React. You can tell when I became more comfortable in using Vue's declarative system in the later components compared to, say, [`App.vue`](https://github.com/potatoeggy/primoprod/blob/master/src/App.vue).
|
And so the project began! I decided to work with Vue.js because of its gentler learning curve compared to Angular and more traditional HTML/CSS/JS separation compared to React. You can tell when I became more comfortable in using Vue's declarative system in the later components compared to, say, [`App.vue`](https://github.com/potatoeggy/primoprod/blob/master/src/App.vue).
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ As my first foray into web development, there were many tools and practices I co
|
|||||||
|
|
||||||
Luckily, I didn't have to make any of these decisions because Vue's [CLI](https://cli.vuejs.org/) gives you a list of sane defaults that you can pick from, and since I was learning for the future, I went with the first option of Vue 3 + Typescript. `vue-cli` even nicely [initialised a git repo for me](https://github.com/potatoeggy/primoprod/commit/9b7d7841806c905e8f580f98d1c95d4732178810)!
|
Luckily, I didn't have to make any of these decisions because Vue's [CLI](https://cli.vuejs.org/) gives you a list of sane defaults that you can pick from, and since I was learning for the future, I went with the first option of Vue 3 + Typescript. `vue-cli` even nicely [initialised a git repo for me](https://github.com/potatoeggy/primoprod/commit/9b7d7841806c905e8f580f98d1c95d4732178810)!
|
||||||
|
|
||||||
At the time, coming from Python/Java, I opted in to the class components plugin hoping it made it easier to develop for, but later removed it due to a lack of documentation with it for Vue 3. Occasional downsides of newer technologies ¯\\\_(ツ)_/¯.
|
At the time, coming from Python/Java, I opted in to the class components plugin hoping it made it easier to develop for, but later removed it due to a lack of documentation with it for Vue 3. Occasional downsides of newer technologies ¯\\\_(ツ)\_/¯.
|
||||||
|
|
||||||
The [first few commits](https://github.com/potatoeggy/primoprod/commit/ed9d94b61bf91ea9b82ac4d832dfb2b9ff2efc59) had me playing around until I was comfortable enough to introduce my very [first component](https://github.com/potatoeggy/primoprod/commit/fcbb4068dd3b018db2809ccfcc5381d4ea3ae727): the WishButton.
|
The [first few commits](https://github.com/potatoeggy/primoprod/commit/ed9d94b61bf91ea9b82ac4d832dfb2b9ff2efc59) had me playing around until I was comfortable enough to introduce my very [first component](https://github.com/potatoeggy/primoprod/commit/fcbb4068dd3b018db2809ccfcc5381d4ea3ae727): the WishButton.
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ See [GemCounter](https://github.com/potatoeggy/primoprod/blob/master/src/compone
|
|||||||
|
|
||||||
Although I had read up on [MDN's](https://developer.mozilla.org/en-US/) fantastic tutorials/documentation a fair bit and used flexboxes and `rem` everywhere, I apparently did not catch `box-sizing: border-box` and the margins and padding just did not arrange themselves how they should have.
|
Although I had read up on [MDN's](https://developer.mozilla.org/en-US/) fantastic tutorials/documentation a fair bit and used flexboxes and `rem` everywhere, I apparently did not catch `box-sizing: border-box` and the margins and padding just did not arrange themselves how they should have.
|
||||||
|
|
||||||
![:/ thanks MDN for letting me know](src=mdn-box-sizing-tip.webp)
|
![:/ thanks MDN for letting me know](mdn-box-sizing-tip.webp)
|
||||||
|
|
||||||
[Some foreshadowing](https://github.com/potatoeggy/primoprod/blob/master/src/components/ItemRevealScreen.vue#L224)
|
[Some foreshadowing](https://github.com/potatoeggy/primoprod/blob/master/src/components/ItemRevealScreen.vue#L224)
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ Designing the basic screen was pretty straightforward. For all its woes, pure CS
|
|||||||
|
|
||||||
![](primoprod-wishbanners.webp)
|
![](primoprod-wishbanners.webp)
|
||||||
|
|
||||||
Pretty good, right? Now, the design still isn't adaptive enough *since things get cut off for who knows why I thought flexboxes were supposed to solve all this* but for the most part it looks good enough. It appears I'll have to make a lot of exceptions for mobile devices…
|
Pretty good, right? Now, the design still isn't adaptive enough _since things get cut off for who knows why I thought flexboxes were supposed to solve all this_ but for the most part it looks good enough. It appears I'll have to make a lot of exceptions for mobile devices…
|
||||||
|
|
||||||
![](primoprod-wishbanners-scaled.webp)
|
![](primoprod-wishbanners-scaled.webp)
|
||||||
|
|
||||||
@ -130,9 +130,9 @@ No it doesn't it's not even close but I'm not coming back to that
|
|||||||
|
|
||||||
## Sweet release
|
## Sweet release
|
||||||
|
|
||||||
Now that `ItemRevealScreen` is *done and over with and will not need any changes*, before making myself work on the equally fun part of the project that is `ItemRevealAllOverlay`, I opted for a break in `ItemObtainScreen` and `ItemDescriptionOverlay` and a one-week hiatus.
|
Now that `ItemRevealScreen` is _done and over with and will not need any changes_, before making myself work on the equally fun part of the project that is `ItemRevealAllOverlay`, I opted for a break in `ItemObtainScreen` and `ItemDescriptionOverlay` and a one-week hiatus.
|
||||||
|
|
||||||
And they were easy! Easy and fun. It was blissful to be working with structured HTML and CSS again, and the animation pains there were *nothing* compared to the trauma of `ItemRevealScreen`.
|
And they were easy! Easy and fun. It was blissful to be working with structured HTML and CSS again, and the animation pains there were _nothing_ compared to the trauma of `ItemRevealScreen`.
|
||||||
|
|
||||||
In fact, I consider those two to be 100% done unless I can find a way to apply a border that looks exactly like the original game's that isn't an image.
|
In fact, I consider those two to be 100% done unless I can find a way to apply a border that looks exactly like the original game's that isn't an image.
|
||||||
|
|
||||||
|
79
content/stories/shorts/ece-192-words-per-minute.md
Normal file
79
content/stories/shorts/ece-192-words-per-minute.md
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
---
|
||||||
|
title: "ECE 192 Words per Minute"
|
||||||
|
date: 2024-02-29
|
||||||
|
tags:
|
||||||
|
- featured
|
||||||
|
- shorts
|
||||||
|
---
|
||||||
|
|
||||||
|
**Summary:** A student is mildly frustrated by his professor's pace of speaking.
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
"Even if we use one million, or two million, or even three million pieces, the additional tooling cost will remain constant. So you can see that in order to make a good economic analysis, you have to classify the costs related to the output activities as follows…"
|
||||||
|
|
||||||
|
Lento slammed his pencil down as the professor *finally* stopped speaking. The soot streaks on his notebook smoked from his rapid scribbling, and his wrist shook from the sheer exertion of trying to take notes from a professor who read off slides that looked like someone tried to squeeze a novel onto them.
|
||||||
|
|
||||||
|
Judging by the fire alarm going off around them, he wasn't the only one who nearly combusted his notes.
|
||||||
|
|
||||||
|
"You know," Atras murmured from beside him, "online lectures sound like a really good idea right now." His notebook was closed, his pencil pristine. The signs of a man who gave up long ago. The signs of a smart man.
|
||||||
|
|
||||||
|
"I," Lento hissed, "cannot take this anymore."
|
||||||
|
|
||||||
|
"What is he even saying?" Atras said, calmer but still exasperated. "What's all this about costs and benefits and graphs?"
|
||||||
|
|
||||||
|
"Who *cares?* Why does this *matter?* Has this man *ever had to deliver a presentation before?* I *don't need this to pass my exam.*"
|
||||||
|
|
||||||
|
Atras patted his back, an understanding but exasperated expression on his face. "Calm down. It's not that bad. It's just a humanities course."
|
||||||
|
|
||||||
|
"I'm not seeing the humanity," Lento said grimly.
|
||||||
|
|
||||||
|
"It's the bird course. The easy course. The course you don't even have to take notes in. Why are you trying so hard, anyway?"
|
||||||
|
|
||||||
|
"Says the guy who isn't taking notes!"
|
||||||
|
|
||||||
|
Atras snorted. "The prof posted all of his slides online. Why *should* you take notes? I'd rather not develop carpal tunnel in the first week."
|
||||||
|
|
||||||
|
A clock *tick*ed and Lento glanced over to the clock. The professor starts talking again, the sound like a drill burrowing directly into Lento's ears as the added knowledge of *incompetence* makes the emotional damage all too clear.
|
||||||
|
|
||||||
|
"How is he still talking?" Lento's voice steadily rose in pitch. "What is there left to talk about? Why can't I go home? Why am I here? Just to *suffer??"*
|
||||||
|
|
||||||
|
"And that's it!" the professor said brightly. "You are now free to go. Tomorrow, we'll be looking at cost estimation models. There are practice problems on LEARN if you want to apply what we covered today."
|
||||||
|
|
||||||
|
A rush of cool wind blew from somewhere out the exit, even though that would make no logical sense whatsoever, but conveniently masked the students' collective sigh of relief.
|
||||||
|
|
||||||
|
Lento stood up, dumped his notebook and pencil straight into his backpack, and promptly dragged Atras out the lecture hall with him. "Out," he demanded. "We are out of here."
|
||||||
|
|
||||||
|
"For the last time?"
|
||||||
|
|
||||||
|
"Do you even need to ask?"
|
||||||
|
|
||||||
|
"I thought it was interesting," said Atras. "The professor sounded like he knew what he was talking about. He just covered things a bit fast, that's all. And kinda derailed sometimes."
|
||||||
|
|
||||||
|
"…And he went *on and on* ***and on and on*** <u>***and on and on*** <span class="text-xl">***and on and on***<span></u> to say the equivalent of a small glossary and four lines of notes, except you don't know what four lines you need so you write down all of them anyway."
|
||||||
|
|
||||||
|
"You're too bitter," Atras observed. He held out a red rectangle. "Want a KitKat?"
|
||||||
|
|
||||||
|
"…Yes." Lento snatched the candy out of his friend's hands and ripped the wrapper open. He chewed methodically on the chocolate.
|
||||||
|
|
||||||
|
"Feeling better?"
|
||||||
|
|
||||||
|
"A little," Lento admitted. "But still. I'm not going back to that class. "
|
||||||
|
|
||||||
|
"You should," Atras coaxed, holding out a Coffee Crisp. "You always learn things better when lectures can hold you accountable. Here, do you think you can talk about the course without hating on the professor for one second?"
|
||||||
|
|
||||||
|
"Who's gonna hold the professor accountable?" Lento grumbled. Atras gave him a look. "Yeah, yeah, I know. Fine. One more class. He has *one more chance."*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Addendum:
|
||||||
|
|
||||||
|
"If you have three horses, the magnetic flux through each horse actually approaches zero as we move farther and farther away. Combined with Gauss' law, given that we know that the flux density of each horse is, in an ideal world, equal to that of free space, this lets us cancel out the electric flux density factor on both sides here, which results in seven horses!"
|
||||||
|
|
||||||
|
The hissing sprinklers and wailing fire alarm do little to stop the madman from his lecture. Lento rests his head on his arm on his desk, his pencil having been vaporised long ago. "Surely this isn't on the exam. What kind of econ is this?"
|
||||||
|
|
||||||
|
"Be sure to remember this, because it'll be a major part of your midterm!"
|
||||||
|
|
||||||
|
Atras pats his head consolingly.
|
@ -58,13 +58,12 @@ const captionText =
|
|||||||
<style scoped>
|
<style scoped>
|
||||||
.container {
|
.container {
|
||||||
width: 80%;
|
width: 80%;
|
||||||
max-width: 72ch;
|
max-width: 80ch;
|
||||||
padding-top: 2rem;
|
padding-top: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 600px) {
|
@media screen and (max-width: 600px) {
|
||||||
.container {
|
.container {
|
||||||
max-width: 80ch;
|
|
||||||
width: 90%;
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,10 +3,12 @@ export default {
|
|||||||
darkMode: "class",
|
darkMode: "class",
|
||||||
theme: {
|
theme: {
|
||||||
extend: {
|
extend: {
|
||||||
typography: (theme) => ({
|
typography: ({ theme }) => ({
|
||||||
DEFAULT: {
|
DEFAULT: {
|
||||||
css: [
|
css: [
|
||||||
{
|
{
|
||||||
|
'--tw-prose-body': theme('colors.gray[900]'),
|
||||||
|
'--tw-prose-invert-body': theme('colors.gray[100]'),
|
||||||
hr: {
|
hr: {
|
||||||
marginTop: "1.5em",
|
marginTop: "1.5em",
|
||||||
marginBottom: "1.5em",
|
marginBottom: "1.5em",
|
||||||
|
Loading…
Reference in New Issue
Block a user