Skip to content

Commit 64f8b12

Browse files
committed
slides for march 2018
1 parent 75eeac0 commit 64f8b12

File tree

2 files changed

+66
-60
lines changed

2 files changed

+66
-60
lines changed

assets/nearform.jpg

17.3 KB
Loading

presentation/index.js

Lines changed: 66 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ const { PropTypes } = React;
3535
const images = {
3636
logo: require("../assets/lnug-logo.svg"),
3737
makersLogo: require("../assets/makers_logo.png"),
38-
tiroLogo: require("../assets/tiro_logo.jpg"),
38+
nearFormLogo: require("../assets/nearform.jpg"),
3939
pusherLogo: require("../assets/pusher_logo_white.png"),
4040
pizza: require("../assets/pizza-1.gif"),
4141
cheers: require("../assets/cheers.gif"),
42-
simon: require("../assets/simon.png"),
42+
simon: require("../assets/simon.png")
4343
};
4444

4545
preloader(images);
@@ -54,53 +54,59 @@ const theme = createTheme({
5454
});
5555

5656
const emcee = {
57-
name: "Clarkie",
58-
twitter: "clarkieclarkie"
57+
name: "Adam",
58+
twitter: "admataz"
5959
};
6060

6161

6262
// get this from the latest from https://github.com/lnug/website/blob/master/data/this-month.json and add twitter details if desired
6363
const speakers = [
64-
{
65-
"apiSpeakerUrl": "https://api.github.com/users/theninj4",
66-
"speakerUrl": "https://github.com/theninj4",
67-
"title": "Cultivating a Microservice Culture with Node.js",
68-
"description": "<p>We&#39;ve spent the last 14 months working with Node.js to migrate the Holiday Extras engineering team away from Node.js monolith applications and over to Node.js microservices. Node.js is the heart and soul of the operation and the time has come to share how it&#39;s taken us above and beyond our wildest dreams. In this talk I&#39;ll be sharing how we&#39;re using Node.js throughout our stack, some of the key projects we&#39;ve built and the problems they solve, and how to really make the most out of Node.js to build an incredibly powerful engineering experience. </p>\n<p>I&#39;m a software engineer in the tech-foundations pod at <a href=\"http://join.holidayextras.co.uk/\">Holiday Extras</a> with a remit to improve the efficiency of our engineering team. I&#39;ve been writing Node.js day-in-day-out for over 5 years and dabble with infrastructure on the side.</p>\n",
69-
"milestone": "February 28th 2018",
70-
"img": "https://avatars2.githubusercontent.com/u/3055120?v=4",
71-
"handle": "theninj4",
72-
"name": "Oliver Rumbelow"
73-
},
74-
{
75-
"apiSpeakerUrl": "https://api.github.com/users/thanpolas",
76-
"speakerUrl": "https://github.com/thanpolas",
77-
"title": "Classical Inheritance in Javascript",
78-
"description": "<p>Javascript inheritance has always been a challenging issue for new and seasoned developers. In this talk, we will dive deep into the inner workings of Javascript inheritance and see the beauty of prototypical inheritance and the prototype chain. While this is a classic talk, it is particularly relevant to the current debate in the React community over the use of fat arrow vs pre-bounded methods.&#10;<a href=\"https://speakerdeck.com/thanpolas/classical-inheritance-in-javascript\">Talk slides</a></p>\n<p>Github: <a href=\"https://github.com/thanpolas\">thanpolas</a>, Twitter: <a href=\"https://twitter.com/thanpolas\">@thanpolas</a>, <a href=\"http://www.linkedin.com/in/thanpolas\">LinkedIn</a>, <a href=\"http://thanpol.as\">website</a></p>\n",
79-
"milestone": "February 28th 2018",
80-
"img": "https://avatars1.githubusercontent.com/u/458813?v=4",
81-
"handle": "thanpolas",
82-
"name": "Thanasis Polychronakis"
83-
}
64+
{
65+
"apiSpeakerUrl": "https://api.github.com/users/mcollina",
66+
"speakerUrl": "https://github.com/mcollina",
67+
"title": "My Node.js process is on Fire",
68+
"description": "<p>At 10am on Black Friday, your phone rings: the new JS application you deployed came under too much load, and the site has gone down! Your employer is losing sales opportunities... your employer is losing money!</p>\n<p>But you don&rsquo;t lose your cool. You log into your cloud provider and tweak your autoscaling settings. Now the deployment can handle the load spike but with four times the number of servers, which is four times the cost.</p>\n<p>The next day, you try to analyze what happened and begin to optimize your application to prepare for future load spikes. </p>\n<p>This talk is a journey into the world of Node.js performance, taking a look at the available tools and optimization techniques inspired by insight gained from glimpsing under the hood of Node and V8.</p>\n<h3 id=\"bio\">Bio</h3>\n<p>Matteo is a code pirate and mad scientist. He spends most of his days programming in Node.js, but in the past he worked with Ruby, Java and Objective-C. In 2014, he defended his Ph.D. thesis titled &quot;Application Platforms for the Internet of Things&quot;. Now he is a Principal Architect at <a href=\"http://nearform.com\">nearForm</a>, where he consults for the top brands of the world.&#10;Matteo is also the author of the Node.js MQTT Broker, <a href=\"http://mosca.io\">Mosca</a>, the fast logger <a href=\"https://github.com/mcollina/pino\">Pino</a> and of the <a href=\"https://www.fastify.io\">Fastify</a> web framework. Matteo is also a member of the Node.js Technical Steering Committee. Matteo spoke at several international conferences: Node.js Interactive, NodeConf.eu, NodeSummit, JSConf.Asia, WebRebels, and JsDay to name a few. He is also co-author of the book &quot;Node.js Cookbook, Third Edition&quot; edited by Packt. &#10;In the summer he loves sailing the <em>Sirocco</em>.</p>\n<p>Twitter handle: <a href=\"https://twitter.com/matteocollina\">@matteocollina</a></p>\n",
69+
"milestone": "March 28th 2018",
70+
"img": "https://avatars0.githubusercontent.com/u/52195?v=4",
71+
"handle": "mcollina",
72+
"name": "Matteo Collina"
73+
},
74+
{
75+
"apiSpeakerUrl": "https://api.github.com/users/claudiamatosa",
76+
"speakerUrl": "https://github.com/claudiamatosa",
77+
"title": "Internal Server Error",
78+
"description": "<p>Who hasn&#39;t found themselves in despair after hours of trying to debug a problem that seemed simple, because halfway down the line the stack trace ended in a file called <code>throw-error.js</code>, or simply there were no errors thrown and the code just didn&#39;t work as expected?</p>\n<p>The talk will last between 15 and 20 minutes, will be structured in two parts and there will be plenty of gifs and emojis. It should cover errors in Node and browsers.</p>\n<h3 id=\"1-common-bad-error-handling-scenarios\">1. Common bad error handling scenarios</h3>\n<ul>\n<li>Stacktrace lost.</li>\n<li>Code exits without error.</li>\n<li>Generic error messages (<code>something has failed</code>).</li>\n<li>...</li>\n</ul>\n<h3 id=\"2-exploring-possible-solutions-examples-\">2. Exploring possible solutions (examples)</h3>\n<ul>\n<li>Custom errors.</li>\n<li>Formatting error api responses.</li>\n<li>Displaying errors in the UI.</li>\n<li>Examples when using Apollo (GraphQL), React and maybe other tools.</li>\n</ul>\n<p>Conclusion: your library/utility/api should be built around its users, and they shouldn&#39;t need to read the code to know why something is wrong.</p>\n<p>(I&#39;m really bad with titles &#55357;&#56883;)</p>\n<p>I&#39;m a freelance front-end developer, currently working with React and GraphQL.&#10;<a href=\"twitter.com/claudiamatosa\">twitter</a> | <a href=\"github.com/claudiamatosa\">github</a></p>\n",
79+
"milestone": "March 28th 2018",
80+
"img": "https://avatars1.githubusercontent.com/u/5296066?v=4",
81+
"handle": "claudiamatosa",
82+
"name": "Claudia Matosa"
83+
},
84+
{
85+
"apiSpeakerUrl": "https://api.github.com/users/theburningmonk",
86+
"speakerUrl": "https://github.com/theburningmonk",
87+
"title": "Serverless in production, an experience report",
88+
"description": "<p>AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures? </p>\n<p>In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.</p>\n<h3 id=\"about-me-\">About me:</h3>\n<p>Yan (@theburningmonk) is a polyglot developer and architect, he is a regular speaker at user groups and conferences internationally. Yan is the author of <code>AWS Lambda in Motion</code>, a co-author of <code>F# Deep Dives</code>, and he keeps an active blog at <a href=\"http://theburningmonk.com\">http://theburningmonk.com</a> where he shares his thoughts on topics such as AWS, serverless, functional programming and chaos engineering.</p>\n<p>my co-speaker is <strong>Scott Smethurst</strong> : Scott&rsquo;s passion for computing began when he was gifted a Commodore 64 for Christmas in 1988 and really took hold while studying Computer Science at the University of Manchester. He&rsquo;s been an architect, lead developer and consultant within a variety of industries, working with organisations ranging from a multi-billion pound corporation to a failed start-up. Scott has spent most of the past 2 years designing and building several serverless architectures and has decided to start sharing some of those experiences.</p>\n",
89+
"milestone": "March 28th 2018",
90+
"img": "https://avatars3.githubusercontent.com/u/546969?v=4",
91+
"handle": "theburningmonk",
92+
"name": "Yan Cui & Scott Smethurst"
93+
}
8494
];
8595

