SlideShare a Scribd company logo
1 of 109
Download to read offline
More than
Syntax
Patrick Huesler

@phuesler
More than
Syntax
web apis with
   erlang
a ruby devā€™s POV
snow
boarding
Surfing
WIPEOUT
erlang
Iā€™m an erlang

    beginner
so donā€™t believe everything
           I say
this is not an
  erlang
introduction
erlang
refresher
functional
 language
runtime
system
open telecom platform

      OTP
why

erlang?
seriously

concurrent
with built in
actors
because it is

distributed
fault

tolerant
hot
swaping
remote
shell
erlang at
wooga
technical
challenges
monthly active users

20,543,500
for Diamond Dash

 http://www.appdata.com/apps/facebook/127995567256931-diamond-dash (03/10/2012)
daily active users

3,871,133
for Diamond Dash

http://www.appdata.com/apps/facebook/127995567256931-diamond-dash (03/10/2012)
backend traļ¬ƒc up to

 6,500 RPS
for Monster World
what does mean that for a


Database?
read/write ratio?

write heavy
diļ¬€erent
architectures
no

   database
is faster than no database
stateful
Letā€™s use

   S3
all the way
http://www.slideshare.net/wooga/from-0-to-1000000-daily-users-with-erlang
http://www.slideshare.net/wooga/from-0-to-1000000-daily-users-with-erlang
processes are

cheap
  in erlang
erlang

Web APIs
rebar
$:rebar create-app appid=aloha
how to manage

dependencies
 like rubygems does?
