Mini-Reflection on “Open-Diary” and the Past Failures Having goals is a good idea, and it’s even better to pursue them.
Last year, around this time, I came up with the idea of an “open diary” concept. It allows people to keep an open diary as a review and share it like a blog post. I wrote my first post back then, and now it has been a year.
However, I think that’s okay.
read moreRecent Posts
In the recent 2 days, I’ve spent some good time setting up this blog site… here’s the rough timeline:
before 2022-07-26, I was using Jekyll, and it has been working fine on 2022-07-26, when thinking about improving the blogging, there were a few functionalities that’s missing: the googleAnalytics was broken the commenting system was broken as well deployment has been hard – I have to do it manually, by pushing to gh-pages branch although GitHub uses Jekyll by default, it’s missing some plugins that I use so I have to build it manually in order to figure out what went wrong… I started to read Jekyll’s source code it took me 0.
read moreEnd Result How it looks (in Ubuntu) in Startup Menu:
How it looks when opened as an App (electron-apps-ubuntu.png)
Motivation I recently started using a Ubuntu Desktop. However, quite a few apps are missing in Ubuntu.
Therefore, I have to use their web version.
Tools ElectronJS: https://www.electronjs.org/ Unity Launchers And Desktop Files: https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles How to Setup Install Electron Globally Electron runs chrome internally, but we can run it like a desktop app.
read moreSituation When working in big companies like Grab, lots of times I’m just solving some simple CRUD.
Meanwhile, lots of my time needed to be spent upon different other things:
make and review pull request deployment fixing failures for functional test and unit test load testing integrated with the logging library Problem Turns out, there’re also other teams, solving the same problem again and again. This pattern has several issues:
read moreTL;DR When creating a merge request, we need to include more context information:
describe what you’re trying to achieve in this MR why such change is needed What is Context Information A pain point of reviewing a merge request, is to understand the context. The context includes:
what the merge request actually intends to do why such changes are needed are there any other alternatives No Context is bad for Reviewer These context should be communicated properly, so that the reviewer can actually have a clue to justify if the change is necessary & sufficient.
read moreWhen writing specs, I think the spec should describe implementation result, but not the implementation detail.
Take the ruby code below for example:
def add(a, b) a + b end one can test like:
expect( add(1,2) ).to eq(3) that’s testing the result; but if one write test:
expect( add(1,2) ).to eq(1+2) that’s testing the detail.
The problem with testing the detail is that… say if the dependent method, :+ got changed, then the result would actually be different, but the second spec would still pass.
read moreCSRF(Cross Site Request Forgery) is an attack that forces an end user to execute unwanted actions on a web application in which he/she is currently authenticated.
In this post, I’ll explore, in the source code level, how Rails protect itself from CSRF. It has two checks: based on token, and also the origin header.
We’ll first look at how rails put the token into the page, then see how the token is checked.
read moreOne should always reflect upon himself… to keep on the right track, to find out and correct mistakes, and to the greater self-awareness.
– by Myself.
When reading, what am I reading about? I have been reading a lot this year. Not only the Tech Specs (which I always do), but also the blog posts (which I often do), as well as the books (which I mostly started this year only).
read moreI was reading about the book . It was.. so interesting that I actually prepared for a set of slides, plus, made a talk about this.
Here’s the picture after the talk:
I prepared like.. 40 slides; and here’re some of my short insiprations.
Steamer Machine is the first machine age.. because the level of development of our human world boost right its invention.
Then the second machine age starts with Information Technology.
read moreAbstraction is a pretty interesting topic. It’s needed cuz huamn mind cannot process big data.
I first learnt about abstraction though programming, by professor Seth Gilbert when he was trying to instroduce Stack to us, during my first Algorithm Class.
Since then.. I was fascinated by the idea of abstraction… and I think it’s good to integrate with the idea of esbi quadrant from the <Rich Dad> Book.
Let the journey start.
read more