chore: rename "blog-content" to "content"

This commit is contained in:
Kim, Jimin 2023-07-06 14:11:15 +09:00
parent c573fcd9b9
commit e7e50eed39
64 changed files with 27 additions and 29 deletions

View file

@ -0,0 +1,102 @@
---
title: Finding the ultimate browser
date: 2022-03-24
tags:
- story
- browser
---
## Intro
When I made the switch to Linux, I had to reconsider every choice I've made throughout the entire time I've been using Windows.
Most of them were trivial choices, some took a bit of time but I eventually figured it out but one problem stood out to be much more difficult than the others:
Which browser should I use?
Spoiler alert, I'm still waiting for the _ultimate browser_^TM^ but at least now I have something to share.
Make yourself comfortable because you're in for a ride.
This is my journey to find the ultimate browser.
## The beginning
For us to talk about browsers, we first have to go all the way back to the early 2000s,
when the only computer in my house was a old windows XP PC with a CRT monitor that was probably as old as me.
When I was old enough to understand language, my father introduced me to my first browser: The Internet explorer (abbreviated to IE from this point onward).
At the time, it was everything I wished for and more, but little did I know,
IE was already on the decline while another browser was quietly climbing up the market share.
<p align="center">
<img alt="browser market share" src="/img/posts/linux-setup-script/browser-market-share-trend.avif" style="max-width: 100%;" />
<br />
source: <a href="https://gs.statcounter.com/browser-market-share/desktop/worldwide/#monthly-200901-202203" target="_blank">statcounter.com</a>
</p>
One day, probably after my father upgraded the PC to Windows 7,
the default browser was changed to some colorful ball looking thing.
And its name was Google Chrome.
Not much have changed with my browsing experience as I didn't use much internet back then - I didn't even know that YouTube was a thing -
but the switch is worth mentioning because it made Chrome the browser that I grew up with instead of IE.
## Switching to Linux
By the time I was in grade 8 I considered myself to be quite a tech-savvy person.
I knew how the internet worked behind the scene, I was able code basic programs, had some experience with Machine Learning and Linux,
was interested in various online privacy and security issues, and was no stranger to the DIY culture.
That, added with the fact that Microsoft was making Windows worse by day made me make the switch to Linux.
And along the way, I ditched Google Chrome for Chromium.
In hindsight, I could have chose a better browser like firefox but I chose Chromium because I couldn't <kbd>Ctrl</kbd>+<kbd>W</kbd> away pinned tabs.
Sounds silly now but it was a big deal back then since the only browser I was familiar with was Google Chrome.
Anyways, despite the poor decision,
this is probably the most important day in my search for the ultimate browser since it was the first major change I made on my own.
## Not enough
When I made the switched to Chromium, I was disappointed to see no changes in my browsing experience whatsoever.
Maybe if I used more advanced features I would have felt the difference but Chromium even supported account syncing back then
so I didn't experience any.
Familiarity isn't what I singed up for when I switched to Linux so I needed to find a new browser.
After constantly switching browser every couple of weeks for the next two years,
trying many, many different browsers, I finally settled on one: librewolf.
## Is this it?
I could write an entire post just listing what librewolf does things right but to keep things simple:
it is not an obscure browser, it is secure, and it respects my privacy.
To put it simply, it was the ultimate browser I was desperately looking for.
After configuring librewolf to suit my need, I was happiest I've ever been using a browser.
It created no cookies I didn't need, all my favorite extensions were there, and most importantly, I felt secure.
Not a single site was broken (at the time), and the only problem I had was the lack of performance.
I had to use chromium for io games that needed juicy 3 digit fps but other than that, I was satisfied.
I used librewolf all the way until I entered college.
## I came for copper but I found gold
Librewolf slowly lost its charm when firefox - the browser librewolf is based on -
was going in a direction I didn't like and some college related sites started breaking on librewolf.
I also never got used to opening chromium every other day.
One day, I was so fed up with the problems librewolf had that I decided to replace librewolf.
I considered using raw chromium again since they removed much of google-specific code,
but then I remembered that ungoogled chromium was a thing.
When I first saw ungoogled chromium way beck when I was trying different browsers,
it didn't really piqued my interest because back then I was heavily reliant on google's services
but now I barely use them at all so I knew it would work perfectly for me now.
I quickly configured ungoogled chromium to delete cookies and histories on exit, installed some of my favorite extensions,
and changed some security related settings and I was shocked to see how closely it resembled the feelings of librewolf.
As a added bonus, I don't have to open another browser to play io games.
## Conclusion
For now, I'm more than satisfied with ungoogled chromium but it's still far from being perfect.
Though most if not all google-specific code was removed,
the original code is written by Google and some of the borderline spyware features could potentially find its way to my computer.
Currently I'm not actively looking for the ultimate browser (and I don't think it even exists yet),
but I'm ready ditch ungoogled chromium the first chance I get.
I'll make sure to make a follow-up post if that ever happens.

