Hacker Newsnew | past | comments | ask | show | jobs | submit | asyncanup's commentslogin

I made https://crooked.notabot.ai - a relaxing puzzle game about Lines & Angles

The game rules are actual math, and the puzzles turned out to be fun for kids as well as mathematicians (from my friend circle)!


This is actually quite simple to play but increasingly harder to master. Like it!


Books on the bookshelf (top-right) are:

- daemons

- whoami

- traps

- curses

- pwd

- inbox

bags hanging underneath them:

- spawn

- nroff

- dates

- root

a log against the fireplace wall which says "login",

with potion-like bottles saying "uucp"

and the biggest bottle of potion is named "C" (of course),

while an old broken bottle lies on the ground called "B" (of course)

Symbols on the wizard's clothes are all unix symbols:

- $ (default PS1)

- * (glob)

- % (substring)

- > and < (pipe redirection)

Now to the bottom (right to left):

- A jar called "troff"

- A spool called "usr"

- Container called "awk"

- A jar of "oregano"

- Cursive writing on a parchment paper, "shell script"

- A small cup of "tar"

- Another bottle called "diff"

Update: Ah, you said excluding the words! I guess I was too excited to write down what I saw :P


The jar between uucp and C has a label that ends with "ke", could this be "make"?


I assume that the letters jfo on the nroff bag refer to joe ossana, the original author of [nt]roff.


It’s not “inbox” but “mbox”. https://en.m.wikipedia.org/wiki/Mbox


The shell represents the Fibonacci sequence.

Double entendre or meta?


Yes to case-by-case, and in this case, Hacker News being a somewhat representative demographic of the Tech sector, it is rather unfortunate that it lacks the noted diversity.

It's not ok to suggest that the Tech sector, being one of the most important industries for gaining financial independence and making an impact on the world, must remain the white male bastion that it is.


You can’t force demographics. People are going to navigate to and participate in the things that interest them. There’s nothing unfortunate about that.

Maybe you’re really thinking about unnecessary gatekeeping or something? THAT is unfortunate.

But it’s vital to recognize the difference between these concepts. One is immoral, the other is not.


Hi, author here.

Here's the code:

F=()=>{ c=v.getContext('2d') c.lineWidth=.03 C=[1,-.5,-.5] S=[0,.87,-.87] P=[[X=300,Y=300],[X,Y],[X,Y]] R=()=>{d=parseInt(Math.random()3) P=http://P.map (([x,y],i)=>(c.moveTo(x,y),c.lineTo(X=x+3C[I=(d+i)%3],Y=y+3*S[I]),[X,Y])) c.stroke() setTimeout(R,17) } R()}

Assumes no existing dependencies or dwitter-like shortcuts available. Needs this HTML to be on the page:

<canvas width=400 height=400 id="v"></canvas><script>F()</script>

Demo here: https://runkit.com/asyncanup/5cd629840a18bf001b4860e9


I think you could shave off 8 characters by doing

  0|Math.random()*3
instead of

  parseInt(Math.random()*3)


Further, you could shave off a couple of bytes by inserting

  <body onload=F()>
before the canvas element, instead of having

  <script>F()</script>
after the canvas element


Couldn't agree more. But how will YouTube itself will be preserved beyond Google's economic interests?


I love the ES6 book, crisp and clear

The ui seems considered and polished, works good on mobile for me


this is so great. absolutely amazing advice


Thanks! Added some more context in a comment. Did you have any feedback for the slides and/or code?


Though I find microservices intellectually interesting, the project is not something I am likely to use. I am more of a "general reader." As a general reader, I find slides without the accompanying presentation rarely hold my attention. I would rather have a good README.MD.


Author here. Here's a link to the Github repo if you want to try this out in code: https://github.com/asyncanup/vasco

Also, https://github.com/asyncanup/vasco-frontend lets you hook up a real-time UI on top of the service registry to show a dashboard of all the live (and dead) services

This was the first major conference talk I gave at DeveloperWeek 2018 in SF, and am mainly looking for some healthy feedback.


Motivation for writing this tool will hopefully be made clear by the following abstract:

--------

Service discovery has been made too complex by combining it with orchestration. There are too many beasts-of-a-tool out there that do too much, and yet can't do versioned microservice deployments. This talk will walk you through 100 lines of Node.js code with no dependencies other than redis, and implement a discovery service with the following features:

1. Semantic versioning of services:

Services depend on specific versions of other services, so v1.2.3 & v1.3.0 can both be live, and you kill off old services that have no users.

2. Live health checks with inversion of responsibility:

Don't ping a service under high load with status & health checks, instead let it ping back when it can. If it can't ping back because it's near-capacity, then don't route any more traffic to it!

3. Mocking services during testing & development: Should not have to bring up the entire microservices stack to develop one of them.

4. Randomized scheduling: So you don't starve any one service, instead pick one at random from the ones available & healthy.

5. No highly-available service discovery service: Solving the chicken & egg requirement of a highly available service discovery service, in order to enable other highly available services. Only the service discovery database (redis) needs to be distributed.

A surprising number of tools out there simply fail to provide these set of features together, and yet pack in too many other things they want to do. This talk does the above in easy-to-understand 100 lines of Node.js code that you can use & modify with confidence!


couldn't agree more. perfectly put


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: