Tuesday, April 17, 2007

World Top 2 Professors killed in Virginia Tech Massacre - Part 1

From CNN - Developing Story:

Among the dead were professors Liviu Librescu and Kevin Granata, said Ishwar K. Puri, the head of the engineering science and mechanics department.

Librescu, an Israeli, was born in Romania and was known internationally for his research in aeronautical engineering, Puri wrote in an e-mail to The Associated Press.

Granata and his students researched muscle and reflex response and robotics. Puri called him one of the top five biomechanics researchers in the country working on movement dynamics in cerebral palsy.

"My father blocked the doorway with his body and asked the students to flee," Joe Librescu said in a telephone interview, citing e-mail he said students had sent to his family. "Students started opening windows and jumping out."

Liviu Librescu

Interests:
Foundation and applications of the modern theory of shells incorporating non-classical effects and composed of advanced composite materials; Foundation of the theory and applications of sandwich type structures; Aeroelastic stability of flight vehicle structures;. Nonlinear aeroelasticity of structures in supersonic and hypersonic flow fields; Aeroelastic and structural tailoring; Dynamic response and instability of elastic and viscoelastic laminated composite structures subjected to deterministic and random loading systems; Mechanical and thermal postbuckling of flat and curved shear-deformable elastic panels; Static, dynamic and aeroelastic feedback control of adaptive structures; Unsteady aerodynamics and magnetoaerodynamics of supersonic flows with applications; Optimization problems of aeroelastic structural systems; Theory of composite thin-walled beams and its application in aeronautical and mechanical constructions; Response and behavior of structures to underwater and in-air explosions; Multifunctional and Functionally Graded material structures.

Education:
Ph.D., Institute of Fluid Mechanics, Academy of Science of Romania, 1969
M. A. Sc., Polytechnic Institute, Faculty of Aeronautical Engineering, Bucharest, 1953
B.S., Polytechnic Institute of Bucharest, Romania, Aeronautical Engineer, 1952

Honors and Awards:

2007

Invited Key Note Lecture at the 17th International Congress on Thermal Stresses, June 4-7, 2007, Taipei, Taiwan, “Joule Heating and its Implications on Crack Detection/Arrest in Electrically Conductive Circular Cylindrical Shells”.( Z. Qin, L. Librescu and D. Hasanyan)

2006

Awarded a diploma by the 17th International Conference on Adaptive Structures and Technology for the paper “Robust Aeroelastic Control of Composite Aircraft Wings in Incompressible Flow” by Yoon, G. C., Na, S. S., Librescu, L., and Baek, S. C., Taiwan, ICAST 2006, October 13-17.

2005

Appointed Chair of the International Organizing Committee of the 6th International Congress on Thermal Stresses '05 May 26-29, 2005, Vienna, Austria

2005

Invited Plenary Lecture at the 6th International Congress of Thermal Stresses '05 May 26-29, 2005, Vienna, Austria "Thin-Walled Beams Used in Turbomachinery and Space Applications Made-Up of Functionally Graded Materials and Operating in a High Temperature Environment: Vibration and Instability" by L. Librescu, S-Y Oh and O. Song

2005

Selected as a member of the Board of Experts of the Italian Ministry of Education, University and Scientific Research

2005

Awarded a diploma by the International Congress on Thermal Stresses, Vienna, Austria, May-June, 2005, ``In recognition for the achievements in the field of Thermal Stresses, for organizing the Fifth International Congress of Thermal Stresses, and for the contributions to the Journal of Thermal Stresses, as an author and as a member of the Editorial Board.''

2005

Awarded a diploma by the ASME, 20th Biennal Conference on Mechanical Vibration and Noise, Long Beach, CA, September 24-28, 2005 expressing the deep appreciation for the valuable services in advancing the engineering profession.''

2005

Frank J. Maher Award for Excellence in Engineering Education

2004

Plenary Key Note Lecture to the Third European Conference on Structural Control July 12-15. 2004, Vienna, Austria “Advances in the Linear/nonlinear Control of Aeroelastic Structural Systems” by L. Librescu and P. Marzocca

2003

Member of the Executive Committee of the International Congress of Thermal Stresses, (1999-2003) and re-appointed for (2003-2007)

2003

General Chair of the 5th International Congress of Thermal Stresses and Related Topics, June 8-11, 2003, Blacksburg, VA

2000

Recipient of the title of Doctor Honoris Causa of the Polytechnic Institute of Bucharest, Romania

2000

Elected member of the Academy of Sciences of the Shipbuilding of Ukraine

1999

Recipient of The 1999 Dean’s Award for Excellence in Research, College of Engineering VPI&SU

1999

Elected Foreign Fellow of the Academy of Engineering of Armenia

1998

Invited Plenary Lecture at the Session dedicated to the great Italian Scientist Professor Placido Cicala, Torino, June 25, 1998, Italia “Aeroelastic Tailoring of Advanced Aircraft Wings Carrying External Stores”, with Dr. F. H. Gern

1988

Plenary Key Note Lecture to the Second International Conference on Composite Science and Technology, June 9-11, 1998 Durban, South Africa” Recent Developments in the Modelling and Behavior of Advanced Sandwich Constructions”

1972

Laureate of the prize “Traian Vuia” of the Romanian Academy of Science

Professional Service:

Listing in Who's Who

Who's Who in America

Who's Who in Engineering

Who's Who in the World

Who's Who in Science and Engineering

Member of the Editorial Board of

2007 - Journal of Sound and Vibration

2004 - International Journal of Advanced Materials and Structures

2003 - Journal Mathematical Methods and Physic-Mechanical Fields

1999 - Journal Thin-Walled Structures

1998 - Journal of Thermal Stresses

1997 - International Journal of Non-Linear Mechanics

1975 - Solid Mechanics Archives

Guest Editor for the Special Issues of the Journals

2006 - Journal of Mathematical Engineering (issues devoted to Thermomechanical Problems)

2004 - International of Mechanics of Advanced Materials and Structures, Vol. 11, Nos. 4-5, Part I & II

2001 - Composite Structures, Vol. 52, 1, 2001

2001 - Thin-Walled Structures, Special Issue - New Advances in the Modelling and Application of Smart Thin-Walled Structures, Vol. 39, 1, 2001

2000 - Composites Engineering, Part B, Vol. 32, 3, 2000

Chair of the International Organizing Committee of

2005 - 6th International Congress on Thermal Stresses '05, May 26-29, Vienna, Austria

Co-Chair of the International Organizing Committee of

2007 - 7th International Congress on Thermal Stresses June 4-7, Taipei, Taiwan

2005 - Mechanical Engineering and Mechanics, October 26-28, Nanjing, China

Member of the International Advisory Board of

2007 - Second International Symposium on Design Modelling and Experiments of Adaptive Structures and Smart Systems, DEMEASS II, October 14-17, Bad Herrenalb, Germany

2007 - Organizing Committee of the 70th Birthday of Jozef Ignaczak Symposium at the 7th International Congress on Thermal Stresses, Juen 4-7, Taipei, Taiwan

2006 - 2nd International Congress on Computational Mechanics and simulation (ICCM-06), December 8-10, Indian Institute of Technology, Guwahati,-781039, India

2006 - 1st International Symposium on Design Modelling and Experiments of Adaptive Structures and Smart Systems, DeMEASS I, June 10-12, Bardonecchia (Turin), Italy

2004 - 1st International Congress on Computational Mechanics and Simulation, IIT Kanpur, December 9-12, India

2004 - 2nd International Conference on Structural Engineering, Mechanics and Computation, July 5-7, Cape Town, South Africa

2003 - 2nd International Conference on Applied Mechanics and Materials (ICAMM 2003), January 21-23, Durban, South Africa

1998 - 2nd Interntional Conference on Composite Science and Technology, June 9-11, Durban, South Africa

1996 - 1st International Conference, Composite Science Technology, June 18-20, Durham, South Africa

Member of the International Organizing Committee of

2005 - 6th International Congress of Thermal Stresses, May 26-29, Wien, Austria

2001 - 4th International Congress on Thermal Stresses, June 8-11, Osaka, Japan

1999 - 3rd International Congress on Thermal Stresses, June 13-17, Cracow, Poland

1982 thru 1985 - Israel National Conference on Aviation and Astronautics

Publications:

Books:

  1. Librescu, L. and Song, O., Composite Thin-Walled Beams: Theory and Application, Springer, 615, 2005
  2. Cederbaum, G., Elishakoff, I., Aboudi, J. and Librescu, L., Random Vibrations and Reliability of Composite Structures, Technomic Publishing Company, Inc., Lancaster-Basel, USA, pp. 191, 1992
  3. Librescu, L., Elastostatics and Kinetics of Anisotropic and Heterogeneous Shell-Type Structures, Noordhoff International Publishing, Leyden, Netherlands, pp. 598, 1975
  4. Librescu, L., Statics and Dynamic of Anisotropic and Heterogeneous Structures, (in Romanian), Publishing House of the Romanian Academy of Science, pp. 290, 1969

