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

Author here.

It was a brute force attack on my root. I added an edit for clarification on the article. Basically I use another user for deployments and server work that has a pub key and didn't remove root login permissions.


Author here -

The purpose of going through and removing the malicious scripts was to learn more about server security. I figured if I had been compromised I might as well learn what was causing it and how to fix it.

I have since toasted the server and set it back up with all of the things I mention in the article. I wrote the piece because I felt that there might be others out there who can learn from my mistakes and to also have a record for myself.

We are always learning and sometimes we need to learn the hard way, I got lucky in that this was on a side project and not any real client work.


Would love to see a little behind the scenes for this, maybe a write up / blog post. Pretty neat little experiment.


I agree I should post one, but it usually takes me a lot of time, and I wasn't sure how much interest there would be. I'll start working on one.


I started writing my own language in JavaScript last Summer but gave up after only writing the Lexer because I didn't know how to continue. I would LOVE to read this blog post!


Kaleidoscope - LLVM Tutorial [0] is an excellent resource with code samples in C++ and OCaml.

[0] http://llvm.org/docs/tutorial/index.html


Agreed, it's an excellent resource. One of the best PL tutorials I've ever read.

But if you use the OCaml version with a recent version of OCaml, you'll run into a few issues. I sent in a patch with a few simple updates to the path mailing list earlier this year, but last I checked it wasn't merged.

Patch is here (it's a text file, despite the "bin" extension):

http://permalink.gmane.org/gmane.comp.compilers.llvm.cvs/183...

I also pasted the patch here:

http://pastebin.com/YvzB71nJ


Not all parsers need to be complex. If you're up for the challenge, read a bit on top-down parser and try to write it for your language!


There may be better books but this was fairly pragmatic and I learned a lot: http://www.amazon.com/Programming-Language-Processors-Java-I...


Niklaus Wirth´s book about compiler construction is quite good.

It is available at his ETHZ site nowadays,

http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf


I wrote a tutorial some time back — http://lisperator.net/pltut/ — also targeted at JS. It walks you through parsing, evaluating, continuations and CPS compiling.


Parsing, evaluating, continuations and CPS... it seems similar to this language: https://curiosity-driven.org/continuations#interpreter but the syntax is clearly different. Also, that interpreter is implemented in ~320 lines of JS.


The app has been around for a little over a year. The search engine is powered by users of the extensions and apps and was released earlier this year. Hope you all enjoy! Happy Giffing!


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

Search: