MightyMeetup Aberdeen Mobile

February 15th, 2011

mightymeetup mobile talks

history of smartphones IBM1992

Andrew Sage mobile phone apps

Navigation base or view based e.g. game

Development process:

Design -> prototype -> client testing -> Wider beta testing ->

Andrew, start iphone and ports to Andriod,   some code changes but nothing major

rebuild UI   business logic

Development environment   13 Macbook Air.  all Xcode library

Bruce talk:

andry birds    100k  cost  1m dollar revenue   in game ads  and outside.

main revenue from ads but also from app store.

Tera – Wurfl    php  release of WURFL

http://wurfl.sourceforge.net  http://querymobile.com

XML library wurfl

105$ bn  market SMS  entry  e.g. xfactor

Africa   airtime    like banking  all done via SMS

ww.mobiforge.com  free book

www.mobilewebbook.com    by Cameron

http://communities-dominate.b.ogs.com

http:metrics.admob.com

http://mobilephonedevelopment.com

realtime web aberdeen techmeetup Jan 2011

January 20th, 2011

Notes taken below,  Phil has a blog post including his slides.

what is the real time web

right time web, get info. when is best

when does NOW matter?

real time PUSH technology What is the difference between push and pull

where being used e.g betting, betfair update odd, or stay wait while we do, watch tv and ipad interaction two screen experience, Number TV series

web histor

pull to push

1. start email client

2. http polling e.g. football scored fresh webpage e.g on bbc sport website still being used at twitter for its search

rendering real time data on chrome best but sill to be much improved

3. HTTP PUSH publisher subscriber model

twitter user streams with tweetdesk filter and change times on twitter api

http stream single persistent http connection
subsription make another single connection

open to any tech that can make web request and hold it open can use e.g ruby, php etc. mobile laptop any device. (even superfeedr using this now )

pubsubhubbub
rss atom when new posts e.g in a new reader server to server, not to client eg. mobile desktop device but nokia have done it. problem address ip of device.

webSockets

thing of the moment, bi directional can be any client and server. protocol basis

problem tcp connect handshake, proxy mess with http header thus mess up connection

Phill recommend levels of layer sockets -> pubhub -> polling or whatever ordering

datasift, reading startup twitter, wordpress.com info. filtering

kwwika

pubnub

pusher

superfeedr

other beacon websync, hookbox, notify.me notify.io

OOP PHP skills

January 8th, 2011

In the last 3 months I have added the mind set of being a OOP (Object Orientated Programming) to my skill set.  It has been an interesting journey as the mind has lost its desire to keep everything linear in time.  In fact every time a new solution has to be found the answer can be found by breaking up the logic of the code even further, now the challenge becomes keeping all those modules co-ordinated.  Overall, I now feel a more rounded software engineer.

Entrepreneurship vision + execution (coding)

January 4th, 2011

Read a quote from Jefferson that ‘vision without execution is a called a hallucination!’  Or words to that affect.  Execution is a rather fierce word, even in the ‘corporate’ was it suggests of ruthless efficiency, do what ever it takes, an object devoid of life etc.  However, we are in 2011, we are now wiser, social connections abound, other humans matter all the time, ideas have a lowering barrier before they get seeded into the world.  So, maybe, vision and make real is a better tag line for today.

mightmeetup aberdeen Dec 2010

December 7th, 2010

node.js

non-blocking      get from data base   takes time   how long to wait?  Node, shouldn’t take time, always be ready to do.

no loop  its eventy -   everything is a callback   order things happen is not a worry.

asynchronous

familiar

does more the css

cloudy   almost assumes that basis

Ian Istred

Web fonts

forntsquirrel.com   automates the text formatting for you.  Ian recommends

Scott Graham

1.  listen to client  to  sell them tech.
2.  get on the phone for the key information
3.  honesty and integrity
4.  be prepared to say NO.  Set limits,  quick and easy changes all the time
5.  value your time and input

Last speaker

Kevin Mitchell  @mitchinator

re animated the web

past gif   or flash

The future

lots of device and lots of bandwidth range means  …   we should look at… . . .

jQuery – excellent tool

