SlideShare a Scribd company logo
1 of 32
Download to read offline
How Opensource / Open
Technology could help on
your Project / Startup
wanleung - 19th Oct 2013
updated - 1st Mar 2014,12th Apr 2014
This talk is for Who?
• Newbie in the Open source world
• Startups
• For those who want to start a new
software project
!
• For those who want to work into the
software development field.
This talk is for Who?
For those, Who think writing Software is
just a piece of cake,
!
something like just clicking a button,
!
a Facebook clone or Whatsapp clone will
be come out
in 60 seconds =P
(joking)
About Me
● Vice-Chairman of the HKLUG
● Vice-President of HKCOTA
● Over 10 years experience on Linux
● Experience on Backend services,
website, web API development
● Experience on virtualization and Cloud
Farm building
● http://about.me/wanleung
!
About Me
● Co-founder of LinkOmnia
● http://www.linkomnia.com
● Providing services on Consultancy and
Customized Products
● Strengths on Cloud Computing and Big
Data
What is Open Source?
In production and development, open
source as a development model promotes
!
a) universal access via free license to a
product's design or blueprint, and
!
b) universal redistribution of that design or
blueprint, including subsequent
improvements to it by anyone.
Why use Opensource?
● Free Licenses (MIT, Apache, LGPL...)
● Cost effective
● existing solutions / similar solutions -
need not to reinvent the wheel
● Have Rights to modify and fit into the
business models / the requirement of
the clients.
● Helps are all over the world
What can we use?
Database:
• (SQL) PostgreSQL, MySQL...
• (NoSQL) Redis, Cassandra,
MongoDB...
• (Graph DB) neo4j, Rexster…
!
File base:
SQLite, BDB...
What can we use?
Common Web / API Frameworks:
• Dancer, Catalyst... (Perl)
• Django, Grok, Pylons, TurboGears...
(Python)
• Kohana, cakephp… (Php)
• Revel, go-restful... (Go lang)
• Ruby on Rails (Ruby)
• mojito, blueprint (node.js)
What can we use?
• Nginx, Apache, Tomcat (webserver,
reverse proxy)
• haproxy, pound (reverse proxy)
• squid (web proxy)
• ImageMagick, GIMP, OpenCV...(Image
Processing)
• RabbitMQ, ActiveMQ (Message
Queue)
• Postfix, exim (Mail Server), dovecot
What can we use?
• LibreOffice, KOffice, Abiwords,
Numeric(Office Tools)
• VSFTPD, ProFTPD (FTP Server)
!
Bootstrap (CSS), jQuery (Javascript),
Prototype (Javascript)
Git, JMeter…
!
And More, and more...
What can we use?
Arduino, Raspberry Pi… (open hardware)
!
AeroQuad (Multicoptor open source
project)
!
RepRap (open 3D Printing)…
!
And More, and more...
What can we use?
• Google is your good friend
• Github is your good friend
• Forums are also your good friends
• Join the local Open source
communities
!
Please Don’t hesitate to ask questions
And
Please Don’t hesitate to answer questions
How to use them Right?
What is the aim of the project?
What is the scope of the project?
How many time or stages to commit?
How many users you want to support on
each stage?
How to use them Right?
Does the product need servers?
Does the servers need high-availability?
How important of the data?
How frequent of the data update?
How frequent of the data request?
How large of the data set?
What is the relations between each data?
How many dimensions?
How to use them Right?
Think about the behaviour of the user.
!
How many request and update on the
user on each time using?
!
Does the user accept the down time?
How long?
How to use them Right?
The user has to see the update
“Instantly”.
The other users also have to see the
update “Instantly”.
What is the meaning of “Instantly/Now/
Present”?
Does the user accept delay?
!
What will happen if the user saw an Error
How to use them Right?
Those questions you have to ask yourself
before you start your project.
Software is not totally virtual, Software is
also limited by the physical hardwares.
!
Different Answers will affect the use of
technology, tools, design, UX,
Development Time & Cost.
How to use them Right?
Security is Important. Do it first. It is hard
to change afterward.
Hacking is everywhere.
Don’t think small site won’t get attack.
Beware SQL injection, API/CGI injection
!
Use the Right security method, especially
in Password store and Password
Recovering.
How to use them Right?
System Design: Think Large
But execute in small scope first.
!
!
Large system = many components
= complicate
= Time
= Money
How to use them Right?
Think Large = Prepared how to scale up
!
Start in small scope = few components
= Less code
= Less bug
= easy to fix
How to use them Right?
Less is More
!
Get feedback from users and change
much easier.
!
Time == Money
How to use them Right?
Database is not just a Data bin.
A good data structure
= better organise
= better indexing
= better performance
= faster
Repacation == High availability
Backup == Data Recovery
How to use them Right?
Web server:
Concurrency User
Connection Pool
Proxy
Cache
Message Queue
Deployment tools
Monitoring tools
How to use them Right?
How to use them Right?
Source Code Version Controlling
- Git, SVN, CVS…
!
- Use branch on development
- Use branch on Testing
- Use Tag for Production
!
- Any Bug Fixing, use branch and merge
How to use them Right?
Example
How to use them Right?
• Google is your good friend
• Github is your good friend
• Forums are also your good friends
• Join the local Open source
communities
!
Please Don’t hesitate to ask questions
And
Please Don’t hesitate to answer questions
Q & A
Thanks.

More Related Content

Similar to How Open Source / Open Technology Could Help On Your Project

Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the websebastian sastre
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …mortardata
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftChristian Heilmann
 
The spirit of Opensource - lets plan to contribute ! @JWC16
The spirit of Opensource - lets plan to contribute ! @JWC16The spirit of Opensource - lets plan to contribute ! @JWC16
The spirit of Opensource - lets plan to contribute ! @JWC16Parth Lawate
 
Michael Widenius
Michael WideniusMichael Widenius
Michael WideniusCodeFest
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICTDSCUSICT
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slidesSameer Al-Sakran
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!Pradeep Singh
 
Contributing to an Open Source Project 101
Contributing to an Open Source Project 101Contributing to an Open Source Project 101
Contributing to an Open Source Project 101POSSCON
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changesJaewoo Ahn
 
SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?Alex Meadows
 
The State of Frontend
The State of FrontendThe State of Frontend
The State of FrontendJimit Shah
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyondimoneytech
 
The front end toolkit
The front end toolkitThe front end toolkit
The front end toolkitsamuel-holt
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Brian Brazil
 

Similar to How Open Source / Open Technology Could Help On Your Project (20)

Ice dec05-04-wan leung
Ice dec05-04-wan leungIce dec05-04-wan leung
Ice dec05-04-wan leung
 
Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the web
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and Microsoft
 
The spirit of Opensource - lets plan to contribute ! @JWC16
The spirit of Opensource - lets plan to contribute ! @JWC16The spirit of Opensource - lets plan to contribute ! @JWC16
The spirit of Opensource - lets plan to contribute ! @JWC16
 
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICT
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slides
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
Contributing to an Open Source Project 101
Contributing to an Open Source Project 101Contributing to an Open Source Project 101
Contributing to an Open Source Project 101
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?
 
2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni
 
The State of Frontend
The State of FrontendThe State of Frontend
The State of Frontend
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
The front end toolkit
The front end toolkitThe front end toolkit
The front end toolkit
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
 
From open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysferaFrom open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysfera
 

More from Wan Leung Wong

用Flutter 開發Linux Desktop Application
用Flutter 開發Linux Desktop Application用Flutter 開發Linux Desktop Application
用Flutter 開發Linux Desktop ApplicationWan Leung Wong
 
iOS Development, with Swift and XCode
iOS Development, with Swift and XCodeiOS Development, with Swift and XCode
iOS Development, with Swift and XCodeWan Leung Wong
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAXWan Leung Wong
 
Package Management Systems on GNU/Linux
Package Management Systems on GNU/LinuxPackage Management Systems on GNU/Linux
Package Management Systems on GNU/LinuxWan Leung Wong
 
Tinyboy Project - A 3D Printer for Education
Tinyboy Project - A 3D Printer for EducationTinyboy Project - A 3D Printer for Education
Tinyboy Project - A 3D Printer for EducationWan Leung Wong
 
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015Wan Leung Wong
 
Ecosystem of IT Industry - Sitcon x HK - 2016
Ecosystem of IT Industry - Sitcon x HK - 2016Ecosystem of IT Industry - Sitcon x HK - 2016
Ecosystem of IT Industry - Sitcon x HK - 2016Wan Leung Wong
 
Hacking Saturday 2018-05 - flutter
Hacking Saturday 2018-05 - flutterHacking Saturday 2018-05 - flutter
Hacking Saturday 2018-05 - flutterWan Leung Wong
 
What is IT - Sitcoin x HK 2018
What is IT - Sitcoin x HK 2018What is IT - Sitcoin x HK 2018
What is IT - Sitcoin x HK 2018Wan Leung Wong
 
Hacking Saturday - 2018-05
Hacking Saturday - 2018-05Hacking Saturday - 2018-05
Hacking Saturday - 2018-05Wan Leung Wong
 
中國曆法 Barcamphk - 2017
中國曆法 Barcamphk - 2017中國曆法 Barcamphk - 2017
中國曆法 Barcamphk - 2017Wan Leung Wong
 