rebar
$: rebar get-deps
$: rebar compile
$: rebar get-deps compile
1 % Compiler Options for rebar
   2 {erl_opts, [
   3     {src_dirs, ["src", "test"]},
   4     debug_info
   5 ]}.
   6
   7 % Dependencies
   8 {deps, [
   9     {elli, ".*", {git, "git://github.com/knutin/elli.git", "HEAD"}},
  10     {etest, ".*", {git, "git://github.com/wooga/etest.git", "HEAD"}},
  11     {etest_http, ".*", {git, "git://github.com/wooga/etest_http.git",
HEAD"}}
  12 ]}.
  13
  14 % Which files to cleanup when rebar clean is executed.
  15 {clean_files, ["ebin/*.beam"]}.
What

webserver
 shall we use?
elli
1 elli:start_link([
2                      {callback, aloha_api},
3                      {port, 3000}
4                 ])
how do I do

Routing?
1   Path = [<<"foo">>, <<"bar">>],
 2   HTTPMethod = "GET",
 3   Request = {HTTPMethod, Path},
 4   RouteDefinitions = [{{"GET",[<<"foo">>,<<"bar">>]},
                 {my_handler, my_method, []}}],
 5   case erl_route_url:match(Request, RouteDefinitions) of
 6        {error, notfound} ->
 7            io:format("path not found");
 8        {ok, Params, {M,F,_}} ->
 9            apply(M,F,Params)
10   end.
youā€™re doing it
wrong!!!
use

pattern
matching
1 handle(Req, _Args) ->
2     Path = elli_request:path(Req),
3     handle(Req#req.method, Path, Req).
4
5 handle('GET',[<<"foo">>, <<"bar"], Req) ->
6     {ok, [], <<"kekahi mau pipi">>};
7
8 handle(_, _, _Req) ->
9     {404, [], <<"wipe out!">>}.
does it support

middleware?
1 Config = [
 2            {mods, [
 3                     {aloha_ware, []},
 4                     {mahalo_ware, []},
 5                   ]}
 6          ],
 7
 8 elli:start_link([
 9                  {callback, aloha_api},
10                  {port, 3000},
11                  {callback_args, Config}
12              ]).
events
request_complete
request_throw
request_exit
request_error
request_parse_error
bad_request
client_closed
client_timeout
elli_startup
1 handle_event(request_complete, [
 2                                 Req,
 3                                 ResponseCode,
 4                                 ResponseHeaders,
 5                                 ResponseBody,
 6                                 Timings
 7                                ], Config) ->
 8
 9     TimingKeys = [
10         accepted,
11         request_start,
12         heades_end,
13         body_end,
14         user_start,
15         user_end,
16         request_end
17     ],
18     ok;
awesome
monitoring
1 handle_event(request_throw, [
 2                                  Req,
 3                                  Exception,Stack
 4                               ], _Config) ->
 5     ok;
 6
 7 handle_event(request_exit, [
 8                                  Req,
 9                                  Exit,
10                                  Stack
11                            ], _Config) ->
12     ok;
13
14 handle_event(request_error, [
15                                  Req,
16                                  Error,
17                                  Stack
18                              ], _Config) ->
19     ok;
20
how about

environments?
$: erl -pa deps/*/ebin ebin n
   -config myconfig
1 [
                Config file
 2       {aloha, [
 3              {worker_port, 3333}
 4            ]
 5       },
 6
 7      {lager, [
 8         {handlers, [
 9            {lager_console_backend, debug},
10            {lager_file_backend, [
11               {"log/debug.log", debug, 10485760, "$D0", 5},
12               {"log/error.log", error, 10485760, "$D0", 5},
13               {"log/console.log", info, 10485760, "$D0", 5}
14            ]}
15         ]}
16      ]}
17 ].
how about

logging?
1   error_logger:info_msg("alohan").
2   % prints alohanok
3
4   error_logger:warning_msg("freak set").
5   % prints freak set ahead nok
6
7   error_logger:error_msg("wipe outn").
8   % prints wipe outnok
sasl
=PROGRESS REPORT==== 8-Oct-2012::12:06:24 ===
          supervisor: {local,sasl_safe_sup}
             started: [{pid,<0.39.0>},
                       {name,overload},
                       {mfargs,{overload,start_link,
[]}},
                       {restart_type,permanent},
                       {shutdown,2000},
                       {child_type,worker}]

=PROGRESS REPORT==== 8-Oct-2012::12:06:24 ===
          supervisor: {local,sasl_sup}
             started: [{pid,<0.37.0>},
                       {name,sasl_safe_sup},
                       {mfargs,
                           {supervisor,start_link,

[{local,sasl_safe_sup},sasl,safe]}},
how about
unix style?
lager
1 [
                Config file
 2       {aloha, [
 3              {worker_port, 3333}
 4            ]
 5       },
 6
 7      {lager, [
 8         {handlers, [
 9            {lager_console_backend, debug},
10            {lager_file_backend, [
11               {"log/debug.log", debug, 10485760, "$D0", 5},
12               {"log/error.log", error, 10485760, "$D0", 5},
13               {"log/console.log", info, 10485760, "$D0", 5}
14            ]}
15         ]}
16      ]}
17 ].
1 start(_StartType, _StartArgs) ->
 2     ok = application:start(compiler),
 3     ok = application:start(syntax_tools),
 4     ok = application:start(lager),
 5
 6     % start mochiweb module reloader
 7     reloader:start(),
 8
 9     elli:start_link([{callback, aloha_api}, {port, 3000}]),
10     aloha_sup:start_link().
1 dev_start(App) -> dev_start(App, temporary).
 2
 3 dev_start(App, Type) ->
 4     case application:start(App, Type) of
 5          {error, {not_started, DepApp}} ->
 6              dev_start(DepApp),
 7              dev_start(App, Type);
 8          ok -> ok;
 9          {error, {already_started, App}} -> ok
10     end.
1   lager:debug("alohan").
2   % prints alohanok
3
4   lager:warning("freak set").
5   % prints freak set ahead nok
6
7   lager:error("wipe outn").
8   % prints wipe outnok
how about

  Unit
testing?
eunit
no
stacktrace
the easy way
etest
1   -module(aloha_utils_test).
 2   -compile(export_all).
 3
 4   % Include etest's assertion macros.
 5   -include_lib("etest/include/etest.hrl").
 6
 7   before_suite() ->
 8       %start up applications
 9       ok.
10
11   before_test() ->
12       %load fixtures
13       ok.
14
15   test_hello() ->
16       ?assert_equal("kekahi mau pipi", aloha_utils:hello()).
17
18   after_test() ->
19       % tear down fixtures
20       ok.
21
22   after_suite() ->
23       % stop applications
24       ok.
$: ./deps/etest/bin/etest-runner
How about

  http
testing?
1   -module (aloha_api_test).
 2   -compile (export_all).
 3
 4   % etest macros
 5   -include_lib ("etest/include/etest.hrl").
 6   % etest_http macros
 7   -include_lib ("etest_http/include/etest_http.hrl").
 8
 9   before_suite() ->
10       application:start(aloha).
11
12   before_test() -> ok.
13
14   after_test() -> ok.
15
16   after_suite() ->
17       application:stop(aloha).
18
19   test_aloha() ->
20       Response = ?perform_get("http://localhost:3000/aloha"),
21       ?assert_status(200, Response),
22       ?assert_body("kekahi mau pipi", Response).
$: ./deps/etest/bin/etest-runner
how about

 auto
reload?
Mochiweb
reloader
1 start(_StartType, _StartArgs) ->
 2     ok = application:start(compiler),
 3     ok = application:start(syntax_tools),
 4     ok = application:start(lager),
 5
 6     % start mochiweb module reloader
 7     reloader:start(),
 8
 9     elli:start_link([{callback, aloha_api}, {port, 3000}]),
10     aloha_sup:start_link().
beware of
 NIFs
how about

  auto
compile?
guard
1 # # -*- encoding : utf-8 -*-
2
3 guard 'shell' do
4   watch(%r{^src/.+.erl$}) do |m|
5     puts `rebar compile`
6   end
7 end
how ab bout

deploying to
  heroku?
$: heroku create aloha-erl -s cedar
Heroku
buildpack
$: heroku config:add
BUILDPACK_URL=http://github.com/
heroku/heroku-buildpack-
erlang.git
procfile
web: erl -pa deps/*/ebin ebin
      -noshell
      -noinput
      -config priv/config/
      environments/development
      -s aloha_app
1 start(_StartType, _StartArgs) ->
 2     ok = application:start(compiler),
 3     ok = application:start(syntax_tools),
 4     ok = application:start(lager),
 5     reloader:start(),
 6
 7     {ok, DefaultPort} = application:get_env(aloha, worker_port),
 8     Port = get_port(DefaultPort),
 9
10     elli:start_link([{callback, aloha_api}, {port, Port}]),
11     aloha_sup:start_link().
12
13 get_port(Default) ->
14     Key = "PORT",
15     case os:getenv(Key) of
16          false -> Default;
17          Val -> list_to_integer(Val)
18     end.
foreman
$: foreman start
deploy
$: git push heroku master
-----> Heroku receiving push
-----> Fetching custom git buildpack... done
-----> Erlang app detected
-----> Installing Rebar from buildpack
-----> Building with Rebar
   ==> build_1us6u0b7p5agc (get-deps)
   Pulling etest from {git,"git://github.com/wooga/etest.git","HEAD"}
   ......
   Compiled src/aloha_api.erl
-----> Discovering process types
   Procfile declares types -> web
-----> Compiled slug size: 6.3MB
-----> Launching... done, v19
   http://aloha-erl.herokuapp.com deployed to Heroku

To git@heroku.com:aloha-erl.git
 4bf3f39..198ba04 master -> master
$:curl aloha-erl.herokuapp.com/
             aloha
aloha-erl.herokuapp.com
thatā€™s it folks

mahalo
thanks to
ā€¢ https://twitter.com/wooga
ā€¢ https://twitter.com/knutin
ā€¢ https://twitter.com/hukl
ā€¢ https://twitter.com/hungryblank
ā€¢ https://twitter.com/guillermoo
ā€¢https://twitter.com/klickmich
ā€¢ Andreas hasselberg
ā€¢ Johannes Huning
Resources
ā€¢ https://github.com/phuesler/aloha_erl
ā€¢ http://vimeo.com/45212367
ā€¢ https://github.com/knutin/elli
ā€¢ https://github.com/wooga/etest
ā€¢ https://github.com/wooga/etest_http
ā€¢ https://github.com/basho/lager
ā€¢ https://github.com/mochi/mochiweb/blob/master/src/reloader.erl
ā€¢ https://github.com/heroku/heroku-buildpack-erlang
media
ā€¢ Erlang: The Movie - YouTube
ā€¢ bomb: http://www.flickr.com/photos/7969902@N07/511234695/

More Related Content

What's hot

OSMC 2014: Monitoring VoIP Systems | Sebastian Damm
OSMC 2014: Monitoring VoIP Systems | Sebastian DammOSMC 2014: Monitoring VoIP Systems | Sebastian Damm
OSMC 2014: Monitoring VoIP Systems | Sebastian DammNETWAYS
Ā 
Puppet Camp 2012
Puppet Camp 2012Puppet Camp 2012
Puppet Camp 2012Server Density
Ā 
Introduction to Flask Micro Framework
Introduction to Flask Micro FrameworkIntroduction to Flask Micro Framework
Introduction to Flask Micro FrameworkMohammad Reza Kamalifard
Ā 
Redis as a message queue
Redis as a message queueRedis as a message queue
Redis as a message queueBrandon Lamb
Ā 
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueRestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueGleicon Moraes
Ā 
Smolder @Silex
Smolder @SilexSmolder @Silex
Smolder @SilexJeen Lee
Ā 
Bootstrapping multidc observability stack
Bootstrapping multidc observability stackBootstrapping multidc observability stack
Bootstrapping multidc observability stackBram Vogelaar
Ā 
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and LuaRoll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and LuaJon Moore
Ā 
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteBram Vogelaar
Ā 
Observability with Consul Connect
Observability with Consul ConnectObservability with Consul Connect
Observability with Consul ConnectBram Vogelaar
Ā 
Autoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadAutoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadBram Vogelaar
Ā 
Flask With Server-Sent Event
Flask With Server-Sent EventFlask With Server-Sent Event
Flask With Server-Sent EventTencent
Ā 
Puppet and the HashiStack
Puppet and the HashiStackPuppet and the HashiStack
Puppet and the HashiStackBram Vogelaar
Ā 
Hacking ansible
Hacking ansibleHacking ansible
Hacking ansiblebcoca
Ā 
Node.js API ģ„œė²„ ģ„±ėŠ„ ź°œģ„ źø°
Node.js API ģ„œė²„ ģ„±ėŠ„ ź°œģ„ źø°Node.js API ģ„œė²„ ģ„±ėŠ„ ź°œģ„ źø°
Node.js API ģ„œė²„ ģ„±ėŠ„ ź°œģ„ źø°JeongHun Byeon
Ā 

What's hot (19)

OSMC 2014: Monitoring VoIP Systems | Sebastian Damm
OSMC 2014: Monitoring VoIP Systems | Sebastian DammOSMC 2014: Monitoring VoIP Systems | Sebastian Damm
OSMC 2014: Monitoring VoIP Systems | Sebastian Damm
Ā 
Puppet Camp 2012
Puppet Camp 2012Puppet Camp 2012
Puppet Camp 2012
Ā 
Introduction to Flask Micro Framework
Introduction to Flask Micro FrameworkIntroduction to Flask Micro Framework
Introduction to Flask Micro Framework
Ā 
Redis as a message queue
Redis as a message queueRedis as a message queue
Redis as a message queue
Ā 
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueRestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message Queue
Ā 
Smolder @Silex
Smolder @SilexSmolder @Silex
Smolder @Silex
Ā 
dotCloud and go
dotCloud and godotCloud and go
dotCloud and go
Ā 
Bootstrapping multidc observability stack
Bootstrapping multidc observability stackBootstrapping multidc observability stack
Bootstrapping multidc observability stack
Ā 
Pycon - Python for ethical hackers
Pycon - Python for ethical hackers Pycon - Python for ethical hackers
Pycon - Python for ethical hackers
Ā 
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and LuaRoll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
Ā 
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Ā 
Observability with Consul Connect
Observability with Consul ConnectObservability with Consul Connect
Observability with Consul Connect
Ā 
Autoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadAutoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomad
Ā 
Flask With Server-Sent Event
Flask With Server-Sent EventFlask With Server-Sent Event
Flask With Server-Sent Event
Ā 
Nginx-lua
Nginx-luaNginx-lua
Nginx-lua
Ā 
Puppet and the HashiStack
Puppet and the HashiStackPuppet and the HashiStack
Puppet and the HashiStack
Ā 
Learning Dtrace
Learning DtraceLearning Dtrace
Learning Dtrace
Ā 
Hacking ansible
Hacking ansibleHacking ansible
Hacking ansible
Ā 
Node.js API ģ„œė²„ ģ„±ėŠ„ ź°œģ„ źø°
Node.js API ģ„œė²„ ģ„±ėŠ„ ź°œģ„ źø°Node.js API ģ„œė²„ ģ„±ėŠ„ ź°œģ„ źø°
Node.js API ģ„œė²„ ģ„±ėŠ„ ź°œģ„ źø°
Ā 

Viewers also liked

Stateful_Application_Server_RuPy 2012_Brno
Stateful_Application_Server_RuPy 2012_BrnoStateful_Application_Server_RuPy 2012_Brno
Stateful_Application_Server_RuPy 2012_BrnoWooga
Ā 
You are not alone - Scaling multiplayer games
You are not alone - Scaling multiplayer gamesYou are not alone - Scaling multiplayer games
You are not alone - Scaling multiplayer gamesWooga
Ā 
NoSQL Games
NoSQL GamesNoSQL Games
NoSQL GamesWooga
Ā 
Wooga: Internationality meets Agility @Zutaten 2013
Wooga: Internationality meets Agility @Zutaten 2013Wooga: Internationality meets Agility @Zutaten 2013
Wooga: Internationality meets Agility @Zutaten 2013Wooga
Ā 
WebConf_Riga_Confessions of-a-traitor_Krzsysztof Szafranek
WebConf_Riga_Confessions of-a-traitor_Krzsysztof SzafranekWebConf_Riga_Confessions of-a-traitor_Krzsysztof Szafranek
WebConf_Riga_Confessions of-a-traitor_Krzsysztof SzafranekWooga
Ā 
2013 01-03 sgf-mobile_first_sebastian kriese
2013 01-03 sgf-mobile_first_sebastian kriese2013 01-03 sgf-mobile_first_sebastian kriese
2013 01-03 sgf-mobile_first_sebastian krieseWooga
Ā 
How to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
How to manage a startup_Gruenderwoche RWTH Aachen_Jan MiczaikaHow to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
How to manage a startup_Gruenderwoche RWTH Aachen_Jan MiczaikaWooga
Ā 
Stateful Application Server_JRubyConf13_Lukas Rieder
Stateful Application Server_JRubyConf13_Lukas RiederStateful Application Server_JRubyConf13_Lukas Rieder
Stateful Application Server_JRubyConf13_Lukas RiederWooga
Ā 
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)Wooga
Ā 
Erlang as a Cloud Citizen
Erlang as a Cloud CitizenErlang as a Cloud Citizen
Erlang as a Cloud CitizenWooga
Ā 
Designing for Scale
Designing for ScaleDesigning for Scale
Designing for ScaleWooga
Ā 
When Devs Do Ops
When Devs Do OpsWhen Devs Do Ops
When Devs Do OpsWooga
Ā 
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskGetting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskWooga
Ā 
JRubyConf2013_Tim Lossen_All your core
JRubyConf2013_Tim Lossen_All your coreJRubyConf2013_Tim Lossen_All your core
JRubyConf2013_Tim Lossen_All your coreWooga
Ā 
NoSQL Games_NoSQL Roadshow Berlin
NoSQL Games_NoSQL Roadshow BerlinNoSQL Games_NoSQL Roadshow Berlin
NoSQL Games_NoSQL Roadshow BerlinWooga
Ā 
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013Wooga
Ā 
Games for the Masses: Scaling Rails to the Extreme
Games for the Masses: Scaling Rails to the ExtremeGames for the Masses: Scaling Rails to the Extreme
Games for the Masses: Scaling Rails to the ExtremeWooga
Ā 
Metrics. Driven. Design. (Developer Conference Hamburg 2012)
Metrics. Driven. Design. (Developer Conference Hamburg 2012)Metrics. Driven. Design. (Developer Conference Hamburg 2012)
Metrics. Driven. Design. (Developer Conference Hamburg 2012)Wooga
Ā 
Event Stream Processing with Kafka (Berlin Buzzwords 2012)
Event Stream Processing with Kafka (Berlin Buzzwords 2012)Event Stream Processing with Kafka (Berlin Buzzwords 2012)
Event Stream Processing with Kafka (Berlin Buzzwords 2012)Wooga
Ā 
How to scale a company - game teams at Wooga
How to scale a company - game teams at WoogaHow to scale a company - game teams at Wooga
How to scale a company - game teams at WoogaWooga
Ā 

Viewers also liked (20)

Stateful_Application_Server_RuPy 2012_Brno
Stateful_Application_Server_RuPy 2012_BrnoStateful_Application_Server_RuPy 2012_Brno
Stateful_Application_Server_RuPy 2012_Brno
Ā 
You are not alone - Scaling multiplayer games
You are not alone - Scaling multiplayer gamesYou are not alone - Scaling multiplayer games
You are not alone - Scaling multiplayer games
Ā 
NoSQL Games
NoSQL GamesNoSQL Games
NoSQL Games
Ā 
Wooga: Internationality meets Agility @Zutaten 2013
Wooga: Internationality meets Agility @Zutaten 2013Wooga: Internationality meets Agility @Zutaten 2013
Wooga: Internationality meets Agility @Zutaten 2013
Ā 
WebConf_Riga_Confessions of-a-traitor_Krzsysztof Szafranek
WebConf_Riga_Confessions of-a-traitor_Krzsysztof SzafranekWebConf_Riga_Confessions of-a-traitor_Krzsysztof Szafranek
WebConf_Riga_Confessions of-a-traitor_Krzsysztof Szafranek
Ā 
2013 01-03 sgf-mobile_first_sebastian kriese
2013 01-03 sgf-mobile_first_sebastian kriese2013 01-03 sgf-mobile_first_sebastian kriese
2013 01-03 sgf-mobile_first_sebastian kriese
Ā 
How to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
How to manage a startup_Gruenderwoche RWTH Aachen_Jan MiczaikaHow to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
How to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
Ā 
Stateful Application Server_JRubyConf13_Lukas Rieder
Stateful Application Server_JRubyConf13_Lukas RiederStateful Application Server_JRubyConf13_Lukas Rieder
Stateful Application Server_JRubyConf13_Lukas Rieder
Ā 
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)
Ā 
Erlang as a Cloud Citizen
Erlang as a Cloud CitizenErlang as a Cloud Citizen
Erlang as a Cloud Citizen
Ā 
Designing for Scale
Designing for ScaleDesigning for Scale
Designing for Scale
Ā 
When Devs Do Ops
When Devs Do OpsWhen Devs Do Ops
When Devs Do Ops
Ā 
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskGetting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Ā 
JRubyConf2013_Tim Lossen_All your core
JRubyConf2013_Tim Lossen_All your coreJRubyConf2013_Tim Lossen_All your core
JRubyConf2013_Tim Lossen_All your core
Ā 
NoSQL Games_NoSQL Roadshow Berlin
NoSQL Games_NoSQL Roadshow BerlinNoSQL Games_NoSQL Roadshow Berlin
NoSQL Games_NoSQL Roadshow Berlin
Ā 
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013
Ā 
Games for the Masses: Scaling Rails to the Extreme
Games for the Masses: Scaling Rails to the ExtremeGames for the Masses: Scaling Rails to the Extreme
Games for the Masses: Scaling Rails to the Extreme
Ā 
Metrics. Driven. Design. (Developer Conference Hamburg 2012)
Metrics. Driven. Design. (Developer Conference Hamburg 2012)Metrics. Driven. Design. (Developer Conference Hamburg 2012)
Metrics. Driven. Design. (Developer Conference Hamburg 2012)
Ā 
Event Stream Processing with Kafka (Berlin Buzzwords 2012)
Event Stream Processing with Kafka (Berlin Buzzwords 2012)Event Stream Processing with Kafka (Berlin Buzzwords 2012)
Event Stream Processing with Kafka (Berlin Buzzwords 2012)
Ā 
How to scale a company - game teams at Wooga
How to scale a company - game teams at WoogaHow to scale a company - game teams at Wooga
How to scale a company - game teams at Wooga
Ā 

Similar to More than syntax

Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Marrow: A Meta-Framework for Python 2.6+ and 3.1+Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Marrow: A Meta-Framework for Python 2.6+ and 3.1+ConFoo
Ā 
Re-Design with Elixir/OTP
Re-Design with Elixir/OTPRe-Design with Elixir/OTP
Re-Design with Elixir/OTPMustafa TURAN
Ā 
Debugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionDebugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionIan Barber
Ā 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & ToolsIan Barber
Ā 
Ch ch-changes cake php2
Ch ch-changes cake php2Ch ch-changes cake php2
Ch ch-changes cake php2markstory
Ā 
Migrating legacy data
Migrating legacy dataMigrating legacy data
Migrating legacy dataPatrick Huesler
Ā 
Tools for Making Machine Learning more Reactive
Tools for Making Machine Learning more ReactiveTools for Making Machine Learning more Reactive
Tools for Making Machine Learning more ReactiveJeff Smith
Ā 
And the Greatest of These Is ... Rack Support
And the Greatest of These Is ... Rack SupportAnd the Greatest of These Is ... Rack Support
And the Greatest of These Is ... Rack SupportBen Scofield
Ā 
Innovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and MonitoringInnovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and MonitoringCary Millsap
Ā 
How and why i roll my own node.js framework
How and why i roll my own node.js frameworkHow and why i roll my own node.js framework
How and why i roll my own node.js frameworkBen Lin
Ā 
Rooted 2010 ppp
Rooted 2010 pppRooted 2010 ppp
Rooted 2010 pppnoc_313
Ā 
Oracle APEX Performance
Oracle APEX PerformanceOracle APEX Performance
Oracle APEX PerformanceScott Wesley
Ā 
The why and how of moving to PHP 5.4/5.5
The why and how of moving to PHP 5.4/5.5The why and how of moving to PHP 5.4/5.5
The why and how of moving to PHP 5.4/5.5Wim Godden
Ā 
Practical Celery
Practical CeleryPractical Celery
Practical CeleryCameron Maske
Ā 
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015Masahiro Nagano
Ā 
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Groovy Ecosystem - JFokus 2011 - Guillaume LaforgeGroovy Ecosystem - JFokus 2011 - Guillaume Laforge
Groovy Ecosystem - JFokus 2011 - Guillaume LaforgeGuillaume Laforge
Ā 
The why and how of moving to php 5.4/5.5
The why and how of moving to php 5.4/5.5The why and how of moving to php 5.4/5.5
The why and how of moving to php 5.4/5.5Wim Godden
Ā 
Deixa para depois, Procrastinando com Celery em Python
Deixa para depois, Procrastinando com Celery em PythonDeixa para depois, Procrastinando com Celery em Python
Deixa para depois, Procrastinando com Celery em PythonAdriano Petrich
Ā 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsOhad Kravchick
Ā 

Similar to More than syntax (20)

Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Marrow: A Meta-Framework for Python 2.6+ and 3.1+Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Ā 
Re-Design with Elixir/OTP
Re-Design with Elixir/OTPRe-Design with Elixir/OTP
Re-Design with Elixir/OTP
Ā 
Debugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionDebugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 Version
Ā 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & Tools
Ā 
Ch ch-changes cake php2
Ch ch-changes cake php2Ch ch-changes cake php2
Ch ch-changes cake php2
Ā 
Migrating legacy data
Migrating legacy dataMigrating legacy data
Migrating legacy data
Ā 
Es6 hackathon
Es6 hackathonEs6 hackathon
Es6 hackathon
Ā 
Tools for Making Machine Learning more Reactive
Tools for Making Machine Learning more ReactiveTools for Making Machine Learning more Reactive
Tools for Making Machine Learning more Reactive
Ā 
And the Greatest of These Is ... Rack Support
And the Greatest of These Is ... Rack SupportAnd the Greatest of These Is ... Rack Support
And the Greatest of These Is ... Rack Support
Ā 
Innovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and MonitoringInnovative Specifications for Better Performance Logging and Monitoring
Innovative Specifications for Better Performance Logging and Monitoring
Ā 
How and why i roll my own node.js framework
How and why i roll my own node.js frameworkHow and why i roll my own node.js framework
How and why i roll my own node.js framework
Ā 
Rooted 2010 ppp
Rooted 2010 pppRooted 2010 ppp
Rooted 2010 ppp
Ā 
Oracle APEX Performance
Oracle APEX PerformanceOracle APEX Performance
Oracle APEX Performance
Ā 
The why and how of moving to PHP 5.4/5.5
The why and how of moving to PHP 5.4/5.5The why and how of moving to PHP 5.4/5.5
The why and how of moving to PHP 5.4/5.5
Ā 
Practical Celery
Practical CeleryPractical Celery
Practical Celery
Ā 
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Ā 
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Groovy Ecosystem - JFokus 2011 - Guillaume LaforgeGroovy Ecosystem - JFokus 2011 - Guillaume Laforge
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Ā 
The why and how of moving to php 5.4/5.5
The why and how of moving to php 5.4/5.5The why and how of moving to php 5.4/5.5
The why and how of moving to php 5.4/5.5
Ā 
Deixa para depois, Procrastinando com Celery em Python
Deixa para depois, Procrastinando com Celery em PythonDeixa para depois, Procrastinando com Celery em Python
Deixa para depois, Procrastinando com Celery em Python
Ā 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js Applications
Ā 

More from Wooga

Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile Wooga
Ā 
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015Wooga
Ā 
In it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retentionIn it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retentionWooga
Ā 
Leveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario QuondamstefanoLeveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario QuondamstefanoWooga
Ā 
Evoloution of Ideas
Evoloution of IdeasEvoloution of Ideas
Evoloution of IdeasWooga
Ā 
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Wooga
Ā 
Saying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferSaying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferWooga
Ā 
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Wooga
Ā 
Big Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenBig Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenWooga
Ā 
Review mining aps2014 berlin
Review mining aps2014 berlinReview mining aps2014 berlin
Review mining aps2014 berlinWooga
Ā 
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 BerlinRiak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 BerlinWooga
Ā 
Staying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile marketStaying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile marketWooga
Ā 
Startup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp StelzerStartup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp StelzerWooga
Ā 
DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)Wooga
Ā 
DevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmDevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmWooga
Ā 
CodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game DevelopmentCodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game DevelopmentWooga
Ā 
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Wooga
Ā 
How to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of PeopleHow to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of PeopleWooga
Ā 
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Wooga
Ā 
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean MarketPocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean MarketWooga
Ā 

