Meet The Champion: June 2023

Thursday, Jul 13, 2023| Tags: Perl

Get to know about Avery Adams

Welcome to the monthly series Meet The Champion.

Last month we declared Matthias Muth, the winner of May 2023.

Today we are talking to Avery Adams, the winner of June 2023 of The Weekly Challenge. I hope you are going to enjoy the interview.

Mohammad: Tell us about your technical background?

Avery: My father was an Electrical Engineer for a major printer manufacturer, and had a long history learning computer skills in the computer lab in his high school as well. My grandfather was previously a Repair Technician for the same company, and a TV repair technician who ran his own business. Electronics and Computers have been in the family for a long time. When I was a pre-teen my father started teaching us programming and electronics design and repair, and computer work stuck the most. My favorite field of interest is working with PC Hardware and Linux Administration, but I’ve dabbled on and off with programming. In around 2016/2017 I began work on my personal hobby project, which I’ll talk more about below. I got very busy from 2017 onward, so I stopped doing any programming and mostly just maintained the various Linux devices around the house. Now I’ve moved from the USA to NZ, and while I waited for my work visa I decided to develop my skills further, so I started really pushing to get back into programming, especially Perl, and helping contribute to the upstream MIDI module and trying to make progress on SeekMIDI. I also had a client passed to me by a friend whose circumstances changed, so today I maintain their server and do maintenance/feature request development on their Python/Django dashboard, so I’m actually working in development for the first significant time.

Mohammad: How/When did you start using Perl?

Avery: As I mentioned above, in 2016/2017 I started a hobby project, which is a simple graphical MIDI sequencer written in Perl, SeekMIDI. I was actually working on bringing old abandoned Debian packages up-to-date, and the MIDI-Perl CPAN distribution package was one I chose to bring up to date. Then I decided to write something based on it!

Mohammad: How did you come to know about The Weekly Challenge?

Avery: I hadn’t written any Perl in years, so I decided I should brush up on my skills by getting back into the ecosystem. I looked at what Perl resources are still active these days and I saw TWC was a highly recommended part of the community, and it was perfect for getting me back into being comfortable with the language again.

Mohammad: What do you like the most about The Weekly Challenge?

Avery: It tests your problem-solving ability and helps you develop the ability to think algorithmically about a particular goal. You have a single goal, and you can develop the most efficient way to achieve it. When I say efficiency, I don’t always mean algorithmic efficiency. Personally I attempt to have clean code primarily, then algorithmic efficiency. If the most performant way to do it is the most complicated and hardest to read, it may simply not be worth the optimization.

Mohammad: How much time you dedicate every week to The Weekly Challenge?

Avery: I would say between doing one or two challenges every week (usually one right now since I’m very busy) and blogging I spend about 30 minutes to an hour a week on it. Last week I got my solution done early in the week and by the end of the week I could barely even remember I had submitted a solution.

Mohammad: Do you checkout others solutions and who is your favorite?

Avery: I do! That’s one of my favorite parts of the challenge. My favorite person to check out the solutions from is Flavio Poletti. I always love his solutions. His questions to help analyze the problem are a great step in the development, he usually has the most efficient algorithms unless they’re unnecessarily complex to implement, and I just learn a lot from his solutions generally. His solutions are the ones I most look forward to reading because I feel like we often share the same attitude toward our solutions. I learn a lot (except for the time when I could not understand a solution and asked and it turned out to be a bug :). The other ones I love to check out are Laurent Rosenfeld and Roger Bell-West.

Mohammad: What do you suggest someone just started The Weekly Challenge?

Avery: Definitely focus on reading other people’s code after the week ends and you’ve put your solution in. You’ll become so much more idiomatic as you see how those who are more experienced solve the challenge you just solved. Also, don’t be afraid to have a less efficient/clean/performant/understandable/etc. solution. Sometimes I solve things in the stupidest way possible and then see other peoples’ solutions and kick myself for it because "I knew how to solve that better".

Mohammad: Anything else you would to like to share with us?

Avery: A little bit more about me in non-technical aspects: I moved to NZ to marry my wife who is from here, I enjoy hiking, kayaking, ice skating, bowling, pool, golf, as well as a little bit of swimming and biking. I have quite a sense of humor and if I like you, I’ll probably tease you. I also do much of my own car maintenance because I enjoy it and it saves money, and I work at a restaurant for part of my work. As another point regarding Perl, I’m really looking forward to TPRC this week! Not going in person, it’s quite literally on the other side of the world, but looking forward to watching the talks as they come out on video.

That brings the end of the conversation with Avery Adams. Please do let us know your view. We will come back next month with another champion.


If you have any suggestions or ideas then please do share with us.

Contact with me