I would like to leave my memos related to my "kung-fu" for some technology insights. Kung-fu doesn't only mean a battle style, but means hacking one's own life.
Thursday, December 07, 2006
Today's Book: Groovy for Java Programmers
Monday, December 04, 2006
Today's Paper: Prototypes with Multiple Dispatch: An Expressive and Dynamic Object Model (ECOOP 2005)
Authors:
Lee Salzman, Jonathan Aldrich
Abstract:
Two object-oriented programming language paradigms—dynamic, prototype-based languages and multi-method languages—provide orthogonal benefits to software engineers. These two paradigms appear to be in conflict, however, preventing engineers from realizing the benefits of both technologies in one system. This paper introduces a novel object model, prototypes with multiple dispatch (PMD), which seamlessly unifies these two approaches. We give formal semantics for PMD, and discuss implementation and experience with PMD in the dynamically typed programming language Slate.
ECOOP 2005
pp.312-336
http://www.springerlink.com/content/540huj0bnh8ktctv/
Today's Paper: Predicate Classes (ECOOP'93)
Author:
Craig Chamber
ECOOP '93
pp.268-296
http://www.springerlink.com/content/v74k8ltwjcg4wh89/
Wednesday, November 08, 2006
Today's Paper: Traits: A mechanism for fine-grained reuse
Authors:
Stéphane Ducasse, Oscar Nierstrasz, Nathanael Schärli, Roel Wuyts, Andrew P. Black
Abstract:
Inheritance is well-known and accepted as a mechanism for reuse in object-oriented languages. Unfortunately, due to the coarse granularity of inheritance, it may be difficult to decompose an application into an optimal class hierarchy that maximizes software reuse. Existing schemes based on single inheritance, multiple inheritance, or mixins, all pose numerous problems for reuse. To overcome these problems we propose traits, pure units of reuse consisting only of methods. We develop a formal model of traits that establishes how traits can be composed, either to form other traits, or to form classes. We also outline an experimental validation in which we apply traits to refactor a nontrivial application into composable units.
ACM Transactions on Programming Languages and Systems (TOPLAS)
Volume 28 , Issue 2 (March 2006)
Pages: 331 - 388
Year of Publication: 2006
http://portal.acm.org/citation.cfm?doid=1119479.1119483
Thursday, November 02, 2006
J2EE-PHP Interop
Achieve J2EE-PHP Interoperability by Andi Gutmans, Stew Nickolas, and Zeev Suraski, FTPOnline, Nov 1, 2006
Two most popular technologies, SOAP and PHP/Java Bridge, are coverd.
Monday, September 11, 2006
Today's Paper: Finding Probably Better System Configurations Quickly (SIGMETRICS/Performance 2006)
Authors:
Takayuki Osogami, Toshinari Itoko:
SIGMETRICS/Performance 2006
pp.264-275
http://portal.acm.org/citation.cfm?doid=1140277.1140308
Tuesday, September 05, 2006
Today's Paper: A Reference Architecture for Overlay Networks (P2P2005)
Authors:
Karl Aberer, Luc Onana Alima, Ali Ghodsi, Sarunas Girdzijauskas, Seif Haridi, Manfred Hauswirth
Peer-to-Peer Computing 2005
pp.11-20
http://doi.ieeecomputersociety.org/10.1109/P2P.2005.38
Saturday, September 02, 2006
Today's Paper: Optimizing Memory Transactions (PLDI 2006)
Authors:
Tim Harris, Mark Plesko, Avraham Shinnar, David Tarditi
PLDI 2006
Proceedings of the ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation, Ottawa, Ontario, Canada, June 11-14, 2006.
pp.14-25
ACM 2006, ISBN 1-59593-320-4
Thursday, August 24, 2006
Today's Paper: Architectural thinking and modeling with the Architects' Workbench (IBM SJ)
Authors:
S. Abrams, B. Bloom, P. Keyser, D. Kimelman, E. Nelson, W. Neuberger, T. Roth, I. Simmonds, S. Tang, J. Vlissides
IBM Systems Journal, Volume 45, Number 3, 2006
Thursday, August 10, 2006
How the Spring AOP Works for Enterprise Application Development
- Simplifying Enterprise Applications with Spring 2.0 and AspectJ, Adrian Colyer, InfoQ, Aug 10,. 2006.
Sunday, July 02, 2006
Today's Paper: Adding Open Modules to AspectJ (AOSD 2006)
Authors:
Neil Ongkingco, Pavel Avgustinov, Julian Tibble, Laurie J. Hendren, Oege de Moor, Ganesh Sittampalam
AOSD 2006
Proceedings of the 5th International Conference on Aspect-Oriented Software Development, AOSD 2006, Bonn, Germany, March 20-24, 2006
pp.39-50
ACM 2006, ISBN 1-59593-300-X
Today's Paper: The JunGL Scripting Language for Refactoring (ICSE 2006)
Authors:
Mathieu Verbaere, Ran Ettinger, Oege de Moor
ICSE 2006
28th International Conference on Software Engineering (ICSE 2006), Shanghai, China, May 20-28, 2006.
pp.172-181
ACM 2006, ISBN 1-59593-375-1JunGL: a scripting language for refactoring (ICSE 2006)
Tuesday, June 13, 2006
Model-Driven AOSD with RSA (Rational Software Architect)
Monday, June 05, 2006
Today's Paper: A Survey of P2P Content Distribution Technologies (CSUR)
Authors:
Stephanos Androutsellis-Theotokis Athens University of Economics and Business, Athens, Greece
Diomidis Spinellis Athens University of Economics and Business, Athens, Greece
ACM Computing Surveys (CSUR)
Volume 36 , Issue 4 (December 2004)
Pages: 335 - 371
Year of Publication: 2004
ISSN:0360-0300
Publisher:
ACM Press New York, NY, USA
http://portal.acm.org/citation.cfm?id=1041680.1041681
Friday, June 02, 2006
Today's Paper: A Survey of Web Cache Replacement Strategies (CSUR)
Authors:
Stefan Podlipnig University Klagenfurt, Klagenfurt, Austria
Laszlo Böszörmenyi University Klagenfurt, Klagenfurt, Austria
ACM Computing Surveys (CSUR)
Volume 35 , Issue 4 (December 2003)
Pages: 374 - 398
Year of Publication: 2003
ISSN:0360-0300
Publisher:
ACM Press New York, NY, USA
http://portal.acm.org/citation.cfm?id=954339.954341
Thursday, June 01, 2006
Today's Paper: The Atomos Transactional Programming Language (PLDI 2006)
Brian D. Carlstrom, Austen McDonald, Hassan Chafi, JaeWoong Chung,
Chi Cao Minh, Christos Kozyrakis, Kunle Olukotun (Stanford University)
ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI 2006)
Ottawa, Canada, June 10-16, 2006
http://tcc.stanford.edu/publications/tcc_pldi2006.pdf
Thursday, May 25, 2006
PHP Compiled Variables Explained
Tuesday, March 28, 2006
JBoss Web Server = Tomcat Native / APR
They say that it can excess Apache HTTP Server. It is interesting how much it really does.
Saturday, March 18, 2006
PHP-Java Integration
- SAPI (Server Application Programming Interface) like Servlet PHP, CLI, etc. - PHP on Java (to integrate PHP into a Java Servlet environment)
- Java extension in PHP - Java in PHP (to integrate Java support into PHP)
Types of implementation are as follows:
- JNI
- Socket/named pipes - PHP/Java Bridge
Check it out!
Monday, March 13, 2006
JSR-292 invokedynamic - a New Java Bytecode Instruction for Dynamically Typed Language Support
Compiling or translating programs in foreign languages into the language directly supported by the platform, which is Java bytecode for Java VM in this case, is typical approaches to good performance. Instead of interpreting method calls in JavaScript, we can translate/compile them to native Java method calls and execute them directly on Java VM.
The compiling/translating approach involves, however, plenty of code generation in some cases. Too much generated code consumes too much memory and thus can result in poor performance.
Gilad Bracha, the fourth man of Java, has been pointing out this problem in his blog, and finally proposed a new Java VM instruction, specialized to address this issue on Feb 28, 2006.
It is in the JSR review ballot stage, and to be approved in Mar 13, 2006.
Friday, March 10, 2006
PHP Script Caching
The overhead of compilation can be avoided if the result of compilation in the previous execution of the same PHP page is remembered by the engine. This technique is well-known and sometimes called script caching. In a PHP engine with script caching, it caches each PHP script in a compiled state so that it can reuse the cache for another page (script) access.
Here, I listed links to major, freely-available caching plugins for the standard PHP engine.
Tuesday, February 28, 2006
Getting Started with JAXB 2.0
Sunday, February 26, 2006
AJAX, XUL, and JSF
http://www.sys-con.com/read/152299.htm
Sunday, February 05, 2006
SOA Patterns
His powerpoint chart is available from:
Also, his talk can be viewed through a Webcast.
Saturday, January 28, 2006
Best Practices of Web Service Performance Testing
- Performance Testing Web Services, by Sergei Baranov, Sep. 28, 2004.
It also demonstrates how to utilize performance monitors offered by WebSphere and the operating system, as well as how to analyze load testing results. The bulk of the discussion assumes that WSDL is used to describe the Web service's interface, and that SOAP and HTTP are used for the messaging and transport layers, respectively.
Monday, January 23, 2006
ATF - AJAX Toolkit Framework Project for Eclipse
- IBM Proposes Open-Source AJAX Project (Darryl K. Taft, eWeek.com, Jan 20, 2006.)
Monday, January 09, 2006
Today's Person: Michael Rappa - Professor E-Business
Michael Rappa is the Alan T. Dickson Distinguished University Professor of Technology Management and director of the Open Courseware Laboratory in the College of Management at North Carolina State University. He is the founder and co-director of the NC State E-Commerce educational initiative, and an associate faculty member in Computer Science and the Institute for Integrated Manufacturing Systems Engineering.
Dr. Rappa has been recognized on numerous occasions for his contributions to research, teaching and service to the academic community. He is a recipient of the North Carolina State University awards for Outstanding Extension Service, Graduate Teaching Excellence, and the Gertrude Cox Award for Innovative Excellence in Teaching and Learning with Technology; the Award for Innovative Excellence and a nominee for the Ernest L. Boyer International AwardMERLOT Award for Exemplary Online Learning from the Multimedia Education Resource for Learning and Online Teaching; and a three-time winner of the IBM Faculty Award for his contributions to the study of e-business and the concept of open courseware.
His article on business models on the Web has very extensive and helpful introduction for this topic.
Saturday, January 07, 2006
Restlet - A Java Framework for REST
// Creating a minimal handler returning "Hello World"
UniformInterface handler = new UniformInterface() {
public void handle(UniformCall call) {
call.setOutput(new StringRepresentation("Hello World!",
MediaTypes.TEXT_PLAIN));
}
};
// Create the HTTP server and listen on port 8182
new JettyServer("My Web server", 8182, handler).start();
If you run this code and launch your server, you can open a Web browser and hit the http://localhost:8182. Actually, any URI will work, try also http://localhost:8182/test/tutorial. This handler is very primitive and only takes advantage of the pure REST part of the Restlet framework. Later in the tutorial, we can see how to take advantage of the Restlets in order to facilitate this processing.
-
Great demonstrations of powerful combination of recent deep neural networks applications - stacked hourglass networks for human pose estima...
-
A caveat for programming in C++ for ROS (Robot Operating System). The core ROS architecture is of the pub-sub messaging framework , where ...
-
In April, the "Linked Data Basic Profile 1.0" was published as a W3C member submission , lead by IBM Rational but involving other...