Book Chapters:

  1. Hohe, J. and Librescu, L., On the Effect of Transverse Core Compressibility on the Buckling of Sandwich Shells, Theory of Plates and Shells, (Eds. R. Kienzler, H. Altenback and I. Ott), Lecture Notes in Applied and Computational Mechanics, Springer Verlag, Vol. 16, pp. 61-68, 2004
  2. Hasanyan, D., Librescu, L., Qin, Z. and Ambur, D. R., Flexural Wave Scattering at the Through Crack in a Current Carrying Plate, Problems of Mechanics of Deformable Body, (Edited by Professor V. S. Sarkisyan), Armenian Academy of Sciences, Bounded Volume Dedicated to Professor N. Ch. Harutyunyan, pp. 91-101, 2003
  3. Hasanyan, D., Librescu, L. and Ambur, D. R., Nonlinear Vibration of Thermo-Elastic Plates in a Magnetic Field, Southampton, UK, WIT Press, Southampton, Boston, (Editor: Y. Shindo), Mechanics of Electromagnetic Material Systems and Structures, pp. 3-15, 2003
  4. Librescu, L. and Hause, T., The Effects of Time-Dependent Pressure Pulses on Dynamic Response of Viscously Damped Anisotropic Sandwich Flat Panels in Problems of Mechanics of Thin Deformable Bodies, Published by the Academy of Sciences of Armenia, Erevan, Armenia, pp. 200-214, 2002
  5. Marzocca, P., Librescu, L. and Silva, W. A., Nondestructive Flutter Instability Prediction Using Combined Analytical-Experimental Procedure, Recent Advances in Experimental Mechanics, (Editor: E. E. Gdoutos), Kluwer Academic Publishers, Dordrecht/Boston/London, 2002

Journals:

  1. G. Polli, L. Librescu and F. Mastroddi, Aeroelastic Response of Composite Aircraft Swept Wings Impacted by a Laser Beam, AIAA, Vol. 33, No, 2, pp. 382-391, 2006
  2. Na, S. S., Librescu, L., Rim, S. N. and Yoon, G. C., Vibration and Dynamic Response Control of Non-Unifom Composite Rotating Blades, International Journal of Rotating Machinery, 2006, ID 13807, pp. 1-9, 2006
  3. Librescu, L., Oh, S-Y. and Hohe, J., Dynamic Response of Anisotropic Sandwich Flat Panels to Underwater and In-Air Explosions, International Journal of Solids and Structures, Vol. 43, No. 13, pp. 3794-3816, June, 2006
  4. Hause, T. and Librescu, L., Flexural Free Vibration of Sandwich Flat Panels with Laminated Anisotropic Face Sheets, Journal of Sound and Vibration, Vol. 297, Nos. 3-5, pp. 823-841, 2006
  5. Librescu, L. and Marzocca, P.,, Advances in the Linear/Nonlinear Control of Aeroelastic Structural Systems, Acta Mechanica, Vol. 178, Nos 3-4, pp. 147-186, 2005
  6. Hohe, J. and Librescu, L., Advances in the Structural Modeling and Behavior of Sandwich Panels, Mechanics of Advanced Materials and Structures, Vol. 11, No. 4-5, pp. 395-424, 2004
  7. Librescu, L., Hasanyan, D. and Ambur, D. R., Electromagnetically Conducting Elastic Plates in a Magnetic Field: Modeing and Dynamic Implications, International Journal of Nonlinear Mechanics, Vol. 39, Issue 5, pp. 723-739, 2004
  8. Librescu, L., Marzocca, P. and Silva, W. A., Linear/Nonlinear Supersonic Panel Flutter in a High Temperature Field, Journal of Aircraft, Vol. 41, No. 4, pp. 918-924, 2004
  9. Chandiramani, N. K., Librescu, L., Saxena, V. and Kumar, A., Optimal Vibration Control of a Rotating Composite Beam with Distributed Piezoelectric Sensing and Actuation, Smart Materials and Structures, Vol. 13, pp. 433-442, 2004
  10. Oh, S.Y., Librescu, L. and Song, O., Vibration and Instability of Functionally Graded Circular Cylindrical Spinning Thin-Walled Beams, Journal of Sound and Vibration, (in press), 2004
  11. Librescu, L., Na, S., Marzocca, P., Chung C. and Kwak, M., Active Aeroelastic Control of 2-D Wing-Flap Systems Operating in an Incompressible Flowfield an Impacted by a Blast Pulse, Journal of Sound and Vibration, (in press), 2004
  12. Hause, T. and Librescu, L., Dynamic Response of Anisotropic Sandwich Flat Panels to Explosive Pressure Pulses, International Journal of Impact Engineering, (in press), 2004
  13. Hasanyan, D., Librescu, L., Qin, Z and Ambur D.R., Magneto-thermo-elastokinetics of Geometrically Nonlinear Laminated Composite Plates: Foundation of the Theory Part I, Journal of Sound and Vibration, (in press), 2004
  14. Qin, Z., Hasanyan, D. Librescu, L. and Ambur, D.R., Magneto-thermo-elastokinetics of Geometrically Nonlinear Laminated Composite Plates: Vibration and Wave Propagation, Journal of Sound and Vibration, (in press), 2004
  15. Hasanyan, D., Librescu, L., Qin, Z. and Ambur, D.R., Nonlinear Vibration of Finitely-Electroconductive Plate Strips in an Axial Magnetic Field, Computers & Structures, (in press), 2004
  16. Librescu, L., Marzocca, P. and Silva, W. A., Aeroelasticity of 2-D Lifting Surfaces with Time-Delayed Feedback Control, Journal of Fluids and Structures, (in press), 2004
  17. Na, S. S., Librescu, L. and Huang, H., Dynamics and Active Bending Vibration Control of Turbomachinery Rotating Blades Featuring Temperature-Dependent Material Properties, Journal of Thermal Stresses, Vol. 24, pp. 625-644, 2004
  18. Hasanyan, D., Librescu, L. and Damodar, A., A Few Results on the Foundation of the Theory and Behavior of Nonlinear Magnetoelastic Plates Carrying an Electric Current, International Journal of Engineering Science, Vol. 42, Nos. 15-16, pp. 1547-1572, 2004
  19. Chandiramani, N. K., Librescu, L., Saxena, V. and Kumar, A., Optimal Vibration Control of a Rotating Composite Beam with Distributed Piezoelectric Sensing and Actuation, Smart Materials and Structures, Vol. 13, pp. 433-442, 2004
  20. Marzocca, P., Librescu, L. and Silva, W. A., Time-Delay Effects on Linear/Nonlinear Feedback Control of Simple Aeroelastic Systems, Journal of Guidance, Control and Dynamic, (in press), 2004
  21. Librescu, L., Oh, S-Y and Hohe, J., Linear and Non-Linear Dynamic Response of Sandwich Panels to Blast Loading, Composites B, Special Issue on Marine Composites, Vol. 35, No. 6-8, pp. 673-683, September, 2004
  22. Yuan, Y., Yu, P., Librescu, L. and Marzocca, P., Aeroelasticity of Time-Delayed Feedback Control of 2-D Supersonic Lifting Surfaces, Journal of Guidance, Control and Dynamics, Vol. 27, No. 5, pp. 797-803, 2004
  23. Na, S. S., Librescu, L. and Shim, J. H., Modified Bang-Bang Vibration Control Applied to Adaptive Thin-Walled Beam Cantilevers, AIAA Journal, Vol. 42, No. 8, pp. 1717-1721, 2004
  24. Marzocca, P., Silva, W. A. and Librescu, L., Non-Linear Open/Closed Loop Aeroelastic Analysis of Airfoil via Volterra Series, AIAA Journal, Vol. 42, No. 4, pp. 673-686, 2004
  25. Hohe, J. and Librescu, L., Core and Face-Sheet Anisotropy in Deformation and Buckling of Sandwich Panels, AIAA Journal, Vol. 42, No. 1, pp. 149-158, January, 2004
  26. Qin, Z., Librescu, L., Hasanyan, D. and Ambur, D. R., Magnetoelastic Modeling of Circular Cylindrical Shells Immersed in a Magnetic Field, Part I: Magnetoelastic Loads Considing Finite Dimensional Effects, International Journal of Engineering Science, Vol. 41, pp. 2005-2022, 2003
  27. Librescu, L., Oh, S-Y., and Song, O., Spinning Thin-Walled Beams Made of Functionally Graded Materials: Modeling, Vibration and Instability, European Journal of Mechanics A/Solids, Vol. 23, No. 3, pp. 499-515, 2003
  28. Na, S. S., Librescu, L. and Shim, J. K., Modeling and Bending Vibration Control of Nonuniform Thin-Walled Rotating Beams Incorporating Adaptive Capabilities, International Journal of Mechanical Sciences, Vol. 45, No. 8, pp. 1347-1367, 2003
  29. Chandiramani, N. K., Shete, C. D. and Librescu, L., Vibration of Higher-Order Shearable Pretwisted Rotating Composite Blades, International Journal of Mechanical Sciences, Vol. 45, pp. 2017-2041, 2003
  30. Librescu, L., Qin, Z. and Ambur, D. R., Implications of Warping Restraint on Statics and Dynamics of Elastically Tailored Thin-Walled Composite Beams, International Journal of Mechanical Sciences, Vol. 45, No. 8, pp. 1247-1267, 2003
  31. Oh, S. Y., Librescu, L. and Song, O., Vibration of Turbomachinery Rotating Blades Made-up of Functionally Graded Materials and Operating in a High Temperature Field, Acta Mechanica, Vol. 166, No. 2, pp. 69-87, 2003
  32. Song, O., Yoon, I. and Librescu, L., Thermally Induced Bending Vibration of Composite Spacecraft Booms Subjected to Solar Heating, Journal of Thermal Stresses, Vol. 26, No. 8, pp. 829-843, August, 2003
  33. Qin, Z., Hasanyan, D., Librescu, L. and Ambur, D. R., Magnetoelastic Modeling of Circular Cylindrical Vibration, International Journal of Engineering Science, Vol. 41, pp. 2023-2046, 2003
  34. Qin, Z. and Librescu, L., Aeroelastic Instability of Aircraft Wings Modeled as Anisotropic Composite Thin-Walled Beams in Incompressible Flow, Journal of Fluids and Structures, Vol. 19, No. 1, pp. 43-61, August, 2003
  35. Librescu, L., Hasanyan, D., Qin, Z. and Ambur, D. R., Nonlinear Magneto-Thermo-Elasticity of Anisotropic Plates Immersed in a Magnetic Field, Journal of Thermal Stresses, Vol. 26, Nos. 11-12, pp. 1277-1304, November-December, 2003
  36. Qin, Z. and Librescu, L., Dynamic Aeroelastic Response of Aircraft Wings Modeled as Anisotropic Thin-Walled Beams, Journal of Aircraft, Vol. 40, No. 3, pp. 532-543, 2003
  37. Oh, S. Y., Song, O. and Librescu, L., Effects of Pretwist and Presetting on Coupled Bending Vibrations of Rotating Thin-Walled Composite Beams, International Journal of Solids and Structures, Vol. 40, pp. 1203-1224, 2003
  38. Oh, S. Y., Librescu, L. and Song, O., Thermoelastic Modeling and Vibration of Functionally Graded Thin-Walled Rotating Blades, AIAA Journal, Vol. 41, No. 10, pp. 2051-2060, 2003
  39. Hohe, J. and Librescu, L., A Nonlinear Theory for Doubly Curved Anisotropic Sandwich Shells with Transversely Compressible Core, International Journal of Solids and Structures, Vol. 40, pp. 1059-1088, 2003
  40. Qin, Z., Librescu, L. and Marzocca, P., Aeroelasticity of Composite Aerovehicle Wings in Supersonic Flow, Journal of Spacecraft and Rockets, Vol. 40, No. 2, pp. 162-173, 2003

