lés travailleurs de la mer

Nơi nghĩa trang chật hẹp, tiếng vọng âm vang,
Chẳng một nhánh liễu xanh mùa thu trút lá,
Không một khúc hát ngây thơ buồn bã,
Góc cầu xưa người hành khất thường ca.

ritten with a Pencil stylus on an iPad using our own home – brew inking technology. Excerpt from the famous novel Lés travailleurs de la mer (Toilers of the Sea), Victor Hugo, and my literal, clumsy English translation: Navigation, it is education, sea is the brave school… The voyageur Ulysse had done lots more deeds then the Achille combatant. The sea quenches man, if soldiers are made of iron, then the mariners must have been made of steel. Look at them, in the ports, those tranquil martyrs, the silent winners, man figures with a religious look in their eyes as they’ve come out of the abyss…

the man of wisdom delights in water…

ritten with a Bamboo stylus on iPad, using my inking mentioned earlier! A quote from Confucius’ Analects, and its partial, literal equivalence in English on this post’s title… Looks like there’s still lots of space for improvements on creating real, good — looking strokes (for Chinese round brush and other kinds of brushes). Really discontent with my Chinese handwriting ever since, it’s never been good enough for me, it’s been degrading greatly over time without practicing! My handwriting reflects my messy, chronically — undisciplined character! 🙁

inking

y proudly – announced achievement for the last 6 working months, now is a registering (pending) patent in the U.S. It’s about create inking effect to handwriting on iPad (ideally with a stylus): you can apply many pen styles: ball pen, fountain pen, calligraphy pen, Chinese round brush, and different levels of ink wetness. You may have seen my handwriting in severalpreviousposts, but this is completely different, a big step forward, much more a realistic look like ink on paper. You need to see it in action to witness how interesting the “beautification effect” it is!

Different pen styles:

Different ink wetness:

Another writing example, a poem in both Vietnamese and Chinese:

And now, a real world application, my new year greeting card, hand – written on iPad, printed on paper, with my signature and personal seal on it. Old vintage things are not to be perished, they just come back in new neoclassical forms, to have “inflated”, “degraded” contemporary values reprimanded !! 🙂

wwdc 2012

t would start within a week from now, the well – expected event of Apple’s world – wide developers conference of 2012 – WWDC 2012. To welcome the tech fair 😛 , on the left is a screen capture of what I’ve been working hard on for the whole last month (the video is not really clear since it’s shot with my phone), a photo browser UI like iPad’s Photos app.

It takes time to learn insights into Core Graphics, Core Animation, and I’m still learning. For all those years of graphics I’ve been through, Apple UI and its graphics sysem are still sooo… brilliant and amazing to me! (and “our love has just begun”!)

Keep heading North!

apps

hẳng bao giờ muốn nói về software engineering, vì với tôi, đó là việc làm hàng ngày, đã làm hàng ngày thì có gì nhiều để mà nói!? Để ý thấy thường ai đó nói thật nhiều về điều gì (tiền bạc, tình yêu, trí thức, đạo đức…) thì tức là người ta thiếu cái đó! Tôi thì chỉ muốn nói nhiều về nhạc, vì âm nhạc với tôi là chưa bao giờ đủ! Tuy vậy hôm nay ngứa miệng nói về software engineering chút, gần đây đọc được một bài viết khá hay, trình bày lại ý chính ở đây: phát triển ứng dụng giống như là một nhà làm phim độc lập.

Phát triển app giống như làm phim: cả hai loại người này, coder và film – maker, đều có cá tính độc lập và xu hướng muốn sáng tạo, tạo nên một sản phẩm gì đó và “quăng ra” cho công chúng, mà đôi khi họ cũng không để ý đến việc quảng cáo, promotion cho sản phẩm của mình. Tuy nhiên khác với phim: kịch bản đã được viết sẵn từ đầu, việc làm app đòi hỏi coder đóng cùng một lúc hai vai: diễn viên và đạo diễn, với phần lớn khả năng là không thể biết trước được kịch bản sẽ như thế nào, sản phẩm của mình sẽ đi về đâu.

Đội một chiếc mũ khác lên đầu, ta sẽ nhận thấy apps ngày càng giống các sản phẩm bán lẻ. Nhiều coder có xu hướng “tự kỷ” cho rằng công việc mình làm là một cái gì đó “công nghệ cao” hay “to lớn”, đó là cái ảo tưởng hình thành không biết từ đâu: giáo dục, truyền thông, môi trường làm việc? Thực ra apps đã trở nên rất giống các sản phẩm bán lẻ (sữa tắm, dầu gội, kem đánh răng…), có hằng hà sa số các sản phẩm tương tự cạnh tranh với bạn, thị trường nhiều khi đến mức bão hoà, thế nên các chiến thuật marketing là một yếu tố quan trọng.

Điều này đồng nghĩa với việc coder phải chuẩn bị tinh thần để customize sản phẩm của mình theo nhu cầu của khách hàng, bỏ nhiều công sức, thời gian để cải tiến, đánh bóng các chức năng của phần mềm, đừng vội vàng tung ra một sản phẩm chưa tốt, dù vẫn biết rằng time – to – market là một sức ép hết sức lớn. Có một “thành ngữ” nói rằng: khách hàng không thông minh như ta nghĩ, và họ cũng không ngu như ta nghĩ. Điều này hoàn toàn đúng để nhận xét về chất lượng, tính cạnh tranh của các phần mềm.

