I am going to stay in Atlanta for 4 days (from today to next Monday). Fortunately, I got the partial financial support from Pycon (Python Conference) so I don’t have to spend much of fortune to get there. One of things that I want to understand and figure it out is what are the problems on cs educations or mindset of Korean computer scientists. I don’t know why .. there are more literally genius friends at KAIST than MIT as far as I feel except professors. Here, professors are such a greatest resources ever, inspiring, creative, nerdy, and real ‘live’ hackers. They are programming all the time – at least in my group! It is not mentioning that KAIST professors are not potent, rather not enthusiastic and don’t know how to motivate young hackers. For about hackers, it is born by nature so there are many hackers-to-be-born in every nations. The thing is how to stimulate and train them to be real hackers to improve our quality of life of the real world. Anyhow, I am going to Atlanta to see how geek or say nerdy hackers to think and develop! I hope it should be the greatest experience ever.
I have tried to learn Perl 5 times maybe since I was sophomore. I tried Perl just because perl seems to be the real geek’s language but python is just for the novice. Yes.. it was just might distorted thought when I was young. I tried so many books and articles ah! even perl 6, which is the worsted implementation ever. Did you see perl 6 performance and specification? adding 100 numbers took over one second.(otherwise, the design itself is much fancier than perl 5, but who is implementing?)
This time, I tried perl to substitute bash, sed, awk and others, but failed. I can’t find any forte except regular expression integrated statements. Python’s Regexp is terrible to write, long, dirty match & group, slow re module .. I just want to use // for my regexp. Other than regexp, I can’t find any advantages of perl at all, so I will never ever try to learn perl again. Instead, try to find other languages like D, C# or Java.
This is published by one of Korean hacker’s groups. I bought the first version of this book, which is pretty impressive to me and makes me happy on Korean hacker’s culture. This second book is quite disappointed in several points – first is which they are not talking about principles, but kiddy usages on tools, second is which editing and coding style are terrible. Rather than translating, which is time consuming, we need original idea of doing real hacking. However, this is only attempt to publish their works through book. We have to praise a bit for their intent. Good.
Frankly, I am a System Hacker, but I love GUI stuffs too. I am an ardent lover of wxWidget & wxPython, which are multi platform GUI framework. However, Win 32 API & MFC are considered not very bad. I have delved into these framework from the bottom, meaning right above the kernel interface. Even my main development environment is Ubuntu, GNOME desktop, I didn’t look inside of it yet! So during the holidays, I checked how GTK+ is constructed above X11 and how is it extensible to construct the GIMPS. My first impression on GTK+ is the best among all. It is really written in C but hard to say imperative C. It is definitely Object Oriented design, as C can do its best. Beautiful ever! (but I like much higher binding of C++ and Python, making me type less than GTK+)
I developed gtklookup-mode while writing gtk code for convenience.
One of my dreams during PhD is that I developed Lisp OS. I don’t know why exactly. After using Lisp, precisely scheme at first, my thinking on software design & algorithm was changed. I can not forget the moment that I understand ‘not imperative’ language. When using Lisp, I felt this language is suck ever not better than calculator as any other novice programmers, yes young students. All students are thinking Java is nice and C++ is suck, but C is umm sometimes better to write an algorithm to solve ICPC problems. No body think that Lisp is better suit to everything. Lisp is different in many aspects. First, you can design your own language. When writing a code with C++/Java, you might feel comfortable with libraries right? These are totally mangled codes of templates and retrospections & reflections. Lisp has much better way to deal with your source code as your data and data is your source code, too. Even Python that is one of my favorites doesn’t provide any features that I expected in Lisp. For example, let us assume we are writing unittest or debugging framework. Our c macro (preprocessor, cpp macro) helps a lot – such as __FUNCTION_NAME__, __LINE_NO__ , #, ##, … see boost preprocessors perfect isn’t it?
However, Lisp’s approach is much fancy and neat. Macro is not different code. It is tool to make our computers to write our code on behalf of us. Simply it is the way to control and command pc to work properly and fast.
As an one of intellectual pundits in computer science, I think that the Open Source is one of the most influential discoveries in 21st century. The reason why I mentioned discovery not invention is that it is exactly fit with human nature. The thing is thing, but anything else. These are the things that are intellectually valuable and beneficial to everyone when pervasive. Such as music, philosophy, math, and natural science, the software is not the thing we can seize and prevent them from being disclosed. To whole human beings, these activities definitely make them valuable, but for artists, philosophers, mathematicians and hackers, it should be more than just valuable. Since we are human beings, we can not live just with intellectual achievements. We also need love, food, family and surely money.
Is there any new model to satisfy all of these conditions
1. making our society valuable as a whole
2. making each individual satisfying as an individual in our society
3. making them feel respects and achievements
We are not volunteer!
Need much sophisticated model rather than FOSS..
We also like you, yes human beings.
Javascript is only the language that programmers use without learning it. In other words, the javascript language model is perfectly easy-to-use and reasonable to copy-and-paste. However as Douglas mentioned in this lecture, javascript also has fancy nice features derived from scheme & lisp. The closures help us hide unnecessary inside and disclose necessary interface between objects and functions. See the singleton example on the presentation.
During this winter, I am going to learn javascript from the syntax again. I love computer programming laguages itself, not just javascript alone. These are the lists of languages that I have to learn seriously D/Perl/Haskel/Ruby/Java/C#/.NET(CLR). Frankly, I am using Python mostly for my works and research – I don’t have any chance to be familiar with other languages even I read a couple of books on Haskel, Java and Ruby. I forgot the essence of them.
These are my native programming languages – gas, c, c++, python, lisp.
This is a video presented 2 years ago. They were talking about Meshup Problem of web site such as portal, ads, gears, and plugins. We still have same problems – for example cross site script and cross site forgery. See the recent papers trying to solve the mashup problem in browsers – Securing Frame Communication in Browsers.What I am doing is to modify chrome, firefox and apache to provide secure sandbox models on each components by keeping principle of least privilege.
For Xen developers, this book is real definite guide, but to understand what is hypervisor and how it works, this is not the solution. However, to understand how precisely they implemented Xen and their perspective as providers, this book is pretty fun