---
title: "Ken Lo (@KenLo) | Hashnode"
description: "Software Engineer. Read the latest articles by Ken Lo on Hashnode."
url: "https://hashnode.com/@KenLo"
---

@KenLo

# Ken Lo

@KenLo · Joined May 2024

Software Engineer

### [Week 11 recap - Final Stretch](https://kenlo.hashnode.dev/week-11-recap-final-stretch?utm_source=hashnode&utm_medium=feed)

As we near the end of GSOC, I'm wrapping things up and getting the code ready for the final review. There's still a rare edge case that happens here and there but overall the new pixel-perfect feature works pretty well and will be usable for pixel ar...

1 min read · [kenlo.hashnode.dev](https://kenlo.hashnode.dev/week-11-recap-final-stretch?utm_source=hashnode&utm_medium=feed)

[Aug 12, 2024](https://hashnode.com/posts/week-11-recap-final-stretch/66ba13f190067134b63982d5)

### [Week 10 recap - Final algorithm](https://kenlo.hashnode.dev/week-10?utm_source=hashnode&utm_medium=feed)

Here's the relevant part of the new code that I have been working on in kis\_tool\_freehandhelper::paint : if (m\_d->smoothingOptions->smoothingType() == KisSmoothingOptions::SIMPLE\_SMOOTHING || m\_d->smoothingOptions->smoothingType() == KisS...

3 min read · [kenlo.hashnode.dev](https://kenlo.hashnode.dev/week-10?utm_source=hashnode&utm_medium=feed)

[Aug 5, 2024](https://hashnode.com/posts/week-10/66b0d8ef9cc875293d195d9c)

### [Week 9 recap - Dealing with sharp corners](https://kenlo.hashnode.dev/week-9-recap?utm_source=hashnode&utm_medium=feed)

So after filtering out tiny movements and duplicate outputs, the thing left is to look at small corner inputs. Here's the three pointer that I'm working on in kis\_tool\_freehand:paint: ( Lets say the scenario is that we are drawing a straight line fro...

3 min read · [kenlo.hashnode.dev](https://kenlo.hashnode.dev/week-9-recap?utm_source=hashnode&utm_medium=feed)

[Jul 29, 2024](https://hashnode.com/posts/week-9-recap/66a7a34a2daf872cf90730d9)

### [Week 8 recap - Dealing with micro-pixels](https://kenlo.hashnode.dev/week-8-recap-dealing-with-micro-pixels?utm_source=hashnode&utm_medium=feed)

Since our main problem up to this point is to deal with the constant micro-pixel calls, we decided to discard all these < 1 pixel movements by filtering out distances of less than 1 pixel before they go down the pipeline in KisToolFreehandHelper::pai...

2 min read · [kenlo.hashnode.dev](https://kenlo.hashnode.dev/week-8-recap-dealing-with-micro-pixels?utm_source=hashnode&utm_medium=feed)

[Jul 22, 2024](https://hashnode.com/posts/week-8-recap-dealing-with-micro-pixels/669e67734992edbf155a3279)

### [Week 7 recap - vector approach](https://kenlo.hashnode.dev/week-7-recap-vector-approach?utm_source=hashnode&utm_medium=feed)

Currently, I have three separate ideas. First idea is that in kis\_tool\_freehand where stroke initialization and end stroke exists, we populate a vector, filter out extra points and then take out corner pixels before passing it down. The problem I am ...

4 min read · [kenlo.hashnode.dev](https://kenlo.hashnode.dev/week-7-recap-vector-approach?utm_source=hashnode&utm_medium=feed)

[Jul 15, 2024](https://hashnode.com/posts/week-7-recap-vector-approach/66951661c128b1face285f25)
