
Work As Front-end Developer In Finland
This is only my own story. I hope you find something helpful. But be aware the information can be out-dated and a little subjective.
Continue reading →This is only my own story. I hope you find something helpful. But be aware the information can be out-dated and a little subjective.
Continue reading →In CSS, many position/layout properties are context-aware. For example, position: absolute;
only works if the desired parent has position: related/absolute/fixed;
. However, position: fixed;
is very simple. It is always related to window, barely affected by parent container. But, I stuck in this small issue:
This is strange, I have position: fixed;
but why it doesn't work?
So I checked its parent elements one by one and found the modal library left a transform: scale(1);
. It doesn't make any visual difference and seems a side effect of animation. In browsers' implementation, even if scale(1)
and translateX(0)
don't make any sense, the transform
property will recreate a coordinate system. As result, position:fixed
of inner elements will not be related to window, but the transform
element.
The solution is simple, change transform: scale(1)
to transform: unset
. In practice, avoid using transform
in large containers, like a sidebar or modal. If you need it, make sure here is no position: fixed
inside, such as some popups.
RetroArch project uses *.h files to store translation strings. Here aren't any tools to make the translation process easier. When source strings changed, you have to manually review the changes, locate and update translation strings. It is a hard work. As a big fan of RetroArch, I was thinking if it can be improved with modern i18n platforms.
Continue reading →If you want to validate a form input and so it only accepts integers, here is an easy way in HTML5:
<input type="number" pattern="[0-9]*" />
However, users can still type something invalid:
We will create a React app and turn it into a Firefox/Chrome extension.
Continue reading →Highlights for the last month: HiDPI bug fixes and emulator packaging.
KDE:
openSUSE:
Participating openSUSE Conference is one of my dream. I always cannot find a time to do it until I made my mind to leave all other stuff. Thank my company for sponsoring my flight.
I have visited Munich for many times. It is familiar place but the memory is so far and mixed with smiles and tears. Feel a bit sad.
The conference started at 10am. When I arrived Nuremburg by train, it already afternoon.
The city is not big. Streets are wide, straight and clean, so I can easily find my way. I think when I retired, I will look for a similar place for the rest of my life.
It is a three day event. Everyday here are tech talks, mostly about containers, Kubernetes. I am not interested in though… There are also some tough topic, like the plan of openSUSE Foundation (SUSE doesn't seem liking the idea…).
Funny things:
It is interesting that someone recognized I made the opi tool. Also met a few friends from Japan. We talked online about font packaging. It is a unique experience to meet people in offline events. Taiwan friends stayed in the same hotel as me. So we get more chance to talk.
The most exciting part is to find QR code hidden in the square. Each gives you a link to a question. And you need 8/10 point to get a Gecko.
Get to know many people. Drink non-alcohol beer. Exchange coins and bank notes.
I enjoy it so much!
KDE:
openSUSE:
KDE
openSUSE