Hacker News new | ask | show | jobs
by zoidb 2889 days ago
There are a lot of naysaying in the comments but I think it's a nice write-up and if you are interested in doing something like this I can say for sure it is possible based on my own experience. One of my side projects, https://cmdchallenge.com is setup almost identical. Cloudfront / api gateway / dynamodb and is covered a bit in this blog post https://about.cmdchallenge.com/building-cmdchallenge.html .

My last month's AWS bill (not in the free tier anymore) was only $2.23. For the runner that runs arbitrary shell commands I used to run a t2.micro in AWS but when the free tier expired I moved that over to gcp and I'm burning through their credits. I'm also using gitlab ci/cd to periodically renew the docker instance that runs shell commands.

It only works because there isn't much traffic obviously, and api requests are not made on every page load.

5 comments

Wow, just want to say nice work on whatever validation method you are using...

  # You have a new challenge!
  # There is a file named "access.log" in the
  # current directory. Print the contents.
  # 
  bash(0)> tac access.log | tac
  163.56.115.58 - - [09/Jan/2017:22:29:57 +0100] "GET 
  /posts/2/display HTTP/1.0" 200 3240
  75.113.188.234 - - [09/Jan/2017:22:30:43 +0100] "GET 
  /posts/foo?appID=xxxx HTTP/1.0" 200 1116
  69.16.40.148 - - [09/Jan/2017:22:34:33 +0100] "GET 
  /pages/create HTTP/1.0" 500 3471
  225.219.54.140 - - [09/Jan/2017:22:35:30 +0100] "GET 
  /posts/foo?appID=xxxx HTTP/1.0" 500 2477
  207.243.19.2 - - [09/Jan/2017:22:38:03 +0100] "GET 
  /bar/create HTTP/1.0" 200 1116
  199.37.62.156 - - [09/Jan/2017:22:42:18 +0100] "GET 
  /posts/1/display HTTP/1.0" 200 2477
  55.74.240.123 - - [09/Jan/2017:22:44:25 +0100] "POST 
  /posts/1/display HTTP/1.0" 200 3471
  251.111.109.143 - - [09/Jan/2017:22:49:02 +0100] "GET 
  /posts/foo?appID=xxxx HTTP/1.0" 200 2477
  101.163.230.250 - - [09/Jan/2017:22:52:31 +0100] "DELETE 
  /posts/2/display HTTP/1.0" 404 2477
  200.19.168.148 - - [09/Jan/2017:22:57:11 +0100] "GET 
  /posts/foo?appID=xxxx HTTP/1.0" 200 3471
  #     Correct!
  # You have a new challenge!
  # Print the last 5 lines of "access.log".
He probably just validates the output. You can do "whatever" as long as it generates the output.
> api gateway / dynamodb

It's funny—this is essentially what Google App Engine's standard environment gives you (equivalents to), but nobody has ever been very excited about using it.

Hi! I really like your project. Perhaps others have suggested it already, but it would be nice to read the man pages directly from the app (currently it gives man: command not found error for me).
I don't want it to sound as advertising, but I pay €3.08 for a VPS (KVM with exposed AES-NI) at hetzner. You can get a lot of bang for the buck these days.
I just wanna say, thas an awesome project