{"id":4612,"date":"2008-06-20T15:06:00","date_gmt":"2008-06-20T15:06:00","guid":{"rendered":"http:\/\/gleamynode.net\/articles\/1501\/rewriting-everything-from-ground-up"},"modified":"2022-12-28T01:45:48","modified_gmt":"2022-12-27T16:45:48","slug":"rewriting-everything-from-ground-up","status":"publish","type":"post","link":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/","title":{"rendered":"Rewriting everything from ground up"},"content":{"rendered":"

It’s probably my fifth time to write a network application framework from scratch. They were all event-driven. The first and the second one (Netty 1) were based on blocking I\/O. The others (Netty 2, MINA and Netty 3<\/a>) are based on non-blocking I\/O.
\nFive rewrites… I sometimes think it’s time to step away from network application framework and do something on top of that. I always wanted to write a nice build tool or more enterprisy stuff. However, the fact is that I am still working on a network application framework!
\nOn the other hand, I realized that I have been feeling something exciting and freshing for each rewrite. There are many ways to solve the same problem, and it is sometimes better solved when approached from a different angle. It’s probably because I got to understand more aspects of network application development now than before. Yes, there seems to be huge room for improvements in network application design of this world… yet!
\nThere’s also fear lying under the exciting feeling. “Will this fifth rewrite will be a great step forward from the fourth one?”, I ask myself every morning. It’s a diffifult question, but such a question makes me do my best and consider every possible issue I know of.
\nSo? A little bit of pressure and a lot of fun. \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"

It’s probably my fifth time to write a network application framework from scratch. They were all event-driven. The first and the second one (Netty 1) were based on blocking I\/O. The others (Netty 2, MINA and Netty 3) are based on non-blocking I\/O. Five rewrites… I sometimes think it’s time to step away from network… Continue reading →<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"yoast_head":"Rewriting everything from ground up — T's message of the day<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rewriting everything from ground up — T's message of the day\" \/>\n<meta property=\"og:description\" content=\"It’s probably my fifth time to write a network application framework from scratch. They were all event-driven. The first and the second one (Netty 1) were based on blocking I\/O. The others (Netty 2, MINA and Netty 3) are based on non-blocking I\/O. Five rewrites… I sometimes think it’s time to step away from network... Continue reading →\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/\" \/>\n<meta property=\"og:site_name\" content=\"T's message of the day\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/trustin\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/trustin\" \/>\n<meta property=\"article:published_time\" content=\"2008-06-20T15:06:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-27T16:45:48+00:00\" \/>\n<meta name=\"author\" content=\"Trustin Lee\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/www.twitter.com\/trustin\" \/>\n<meta name=\"twitter:site\" content=\"@trustin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Trustin Lee\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/\"},\"author\":{\"name\":\"Trustin Lee\",\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/4430ad90fc2ddeef051565701d85db9d\"},\"headline\":\"Rewriting everything from ground up\",\"datePublished\":\"2008-06-20T15:06:00+00:00\",\"dateModified\":\"2022-12-27T16:45:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/\"},\"wordCount\":231,\"publisher\":{\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/4430ad90fc2ddeef051565701d85db9d\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/\",\"url\":\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/\",\"name\":\"Rewriting everything from ground up — T's message of the day\",\"isPartOf\":{\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/#website\"},\"datePublished\":\"2008-06-20T15:06:00+00:00\",\"dateModified\":\"2022-12-27T16:45:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vault.motd.kr\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rewriting everything from ground up\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/#website\",\"url\":\"https:\/\/vault.motd.kr\/wordpress\/\",\"name\":\"T's message of the day\",\"description\":\"the best is yet to come\",\"publisher\":{\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/4430ad90fc2ddeef051565701d85db9d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vault.motd.kr\/wordpress\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/4430ad90fc2ddeef051565701d85db9d\",\"name\":\"Trustin Lee\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/vault.motd.kr\/wordpress\/wp-content\/uploads\/2020\/09\/avatar-2019-966px.png\",\"contentUrl\":\"https:\/\/vault.motd.kr\/wordpress\/wp-content\/uploads\/2020\/09\/avatar-2019-966px.png\",\"width\":966,\"height\":966,\"caption\":\"Trustin Lee\"},\"logo\":{\"@id\":\"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/t.motd.kr\/\",\"https:\/\/www.facebook.com\/trustin\",\"https:\/\/www.instagram.com\/trustinlee\/\",\"https:\/\/www.linkedin.com\/in\/trustin\",\"https:\/\/twitter.com\/https:\/\/www.twitter.com\/trustin\",\"https:\/\/www.youtube.com\/@trustinlee\"]}]}<\/script>","yoast_head_json":{"title":"Rewriting everything from ground up — T's message of the day","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/","og_locale":"en_US","og_type":"article","og_title":"Rewriting everything from ground up — T's message of the day","og_description":"It’s probably my fifth time to write a network application framework from scratch. They were all event-driven. The first and the second one (Netty 1) were based on blocking I\/O. The others (Netty 2, MINA and Netty 3) are based on non-blocking I\/O. Five rewrites… I sometimes think it’s time to step away from network... Continue reading →","og_url":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/","og_site_name":"T's message of the day","article_publisher":"https:\/\/www.facebook.com\/trustin","article_author":"https:\/\/www.facebook.com\/trustin","article_published_time":"2008-06-20T15:06:00+00:00","article_modified_time":"2022-12-27T16:45:48+00:00","author":"Trustin Lee","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/www.twitter.com\/trustin","twitter_site":"@trustin","twitter_misc":{"Written by":"Trustin Lee","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/#article","isPartOf":{"@id":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/"},"author":{"name":"Trustin Lee","@id":"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/4430ad90fc2ddeef051565701d85db9d"},"headline":"Rewriting everything from ground up","datePublished":"2008-06-20T15:06:00+00:00","dateModified":"2022-12-27T16:45:48+00:00","mainEntityOfPage":{"@id":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/"},"wordCount":231,"publisher":{"@id":"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/4430ad90fc2ddeef051565701d85db9d"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/","url":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/","name":"Rewriting everything from ground up — T's message of the day","isPartOf":{"@id":"https:\/\/vault.motd.kr\/wordpress\/#website"},"datePublished":"2008-06-20T15:06:00+00:00","dateModified":"2022-12-27T16:45:48+00:00","breadcrumb":{"@id":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vault.motd.kr\/wordpress\/posts\/4612\/rewriting-everything-from-ground-up\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vault.motd.kr\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Rewriting everything from ground up"}]},{"@type":"WebSite","@id":"https:\/\/vault.motd.kr\/wordpress\/#website","url":"https:\/\/vault.motd.kr\/wordpress\/","name":"T's message of the day","description":"the best is yet to come","publisher":{"@id":"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/4430ad90fc2ddeef051565701d85db9d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vault.motd.kr\/wordpress\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/4430ad90fc2ddeef051565701d85db9d","name":"Trustin Lee","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/image\/","url":"https:\/\/vault.motd.kr\/wordpress\/wp-content\/uploads\/2020\/09\/avatar-2019-966px.png","contentUrl":"https:\/\/vault.motd.kr\/wordpress\/wp-content\/uploads\/2020\/09\/avatar-2019-966px.png","width":966,"height":966,"caption":"Trustin Lee"},"logo":{"@id":"https:\/\/vault.motd.kr\/wordpress\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/t.motd.kr\/","https:\/\/www.facebook.com\/trustin","https:\/\/www.instagram.com\/trustinlee\/","https:\/\/www.linkedin.com\/in\/trustin","https:\/\/twitter.com\/https:\/\/www.twitter.com\/trustin","https:\/\/www.youtube.com\/@trustinlee"]}]}},"_links":{"self":[{"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/posts\/4612"}],"collection":[{"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/comments?post=4612"}],"version-history":[{"count":1,"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/posts\/4612\/revisions"}],"predecessor-version":[{"id":5777,"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/posts\/4612\/revisions\/5777"}],"wp:attachment":[{"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=4612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=4612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vault.motd.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=4612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}