SlideShare a Scribd company logo
1 of 76
TechShift: There’s
light beyond LAMP




Stephen Tallamy
New Initiatives, NDS
?
typedef const struct {
     int mode; // 0 for I/O, 1 for in only -1 for out only
     unsigned char volatile *addr;      // address
     unsigned char volatile *ddr;}port; // direction reg
port PortJ={
  0,
  (unsigned char volatile *)(0x0028),
  (unsigned char volatile *)(0x0029)};
int MakeOutput(port *ppt){
  if(ppt->mode==1) return 0; // input only
  if(ppt->mode==-1) return 1; // OK, output only
  (*ppt->ddr)=0xff; // make output
  return 1;}
int MakeInput(port *ppt){
  if(ppt->mode==-1) return 0; // output only
  if(ppt->mode==1) return 1; // OK, input only
  (*ppt->ddr)=0x00; // make input
  return 1;}
unsigned char Input(port *ppt){
 return (*ppt->addr);}
void Output(port *ppt, unsigned char data){
 (*ppt->addr)=data;
}
void main(void){ unsigned char MyData;
  MakeInput(&PortJ);
Photo by George Rex.
Light beyond LAMP
Light beyond LAMP
Page
        jQuery
                 Ajax

Linux   Apache
        PHP
        MySQL
Kafka
Keyspace ( ~ Schema )
 Column Family ( ~ Table )
  Row ( ~ Table Row)
    Row    Column ( ~ Table Cell )
    Key      Name       Value   Time
7pm   8pm
Schedule['BBC1-2012-10-16@1900']['title']
    = 'The ONE Show'



     Column Value
                         Column Name

 Column Family          Row Key
Schedule['BBC1-2012-10-16@1900']['title']
    = 'The ONE Show'
Schedule['BBC1-2012-10-16@1900']['genre']
    = 'News'

Schedule['BBC1-2012-10-16@1930']['title']
    = 'Cash Britain'

Schedule['BBC1-2012-10-16@2000']['title']
    = 'EastEnders'
Schedule['BBC1-2012-10-16@2000']['genre']
    = 'Drama'
title        genre
BBC1-2012-   The ONE      News
10-16@1900   Show

             title
BBC1-2012-   Cash
10-16@1930   Britain

             title        genre
BBC1-2012-   EastEnders   Drama
10-16@2000
7pm   8pm
Schedule['BBC1-2012-10-16'][1900] =
'{"title": "The ONE Show",
         "genre": "News"}'

Schedule['BBC1-2012-10-16'][1930] =
'{"title": "Cash Britain"}'

Schedule['BBC1-2012-10-16'][2000] =
'{"title": "EastEnders",
         "genre": "Drama"}'
Column Range Slice


         1900        1930        2000