css3  css animation and trsformations

VOLTB

November 20th, 2010

postsql  founder

address relational failures

13 rules relational databases, so  a long history

user

logical  ER no relationship to user model??

physical

what is stored is an extraction of the data

relational does not have to slow is the presenters them right now.  implementation choice makes it fast slow

VOLTDB

data inmemory  good speed but loose state (what is the data?)

all engineering is compromise

in memory  lockless  relational acid transaction sql

how fast memory over disk,    plenty more  (hard to tie down)  10,000 but hard to measures, little more expensive

Durability  ram  UPS  makes ram more durable  make multiple copies.  How long?  Through money at it.  memory copies

Speed

lockless    ie take out logging  (but logging was put in make faster!!)

logic of query given upfront then the database forms as an optimal entity to max speed / queries

ravenDB deepdive

November 20th, 2010

Rob Ashton

uses LINQ   creates index   uses lucene

can run in memory  fast   (couch doesn’t do this?) (couch http but this does not have to)

all client side via hi-low

does automatic creation of indexes    (but can create those yourself)

does links but don’t call them (JOINS) like  uses projection to auto do that?

couchdb

November 20th, 2010

Simon Wells   swells  at  computing.dundee.ac.uk

arguments on the web how to model in code  how can nosql be used? Chose couchdb that gives flexibility

couchdb   document database

quired and index    like mapreduce  using javascript   restful  JSON API  anything that supports HTTP  e.g curl  core API

Futon buildnweb based admin console,  third party client libraries

increamental replication   bi – di rection conflict detection and resolution

couchone.com  personal data store for mobile data??

written erlang/OTP   language  up time just about 100%

any discrete representation of meaning   RESTful   etc

JSON objects  capture anything  text to video ie whole webpage

Key Value store

curl ip  get back jscon object parse to get access to data

runs on port  5984 only

tutorial on how to use command line and futon tool kit UI.  The basics well told.

replication  a click locals db, and or remote db or two remote dbs   (like the sound of that )

MapReduce  used in couchdb

views are special ‘design documents’  and results   json  id  key value

helper function within couchdb allow json to be parsed e.g to produce html

can work off line  couchAPP  then upload to db

www.couchone.com

don’t recommend books

hadoop jonathon and hbase

November 20th, 2010

Eelektrifi

scaling not an question any more

difference between structured and semi structured

listen to  Abhishek Mehta   cloudera.com  head of big data at bank of america

mine data is where all the value is now,   storage is commodity

Daniel Abadi  listen to his talks

semi structured data  where the game is at,  why is this important.

google uses mapreduce  manages processing inaffect

HBASE?

oracle becoming expense and mysql  problems at lowest volumes 500GB

zookeeper   co ordinates servers  (cassandra does not have?)

bascis  row column  intersect cell   families  upfront defined   rest done automatically

commodity hardware  but memory more in demand

think of column family as being tagged groups of data

no join world

BASE    like cap for Nosql

strata conference feb 2011

cassandra nosql

November 20th, 2010

andy  presenter   @andycobley   acobely  at  computing.dundee.ac.uk

distributed and decentralized   column orientated  key value store (point to columns)  Fault tolerant (machine goes down keeps on going)

JAVA  apache project   facebook open sourced

CAP triangle   (theory)  or brewers theorem

consistency  availability  partition tolerance  have TWO but not all three?

Changes are dramatic in cassandra  so be aware , documentation wrong      read units to see what is going on

EVENTUAL CONSISTENCY
multiple nodes  can be rack aware  keys can replicated across node,  DHT distriubed hash table  think bit torrent  (basically same technology)

REPLICATION
how many copies   rackunaware  also make it data center aware

CONSISTENCY LEVELS
How many copies do we want to respond?  How accurate is the data?   columnfamilies   used  sperate value for read and write

http://wiki.apache.org/cassandra/API

WRITE READ SPEED
write is much faster than reads  writes goes to commit log memtable, the flushed to disk   all writes are sequential

READS much slower

columns differing lengths and Supercolumns  family of columns  e.g blog entry and sub comments

supercolumns can be order

look at the real code for  a bloggyappy