Conferences:

  1. S. S. Na, L. Librescu and M. Kwak, Thermally-Induced Vibration Control of Rotating Composite Thin-Walled Blades, 24th Congress of the International Council of the Aeronautical Sciences, Yokohama, Japan, ICAS 2004-5.1-3, 2004
  2. S-Y Oh, L. Librescu and O. Song, Thin-Walled Rotating Composite Blades Featuring Extension-Twist Elastic Coupling, 45th AIAA/ASME/ASCE/AHS/ASC, (CD-Rom), Palm Springs, CA, AIAA-2004-2049, 2004
  3. P. Marzocca and L. Librescu, Flutter/Aeroelastic Response of Panels via a Combined Galerkin-Volterra Series Approach, 45th AIAA/ASME/ASCE/ASC, (CD-Rom), Palm Springs, CA, AIAA-2004-1855, 2004
  4. O. Song, I. Yoon and L. Librescu, Vibration Control of Composite Spacecraft Booms Exposed to Solar Radiant Heating, 45th AIAA/ASME/ASCE/AHS/ASC, (CD-Rom), Palm Springs, CA, AIAA-2004-1974, 2004
  5. D. Hasanyan, L. Librescu and D. Ambur, Vibration of Nonlinear Magneto-Thermo-Elastic Laminated Composite Plates, 45th AIAA/ASME/ASCE/AHS/ASC, (CD-Rom), AIAA-2004-1617, Palm Springs, CA, 2004
  6. Z. Qin, L. Librescu and D. Ambur, Magneto-Elastodynamic Effects on Stress Displacement Distributions of Cracked Electrodonductive Plates, 45th AIAA/ASME/ASCE/AHS/ASC, (CD-Rom), Palm Springs, CA, AIAA-2004-1623, 2004
  7. S. Na, L. Librescu, P. Marzocca and C. Chung, Aeroelastic Response of Flapped Wing System Using Robust Control Methodology, 45th AIAA/ASME/ASCE/AHS/ASC, (CD-Rom), Palm Springs, CA, AIAA-2004 1673, 2004
  8. P. Yu, Y. Yuan, L. Librescu and P. Marzocca, Single/Double Hopf Bifurcation and Aeroelastic Instability of a 2-D Supersonic Lifting Surface with Time Delayed Feedback Control, 45th AIAA/ASME/ASCE/AHS/ASC, (CD-Rom), Palm Springs, CA, AIAA-2004-1752, 2004
  9. D. Kim, I. Lee, P. Marzocca and L. Librescu, Linear/Nonlinear Aeroelastic Computation of 2-D Lifting Surfaces Using a Combined CFD/Analytical Approach, 45th AIAA/ASCE/ASCE/AHS/ASC, (CD-Rom), Palm Springs, CA, AIAA-2004-1752, 2004
  10. S-Y. Oh, L. Librescu and O. Song, Thin-Walled Rotating Blades Made of Functionally Graded Materials: Thermoelastic Modeling and Vibration Analysis, of the 5th International Congress on Thermal Stresses and Related Topics, Blacksburg, VA, (Eds. Librescu, L. and Marzocca, P.), Vol. 1, MA-2-5-(1-4), June 8-11, 2003
  11. D. Hasanyan, L. Librescu and D. Ambur, Nonlinear Vibration of Finitely Electroconductive Plate-Strips in a Magnetic Field, 44th AIAA/ASME/ASCE/AHS Structures, Structural Dynamics, and Materials Conference, 11th AIAA/ASME/AHS Adaptive Structures Conference, 5th AIAA Non-Deterministic Approaches Forum, 4th AIAA Gossamer Spacecraft Forum, Norfolk, VA, AIAA-2003-1712, 2003
  12. L. Librescu, S. S. Na, P. Marzocca, C. Chung and M. Kwak, Active Aeroelastic Control of 2-D Wing-Flap Systems in an Incompressible Flow Field, 44th AIAA/ASME/ASCE/AHS Structures, Structural Dynamics, and Materials Conference, 11th AIAA/ASME/AHS Adaptive Structures Conference, 5th AIAA Non-Deterministic Approaches Forum, 4th AIAA Fossamer Space Forum, (CD-Rom), Norfolk, VA, AIAA-2003-1414, 2003
  13. P. Marzocca and L. Librescu, Nonlinear Time Delayed Feedback Control of Aeroelastic Systems: A Functional Approach, 44th AIAA/ASME/ASCE/AHS Structures, Structural Dynamics, and Materials Conference, 11th AIAA/ASME/AHS Adaptive Structures Conference, 5th AIAA Non-Deterministic Approaches Forum, 4th AIAA Gossamer Spacecraft Forum, (CD-Rom), Norfolk, VA, AIAA-2003-1867, 2003
  14. T. Hause and L. Librescu, Thermoelastic Response of Doubly-Curved Sandwich Panels Under a Temperature Gradient, Transverse Load and Edge Compression/Tension, Proceedings of the 5th International Congress on Thermal Stresses and Related Topics, Blacksburg, VA, (Eds., Librescu, L. and Marzocca, P.), Vol. 2, WM1-2(1-4), June 8-11, 2003
  15. Y. Yuan, P. Yu, L. Librescu and P. Marzocca, Analysis of a 2-D Supersonic Lifting Surface with Time Delay Feedback Control, 44th AIAA/ASME/ASCE/AHS Structures, Structural Dynamics, and Materials Conference, 11th AIAA/ASME/AHS Adaptive Structures Conference, 5th AIAA Non-Deterministic Approaches Forum, 4th AIAA Gossamer Spacecraft Forum, (CD-Rom), Norfolk, VA, AIAA-2003-1733, 2003
  16. O. Song, I. Yoon and L. Librescu, Thermally Induced Vibration Control of Composite Spacecraft Booms via Piezoelectric Strain Actuation, Proceedings of the 5th International Congress on Thermal Stresses and Related Topics, Blacksburg, VA, (Eds. Librescu, L. and Marzocca, P.), Vol. 1, MM-4-3-(1-4), June 8-11, 2003
  17. J. Hohe and L. Librescu, A Higher-Order Geometrically Nonlinear Sandwich Shell Theory Accounting for Transverse Compressibility of the Core, Proceedings of the Sixth International Conference on Sandwich Structures, (Eds.: Vinson, J. R. Rajapakse, Y. D.S. and Carlsson, L. A.), Ft. Lauderdale, FL, pp. 796-805, March 31 - April 2, 2003
  18. Z. Qin, L. Librescu, D. Hasanyan and D. Ambur, Circular Cylindrical Shells Immersed in a Magnetic Field: Modeling and Dynamic Behavior, 44th AIAA/ASME/ASCE/AHS Structures, Structural Dynamics, and Materials Conference, 11th AIAA/ASME/AHS Adaptive Structures Conference, 5th AIAA Non-Deterministic Approaches Forum, 4th AIAA Gossamer Spacecraft Forum, (CD Rom), Norfolk, VA, AIAA-2003-1690, 2003
  19. N. Chandramani, C. Shete and L. Librescu, Optimal Control of Pretwisted Shearable Smart Composite Rotor Blades, 44th AIAA/ASME/ASCE/AHS Structures, Structural Dynamics, and Materials Conference, 11th AIAA/ASME/AHS Adaptive Structures Conference, 5th AIAA Non-Deterministic Approaches Forum, 4th AIAA Gossamer Spacecraft Forum, (CD-Rom), Norfolk, VA, AIAA-2003-1540, 2003
  20. S. Oh, L. Librescu and O. Song, Thin-Walled Rotating Blades Made of Functionally Graded Materials: Modeling and Vibration Analysis, 44th AIAA/ASME/ASCE/AHS Structures, Structural Dynamics, and Materials Conference, 11th AIAA/ASME/AHS Adaptive Structures Conference, 5th AIAA Non-Deterministic Approaches Forum, 4th AIAA Gossamer Spacecraft Forum, (CD-Rom), Norfolk, VA, AIAA-2003-1541, 2003
  21. P. Chelu and L. Librescu, Wavelet Technique Applied to Dynamic Response of Thin-Walled Composite Booms Exposed to Solar Radiation, Part I: Theoretical Formulation, Part II: Solution Methodology, Proceedings of the 5th International Congress on Thermal Stresses and Related Topics, Blacksburg, VA, (Eds. Librescu, L. and Marzocca, P.), Vol. 2, WA-6-4-(1-4), June 8-11, 2003
  22. S. Na, L. Librescu and H. Jung, Vibration Control of Rotating Composite Thin-Walled Beams in a Temperature Environment, Proceedings of the 5th International Congress on Thermal Stresses and Related Topics, Blacksburg, VA, (Eds., Librescu, L. and Marzocca, P.), Vol. 2, WA-6-4-(1-4), June 8-11, 2003
  23. L. Librescu, P. Marzocca and W. A. Silva, Linear/Nonlinear Aeroelastic Behavior of Thermally Damaged Flat Panels in a Supersonic Flow Field, Proceedings of the 5th International Congress on Thermal Stresses and Related Topics, Blacksburg, VA, (Eds. Librescu, L. and Marzocca, P.), Vol. 2, WA-2-1-(1-4), June 8-11, 2003
  24. L. Librescu, D. Hasanyan and Z. Qin, Nonlinear Magneto-Thermo- Elasticity of Laminated Composite Plates Immersed in a Magnetic Field, Proceedings of the 5th International Congress on Thermal Stresses and Related Topics,” Blacksburg, VA, (Eds., Librescu, L. and Marzocca, P.), Vol. 2, WA-4-(1-4), June 8-11, 2003
  25. Z. Qin, L. Librescu, D. Hasanyan and D. Ambur, Electroconductive Composite Circular Cylindrical Shells Subjected to Magnetoelastic and Thermomechanical Loadings: Nonlinear Response and Stability, Proceedings of the 5th International Congress on Thermal Stresses and Related Topics,” Blacksburg, VA, (Eds., Librescu, L. and Marzocca, P.), Vol. 1, MA-3-2(1-4), June 8-11, 2003
  26. L. Librescu, S-Y Oh, and J. Hohe, Dynamic Response of Anisotropic Sandwich Panels to Explosive Blast Loading, 18th Annual Technical Conference, American Society for Composites University of Florida, Gainesville, FL, Paper 123, October 19-22, 2003
  27. T. Hause and L. Librescu, Thermoelastic Response of Doubly-Curved Sandwich Panels Under a Temperature Gradient, Transverse Load and Edge Compression/Tension, Proceedings of the 5th International Congress on Thermal Stresses and Related Topics, Blacksburg, VA, (Eds. Librescu, L. and Marzocca, P.), Vol. 1, MM-4-3-(1-4), June 8-11, 2003

