This week has slowed down a little bit. It is more a research week,I wasn’t able to do what I thought I would do, like working on hoodie because I just realized I might have even better ways to achieve my goals.

Work

No PR was submitted to the tyk gateway this week, however I have been onto some cool stuff that might prove useful to the gateway someday.

So, I was researching on a benchmarking solution for the gateway. The main criteria of the solution was

  • configurable (should be a ble to rune different parameters like environments/configurations etc)
  • simple to reason about and implement
  • detect regressions on new changes commits/pr’s

I have made quiet a progress on this, probably I might have a prototype by next week. I can’t talk much about it because its still experimental and lots of moving pieces.

Private

I took a look on hoodie , especially the unicode module which is a port the go unicode package. I think it is bloated, because it duplicates what zig already offers on the standard library and to some extent differs for instance in zig a code point is u32 but in hoodie it is 132.

I initially ported Nim’s unicode module. I was successful but realized it was so basic and lacked lots unicode related features, for instance its range tables are only limited to UnicodeData.txt file.

Then I remember reading about quickjs and its full unicode library written in C. So I took the liberty of studying what these people do with unicode. Also I have actually been reading the specification too to get more familiar with unicode so I will understand implementation.

My goal now is to port quickjs unicode library to zig.

Conclusion

This week has only been about research, Next week I will be picking what I let this week. On my spare time I will keep playing with unicode.