How was ConFoo?
Tell us something interesting. Here are questions if you can't think of something else to say:
- What sessions did you pick and why?
- What did you learn about?
- Who did you meet?
- Tell us a story about something that happened.
- What would you do differently next time?
Comments
-
My sessions!
- Security Microservices - It's interesting to see other developers' approaches to security.
- Removing the Boilerplate - Slimming down the existing codebase and keeping the bloat down in the future.
- Irresistable APIs - Looking for ideas on making a developer-centric API.
- Are you writing good code? - I'd hoped this was going to be a talk on how to ensure you were implementing good practices and how to improve further.
- The Post-JavaScript Apocalypse - A keynote from a famous programmer associated with JavaScript.
- The Seven Righteous Fights - Key topics to keep in mind when planning a project and how to validate/defend their inclusion.
- Solving Real-World Problems with Design Patterns - Seeking to improve and stay current with implementing proven design patterns.
- Accessible JavaScript-Powered Web Applications - Vanilla is on track to be much more reliant on JavaScript. I wanted ideas and examples to ensure accessibility wouldn't suffer because of that move.
- Git Scenarios - I'm very familiar with Git, but even though I use it on a daily basis, I know there's probably some tips and tricks I'm not familiar with.
- Self-Improving Software - We've begun moving Vanilla's dependencies to packages in earnest. This one seemed like a no-brainer.
- Learn Unit Testing with Katas - There's already a ton of automated testing and it's only going to grow. This was another talk where it was good to see how other developers handle this type of testing.
- Extremely Defensive PHP Programming - This was another talk where I hoped to see how other developers implement various strategies. I'm a proponent of defensive programming, so this caught my eye.
- Death by Specification - A good talk on planning and the lifecycle of a project.
- Machine Learning for the Rescue - I'm seeing machine learning mentioned more and more. This session was pitched as a primer using a real-world example in my primary language: PHP.
- Testing When the World is Watching - Testing and QA on a highly-visible product/project. Seemed very relevant to Vanilla, given our aggressive development and release cycles.
- Stop Writing Unit Tests - More unit testing talks! I liked the idea of automating these things to some extent.
- Sorting! - Sorting is a huge part of Vanilla. This session was aimed at sorting algorithms, scenarios where particular algorithms shine and a look at their speed/efficiency.
I plan to break each of these out into some bullet points about what I learned from them, specifically. I gleaned some new tips and tricks for dev and maintenance, however I think I learned the most about the the non-development stages of a project's lifecycle, particularly planning and support after release. A lot of the sessions I attended reinforced what I/we already do at Vanilla.
I'm pretty sure I bumped into John Ashton, an old Vanilla dev. He walked up to me and asked if Todd or Tim were attending the conference. When I said no, he promptly walked away without another word.
Patrick shunned the rest of the Vanilla family by refusing to eat lunch with us on Friday. Instead, he had lunch at an adjacent table with some (apparently) cooler kids.
Next time, I'd like to focus on areas I'm not familiar with. The sessions I attended where I intended to improve existing knowledge fell a bit flat. I don't feel like they were a waste of time, but the time probably could've been better spent in another session. If I could do it over, I'd likely branched out into more planning/management or laser-focused sessions on unfamiliar topics.
0 -
Wednesday:
- Opening Key Note
This talk was terrible... I was a bit worried the presentations were going to be simple like this, but luckily it wasn't the case. They were just saying generic things to do or not do in a team environment with stock photos. Generic stuff that could be applied to any industry like: "Don't point fingers".
- Tricher grâce à l'UX quand il n'y plus de code optimisable
I really like this first presentation on UX by Stéphanie Walter. I think we can use lots of these ideas on the Hootsuite project and in Vanilla. Lots of little tricks to give the impression your app is faster than it is.
- The Present and Future of WordPress's REST API
I haven't done work in Wordpress in a while, so I was curious to know what was new. Vanilla is also in some ways similar and I think there are lessons to learn from Wordpress.
In the end I was kind of disappointing to see they haven't really done enough, in my opinion, to catch up to the latest trends. Yeah, making a better API is a good idea, but the platform isn't usable that way. There's no real good way to make a single page app for example.
- Real World Lessons on the Pain Points of Node.js Application
This talk was alright. Basically they suggest that you need to run lots of node servers in docker to be able to scale your application properly.
- Life of a pixel: Understanding rendering performance
I really liked this presentation and ended up changing my schedule to see this presenter (Martin Splitt) again. It was about pixel rendering what how you can take more advantage of GPUs. I already knew some of these tricks, or just knew it was better to do things a certain way, but I didn't really understand why. This talk shed some light on all that.
- How do you know you're writing good code?
This is the only talk everybody went to and it was terrible. It was wayyyy too simplistic and for beginners. I was expecting something more philosophical.
** Thursday: **
- The Post-JavaScript Apocalypse
Interesting ideas about future programming languages. It was fun to think about, but not very practical to use today.
- Surviving Your Next Data Breach
Ok talk about security. It's not really my cup of tea, but it was decent.
- Building interactivity with websockets
Good talk about websockets and the advantages/disadvantages of the various hacks people have used instead over the years. Basically, use https://socket.io/, but it was good to see the various fallbacks and how they work.
- Ready, Set, Go Mobile with React Native!
Good intro to React Native and the various tools in the ecosystem you need to set up a project.
- Demystifying WebGL
I wanted to see another presentation by Martin Splitt. Before I did programming, I worked for a little while in the 3D animation industry, so I've always been kind of curious about 3D on the web. I was curious to knew where we were. There are a lot of better tools now, but it's still difficult and painful to export things that are more complex from a tech demo. 3D software programs each have their own formats and features and I think we're still a long ways from having enough standards to make it easy for someone with a 3D background to easily put their stuff on the web without some solid programming skills.
- Git Scenarios: How Do I Fix That?
Rob Richardson is a Git guru and showed up some tips and tricks for working with Git. He made everything up on the spot, based on the crowd's questions, which was quite impressive.
- Moneyball on the Keyboard: Scouting Talented Developers
I like the concept of this talk, but I feel like she presenter (Adam Jonas) didn't really dive into HOW to use this technique. It's basically about picking teams that are better on average instead of relying on a few heavy players. He's a recruiter for a programming school and although he did share what they were looking for at their school, it remains kind of arbitrary. When people asked him about how he knew what they were doing was really better than the competition, he had little stats on the other schools...
- Get Your SVGs Up & Moving
Good talk about SVGs and the various animations you can do with them. It was cool to see that Green Sock have added lots of new functions for animating SVGs à la Flash, but for HTML5.
Friday:
- Toute la lumière sur le Shadow DOM
This talk made me wish the future was now for the shadow DOM. I think this is a much needed component for websites... one day...
- Death By Specification
This talk was about the various types of programmers you have on a team and how they should not work in silos. It boils down to different people have different strengths and it's good to mix them up.
- Construire une application Ionic sans perdre la raison
I decided to go to this talk because it was another presentation by Stéphanie Walter. It was a bit disappointing. It was just an overview of a project they made with a particular framework.
- HTTP/2.0 101 Introduction
Good intro to HTTP2 and the current state of this technology.
- React et l'écosystème RRRR
This was another presentation about a particular project using particular tools. Not very interesting.
- Développeurs web, je vous présente... le monde réel!
This was a fun talk about using real world sensors to interact with the real world using JS/CSS/HTML. Not really applicable to the work place, but it made me want to build something fun.
I met a few of the presenters: Stéphanie Walter and Martin Splitt. We also talked to some of the other developers at our lunch tables. We met someone from Shopify and (I forget the name of the company), but a programmer working on imax websites.
Becky would of won a PHP elephant, but she wasn't there.
I also ran into an old colleague of mine from my last job: Maxime Beauchesne-Jolin.Next time I think I would do some more research on the presenters themselves. I found myself changing my schedule after liking one of the presentations I saw.
0 -
I took all my notes in markdown editor, so if anyone wants to see something from one of talks I have it all it all in here in this git repo.
My talks were:
- Accessible Javascript-powered web applications.
My best takeaway from this talk was that there are little things that you can do to greatly improve the experience of someone using accessibility services. The easiest one is that when you change something on the page with JS (trigger a modal or add a new element to the page) You can rather easily notify someone with a screenreader what happened and move their focus to the new element. Otherwise they wouldn't even know anything had happened and have to go tabbing around the page looking for what changed.
- Are you writing good code
This was a total joke of a talk, I'm sure the others have plenty to say.
- Building interactivity with websockets
This talk was about the history of websockets and why they were created. It was well put together but I didn't learn anything new.
- Cryptography Pitfalls
This talk was great. The presenter had a very polished talk and I learned a lot of things I didn't know about cryptography and what not to do!
- Something about DNS
A top down overview of how DNS works. It was pretty interesting and good to know. The presenter demoed a HTTP -> DNS proxy serving HTTP content through DNS replication. Would probably get you're IP blacklisted but still a pretty cool proof of concept.
- Git Scenarios - How Do I Fix That?
This was my favorite talk. A git guru basically did an off the cuff demonstration of a bunch of common git scenarios and how to fix them. I feel far more confident rebasing my commits to try and present a concise and clear picture of what happened. I'm no longer afraid of fucking it all up (apparently you can't really)
- HTML5 Elements
The presenter talked about some of the newer API's like battery status and vibration, but his information didn't seem to be entirely up to date. Many of the APIs he talked about are still just drafts and are only implemented by 1 browser.
- HTTP/2.0
The state of HTTP/2.0. It seems to offer a lot of performance benefits and is widely supported on the client side, and you can always fall back. Hopefully we can take advantage of this in the future.
- Life of a pixel
The whole rendering process of the the browser detailed and laid out. I already new many of the best practices for animation performance, but this explained the why behind a lot of it.
- Node.js in production
Summary: Don't use node for anything CPU intensive. This guy rigged up 100's of 1000's of docker containers to try and eek out better computation performance from Node. You should just use a language that's built for that instead.
- Remove The Boilerplate
Functional programming constructs. I already use some of this stuff in my personal projects. It's really targeted at large javascript based applications. All very useful information though.
- Search-First Writing for Developers
This talk was not very good. Basically a sales pitch of why you should hire her.
- Getting SVGs up and running
This was a fun talk about SVG animation and stripping out SVG bloat created by visual tools like Sketch or Adobe Illustrator
- Why we left MongoDB
Big song and dance to say what most people know about MongoDB. It's not performant for relation data (duh) and its not ACID compliant. The moved to MySQL server and everything is fine now.
0 -
A couple of noteworthy sessions I went to:
An introduction to Deep Learning
- Was interesting but the guy was way too deep in the subject. It was hard to follow and it seemed like a lot of magic was happening. He did not really explain a lot of the functions he was using.. The "Machine Learning Algorithms" session was way better.
CSS Layout Techniques: Replacing Floats with Flexbox
- I picked that one because I'm did not have any experience with flexbox! One of the best presentation I saw.
Irresistible APIs
- Since we are doing API v2 I thought that it would be useful. I was kind of desapointed though.. The presentation could be resumed with the words: I worked at Netflix, good APIs shouldn't need an SDK and APIs do not generate direct values but can enhance your client commitment on your product.
Your app lives on a network - networking for web developers
- A really good reminder of how the network go. I didn't learn anything though and that was a bit disapointed...
Solving real world problems with design patterns!
- Good presentation by a guy from Symphony. Didn't learn anything new either though.... On a side note: they are using exceptions way too much lol. (For things that shoudldn't even be exceptions.. just return a different object dammit.. I loled
I forgot how to do SQL, and you can too!
- I wanted to see if our data layer could be improved from this. The session was tagged with Python and Database but the guy only spoke about Django and how to use it.. Disapointing too...
A taste of ES6: the language and the tools
- We are supposed to move to ES6 soon and my knowledge of it is pretty low. The presentation was ok. The guy spoke about transpiling way too long.
HTTP/2.0 101 Introduction
- Pretty cool talk and presentation! Learned a couple of things about assets optimisations on 2.0.
- The protocol is not binary instead of plain text. The header can now be compressed and you can send multiple query over one TCP connexion which speed up thing.
- Cool demo here: http://www.http2demo.io/
How do you know you're writing good code?
- WORSE PRESENTATION EVER! The presentation lasted 20 (supposed to be 45) minutes and the highlight of it was: Instead of copy pasting code you should use functions.
I did learn some useful things but was mostly disapointed by all sessions I went where I had prior knowledge of the subject.
Most of them were for beginners.0 -
Many of the talks I attended were rather basic, so I really wish they were labeled accordingly. Next time I would go expecting the talks to be more beginner level or intermediate level and I would seek out the more advanced talks.
The keynote with Douglas Crocford was great though (Post JS apocalypse) I. I was mostly still getting to know our own team, so I didn't meet too many other people.
0 -
Wednesday
Opening Keynote
I will not glorify this keynote with any comment!
TypeScript for JavaScript Developers
A good talk overviewing typescript, what you can and can't do and how to work with browsers compatibility.
CSS Layout Techniques: Replacing Floats with Flexbox
After this presentation I was pretty much saying to myself that Flexbox looks like a very nice tool to work with, I will try this in some personal project soon for sure.
Irresistible APIs
I choose that presentation for different reasons, one being all the talk about API v2 around the water cooler. Although it was not as technical as I was expecting it was a good talk on what to look for and things to avoid when building an API. The speaker worked on APIs on giant tech companies like Linkedin and Netflix, those are pretty good credentials. A lot of emphasis on how developers should like to work with your API otherwise you have a problem.
Your app lives on a network - networking for web developers
I wanted to see this to improve my network knowledge, it was a good resume of all the basics. How TCP and UDP protocols, DNS lookups, etc., actually work. How the information is transferred between the client and the server over a TCP connection. Also a little bit of information on TLS and HTTP/2.
How do you know you're writing good code?
This was a 20 minutes introductory talk on programming, let's say that if was looking for some answers out of that presentation, but we didn't get much apart from a good laugh. This was the only one of its kind.
Keynote - The Post JavaScript Apocalypse
This was more of "make you think", it was pretty interesting. The speaker was pretty much questioning how programming languages are built today and how they should be built in the future.
Thursday
Building interactivity with websockets
A talk on what are websockets, and why they are more powerful than what we use right now. Went over how we used to refresh the page for new information, to ajax polling, to long polling, to now websockets. Emphasis on how being in real time keeps users on your platform.
Solving real world problems with design patterns!
How they used and implement proven design patterns in Symfony.
Domain-Driven Data
Presentation on Domain-Driven Design and how to choose the right data layer.
Getting browsers to improve the security of your webapp
Presentation on HTML features to improve you application's security.
Self-improving software
A good talk on automated and safe dependency updates/new version release. Good practices with semantic versioning and how you can break you app with bad versioning.
Learn Unit Testing with Katas
A talk on Test Driven Development with good practices building unit tests.
Friday
HTML5 APIs You've Never Heard Of
A talk on how browsers are getting more and more powerful and how to use different APIs that take advantage of this.
A taste of ES6: the language and the tools
A talk on what's new in ES6 and how you can use it today.
HTTP/2.0 101 Introduction
How the HTTP protocol as finally evolved into something new with HTTP/2 and how you can improve your application's performance with it.
Stop Writing Unit Tests
How it's possible to have your unit tests automatically written, using a python library during the talk. The idea was sure interesting.
Finally
Top 3 story for me are definitely,
3- How do you know you are writing good code presentation
This was one of the presentation I couldn't wait to see. I thought it was going to help me figure out if I'm coding the best thing I possibly can. It was a bit sad/funny when the presenter said: "instead of repeating yourself you can use functions to re-use the same code. Well it's only been 20 minutes, I speak fast when I'm stressed, thank you for coming".
2- The opening keynote
We did learn that pointing fingers when you encounter a problem doesn't fix anything and that you should focus on solutions instead of the problem.
1- Patrick ditching us
After we denied the spot we saved for Patrick on our table to 3 or 4 angry people, we saw him sitting at an adjacent table with some "more fun to be around" people. No need to say he better keep a spare bike tire around the office from now on.
I focused on sessions that could help with what we do at Vanilla and sessions on topics I wanted to improve my knowledge on. I would like to try and use, as much as possible, things I learned during the different presentations, at Vanilla or on some personal projects. I always get a way better grasp on concepts once I used them and test how they behave.
Next time I'd like to have a few projects ready on the topics I would see to be able to test some of the things I see, during/between/after presentations, while it's fresh in my head.
Thank you for the experience!
0 -
Everyone is dissing me for having ditched them for lunch. Full disclosure, I was smoking a hukka with Linus Torvald and Rasmus Lerdorf in a special backroom. No regrets.
I had a great time at Confoo. Almost all the sessions I attended have been mentioned above so I will paint in broad strokes my take-home lessons.
Two of my favourite sessions were my first and last one: Securing Microservices and Nouveau socle pour une nouvelle vie. Both were kind of case studies of how a team overcame a particular challenge, told from a personal perspective. They exposed the thought processes, constraints and compromises each team went through. Particularly the French talk was about how they had to scale up a legacy code to offer video streaming to millions of viewers. They decided to simply shore-up the core code and build queued microservices all around it.
My favourite presenter was Rob Richardson. He gave a demonstration about git that changed the way I think about git. I am still at a level where I see git as an FTP protocol with some history feature. He showed how you should be crafting your commits and branches with rebasing and squashing in order to tell the story of how your code evolved. He also did a presentation about ES6 and how to transpile it for ES5, didn't change my life but was engaging.
There was a presentation called "Forget your tasks with confidence, with Getting Things Done" that was about time management. TLDR; don't waste your energy thinking about what you have to do, commit it to a list, give it a start date and focus on what you have to do now. I am going to do some further reading and am trying to decide which of the apps he suggested I want to install.
There were presentations that talk about techniques ("Unit Tests" for example, or "Defensive Programming") that are interesting but unless your whole team is on board, you won't use.
It was refreshing to not have to attend that class of session that is all about "convincing your boss about the value of (refactoring|securing your code|documenting)".
All in all, it was a rich experience.
0