Ecosystem of IT Industry - Sitcon x HK - 2017
Ecosystem of IT Industry - Sitcon x HK - 2017Ecosystem of IT Industry - Sitcon x HK - 2017
Ecosystem of IT Industry - Sitcon x HK - 2017Wan Leung Wong
 
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Wan Leung Wong
 
Tinyboy, A 3D Printer for Student
Tinyboy, A 3D Printer for StudentTinyboy, A 3D Printer for Student
Tinyboy, A 3D Printer for StudentWan Leung Wong
 
Tinyboy Updates on 1st quarter of 2015
Tinyboy Updates on 1st quarter of 2015Tinyboy Updates on 1st quarter of 2015
Tinyboy Updates on 1st quarter of 2015Wan Leung Wong
 
Tinyboy Project - A 3D printer for student
Tinyboy Project - A 3D printer for studentTinyboy Project - A 3D printer for student
Tinyboy Project - A 3D printer for studentWan Leung Wong
 
Some cases of open source products that have great impact in recent years
Some cases of open source products that have great impact in recent yearsSome cases of open source products that have great impact in recent years
Some cases of open source products that have great impact in recent yearsWan Leung Wong
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Wan Leung Wong
 

More from Wan Leung Wong (20)

用Flutter 開發Linux Desktop Application
用Flutter 開發Linux Desktop Application用Flutter 開發Linux Desktop Application
用Flutter 開發Linux Desktop Application
 
iOS Development, with Swift and XCode
iOS Development, with Swift and XCodeiOS Development, with Swift and XCode
iOS Development, with Swift and XCode
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
 
Package Management Systems on GNU/Linux
Package Management Systems on GNU/LinuxPackage Management Systems on GNU/Linux
Package Management Systems on GNU/Linux
 
Tinyboy Project - A 3D Printer for Education
Tinyboy Project - A 3D Printer for EducationTinyboy Project - A 3D Printer for Education
Tinyboy Project - A 3D Printer for Education
 
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
 
Ecosystem of IT Industry - Sitcon x HK - 2016
Ecosystem of IT Industry - Sitcon x HK - 2016Ecosystem of IT Industry - Sitcon x HK - 2016
Ecosystem of IT Industry - Sitcon x HK - 2016
 
Hacking Saturday 2018-05 - flutter
Hacking Saturday 2018-05 - flutterHacking Saturday 2018-05 - flutter
Hacking Saturday 2018-05 - flutter
 
What is IT - Sitcoin x HK 2018
What is IT - Sitcoin x HK 2018What is IT - Sitcoin x HK 2018
What is IT - Sitcoin x HK 2018
 
Hacking Saturday - 2018-05
Hacking Saturday - 2018-05Hacking Saturday - 2018-05
Hacking Saturday - 2018-05
 
中國曆法 Barcamphk - 2017
中國曆法 Barcamphk - 2017中國曆法 Barcamphk - 2017
中國曆法 Barcamphk - 2017
 
Ecosystem of IT Industry - Sitcon x HK - 2017
Ecosystem of IT Industry - Sitcon x HK - 2017Ecosystem of IT Industry - Sitcon x HK - 2017
Ecosystem of IT Industry - Sitcon x HK - 2017
 
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
 
Tinyboy, A 3D Printer for Student
Tinyboy, A 3D Printer for StudentTinyboy, A 3D Printer for Student
Tinyboy, A 3D Printer for Student
 
Tinyboy Updates on 1st quarter of 2015
Tinyboy Updates on 1st quarter of 2015Tinyboy Updates on 1st quarter of 2015
Tinyboy Updates on 1st quarter of 2015
 
Tinyboy Project - A 3D printer for student
Tinyboy Project - A 3D printer for studentTinyboy Project - A 3D printer for student
Tinyboy Project - A 3D printer for student
 
Some cases of open source products that have great impact in recent years
Some cases of open source products that have great impact in recent yearsSome cases of open source products that have great impact in recent years
Some cases of open source products that have great impact in recent years
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)
 
DIY Gateway
DIY GatewayDIY Gateway
DIY Gateway
 
Raspberry pi workshop
Raspberry pi workshopRaspberry pi workshop
Raspberry pi workshop
 

Recently uploaded

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 

Recently uploaded (20)

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 