Reports:

  1. L. Librescu, S-Y. Oh and J. Hohe, Dynamic Response of Submerged Sandwich Flat Panels to an Explosive Blade: Implications of Transverse Compressibility of the Core, Y. D. S. Rajapakse, Marine Composite and Sandwich Structures, ONR-Review, (Ed. Y. D. S. Rajapakse), University of Maryland, March 24-26, 2004


Courses taught:
ESM 3154, Solid Mechanics, Spring 2007.
ESM 5074, Mech Lam Comp Str, Spring 2007.
ESM 5994, Research and Thesis, Spring 2007.
ESM 7994, Research and Dissertation, Spring 2007.
ESM 6044, Theory of Plates and Shells, Fall 2006.
ESM 6044, Theory of Plates and Shells, Fall 2005.
ESM 2304, Dynamics, Spring 2005.
ESM 5074, Mech Lam Comp Str, Spring 2005.
ESM 6044, Theory of Plates and Shells, Fall 2004.
ESM 2304, Dynamics, Spring 2004.
ESM 6044, Theory of Plates and Shells, Fall 2003.

Wednesday, April 11, 2007

Installing Rails on Windows (step-by-step tutorial)

I just found this superb 10 min tutorial on Installing Ruby on Gates.
In order to have a fully working development environment, you can use your PC. You will need to install:

  1. Ruby - the language
  2. Ruby Gems - the plug-in manager for Ruby
  3. Scite or FreeRIDE - IDE for Ruby
  4. or RADRAILS from Aptana - IDE for Rails
  5. MySQL - the database
  6. MySQL query builder / MySQL admin tools - GUI to create databases, add users and create tables
  7. Rails Framework
Find Out More

Monday, April 09, 2007

Debian GNU/Linux 4.0 released

The Debian Project is pleased to announce the official release of Debian GNU/Linux version 4.0, codenamed etch, after 21 months of constant development. Debian GNU/Linux is a free operating system which supports a total of eleven processor architectures and includes the KDE, GNOME and Xfce desktop environments. It also features cryptographic software and compatibility with the FHS v2.3 and software developed for version 3.1 of the LSB.

Using a now fully integrated installation process, Debian GNU/Linux 4.0 comes with out-of-the-box support for encrypted partitions. This release introduces a newly developed graphical frontend to the installation system supporting scripts using composed characters and complex languages; the installation system for Debian GNU/Linux has now been translated to 58 languages.

Also beginning with Debian GNU/Linux 4.0, the package management system has been improved regarding security and efficiency. Secure APT allows the verification of the integrity of packages downloaded from a mirror. Updated package indices won't be downloaded in their entirety, but instead patched with smaller files containing only differences from earlier versions.

Debian GNU/Linux runs on computers ranging from palmtops and handheld systems to supercomputers, and on nearly everything in between. A total of eleven architectures are supported including: Sun SPARC (sparc), HP Alpha (alpha), Motorola/IBM PowerPC (powerpc), Intel IA-32 (i386) and IA-64 (ia64), HP PA-RISC (hppa), MIPS (mips, mipsel), ARM (arm), IBM S/390 (s390) and – newly introduced with Debian GNU/Linux 4.0 – AMD64 and Intel EM64T (amd64).

Debian GNU/Linux can be installed from various installation media such as DVDs, CDs, USB sticks and floppies, or from the network. GNOME is the default desktop environment and is contained on the first CD. The K Desktop Environment (KDE) and the Xfce desktop can be installed through two new alternative CD images. Also newly available with Debian GNU/Linux 4.0 are multi-arch CDs and DVDs supporting installation of multiple architectures from a single disc.

Debian GNU/Linux can be downloaded right now via bittorrent (the recommended way), jigdo or HTTP; It will soon be available on DVD and CD-ROM from numerous vendors, too.

This release includes a number of updated software packages, such as the K Desktop Environment 3.5.5a (KDE), an updated version of the GNOME desktop environment 2.14, the Xfce 4.4 desktop environment, the GNUstep desktop 5.2, X.Org 7.1, OpenOffice.org 2.0.4a, GIMP 2.2.13, Iceweasel (an unbranded version of Mozilla Firefox 2.0.0.3), Icedove (an unbranded version of Mozilla Thunderbird 1.5), Iceape (an unbranded version of Mozilla Seamonkey 1.0.8), PostgreSQL 8.1.8, MySQL 5.0.32, GNU Compiler Collection 4.1.1, Linux kernel version 2.6.18, Apache 2.2.3, Samba 3.0.24, Python 2.4.4 and 2.5, Perl 5.8.8, PHP 4.4.4 and 5.2.0, Asterisk 1.2.13, and more than 18,000 other ready to use software packages.

Americans are NOT stupid

All MUST see this :)



Wednesday, April 04, 2007

Gutter Tactics of Amnesty International (AI) Condemned - SPUR

It is indeed a woeful situation to see an organization, which claims itself to be protecting human rights has been engaged in an unethical, low quality mode of operations against a democratic nation. Reports from the Caribbean Islands indicate that the Amnesty international has been engaged in cheap propaganda campaign against the SL people and their cricket team to tarnish their good image and thereby to lower the performance of the SL cricketers.

It is a well-known fact that all Sri Lankan's irrespective of their racial or any other differences always support the SL cricket team. Sports have always helped Sri Lankan's as well as all South Asian people to bridge differences and to unite as one nation.

Perhaps it is the same reason why the AI has chosen to attack the SL cricket team. Perhaps, the AI might be thinking that the blood of the Sri Lankan's is cheap so that they do not have a right to fight against terrorism. Perhaps it wants to ensure that the third world remains where it is forever.... The Society for Peace, Unity and Human Rights for Sri Lanka, a leading organization of SL expatriates has condemned this irrelevant and unethical act of the AI in a letter sent to its officials.

Following is the full text of the letter addressed to the Chair Person of the AI, by the SPUR officials.


The Chair of the Board of Management

Amnesty International Australia

Locked Bag 23

BROADWAY NSW 2007

2 April 2007

Dear Sir/Madam,

Gutter Tactics of Amnesty International (AI) Condemned

AFP has reported today that AI is conducting a campaign during the Cricket World Cup in the Caribbean to collect signatures supporting the establishment of a human rights monitoring committee in Sri Lanka. The authenticity of this report has been verified after checking with Sri Lankan fans attending games played by Sri Lanka in the Caribbean including the match played yesterday against the West Indies. Patrons at these matches have been asked to sign fluffy cricket balls supporting AI's request establish an international human rights commission in Sri Lanka.

SPUR unreservedly condemn this unethical, underhand action by Amnesty International and request that you inform your counterparts in the Caribbean as well as the Head Office in London to desist from progressing with this modus operandi. Signatures obtained using this kind of tactic would have little effect in strengthening your flawed case as well as possibly create a sense of hostility towards the Sri Lankan Sinhalese, Tamil and Muslim cricketers who are proudly representing their Nation at the highest level in sport.

Furthermore, we will hold AI responsible if any abuse or pressure is brought upon any members or support staff of the cricket team by the public in the Caribbean due to your callous action. Your action has the capacity to undermine the Sri Lankan team's morale (and hence performance) as in justifying your actions, you are sullying Sri Lanka's excellent record in protecting democracy for close to 60 years since gaining independence from Britain.

