Skip to content

Commit 055d6b3

Browse files
authored
Merge pull request #9 from lnug/may-2018
May 2018
2 parents 1da7f99 + 7cdc2d3 commit 055d6b3

File tree

5 files changed

+77
-67
lines changed

5 files changed

+77
-67
lines changed

assets/conde_nast_logo.jpg

588 KB
Loading

assets/nearForm_hiring.jpg

1.81 MB
Loading

assets/pusher_logo_white.png

-92.7 KB
Loading

assets/simon.png

-146 KB
Binary file not shown.

presentation/index.js

Lines changed: 77 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ const { PropTypes } = React;
3434

3535
const images = {
3636
logo: require("../assets/lnug-logo.svg"),
37-
makersLogo: require("../assets/makers_logo.png"),
3837
nearFormLogo: require("../assets/nearform.jpg"),
38+
nearFormHiring: require("../assets/nearform_hiring.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+
condeNastLogo: require("../assets/conde_nast_logo.jpg")
4343
};
4444

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

5656
const emcee = {
57-
name: "Adam",
58-
twitter: "admataz"
57+
name: "Claire",
58+
twitter: "claireinez"
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 = [
6464
{
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"
65+
"apiSpeakerUrl": "https://api.github.com/users/paulbjensen",
66+
"speakerUrl": "https://github.com/paulbjensen",
67+
"title": "Objection.js, a SQL ORM",
68+
"description": "<p>Objection.js is a SQL ORM (Object Relational mapping) for Node.js.</p>\n<p>In this talk, I will walk you through how the module works, show live examples of it in action, and present the case for considering it in your Node.js projects.</p>\n<p>Things that we&#39;ll cover are:</p>\n<ul>\n<li>Quick setup</li>\n<li>Creating the underlying database schema for your models via Knex.js</li>\n<li>Creating models and executing SQL queries via the models</li>\n<li>Implementing validation in your models with JSON schema</li>\n<li>Defining relationships between models</li>\n<li>Doing graph inserts and updates</li>\n<li>Setting up a GraphQL API with the objection-graphql plugin</li>\n<li>Other interesting objection.js plugins</li>\n</ul>\n<p>My name is Paul Jensen, I&#39;m the author of <a href=\"http://manning.com/books/cross-platform-desktop-applications\">Manning&#39;s &quot;Cross Platform Desktop Applications - Using Node, Electron, and NW.js&quot;</a>. You can find me on <a href=\"https://twitter.com/paulbjensen\">Twitter</a> and <a href=\"https://github.com/paulbjensen\">Github</a>.</p>\n",
69+
"milestone": "May 23rd 2018",
70+
"img": "https://avatars3.githubusercontent.com/u/3840?v=4",
71+
"handle": "paulbjensen",
72+
"name": "Paul Jensen",
73+
"twitter": "paulbjensen"
7374
},
7475
{
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"
76+
"apiSpeakerUrl": "https://api.github.com/users/sielay",
77+
"speakerUrl": "https://github.com/sielay",
78+
"title": "WHAT IF WE <JSX/> DEVOPS",
79+
"description": "<p>A small crazy science experiment ~failed~</p>",
80+
"milestone": "May 23rd 2018",
81+
"img": "https://avatars3.githubusercontent.com/u/133139?s=400&v=4",
82+
"handle": "sielay",
83+
"name": "Łukasz Marek Sielski",
84+
"twitter": "sielay"
8385
},
8486
{
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"
87+
"apiSpeakerUrl": "https://api.github.com/users/erankeren",
88+
"speakerUrl": "https://github.com/erankeren",
89+
"title": "ExpressLess - 200 OK",
90+
"description": "<p>Heard about Serverless? Already know Express.js? Too afraid to use the two? </p>\n<p>My talk will last ~20 mins and will cover the following:</p>\n<ul>\n<li><p>Where are my servers? (Moving from the classic setup to a serverless one)</p>\n</li>\n<li><p>Express.js + Serverless?</p>\n</li>\n<li><p>How can I test my serverless app? (Offline testing)</p>\n</li>\n<li><p>Where are my logs?</p>\n</li>\n<li><p>Wait, are my apis public? (Securing your endpoints)</p>\n</li>\n<li><p>Shhhhh....(Keeping secrets)</p>\n</li>\n</ul>\n<h3 id=\"about-me-\">About me:</h3>\n<p>I started my career over a decade ago writing code for firewalls and security systems (c/c++/java). In recent years I&#39;ve been specialising in cloud engineering, microservices, aws and serverless (mostly in node.js).</p>\n<p>Now: I&#39;m the CTO of a young and still in stealth mode startup - <a href=\"http://sourcingbot.com\">sourcingbot.com</a></p>\n",
91+
"milestone": "May 23rd 2018",
92+
"img": "https://avatars3.githubusercontent.com/u/16254901?v=4",
93+
"handle": "erankeren",
94+
"name": "Eran Keren"
9395
}
9496
];
9597

9698
const thisMonth = {
97-
title: "#71 - March 2018"
99+
title: "#73 - May 2018"
98100
};
99101

100102
const nextMonth = {
101-
date: "25th April 2018",
102-
speakers: [
103-
{
104-
name: "Paul Jensen",
105-
title: "End-to-end testing Single Page Apps and APIs with Cucumber.js & Puppeteer"
106-
},
107-
{
108-
name: "Maybe you.... ?",
109-
title: "share your dev stories"
110-
}
111-
]
112-
103+
date: "27th June 2018",
104+
speakers: []
113105
};
114106

115107

@@ -169,12 +161,12 @@ export default class Presentation extends React.Component {
169161

170162
<Slide id={"safety"}>
171163
<Heading size={3} lineHeight={3} textColor="secondary">Important</Heading>
172-
<Appear><Heading size={5} textColor="secondary">🚒 Fire Exits: stairs behind you </Heading></Appear>
173-
<Appear><Heading size={5} textColor="secondary">🚻 Toilets: towards the lifts </Heading></Appear>
174-
<Appear><Heading size={5} textColor="secondary">📡 Wifi <Code textColor="secondary">makersWelcome</Code> </Heading></Appear>
164+
<Appear><Heading size={5} textColor="secondary">🚻 Toilets: ask for a pass </Heading></Appear>
165+
<Appear><Heading size={5} textColor="secondary">🚒 Fire Exits: next to the toilets </Heading></Appear>
166+
<Appear><Heading size={5} textColor="secondary">📡 Wifi <Code textColor="secondary">CN Guest</Code> </Heading></Appear>
175167
</Slide>
176168

177-
<Slide>
169+
<Slide id="code-of-conduct">
178170
<Heading size={5} textColor="secondary">⭐️ Code of Conduct </Heading>
179171
<Appear>
180172
<BlockQuote>
@@ -189,6 +181,16 @@ export default class Presentation extends React.Component {
189181
</Appear>
190182
</Slide>
191183

184+
<Slide id="reminder">
185+
<Heading size={5} textColor="secondary">💡 A reminder </Heading>
186+
<Appear>
187+
<Text textColor="secondary">
188+
<p>No Q&A - chat in the breaks instead</p>
189+
<p>Please don't interrupt the speaker</p>
190+
</Text>
191+
</Appear>
192+
</Slide>
193+
192194
<Slide id={"hashtags"}>
193195
<Heading size={3} textColor="secondary">Tweet <Text textColor="highlight">@lnugorg</Text></Heading>
194196
<Heading size={4} textColor="secondary"><Code textColor="secondary">#LNUG #node #javascript #london</Code></Heading>
@@ -205,18 +207,31 @@ export default class Presentation extends React.Component {
205207

206208
<Slide id={"venue"}>
207209
<Heading size={3} textColor="secondary">Venue</Heading>
208-
<Image src={images.makersLogo.replace("/", "")} margin="0px auto 40px" height="293px"/>
210+
<Image src={images.condeNastLogo.replace("/", "")} margin="0px auto 40px" width="800px"/>
209211
</Slide>
210212

211-
<Slide id={"pizza-and-beer"}>
212-
<Heading size={3} textColor="secondary">Pizza and beer</Heading>
213+
<Slide id={"food-and-drink"}>
214+
<Heading size={3} textColor="secondary">Food and drink</Heading>
213215
<Image src={images.nearFormLogo.replace("/", "")} margin="0px auto 40px" height="293px"/>
216+
{' '}
217+
<Image src={images.nearFormHiring.replace("/", "")} margin="0px auto 40px" height="293px"/>
214218
</Slide>
215219

216220
<Slide id={"video-production"}>
217221
<Heading size={3} textColor="secondary">Video</Heading>
218222
<Image src={images.pusherLogo.replace("/", "")} margin="0px auto 40px" height="293px"/>
219223
</Slide>
224+
225+
<Slide id={"announcements"}>
226+
<Heading size={3} textColor="highlight">Announcements</Heading>
227+
<Text textColor="secondary" textSize={38} margin="20px 0">
228+
ServerlessDays tickets!
229+
</Text>
230+
<Text textColor="secondary" textSize={30} margin="20px 0">
231+
(thank you @mattjbatchelor)
232+
</Text>
233+
</Slide>
234+
220235
<SummarySlide />
221236

222237

@@ -226,7 +241,6 @@ export default class Presentation extends React.Component {
226241
<Slide>
227242
<Image src={images.logo} margin="0px auto 0px" height="200px"/>
228243
<Heading size={3} textColor="highlight" margin={50}>Community Announcements</Heading>
229-
<Heading size={5} textColor="secondary">Who? What? Contact details?</Heading>
230244
<Heading size={5} textColor="secondary">Hiring?</Heading>
231245
<Heading size={5} textColor="secondary">Available for hire?</Heading>
232246
<Heading size={5} textColor="secondary">Have something to share?</Heading>
@@ -245,7 +259,7 @@ export default class Presentation extends React.Component {
245259

246260
<Slide>
247261
<Image src={images.logo} margin="0px auto 0px" height="200px"/>
248-
<Heading size={3} textColor="highlight">submit a talk proposal!</Heading>
262+
<Heading size={3} textColor="highlight">Submit a talk proposal!</Heading>
249263
<Code type="bold" textColor="secondary">github.com/lnug/speakers</Code>
250264
</Slide>
251265

@@ -274,39 +288,35 @@ export default class Presentation extends React.Component {
274288
The 4th Wednesday of the month
275289
</Text>
276290
</Slide>
277-
278-
291+
292+
279293
<Slide>
280294
<Image src={images.logo} margin="10px" height="153px"/>
281295
<Heading size={3} textColor="highlight" >Thank You</Heading>
282296
<Heading size={5} textColor="secondary">Had a great time? Let us know!</Heading>
283297
<Text textColor="secondary">github.com/lnug/feedback</Text>
284-
298+
285299
<br />and thanks again...<br />
286-
287-
<Image src={images.makersLogo.replace("/", "")} margin="10px" height="63px"/>
300+
301+
<Image src={images.condeNastLogo.replace("/", "")} margin="10px" height="63px"/>
288302
<Image src={images.nearFormLogo.replace("/", "")} margin="10px" height="63px"/>
289303
<Image src={images.pusherLogo.replace("/", "")} margin="10px" height="63px"/>
290-
304+
291305
</Slide>
292-
293-
306+
307+
294308
<Slide>
295309
<Heading size={3} textColor="secondary" margin={30}>After Party</Heading>
296-
<Heading size={5} textColor="secondary">The Culpeper</Heading>
297-
<Text textColor="secondary" margin={10}>
298-
40 Commercial Street, London, E1 6LP
299-
</Text>
310+
<Heading size={5} textColor="secondary">Coal Hole</Heading>
300311
<Text textColor="secondary" margin={10}>
301-
http://theculpeper.com/pub/
312+
91-92 Strand, London WC2R 0DW
302313
</Text>
303314
<Image src={images.cheers.replace("/", "")} margin="40px auto 0px" height="200px"/>
304315
<Heading size={5} textColor="highlight" >Before you go...</Heading>
305-
306-
Rubbish in Bins,
307-
Stack chairs against walls,
316+
317+
Tidy up after yourself!
308318
Get involved!
309-
319+
310320

311321
</Slide>
312322

0 commit comments

Comments
 (0)