BBC1-    {"title": {"title": {"title":
2012-10- "The ONE "Cash      "EastEnde
16       Show",    Britain", rs",
         "genre":    "genre": "genre":
         "News"}     "Document "Drama"}
                     ary"}
7pm   8pm
20,000,000 data
                                           points/day
250,000 viewers




Viewing Activity
   Simulator           Real Time         NoSQL Data Store
                   Computation Cluster
Channels      Channel
                        View
Template     Template

Channels     Channel    Controller /
  View        View      Presenter


 Channel     Channel
                        Model
Collection    Model
define([                        Channel
  'backbone'                     Model
],function(Backbone) {
  return Backbone.Model.extend({
    getLogo: function() {
       return this.get('logo');
    },
    getNowImage: function() {
       …
    },
    getNowTitle: function() {
       …
    },
  });
});
Channel
                               Collection
define([
  'backbone',
  'models/channel'
],function(Backbone,Channel) {
  return Backbone.Collection.extend({
    model: Channel,
    url: 'http://api.com/channels.json'
  });
});
define([                        Channel
  'underscore',                   View
  'backbone',
  'text!templates/channel.html'
],function(_,Backbone,template) {
  return Backbone.View.extend({
    render: function() {
      var html = _.template(template,
                           this.model);
      this.setElement(html);
      return this;
    }
  });
});
Channel
                               Template
<li class="channel"
    style="background-image: url(
          <%= model.getNowImage() %>)">
  <img src="<%= model.getLogo() %>"/>
  <span class="title">
    <%= model.getNowTitle() %>
  </span>
</li>
Channels
initialize: function() {           View
   this.collection.bind('add',
                        this.add, this);
},

add : function(item) {
  var view = new ChannelView({ model :
                               item });

    this.$el.append(view.render().el);
}
initialize: function() {
   this.collection.bind('add',
                        this.add, this);
},


finalize : function() {
  this.collection.off(undefined,
                      undefined, this);
}
-webkit-transform:
translate3d(250px, 0px, 0px);
opacity: 0.99;
$('#myDiv').append();
$('#myDiv').stop().animate(
  {property: 450},
  {duration: 500,
   step: function(pos) {
     $(this).css('-webkit-transform',
     'translate3d('+(pos)+'px, 0px, 0px)');
   }
});
                    vs
-webkit-transition: -webkit-transform 500ms;

$('#myDiv').css('-webkit-transform',
            'translate3d(450px, 0px, 0px)');
The Modern JavaScript Application
        Andrew Appleton
 15:10 – 15:50 – Porter Tun Stage
Cookbook
 Recipe
  Resource

 Attributes
 Templates
- cookbooks
  - mybook
    - attributes   knife
    - recipes
    - templates


     Chef client

                   Chef client
# Install nginx package
package "nginx"

# Register nginx as a service
service "nginx" do
  supports :status => true, :restart
            => true, :reload => true
  action :enable
end

# Set up nginx config
template
"/etc/nginx/conf.d/default.conf" do
  source "default.conf.erb"
  owner "root"
  group "root"
Ironfan.cluster 'fowa' do
  cloud(:ec2) do
    availability_zones ['eu-west-1a']
    flavor              'm1.small'
    image_name          'base_ami'
  end

  facet :web do
    instances 2
    recipe "web_server"
    cloud do
         security_group :HTTP_PUBLIC
    end
  end

  facet :cassandra do
[me@chef]$ knife cluster show fowa
+-------------------------+-------+-------------+------------+
| Name                    | Chef? | State       | InstanceID |
+-------------------------+-------+-------------+------------+
| fowa-web-0              | no    | not running |            |
| fowa-web-1              | no    | not running |            |
| fowa-cassandra-0        | yes   | running     | i-1234abcd |
| fowa-cassandra-1        | yes   | running     | i-5678defa |
| fowa-loadTest-0         | yes   | stopped     | i-9123bcde |
+-------------------------+-------+-------------+------------+

[me@chef]$ knife cluster launch fowa-web
--bootstrap

+-------------------------+-------+-------------+------------+
| Name                    | Chef? | State       | InstanceID |
+-------------------------+-------+-------------+------------+
| fowa-web-0              | yes   | running     | i-4567fabc |
| fowa-web-1              | yes   | running     | i-8901defa |
| fowa-cassandra-0        | yes   | running     | i-1234abcd |
| fowa-cassandra-1        | yes   | running     | i-5678defa |
+-------------------------+-------+-------------+------------+
| Name                    | Chef? | State       | InstanceID |
+-------------------------+-------+-------------+------------+
| fowa-web-0              | yes   | running     | i-4567fabc |
| fowa-web-1              | yes   | running     | i-8901defa |
| fowa-cassandra-0        | yes   | running     | i-1234abcd |
| fowa-cassandra-1        | yes   | running     | i-5678defa |
| fowa-loadTest-0         | yes   | stopped     | i-9123bcde |
+-------------------------+-------+-------------+------------+


[me@chef]$ git pull

[me@chef]$ knife cookbook upload mybook

[me@chef]$ knife cluster kick fowa-web-0

[me@chef]$ knife cluster kick fowa-web

[me@chef]$ knife cluster stop fowa
Kafka
Light beyond LAMP
@StephenTallamy

More Related Content

What's hot

Mnesiaで分散ノードに入門してみた
Mnesiaで分散ノードに入門してみたMnesiaで分散ノードに入門してみた
Mnesiaで分散ノードに入門してみたTakahiro Kobaru
 
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...dantleech
 
EcmaScript 6 - The future is here
EcmaScript 6 - The future is hereEcmaScript 6 - The future is here
EcmaScript 6 - The future is hereSebastiano Armeli
 
Kotlin Coroutines. Flow is coming
Kotlin Coroutines. Flow is comingKotlin Coroutines. Flow is coming
Kotlin Coroutines. Flow is comingKirill Rozov
 
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵Wanbok Choi
 
Introduction to kotlin coroutines
Introduction to kotlin coroutinesIntroduction to kotlin coroutines
Introduction to kotlin coroutinesNAVER Engineering
 
How CPAN Testers helped me improve my module
How CPAN Testers helped me improve my moduleHow CPAN Testers helped me improve my module
How CPAN Testers helped me improve my moduleacme
 
"Wix Engineering Media AI Photo Studio", Mykola Mykhailych
"Wix Engineering Media AI Photo Studio", Mykola Mykhailych"Wix Engineering Media AI Photo Studio", Mykola Mykhailych
"Wix Engineering Media AI Photo Studio", Mykola MykhailychFwdays
 
UI 모듈화로 워라밸 지키기
UI 모듈화로 워라밸 지키기UI 모듈화로 워라밸 지키기
UI 모듈화로 워라밸 지키기NAVER SHOPPING
 
An introduction to functional programming with go
An introduction to functional programming with goAn introduction to functional programming with go
An introduction to functional programming with goEleanor McHugh
 
Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello Worldi-love-flamingo
 
Writing Redis in Python with asyncio
Writing Redis in Python with asyncioWriting Redis in Python with asyncio
Writing Redis in Python with asyncioJames Saryerwinnie
 
JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...
JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...
JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...Stephen Chin
 
Google's HTML5 Work: what's next?
Google's HTML5 Work: what's next?Google's HTML5 Work: what's next?
Google's HTML5 Work: what's next?Patrick Chanezon
 
Kotlin Coroutines Reloaded
Kotlin Coroutines ReloadedKotlin Coroutines Reloaded
Kotlin Coroutines ReloadedRoman Elizarov
 
"Full Stack frameworks or a story about how to reconcile Front (good) and Bac...
"Full Stack frameworks or a story about how to reconcile Front (good) and Bac..."Full Stack frameworks or a story about how to reconcile Front (good) and Bac...
"Full Stack frameworks or a story about how to reconcile Front (good) and Bac...Fwdays
 
The Ring programming language version 1.6 book - Part 55 of 189
The Ring programming language version 1.6 book - Part 55 of 189The Ring programming language version 1.6 book - Part 55 of 189
The Ring programming language version 1.6 book - Part 55 of 189Mahmoud Samir Fayed
 

What's hot (20)

Mnesiaで分散ノードに入門してみた
Mnesiaで分散ノードに入門してみたMnesiaで分散ノードに入門してみた
Mnesiaで分散ノードに入門してみた
 
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...
 
Aimaf
AimafAimaf
Aimaf
 
EcmaScript 6 - The future is here
EcmaScript 6 - The future is hereEcmaScript 6 - The future is here
EcmaScript 6 - The future is here
 
Kotlin Coroutines. Flow is coming
Kotlin Coroutines. Flow is comingKotlin Coroutines. Flow is coming
Kotlin Coroutines. Flow is coming
 
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
 
Introduction to kotlin coroutines
Introduction to kotlin coroutinesIntroduction to kotlin coroutines
Introduction to kotlin coroutines
 
ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
How CPAN Testers helped me improve my module
How CPAN Testers helped me improve my moduleHow CPAN Testers helped me improve my module
How CPAN Testers helped me improve my module
 
"Wix Engineering Media AI Photo Studio", Mykola Mykhailych
"Wix Engineering Media AI Photo Studio", Mykola Mykhailych"Wix Engineering Media AI Photo Studio", Mykola Mykhailych
"Wix Engineering Media AI Photo Studio", Mykola Mykhailych
 
UI 모듈화로 워라밸 지키기
UI 모듈화로 워라밸 지키기UI 모듈화로 워라밸 지키기
UI 모듈화로 워라밸 지키기
 
Symfony2 revealed
Symfony2 revealedSymfony2 revealed
Symfony2 revealed
 
An introduction to functional programming with go
An introduction to functional programming with goAn introduction to functional programming with go
An introduction to functional programming with go
 
Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello World
 
Writing Redis in Python with asyncio
Writing Redis in Python with asyncioWriting Redis in Python with asyncio
Writing Redis in Python with asyncio
 
JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...
JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...
JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...
 
Google's HTML5 Work: what's next?
Google's HTML5 Work: what's next?Google's HTML5 Work: what's next?
Google's HTML5 Work: what's next?
 
Kotlin Coroutines Reloaded
Kotlin Coroutines ReloadedKotlin Coroutines Reloaded
Kotlin Coroutines Reloaded
 
"Full Stack frameworks or a story about how to reconcile Front (good) and Bac...
"Full Stack frameworks or a story about how to reconcile Front (good) and Bac..."Full Stack frameworks or a story about how to reconcile Front (good) and Bac...
"Full Stack frameworks or a story about how to reconcile Front (good) and Bac...
 
The Ring programming language version 1.6 book - Part 55 of 189
The Ring programming language version 1.6 book - Part 55 of 189The Ring programming language version 1.6 book - Part 55 of 189
The Ring programming language version 1.6 book - Part 55 of 189
 

Similar to TechShift: There’s light beyond LAMP

Backbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCBackbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCpootsbook
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022Flink Forward
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for CassandraEdward Capriolo
 
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"DataStax Academy
 
Modern query optimisation features in MySQL 8.
Modern query optimisation features in MySQL 8.Modern query optimisation features in MySQL 8.
Modern query optimisation features in MySQL 8.Mydbops
 
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)Brian Sam-Bodden
 
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiMonitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiInfluxData
 
