Saturday, January 30, 2010

CruiseControl - Continuous integration


CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build technologies, and notifications schemes including        email and instant messaging. A web interface provides details of the current and previous builds. And the standard CruiseControl distribution is augmented through a rich selection of 3rd Party Tools.



http://cruisecontrol.sourceforge.net/

Thursday, January 28, 2010

Memcached - NoSQL

What is Memcached?

Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API is available for most popular languages.


http://memcached.org/

Sunday, January 10, 2010

Meeting Room Reservation System

Team:
  • 1 Software Engineer
  • 1 Firmware Engineer
  • 1 QA Engineer
Responsibilities:
  • System design
  • Database design
  • Gather business requirements
  • Server implementation
  • UI implementation
  • Deployment
  • Maintenance
  • Project management
Features:
  • Used in Satellite office with 10+ meeting rooms.
  • Provides online meeting room reservation service.
  • Send confirmation, reminder emails.
  • Show schedules and current status on meeting room LCD display.
  • Realtime news and weather display.
Development Details:
  • Visual Studio
  • C#
  • ASPX
  • AJAX
  • JQuery
  • MySQL
  • CSUnit
  • SVN

Monday, September 28, 2009

Log4net - Logging

What is Apache log4net™

The Apache log4net library is a tool to help the programmer output log statements to a variety of output targets. log4net is a port of the excellent Apache log4j™ framework to the Microsoft® .NET runtime. We have kept the framework similar in spirit to the original log4j while taking advantage of new features in the .NET runtime. For more information on log4net see the features document.

http://logging.apache.org/log4net/

Monday, June 29, 2009

SMS Advertising System

Team:
  • 2 Software Engineers
  • 1 QA Engineer
Responsibilities:
  • System design
  • Database design
  • Implementation
  • SMS server connection
  • Deployment
  • Maintenance
  • Project management
Features:
  • Supports 10K+ members.
  • Merchant advertisement submission.
  • Automatic sends advertisement SMS

Thursday, May 28, 2009

SQLite

SQLite is a software library that implements a self-contained,
serverless, zero-configuration, transactional SQL database engine.
SQLite is the most widely deployed SQL database engine in the world. The
source code for SQLite is in the public domain.

http://www.sqlite.org/

Monday, December 8, 2008

Philips 10-feet TV-Guide

Team:
  • 2 Developers
Responsibilities:
  • UI implementation
Features:
  • 10-Feet TV-Guide on Philips TV
  • Map keys on remote control
Development Details:
  • Visual Studio
  • ASPX
  • AJAX
  • Javascript

Monday, September 29, 2008

CDN - Content Delivery Network


