Freedom 1: Open Source to study and change it. • Freedom 2: Re-distribute the program. • Freedom 3: Distribute your modified versions as free software.
Mobile (Android). • 1983: GNU projects developed many free software programs replacing proprietary programs on UNIX platforms. • 1991: Linus Torvalds released first Linux kernel on internet, then developers integrate with GNU softwares (GNU/Linux) and distribute a new OS. • Documentary Movie: Revolution OS (2001).
(Web Server). • Most popular HTTP server since April 1996. • 1995: First release • 2009: 1st web server serving 100 million websites. • August 2014: 47.92% market share (1st) – http://news.netcraft.com/archives/2014/08/27/august-2014- web-server-survey.html • Documentary Movie: Revolution OS (2001).
OS platforms. • Huge amount of free software (open source software) are esstential and used to develop, manage and operate web & mobile apps and their platforms. • Programming Languages: – PHP, Python, Ruby...... • Web Frameworks, CMS, Blog......: – Wordpress, Drupal, Django, Joomla......
Web Browser. • Market Share: 15-20% (2014), 25-30% (2011). • 1998: Netscape Communications Corp (creator of Netscape Navigator web browser) created Mozilla project to coordinate open source version of internet suite. – Internet Suite: Web + Mail / Newsgroup + Web Composer + IRC. • 2002: 1st release Firefox web browser (experimental branch of Mozilla project). • Sept 2014: Firefox 32. • Documentary Movie: Code Rush
On Google Map • Probably the 1st Tropical Cyclones map in Hong Kong using Google Map API. – sammy.hk → Weather Undergroud Hong Kong → HKO – Current Paths. – Forecast Paths. – Tweets JTWC updates to Twitter. – Data Sources: • JTWC • HKO
Web (whatever format) under an open license. 2.make it available as structured data (e.g., Excel instead of image scan of a table) 3.use non-proprietary formats (e.g., CSV instead of Excel) 4.use URIs to denote things, so that people can point at your stuff. 5.link your data to other data to provide context. 5stardata.info by Tim Berners-Lee, the inventor of the Web.
spiders to extract data. • Built-in XPath selectors to extracting data. • Built-in JSON, CSV, XML output. • Interactive shell console, telnet console, logging...... • Scrapyd – a daemon providing Web API and simple Web UI. – http://localhost:6800
– $ scrapy startproject <project name> • Define your data structure • Write your first spider – Test with scrapy shell console • Output / Store collected data – Output with built-in supported formats – Store to database / object store.
– Load django configuration. • Use Scrapy DjangoItem class – Insteads of Item and Field class – Define which django data model should be linked with. • Query and insert data at scrapy pipelines.
and install scrapy and django with pip. • Clone hk0weather from GitHub – $ git clone https://github.com/sammyfung/hk0weather.git • Setup database connection at Django and create database, tables and first django user. • Scrap regional weather data – $ scrapy crawl regionalwx -t json -o regional.json
in 2014. • HK registered limited company in guarantee. • Non-profit organization. (in final process) • Promoting Open Standards, Free and Open Source Software, Open Hardware, Free Culture Works, Open Content and Creative Commons. • Work on projects and events. – eg. Hong Kong Open Source Conference 2014.