Streaming Data from Scylla to Kafka
Streaming Data from Scylla to KafkaStreaming Data from Scylla to Kafka
Streaming Data from Scylla to KafkaScyllaDB
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastAtlassian
 
Graphics & Animation with HTML5
Graphics & Animation with HTML5Graphics & Animation with HTML5
Graphics & Animation with HTML5Knoldus Inc.
 
Vertically Scaled Design Patters
Vertically Scaled Design PattersVertically Scaled Design Patters
Vertically Scaled Design PattersJeff Malnick
 
Short Intro to PHP and MySQL
Short Intro to PHP and MySQLShort Intro to PHP and MySQL
Short Intro to PHP and MySQLJussi Pohjolainen
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGIMike Pittaro
 
Pads lab manual final
Pads lab manual finalPads lab manual final
Pads lab manual finalAhalyaR
 
Lift Presentation at DuSE VI
Lift Presentation at DuSE VILift Presentation at DuSE VI
Lift Presentation at DuSE VIPeter Robinett
 
Minimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityMinimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityDerek Lee Boire
 

Similar to TechShift: There’s light beyond LAMP (20)

angular fundamentals.pdf
angular fundamentals.pdfangular fundamentals.pdf
angular fundamentals.pdf
 
Backbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCBackbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVC
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for Cassandra
 
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
 