Gần chỗ tôi ở có một công viên xinh xinh, cuối tuần nào ra đi dạo cũng thấy người ta mượn không gian để làm phim (đa phần là các loại phim truyền hình rẻ tiền dạng 20 triệu đồng / tập). Dừng lại và chú ý xem diễn xuất, kịch bản thì nhận ra đó toàn là những loại: con chó của tôi bỏ tôi ra đi, còn vợ tôi thì bị xe tải cán chết!, hay tệ hơn nữa là những loại: chống chỉ định với trẻ em mang thai và đàn bà dưới 16 tuổi! (đảo ngược 2 vế lại một chút 😀 ). Các bạn tôi ơi, khả năng kiên trì và sáng tạo của các bạn còn tốt hơn của các loại lau nhau kia nhiều… hãy vững bước trên con đường của riêng mình!

chuyện tình tự kể

gày nào, cho tôi biết, biết yêu em rồi, tôi biết tương tư, sau đây là câu chuyện tình tôi tự kể, ngày nào, biết mong chờ, biết rộn rã buồn vui đợi em dưới mưa… Chúng tôi quen nhau tính về thời gian chưa phải là quá lâu, chỉ một vài năm gì đó. Nhưng nguồn cơn, nguyên do câu chuyện có lẽ đã được vun vén, manh nha từ lâu rất lâu về trước, tôi thương em dễ có từ thủa mẹ về với cha.

Những lý do, ngọn nguồn chẳng thể nào mà giải thích và truy nguyên cho được đã dần đưa chúng tôi lại với nhau tự lúc nào. Tình yêu nào rồi cũng sẽ đi qua nhiều thăng trầm, đã có lúc tôi cảm giác chẳng hiểu gì về em, nhiều khi sự khó khăn của em làm tôi nản chí, cũng có khi tôi đã hoang mang, nghi ngờ em và chính mình.

Nhưng với tình cảm chân thành, bằng trực giác tự nhiên mách bảo, chúng tôi đã vượt qua nhiều sóng gió, để đến một ngày: ngày nào, cảnh thiên đường, đã mở hé tình yêu là trái táo thơm, tôi ghé răng cắn vào… Đến đây thì hẳn các bạn đã đoán ra nàng thơ của tôi tên là… Apple –  hiện diện trên các MacBook, iPhone, iPod, iPad xinh xắn! 😀

Bao giờ biết tương tư – Tuấn Ngọc

writing on the margins

his is just a post of my truly nonsense and random thought. Some notions are just interesting in their own forms, like writing on the margins or sub luna saltamus – dance beneath the moon… I just particularly like the phrase writing on the margins, the action and its meaning, that’s why this website layout is designed with that notion in mind, the left column is reserved for additional and complementary information, as side notes along main content.

Take a look at the two iPad’s screenshots on the left and you would see how nice it is, writing on the margins in a modern and digital form, especially when you could still use your own handwriting with it. You may have noticed the two classical masterpieces (one in mathematics and the other in literature) referenced in those notes! 🙂


the new ipad

ust got the new iPad (or we called it: the iPad 3) in hand today and I’m stunned by it’s new retina display. There’s not such a fever like when the iPad 2 was released, I guess since the new iPad is almost identical to iPad 2 in appearance, people will consider about the fact that they won’t be able to show it off. In term of general performance, iPad 3 does not stand out to the previous iPad, or it could be worse in term of 3D – OpenGL performance according to some reviews. From a programmer’s point of view, this could easily be understood since doubling the resolution means 4 times the memory and processing power for each graphics API, which also means Apple has been pushing things over the Moore law’s limit!

Personally I’m not really a passionate fan of these Mắc – Xinh – Tốt [1] (Macintosh) assets, but professionally as a computer – graphics coder, I’ve always admired the prestigous 2D graphics tradition come with Apple’s products. Back to the retina display, on the left is a reduced – size screenshot of this blog taken on the iPad 3 (see full version here, it would take some times to load).

2048 x 1536 is a huge resolution that does magic to the vector things, e.g: displaying fonts! Not only the screen is much sharper, even at first look, its color tone appears to be truer, and the new iPad gamut covers 44% more into the sRGB color space compared to the previous iPad. The second picture: funny capture of Walter Isaacson’s Steve Jobs autobiography put on – top the God of Wealth’s altar in our office 🙂 !

[1]Mắc – Xinh – Tốt: a phonetical transcription of the name: Macintosh, which is also a play – on – words, Mắc means: expensive, Xinh means: cute and Tốt means: good in Vietnamese 🙂 .


ios-widgets

aving written myself numerous UI widgets, from simple to complex, from Windows to Linux, from 2D to 3D… but I’ve just started writing iOS widgets not too long ago. Making iOS widgets is really fun, for we have supports from the most powerful 2D graphics system ever built, that is CoreGraphics (Quartz 2D). The code, hosted on github, is released under MIT license, check it out for a demo project, I hope that these widgets would be useful somewhere, but yes, I know, don’t complain about the code quality, most is written in a rush and still have flaws in it, use at your own discretion!

1.   XFilePathHeader

This tabular header let you quickly browse a hierachy structure (like file system directories). The levels are shown as tabs, tap on a tab to jump to a parent folder, tap on the “Home” icon to jump to root folder.

2.   XSegmentedControl

The Apple’s standard UISegmentedControl only displays text, not image. This class lets you use image along with text (or image or text alone) in any orders (image then text, or text then image).

3.   XProgressTextField

This is a copy of Safari’s address textfield which shows a progress bar while the webpage is loading. Would continue to add more of these miscellaneous tiny widgets just for fun when I have time.

handwriting

his is part of the really fascinating broader concept of neo – analog as mentioned in a previous post. Below is my handwriting with a stylus on my iPad (click to see large version), not too bad after 10 years of solely keyboard and mouse, not pen, right? Also, I’m quite excited with the coming Kindle touch (which should be delivered at end of the month). My thought is that it’s just a matter of time before e – ink would have color and refresh rate capabilities near those of conventional displays, and serious applications would be feasible within the vintage look and feel of e – ink!