Nov. 28, 2018, 11:08 a.m.

Improved error handling

I improved error handling around some trickier challenges (the ones with git and docker mainly) to be more helpful instead of throwing 502s when unexpected things happen.

– Jack

Nov. 23, 2018, 3:08 p.m.

Reading QR is up

New challenge is up! Fun fact: this one was almost part of the original, launch-day 5-challenge set, but I just didn't love it enough. I'm pushing it live since it's rather simple and will make for a good first-challenge. Cheers!

– Jack

Nov. 5, 2018, 9:46 a.m.

GitHub avatars

Minor patch: if you signed up using GitHub, the site will now use your GitHub avatar instead of going straight for the Gravatar version.

– Jack

Sept. 10, 2018, 11:15 a.m.

RSS support for changelogs

Two feeds are now available:

Still playing around and adjusting things, but feel free to give it a go!

– Jack

Sept. 8, 2018, 3 p.m.

Touch-Tone™

So how's the weekend? Say hello to the most nostalgic challenge yet: touch_tone_dialing.

– Jack

Sept. 1, 2018, 12:31 p.m.

Back to school

What's up?

Over the next one-two weeks I'll be pushing out some new challenges that I've been prototyping for way too long. That's the plan at least.

I won't be sending any mass notifications until they're all live, so if you're reading this you're way ahead!

I just published the first one of those, and arguably one of the most oldschool I have this time around. Fits neatly with the back-to-school thingy, doesn't it?

Say hello to brute_force_zip which totally sounds like a band name.

– Jack

Aug. 16, 2018, 9:13 p.m.

The backup challenge no longer misbehaves

I quick-fixed the issues with the backup_restore challenge returning a base-64 encoded Postgres error instead of a real dump for 3 out of 5 attempts. I'll be looking into a more permanent fix tomorrow, but basic functionality is restored.

Thanks to everyone who reported this!

– Jack

Aug. 14, 2018, 3:22 p.m.

Becoming a better...

I had this idea to find a way to share some of the most influential posts, books and articles that I'd ever bumped into. It's a huge work in progress, but I decided to run with it. Take a look at the becoming a better developer listy-thingy.

And now that I've gotten that out of my way, I can move on to creating a new challenge or two.

– Jack

April 11, 2018, 11:14 a.m.

Layout adjustment

The number of challenges sort of outgrew the simple list format of the /challenges page. I switched it to a simple two-column layout. Let me know if that works.

– Jack

March 27, 2018, 12:40 p.m.

Jotting JWTs is here

Hey! Jotting JWTs is now live.

If you're looking out for something worth more points, I've one more coming up soon-ish. It's a variation of the basic face detection challenge, and point-wise should be in the same ballpark as the one with Redis.

So you know, hang in there.

– Jack

March 21, 2018, 10:06 a.m.

Incoming: hosting git

The hosting_git challenge should now be live and working fine.

– Jack

March 20, 2018, 11:13 a.m.

Playground mode added

I've added a way to keep submitting and checking solutions after you've passed a challenge. Simply pass &playground=1 as part of the URL and the server will let you through instead of rejecting you. I have no idea why it took me so long to add that. Kept slipping away, but it's finally here.

– Jack

March 17, 2018, 4:35 p.m.

After a break, a new challenge

Hey, hey! After a short break to catch a breath, here's a new one for you: dockerized solutions.

As always at first, may be a bit rough around the edges — I'll be fixing any issues that come up over the weekend. Treat it as a chance to earn some extra credit by reporting anything nasty you may find. :-)

– Jack

Feb. 15, 2018, 9:25 a.m.

Fixed the Redis challenge generator that got stuck

The generator for the_redis_one got stuck for an unknown reason. I've restarted the container and will add some extra logging/reporting to make sure this doesn't happen too often.

Thanks to /u/mindroc.alin for reporting this!

– Jack

Jan. 26, 2018, 12:28 p.m.

Slight badge update

I finally got to work a bit on stuff around badges - clicking on a badge on someone's profile page will now navigate you to a page which will shed some extra light on the badge.

By the way, I pushed this clickable-badge-thingy feature silently yesterday, told no-one about it and after 10 minutes I could see page views started coming in for the badge pages... how do you guys discover these things? Can I keep nothing secret? Y'all seriously scary.

There's more to come, but I think I'll focus on pushing new challenges this week - and hopefully some harder ones. I have quite a lot of ideas written down, but it usually takes a while to make a quick proof of concept and validate if it makes any sense. Keep your fingers crossed!