For your record, we would like to remind you that the Tamil Tiger Terrorists brutally assassinated 6 Sinhalese labourers building an orphanage for children affected by the Tsunami in Eastern Sri Lanka. These poor workers only crime was to be Sinhalese helping Tamils affected by the tsunami find shelter. Furthermore, the LTTE has bombed a passenger bus in Batticaloa killing 15 civilians (including 3 children) and injuring more than 25 people. We will be watching with interest, what steps you take nationally and internationally to condemn this beastly act of the Tamil Tiger terrorists.

It is time that AI plays with a straight bat and takes a considered stance against Tamil Tiger terrorist's violation of human rights.

Inaction will only confirm AI's bias in favour of terrorists. Don't give us the bunkum that your charter is limited to keeping democratically elected governments honest.

Trust you will put your money where your mouth is and immediately take necessary steps to stop violating the fundamental rights of Sri Lankan cricketers and their supporters enjoying a peaceful game of cricket.


Thanking you,

Yours sincerely,

Dr Dasarath Jayasuriya

President

Monday, April 02, 2007

World's Strongest Dad, A Tribute to Rick & Dick Hoyt

Dick and Rick Hoyt are a father-and-son team from Massachusetts who together compete just about continuously in marathon races. And if they’re not in a marathon they are in a triathlon — that daunting, almost superhuman, combination of 26.2 miles of running, 112 miles of bicycling, and 2.4 miles of swimming. Together they have climbed mountains, and once trekked 3,735 miles across America.


It’s a remarkable record of exertion — all the more so when you consider that Rick can't walk or talk.








http://www.teamhoyt.com

Wednesday, March 28, 2007

Richard M Stallman visiting Sri Lanka

Further to an invitation by the ICTA, Richard Stallman has confirmed that he will be visiting Sri Lanka in January 2008.

Exact dates are yet to be finalized, but it will most probably be in the 2nd week of Jan. ICTA expect him to stay 2-3 days and may be a bit longer if he wants to travel around Sri Lanka. We the FOSS community is planning to organize some FOSS events around his visit.

January 2008 is still a long time a way, but it gives us plenty of time to plan a decent agenda and organize some really good events.

ICTA will officially host him, and take care of his travel logistics and expenses.

Monday, March 26, 2007

MPlayer - The Movie Player (http://www.mplayerhq.hu)

I have listed the MPlayer's most useful Keyboard Control keys for its users quick references.

General control

<- and ->
Seek backward/forward 10 seconds.

up and down
Seek backward/forward 1 minute.

pgup and pgdown
Seek backward/forward 10 minutes.

[ and ]
Decreases/increases current playback speed by 10%.

{ and }
Halves/doubles current playback speed.

Backspace
Reset playback speed to normal.

<>
backward/forward in playlist

HOME and END
next/previous playtree entry in the parent list

INS and DEL
next/previous alternative source (ASX playlist only)

p / SPACE
Pause movie (pressing again unpauses).

.
Step forward. Pressing once will pause movie, every consecutive press will play one frame and then go into pause mode again (any other key unpauses).

q / ESC
Stop playing and quit.

+ and -
Adjust audio delay by +/- 0.1 seconds.

/ and *
Decrease/increase volume.

9 and 0
Decrease/increase volume.

M
Mute sound.

F
Toggle fullscreen (also see -fs).

T
Toggle stay-on-top (also see -ontop).

w and e
Decrease/increase pan-and-scan range.

o
Toggle OSD states: none / seek / seek + timer / seek + timer + total time.

d
Toggle frame dropping states: none / skip display / skip decoding (see -framedrop and -hardframedrop).

v
Toggle subtitle visibility.

b / j
Cycle through the available subtitles.

F
Toggle displaying "forced subtitles".

a
Toggle subtitle aligment: top/middle/bottom.

z and x
Adjust subtitle delay by +/- 0.1 seconds.

r and t
Move subtitles up/down.

i
Set EDL mark.

(The following keys are valid only when using a hardware accelerated video output (xv, (x)vidix, (x)mga, etc), or the software equalizer filter (-vf eq or -vf eq2).

1 and 2 Adjust contrast.

3 and 4 Adjust brightness.

5 and 6 Adjust hue.

7 and 8 Adjust saturation


Following is the default input.conf file which is MPlayer input control file to redefine default keyboard/joystick/mouse/LIRC bindings, or to add new ones according to users choice. Free as in free choice :)

This file should be placed in the $HOME/.mplayer directory.

RIGHT seek +10
LEFT seek -10
DOWN seek -60
UP seek +60
PGUP seek 600
PGDWN seek -600
- audio_delay 0.100
+ audio_delay -0.100
q quit
ESC quit
ENTER pt_step 1 1
p pause
SPACE pause
HOME pt_up_step 1
END pt_up_step -1
> pt_step 1
<>

Friday, March 23, 2007

Top ten things of professional software development has taught me

1) Object orientation is much harder than you think
Maybe it's just me, but coming from Computer Science class I thought that OO was easy. I mean, how hard can it be to create classes that mimic the real world? It turns out that it's pretty hard. Seven years later, I'm still learning how to model properly. I wish I spent more time reading up on OO and design patterns. Good modeling skills are worth a lot to every development team.

2) The difficult part of software development is communication
And that's communication with persons, not socket programming. Now and then you do run into a tricky technical problem, but it's not at all that common. Much more common is misunderstandings between you and the project manager, between you and the customer and finally between you and the other developers. Work on your soft skills.

3) Learn to say no
When I started working, I was very eager to please. This meant that I had a hard time saying no to things people asked of me. I worked a lot of overtime, and still didn't finish everything that was asked of me. The result was disappointment from their side, and almost burning out on my part. If you never say no, your yes is worth very little. Commit to what you can handle, and if people keep asking you for more, make it very explicit that this would mean not doing something else. What I did was to have a list of stuff that I needed to do on a piece of paper with me. When someone asked for something, I showed them the list and asked what I should bump to have time to help them. This allowed me to say no in a nice way.

4) If everything is equally important, then nothing is important
The business likes to say that all the features are as crucial. They are not. Push back and make them commit. It's easier if you don't force them to pick what to do and what not to do. Instead, let them choose what you should do this week. This will let you produce the stuff that brings value first. If all else goes haywire, at least you've done that.

5) Don't over-think a problem
I can spend whole days designing things in front of the white board. That doesn't mean it will be any better, it just means it will be more complicated. I don't mean to say you shouldn't design at all, just that the implementation will quickly show me stuff I didn't think of anyway, so why try to make it perfect? Like Dave Farell says: "The devil is in the details, but exorcism is in implementation, not theory."

6) Dive really deep into something, but don't get hung up
Chris and I spent a lot of time getting into the real deep parts of SQL Server. It was great fun and I learned a lot from it, but after some time I realized that knowing that much didn't really help me solve the business' problems. An example: I know that at the table level, SQL Server will not take an IU lock - it will only take a IX lock. This is a performance tweak, since most of the time, the IU lock will have to be escalated into a IX lock anyway. To find this, I spent countless days experimenting, I read loads of material and talked to Microsoft people at conferences. Have I ever had any use of this knowledge. Nope.

7) Learn about the other parts of the software development machine
It's really important to be a great developer. But to be a great part of the system that produces software, you need to understand what the rest of the system does. How do the QA people work? What does the project manager do? What drives the business analyst? This knowledge will help you connect with the rest of the people, and will grease interactions with them. Ask the people around you for help in learning more. What books are good? Most people will be flattered that you care, and willingly help you out. A little time on this goes a really long way.

8) Your colleagues are your best teachers
A year after I started on my first job, we merged with another company. Suddenly I had a lot of much more talented and experienced people around me. I remember distinctly how this made me feel inferior and stupid. I studied hard, reading book after book but I still didn't catch up. They had too much of an advantage on me, I figured.
Nowadays, working with great people doesn't make me feel bad at all. I just feel I have the chance of a lifetime to learn. I ask questions and I try really hard to understand how my colleagues come to the conclusions they do. This is why I joined ThoughtWorks. See your peers as an asset, not competition.

9) It all comes down to working software
No matter how cool your algorithms are, no matter how brilliant your database schema is, no matter how fabulous your whatever is, if it doesn't scratch the clients' itch, it's not worth anything. Focus on delivering working software, and at the same time prepare to continue delivering software using that code base and you're on the right path.

10) Some people are assholes
Most of the time, most of the people around you are great. You learn from them, and they learn from you. Accomplishing something together is a good feeling. Unfortunately, you will probably run into the exceptions. People that because of something or other are plain old mean. Demeaning bosses. Lying colleagues. Stupid, ignorant customers. Don't take this too hard. Try to work around them and do what you can to minimize the pain and effort they cause, but don't blame yourself. As long as you stay honest and do your best, you've done your part.

Wednesday, March 21, 2007

Web Services Made Easy with Ruby

It's easy to develop Web services using Ruby. This article looks at how to develop a Web service client to access the Web services that are hosted in the Internet and how to develop a Web service with simple steps using Ruby.

An Overview
Ruby is the interpreted scripting language invented by Yukihiro Matsumoto for quick and easy object-oriented programming and is more popular in Japan than in other countries. Ruby's open-source nature makes it free for anyone to use. All data structures in Ruby are objects, but you can add methods to a class or instance of a class during runtime. Because of this, any instance class can behave differently from other instances of the same class. Ruby's dynamic typing nature doesn't require explicit declaration of variable types. It features a true mark-and-sweep garbage collector that cleans all Ruby objects without needing to maintain a reference count. (See www.ruby-lang.org for the complete features of Ruby.) The following libraries are developed with Ruby:
# Ruby/DBI: To access different databases
# Ruby/LDAP: To search and operate on entries in the LDAP
# XSLT4R: For XSL transformation
# XMLRPC4R: For writing and accessing Web services
# SOAP4R: For writing and accessing Web services