More from Wooga (20)

Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile
Ā 
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Ā 
In it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retentionIn it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retention
Ā 
Leveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario QuondamstefanoLeveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario Quondamstefano
Ā 
Evoloution of Ideas
Evoloution of IdeasEvoloution of Ideas
Evoloution of Ideas
Ā 
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Ā 
Saying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferSaying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Ā 
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Ā 
Big Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenBig Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Ā 
Review mining aps2014 berlin
Review mining aps2014 berlinReview mining aps2014 berlin
Review mining aps2014 berlin
Ā 
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 BerlinRiak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
Ā 
Staying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile marketStaying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile market
Ā 
Startup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp StelzerStartup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp Stelzer
Ā 
DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)
Ā 
DevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmDevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
Ā 
CodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game DevelopmentCodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game Development
Ā 
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Ā 
How to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of PeopleHow to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of People
Ā 
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Ā 
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean MarketPocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
Ā 

Recently uploaded

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 future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜RTylerCroy
Ā 
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
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
Ā 
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
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
Ā 
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
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
Ā 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
Ā 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
Ā 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
Ā 
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
Ā 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
Ā 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
Ā 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
Ā 
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
Ā 

Recently uploaded (20)

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 future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 
Finology Group ā€“ Insurtech Innovation Award 2024
Finology Group ā€“ Insurtech Innovation Award 2024Finology Group ā€“ Insurtech Innovation Award 2024
Finology Group ā€“ Insurtech Innovation Award 2024
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Ā 
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
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Ā 
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
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Ā 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Ā 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Ā 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Ā 
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...
Ā 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Ā 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Ā 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Ā 
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
Ā 

More than syntax