BTW, I'm still awarding badges manually, so if you do something that you'd expect to get a badge for, be patient. :-)

– Jack

Jan. 23, 2018, 7:45 p.m.

WebSocket challenge live and... fixed

I fixed an issue with the solution checking code for that websocket challenge.

Congratulations to /u/punitx for being the first one to solve it!

– Jack

Jan. 22, 2018, 7:12 a.m.

GitHub logins fixed

Fixed an issue that prevented GitHub logins for most users - sorry about that.

– Jack

Jan. 21, 2018, 6:37 p.m.

Usernames can now be changed

I've fixed some weirdness (brought to you in the first place by me being a lazy clod) around how usernames are handled. The gist of it is:

  • your username may have changed: if you used an email like mail@johndoe.com, your username is now johndoe, which seemed like a better fit
  • when you sign up with email, I still take the username out of the address but now I'll append some random funky digits to make sure it's unique
  • GitHub logins haven't changed... unless the username I get from GitHub would collide with something over here. In which case, again, I add some random funky digits.

If you want to adjust your username, take the next exit and go here.

– Jack

Jan. 18, 2018, 9:51 a.m.

Problem URL is now clickable

The end of an era: you no longer have to swear every time you copy-paste the GET /challenges/some_challenge link. It's now a completely sane <a> which will open a sample problem set in a new tab.

– Jack

Jan. 16, 2018, 5:43 p.m.

Serving DNS improvements

The challenge no longer crashes awkwardly when dns_ip is not an IPv4 address. But it still expects an IPv4 address. :-)

– Jack

Jan. 14, 2018, 10:23 a.m.

Improved feedback for Tales of SSL

Tales of SSL was notoriously annoying when anything went wrong with parsing the subject line of a submitted certificate. And by annoying I mean it kept throwing 500s. I've added two extra error messages to give better insight into what actually went wrong.

– Jack

Jan. 12, 2018, 9:52 p.m.

Landing page update

I... drew a new landing page.

– Jack

Jan. 10, 2018, 4:13 p.m.

Redis challenge point change

The reward for solving the redis one was bumped from 40 to 70 points. If you've already solved the challenge, your points were updated!

– Jack

Jan. 10, 2018, 10:38 a.m.

Visual basic math clarification

I just added a note on integer/floor division for visual basic math to lessen any potential confusion.

Also, the solution endpoint will now gladly accept strings and will try to make an integer out of it. This was not the case, so "-10" failed an equality check to -10.

By the way, congratulations to /u/appleskin for being the first one to nail it!

– Jack

Jan. 8, 2018, 2:29 p.m.

Adjusted ranking sort algorithm

Rejoice! Users with the same amount of points are now ranked chronologically - the way it should be. This was surprisingly tricky to implement. Maybe I just can't brain today. Have stupid.

– Jack

Jan. 4, 2018, 8:32 p.m.

Minor bug fix

Just fixed another bug causing the app to throw a 500 instead of returning anything of value when the unsigned int value doesn't match the expected value for the Help me unpack challenge.

– Jack

Jan. 4, 2018, 4:04 p.m.

Shameful bug in Serving DNS fixed

Just pushed a fix to a bug related to handling the RP field in the DNS challenge. Hugely sorry about this - if you attempted the challenge and got stubbornly denied at the RP step, give it another chance when you have the time.

By the way, anytime you feel something is really, really off and reeks of a bug - I'm listening at maligree at gmail.

Really, really sorry!

– Jack

Dec. 19, 2017, 7:46 p.m.

Improve Redis challenge solution handling

I've added a long overdue check for missing keys when you submit a solution for the_redis_one challenge. From now on, if your solution is missing a key, you'll get a neat message instead of the unruly 500 response.

– Jack

Nov. 24, 2017, 4:55 p.m.

Two new challenges... and this right here

Today brings us two new challenges:

  • Password hashing - a rather easy tour of some basic crypto-password-y things
  • Serving DNS - first challenge (but more to come) where you need to deploy and set up a service that then gets validated from our side

The changelog has also been added as a non-invasive way of previewing changes, adjustments and possibly more.

– Jack


By the way, I'd love to hear from you. Whatever you got, drop me an email. My h^ profile is here.
Starting not that long ago, you can also support this website by buying me a coffee. Thanks!
RSS: full changelog, challenges – stay up to date, grab a world first, maybe?
Check out my little newsletter, Becoming a Better Developer, it's pretty OK.