Now that I am working with Go, I was going deeper in Go network APIs and found that Go implements epoll in its library - or, I don't need to do syscalls myself.
Searching for some information, I ended up finding two very interesting articles about epoll internals that clarify some interesting points and I'd like to share (and keep to myself)
Some important context:
A common problem of Object oriented languages is the overuse of Exception. You never know which exceptions can be thrown and the error handling is super hard. How many times we see catch blocks that catch everything (Exception or Throwable) and do nothing specific ?
How Go solves this problem?
Go solves this problem having no Exception. However it has it's own problems because of that. Let's see a piece of code that is very error prone
In a dinner conversation, my youngest daughter was curious about how many days had she lived so far. I told her that it is easy to calculate for a baby but not for her, though I could easily implement it.
She was still curious, but when I told her that I'm more than 1000
years days old (she guessed a bit more than 10), excited, they asked me to implement right away!
Am I getting old ?
I was talking to a friend about cellular automata using Conway's Game of life as an example. Curious again after so many years that I've read it, I read again carefully the wikipedia page and I found it fascinating.
What is the better way to learn more? Implementing! However I do not want to implement it in a boring way. I want to have interesting features. Let's first talk a little bit about this 0-player fascinating game.
My daughters were using a website called xtramath to practice sums. It's a very nice website were lots of different sums are shuffled and asked - with time to answer, which works nice to memorize, but not to calculate.
Thinking about that, I decided to write an alternative to it without timeout and quick to write.
This christmas was way different than the previous christmas. I moved from Brasil to Canada and for the first time I was away from my family, but with some very good friends.
Some of those friends play Bingo during x-mas night, instead of exchanging gifts and we played - my daughters loved! So, today out of nowhere, she came up with the idea of playing bingo. She built some bingo cards and she wanted me to play the numbers.
hum... We don't have balls, but we have a computer. So I decided to write a python script to shuffle the balls.
It should shuffle them, but with some interesting requirements.
So I thought that writing a completely custom blog system would keep me away from spammers. Oh! terrible mistake. I wrote a very simple commenting system, without concerning about spam attacks and voila. I started receiving lots of spam in every single post.
Temporarily I'm disabling comments.
UPDATE: They're enabled again !
Any comments, please reach me on twitter - @thiedri
I was thinking to myself some other day how could I do a wrapper for any class for, make it remote invokable or maybe auditable ?
For this, I'd like to have the following:
- Runtime coupling - No, nay, never ! It MUST be validated in compile time
- Easy syntax
- Totally generic code
- In D, because I'm learning this language and I want to keep comfort zone away
Many visits on those last months. My parents visited me, my bother and sister-in-law visited me. We all had lots of fun, but my blog was forgotten for some time, but...
Now we have comments !!!!
I've written a considerable number of features since I listed the So far good progress! I already wrote the following features:
I think that before entering in any specific feature, is interesting to show how the basic http server was made.
Is it really from scratch ?
Yes and No.
I was asking myself what will be the next feature. Right now I have the implemented:
- Post list - raw
- Post view - very basic