Giter VIP home page Giter VIP logo

advent-of-spin's Introduction

Fermyon Advent of Spin

'Tis the season to learn something new. 🎄

Learning a new technology is fun but can sometimes be a little daunting. The technology we’re really excited about is serverside WebAssembly and believe that Wasm will power the next wave of cloud computing. Spin is an open-source framework for building and running serverless applications powered by WebAssembly.

We built Spin to make the developer experience easier, and we want to show you this through Fermyon's Advent of Spin. You will be presented with fun coding challenges that'll help you find your footing with Spin and WebAssembly. Whether you’re a newcomer to this whole serverless apps thing or a seasoned Spin developer, these challenges will provide your brain with a stimulating little project each week.

While our Advent of Spin takes on some characteristics of Advent of Code, ours is not meant to test your algorithms, data structures, or mathematical acumen. Instead, we want to provide you the opportunity to write and deploy your own cool Spin applications every week.

We’ll update this repository every Tuesday in December with a fun scenario for you to learn how to write WebAssembly applications. And yes, the challenges will encompass everything from simple static sites, to using Large Language Models and AI.

If you’re unsure of any exercise, we will go over a solution and present next weeks challenge in our weekly Live Code Tuesday on YouTube.

How Do I Participate?

Simply click on each challenge, and follow the instructions.

Challenges

Challenges will be added every Tuesday during our Live Code Tuesday at 17:00CET

Prizes

Oh and there are fantastic prizes for everyone who completes each coding challenge!

  • Challenge 1 - A special Spin denim tote bag
  • Challenge 2 - Phippy's Field Guide to Wasm
  • Challenge 3 - Limited edition Fermyon Fanny Pack
  • Challenge 4 - Exclusive Fermyon Beanie

Image of the prizes. A spin denim tote bag, Phippy's Field Guide to Wasm trail map puzzle set, A Fermyon Fanny Pack, and A Fermyon beanie

We'll also have awards for a few bespoke categories, too! Make sure to read the submission guidelines for each challenge and submit your solution to this Typeform page for each challenge. If hyperlink doesn't work, please enter https://fibsu0jcu2g.typeform.com/adventofspin23 directly in your browser in a new tab.

Pre-Requisites

To participate you need to have the following installed:

Nobody Must Code Alone!

We’re all around in the Fermyon Discord server. Come hang out, ask questions, and help others out as we work through the season’s challenges. This is a great opportunity to meet others in the community as well as the engineers behind the Spin project and Fermyon Cloud.

We’ll also post on X/Twitter and LinkedIn, dropping some helpful resources and videos.

Yes, the main goal of Advent of Spin is to get you solving problems and winning prizes. But we also hope that you’ll find inspiration in these projects to build something on your own. If that inspiration happens to strike, let us know. We love hearing about the amazing things you build!

Prior years challenges

Advent of Spin 2022

Want practice for this year's challenge? Try out last year's challenges and let us know what you think. The validation endpoint is still valid.

advent-of-spin's People

Contributors

dennisg avatar karenhchu avatar macolso avatar mikkelhegn avatar radu-matei avatar rawkode avatar sohanmaheshwar avatar thorstenhans avatar vdice avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

advent-of-spin's Issues

CH-2 tests work as expected, submit fails with HTTP 500

Seems quite common that tests work but submission fails.

output of hurl -v ....

* Options:
*     fail fast: true
*     follow redirect: false
*     insecure: false
*     max redirect: 50
*     retry: false
*     retry max count: 10
* Variables:
*     serviceUrl: https://solution-2-r65yr6qt.fermyon.app/
* ------------------------------------------------------------------------------
* Executing entry 1
*
* Cookie store:
*
* Request:
* POST https://advent-of-spin-backend-tlrr40nq.fermyon.app/c2
*
* Implicit content-type=application/json
*
* Request can be run with the following curl command:
* curl 'https://advent-of-spin-backend-tlrr40nq.fermyon.app/c2' -H 'Content-Type: application/json' --data $'{\n  "serviceUrl": "https://solution-2-r65yr6qt.fermyon.app/"\n}'
*
> POST /c2 HTTP/2
> Host: advent-of-spin-backend-tlrr40nq.fermyon.app
> accept: */*
> content-type: application/json
> user-agent: hurl/1.8.0
> content-length: 62
>
* Response: (received 89 bytes in 442 ms)
*
< HTTP/2 500
< date: Sat, 17 Dec 2022 13:46:14 GMT
< content-type: text/plain; charset=utf-8
< content-length: 89
<

CH-4 make test works - but submit fails

(base) ➜  CHALLENGE-4 git:(main) ✗ make test
hurl --test test.hurl
test.hurl: Running [1/1]
test.hurl: Success (3 request(s) in 12 ms)
--------------------------------------------------------------------------------
Executed files:  1
Succeeded files: 1 (100.0%)
Failed files:    0 (0.0%)
Duration:        13 ms

alas, submit.hurl fails with:

error: Assert status code
  --> submit.hurl:6:8
   |
 6 | HTTP/* 200
   |        ^^^ actual value is <500>
   |

is test.hurl correct ?

Hi, just wondering. Is test.hurl for CH2 correct ? seems to be missing

GET http://localhost:3000/lowercase { "value": "RaWKoDe" }

around line #14

I corrected it locally and then correctly parses the local version of my submission.

But then again, when I hurl submit CH2 'officially' it fails with:
Endpoint didn't contain correct Content-Type header!

Thanks in advance, Dennis

minor corrections in Readme

readme has the following

Challenges will be added every Monday and Friday morning (9am CET)

[Challenge 1](https://github.com/fermyon/advent-of-spin/blob/main/CHALLENGE-1/README.md)
[Challenge 2](https://github.com/fermyon/advent-of-spin/blob/main/CHALLENGE-2/README.md)
[Challenge 3](https://github.com/fermyon/advent-of-spin/blob/main/CHALLENGE-3/README.md)
Challenge 4: Coming On Dec 16th at 10am CET

Challenge 4 was already uploaded on 12 December.

The top line says challenges will be added at 9am CET, while for Challenge 4 it says 10am CET..

challenge-3 make test works, submit.hurl fails with a 404?

sorry for the noise...

(dgg) ➜  CHALLENGE-3 git:(main) ✗ make test
hurl --test test.hurl
test.hurl: Running [1/1]
test.hurl: Success (1 request(s) in 21 ms)
--------------------------------------------------------------------------------
Executed files:  1
Succeeded files: 1 (100.0%)
Failed files:    0 (0.0%)
Duration:        21 ms

but alas, the submit.hurl returns success: false

with

Assert status code\n  --> submit.hurl:6:8\n   |\n 6 | HTTP/* 200\n   |        ^^^ actual value is <404>\n   |

Challenge 4 : Rounding of

when it is mentioned "rounded to the closest .1 mile."

shouldn't it be
33.85nm == 33.9 nm
33.44nm == 33.4nm

or it is meant to be "rounded to the closes 1 mile"
33.94nm == 34 nm
33.44nm == 33 nm

also one minor typo(?) in readme

"This second/fourth challenge won't introduce you to any new concepts or SDKs,"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.