View file

@ -0,0 +1,148 @@
---
title: Test post
date: 2021-07-26
tags:
- test
---
<!-- comment -->
This post exists to test various features such as markdown-to-html conversion, table of contents generation, and metadata parsing.<br />
## Link
<a href="/search">Go to search</a>
## Image
<img src="/icon/icon.svg" alt="developomp icon" width="100">
## Video
<div style="padding: 56.25% 0px 0px; position: relative;"><iframe src="https://www.youtube.com/embed/0jQRrChzdDQ?cc_load_policy=1&iv_load_policy=3&rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen scrolling="no" style="position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;"></iframe></div>
## Table
| align right | align center | align left |
| ----------: | :----------: | :--------- |
| one | A | 1 |
| two | B | 2 |
| three | C | 3 |
## List
- Unordered list item
- Unordered list item
- unordered list sub-item
- unordered list sub-item
- [ ] Unordered task list item (unchecked)
- [x] Unordered task list item (checked)
- [ ] unordered task list sub-item (unchecked)
- [x] unordered task list sub-item (checked)
1. Ordered list item
2. Ordered list item
1. ordered list sub item
2. ordered list sub item
3. [ ] Ordered list task item (unchecked)
4. [x] Ordered list task item (checked)
1. [ ] Ordered list task sub-item (unchecked)
2. [x] Ordered list task sub-item (checked)
## Footnote
css only causes pain[^css_bad] and python is overrated[^python_is_overrated].
## Code
Here's a `code`.
```python {7,12,14-15}
print("And here's a language-specific code block")
# with comments and line highlighting!
x = 256
y = 256
print(x is y) # True. id(x) is indeed equal to id(y)
z = 257
w = 257
print(z is w) # False. id(z) is not equal to id(w)
# Apparently python does this to save memory usage.
# All integers between -5 and 256 share the same id.
```
## Text styling
> blockquote
>
> > nested blockquote
**bold**<br />
_italic_<br />
~~strikethrough~~<br />
<u>underlined</u><br />
==marked==<br />
this is a ^superscript^ (soon^TM^)<br />
and this is a ~subscript~ (H~2~O)
## CSS styling
<p align="center">
centered paragraph
</p>
<p style="color:rgb(255,0,0)">
RED
</p>
## Key
Do you remember the first time you pressed <kbd>Ctrl</kbd>+<kbd>C</kbd> in terminal?
## TeX
[$KaTeX$](https://katex.org/docs/supported.html) syntax is supported.
using [mhchem](https://mhchem.github.io/MathJax-mhchem) for chemical formula.
### Inline
$e=mc^2$ is actually $e^2=(mc^2)^2 + (pc)^2$.
### Block
$$
\ce{6 CO2 + 6 H2O <=>[{photosynthesis}][{respiration}] C6H12O6 + 6 O2}
$$
## headers
Headers have different size and indentation depending on their level.
- Post title: `h1`
- this section: `h2`
### h3
Lorem ipsum blah blah.
#### h4
Lorem ipsum blah blah.
##### h5
Lorem ipsum blah blah.
###### h6
Lorem ipsum blah blah.
<!-- Footnotes -->
[^css_bad]: Based on my experience building this website, Dec 2021.
[^python_is_overrated]: Based on my infinite wisdom, Dec 2021.

View file

@ -0,0 +1,49 @@
---
name: developomp-site
overview: my websites for blogging, portfolio, resume, etc.
image: /img/portfolio/developomp.com.avif
repo: https://github.com/developomp/developomp-site
badges:
- githubactions
- turborepo
- typescript
- javascript
- nodedotjs
- pnpm
- firebase
- amazonaws
- react
- svelte
- vite
- createreactapp
- eslint
- prettier
- html5
- markdown
- tailwindcss
- postcss
- css3
- sass
---
## Introduction
developomp-site is a monorepo managed by [turborepo](https://turbo.build/repo)
and pnpm workspace.
- https://developomp.com - about me, built with **SvelteKit**
- https://blog.developomp.com - Blogging site, built with **React + CRA**
- https://portfolio.developomp.com - Portfolio, built with **React + Vite**
The following services/technologies are used by the project:
- **Google Firebase** - site hosting & CDN
- **GitHub Action** - Automated Building & Deployment
- **AWS Route 53** - Domain Management
## Interesting Stuff
- [markdown parsing][markdown-parsing]
- [test post](https://blog.developomp.com/posts/test-post)
[markdown-parsing]: https://github.com/developomp/developomp-site/tree/081855a4ecb6f5bf74b76758c358ea54b465b2b7/packages/blog-content

View file

@ -0,0 +1,17 @@
---
name: Llama Bot
overview: A discord bot.
image: /img/portfolio/llama-bot.avif
repo: https://github.com/developomp/llama-bot
badges:
- nodedotjs
- javascript
- typescript
---
## Introduction
The llama bot is a discord bot made for the
[Llama's Pyjamas community discord server](discord.gg/2fsar34APa).
It is written in typescript and uses the
[sapphire framework](https://sapphirejs.dev).

View file

@ -0,0 +1,21 @@
---
name: Mocha Downloader
overview: A cross-platform desktop download manager built with web technologies.
image: /img/portfolio/mocha-downloader.avif
repo: https://github.com/Mocha-Downloader
badges:
- githubactions
- githubpages
- typescript
- javascript
- nodedotjs
- electron
- react
- html5
- css3
---
## Introduction
Mocha Downloader is a cross-platform desktop download manager app built with
web technologies.

View file

@ -0,0 +1,93 @@
---
name: pomky
overview: A gtk-based, [conky](https://github.com/brndnmtthws/conky)-like system monitor written in rust.
image: /img/portfolio/pomky.avif
repo: https://github.com/developomp/pomky
badges:
- rust
- gtk
- cairographics
---
## Introduction
If you're into desktop customization, chances are, you're using (or used)
[rainmeter][rainmeter]. In case you don't know what that is, it is by far the
most popular desktop customization tool. Think of Windows 7 widgets on steroid.
However, rainmeter only works in the Windows Operating System. Which means Linux
users like me have to look elsewhere for alternatives. Fortunately, there are
projects like [conky][conky] and [polybar][polybar], so getting started should
not be too difficult especially with the endless supply of ideas, references,
and guides from communities such as [r/unixporn][unixporn].
When I first switched to Linux back in 2017, I was somewhat satisfied with my
simple conky widgets, but I knew I had to eventually do something about its
primitive configuration system that prevented me from making anything with
complexity without looking like a card pyramid that could collapse at the
slightest disturbance. So one day in December 2021, after finishing
[The Rust Book][the-rust-book], I decided to make my own tailor-made system
monitor as my first rust project.
## Challenges
### What framework to use
When I first started the project, I considered using [tauri][tauri] which is
basically [ElectronJS][electronjs] but with rust & WebKit for backend and is
much more lightweight.
However, that plan quickly fall apart when it turned out to be impossible to
make a window that acted like it's part of the desktop (like the task bar)
instead of a regular window without access to the lower level code. In technical
terms, I wasn't able to mark the window as `_NET_WM_WINDOW_TYPE_DESKTOP`
([FreeDesktop Documentation][freedesktop-docs]). This is now possible thanks to
[tauri-apps/tao#522][tauri-always-on-bottom] PR being merged, but at the time,
there was no simple and clean solution.
After going through different options, I ended up implementing everything from
scratch using the [rust binding for gtk][gtk-rs]. This allowed me to simply set
a `WindowTypeHint` ([GDK documentation][gdk-docs]) and expect everything to work
flawlessly. This also allowed me to use powerful GUI design tools such as
[glade][glade].
### Drawing graphs
Although GTK doesn't provide any usable built-in graph & chart components,
developers can still implement their own using the
[Cairo Graphics Library][cairographics] which is part of the
[GTK architecture][gtk-architecture].
After reading some documentations and way more google searches than I'd like to
admit, I was able to make a simple graph and bar component I was happy with.
## Future
Although the end result looks rather marvelous if you ask me, there are several
rough edges I'd like to smooth out. For starters, it acts erratically on
[Wayland][wayland] (getting a title bar all of a sudden, moving out of its set
position, etc.), gets drawn over other window when switching workspaces, has
higher CPU usage than other system monitors, has unpredictable CPU spikes, etc.
Which is why in the future, I'll be using [eww][eww]: yet another Linux widget
system written in rust. The way it works is very similar to pomky behind the
scenes (uses gtk, draws with cairo, custom components, all the good stuff), but
it is better than pomky in almost every conceivable way. It is more configurable
, more lightweight, more modular, and solves the previously mentioned issues.
[rainmeter]: https://www.rainmeter.net "rainmeter"
[conky]: https://github.com/brndnmtthws/conky "conky"
[polybar]: https://github.com/polybar/polybar "polybar"
[unixporn]: https://www.reddit.com/r/unixporn "unixporn"
[the-rust-book]: https://doc.rust-lang.org/book "The Rust Book"
[tauri]: https://tauri.app "tauri"
[electronjs]: https://www.electronjs.org "ElectronJS"
[freedesktop-docs]: https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#idm45299620502752 "Freedesktop Documentation"
[tauri-always-on-bottom]: https://github.com/tauri-apps/tao/pull/522 "tauri-apps/tao PR #522"
[gtk-rs]: https://gtk-rs.org "gtk-rs"
[gdk-docs]: https://docs.gtk.org/gdk3/enum.WindowTypeHint.html#desktop "GDK Documentation"
[glade]: https://wiki.gnome.org/Apps/Glade "Glade"
[cairographics]: https://www.cairographics.org "Cairo Graphics"
[gtk-architecture]: https://www.gtk.org/docs/architecture "GTK architecture"
[wayland]: https://wayland.freedesktop.org "Wayland"
[eww]: https://github.com/elkowar/eww "eww"

View file

@ -0,0 +1,28 @@
---
name: Pompup
overview: My Arch Linux desktop setup
image: /img/portfolio/pompup.avif
repo: https://github.com/developomp/pompup
badges:
- githubactions
- githubpages
- gnubash
- go
- linux
- python
---
## Introduction
Pompup is my third attempt at making my personal post-install utility for
[Arch Linux](https://archlinux.org).
Here are the past versions:
1. [https://github.com/developomp/setup-script-sh][setup-script-sh] - Third version written in Shell Script
2. [https://github.com/developomp/setup-script-py][setup-script-py] - Second version written in Python
3. [https://github.com/developomp/pompup][pompup] - First version written in Shell Go
[setup-script-sh]: https://github.com/developomp/setup-script-sh
[setup-script-py]: https://github.com/developomp/setup-script-py
[pompup]: https://github.com/developomp/pompup

View file

@ -0,0 +1,47 @@
---
name: War Brokers Mods
overview: A game mod for a unity game. Provides in-game UI and OBS overlays.
image: /img/portfolio/wbm.avif
repo: https://github.com/War-Brokers-Mods
badges:
- githubactions
- unity
- csharp
- dotnet
- javascript
- html5
- css3
- svelte
- tailwindcss
- rust
- tauri
---
## Introduction
The War Brokers Mods (WBM) is a mod for the game
[War Brokers](https://warbrokers.io) consisting of 3 sub-projects:
- [mod][mod] - Built with C#, it uses the [BepInEx][bepinex] framework to patch
different aspects of the game
- [OBS overlay][overlays] - Customizable overlays for [OBS studio](https://github.com/obsproject/obs-studio)
<p align="center">
<img alt="Overlay image" src="/img/portfolio/wbm-overlays.avif" />
</p>
- [installer][installer] - Utility for installing updating the mod. Built with [tauri][tauri],
[rust][rust], [svelte][svelte], and [tailwind css][tailwindcss].
<p align="center">
<img alt="Installer image" src="/img/portfolio/wbm-installer.avif" />
</p>
[mod]: https://github.com/War-Brokers-Mods/WBM
[overlays]: https://github.com/War-Brokers-Mods/WBM-Overlays
[installer]: https://github.com/War-Brokers-Mods/WBM-installer
[bepinex]: https://github.com/BepInEx/BepInEx
[tauri]: https://github.com/tauri-apps/tauri
[rust]: https://github.com/rust-lang/rust
[svelte]: https://github.com/sveltejs/svelte
[tailwindcss]: https://github.com/tailwindlabs/tailwindcss

View file

@ -0,0 +1,30 @@
---
name: War Brokers Timeline
overview: A list of events happened in the War Brokers community in a chronological order.
image: /img/portfolio/wbtimeline.avif
repo: https://github.com/developomp/wbtimeline
badges:
- githubactions
- deno
- rust
- webassembly
- javascript
- typescript
- firebase
- css3
- sass
- html5
---
<!-- add yew to badges https://github.com/simple-icons/simple-icons/issues/7122 -->
## Introduction
wbtimeline is an experimental project made as an excuse to use [deno][deno]
and [rust][rust]. The most notable thing about this project is that the frontend
code is entirely written in the rust programming language by the power of the
[yew][yew] framework.
[deno]: https://github.com/denoland/deno
[rust]: https://github.com/rust-lang/rust
[yew]: https://github.com/yewstack/yew

View file

@ -0,0 +1,16 @@
---
title: my quotes
date: 2021-08-01
---
We all have to constantly make small choices in our lives.
These choices include whether to study just 10 more minutes, doing just one more push-ups,
or waiting just 1 more second before getting mad at someone you care and love.
They may seem insignificant, but when put together, makes a huge difference.
Of course, even a 10 year old could tell what's the right decision to make in these situations.
However, many of us even fail to recognize the choices in the first place.
This is why I made a list of short, rememberable proverbs-like quotes so it serves as a guide not just for me but for other people too.
I wish the very best of luck to everyone who stumbled upon my blog.

View file

@ -0,0 +1,6 @@
---
title: My Quote NO.10
date: 2021-03-22
---
> People who earns highest respect from me are those who appreciate criticism.

View file

@ -0,0 +1,14 @@
---
title: My Quote NO.1
date: 2021-03-22
---
> What did you do when everyone in the world was running?
Procrastination has got to be the single worst thing that prevents people from fulfilling their dream.
One could easily find themselves spending hours sitting on the desk with no work done.
<!-- switch from 3rd to 2nd person point of view -->
One easy way to combat this is to surround yourself with hard-working people, however, this is not always possible.
In this case, it is helpful to remind yourself that there are people (possibly your colleague, classmate, etc.) working right now as you are procrastinating.

View file

@ -0,0 +1,13 @@
---
title: My Quote NO.2
date: 2021-03-22
---
> The 1000 miles you've walked so far are less important than another mile you are willing to walk.
At some point in everyone's career, after they passed the "mt. stupid" and the "valley of despair" of the Dunning-Kruger effect, they stop trying to learn new things.
They only work with what they already know and are familiar with, and never venture out into the forest of infinite knowledge.
Though this is less likely to happen in an environment with constant pressure (say for example, a school), not all jobs have this luxury.
<!-- This is why ... -->

View file

@ -0,0 +1,10 @@
---
title: My Quote NO.3
date: 2021-03-22
---
> Yesterday is a lecture for today.
Don't forget the peaks and the valleys of your life.
<!-- Experience => wisdom so always try to find something to learn in your life. -->

View file

@ -0,0 +1,8 @@
---
title: My Quote NO.4
date: 2021-03-22
---
> Those who see only the present lose their future.<br />
> Those who see only the future lose both the present and the future. <br />
> Only those who can see both the present and the future are given the future.

View file

@ -0,0 +1,8 @@
---
title: My Quote NO.5
date: 2021-03-22
---
> Words of wisdom deepens the more you think about it.
They should not be taken lightly.

View file

@ -0,0 +1,8 @@
---
title: My Quote NO.6
date: 2021-03-22
---
> The quickest way to learn the preciousness of time is to stare at a clock for 5 minutes.
This small investment will take you farther than you think.

View file

@ -0,0 +1,8 @@
---
title: My Quote NO.7
date: 2021-03-22
---
> Escape from the valleys of darkness doesn't happen in an instant.
It also often requires outside help.

View file

@ -0,0 +1,6 @@
---
title: My Quote NO.8
date: 2021-03-22
---
> Mind is like a sword. It will get dull if you stop sharpening it.

View file

@ -0,0 +1,6 @@
---
title: My Quote NO.9
date: 2021-03-22
---
> If you think too much about the answer, you'll forget what the question was.

View file

@ -0,0 +1,34 @@
---
title: Resume
---
## Jimin Kim
[![Github](https://img.shields.io/badge/github-black?style=for-the-badge&logo=github)](https://github.com/developomp)
[![Portfolio](https://img.shields.io/badge/portfolio-grey?style=for-the-badge)](https://portfolio.developomp.com)
Frontend engineer wannabe
A natural-born developer who has got to create everything with his own hand.
He won't be satisfied until he breaks everything down to its components and understands what's behind it.
Characteristics:
- daily drives [arch linux](https://archlinux.org)
- can fluently speak, read, and write English and Korean at a native level
Email: developomp@gmail.com
## Education
### [Hongik university](https://wwwce.hongik.ac.kr) computer science major
- Mar 2022 - now
## Github
<img alt="github metrics" src="https://raw.githubusercontent.com/developomp/developomp/master/github-metrics.svg" style="display: block; margin-left: auto; margin-right: auto; max-width: 100%;">
## Skills
<img alt="programming skills" src="/img/skills.svg" style="display: block; margin-left: auto; margin-right: auto; max-width: 100%;" />