hoatle
http://hoatle.net
Updates
Updates
-
“The way that you accomplish tasks with a product – what you do and how it responds – that’s the interface” — Jef Raskin #uxp
-
If you think that web accessibility is only for disabled people, you're totally wrong :) #fb
-
7 Habits of Highly Excellent People http://t.co/jdJNo6EK #fb
-
How to Create Maintainable Acceptance Tests http://t.co/r9QTcmv3
-
The Future Of Screen Typography Is In Your Hands http://t.co/SbDuNVbS
-
Seriously.js: A Realtime, Node-Based Video Compositor for the Web http://t.co/zojIwFhh
-
happy lunar new year 2012 (party) :D #fb
-
It's really the time to "move fast, break things" #fb
-
Don't give the shit about anyone or anything you don't understand.It's the rule,ok? :) #fb
-
being badly commented by feeling, not by evidences nearly stops my motivation for ~3 years of working with "useless things" (sigh) #fb
-
@khanhngujen Ừ,nay làm bù để nghỉ tết.Tớ đang đợi online để hỏi lại đây.
-
@khanhngujen có 1 chút mâu thuẫn trong công việc, người khác comment mình ko tốt mà ko chỉ rõ ở đâu, thấy bực bực ghê gớm, haizzz :(
-
I, me, myself, haizzz #fb
-
I just unlocked the "Explorer" badge on @foursquare! http://t.co/iJeL4uW7
-
RT @eXoPlatform: Introducing New #Mobile Applications for #eXo Platform 3.5 http://t.co/TUZNwkj4 #social #iOS #Android
-
@aheritier Happy birthday guy :)
-
@aheritier Happy birthday to your daughter (party) (cake) :)
Posts
1. Problem
- Working with OpenSocial message bundle for localization, sometimes it's necessary to bind dynamic arguments to the message. For example, we have greeting message like this: Hello {user} in which user will be replaced by user's name. But currently with OpenSocial api, we can't. We just can get message bundle by the key without passing any arguments for substitution.
- So this is my approach: using eXo.social.Locale.getMsg(key) the same as prefs.getMsg(key) and eXo.social.Locale.getMsg(key, [val1, val2,...]); for dynamic arguments binding with message bundle.
This afternoon I caught a question posted in phpvietnam group:
"I have an input element with the property onclick="doSomeFunction();". Now I want to add another function, ie onclick="doSomeFunction(); doSomeFunction2();", can I do this with JavaScript? Thanks in advance!" (translated)
Source (in Vietnamese): http://groups.google.com/group/phpvietnam/browse_thread/thread/c7a8688875a320c3
After answering his question, I just want to share my experience when working with JavaScript event handler. I will show you 4 event registration models for the time beings of its use; the way to use context and this keyword in function handler. My approach is that the event object will be passed as 1st parameter to the function handler and this has to refer to the element triggering that event.
Ok, this is the end day of the year 2009 and now from I wanna blog again :d. I have many things to write and I will try to spend some time for it. It's nearly 8 months since my last blog post, so in this post, I just wanna remind some of my remarkable time and event.
- February: Joined eXo Platform SEA and worked as document writer, then join eXo Social team as Java Developer.
I'm thinking so much about this. I've got an offer from Google to work in Singapore for about 2 years after my OpenSocial application took the 2nd place in OpenSocial Application contest in SE Asia. However, I can't touch the Ipod Touch because of customs official issue but I coud get the money instead :(. Shannon Madison and I have been discussing about it in recent days. She said that someone from Google will take part in BarCamp Hanoi 2009 and will tell us about some stratergy in South East Asia in general and in Vietnam for specific.
The 1st submission to Barcamp Hanoi 2009 Logo Design Contest
At present we are having some logo submitted for the contest and we know that the time seems so short for you all to complete your logo for submission.
This afternoon I just hit with this project: OSDE - OpenSocial Developement Environment and loved it at first sight :). This project is awesome for OpenSocial developers to work on their own environment. I remembered on the first days of developing app, registered all opensocial containers, make friends [for test :)] and then test the app. Somehow boring steps and not the pro way of app development. What if you can not have internet connnection but you still want to test you opensocial app. OSDE - OpenSocial Developement Environment is our solution. This is a great module for Eclipse :).
Hi everyone,
To tell the truth, I'm a little envious of some HCM city (Saigon) geeks' activities, especially about Barcamp Saigon 1 and their #H3 :(. What about in Hanoi? Just correct me if I'm wrong but it seem there
Today is my first working day at eXo Platform SEA, a nice start working day :). Hey, so long no post from my blog sice Tet holiday, now I will blog more often.
Just the time for test Indexer, input is a link to play a song, output is info of that song. Currently, I am testing some other music sites and coding for music-engine on the server-side.
You can test the Indexer at: http://musicengine.byethost13.com/
Free host :).
Posts
1. Bài toán
- Khi làm việc với message bundle trong OpenSocial để dùng nhiều ngôn ngữ trong ứng dụng tùy thuộc vào ngôn ngữ người dùng (localization) đôi khi bạn cần phải thêm đối số động vào chuỗi hiển thị. Ví dụ có chuỗi chào như này: Hello {user} trong đó user sẽ được thay bằng username tương ứng của người dùng. Nhưng với OpenSocial api hiện tại thì không làm thế nào để thêm đối số vào được mà chỉ có thể lấy được message tương ứng theo key cung cấp.
- Do vậy đây là cách làm của tớ: viết một thêm 1 class eXo.social.Locale.getMsg(key) và class này cung cấp api cũng tương tự như với class Prefs để lấy lang, country, msg (class Prefs còn cung cấp nhiều api khác nữa): prefs.getMsg(key). Class eXo.social.Locale cung cấp thêm phương thứceXo.social.Locale.getMsg(key, [val1, val2,...]); để thêm đối số vào message bundle.
Chiều nay đang lơ tơ mơ vì vừa ngủ trưa xong (bình thường không ngủ trưa thì thôi chứ cứ ngủ trưa xong là lơ tơ mơ, chỉ muốn ngủ hết chiều cho sướng :d) thì có bạn hỏi trên group phpvietnam như thế này:
"Em có một input có thuộc tính onclick="doSomeFunction();" bây giờ muốn thêm
một hàm nữa ví dụ như onclick="doSomeFunction(); doSomeFunction2();". Công
việc này có làm bằng Javascript được không ah? Em cám ơn mọi người."
Nguồn: http://groups.google.com/group/phpvietnam/browse_thread/thread/c7a8688875a320c3
Trả lời bạn ý xong là hết cả buồn ngủ :P, tiện thể tối về viết lại kinh nghiệm cho cái blog đỡ tủi thân :P. Khi xử lý sự kiện trong JavaScript có 4 mô hình đăng kí sự kiện được phát triển qua thời gian. Tớ cũng nói thêm về cách sử dụng và xử lý ngữ cảnh (context) với từ khóa this trong các hàm xử lý. Trong hàm xử lý phải làm sao đạt được 2 mục đích: truyền tham số vào hàm xử lý phải là event object và từ khóa this trong hàm xử lý sự kiện đó phải là phần tử đã được đăng kí sự kiện.
Hic, lâu lắm rồi ko viết blog, cũng vì lười, cũng vì bận nữa. Nhưng bắt đầu từ bây giờ, lại khoái viết lại rồi, có nhiều thứ chia sẻ hơn, dù bận gì thì bận cũng sẽ phải cố viết đều đặn hơn. 8 tháng không động đến blog, giờ ngồi mãi mới nặn ra được vài chữ. Mà tiếng Anh thì kém hẳn, bí từ kinh khủng mà đấy là còn chưa thi xong tốt nghiệp :SS. Trong bài viết này sẽ điểm lại một số điểm nổi bật của năm qua mà đáng lẽ những điểm này sẽ là một bài blog cơ :(.
MTớ đã suy nghĩ rất nhiều. Chả là bên phía Google có đề nghị tớ qua làm việc (full-time) ở Singapore trong vòng 2 năm sau vụ ứng dụng OpenSocial của tớ (Music-Engine) đạt giải nhì trong cuộc thi viết ứng dụng OpenSocial khu vực Đông Nam Á do Google tổ chức. Tuy nhiên, không hiểu lý do phức tạp gì về vụ hải quan mà tớ không thể nhận được Ipod Touch như trong phần thưởng đã ghi, thay vào đó sẽ nhận được tiền mặt :(. Shannon Madison (là người chịu trách nhiệm chính của cuộc thi) và tớ gần đây đã bàn luận nhiều về cơ hội việc làm này.
Logo đầu tiên gửi đến cuộc thi
Hiện tại chúng tôi đã nhận được những logo đầu tiên gửi đến để tham dự cuộc thi và chúng tôi cũng biết là thời gian hơi gấp rút để bạn có thể hoàn thành tác phẩm của mình đúng thời hạn.
Vừa chiều nay xong vào twitter search về opensocial, thấy mọi người đang rất quan tâm đến weekendapps. Tự dưng thấy có cái link đến project này: OSDE - OpenSocial Development Environment và yêu ngay tắp lự. Dự án là một module cho Eclipse để phát triển các ứng dụng OpenSocial trên môi trường phát triển của các nhà phát triển. Tớ vẫn còn nhớ cách đây hơn tháng vẫn code ứng dụng rồi test luôn trên các container thật như orkut, hi5, myspace, friendster... nhưng rồi chẳng hiểu sao chỉ test được mỗi trên orkut :|.
Chào các anh-chị-em-bạn, nói tóm lại là chào mọi người :P
Tớ tên là Hoạt. Để biết thêm chi tiết google với từ khoá là hoatle hộ tớ với :).
Hôm nay là ngày làm việc đầu tiên cho eXo Platform SEA, làm việc ở đây hơi bị ổn :). Từ tết đến giờ mới lại viết blog, một phần vì bận, 1 phần vì chuyển mạng qua fpt nhưng lại không được vì max thuê bao, lại quay lại dùng mạng của vietel, chậm kinh khủng, 1 máy down film cái là mạng không chạy được luôn => lại bị hạn chế down film :(. Giờ mọi thứ gần như trở lại bình thường thì hoạt động viết blog sẽ trở lại bình thường. Sắp tới có lẽ viết nhiều về Java + các sản phẩm của eXo vì làm việc nhiều với nó mà :).
Vừa submit cái ứng dụng dự thi, nhưng mà không biết thế nào cả. Ứng dụng thì được test + develop ở mỗi orkut, còn lại các container khác thì có nhiều vấn đề. Tức nhất là mình không test ngay ở eXo Social, nếu mà chỉ cần chạy trên này là thỏa mãn điều kiện cuộc thi rồi. Chắc là người ta cũng cân nhắc.
Một số hình chụp:
Bookmarks
Posts
| Hoat Le committed fa4ae9b on branch master in social-client | |||||
| SCL-48 | Social Client Lib has problem in SocialHttpClientException: Make compatible with Android API Level 8 and lower | |||||
|
| Hoat Le committed 79021 on branch 1.2.x in social | ||||||||||||||||||||
| SOC-1835 | Add login as mary, login as john and login as root to the first page of socialdemo (as login as root) | ||||||||||||||||||||
|
| Hoat Le committed 79012 on branch 1.2.x in social | ||||||||||
| SOC-2446 | Duplicate activity on Space activities | ||||||||||
|
| Hoat Le committed 78856 on branch 1.2.x in social | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SOC-2260 | Space applications : several UI problems | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hoat Le committed 78623 on branch 1.2.x in social | ||||||||||||||||||||
| SOC-2023 | <blockquote> <q> should be interpreted in activities | ||||||||||||||||||||
|
| Hoat Le committed 78563 on branch 1.2.x in social | |||||||||||||||||||
| SOC-2409 SOC-2411 | Nothing displays in Setting Space, Space still displays in My Space when root delete a user belong of that space | |||||||||||||||||||
|
| Hoat Le committed 78534 on branch 1.2.x in social | ||||||||||||||||||||
| SOC-2422 | Warning message incorrect when remove a connection which is removed before | ||||||||||||||||||||
|
| Hoat Le committed 78487 on branch 1.2.x in social | ||||||||||||||||||||
| SOC-890 | Improve Code quality: Fix some major, minor violations | ||||||||||||||||||||
|
| Hoat Le committed 78466 on branch 1.2.x in social | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SOC-890 | Improve Code quality: Fix minor violations of Line Length, Import From Same Package | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hoat Le committed 78461 on branch 1.2.x in social | ||||||||||
| SOC-890 | Improve Code quality: Fix major violations of Unused private method | ||||||||||
|
| Hoat Le committed 78459 on branch 1.2.x in social | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SOC-890 | Improve Code quality: Fix major violations of File Tab Character | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| Hoat Le committed 78451 on branch 1.2.x in social | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SOC-890 | Improve Code quality: Fix major violations of unused imports | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hoat Le committed 78442 on branch 1.2.x in social | |||||||||||||||||||||||||
| SOC-2342 | [ACCESS] ACHECKER-185 id attributes must be unique | |||||||||||||||||||||||||
|
| Hoat Le committed 78410 on branch 1.2.x in social | ||||||||||||||||||||||||||||||||||||||||
| SOC-2328 SOC-2336 SOC-2337 [ACCESS] onmouseout has onblur, onmousedown has onkeydown, onmouseover has onfocus association | ||||||||||||||||||||||||||||||||||||||||
|
| Hoat Le committed 369c96b on branch gh-pages in social-client | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Publish 1.0.0-alpha3 java docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hoat Le committed 4395603 on branch master in social-client | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SCL-45 | Social Client Lib must support multiple rest versions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hoat Le committed 78079 on branch 1.2.x in social | |||||
| SOC-1368 | PLF_CLU_05 scenario didn't work in Cluster mode: add cache configuration for cluster mode and explicit exo cache implementation | |||||
|
| Hoat Le committed 78064 on branch 1.2.x in social | |||||
| SOC-2327 | Add display name of activityStream when return to REST Client (update REST version): Delete api_v1alpha1 folder | |||||
|
| Hoat Le committed 7a4f697 on branch master in social-client | |||||||||||||||
| SCL-43 | Update model for fullName of ActivityStream (supported by Social Rest v1-alpha3) | |||||||||||||||
|
| Hoat Le committed c699968 on branch master in social-client | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SCL-44 | Support Social Rest APIs v1-alpha3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hoat Le committed b9ba849 on branch gh-pages in social-client | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Publish 1.0.0-alpha2 java docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||