A content delivery network (CDN) is a large distributed system of servers deployed in multiple data centers in the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. CDNs serve a large fraction of the Internet content today, including web objects (text, graphics, URLs and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social networks.

Reference: Wiki

Sunday, September 28, 2008

CSUnit

What Is csUnit?

csUnit is a free and open source unit testing tool for the .NET
Framework. Unit testing is tightly associated with test-driven
development (TDD), refactoring, and other practices from agile software
development approaches such as Extreme Programming or Scrum.

http://www.csunit.org/

Microsoft .Net

.NET is an integral part of many applications running on Windows and provides common functionality for those applications to run. This download is for people who need .NET to run an application on their computer. For developers, the .NET Framework provides a comprehensive and consistent programming model for building applications that have visually stunning user experiences and seamless and secure communication.

http://www.microsoft.com/net

Friday, September 12, 2008

NUnit

What Is NUnit?

NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 2.6, is the seventh major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities. NUnit brings xUnit to all .NET languages.


http://www.nunit.org/

Tuesday, January 29, 2008

Saturday, September 29, 2007

Cygwin - Linux like environment on Windows


Cygwin is:

a collection of tools which provide a Linux look and feel environment for Windows.
a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality.

Friday, September 28, 2007

Crypto++ Library - C++ library

Crypto++ Library is a free C++ class library of cryptographic schemes.

http://www.cryptopp.com/

Thursday, September 28, 2006

Cornell CS

List of Computer Science Course Offered in Cornell.

http://www.cs.cornell.edu/Courses/ListofCSCourses/index.htm

Microsoft SQL Server

Microsoft SQL Server Overview
Enable a modern data platform with SQL Server 2012—get built-in mission critical capabilities and enable breakthrough insights across the organization with familiar analytics tools and enterprise-ready Big Data solutions. Common architecture and tools enable Hybrid IT infrastructures which help move your business forward and unlock new business models.


http://www.microsoft.com/sqlserver/en/us/default.aspx

Thursday, August 17, 2006

TV Listing Data Delivery Service System

Team:
  • 2 - 5 developers
  • 2 QA
Responsibilities:

  • Maintenance
  • Feature enhancement
  • Data pre-process backend
  • Data serialization
  • Data delivery backend
  • Operator front-end
  • Reader, packetizer implementation.
Development details:
  • Windows Server NT, 2003
  • C++, COM+
  • ASP
  • Oracle

Saturday, April 15, 2006

Secured VNC on Windows plaform


  • Cgywin
    • SSH server
  • VNC server
  • SSH connection
    • Port forward

Tuesday, September 20, 2005

Mobile TV-Guide System

Team:
  • 3 Software Engineers
  • QA Team
  • Outsource Vendor
Responsibilities:
  • Protocol design
  • System design
  • Database design
  • Gather features requirements
  • Implementation
  • Coordinate with vendor - mPortal
  • System optimization
  • System maintenance
  • Provide deployment packages
  • Platform migration
  • Manage development life cycle
  • Documentations
  • Field test and fine tuning
  • Setup production servers in Tulsa, US (1 x Load Balancer, 2 x Data Server, 2 x App Server)
Features:
  • Support US market (100K+ Subscribed users)
  • Mock service for Japan, Euro market.
  • Provide TV listings data on Mobile devices.
  • Stores user bookmarks on server.
  • Program recommendations.
  • Set SMS watch reminder to mobile.
  • Supports remote recording on home TV recorder.
  • Supports advertisement submission.
  • Connection to SlingBox.
  • Connection to Toshiba DVR.
Development Details:
  • Visual C++, Visual Studio
  • Windows NT, Server 2003
  • C++, C#
  • COM+
  • ASP, ASPX
  • Web Services
  • MS SQL Server
  • Oracle database
  • DOM parser
  • SOAP
  • Test-Driven Development
  • NUnit, CSUnit
  • Log4Net
  • XMLParser
  • Proprietary binary communication protocol.
  • J2ME
  • Nokia Phone, Emulator
  • Motorola Phone, Emulator
  • CVS
Field Tests:
  • CA, US (94103)
  • CES - LV, US
Remarks:
  • Business requirements comes from US team.
  • Handles US Daylight saving issues.

Friday, June 25, 2004

Japan Web G-Guide

Team:
  • 2 Software Engineers
  • 1 QA Engineer
Responsibilities:
  • Implementation
  • Documentations
Features:
  • Support Web G-Guide on Japan.
  • 10K+ Featured Recorders.
  • Provides TV listings data on web.
  • Supports remote TV recording.
  • Communicate with Panasonic servers.
Development Details:
  • Visual C++
  • Windows NT
  • COM+ - dlls to communicate with database, remote servers.
  • ASP - serve web UI
  • Cryptography - Crypto++
  • Oracle database - provide listings data
  • CVS

Tuesday, June 17, 2003

Research on Semantic Web

Team
  • 1 developer
Feature
  • Research project
Development Details
  • Java
  • MySQL
  • HTML
  • Javascript
  • Servlet
  • Apache web server
  • MVC

Sunday, September 29, 2002

Network Programming and System Design


Client-server system design; interprocess communication; sockets; blocking and nonblocking I/O; multi-threaded process; iterative and concurrent server designs; system throughput bottlenecks; object-oriented programming (Java); case studies: FTP, RPC, Web.

Reference: CUHK MScIE

Saturday, September 28, 2002

Optical Communication and Lightwave Networks


Optical fiber and transmission characteristics, optical sources (lasers and light-emitting diodes) and transmitters, photodetectors and optical receivers, optical passive and active components: couplers, filters, switches, modulators, EDFA and Raman amplifiers, etc., optical system design, lightwave systems and networks: undersea systems, optical multi-access network design, SONET/SDH, fiber-in-the-loop, passive optical networks, optical network management.



Reference: CUHK MscIE

System Administration and Network Security


This is a 10-12 week workshop for students to gain hands-on experience in system administration and network security. Students are expected to spend at least 3 hours per week on the experiments, and each student will be assigned a Linux-based computer. The computer can be accessed via Internet so that experiments can be carried out at home. Selected topics include the set up of DNS and mail servers, the set up of certificate and secured web server for e-commerce applications, the use of network monitoring tools such as SNMP, TOP, MRTG, and tepdump, the set up of firewall, intrusion detection, and hacking techniques.

Reference: CUHK MscIE

Wireless Communication System


Physical characteristics of radio channels, cellular coverage, noise and interferences; radio modem technologies; channel assignment by frequency, time, or code division; handoffs and mobility management; wide area wireless network case studies: GSM and 3G; local area wireless network case studies: IEEE 802.11 and IEEE 802.15; principles of satellite communications, introduction to GPS system. (Not for students who have taken IERG4100)Physical characteristics of radio channels, cellular coverage, noise and interferences; radio modem technologies; channel assignment by frequency, time, or code division; handoffs and mobility management; wide area wireless network case studies: GSM and 3G; local area wireless network case studies: IEEE 802.11 and IEEE 802.15; principles of satellite communications, introduction to GPS system.


Reference: CUHK MscIE

Multimedia and Distributed Networks


Multimedia technology and trends, overview of compression techniques, multimedia storage server design, multimedia network architectures and protocols, operating system support for multimedia applications, multimedia traffic analysis, multimedia system design such as buffer design, traffic shaping, scheduling and congestion control. Advanced Internet protocols such as RSVP and RTP. Research papers on distributed multimedia and advanced Internet protocols.

Reference: CUHK MscIE

Computer Networks


Overview of the OSI reference model; local area network; internetworking components (switches, bridges, routers, etc.); Internet protocols; socket interface; presentation and application protocols; network administration and management; network security; network system case studies. 



Reference: CUHK MscIE

Artificial Intelligence



Artificial intelligence (AI) is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success. John McCarthy, who coined the term in 1955, defines it as "the science and engineering of making intelligent machines."

Reference: Wiki


Neural network


The term neural network was traditionally used to refer to a network or circuit of biological neurons.[1] The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes. Thus the term has two distinct usages:

Biological neural networks are made up of real biological neurons that are connected or functionally related in a nervous system. In the field of neuroscience, they are often identified as groups of neurons that perform a specific physiological function in laboratory analysis.
Artificial neural networks are composed of interconnecting artificial neurons (programming constructs that mimic the properties of biological neurons). Artificial neural networks may either be used to gain an understanding of biological neural networks, or for solving artificial intelligence problems without necessarily creating a model of a real biological system. The real, biological nervous system is highly complex: artificial neural network algorithms attempt to abstract this complexity and focus on what may hypothetically matter most from an information processing point of view. Good performance (e.g. as measured by good predictive ability, low generalization error), or performance mimicking animal or human error patterns, can then be used as one source of evidence towards supporting the hypothesis that the abstraction really captured something important from the point of view of information processing in the brain. Another incentive for these abstractions is to reduce the amount of computation required to simulate artificial neural networks, so as to allow one to experiment with larger networks and train them on larger data sets.

Reference: Wiki

Computer Graphics


Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware.

The development of computer graphics has made computers easier to interact with, and better for understanding and interpreting many types of data. Developments in computer graphics have had a profound impact on many types of media and have revolutionized animation, movies and the video game industry.

Reference: Wiki

Machine Vision

Machine vision (MV) is the technology and methods used to provide imaging-based automatic inspection and analysis for such applications as automatic inspection, process control, and robot guidance in industry. The scope of MV is broad.

Reference: Wiki

Wednesday, February 20, 2002

Document Management System

Team:
  • 2 Developers
Responsibilities:
  • Product design
  • Implementation
  • Documentations
Features:
  • Stores documents on intranet web based system
  • Support small~mid size company with 5 - 50 users.
  • Support viewing different document formats
  • Support markup on documents
  • Document version control
Development Details:
  • J2SE
  • Servlets
  • MySQL database
  • MS Source safe

Thursday, September 28, 2000

OpenGL

The Industry's Foundation for High Performance Graphics.

http://www.opengl.org/

DirectX SDK


Overview
This DirectX SDK release contains updates to tools, utilities, samples, documentation, and runtime debug files for x64 and x86 platforms. 

For additional information please see Microsoft DirectX Developer Center along with reviewing the Readme for last-minute updates.

Users wishing to install the DirectX runtime for the purposes of playing a game should instead install the DirectX Websetup. See related resources at the bottom of this page.


J2EE


Java Platform, Enterprise Edition (Java EE) 6 is the industry standard for enterprise Java computing. Utilize the new, lightweight Java EE 6 Web Profile to create next-generation web applications, and the full power of the Java EE 6 platform for enterprise applications. Developers will benefit from productivity improvements with more annotations, more POJOs, simplified packaging, and less XML configuration. 

http://www.oracle.com/technetwork/java/javaee/overview/index.html

Apache Server


The Number One HTTP Server On The Internet
The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows NT. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

http://httpd.apache.org/

MySQL

The world's most popular open source database.

http://www.mysql.com/

Saturday, September 28, 1996

Matlab


MATLAB® is a high-level language and interactive environment for numerical computation, visualization, and programming. Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java™.

You can use MATLAB for a range of applications, including signal processing and communications, image and video processing, control systems, test and measurement, computational finance, and computational biology. More than a million engineers and scientists in industry and academia use MATLAB, the language of technical computing.



http://www.mathworks.com/products/matlab/

Mathematica


What Is Mathematica?
Almost any workflow involves computing results, and that's what Mathematica does—from building a hedge fund trading website or publishing interactive engineering textbooks to developing embedded image recognition algorithms or teaching calculus.

Mathematica is renowned as the world's ultimate application for computations. But it's much more—it's the only development platform fully integrating computation into complete workflows, moving you seamlessly from initial ideas all the way to deployed individual or enterprise solutions.

http://www.wolfram.com/mathematica/