Written by Joel Mun. Joel likes GoLang, Typescript, React, Node.js, Python, Wasm and more. Equipped with a set of diverse skills, He's been working as a lead SWE for some length of time. He also loves to enlarge the boundaries of his knowledge, mainly by reading books and watching lectures on Youtube. Guitar and piano are necessities at his house.
Practical Emscripten & Webassembly: Simple RISC-V Simulator on the web
May 14, 2022So I have enrolled in this computer architecture class for the current semester. The lecture is based on the RISC-V instruction set, which…
How to compile C++ code into Webassembly with Emscripten + Docker and use it in Webpack + Typescript + React project
May 09, 2022Rationale I have been trying to port some C++ project to Webassembly for the first time (I have worked on Assemblyscript and Rust projects…
<평균의 종말> 완전 요약 및 감상평 (12 / 100)
February 20, 2022TED…
12 Rules for Life: a detailed summary and reflection of a truly life-changing book (11 / 100)
February 17, 202212 Rules for Life This post is a very detailed summary and reflection of Jordan Peterson’s book: 12 Rules for Life. Each short summary…
100BooksProject: (10): Cosmos
February 02, 2022This is a personal reflection and review of the book Cosmos. Table of contents Cosmos Cosmos is (and has been) everything Human intellect…
Find the shortest palindrome: an intensive review of the KMP(Knuth–Morris–Pratt) algorithm
January 06, 2022Find the shortest palindrome Inefficient algorithm: bruteforcing Longest Proper Prefix which is Suffix (LPS) The KMP algorithm Finding the…
elasticpwn: how to collect and analyse data from exposed Elasticsearch and Kibana instances
January 02, 2022Your Elasticsearch and Kibana instances are open, and that’s a real problem I have been doing some serious research on the public exposure…
Set up multiple monitors on Optimus laptop running Kali linux
September 17, 2021I needed to figure out how to set up multiple monitors on my new Kali linux laptop, because it wouldn’t just work automatically like MacOS…
Complete end-to-end guide for developing dockerized lambda in Typescript, Terraform and SAM CLI
March 13, 2021This is a full guide to locally develop and deploy a backend app with a recently released container image feature for lambda on AWS…
100BooksProject: (9): Atomic habits
October 04, 2020As always, I’ve summarized the book so that anyone can get the main concept in about 20-30 mins. And then I wrote some reflections and…
100BooksProject: (8): 두려움 없는 조직 (The fearless organization)
September 26, 2020회사에서 ‘사실상 PM’과 개발자 역할을 같이 수행하게 되면서, 경영에 자꾸 관심이 갔다. 내가 부족하다는 느낌이 많이 들었다. 그래서 무작정 Yes2…
How to make useSelector not a disaster
September 13, 2020Disclaimer: We will focus on itself in this article, rather than third-party libraries like , because it’s out of scope of the article…
100BooksProject: (7): 돈의 속성 (Properties of money)
August 18, 2020오랜만에 반디앤루니스에 가서 읽을 만한 책을 고르다가 베스트셀러를 차지하고 있는 돈의 속성을 사 봤다. 매번 그래왔듯이, 20~3…
100BooksProject: (6): How to Win Friends & Influence People (인간관계론)
August 17, 2020I wrote a summary of each section and my reflections following it. typo alert: I typed so much that I can’t just review all… if you find a…
Learn all major functionalities on Chrome's Performance tab and practice it with a simple React project
August 03, 2020Yes, Chrome’s performance tab is overwhelming First time you look into all the charts, you have no idea what means what. What does those…
100BooksProject: (5): 초격차 (The Great Gap)
July 29, 2020초격차 경영에 관련된 책이라 일단은 무작정 사 보게 됐다. 일단 나중에 다시 책 볼 필요 없이 줄거리만 20~3…
100BooksProject: (4): Ego is the enemy (에고라는 적)
July 05, 2020Summary Introduction Craving (열망) Success (성공) 실패 (Failure) Impressions after finishing this book The ways to survive in whichever contexts…
How to communicate better
June 06, 2020I find this problem happening very often. And I never expected it to be so. I thought everyone in the world is able to express his/her…
[개발자도 리뷰 할 수 있다] 낙성대 문기사불백 리뷰
May 14, 2020…
Extensive introduction to why and how you might want to use and test redux-observable
January 24, 2020Problem I was struggling at my company trying to write some tests for RxJS operations. Most of the network requests were managed by RxJS…
The shortcuts I like
January 08, 2020Before we get started These are the keys usually used in combination with normal keys on Mac: Command (or Cmd) ⌘ Shift ⇧ (I will write as…
The rise of low-level programming (feat. WebAssembly)
December 07, 2019Back in the old days There was no alternative to javascript. It was just javascript. Javascript just happened to be with the web when it got…
[...].forEach(saveFromZombies) does not always save people
October 12, 2019The first encounter with the problem I was coding as usual. And I faced an odd encounter with how works. Here goes the code to give an…
Making stupid react smart in re-rendering
October 02, 2019I believed React is smart enough to know this… but aye? We had a bunch of large component trees in our company’s web application. And I saw…
New javascript specifications in 2019 (What's new in Javascript - Google I/O '19)
September 10, 2019Must must must watch! I got so much great insight from this video in Google IO 2019 detailing latest javascript specs. Improvements from the…
Using docker and docker-compose to read data from excel to put it into mongodb
August 17, 2019What am I going to do? So I have my university’s timetable data in excel: I want to read this data using exceljs + node + typescript, and…
100BooksProject: (3): When the breath becomes air (숨결이 바람 될 때)
August 03, 20191 2 3 4 1 면접이 끝나고 책 하나를 마음 놓고 읽었다. 죽음에 관한.. 책. 폴 칼라니티란 사람은 천재. 스탠포드, 캐임브리지, 예일대에서 문학, 생물학, 의예과 학위를 섭렵한 사람. 근데 36세에 암을 선고받고 살아가게 된다. 선고받은지…
Memoization in python using a decorator: getting a prime number
May 05, 2019Rationale I was creating an function: Time complexity For now, forget about the condition in the while loop: . You know that you are going…
Deploying a serverless crawler with python + lambda
March 18, 2019What I’m gonna build I’m gonna build a simple crawler that will send HTTP request to zigbang.com’s api server to receive data on estates…
Updating python 3 on an outdated Ubuntu
March 13, 2019The problem Sometimes you cannot easily change the version of Ubuntu and python if you are running them on cloud. I am using cloud9, as you…
100 Books Project (2): Crossroads (갈림길)
March 13, 2019Encountering the book Sudden encounter over this book just walking by a random bookshelf in the library led me to spend the whole afternoon…
100 Books Project (1): Reflection and reading notes on Remember Who You Are: Life Stories That Inspire the Heart and Mind
March 09, 2019Reflections Again, another big encouragement from a book. Things I got to know: Success is not everything. Things after success are…
random hacking notes
November 02, 2018Hacking-notes Rationale As a programmer, I thought it’d be nice to know the basics of hacking for security purposes. For now, we will focus…
Vue
October 19, 2018No time Really, I’ve got no time to learn Vue. I need to get basic concepts in the shortest length of time. Vue Cli 3.0 We are going to use…
Async, await, promise
September 05, 2018Async and await See javascript.info Mozilla Basics Ok. This is not ES6. Its ES8 (ECMAScript 2017) syntax. The async function declaration…
This & Object prototypes (2): this All Makes Sense Now!
June 30, 20181. Default binding without the strict mode in effect, the global object is eligible for the default binding: however, with the strict mode…
This & Object prototypes (3): Objects
June 30, 2018Types and objects Types in JS string number boolean null undefined object Built-in Objects String Number Boolean Object Function Array Date…
Some hacking notes
May 29, 2018detecting security incidents event logs by SANS Regular Expressions to look for Keys to Check Domain controller Monitoring Active…
Using foresic tools (1): process explorer, process monitor, and autoruns
May 19, 2018Sources CSO microsoft gist Corrie Erk Process explorer Submit to VirusTotal to check hash Process Explorer -> Options -> VirusTotal.com…
Three-way handshake in TCP & ACK and SYN flood attack
May 12, 2018Sources mazebolt microsoft geeksforgeeks ddosguard flowguard wikipedia Three-way handshake: how does it work When is it used TCP three-way…
MD5 and SHA
May 12, 2018Sources Lifewire SSLStore Hash A hashing algorithm is a mathematical function that condenses data to a fixed size. It is easier for the…
Base64, Unicode, ASCII, URL
May 11, 2018Base64 Sources lifewire mozilla oracle base64 helper Definition “Base64 is a group of similar binary-to-text encoding schemes that represent…
Basic system status checkups for windows
May 06, 2018Helpful link asecurity Windows (.bat) First, download and add to path: handle pstools autoruns listdlls uptime ntlast And run this batch…
Listening, Established, Close_wait and Time_wait in netstat
May 06, 2018Sources superuser askubuntu Due to the way TCP/IP works, connections can not be closed immediately. Packets may arrive out of order or be…
preparing for DEF CON@COMROKFLT 2018
May 05, 2018Problem Well, obviously there will be a DEF CON@COMROKFLT about three weeks later. This one will be particular; it is a joint DEF CON…
Meta tags
April 29, 2018Sources 1&1 Stackoverflow post CSS-Tricks Google buildwebsite4u Facebook’s open graph protocol gaijin, a metatag generator List of useful…
My story (1): changes that occurred from high school to the Navy
April 20, 2018Before starting to read this People change. And so do I. This is a story of how I, as a developer and social being, changed over a course of…
This & Object prototypes (1): this or That?
April 09, 2018Using is confusing The first confusion Avoiding using Or, using The method allows you to point to the object in the first argument…
Scope and closure (6): Dynamic scope, Polyfilling Block Scope, and Lexical-this
April 08, 2018Dynamic scope “Dynamic scope seems to imply, and for good reason, that there’s a model whereby scope can be determined dynamically at…
Presentation design: Marketing project on Spotify
April 08, 20181 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
GOOP logs
April 08, 2018GOOP does not have a logo yet. I have to make one. Before doing anything else, I have to know about Jeff’s business clearly. Otherwise, I…
Scope and closure (5): modules
April 07, 2018Getting the hang of it function has a closure over the scope of the function . Nothing really special is going on here. And here are some…
Error page and no search result page for Grafolio mobile app
April 07, 2018first second third fourth
How does a file get compressed?
April 07, 2018You know, you sometimes compress files. And today I needed to send a relatively big folder to my friend so I just compressed it. This folder…
Scope and closure (4): closure
March 31, 2018Definition of closure Closure is when a function is able to remember and access its lexical scope even when that function is executing…
Scope and closure (2): writing good codes
March 24, 2018FYI Notes made with You don’t know JS. Writing good codes Function scope It encourages the idea that all variables belong to the function…
Scope and closure (3): hoisting
March 24, 2018FYI Notes made with You don’t know JS. Important points on hoisting Hoisting is just basic. Just remember hoisting happens per scope and…
Scope and closure (1): lexical Scope
March 24, 2018FYI Notes made with You don’t know JS. Simplified steps in compilation Tokenizing: breaking the code into single parts, like to and and…
Using git
March 21, 2018How to revert git revert will create a new commit that’s the opposite (or inverse) of the given SHA. If the old commit is “matter”, the new…
Difference between cookies and sessions
December 31, 2017Cookies An HTTP cookie (web cookie, browser cookie) is a small piece of data that a server sends to the user’s web browser. The browser may…
VPN
October 06, 2017What is VPN and how does it work Virtual Private Network. Microsoft’s Explanation Virtual private networks (VPNs) are point-to-point…
Misc useful operations on (kali) linux
October 05, 2017How to capture screen The entire screen Partial screen How to make a symlink Create a symlink Create/update a symlink Using curl to get…
Difference among const, let, var
October 01, 2017Varaiable declaration makes no error. Hoisting Hoisting works for . Scope For , it’s a function scope. and Variable declaration makes an…
Using tor
September 29, 2017Note Below content is just a excerpt from the websites. If you need to see in detail, don’t hesitate to go onto the original website. What…
Using bluetooth on kali linux
September 28, 2017Check bluetooth status And turn it on: This way bluetooth is going to work. will stop bluetooth. Bluetooth is not turned on by default on…
Turning monitor mode on and off
September 25, 2017On This would just work: This also works: To scout the nearby APs, you do: Off For my computer, I do not have to type . It just works. For…
Configuring and using vim
September 25, 2017This looks like a pretty awesome boilerplate! Well, I just looked at this repository and it just looks amazing. I cloned the repo to my…
Editing environment path and adding custom scripts
September 23, 2017How to (copied from linuxconfig) Checking environment variables type and it will show you everything. Where are they stored (copied from…
Finding a process with a name
September 21, 2017Many times you want to look for a process to kill it. Here’s how: the default pgrep command shows the PIDs of all matching processes. the -l…
Using tmux
September 21, 2017Scrolling in tmux Using tmux, you sometimes wanna scroll up and down the window just like you used to in the normal bash shell. It’s dead…
Using macchanger
September 21, 2017What is macchanger Macchanger is a little program that helps you fake (sometimes called spoof) your mac address. Using ifconfig and…
Changing mac address semi permanently
September 21, 2017How to Dead simple. Open up the file /etc/network/interfaces. It will show you something like: and add at the end of the file, this line…
Installing torrent on debian based linux
September 20, 2017Guidance First, download utorrent server from the utorrent website. Then, follow this guide in detail: https://askubuntu.com/questions…