Modern query optimisation features in MySQL 8.
Modern query optimisation features in MySQL 8.Modern query optimisation features in MySQL 8.
Modern query optimisation features in MySQL 8.
 
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
 
Play vs Rails
Play vs RailsPlay vs Rails
Play vs Rails
 
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiMonitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
 
Streaming Data from Scylla to Kafka
Streaming Data from Scylla to KafkaStreaming Data from Scylla to Kafka
Streaming Data from Scylla to Kafka
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
 
Graphics & Animation with HTML5
Graphics & Animation with HTML5Graphics & Animation with HTML5
Graphics & Animation with HTML5
 
Vertically Scaled Design Patters
Vertically Scaled Design PattersVertically Scaled Design Patters
Vertically Scaled Design Patters
 
Short Intro to PHP and MySQL
Short Intro to PHP and MySQLShort Intro to PHP and MySQL
Short Intro to PHP and MySQL
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
 
Pads lab manual final
Pads lab manual finalPads lab manual final
Pads lab manual final
 
Pdxpugday2010 pg90
Pdxpugday2010 pg90Pdxpugday2010 pg90
Pdxpugday2010 pg90
 
Lift Presentation at DuSE VI
Lift Presentation at DuSE VILift Presentation at DuSE VI
Lift Presentation at DuSE VI
 
Minimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityMinimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team Productivity
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

TechShift: There’s light beyond LAMP

  • 1. TechShift: There’s light beyond LAMP Stephen Tallamy New Initiatives, NDS
  • 2. ?
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. typedef const struct { int mode; // 0 for I/O, 1 for in only -1 for out only unsigned char volatile *addr; // address unsigned char volatile *ddr;}port; // direction reg port PortJ={ 0, (unsigned char volatile *)(0x0028), (unsigned char volatile *)(0x0029)}; int MakeOutput(port *ppt){ if(ppt->mode==1) return 0; // input only if(ppt->mode==-1) return 1; // OK, output only (*ppt->ddr)=0xff; // make output return 1;} int MakeInput(port *ppt){ if(ppt->mode==-1) return 0; // output only if(ppt->mode==1) return 1; // OK, input only (*ppt->ddr)=0x00; // make input return 1;} unsigned char Input(port *ppt){ return (*ppt->addr);} void Output(port *ppt, unsigned char data){ (*ppt->addr)=data; } void main(void){ unsigned char MyData; MakeInput(&PortJ);
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 15.
  • 17.
  • 19. Page jQuery Ajax Linux Apache PHP MySQL
  • 20. Kafka
  • 21.
  • 22.
  • 23.
  • 24. Keyspace ( ~ Schema ) Column Family ( ~ Table ) Row ( ~ Table Row) Row Column ( ~ Table Cell ) Key Name Value Time
  • 25. 7pm 8pm
  • 26. Schedule['BBC1-2012-10-16@1900']['title'] = 'The ONE Show' Column Value Column Name Column Family Row Key
  • 27. Schedule['BBC1-2012-10-16@1900']['title'] = 'The ONE Show' Schedule['BBC1-2012-10-16@1900']['genre'] = 'News' Schedule['BBC1-2012-10-16@1930']['title'] = 'Cash Britain' Schedule['BBC1-2012-10-16@2000']['title'] = 'EastEnders' Schedule['BBC1-2012-10-16@2000']['genre'] = 'Drama'
  • 28. title genre BBC1-2012- The ONE News 10-16@1900 Show title BBC1-2012- Cash 10-16@1930 Britain title genre BBC1-2012- EastEnders Drama 10-16@2000
  • 29. 7pm 8pm
  • 30. Schedule['BBC1-2012-10-16'][1900] = '{"title": "The ONE Show", "genre": "News"}' Schedule['BBC1-2012-10-16'][1930] = '{"title": "Cash Britain"}' Schedule['BBC1-2012-10-16'][2000] = '{"title": "EastEnders", "genre": "Drama"}'
  • 31. Column Range Slice 1900 1930 2000 BBC1- {"title": {"title": {"title": 2012-10- "The ONE "Cash "EastEnde 16 Show", Britain", rs", "genre": "genre": "genre": "News"} "Document "Drama"} ary"}
  • 32.
  • 33.
  • 34. 7pm 8pm
  • 35.
  • 36. 20,000,000 data points/day 250,000 viewers Viewing Activity Simulator Real Time NoSQL Data Store Computation Cluster
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Channels Channel View Template Template Channels Channel Controller / View View Presenter Channel Channel Model Collection Model
  • 46. define([ Channel 'backbone' Model ],function(Backbone) { return Backbone.Model.extend({ getLogo: function() { return this.get('logo'); }, getNowImage: function() { … }, getNowTitle: function() { … }, }); });
  • 47. Channel Collection define([ 'backbone', 'models/channel' ],function(Backbone,Channel) { return Backbone.Collection.extend({ model: Channel, url: 'http://api.com/channels.json' }); });
  • 48. define([ Channel 'underscore', View 'backbone', 'text!templates/channel.html' ],function(_,Backbone,template) { return Backbone.View.extend({ render: function() { var html = _.template(template, this.model); this.setElement(html); return this; } }); });
  • 49. Channel Template <li class="channel" style="background-image: url( <%= model.getNowImage() %>)"> <img src="<%= model.getLogo() %>"/> <span class="title"> <%= model.getNowTitle() %> </span> </li>
  • 50. Channels initialize: function() { View this.collection.bind('add', this.add, this); }, add : function(item) { var view = new ChannelView({ model : item }); this.$el.append(view.render().el); }
  • 51. initialize: function() { this.collection.bind('add', this.add, this); }, finalize : function() { this.collection.off(undefined, undefined, this); }
  • 52.
  • 53.
  • 54.
  • 55.
  • 57. $('#myDiv').stop().animate( {property: 450}, {duration: 500, step: function(pos) { $(this).css('-webkit-transform', 'translate3d('+(pos)+'px, 0px, 0px)'); } }); vs -webkit-transition: -webkit-transform 500ms; $('#myDiv').css('-webkit-transform', 'translate3d(450px, 0px, 0px)');
  • 58.
  • 59.
  • 60. The Modern JavaScript Application Andrew Appleton 15:10 – 15:50 – Porter Tun Stage
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66. Cookbook Recipe Resource Attributes Templates
  • 67. - cookbooks - mybook - attributes knife - recipes - templates Chef client Chef client
  • 68. # Install nginx package package "nginx" # Register nginx as a service service "nginx" do supports :status => true, :restart => true, :reload => true action :enable end # Set up nginx config template "/etc/nginx/conf.d/default.conf" do source "default.conf.erb" owner "root" group "root"
  • 69. Ironfan.cluster 'fowa' do cloud(:ec2) do availability_zones ['eu-west-1a'] flavor 'm1.small' image_name 'base_ami' end facet :web do instances 2 recipe "web_server" cloud do security_group :HTTP_PUBLIC end end facet :cassandra do
  • 70. [me@chef]$ knife cluster show fowa +-------------------------+-------+-------------+------------+ | Name | Chef? | State | InstanceID | +-------------------------+-------+-------------+------------+ | fowa-web-0 | no | not running | | | fowa-web-1 | no | not running | | | fowa-cassandra-0 | yes | running | i-1234abcd | | fowa-cassandra-1 | yes | running | i-5678defa | | fowa-loadTest-0 | yes | stopped | i-9123bcde | +-------------------------+-------+-------------+------------+ [me@chef]$ knife cluster launch fowa-web --bootstrap +-------------------------+-------+-------------+------------+ | Name | Chef? | State | InstanceID | +-------------------------+-------+-------------+------------+ | fowa-web-0 | yes | running | i-4567fabc | | fowa-web-1 | yes | running | i-8901defa | | fowa-cassandra-0 | yes | running | i-1234abcd | | fowa-cassandra-1 | yes | running | i-5678defa |
  • 71. +-------------------------+-------+-------------+------------+ | Name | Chef? | State | InstanceID | +-------------------------+-------+-------------+------------+ | fowa-web-0 | yes | running | i-4567fabc | | fowa-web-1 | yes | running | i-8901defa | | fowa-cassandra-0 | yes | running | i-1234abcd | | fowa-cassandra-1 | yes | running | i-5678defa | | fowa-loadTest-0 | yes | stopped | i-9123bcde | +-------------------------+-------+-------------+------------+ [me@chef]$ git pull [me@chef]$ knife cookbook upload mybook [me@chef]$ knife cluster kick fowa-web-0 [me@chef]$ knife cluster kick fowa-web [me@chef]$ knife cluster stop fowa
  • 72.
  • 73.
  • 74. Kafka