Svelte again

In the era of artificial intelligence, I’m going through Svelte basics! It’s been a while since I used Svelte, and it’s been a long while since I last read through tutorial for a language framework. This feels good, I am enjoying it! Here are some things that I wanted to take a note of: Mutation-compatible reactivity When I was using React years ago, I often wrote updates like: data = [...data, newData]; instead of: ...

June 13, 2026 · jshji

There 'Hu' Go

So yeah I wanted to start blogging for some time, and made this Hugo blog last year, and then … things got wild :). So I’m trying it again. This time? I’m absolutely going to be the best blogger, who posts regularly!

June 13, 2026 · jshji

Initial Post

← Back Mathematical Notation Inline Euler’s identity is \(e^{i\pi} + 1 = 0\). Block $$ \int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2} $$Pictures

May 6, 2025 · jshji

Open Source

← Back Hey! It’s been a while. Yes, just like everything. It’s not easy to be consistent. But we are able to try again, and again, and again, and again if we choose to. Open Source Open source projects are one of the most important and powerful projects in todays comupting world, I’d say. It probably is a fact if I say “every single app or web” or basically just anything computer / smartphone depends on at least one open source project (proably MUCH more). While I believe in fair compensation of course, but I also believe in a truly awesome thing - be it software, painting, novel, music, whatever - is born when the creator is working on it for its own sake, not for the compensation. And I think that’s one of the reasons why Open Source products are so powerful. At its core, it’s all about just fun and passion for programming. Having said that, and I’m repeating this, it will be GREAT and only fair if these people can be compensated in some way, at least the major contributors. Then it’ll be difficult “how to define” the main contributors, etc., etc., but you get the idea. ...

May 10, 2022 · jshji

Ten years younger would make me 61

← Back Since starting working full time, I’ve been getting up pretty early even on weekends. Well, now that I think about it again, this is my second weekend since real full-time work commenced. Lol. Knocked off work yesterday a bit late. Partly because I came in late in the morning (almost everyday, sigh), but partly because I wanted to finish what I was doing. But I gave up in the end. It had something to do with some return type of Feathersjs’s hooks. I learnt my lesson before, that it’s better to give up sometimes. Even if I did make that work yesterday, I wouldn’t have really learnt anything. With the time clocking, and me wanting to ‘just get it wokring’, I’m just trying different things, just stabbing in the dark. If it works, what do I get? Nothing. ...

February 26, 2022 · jshji

the motion and the dare

← Back Hey, been a while. I read a good paragraph: I’m not in a contest with anybody, have no thoughts about immortality, don’t give a damn about it. It’s the ACTION while you’re alive. The gate springing open in the sunlight, the horses plunging through the light, all the jocks, brave little devils in their bright silks, going for it, doing it. The glory is in the motion and the dare. Death be damned. It’s today and today and today. Yes. ...

February 22, 2022 · jshji

SEO, nextjs

← Back So I’ve implemented nextjs on this blog. You shouldn’t feel anything different of course, as its an internal change. I thought nextjs was going to create static HTML files for all, but it turns out it didn’t. (But it can do if we want to). This means that: SEO friendly doesn’t necessarily mean you have to have HTML files I think nextjs still uses js and some other things, but somehow they achieve SEO. Maybe I’ll have a look later, or maybe not as i don’t realy need it. It’s good enough to know that these thing exist. ...

January 30, 2022 · jshji

Bukowski quote

← Back All right, you tell me something useful. Be a lawyer? A doctor? A congressman? That’s crap too. They think it isn’t crap but it is. They are locked into a system and they can’t get out. And almost everybody is not very good at what they do. It doesn’t matter, they are in the safe cocoon. from The Captain Is Out To Lunch And The Sailors Have Taken Over The Ship by C. Bukowski

January 27, 2022 · jshji

Nextjs

← Back Next.js Solves lots of problems regarding static sites generation. Pages all pages reside under /pages/ dir. pages/index.js is associated with the / route. pages/posts/first-post.js is associated with the /posts/first-post route. Static generation Your contents or paths depend on external data. > Your contents depend on external data. function Blog({ posts }) { // Render posts... } // This function gets called at build time export async function getStaticProps() { // Call an external API endpoint to get posts const res = await fetch('https://.../posts') const posts = await res.json() // By returning { props: { posts } }, the Blog component // will receive `posts` as a prop at build time return { props: { posts, }, } } export default Blog > Your paths depend on external data. First, prepare a special file under a path, pages/posts/[id].js. Here, [].js is special structure. Then, similarly, add a function at the bottom: ...

January 27, 2022 · jshji

Project 1 - Refactor InkyFingerz

← Back Project Description Refactor the codes for InkyFingerz, using modern tools, especially template engine and static site generator. Project Objective In the end, the project will have: Much less reptition in terms of developer experience. For example, the developer won’t have to copy and paste Header and Footer for each of the three pages. The output should be roughly the same as current version. For example, there will be separte files for each page (static!). Technology I’ll use 11ty for the static site generator, and use liquidjs for template engine. 11ty is compatible with a dozen template engines including Nunjucks, liquidjs, Mustache, ejs, pug and more. I’ve used ejs and pug before, like, I’ve had a go at them. So it won’t make much difference even if I learnt a new one. On the website, 11ty shows supported features for each engine, and liquidjs and nunjucks had the most supported features. I won’t need most of them, but still! I chose liquidjs because it is actively being maintained, whereas nunjucks had its lastest release 2 years ago. ...

January 27, 2022 · jshji