How Open Source / Open Technology Could Help On Your Project

  • 1. How Opensource / Open Technology could help on your Project / Startup wanleung - 19th Oct 2013 updated - 1st Mar 2014,12th Apr 2014
  • 2. This talk is for Who? • Newbie in the Open source world • Startups • For those who want to start a new software project ! • For those who want to work into the software development field.
  • 3. This talk is for Who? For those, Who think writing Software is just a piece of cake, ! something like just clicking a button, ! a Facebook clone or Whatsapp clone will be come out in 60 seconds =P (joking)
  • 4. About Me ● Vice-Chairman of the HKLUG ● Vice-President of HKCOTA ● Over 10 years experience on Linux ● Experience on Backend services, website, web API development ● Experience on virtualization and Cloud Farm building ● http://about.me/wanleung !
  • 5. About Me ● Co-founder of LinkOmnia ● http://www.linkomnia.com ● Providing services on Consultancy and Customized Products ● Strengths on Cloud Computing and Big Data
  • 6. What is Open Source? In production and development, open source as a development model promotes ! a) universal access via free license to a product's design or blueprint, and ! b) universal redistribution of that design or blueprint, including subsequent improvements to it by anyone.
  • 7. Why use Opensource? ● Free Licenses (MIT, Apache, LGPL...) ● Cost effective ● existing solutions / similar solutions - need not to reinvent the wheel ● Have Rights to modify and fit into the business models / the requirement of the clients. ● Helps are all over the world
  • 8. What can we use? Database: • (SQL) PostgreSQL, MySQL... • (NoSQL) Redis, Cassandra, MongoDB... • (Graph DB) neo4j, Rexster… ! File base: SQLite, BDB...
  • 9. What can we use? Common Web / API Frameworks: • Dancer, Catalyst... (Perl) • Django, Grok, Pylons, TurboGears... (Python) • Kohana, cakephp… (Php) • Revel, go-restful... (Go lang) • Ruby on Rails (Ruby) • mojito, blueprint (node.js)
  • 10. What can we use? • Nginx, Apache, Tomcat (webserver, reverse proxy) • haproxy, pound (reverse proxy) • squid (web proxy) • ImageMagick, GIMP, OpenCV...(Image Processing) • RabbitMQ, ActiveMQ (Message Queue) • Postfix, exim (Mail Server), dovecot
  • 11. What can we use? • LibreOffice, KOffice, Abiwords, Numeric(Office Tools) • VSFTPD, ProFTPD (FTP Server) ! Bootstrap (CSS), jQuery (Javascript), Prototype (Javascript) Git, JMeter… ! And More, and more...
  • 12. What can we use? Arduino, Raspberry Pi… (open hardware) ! AeroQuad (Multicoptor open source project) ! RepRap (open 3D Printing)… ! And More, and more...
  • 13.
  • 14.
  • 15.
  • 16. What can we use? • Google is your good friend • Github is your good friend • Forums are also your good friends • Join the local Open source communities ! Please Don’t hesitate to ask questions And Please Don’t hesitate to answer questions
  • 17. How to use them Right? What is the aim of the project? What is the scope of the project? How many time or stages to commit? How many users you want to support on each stage?
  • 18. How to use them Right? Does the product need servers? Does the servers need high-availability? How important of the data? How frequent of the data update? How frequent of the data request? How large of the data set? What is the relations between each data? How many dimensions?
  • 19. How to use them Right? Think about the behaviour of the user. ! How many request and update on the user on each time using? ! Does the user accept the down time? How long?
  • 20. How to use them Right? The user has to see the update “Instantly”. The other users also have to see the update “Instantly”. What is the meaning of “Instantly/Now/ Present”? Does the user accept delay? ! What will happen if the user saw an Error
  • 21. How to use them Right? Those questions you have to ask yourself before you start your project. Software is not totally virtual, Software is also limited by the physical hardwares. ! Different Answers will affect the use of technology, tools, design, UX, Development Time & Cost.
  • 22. How to use them Right? Security is Important. Do it first. It is hard to change afterward. Hacking is everywhere. Don’t think small site won’t get attack. Beware SQL injection, API/CGI injection ! Use the Right security method, especially in Password store and Password Recovering.
  • 23. How to use them Right? System Design: Think Large But execute in small scope first. ! ! Large system = many components = complicate = Time = Money
  • 24. How to use them Right? Think Large = Prepared how to scale up ! Start in small scope = few components = Less code = Less bug = easy to fix
  • 25. How to use them Right? Less is More ! Get feedback from users and change much easier. ! Time == Money
  • 26. How to use them Right? Database is not just a Data bin. A good data structure = better organise = better indexing = better performance = faster Repacation == High availability Backup == Data Recovery
  • 27. How to use them Right? Web server: Concurrency User Connection Pool Proxy Cache Message Queue Deployment tools Monitoring tools
  • 28. How to use them Right?
  • 29. How to use them Right? Source Code Version Controlling - Git, SVN, CVS… ! - Use branch on development - Use branch on Testing - Use Tag for Production ! - Any Bug Fixing, use branch and merge
  • 30. How to use them Right? Example
  • 31. How to use them Right? • Google is your good friend • Github is your good friend • Forums are also your good friends • Join the local Open source communities ! Please Don’t hesitate to ask questions And Please Don’t hesitate to answer questions