HNHacker News
TopNewBestAskShowJobs

lukegru

37 karma · joined November 4, 2011

submissionscomments
lukegru··on Bram Moolenaar has died
I'm no longer a software engineer but whenever I write or edit anything it's always in vim, nothing can beat it and it will be in my finger muscles forever. RIP Bram, you will be missed. Money is tight now, but I'll donate $50 just the same to his charity. If you're reading this and haven't yet, match me!
lukegru··on Polyphony: Fine-Grained Concurrency for Ruby
Does this use the Fiber Scheduler API to figure out which fibers are blocking? If so, why does this need libev - I'm guessing it's to do with performance?
lukegru··on Ask HN: Who wants to be hired? (April 2023)
Location: Montreal, Canada

Remote: Preferred

Willing to relocate: Not at the moment

Technologies: Ruby, PHP, JavaScript, Linux, MySQL, C, C++

Resume: Please contact me by email

Email: luke.gru@gmail.com

6 years working with Ruby on Rails, 4 as senior developer. I contribute to the ruby language in my spare time (the VM and libraries). I haven't worked in software in 5 years but looking to get back into it part-time or full time :)

lukegru··on Show HN: 100 LOC Ruby forward proxy using only standard libraries
I like how you shutdown the threads (with throw), it was a nice touch. This whole project shows the power of IO.copy_stream imo.
lukegru··on How we pay attention changes the shape of our brains
This is not a good analysis imo. You don't necessarily gain any new awareness by paying attention to something or someone, you gain information. Whether or not you were aware of that information beforehand, or if it is new information has little to do with paying attention except for the fact that you might become bored or uninterested if it's not new information.

And, like another poster pointed out, this information is not gained with money, the "paying" is a metaphor and the currency is your attention itself. You give your attention away for the value of receiving the information.

On top of that there isn't just 1 metaphor in English (and I suspect other languages as well) for even the word "attention". You can fix your attention to something, or direct your attention, we speak of attention spans, etc.

lukegru··on Mir: A lightweight JIT compiler project
Yes, there are quite a few Ruby implementations but MIR is not one nor is it trying to be. It's a standalone library useful for use in a tier 1 JIT for any dynamic language, along with other uses outside of JITs having to do with native code generation. The author does have plans to integrate it into CRuby to work alongside MJIT.
lukegru··on Bytecode compilers and interpreters
I've followed along with the craftinginterpreters book lately, and it's been a blast. My version of clox [1] has multi-threading with a GVL, managed GC heaps, and various bytecode optimization passes. I've looked into the Ruby source code and even understand much of it now :) Future plans are to add a generational copying GC and remove the GVL ;)

[1] https://github.com/luke-gru/clox

lukegru··on Learn Vimscript the Hard Way
Off topic, but almost done with Learn C the Hard Way. Great book! I was a little confused at first by pointer syntax, though. After reading K&R's C book it cleared things up for me, and then I found LCTHW great for learning more modern C practices. Thanks!
lukegru··on Learn Vimscript the Hard Way
I've been working on a language [1] that compiles (transpiles?) into Vimscript. Makes most things easier, I find.

[1] https://github.com/luke-gru/riml

lukegru··on Textadept: fast, minimalist, and Lua-extensible cross-platform text editor
Although you might not want to debate whether Vimscript is better or worse than elisp, I don't mind. Most things are better than Vimscript.

I've even written a language [1] that compiles to Vimscript because it sucks so bad.

[1] https://github.com/luke-gru/riml

lukegru··on Brian Harvey: Why SICP matters
I was turned onto the SICP lectures[1] though people talking about them on HN, and I was just floored by them. They still give me goosebumps when I watch them. It's like watching a video of someone completely in their element and at the top of their game, like the lecture equivalent of the 2007 Wimbledon Finals or something.

And of course, the book is awesome too. And it rewards repeat readings.

[1] http://ocw.mit.edu/courses/electrical-engineering-and-comput...

lukegru··on MoonScript v0.2.2 is released
Ah, ok cool. I haven't tried using PEGs and I don't even know the theory behind it, so I'm watching a video [1] by the author of LPEG now, which is quite good. Cheers!

[1] http://vimeo.com/1485123

lukegru··on MoonScript v0.2.2 is released
Cool project! Just wondering why you decided to roll your own parser. Is there a lua parser generator library?

I've been working on a source translator, sort of like coffeescript for VimL [1], and I can't imagine writing the parser myself instead a BNF grammar (but please correct me if I'm wrong, I only took a cursory look at the src)

[1] https://github.com/luke-gru/riml

lukegru··on [dead]
I was in the middle of forking a ruby gem... I really hope it wasn't me that took it down! The second after it finished the site went down...
lukegru··on Language that compiles to VimL
Author here, let me know what you think, if you have any ideas, feature suggestions, derisive or sarcastic remarks, etc...
lukegru··on Riml: Relaxed Vimscript (compiler)
Hey, let me know what you guys think about the language, if you have any ideas for improvement, sarcastic and derisive remarks, if you want to contribute (!!), etc...

Thanks!

lukegru··on *JS : Low-Level JavaScript
BeanScript. Gotta count your beans...
lukegru··on Learn to speak vim - verbs, nouns, and modifiers
y$ will yank till the end of line (characterwise). Y is actually the same as yy, unless you n(no)remap Y to be the same as y$, which most people do. This makes make more sense, because C is the same as c$ (change till end of line). ':h change.txt' explains all of this and more a lot better than I could.
lukegru··on Learn to speak vim - verbs, nouns, and modifiers
If this gets people into vim and helps them understand some of its craziness, that's awesome. However, like previous commenters have pointed out, most of these examples are actually wrong (not by a mile, but it pays to be precise in vim). Also, even though I love browsing through dotfiles and plugins on code repository sites, I tend to think that beginners to vim should learn slowly, gradually, and build up their knowledge over time, like anything else. Diving into plugins and custom mappings right away is going to be a lot more painful and less productive. And that's the antithesis of vim.