This is an excellent mid-level article on building interpreters. Usually I was only able to find either basic interpreter implementations or very advanced ones which I did not fully understand. Not a huge fan of the language choice as I believe building simple Lisp or Python interpreter would be more useful.
Couldn’t agree more regarding the leveling of this write-up. I do however really appreciate that the author chose Brainfuck specifically to avoid the quagmire of source language parsing which I so commonly find as the bulk of the content in other interpreter/compiler literature.
I’d be really angry if suddenly I had to use phone with no Wi-Fi. I live in London, UK and the signal can be far from great even in the city centre. Sometimes there is a massive congestion on the network and the speed of the transmission drops significantly (your phone might still say the signal is great). What often saves me are Wi-Fi hotspots in public places (often managed by broadband providers, I use the ones from BT).
I work for a well-known company and we use Docker in production. While I don’t have any stats to share, my observation has been that Docker is responsible for not only our most frequent outages but our largest ones as well. Either it’s a new version breaks something you expected to work or it just poops.
I’m setting up some machines for my own project now using FreeBSD + Jails and, for my needs, it is quite pleasant. I can’t just deploy a container, but partitioning a single machine up into a bunch of smaller machines has been great for my use-case. I wish I had that at my employer.
While I haven’t experienced major failures caused by Docker at runtime I must say that running and maintaining Docker-based build & deployment pipeline has been extremely annoying for many different reasons (I especially dislike docker-compose and caching).
I share enthusiasm towards FreeBSD and Jails, but would like to learn more about running it in production. Any case studies, dos/don'ts?
I don’t have any words of wisdom. My setup is that I am using iocage to manage the jails. This depends on ZFS. I then have some lame scripts that just create and destroy jails on it. The software I’m installing is just a few megs + some config and that is easy to do in anything, such as Ansible. Going from a started machine to running my software takes a few minutes.
I am fairly new to mechanical keyboards world, but I much prefer them to keyboards in modern laptops (I have been using mostly MacBooks).
Currently I use KBT Poker 2 (ISO/UK) with Cherry MX Blue switches, qwerty layout, Polish Pro (basically US International PC with ability to use Polish diacritical marks). I used to use Das Keyboard 4 Ultimate with Cherry MX Blue switches as well. Both keyboard were amazing, but I think I’m going to stay with some smaller keyboards for now.
My next purchase is going to be Ergo Dox.
According to the author on HN, the link should be updated to http://www.atdot.net/~ko1/activities/2016_rubykaigi.pdf
Really sorry for that. I was trying to edit the submission now, but I cannot change the url as I’m not a moderator.
lobsters feature proposal: bat signal to gain a moderator’s attention
Please feel free to use the message feature to get in touch with me or jcs.
bat signal would add a lovely touch of whimsy though :) ?
I have used zsh for time being, but there were parts incompatible with bash scripts I use. So I’m back to bash with very spartan setup. I mostly use Linux via Vagrant (on OS X).
Seriously? “A Tale of Two —-” right after I publish my post “A Tale of Two Programmers”?
A Tale of Two Cities came out 157 years ago, so yeah.
May I suggest a few other Dickensian names instead to alleviate this embarrassing collision:
Two Tales Considered Harmful.
A Tale of Two Hard Problems Considered Harmful
Do we have a limit like that? Sorry, I didn’t know.
This seems to have been sorted out, but for the record, no, there’s no such rule. The thing about cliches is that they get used a lot; things like this are going to happen.
Thank you. I will keep that in mind.
I wouldn’t say this has been sorted out. Its disturbing when an entire community casually disregards flagrant disrespect for another person’s hard work. Let alone the troubling lack of creativity that compels a person to copy the title of another post and then downvote the original.
Hello. I wrote the article, and @szalansky posted it on my behalf. I actually chose the title and wrote the article long before I discovered lobste.rs, so it was just a coincidence.
It seems highly suspicious.
FYI you are wrong, and on the internet of all places!
The odds of you publishing a post with the same title scheme as mine on the same day that i did a few hours after i did is HIGHLY unlikely. Thanks for copying my name you shill.
If you have 23 people in the same room, there’s a 50% probability that they will share the same birthday. Sufficient numbers and basic statistics cause all kinds of “suspicious” behavior.
The internet is a big place. Collisions occur. Also, no one cares that your articles are titled similarly, and perhaps more importantly, the title “scheme” is neither new, original or overly creative.
Uh.. your analogy doesn’t quite hold up. If 23 people are in a room and asked in sequence to say the first word on their minds, there is a good chance they will be influenced by the person who speaks before them. I posted my article a few hours (if that) before this one. The article (the only one, might I add) had a title extremely similar to mine. That, if nothing else, is highly suspicious.
My point was that, given enough people/items/ocurrences/events/whatever, you’re bound to have “suspicious” behavior which is attributable to random chance. It’s just statistics.
Besides, if you want to get defensive about naming, “A Tale of Two Programmers”, by Jacques Mattheij predates your article by a good five years. I think you should apologize to Jacques for using his title.
Edit: Or any of these “A Tale of Two Programmers” for that matter:
(Which is obviously silly. Because no one cares about titles. Just like no one cares about your title, or the OP’s title. Why am I still responding? I don’t know.)
It is, however I genuinely enjoyed this article and thought others might enjoy it too.
Originally from Wrocław, Poland, but I live in London, UK now.
This reflects my experience in much of the Ruby and Rails world. These days, the only Ruby work I take on is greenfield JRuby with minimal dependencies. It’s the only way I can keep things sane.
Interesting. Could you share what kind of work is this? What’s the problem domain?
Do you use Ruby gems at all or maybe you take advantage of Java interoperability with Ruby as a nicer Java?
I see nobody mentioned Ruby yet, so let me add my two cents. It is my personal opinion and I don’t expect anybody to agree. I personally disagree with OP on Cards Against Humanity, although I think it helped him to draw nice analogy.
I have been Rubyist for five years now. I appreciate the attitude of Ruby community and how welcoming it is for beginners. I think it had positive impact on other languages and communities around them. It did show that you can do things in a different way, but it went out of control a little bit. I see lots of haughtiness in Ruby community about things OP mentioned. High ego and lack of modesty is immature. A sign of maturity for me is to be able to take a step back and evaluate the work that has been done. It’s not that everything in Ruby ecosystem is bad. We just could improve things.
I think lots of Ruby tools sacrifice simplicity for easiness of use. Easy doesn’t mean simple which is something Rich Hickey speaks in excellent presentation “Simple Made Easy” (you can watch it here http://www.infoq.com/presentations/Simple-Made-Easy).
At work, starting a tedious process of moving an enormous Rails 3.2 app to 4.x (probably 4.2 as it’s about to be released).
In my spare time, I’ve had lots of trouble with Delayed Job and Sidekiq recently and I decided to create my own worker with different storage adapters ideally. Hope to have lots of fun and learn something!
Argghh,, why do people use medium for articles about code? It has no good support for actually displaying it.
Author here. I’ve tried a bunch of tools and platforms for blogging but they either have poor code support or they use Markdown. I like Markdown for docs but I find it harder to write my thoughts out since I’m worried about formatting. I picked Medium because it displays non-code really well, supports inline comments, and it does a decent job of displaying code. I don’t find syntax highlighting to be much of a boon so I don’t miss that much.
This article has few listings and each of them is rather small. Medium does the job in this case. And it’s probably easier to promote your articles on Medium.
What do you find lacking? It certainly doesn’t do highlighting, but an argument could be made that that is distracting in the context of short snippets anyway… Is there something else?
Boring software is the best software.
I’m pretty curious about this one and if anyone else agrees on that. I have completely different feelings about boring software.
I’m not going to question the facts (numbers tell there are differences), but why as a programmer should I care? This equation isn’t that simple.
It’s important to know the upperbounds of performance for your chosen frameworks. Just think of these results as another data point when deciding on which framework to pick.
[Comment removed by author]
DHH made valid point about this red-green-cycle TDD fundamentalism, but expanding it to whole unit testing is like throwing out the baby with the bath water.
Long live testing. Unit, functional, integration, you name it testing.