SOAP Programming Using Ruby
SOAP4R is the implementation of Simple Object Access Protocol for Ruby developed by Hiroshi Nakamura. SOAP4R depends on the XML processor, http-access, logging, and date-time packages. (To install SOAP4R and its dependencies refer to its home page at www.jin.gr.jp/~nahi/Ruby/SOAP4R.)

Develop SOAP4R clients
The SOAP::Driver class provides support for writing SOAP client applications using Ruby. I'll explain how to use this class in order to develop the SOAP client. To invoke a SOAP Service the client should know the URL of the SOAP Service, namespace of the service methods, and the names of the service methods and their parameters. With this information let's develop a SOAP client in Ruby.

I've chosen a "SendEmail" Web service that is listed in Xmethods' Web services list. The client we're developing invokes a service named SendEmail to send an e-mail message to any mail address (see Listing 1).

In the first line I load the feature "soap/ driver", which implements the SOAP::Driver class. Then I define four constants like NAMESPACE, URL, SOAPACTION, and HTTP_ PROXY, which are required to create an instance of SOAP::Driver class by calling its new method.

driver = SOAP::Driver.new(log, logId, namespace ,
endpoint, httpProxy, soapAction )
Where
namespace = namespace to use for RPC calls
endpoint = URL of the SOAP service
httpproxy = to specify the proxy server,
instead of direct connection to SOAP server
soapaction = value for SOAPAction field of the SOAP Header

After creating an instance of the driver class, call the addMethod method passing the name of the SOAP service method and its parameters' names. SOAP method parameters are often not taken into account on the SOAP server side but it is important to know the order of the parameters that were passed to the service.

The SOAP::Driver class has two methods to add service methods:

SOAP::Driver.addMethod(name, *paramArg)
SOAP::Driver.addMethodWithSOAPAction(name, soapaction, *paramArg)
Where name = the name of the remote procedure
soapaction = soap action header to be used instead
of the default one specified on SOAPDrivers newmethod
paramArg = to specify the names and modes of the remote
procedures parameters. The parameter modes are input parameter,
output parameter or in out parameter.

After adding the service method to the Driver class, invoke it by passing the parameters with values.

SOAPDriver::ServiceMethod( *paramvaluesArg)

Where ServiceMethod is the name of the remote procedure, that was added using addMethod API.

The Web services client is now ready for testing. Test the client using the following command:

ruby SendEmail.rb

Just three steps are needed to develop a Web services client using SOAP4R.

Develop SOAP4R Services
SOAP4R supports the following servers:
# CGI/Fast CGI-based servers (SOAP::CGI Stub)
# Stand-alone server (SOAP::Standalone Server)

Now let's look at how to develop services using the stand-alone server. I'll develop a temperature conversion service that converts the temperature from Celsius to Fahrenheit (see Listing 2).

Develop a class called Temperature_ Conversion_Server and inherit from SOAP:: StandaloneServer, which inherits from SOAP:Server.

class Temperature_Conversion_Server
< SOAP::StandaloneServer
# declare methods
# define methods
end

Declare your service methods by overriding the methodDef method in the StandaloneServer. For example, convert_to_ Fahrenheit, which takes degrees as input parameters:

def methodDef addMethod(self,
'convert_to_Fahrenheit', 'degrees' )
end

The methodDef method is implicitly called from SOAP::Server's initialize method, which exposes one of the following two ser-vice methods.

Class Server < Devel::Application
def addMethod( receiver, methodName, *paramArg )
end

def addMethodWithNS( namespace, receiver, methodName, *paramArg )
end
end
Where
Receiver = the object which contains the methodName method.
Use "self" if the service method is in the same class
methodName = the name of the method that is called through an RPC request
paramArg = to specify the parameter names and parameter modes
namespace = in order to specify the namespace for the method.
Use this if you want different namespace for each method.

After you declare the service method, define it as:

def convert_to_Fahrenheit( degrees )
temp = (9*degrees + 160)/5
return temp
end

The StandaloneServer constructor looks like:

class StandaloneServer < Server
def initialize( appName, namespace, host = "127.0.0.1", port = 8080 )
end
appName - to specify the applications log Id paramters
namespace - Namespace parameters apply to default namespace
for all the service methods.app host to specify the server
host by default it is local host i.e "127.0.0.1",
port to specify the port number for the server ,
by default it is 8080.

Create an instance of the StandaloneServer class and start the server:

myServer = Temperature_Conversion_Server.new('ConversionServer',
'urn:ruby:conversionservice', 'localhost', 8080)
myServer.start

The temperature conversion service is now ready for testing. Start the server using the following command:

ruby ConversionServer.rb

Develop a Web service client application to test the Temperature conversion service (see Listing 3) and test the service using the command:

ruby ConversionClient.rb

In order to monitor the Web service traffic (i.e, SOAP Request and SOAP Response), run the monitor application, which is included with the XML-RPC samples.

Conclusion
It's easy to develop Web services with Ruby. SOAP4R supports logging for the client side and server side as well and supports the user-defined data types. SOAP4R provides the ability to customize the mapping between the Ruby and the SOAP Types. It has good support for SOAP Parameters like IN, OUT, INOUT, and return, and supports WSDL as well. Refer to the samples that come with SOAP4R for more information.

References
# Ruby: www.ruby-lang.org/en/
# SOAP4R: www.jin.gr.jp/~nahi/Ruby/SOAP4R

The Philosophy of Ruby

Summary

Yukihiro Matsumoto, the creator of the Ruby programming language, talks with Bill Venners about Ruby's design philosophy, including design imperfection, the danger of orthogonality, and the importance of the human in computer endeavors.

Yukihiro Matsumoto, or "Matz," as he is known online, is the creator of the Ruby programming language. Ruby is an object-oriented language suitable for writing day to day scripts as well as full-scale applications. Matz began work on Ruby back in 1993, because he wanted a language that made him productive while being fun to use. Initially popular in Japan, Ruby has been finding its way into the hearts of programmers all over the world.

On September 24, 2003, Bill Venners met with Yukihiro Matsumoto at the JAOO conference in Aarhus, Denmark. In this interview, which will be published in multiple installments on Artima.com, Yukihiro Matsumoto discusses Ruby's design philosopy, the features of the Ruby language, and becoming a better programmer. In this initial installment, Matz waxes philosophic about design imperfection, the danger of orthogonality, granting freedom with guidance, the principle of least surprise, and the importance of the human in computer endeavors.

No Perfect Language

Bill Venners: Dave Thomas, coauthor of Programming Ruby: A Pragmatic Programmer's Guide, told me that you don't think a language design should be perfect. Why not?

Yukihiro Matsumoto: Language designers want to design the perfect language. They want to be able to say, "My language is perfect. It can do everything." But it's just plain impossible to design a perfect language, because there are two ways to look at a language. One way is by looking at what can be done with that language. The other is by looking at how we feel using that language—how we feel while programming.

Because of the Turing completeness theory, everything one Turing-complete language can do can theoretically be done by another Turing-complete language, but at a different cost. You can do everything in assembler, but no one wants to program in assembler anymore. From the viewpoint of what you can do, therefore, languages do differ—but the differences are limited. For example, Python and Ruby provide almost the same power to the programmer.

Instead of emphasizing the what, I want to emphasize the how part: how we feel while programming. That's Ruby's main difference from other language designs. I emphasize the feeling, in particular, how I feel using Ruby. I didn't work hard to make Ruby perfect for everyone, because you feel differently from me. No language can be perfect for everyone. I tried to make Ruby perfect for me, but maybe it's not perfect for you. The perfect language for Guido van Rossum is probably Python.

Orthogonal versus Harmonious

Bill Venners: Dave Thomas also claimed that if I ask you to add a feature that is orthogonal, you won't do it. What you want is something that's harmonious. What does that mean?

Yukihiro Matsumoto: I believe consistency and orthogonality are tools of design, not the primary goal in design.

Bill Venners: What does orthogonality mean in this context?

Yukihiro Matsumoto: An example of orthogonality is allowing any combination of small features or syntax. For example, C++ supports both default parameter values for functions and overloading of function names based on parameters. Both are good features to have in a language, but because they are orthogonal, you can apply both at the same time. The compiler knows how to apply both at the same time. If it's ambiguous, the compiler will flag an error. But if I look at the code, I need to apply the rule with my brain too. I need to guess how the compiler works. If I'm right, and I'm smart enough, it's no problem. But if I'm not smart enough, and I'm really not, it causes confusion. The result will be unexpected for an ordinary person. This is an example of how orthogonality is bad.

Bill Venners: In other words, the orthogonal features will work once the compiler writer understands them and gets them to work. But it is hard for programmers to understand it when they look at it, because it is complicated, because I have to figure out how these two things go together.

Yukihiro Matsumoto: The orthogonal features, when combined, can explode into complexity.

Bill Venners: So what's the alternative? What would be more harmonious?

Yukihiro Matsumoto: Just pick up one of those two to put into the language. You don't have to do everything that you can think of. You need to pick one of them, even though both are good.

Freedom and Comfort

Bill Venners: One of the design philosophies in the Python community is providing one and only one way to do things. If you provide fifty different ways to do the same thing, then you've provided convenience for code writers. People can write things in their favorite way. The tradeoff is for code readers. When I read your code, you might have written it one way. When I read the next person's code, they may have written it another way. So as a reader I end up needing to be familiar with all ways to accomplish the task, not just my favorite way of writing it. That's the design tradeoff. The Python community seems to prefer the one and only one way approach, but Ruby seems to provide multiple ways to do the same thing.

