Today is Compiler Explorer’s 10th Birthday:
commit 15ea5e164b55c2b5ee0d3b432e3984b8f361afd2 Author: Matt Godbolt <firstname.lastname@example.org> Date: Tue May 22 21:07:40 2012 -0500 Initial import of GCC-Explorer
Ten years ago I got permission to open source a little tool called GCC Explorer. I’d developed it over a week or so of spare time at my then-employer DRW in node.js, and the rest, as they say, is history.
Like so many, I started a podcast – Two’s Complement – during the pandemic, with my good friend and colleague Ben Rady.
Some folks asked how we made it sound so “professional”, and so I’m sharing here how we do it.
Most importantly: get everyone to record their audio locally. Audacity is free and works perfectly for this. Make sure you test that you can’t hear each other’s sound in the mix. Start recording, make sure the right microphone is in use by tapping it and observing the wiggly lines and then get others to make noise and ensure you hear them but don’t see the wiggly lines on your side.
I was recently responding to some code review feedback and it occurred to me I could write it up for this blog. Which also means I start 2021 with a blog post, not something I’ve done in ages.
The question was around why I passed an non-trivial object by value to a function. The recipient function was going to copy the object, and the short version is “clang tidy complains if you don’t pass by value and move”.
For the longer version, consider this super simple example:
I’m on my way back from the 2019 CppCon conference and my head is buzzing with ideas! What an amazing experience!
This was the first year CppCon was based out of a new venue, the Gaylord Rockies in Aurora, Colorado. First up: the Gaylord is huge! It was clear we had outgrown the previous venue in Bellevue, but there’s plenty of room to expand at the new venue. This changed the feel of the conference a little: I literally didn’t leave the hotel from Sunday evening through to Friday evening.
Most of the attendees also stayed in the hotel, which meant more opportunities to bump into other attendees. Food was good, but not exceptional, but, boy it was expensive! They know they have a captive audience!
Hey all! Since last time I’m glad to say I’ve landed a new job (more info to follow), and I’ll be starting in June.
Til then I’ve been hacking on Compiler Explorer, and as per the announcement on my Patreon page, I’ve been working on executing arbitrary user code! We’re really close to being able to turn that on!
I’ve been live streaming a lot of the development process, and you can see the prior streams in this playlist. If you want to join me live, I’d suggest subscribing for notifications on my YouTube channel. It’s been a lot of fun, and I’ll miss it once I start my job, but I’m also super excited about that!
A quick note on a big change: the office I worked at was closed on Tuesday and I was let go. All is well: my team and I were well-treated and I have plenty of opportunities to investigate.
This does mean I have some spare time, and even once I get a new job I plan on spending all of May working on Compiler Explorer, and on finishing off my video series.
Hello! As of today’s update, Compiler Explorer now has its own storage solution for when you click “Share” and pick “Short” from the dropdown. We used to store all the state in the URL itself, then we used goo.gl to shorten it. When Stack Overflow banned goo.gl, we rewrote goo.gl URLs to be godbolt.org/g/blah, where blah was the bit from goo.gl. So, your data was still stored with Google.
That’s all changed! Now short URLs are derived from data stored on the Compiler Explorer website itself. This has some very important changes:
If you have any issues with the new system please get in contact as soon as possible. You can email me, or tweet at me, or direct message me on the Cpplang Slack.
It’s been oh-so-quiet here! I’ve been away on a long European holiday, visiting Iceland, United Kingdom, France and the Czech Republic. I’ve had a great time, but haven’t had as much time as I’d like otherwise to work on Compiler Explorer.
Explaining some of my views on C++
While in the Czech Republic, visiting the unimaginibly beautiful Prague, I was invited to speak at Avast, the anti-virus company. They have an amazing office and working environment: a music room (and studio), couches everywhere, great food, pinball machines, golf putting courses…you name it! Lovely folks too. In particular, huge thanks to Hana Dusíková for inviting me, and arranging everything and generally making it a pleasure to speak there. She’s now running a regular C++ meet up, which if you’re in Prague you should sign up for straight away!
Matt Godbolt is a C++ developer working in Chicago for Aquatic. Follow him on Mastodon.