8696
const thisMonth = {
87-
title: "#70 - February 2018"
97+
title: "#71 - March 2018"
8898
};
8999

90100
const nextMonth = {
91-
date: "28th March 2018",
101+
date: "25th April 2018",
92102
speakers: [
93103
{
94-
name: "Claudia Matosa",
95-
title: "Internal Server Error"
104+
name: "Paul Jensen",
105+
title: "End-to-end testing Single Page Apps and APIs with Cucumber.js & Puppeteer"
96106
},
97107
{
98-
name: "Matteo Collina",
99-
title: "My Node.js process is on Fire"
100-
},
101-
{
102-
name: "Yan Cui",
103-
title: "Serverless in production, an experience report"
108+
name: "Maybe you.... ?",
109+
title: "share your dev stories"
104110
}
105111
]
106112

@@ -204,7 +210,7 @@ export default class Presentation extends React.Component {
204210

205211
<Slide id={"pizza-and-beer"}>
206212
<Heading size={3} textColor="secondary">Pizza and beer</Heading>
207-
<Image src={images.tiroLogo.replace("/", "")} margin="0px auto 40px" height="293px"/>
213+
<Image src={images.nearFormLogo.replace("/", "")} margin="0px auto 40px" height="293px"/>
208214
</Slide>
209215

210216
<Slide id={"video-production"}>
@@ -216,14 +222,6 @@ export default class Presentation extends React.Component {
216222

217223
<SpeakerSlide speaker={speakers[0]} />
218224

219-
<Slide>
220-
<Image src={images.logo} margin="0px auto 0px" height="200px"/>
221-
<Heading size={3} textColor="highlight" margin={50}>Simon's hot tips</Heading>
222-
</Slide>
223-
224-
<Slide>
225-
<Image src={images.simon} margin="0px auto 0px" height="400px"/>
226-
</Slide>
227225

228226
<Slide>
229227
<Image src={images.logo} margin="0px auto 0px" height="200px"/>
@@ -268,14 +266,31 @@ export default class Presentation extends React.Component {
268266
</ListItem>
269267
)}
270268
</List>
269+
271270
<Code textColor="secondary" bold>
272271
meetup.com/london-nodejs
273272
</Code>
274273
<Text textColor="secondary" italic margin={20}>
275274
The 4th Wednesday of the month
276275
</Text>
277276
</Slide>
278-
277+
278+
279+
<Slide>
280+
<Image src={images.logo} margin="10px" height="153px"/>
281+
<Heading size={3} textColor="highlight" >Thank You</Heading>
282+
<Heading size={5} textColor="secondary">Had a great time? Let us know!</Heading>
283+
<Text textColor="secondary">github.com/lnug/feedback</Text>
284+
285+
<br />and thanks again...<br />
286+
287+
<Image src={images.makersLogo.replace("/", "")} margin="10px" height="63px"/>
288+
<Image src={images.nearFormLogo.replace("/", "")} margin="10px" height="63px"/>
289+
<Image src={images.pusherLogo.replace("/", "")} margin="10px" height="63px"/>
290+
291+
</Slide>
292+
293+
279294
<Slide>
280295
<Heading size={3} textColor="secondary" margin={30}>After Party</Heading>
281296
<Heading size={5} textColor="secondary">The Culpeper</Heading>
@@ -286,25 +301,16 @@ export default class Presentation extends React.Component {
286301
http://theculpeper.com/pub/
287302
</Text>
288303
<Image src={images.cheers.replace("/", "")} margin="40px auto 0px" height="200px"/>
289-
</Slide>
290-
304+
<Heading size={5} textColor="highlight" >Before you go...</Heading>
305+
306+
Rubbish in Bins,
307+
Stack chairs against walls,
308+
Get involved!
309+
291310

292-
<Slide>
293-
<Heading size={3} textColor="secondary">Thank You</Heading>
294-
<Heading size={5} textColor="secondary">Had a great time? Let us know!</Heading>
295-
<Text textColor="secondary">github.com/lnug/feedback</Text>
296-
<Heading size={5} textColor="secondary" margin={"40px 0 0 0"}>Brought to you by</Heading>
297-
<List margin="20px 0 0 0">
298-
<ListItem>Makers Academy</ListItem>
299-
<ListItem>Tiro Partners</ListItem>
300-
<ListItem>Pusher</ListItem>
301-
<ListItem>github.com/orgs/lnug/people</ListItem>
302-
</List>
303-
Rubbish in Bins,
304-
Stack chairs against walls,
305-
Get involved!
306311
</Slide>
307312

313+
308314
</Deck>
309315
);
310316
}

0 commit comments

Comments
 (0)