Yukihiro Matsumoto: Ruby inherited the Perl philosophy of having more than one way to do the same thing. I inherited that philosophy from Larry Wall, who is my hero actually. I want to make Ruby users free. I want to give them the freedom to choose. People are different. People choose different criteria. But if there is a better way among many alternatives, I want to encourage that way by making it comfortable. So that's what I've tried to do. Maybe Python code is a bit more readable. Everyone can write the same style of Python code, so it can be easier to read, maybe. But the difference from one person to the next is so big, providing only one way is little help even if you're using Python, I think. I'd rather provide many ways if it's possible, but encourage or guide users to choose a better way if it's possible.

The Joy of Ruby

Bill Venners: In an introductory article on Ruby, you wrote, "For me the purpose of life is partly to have joy. Programmers often feel joy when they can concentrate on the creative side of programming, So Ruby is designed to make programmers happy." How can Ruby make programmers happy?

Yukihiro Matsumoto: You want to enjoy life, don't you? If you get your job done quickly and your job is fun, that's good isn't it? That's the purpose of life, partly. Your life is better.

I want to solve problems I meet in the daily life by using computers, so I need to write programs. By using Ruby, I want to concentrate the things I do, not the magical rules of the language, like starting with public void something something something to say, "print hello world." I just want to say, "print this!" I don't want all the surrounding magic keywords. I just want to concentrate on the task. That's the basic idea. So I have tried to make Ruby code concise and succinct.

Bill Venners: Allowing programmers to write code that's concise and succinct is one way to make them happy.

Yukihiro Matsumoto: Yes, so they can concentrate on the problem itself. Sometimes people jot down pseudo-code on paper. If that pseudo-code runs directly on their computers, it's best, isn't it? Ruby tries to be like that, like pseudo-code that runs. Python people say that too.

Bill Venners: Yes, Python people do say that Python is executable pseudo-code. What else is in Ruby to make programmers happy?

Yukihiro Matsumoto: In our daily lives as programmers, we process text strings a lot. So I tried to work hard on text processing, namely the string class and regular expressions. Regular expressions are built into the language and are very tuned up for use. We also need to call into the operating system a lot. Ruby can call every system call in Unix and most of the Windows API. This brings the power and function of the operating system to the interpretive language environment. So you can do daily systems administration and text processing programming. That's the major domain of at least my life, so I worked hard on making that good.

Bill Venners: So basically Ruby helps me enjoy my life by helping me get my job done more quickly and with more fun?

Yukihiro Matsumoto: It helps me do that. I'm not sure Ruby works for you, but I hope so.

The Human Factor

Bill Venners: In an interview, you said, "Don't underestimate the human factor. Even thought we are in front of computers, they are media. We are working for human, with human." What do you mean by that?

Yukihiro Matsumoto: Imagine you are writing an email. You are in front of the computer. You are operating the computer, clicking a mouse and typing on a keyboard, but the message will be sent to a human over the internet. So you are working before the computer, but with a human behind the computer. Most of the tasks we do are for humans. For example, a tax calculation is counting numbers so the government can pull money out from my wallet, but government consists of humans.

Most of our tasks are related to humans after all. So in programming, either we ask the computer to work for a human, or we describe our thoughts to a computer in a very unambiguous way that even computer can execute. In the first case, making the computer work for humans, the target is a human through the computer. In the second case, expressing our thoughts clearly enough to be understood and executed by computers, we express intent from our human brains and as a result it is performed by the computers. So in both cases the object here is human.

Bill Venners: What is important about thinking that way? You say, "Don't underestimate the human factor." Why?

Yukihiro Matsumoto: Because computers don't mind if I must make effort to communicate with them or if it is easy to communicate with them. They don't care if I put the numbers of instruction byte sequences in a file and feed it to them to run, or if a very high level language generated the instructions. The computers don't care. We humans care about the effort we pay. Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.

Bill Venners: For the time being anyway.

Yukihiro Matsumoto: For the time being anyway, until the age of Terminator.

Principle of Least Surprise

Bill Venners: In an interview, you said "I designed Ruby to minimize my surprise. I was very amazed when people around the world told me that Ruby reduced their surprise and enhanced their joy of programming. Now I'm pretty sure that programmer's minds are alike all over the world." Why the principle of least surprise?

Yukihiro Matsumoto: Actually, I didn't make the claim that Ruby follows the principle of least surprise. Someone felt the design of Ruby follows that philosophy, so they started saying that. I didn't bring that up, actually.

I wanted to minimize my frustration during programming, so I want to minimize my effort in programming. That was my primary goal in designing Ruby. I want to have fun in programming myself. After releasing Ruby and many people around the world got to know Ruby, they said they feel the way I feel. They came up with the phrase the principle of least surprise. But actually, it's often misunderstood.

Bill Venners: How is it misunderstood?

Yukihiro Matsumoto: Everyone has an individual background. Someone may come from Python, someone else may come from Perl, and they may be surprised by different aspects of the language. Then they come up to me and say, "I was surprised by this feature of the language, so therefore Ruby violates the principle of least surprise." Wait. Wait. The principle of least surprise is not for you only. The principle of least surprise means principle of least my surprise. And it means the principle of least surprise after you learn Ruby very well. For example, I was a C++ programmer before I started designing Ruby. I programmed in C++ exclusively for two or three years. And after two years of C++ programming, it still surprised me.

Tuesday, March 13, 2007

The death of computing science discipline

Neil McBride says computer science was populated by mathematicians and physicists but now virtual robots can be created by eight-year olds without needing programming, logic or discrete mathematics skills. Does that mean we have a dying discipline?

We all know there's a crisis in university computer science departments. Student numbers are dwindling - down 115 just last year.

At the same time the computing unit of funding has fallen. And the onset of fees has made students think twice about joining a profession where the plethora of new jobs in the 1990s has reduced to a trickle and it's only just looking as if employment prospects may be on the upturn.

Dropping numbers of A Level students, a view that IT is a job for geeks and social misfits and a perception that there’s nothing interesting in computer science doesn’t help. Even the value of the research base is being questioned.

And the problem's global. In the US, the number of students choosing computer science dropped by 39 per cent between 2000 and 2005. In Australia, cuts in IT academic staff are the order of the day.

In such dire circumstances, it's tempting to hanker after the glory days when computer science ruled, departments were full, and students flocked to a leading edge discipline where the ideas were fresh.

It's easy to be nostalgic about the days when the income from computer science subsidised other departments and computing was the Prince of the university not the Cinderella.

We long for the days when assembler programming ruled, when programming was exciting and leading edge, when distributed computers were being created and there were uncharted vistas of applications to be written, and single applications such as ledgers and transaction systems transformed businesses. But that is the past. Today the ship is holed below the waterline.

As the ship sinks, we computer scientists fiddle on the deck hoping to avoid the icy waters. We claim, as the President of the BCS has recently, that there is still a massive need for computing students in the UK today.

We look to games programming for our salvation, designing games programming courses and reducing a wide-ranging industrial discipline to a set of geeks programming computers to zap spacecraft and dismember aliens.

It's a sorry sight to see computing academics fighting for the last few lifeboats. But the heyday of massive liners, full of programmers, plying the commercial sea-lanes is over. There may be room for a few luxury liners, but most of us fly on budget airlines.

It's easy to think that the problem is that people (read potential students) just don't understand how exciting computing is and that this can be fixed by a bit of sharp marketing, slick videos and some school visits. But the students are not that gullible. The real nature of the problem lies at the roots of the discipline.

Something significant has changed. There is the smell of death in the air.

In the early days, computer science was populated by mathematicians and physicists excited at the prospect of vastly accelerated computation. New languages were developed. FORTRAN, Algol, COBOL, and PL/1 took root. The foundations of programming were laid.

There was excitement at making the computer do anything at all. Manipulating the code of information technology was the realm of experts: the complexities of hardware, the construction of compliers and the logic of programming were the basis of university degrees.

The power of hardware has increased, as IBM 370s in air-conditioned warehouses gave way to computers in the home and advanced robots become this year's Christmas toy.

However, the basics of programming have not changed. The elements of computing are the same as fifty years ago, however we dress then up as object-oriented computing or service-oriented architecture. What has changed is the need to know low-level programming or any programming at all. Who needs C when there's Ruby on Rails?

Now vastly complex applications for businesses, for science and for leisure can be developed using sophisticated high-level tools and components.

Virtual robots - Zooks - can be created by eight-year olds without needing programming, logic or discrete mathematics skills. Web designers build complex business sites, graphic designers build animations, accountants assemble business systems without needing to go object-oriented.

Computer science has lost its mystique. There is no longer a need for a vast army of computer scientists. The applications, games and databases that students once built laboriously in final year projects are bought at bookshops and newsagents.

If the gap between public knowledge and academic curriculum isn't large enough, the gap between academia and industry practice is a gaping hole. While academic departments concentrate on developing new computer systems in an ideal organisational environment, a lot of industry has moved away from in-house development to a focus on delivering a service.

As commercial software products have matured, it no longer makes sense for organisations to develop software from scratch.

Accounting packages, enterprise resource packages, customer relationship management systems are the order of the day: stable, well-proven and easily available. IT departments now focus on contracts, tenders, service level agreements, training, system usage and incident management.

Interrupts, loops, algorithms, formal methods are not on the agenda. IT is about deploying resources to meet the information needs of its customers.

Implementation, facility management, systems integration, service management, organisational change even environmental audit are the language of IT. These hardly feature on computer science courses.

The environment within which computing operates in the 21 century is dramatically different to that of the 60s, 70s, 80s and even early 90s. Computers are an accepted part of the furniture of life, ubiquitous and commoditised.

Like cars, a limited number of people are interested in their construction, more live by supporting and maintaining them; most of us accept them as a black box, whose workings are of no interest but which confer status, freedom and convenience.

Indeed, whereas building a new car needs mechanical know-how, building a new computer application can be done by the user who has no grounding in computer science.

Computing is also affected by globalisation. The loss of jobs in IT and the declining computer science enrolments is a global problem for developed countries. Since the software product can be transmitted almost instantaneously, why develop it in expensive facilities in the west?

Armies of highly trained computer scientists are available in India, Sri Lanka and China. The expertise is easily off-shored. In India, over 100,000 new IT graduates a year are ready to support an off-shored IT industry.

Companies like Microsoft, Hewlett-Packard and Siemens have well established software development operations in India. Why are we not co-operating more with the Indian IT industry?

So where does that leave computing departments in universities? Do we pull up the drawbridge of the castle of computational purity and adopt a siege mentality: a band of brothers fighting to the last man? Or do we recognise that the discipline is dying if not actually dead, and breathing shallowly.

The old man has run his race well. He has changed the nature of human existence. Do we let go gently, realising that the discipline has run its course? The actual problem is one of the perception of the proponents of our discipline, not the potential students.

The old generation needs to look to a new generation, to new approaches. The focus is moving away from system construction. The jobs are in the application of technology. There is a need to be closer to the application, closer to the user, to replace a reductionist, convergent discipline with a complex, divergent discipline.

The complexity of embedded systems, of modern computing applications requires a different way of thinking. A reductionist, programming mindset does not adapt well to uncertainty, emergent behaviour, the unexpected and the study of the whole.

Relationships are important. The new computing discipline will really be an inter-discipline, connecting with other spheres, working with diverse scientific and artistic departments to create new ideas. Its strength and value will be in its relationships.

There is a need for innovation, for creativity, for divergent thinking which pulls in ideas from many sources and connects them in different ways.

The new computing department will be the department of interdisciplinary studies, drawing ideas from biology, design, history, medicine and contributing a rich computing foundation to those disciplines. It will be looking outwards rather than inwards, concerned to address the vast landscapes of computing application.

So how many computer science departments will exist in 30 years time? Perhaps a few will support the elite luxury liners. Most will have given way to interdisciplinary study departments, and computing service departments, producing innovative graduates who can corral and manage the IT resources organisations need.

Computer science curricula are old, stale and increasing irrelevant. Curricula needs to be vocational, and divergent, widening the computing student's view of the world, not creating a sterile bubble, closed off from the wider issues in the world, and from the networking, the integration, the global reach of computers.

There is a need for a drastic rethinking of what the discipline is about. There is a need for new curricula which represents a real paradigm shift, not just a move from keyboards to pen computing.

Here at De Montfort I run an ICT degree, which does not assume that programming is an essential skill. The degree focuses on delivering IT services in organisations, on taking a holistic view of computing in organisations, and on holistic thinking.

Perhaps this represents an early move towards a new kind of computing discipline. As the roots rot and the tree falls a vast array of new saplings appear. Those saplings may be the start of a new inter-discipline: new computing for the 21st century.

Neil McBride is a principal lecturer in the School of Computing, De Montfort University.

Monday, March 12, 2007

Tribute to Major General Hamangoda - A noble death for a noble cause

A valiant officer's sudden loss is irreparable to his motherland and its natives, in the sense that the making of a fully-fledged soldier itself is not only a question of time, but also a process for embodiment of many other factors such as proper command, decision-making, valour, strategy, values, etc. to name a few.

The Army, in its lifespan of over 50 years while simultaneously transforming itself to be one of the most challenging and battle-hardened professional outfits, deviating from its former ceremonial role, hitherto perhaps remains the only organ that has so far produced the finest assortment of military leaders for the country, fondly remembered by right-thinking countrymen in all corners of our country. They certainly laid down their lives for others, and to make our tomorrow better.

Ten years seems such a long time, and yet the memories of our protagonist, Major General Ananda Sri Sisira Kumara Hamangoda USP Msc Psc, popularly called, 'Ananda' is vivid among many of his associates and fellow military men who used to admire him as a source of strength and inspiration.

Major General Hamangoda's sudden demise on July 4, 1996 following an LTTE suicide attack with several other soldiers in the heart of Jaffna was a great loss not only to his Sri Lanka Artillery Regiment, his wife and children, but also to his motherland, for whose territorial integrity he fought along with his troops. For all his companions, he was that so-called 'jolly good fellow' who was sober and exceptionally decent.

My close association with General Hamangoda, though he was senior to me, dates back to our good old days in school at Kurunegala Maliyadeva College in the early 1970s, where General Ananda excelled in many spheres as sportsman, student leader, house-captain, senior cadet, and more importantly, as the school's best orator, thus bringing fame to our Alma Mater.

Budding Ananda was exemplary, energetic, innovative, admired and often picked by our Principals and teachers alike as a role model for the school. He was the captain for the school's badminton team in 1971 and in the same year he won the Gold Medal for overall best performance in the school. We, as juniors in the college looked up to him with respect as a prefect, beacon of hope and a guiding light.

His exit from the college saw his enlistment to the Sri Lanka Army (Regular Force) as cadet officer in 1973 and to receive his commission later on as a Second Lieutenant in the 4th Regiment of Sri Lanka Artillery. From that stage onwards, the Second Lieutenant Hamangoda turned Lieutenant in 1976, Captain in 1979, Major in 1983, Lieutenant Colonel in 1990, Colonel in 1994 and finally Brigadier on 15th November 1995 before he suddenly departed us. His reach to the mantle of his career was only through his commitment to the cause and his brilliant approach to situations, no matter what it got to be.

The warrior, Ananda was posthumously promoted to the rank of Major General after his supreme sacrifice in 1996 in recognition of his achievements.

His illustrious, dedicated and exemplary career in the Army was not without productive results or cherished memories. For two years (1981-1983) he served as Adjutant for his own 4th Regiment of Sri Lanka Artillery before he was posted to the Staff Officer appointment in the 5th Regiment of Sri Lanka Artillery (Volunteer) for about two years.

With the rapid expansion of the Army, he on his own initiative raised a new Field Battery in the newly founded 6th Regiment of Sri Lanka Artillery and became its first Battery Commander.

Afterwards he was also appointed the first Second in Command in the newly raised 7th Light Artillery Regiment in November 1988, particularly taking stock of his excellent and extensive knowledge on Artillery, and his wide experience in the battlefield.

His dedication towards the Artillery Regiment, judged by all what he did, was commendable and has gone on record as a warrior who rendered a yeoman service to the Regiment with the help of his ocean of knowledge and experience.His distinguished tenure of service spanning about 23 years covered almost every corner of our beloved motherland, including war-torn operational areas in the north and east. He was an arch-enemy to separatists.

His expertise derived from various professional study courses, both at home and abroad, needless to mention, kept him in good stead and served him very well in his pursuit of professionalism in all of his undertakings.

Until his supreme sacrifice, Major General Hamangoda braved relentlessly to defend the territorial integrity of this island-nation with thousands of his fellow troops amidst enemy fire, on many occasions, even at the risk of his own life.

Needless to say, his warfare was professional and needed elaborate planning. His proven ability to execute operations after meticulous hard work and subsequent successful launch of them against the enemy came in for high praise of his superiors, and his enthusiastic valour was therefore well recognised with the conferment of medals such as Uttama Seva Padakkama (USP), Long Service Medal for Sri Lanka Armed Forces, Vadamarachchi Operations Medal, President's Accession Medal and Poornabhumi Padakkama, to cite a few.

His sporting prowess in cricket, volleyball as well as in boxing contributed immensely to the promotion of sports activities in the Army while helping the Army to produce a number of Army sportsmen of national and international standards. Thanks to his selfless commitment, all those projects are still on. Major General A. S. S. K. Hamangoda remains close to the hearts of his fellow schoolmates as a character par excellence that symbolised many, a talented and brave officer to all Army personnel, and not least, a wonderful husband and father to his bereaved family, Mrs. Indrani Hamangoda, son Dulshan and his daughters Buweni and Maheshani.

As Field Marshal Viscount Montgomery once quipped, "The good General is the one who wins his battles with the fewest possible casualties," late Major General Hamangoda, as one of the Army's best products during the most critical junctures of our recent history, fulfilled his sacred mission to the best of his ability and for the greater benefit of our society. His sense of humour, rich with vituperative jokes brought his associates closer to him whenever and wherever they met, no matter what the occasion was.

Such was his simplicity amidst a gathering of his friends and others because General Ananda wanted to be fair by all at all times, in spite of his formal ranks.

So, farewell, dear Sir until we meet again in this journey of Samsara. May you attain supreme bliss of Nibbana!

-Bgdr DR

Wednesday, March 07, 2007

FOSS-Ed on Wheels Kandy

Guys guys once again they have done a great job !!

Thursday, March 01, 2007

Ras Vihidena - Bathiya & Santhush

Mal Pan Podak - Bathiya & Santhush

Kusumata Lanwee - Chandralekha

Introducing iPhone

iPhone combines three amazing products — a revolutionary mobile phone, a widescreen iPod with touch controls, and a breakthrough Internet communications device with desktop-class email, web browsing, maps, and searching — into one small and lightweight handheld device. iPhone also introduces an entirely new user interface based on a large multi-touch display and pioneering new software, letting you control everything with just your fingers. So it ushers in an era of software power and sophistication never before seen in a mobile device, completely redefining what you can do on a mobile phone.